Commit Graph

49 Commits

Author SHA1 Message Date
Nora Trapp
1358f78f81 Small change number design tweaks. 2022-01-20 10:26:34 -08:00
Jordan Rose
a678532380 Don't use promises in LoopingVideo
AVAsset is already lazily loaded; init(url:) is cheap.
2022-01-14 09:58:16 -08:00
Martin Böttcher
9ce447de57
refactored async loading of avatar images in HomeView (#3886)
* refactored async loading of avatar images in HomeView

* async loading avatars does not use extra DispatchWorkItems anymore

* minor code changes, added comments
2022-01-13 09:13:12 +01:00
Martin Böttcher
9b3c809bdf
made async avatar loading in homeview more robust (#3881)
* made async avatar loading in homeview more robust

* async loading of avatar images in the background should not interfere with foreground operations anymore

* corrected handling of loading avatars not triggered from the home view

* better separation between existing avatar load calls (sync and async) and new async-only call used in HomeViewCell. Should eliminate side-effects and improve performance.
2022-01-08 08:46:12 +01:00
Martin Böttcher
b498b6552c code cleanup 2022-01-05 10:18:34 +01:00
Martin Böttcher
858261ee61 async avatar loading will be performed in a serial queue because it uses much less memory 2022-01-04 09:54:50 +01:00
Martin Böttcher
923d8714d4 async avatar loading will only be excecuted from new method called in HomeViewCell 2021-12-28 11:17:57 +01:00
Martin Böttcher
925297509c made changes more thread safe 2021-12-28 10:30:06 +01:00
Martin Böttcher
f510d5ca13 removed unnecessary code 2021-12-27 13:17:51 +01:00
Martin Böttcher
267e5fb22a avatar loading using concurrent queue 2021-12-23 10:05:19 +01:00
Martin Böttcher
c5aab9116c changed async loading of avatar images: no races and faster 2021-12-23 09:21:02 +01:00
Martin Böttcher
09ed7d26f5 added placeholder image during async avatar loading 2021-12-22 10:18:05 +01:00
Martin Böttcher
d8095af5fd home view: loading and displaying avatars asynchronously 2021-12-21 11:29:22 +01:00
Martin Böttcher
425563ac66 pasting long text shows all characters and scrolls to the correct position 2021-12-06 10:21:54 +01:00
Michelle Linington
5a645228b0 Fix issue where avatars flicker sporadically
Our AvatarBuilder caches were cleared in their entirety any time a
profile changes. If a profile update raced with a avatar fetch in
ConversationAvatarView, they'd blink briefly while the cached items were
removed.

This change ensures that we're only clearing out avatars that are
associated with an updated profile.
2021-11-22 17:01:07 -08:00
Michelle Linington
fdc1c66533 Add tap targets to badge in conversation settings
Also reorders the conversation settings page
2021-11-18 16:01:51 -08:00
Nora Trapp
355fd82e07 Add remote config for donor badges 2021-11-17 16:22:19 -08:00
Michelle Linington
1b82ffa6d7 Hook up badge configuration in subscription view
- Adjusts delegate interface to be useful in both cases
- Subscription view controller will now save updated badge settings

Also, a bonus change to disable badges on avatars
2021-11-16 17:44:23 -08:00
Michelle Linington
46b688dd35 Further updates to avatar badges:
- Design speced out explicit offsets for 24pt and 112pt avatars
- We won't show badges in call views

Also fixes a couple bugs:
- Incorrect interpolation of interstitial badge sizes
- We should badge conversation headers and typing indicators
2021-11-15 12:39:41 -08:00
Michelle Linington
f2c2c77c8b Fixes a bug around async avatar model updates
A few people reported this issue during the badges bug bash. Avatars
would show stale avatars in incorrect places.

This was due to async model updates being kicked off shortly before a
call to `reset()` the view. Resetting would only clear the image data
and data source but wouldn't do anything to cancel async updates that
were in-progress.

The fix is to tweak the implementation of reset() to go through existing
paths that account for this by incrementing the model generation. This
ensures that the async update will be dropped when it resolves and sees
that the model generation was incremented underneath it.
2021-11-15 12:38:04 -08:00
Michelle Linington
f723cedb89 Badges avatars with custom diameters
- We now lerp the badge sprite to the closest design spec available
- Also enables badges on internal builds
2021-11-11 20:18:30 -08:00
Michelle Linington
0b9c6727a6 Fixes various small bugs
- Clear out avatar cache on local profile changes too
- ConversationAvatarView properly handles local profile updates
- Fix some tiny UI bugs in group calls
2021-11-10 21:27:17 -08:00
Nora Trapp
be5a487c52 Update toast styling 2021-11-10 11:50:53 -08:00
Michelle Linington
cc4f5fe9d4 PR Feedback:
- Consistent use of ConversationStyle
- LocalUserDisplayMode is now a required initializer argument

Also a small bug fix around avatar file path URLs
2021-11-09 14:25:55 -08:00
Michelle Linington
905b7f6507 PR Feedback
- Rename the conversation avatar size class enum cases
- Add explanatory comment for explicit type declaration
2021-11-09 14:25:55 -08:00
Michelle Linington
e62bee59b5 Re-add badge to reactor cell
Also re-lints with swiftlint 0.45.0
2021-11-09 14:25:55 -08:00
Michelle Linington
d48d60c8e5 Minor cleanup 2021-11-09 14:25:55 -08:00
Michelle Linington
59645cd456 Simplify reconfigure API 2021-11-09 14:25:55 -08:00
Michelle Linington
6105ee5a20 Better naming of size classes
Also fixes bug with EmojiReactorCell layout
2021-11-09 14:25:55 -08:00
Michelle Linington
f14f0ed90c Badged group avatars in ConversationView 2021-11-09 14:25:55 -08:00
Michelle Linington
dea35199b2 Clean up ConversationAvatarView data sources
Creates a special data source enum for ConversationAvatarView data
providers. Before, ContactCell and ConversationAvatarView used the data
source, neither applying to each perfectly
2021-11-09 14:25:55 -08:00
Michelle Linington
43cfad4f38 Show badges in ContactViewCell 2021-11-09 14:25:55 -08:00
Michelle Linington
f459857799 ConversationAvatarView2 -> ConversationAvatarView 2021-11-09 14:25:55 -08:00
Michelle Linington
9f53832e14 Remove usage of ConversationAvatarView 2021-11-09 14:25:55 -08:00
Michelle Linington
bd51ca690a Replace AvatarImageView2 with ConversationAvatarView2
Adoption of ConversationAvatarView2 in many key locations. This isn't
exhaustive, but it's mostly there.

Some work left to be done around ConversationAvatarView2 data source
tweaks.
2021-11-09 14:25:55 -08:00
Michelle Linington
9123bbd0b4 Partial progress on badged avatars 2021-11-09 14:25:55 -08:00
Michelle Linington
ae2ca49e72 Optimistic fix for reeneterant layout in MentionPicker
I personally haven't been able to reproduce this issue. This might end
up fixing this issue, but if not we might need to rethink our
MentionPicker layout.
2021-10-28 17:58:18 -07:00
Matthew Chen
c494fb2a44 Don't cache contacts on contacts manager. 2021-10-22 19:09:44 -03:00
Matthew Chen
7ff069d8f0 Don't cache signal accounts on contacts manager. 2021-10-22 19:09:28 -03:00
Matthew Chen
eec119025f Don't cache signal accounts on contacts manager. 2021-10-22 19:09:28 -03:00
Matthew Chen
5d780d1589 Apply script to normalize includes and imports. 2021-10-21 09:21:10 -03:00
Matthew Chen
7d0485661d Move window manager to Signal target. 2021-10-19 17:59:13 -03:00
Matthew Chen
57f8212495 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
Matthew Chen
25f015d8bc Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
Matthew Chen
21a8175795 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
Matthew Chen
fbde0356f7 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
Matthew Chen
c753b06632 Revert "Add SignalUI framework target."
This reverts commit aa47dbec4d5af31b569da9db5b824f84fba63661.
2021-10-19 09:39:53 -03:00
Matthew Chen
2bbf06bca6 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
Matthew Chen
c416609108 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00