2013 Commits

Author SHA1 Message Date
7a47b09b39 Remove push subscription when logging out of account 2024-04-08 22:50:39 -04:00
241e6f7e3a Notification type toggles 2024-04-08 22:32:46 -04:00
f02afaac26 Move AsyncToggle to TuskerComponents 2024-04-08 22:32:46 -04:00
bdd4a4d755 Scaffolding for push subscription alert types 2024-04-08 18:44:56 -04:00
94c1eb2c81 Create/remove instance push subscriptions 2024-04-08 12:25:39 -04:00
b03991ae1d Move push notifications stuff to separate package 2024-04-08 10:48:28 -04:00
f98589b419 Start account-specific push subscriptions 2024-04-07 23:14:12 -04:00
9fad2a882a More reliable registering/unregistering 2024-04-07 22:47:58 -04:00
d0bb197e8c Correct button titles 2024-04-07 22:29:48 -04:00
efd90bca3e Add Account Settings button to preferences 2024-04-07 22:28:30 -04:00
3efa017942 Push proxy registration 2024-04-07 14:04:42 -04:00
c5226f6374 Add push scope 2024-04-06 11:04:03 -04:00
9e429463b2 Make the audio session work better
Closes #353
Closes #443
2024-04-04 17:31:16 -04:00
9763edef47 Add See Results button to polls
Closes #445
2024-04-02 22:04:16 -04:00
442f57bfc4 Enable gallery interactive dismissal for statuses with >4 attachments
Closes #466
2024-04-02 21:21:39 -04:00
ae7101bb30 Fix race between loading/animation when presenting gallery from attachment more view 2024-04-02 21:21:19 -04:00
46b455c3d1 Fix crash when there are multiple follow notifications for the same account
Only reproducible on Pixelfed
2024-04-01 21:52:47 -04:00
c73784aa81 Mark notifications on Mastodon web frontend as read once displayed
Fixes #357
2024-04-01 19:51:57 -04:00
7affa09e5e Remove timeline marker Sentry reporting
I'm 99% sure these timeouts are all due to bad network conditions
2024-04-01 19:43:14 -04:00
7435d02f6e Fiddle with how the timeline markers API is organized 2024-04-01 19:22:55 -04:00
2467297f04 Add preference for inverted alt text badge
Closes #423
2024-04-01 18:47:19 -04:00
bcae60316b Fix changing list reply policy not reloading list timeline 2024-04-01 11:04:40 -04:00
1a2fa10708 Improve edit list account removal animation 2024-04-01 11:02:33 -04:00
f79c2feea6 Fix edit list screen not updating after adding account 2024-04-01 11:02:15 -04:00
7ec87d7853 Add no content message to list timelines
Closes #215

