Thomas Ricouard
83e4e74329
Swiftformat
2023-02-26 06:45:57 +01:00
Thomas Ricouard
93ee83c65d
Timeline: Cleanup
2023-02-25 19:47:15 +01:00
Thomas Ricouard
151154b335
Timeline: Enable jump to latest + in place refresh for all other timeline types
2023-02-25 19:32:47 +01:00
Thomas Ricouard
b036e90ce4
Simplify Timeline refresh
2023-02-25 10:10:27 +01:00
Thomas Durand
482d93a68d
Removed Boutique, using Bogeda directly ( #1007 )
...
* Removed Boutique, using Bogeda directly
* Updated about screen
2023-02-22 18:56:37 +01:00
Thomas Ricouard
b259b6739e
Swiftformat
2023-02-21 07:23:42 +01:00
Thomas Ricouard
1a7ef62fd6
Fix trending refresh
2023-02-19 21:37:22 +01:00
Thomas Ricouard
65e63c4586
Remove Sendable conformance on Client as it's not needed
2023-02-19 07:51:16 +01:00
Alex Grebenyuk
a8459638e9
Add image prefetch to the timeline + resize close #931 ( #930 )
...
* Add image prefectch to the timeline
* Use preview url for post with multiple attachements
* Add image resize
* Prefetch link cards
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-18 18:44:43 +01:00
Thomas Ricouard
7112e6515b
Timeline: wrap datasource in an actor for safety and perforamances
2023-02-18 18:04:46 +01:00
Thomas Ricouard
9bc65d5563
Enable landscape on iOS
2023-02-18 07:42:35 +01:00
Thomas Ricouard
ca4e80101f
Swiftformat
2023-02-18 07:26:48 +01:00
Thomas Ricouard
9f894858ae
Don't load new pages if the timeline changed
2023-02-16 07:28:52 +01:00
Thomas Ricouard
3843d18f2f
Fix trending timeline resetting to first page
2023-02-16 07:22:26 +01:00
Thomas Ricouard
d958d10036
Remove Client and RouterPath from StatusRowView env object
2023-02-15 08:46:14 +01:00
Thomas Ricouard
eb6050a38f
Swiftformat
2023-02-12 16:29:41 +01:00
Yusuke Arakawa
dae7b85d3d
Timeline: restore the selected timeline at the next startup ( #694 )
...
* Timeline: restore the selected timeline at the next startup
Signed-off-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
* Rename: UserDefaultas label name
Signed-off-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
* Timeline: RawRepresentable of TimelineFilter
Signed-off-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
* Cleanup code
* Supports RemoteTimelineFilter
* Cleanup code
* Safe saves last viewed status
---------
Signed-off-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-09 12:27:59 +01:00
Thomas Ricouard
013410a80e
Faster / Cached ServerDate decoding
2023-02-09 09:12:44 +01:00
Sean Goldin
0c359f2b79
Add direct status highlighting ( #720 )
2023-02-08 18:47:09 +01:00
Thomas Ricouard
eb5733a90b
Handle Task Cancelling in the timeline
2023-02-08 18:46:09 +01:00
Thomas Ricouard
970305210b
Bump cache to 600 posts
2023-02-08 08:48:18 +01:00
Thomas Ricouard
49791d2c86
Fix timeline cache caching something else than home Fix #710
2023-02-08 06:52:15 +01:00
Sean Goldin
90ec3d419c
Clean up HapticManager ( #678 )
...
* Check for haptic capabilities
* Make manager do most of work
* ABC enum
* Fix spelling 😊
* Small tweak
2023-02-06 17:53:27 +01:00
Thomas Ricouard
5f76a8057c
Filter remote local timeline
2023-02-06 12:24:48 +01:00
Thomas Ricouard
b0630ae9c3
Add more safety to scroll to
2023-02-05 08:13:38 +01:00
Thomas Ricouard
f53cfd89fe
Ensure all pages are loaded when resuming session
2023-02-05 07:44:05 +01:00
Thomas Ricouard
5afd2dc73c
Add Jump to Latest to clear out cache and reload home timeline
2023-02-04 21:21:36 +01:00
Thomas Ricouard
e96c1c5da7
Fix next page state
2023-02-04 20:37:22 +01:00
Thomas Ricouard
65ed2d871c
Add settings for haptic feedbacks
2023-02-04 17:38:48 +01:00
Thomas Ricouard
6b285cdbcf
Cleanup
2023-02-04 17:17:38 +01:00
Thomas Ricouard
427452db30
Don't update the timeline is the tab is not visible
2023-02-04 16:54:03 +01:00
Thomas Ricouard
8c7efb7df5
Add settings to clear the cache
2023-02-04 15:08:54 +01:00
Thomas Ricouard
288a0eac9f
Save / Restore latest seen statuses
2023-02-04 14:42:10 +01:00
Thomas Ricouard
b57df4a9d7
Scroll to latest pending post on button tap
2023-02-04 14:05:30 +01:00
Thomas Ricouard
aae6b12666
Replace memory cache with Boutique SQLite cache
2023-02-04 12:33:28 +01:00
Thomas Ricouard
3c0ffdb1ae
Prepare disk cache for Timeline
2023-02-04 12:17:16 +01:00
Thomas Ricouard
4104fdf4f5
Fix the crash once and for all by using Introspect
2023-02-03 16:24:09 +01:00
Thomas Ricouard
eb80225bb0
Mitigate #623
2023-02-03 08:06:16 +01:00
Thomas Ricouard
fcb7ddcbdb
Fix crash when trying to cache an empty timeline
2023-02-02 21:21:07 +01:00
Thomas Ricouard
e278eae144
Reset pending statuses when reaching top
2023-02-02 17:47:35 +01:00
Thomas Ricouard
bb6910cd83
Centralize haptic feedbacks
2023-02-02 16:56:42 +01:00
Thomas Ricouard
262f7288ad
Fix the crash while restoring position?
2023-02-02 16:38:19 +01:00
Sean Goldin
10946fef10
Timeline highlight mentions ( #595 )
...
* Introduce fetchPages
* Set up highlighting
* Implement highlighting stage 1
* Implement highlighting stage 2
* Implement highlighting.
* Fix merge
* Add protocol
* Remove debug prints
2023-02-02 06:39:03 +01:00
Gareth Simpson
fdb402a065
Boost deduplicating ( #524 )
...
* Trying something with caching boosts
* Use an actual cache for caching
* Persist cache to documents folder
* Stray debugging variable
* Unpublish seen variable in the ViewModel
* Settings for deduplicating boosts.
* Changes from review / merge conflicts
2023-02-01 18:56:06 +01:00
Thomas Ricouard
43d975a27b
Better caching
2023-02-01 13:41:28 +01:00
Thomas Ricouard
ed80895fcd
Cache streamed status
2023-02-01 13:28:04 +01:00
Thomas Ricouard
4e77669181
Swiftformat
2023-02-01 12:49:59 +01:00
Thomas Ricouard
383eb84e98
Fix import
2023-02-01 12:49:47 +01:00
Thomas Ricouard
cdf45fa58c
Refactor Timeline position management + add thin cache layer + fix crashes
2023-02-01 12:43:11 +01:00
Thomas Ricouard
9bf40b262f
Various optimizations for the new timeline
2023-02-01 09:22:08 +01:00
Thomas Ricouard
2e850e9643
Bump to 1.3.2 + workaround List crash?
2023-01-31 19:43:07 +01:00
Thomas Ricouard
ed0bfb7d94
Even better refresh / timeline position management
2023-01-31 17:43:06 +01:00
Thomas Ricouard
dd4ca27a5b
Remove bogus flag
2023-01-31 13:43:27 +01:00
Thomas Ricouard
62b26fdbb7
Timeline: Do nothing if no new statuses
2023-01-31 13:19:32 +01:00
Thomas Ricouard
52eff96ab4
Iron out timeline issues with the new behaviour
2023-01-31 12:17:35 +01:00
Thomas Ricouard
c88ef750f0
Fix multiple timeline refresh on launch close #555
2023-01-31 12:17:03 +01:00
Thomas Ricouard
0695fd5733
Isolate pending statuses observer for smoother scrolling
2023-01-31 09:01:26 +01:00
Thomas Ricouard
0f98337a13
Remove test value
2023-01-31 08:20:20 +01:00
Thomas Ricouard
d9b166339d
Fixes for iPad layout
2023-01-31 08:16:36 +01:00
Thomas Ricouard
1a351eaa7c
Smoother scrolling up in the Timeline
2023-01-31 08:04:35 +01:00
Thomas Ricouard
d64d674389
Make appending new statuses safer
2023-01-30 22:11:55 +01:00
Thomas Ricouard
d88d9db1dc
Transition Timeline to List + stream post automatically + keep position + new counter UI
2023-01-30 21:41:42 +01:00
Thomas Ricouard
fbf1c30b7c
Add haptic feedback on more buttons fix #315
2023-01-24 09:19:53 +01:00
Sean Goldin
97f8dfd74d
Add localisation plurals ( #239 )
...
* Add localisation plurals
* Add more languages to plurals
* Remove unused localised keys
* Update per #225
2023-01-22 15:47:44 +01:00
Thomas Ricouard
a79c5691e0
Run SwiftFormat
2023-01-22 06:38:30 +01:00
Thomas
980b9a5dd6
Implement Localization ( #80 )
...
* Implement localization
* Fix some localization keys
* Adapt to recent changes
2023-01-19 18:14:08 +01:00
Thomas Ricouard
1b9d4e0247
Add some macOS menu & shortcuts
2023-01-18 08:27:42 +01:00
Thomas Ricouard
4143e82fbc
Multi account sidebar + scaled font size on macOS + better iPad / macOS app UX
2023-01-17 19:41:46 +01:00
Thomas Ricouard
7f6419ebae
Swiftformat
2023-01-17 11:36:01 +01:00
Thomas Ricouard
c05768c793
The Mac App
2023-01-16 14:40:23 +01:00
Thomas Ricouard
e69fcee9fb
Various small UI fixes
2023-01-12 19:12:23 +01:00
Jérôme Danthinne
d447a8fdd2
add some top padding when new posts button is shown ( #55 )
...
Co-authored-by: Jérôme Danthinne <jerome.danthinne@smile.eu>
2023-01-10 14:44:34 +01:00
Thomas Ricouard
75fda4b709
Tip jar + New display name
2023-01-07 13:44:13 +01:00
Thomas Ricouard
7f5330f284
Redesigned settings tab
2023-01-06 17:14:34 +01:00
Thomas Ricouard
f922ba344d
Search & Pin remote local timeline + general polish
2023-01-06 12:14:05 +01:00
Thomas Ricouard
88b56fe016
Timeline: Dequeue one
2023-01-05 07:07:28 +01:00
Thomas Ricouard
511717e492
Smarter timeline
2023-01-05 06:39:23 +01:00
Thomas Ricouard
dcdd8402e9
Timeline: Add filter for followed tags
2023-01-04 18:37:58 +01:00
Thomas Ricouard
a1681c3f1b
Display pinned statuses on profile
2023-01-03 18:22:08 +01:00
Sean Goldin
41d7f4ca62
Less typing padding constants ( #23 )
...
* Change enum of constants to CGFloat extension
* Use CGFloat padding extension
2023-01-03 07:41:29 +01:00
Thomas Ricouard
e0253fb439
Added lists support + bunch of bug fixes
2023-01-02 19:23:44 +01:00
Thomas Ricouard
9f009376f5
Add trending as a timeline
2023-01-01 14:28:15 +01:00
Thomas Ricouard
b324c87ae1
Timeline tab: Quick accounts switcher + new filter menu
2023-01-01 14:02:11 +01:00
Thomas Ricouard
a592341768
Account: Added filter for accounts status
2023-01-01 08:22:39 +01:00
Thomas Ricouard
a06386c1da
Fixed scroll to top
2022-12-31 15:41:44 +01:00
Thomas Ricouard
315a57b447
Tab timeline tab top scroll to top
2022-12-31 12:28:27 +01:00
Thomas Ricouard
3a076492a1
Multi accounts
2022-12-30 08:36:22 +01:00
Thomas Ricouard
d00c3e533e
Theme support + default theme
2022-12-29 10:39:34 +01:00
Thomas Ricouard
789adc8b22
Haptic feedback when refreshing timeline
2022-12-29 09:10:59 +01:00
Thomas Ricouard
d393c4b90f
Fix notifications tab + prepare multi account
2022-12-29 06:55:53 +01:00
Thomas Ricouard
2b733e6b10
Timeline: Fetch up to 10 new pages on pull to refresh
2022-12-28 19:10:13 +01:00
Thomas Ricouard
ee39840713
Account: Internal isCurrentUser
2022-12-27 13:49:54 +01:00
Thomas Ricouard
94d4db6214
Various fixes
2022-12-27 09:11:12 +01:00
Thomas Ricouard
e5fb3acd07
Quote status + embed status
2022-12-27 07:51:44 +01:00
Thomas Ricouard
bda77571b6
Editor: Simple edit
2022-12-26 08:24:55 +01:00
Thomas Ricouard
fded30bb76
Refactor live timeline + handle more events
2022-12-26 07:36:54 +01:00
Thomas Ricouard
b04ccc18fa
Ensure own status is added on top
2022-12-25 19:18:19 +01:00
Thomas Ricouard
827e06b26c
More safeguard
2022-12-25 18:48:50 +01:00
Thomas Ricouard
758fa8a6f9
Fix button
2022-12-25 18:46:54 +01:00
Thomas Ricouard
11d4d20873
Timeline scroll to top UX / Flow
2022-12-25 18:43:15 +01:00
Thomas Ricouard
93543cad6b
Post / Delete a status and watch main timeline
2022-12-25 12:46:42 +01:00
Thomas Ricouard
8df70043cb
Very basic status post
2022-12-25 08:17:16 +01:00
Thomas Ricouard
e569bb1d74
Use Nuke where relevant
2022-12-25 07:43:02 +01:00
Thomas Ricouard
70ee6e0d27
Post boosted by / favourited by
2022-12-24 13:41:25 +01:00
Thomas Ricouard
569aedeaeb
Prepend new timeline statuses and new notifications
2022-12-24 12:20:42 +01:00
Thomas Ricouard
7068ad90bb
Share + Fixed logged out mode
2022-12-23 15:53:02 +01:00
Thomas Ricouard
1a85fa19f8
Quick look support for media preview
2022-12-22 10:53:36 +01:00
Thomas Ricouard
0f2c2df624
Featured tags
2022-12-21 20:26:38 +01:00
Thomas Ricouard
2cd28c13f3
Follow tags + various enhancements
2022-12-21 12:39:29 +01:00
Thomas Ricouard
3d7042832e
Open HashTag
2022-12-20 15:37:51 +01:00
Thomas Ricouard
cab21c137b
Notification tab
2022-12-19 12:28:55 +01:00
Thomas Ricouard
e2455a472e
Generic Statuses list
2022-12-19 07:17:01 +01:00
Thomas Ricouard
4c3809a95b
Account statuses and more packages
2022-12-18 20:30:19 +01:00
Thomas Ricouard
70d28e697c
Begin profile + media preview
2022-12-17 13:37:46 +01:00
Thomas Ricouard
eb4dc011b6
A bit better timeline UI
2022-12-16 13:16:48 +01:00
Thomas Ricouard
df2d383b8a
OAuth + Home timeline
2022-12-01 09:05:26 +01:00
Thomas Ricouard
203abbcf0d
Account screen WIP
2022-11-29 12:18:06 +01:00
Thomas Ricouard
567cb4cc47
New Routeur
2022-11-29 11:46:02 +01:00
Thomas Ricouard
202bf06dc6
Split Models from Network package
2022-11-29 09:28:17 +01:00
Thomas Ricouard
4742e3112b
Remove needless fetchArray
2022-11-25 12:29:42 +01:00
Thomas Ricouard
e91a8b4b0a
Forward error
2022-11-25 12:01:55 +01:00
Thomas Ricouard
ec8de5fb83
Paginated tiemeline and refactoring
2022-11-25 12:00:01 +01:00
Thomas Ricouard
0608996bb8
Render Status as Markdown
2022-11-25 10:03:42 +01:00
Thomas Ricouard
3c1b879d1a
Better status header
2022-11-21 14:42:59 +01:00
Thomas Ricouard
a694c5d80c
Browse and connect to multiple timelines
2022-11-21 13:52:13 +01:00
Thomas Ricouard
864a0b3969
New Timeline architecture
2022-11-21 09:31:32 +01:00