Also fix interactive dismissal of edit screen not reloading list
2024-04-01 10:58:42 -04:00
f5704e561b Support tapping selected sidebar item to scroll to top 2024-04-01 10:35:54 -04:00
d6faf3a37b Fix fast account switching view not respecting safe area 2024-04-01 10:28:40 -04:00
b0a6952643 Fix trending hashtags screen not clearing selection 2024-04-01 09:47:05 -04:00
06b58cfb9c Fix notifications screen not responding to tab bar/status bar scroll to top 2024-04-01 09:45:22 -04:00
afcec24f86 Fix reference cycles in gallery 2024-03-31 23:29:28 -04:00
3f90a0df04 Fix gifvs preventing sleep 2024-03-31 23:20:55 -04:00
395ce6523d Fix follows account list using wrong separator insets 2024-03-31 23:14:54 -04:00
7b2bd1a7af Apply grayscale attachments preference to videos in gallery 2024-03-31 20:56:20 -04:00
f447150bbc Maybe improve grayscale gifv playback performance 2024-03-31 20:51:51 -04:00
08bd78d51b Fix changing greyscale images preference breaking gifvs looping 2024-03-31 20:51:33 -04:00
f0ec372f50 Fix attachment blur view corners not being curved 2024-03-31 20:44:13 -04:00
d2c28ada7f Improve gallery video autoplay behavior 2024-03-31 20:41:57 -04:00
abf0568398 Improve gallery presentation/dismissal animation layering 2024-03-31 15:56:51 -04:00
b4693252be Fix how we're getting the Sentry installation ID 2024-03-31 12:52:56 -04:00
eda552c7c9 Add pointer interactions to gallery controls 2024-03-30 15:17:26 -04:00
841c08be2c Fix crash when sharing attachment from context menu on iPad 2024-03-30 14:43:03 -04:00
eafb506d64 Fix blurhash image being used as gallery content 2024-03-29 22:18:24 -04:00
c05107bccd Scale evenly in both dimensions in gallery animations 2024-03-29 18:59:27 -04:00
6857529d06 Video gallery controls
See #450
2024-03-28 23:19:32 -04:00
3ecee61013 Fix Save to Photos UIActivity icon being stretched 2024-03-20 12:29:10 -04:00
f9aee46bbe Asynchronously share video instead of fetching it on the main thread 2024-03-20 12:23:18 -04:00
1cf3ce48ce Support sharing/saving videos and gifvs from gallery
See #450
2024-03-20 12:00:57 -04:00
072bb0daf0 Fix grayscale images preference not applying to gifvs 2024-03-20 11:54:47 -04:00
d36e0ad27d Grayscale images in new gallery
See #450
2024-03-20 11:54:35 -04:00
a80cbe79c2 Re-add image analysis interaction
See #450
2024-03-20 11:49:00 -04:00
cf71fc3f98 Remove old gallery implementation
See #450
2024-03-19 15:20:18 -04:00
be977dbea9 Gallery rewrite
See #450
2024-03-19 15:04:14 -04:00
030fd4467d Add privacy manifest 2024-03-17 13:17:13 -04:00
489840019e Add Save to Photos action to attachment context menu
Closes #462
2024-03-17 12:38:50 -04:00
9af8c06b1c Use ellipsis after share action title 2024-03-17 12:22:27 -04:00
55e0573a5c Add share menu action to attachment context menu 2024-03-17 12:22:13 -04:00
99a58e2c33 Extract TimelineLikeDataSource into separate protocol 2024-03-10 14:49:57 -04:00
c740fb1c1f Change status/account cell separator insets 2024-03-09 18:27:44 -05:00
175001d561 Fix more strict concurrency warnings 2024-03-09 14:18:28 -05:00
3caa419659 Make profile header follower/following counts separate buttons 2024-03-09 14:07:23 -05:00
074b028015 Show first verified link on account collection view cell 2024-03-09 13:54:56 -05:00
8a3acc6889 Use UIControl.performPrimaryAction instead of SPI on iOS 17.4 2024-02-28 12:20:55 -05:00
53260555f6 Remove now-redundant whitespace removal 2024-02-22 23:53:27 -05:00
70524dd642 Bump HTMLStreamer 2024-02-22 23:42:42 -05:00
b6232a9f1e Use tab bar on visionOS 2024-02-22 23:32:38 -05:00
e156a97861 visionOS: Don't use gallery VC transition 2024-02-04 11:52:48 -05:00
bdec14c463 Remove dead code 2024-02-04 11:49:41 -05:00
ec0509c645 visionOS: Don't use deprecated UI for scene placement 2024-02-04 11:46:04 -05:00
4500e9be27 visionOS: Don't use certain nib-based cells 2024-02-03 12:41:03 -05:00
a2cc3a0436 visionOS: Exclude unused code 2024-02-03 12:29:06 -05:00
dc654812b1 visionOS: Don't use deprecated UITextViewDelegate method 2024-02-03 12:24:24 -05:00
f122383d0b visionOS: Disable in-app Safari 2024-02-03 12:24:18 -05:00
b235f0e826 Another round of strict concurrency fixes 2024-01-28 14:59:03 -05:00
27d44340e8 Even more strict concurrency fixes 2024-01-27 15:48:58 -05:00
fc26c9fb54 More strict concurrency fixes 2024-01-27 14:58:36 -05:00
ba60f92223 Compiles with strict concurrency checking 2024-01-27 11:40:42 -05:00
c489d018bd Merge branch 'develop' into strict-concurrency
# Conflicts:
#	Tusker/Caching/ImageCache.swift
#	Tusker/Extensions/PKDrawing+Render.swift
#	Tusker/MultiThreadDictionary.swift
#	Tusker/Views/BaseEmojiLabel.swift
2024-01-26 11:32:12 -05:00
a9a518c6c1 Fix trailing whitespace not being stripped from compose reply content 2024-01-26 11:25:29 -05:00
b4bdf8b0dc Fix building for visionOS 2024-01-26 11:15:21 -05:00
94f71541f8 Merge branch 'develop' into vision
# Conflicts:
#	Packages/ComposeUI/Sources/ComposeUI/Controllers/ToolbarController.swift
#	Tusker/Screens/Timeline/TimelineViewController.swift
#	Tusker/Views/Status/TimelineStatusCollectionViewCell.swift
2024-01-26 11:11:41 -05:00
c2402303cc First pass at strict concurrency checking 2024-01-26 11:02:40 -05:00
5cef76e494 Fix crash when searching for "from:me" 2024-01-22 17:24:55 -05:00
bf27b8fd47 Fix issues when changing scope after searching 2024-01-22 17:21:53 -05:00
32b8d27949 Don't report network errors when syncing timeline marker 2024-01-22 17:05:03 -05:00
65c3c8026d Fix whitespace in statuses not being trimmed 2024-01-17 15:51:54 -05:00
534f83e716 Fix links not being converted from HTML correctly 2024-01-16 19:17:44 -05:00
93c859a3c4 Fix TextConverter inserting newlines 2023-12-23 10:47:40 -05:00
4d183fe0b2 Merge branch '2024' into develop 2023-12-22 20:45:19 -05:00
fd72390a22 Replace SwiftSoup with HTMLStreamer 2023-12-22 20:44:46 -05:00
43d8434e17 Fix crash due to Explore data source being update off main thread when list deleted 2023-12-22 10:39:24 -05:00
7f0a9d8d5a Fix status that is reblogged and contains a followed hashtag not showing reblogger label 2023-12-17 18:09:25 -05:00
51f4a780e2 Show loading indicator while translating status 2023-12-16 16:14:18 -05:00
180a8eb18d Fix Status reblogs inverse relationship being to-one instead of to-many 2023-12-14 21:57:44 -05:00
eb61043867 Fix timeline state restoration not returning to correct scroll position in certain circumstances
All of the work done by the restoreInitial callback needs to be async,
so that when the TimelineLikeController signals that the loading
indicator should be removed, the collection view is in the right place.

Closes #439
2023-12-14 18:28:22 -05:00
28c1a9092b Add server-provided translation
Closes #331
2023-12-04 19:31:51 -05:00
5e609aa40d V2 instance API, add translation to InstanceFeatures 2023-12-04 17:55:03 -05:00
158940f8e6 Refactor StatusContentContainer to use an array of subviews 2023-12-04 17:06:10 -05:00
141e8b96a5 Show label when attachments are hidden in timelines 2023-12-04 16:38:04 -05:00
108a02826f Remove incorrect workaround for crash when LazilyDecoding used on nil MO 2023-12-04 16:20:22 -05:00
be1ca70ebf Add preference for showing attachments in timeline
Closes #330
2023-12-04 16:18:54 -05:00
34edd8a13f Fix reblogged statuses being pruned while still referenced, add workaround for crash 2023-12-03 15:08:38 -05:00
23f383a7f9 Get rid of network request during share extension launch
Closes #438
2023-12-02 15:33:15 -05:00
6d7074e71d Tweak profile header separator 2023-11-19 21:22:00 -05:00
13809b91d1 Fix crash if window removed while fast account switcher is hiding 2023-11-18 11:36:59 -05:00
cdfb06f4a7 Render IDN domains in for logged-in accounts 2023-11-18 11:08:35 -05:00
4e98e569eb Fix avatars in follow request notification not being rounded
Closes #448
2023-11-18 11:00:19 -05:00
6d3ffd7dd3 Style blockquote appropriately
Closes #22
2023-11-18 10:56:05 -05:00
ca7fe74a90 Add accessibility description/action to status edit history entry 2023-11-10 14:48:48 -05:00
380f878d81 Use server language preference for default search token suggestion 2023-11-10 14:42:48 -05:00
1c36312850 Fix status deletions not being handled properly in logged-out views 2023-11-10 14:35:36 -05:00
de946be008 Fix crash if ContentTextView asked for context menu config w/o mastodon controller 2023-11-10 14:20:33 -05:00
b40d815274 Ensure LazilyDecoding runs on the managed object context's thread
Maybe fix the crash in KeyPath machinery?
2023-11-10 14:16:16 -05:00
676e603ffc Fix crash when showing trending hashtag with less than two days of history 2023-11-10 14:04:11 -05:00
01bbfc31f2 visionOS: Improve suggested profile card appearance 2023-11-08 21:49:21 -05:00
a846954dcd visionOS: Improve trending link cell appearance 2023-11-08 17:47:01 -05:00
53302e3b26 visionOS: Remove trends loading indicator highlight 2023-11-08 17:05:58 -05:00
14f32f24fa visionOS: Use bordered prominent style for status actions 2023-11-08 16:37:12 -05:00
19db78e352 visionOS: Don't highlight non-selectable list rows 2023-11-07 22:52:13 -05:00
9d01bbabd7 visionOS: Use UIColor.link for text links 2023-11-07 22:42:32 -05:00
a93a4fccc1 visionOS: Fix timeline jump button appearance 2023-11-07 22:31:57 -05:00
1da25300ca Merge branch 'develop' into vision 2023-11-07 22:26:22 -05:00
e6f1968609 Fix TimelineLikeCollectionViewController.apply not actually applying snapshots on the main thread 2023-11-05 18:22:20 -05:00
4c5da1b5a9 Add URL handler for opening Compose window 2023-11-05 15:24:55 -05:00
dcdfe853e1 Fix Cmd+W closing sometimes closing non-foreground window on macOS
Closes #444
2023-11-05 11:14:58 -05:00
6c2c2e6ae7 More logging to try and pin down LazilyDecoding EXC_BAD_ACCESS 2023-11-02 18:18:08 -04:00
37311e5f17 Fix potential crash due to race condition in timeline gap filling 2023-10-28 14:03:08 -05:00
af5a0b7bbd Fix crash with large image dismiss gesture 2023-10-28 13:58:39 -05:00
3aa45cb365 Maybe fix crash due to reading ScaledMetric on background thread
ScaledMetric.wrappedValue calls into Font.scaleFactor(textStyle:in:)
which uses a dictionary setter
2023-10-28 13:56:25 -05:00
a07b398cbe Maybe fix crash due to VC hierarchy consistency check failing on split collapse/expand 2023-10-28 13:52:54 -05:00
2ccec2f4df Fix crash if URLComponents.url is nil in instance selector 2023-10-28 13:47:44 -05:00
0de9a9fd37 Fix list timeline refresh failing if initial load returned no statuses 2023-10-28 13:36:11 -05:00
bd21e88e8b Add UI for changing list reply policy and exclusivity
Closes #428
2023-10-28 12:16:14 -05:00
2464e2530f Remove dead code 2023-10-27 17:29:51 -05:00
44021d3ad2 Convert edit list screen to collection view 2023-10-27 17:29:51 -05:00
a46eaafbcf Add reply policy and exclusive fields to lists 2023-10-27 17:00:53 -05:00
eb496243c7 Use server preference for local-only on Hometown
Closes #281
2023-10-27 15:12:48 -05:00
6e5e0c3bb5 Use server preferences for default visibility and language
Closes #282
2023-10-27 14:59:21 -05:00
157c8629a9 Add underline links preference
Closes #397
2023-10-24 16:02:03 -04:00
bde21fbc6c Fix crash due to prematurely pruned statuses being fetched
If the app hasn't launched in long enough, we may be displaying old statuses as a result of state restoration. If the user leaves the app, those statuses can't get pruned, because the user may return. We need to make sure the lastFetchedAt date is current, since awakeFromFetch won't be called until the object is faulted in (which wasn't happening immediately during state restoration).
2023-10-24 15:50:58 -04:00
74820e8922 Underline links when button shapes accessibility setting is on 2023-10-24 15:50:58 -04:00
f7a9075b77 Fix timeline jump button having background when button shapes accessibility setting is on 2023-10-24 15:50:58 -04:00
4af56e48bf Clean up TimelineLikeCollectionViewController.apply(_:animatingDifferences:) 2023-10-24 14:56:39 -04:00
27dd8a1927 visionOS: Hide light/dark mode prefs 2023-10-20 11:27:24 -04:00
e4c22a0205 Compile for visionOS 2023-10-20 11:27:24 -04:00
c4bf5d406d Fix older notifications not loading when initially visible set fits on one screen
Closes #346
2023-10-19 21:21:50 -04:00
a8a2f0a26c Add search operators UI on Mastodon 4.2
Closes #433
2023-10-01 21:40:53 -04:00
46e1205327 Fix delay before My Profile sidebar item appears on launch 2023-10-01 10:20:45 -04:00
6a2de2be55 Make suggested profile cells uniform height on trends screen 2023-10-01 10:15:00 -04:00
db6ba0c62c Remove navigation mode preference feature flag 2023-10-01 00:14:20 -04:00
16029dc161 Fix Appearance > Interface prefs using wrong row background color 2023-10-01 00:12:01 -04:00
31a0db014a Improve multi-column layout for suggested profiles 2023-10-01 00:08:00 -04:00
5be8005e24 Use two columns for trending links/accounts on wide screens 2023-09-29 17:33:18 -04:00
ad4e112e96 Fix switching back to previous navigation mode 2023-09-29 17:18:29 -04:00
7a2dc7d3c4 Improve readable-width content inset behavior 2023-09-28 21:30:30 -04:00
0948371f83 Improve appearance of lists when converting from HTML
Closes #434
2023-09-27 17:35:36 -04:00
3ba1a00257 Reconfigure visible updates when refreshing
Closes #300
2023-09-26 09:42:39 -04:00
1b42cd7816 Fix cell reuse bug with follow/action notifications 2023-09-26 09:18:01 -04:00
a2fe0dfb78 Avoid unnecessarily recreating avatar views in notifications cells 2023-09-25 21:44:43 -04:00
6821f1b9a0 Don't show doubled "New Post" in window titlebar on macOS
Closes #429
2023-09-24 23:50:08 -04:00
7ae741cd83 Fix Live Text control reappearing when swiping between gallery pages with controls hidden
Closes #431
2023-09-24 23:44:40 -04:00
1ca84a3b95 Don't swizzle unnecessarily on iOS 17 2023-09-09 11:45:54 -04:00
9c3be68e1c Don't report 422 or 500 errors 2023-09-09 11:40:18 -04:00
df9ce81060 Fix crash when ComposeUIConfig.dismiss called after hosting controller dealloc'd
I'm not sure how this can happen (possibly if the user dismissed the
compose screen while the status was being posted? but I haven't been
able to reproduce that), but guard against it since it's causing crashes
2023-09-09 11:37:25 -04:00
173eda1757 Prevent dismissing compose screen while posting 2023-09-09 11:35:46 -04:00
f448090c2a Gate navigation mode preference behind feature flag 2023-09-09 10:57:56 -04:00
ebc127c921 Add readable content inset to certain screens 2023-09-09 10:56:11 -04:00
41665b1060 Indicate that edit history may be incomplete for remote posts
Closes #385
2023-09-07 18:04:08 -04:00
3a3b7aaee4 Use custom UITraitDefinition on iOS 17 2023-09-06 13:51:27 -04:00
f2485f0ba1 Add feature flag for browser-style navigation 2023-09-06 13:27:42 -04:00
75caf2c1eb Enable switching between navigation modes 2023-09-06 13:19:06 -04:00
f1a6a405c2 Fix crash when split VC collapses with multi-column nav controller 2023-09-05 20:47:11 -04:00
88105f22a0 Add widescreen navigation mode preference 2023-09-05 19:21:50 -04:00
9c368f295e Initial multi-column navigation controller implementation 2023-09-05 19:21:37 -04:00
04deb08bcf Add feature flags to advanced preferences 2023-09-04 23:35:40 -04:00
f704d15dd7 Make UserActivityType.handle MainActor-bound 2023-08-23 17:07:41 -07:00
3d232d81ba Fix firefish instances not being detected 2023-07-22 11:23:16 -07:00
3109aafd20 Workaround for status collapse button overlapping other views in the cell 2023-07-18 21:14:43 -07:00
105a01811a Actual fix for links appearing as the wrong color
Closes #402
2023-07-18 21:01:30 -07:00
3c9692d5b2 Remove ambiguating constraint priorities, avoid removing and recreating the same constraints
Closes #407
2023-07-05 20:30:55 -07:00
50bfaf7236 Clamp uncropped attachment aspect ratio
Closes #418
2023-07-04 11:11:20 -07:00
bcd487d311 Fix favorites count button changing with when (un)faving
Closes #406
2023-07-04 10:25:32 -07:00
8f8e2a2aea Add unfollow hashtag action to Explore screen
Closes #417
2023-07-04 09:56:35 -07:00
54034ff727 Ignore HTTP 503 errors 2023-07-02 11:53:49 -07:00
ee5db96c9e Workaround for links using the wrong tint color
Closes #402
2023-07-02 09:46:17 -07:00
f825760fe9 Fix profile header follow button icon spacing 2023-06-26 22:18:27 -07:00
a339884d1f Fix ScrollingSegmentedControl being cut off at smaller the default dynamic type size
Closes #410
2023-06-26 21:52:51 -07:00
1de586f907 Fix reblog with visibility not working 2023-06-26 21:41:43 -07:00
bd162afdcc Fix showing incorrect visibilities in reblog confirmation alert 2023-06-26 21:40:43 -07:00
956b817045 Correct log level 2023-06-26 21:39:09 -07:00
28ee0908d7 Blur link card images when status is sensitive
Closes #412
2023-06-26 21:35:15 -07:00
c3cf38b0c9 Fix not being able to refresh Mentions tab on Pleroma
Closes #411
2023-06-26 21:17:21 -07:00
7929e7530f Fix incorrect context menu preview on filtered post
Closes #413
2023-06-26 21:12:20 -07:00
a11e453112 Fix reblog confirmation alert not being centered in non-fullscreen window
Closes #415
2023-06-26 21:01:23 -07:00
2e7ad1626e Fix avatars being squished in certain places
Closes #414
2023-06-26 20:47:38 -07:00
4182c15500 Fix invalid status notifications not being removed
Closes #416
2023-06-26 20:38:10 -07:00
a4e7082ab8 Fix race condition in Compose screen when loading account 2023-05-28 22:28:41 -07:00
f0b8f92791 Use cached logged-in account for things
Fixes various race conditions with loading account

Closes #251
2023-05-28 22:26:46 -07:00
da88303a22 Cache active account ID in CoreData
See #251
2023-05-28 22:23:04 -07:00
cb5b70a23a Remove direct accesses of MastodonController.instance
Fixes potential race conditions
2023-05-28 22:10:51 -07:00
2b5b749dc8 Avoid setting duplicate breadcrumbs 2023-05-28 22:10:51 -07:00