Commit Graph

76 Commits

Author SHA1 Message Date
Thomas Ricouard 375ea665b4 Default logout experience to trending timeline + remove cache when logout 2024-06-12 20:02:01 +02:00
Thomas Ricouard 1f858414d8 format . 2024-02-14 12:48:14 +01:00
Thomas Ricouard 3eec5c0eec new top / bottom bar 2024-01-23 08:51:58 +01:00
Thomas Ricouard 016e4d5d57 Refactor CancelToolbarItem 2024-01-23 08:13:45 +01:00
Thomas Ricouard a6ccdc029b Timeline filter: Add ControlGroup 2024-01-22 06:38:56 +01:00
Thomas Ricouard 709dd79e25 Fix for visionOS + Remove shimmer 2024-01-19 08:51:29 +01:00
Thomas Ricouard 2f5307bfc7 Add timeline content filter 2024-01-11 18:55:35 +01:00
Thomas Ricouard e725b6be4d Create new lists from timeline home menu even if no lists 2024-01-08 18:22:32 +01:00
Clemens Beck 334b09ebe3
Feature: Use tagGroup icon in timeline quick access feature (#1834)
* Use tagGroup icon in timeline quick access feature

* Make tagGroup symbol optional
2024-01-07 18:38:45 +01:00
Thomas Ricouard e41dcd6976 Fix timeline tag group filter 2024-01-01 19:00:23 +01:00
Thomas Ricouard 0497191acf Add icons for all filters 2023-12-30 16:16:19 +01:00
Thomas Ricouard fe66acbd39 Timeline: Add pills quick access 2023-12-30 14:54:09 +01:00
Thomas Ricouard c328c6c0be Refactor App level to App + App View -> Slideover = phone layout on iPad 2023-12-29 18:50:53 +01:00
Thomas Ricouard 19715bb1f6 Fix local / trending tab showing federated timeline 2023-12-29 07:32:33 +01:00
Thomas Ricouard 962c7c0295 Timeline: Basic timeline sync using the marker API 2023-12-27 13:26:30 +01:00
Thai D. V f326bbefe6
Fix: Search Instances Feature (#1766)
* fix: search logic and performance

* Remove overlay

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-12-26 13:31:22 +01:00
Thomas Ricouard 5a2478c791
VisionOS native support (#1758)
* Initial support

* UI Adjustments

* WIP icons

* More UI
2023-12-19 09:51:20 +01:00
Thomas Ricouard fcaf48ce53 foregroundColor -> foregroundStyle 2023-12-04 15:49:44 +01:00
Thomas Ricouard 2e2a9f5f14 Add more lists setttings 2023-11-28 09:18:52 +01:00
Thai D. V de83b8ec90
Fix `EditTagGroupView` (#1686)
* refactor data of `EditTagGroupView`

* lower case tags before saving because API is case-insensitive

* fix: "add new tag" `TextField` is not focused after adding the first tag (on both macOS and iOS)

* perf: improve symbol search performance

* improve layout and animation of symbol search

* fix: sort tags and remove duplicate tags

* fix: crash when open timeline for an empty tag group

* fix: revert concurrency code because performance issue at 1d3f271 is a false alarm

* add warning labels to help the users

* fix: state `tagGroup`

* fix: selecting symbol logic and warning labels

* refactor `EditTagGroupView.body`

* refactor warning labels

* Fix theme

* Move to its own folder

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-11-27 09:13:07 +01:00
Thomas Ricouard cf0f0fd891 Refactor + add more shortcuts on macOS 2023-10-26 06:23:00 +02:00
Thomas Ricouard 23a83d69cc Remove legacy migrations 2023-10-01 09:48:27 +02:00
Paul Schuetz 0b5e764556
Automatically remove spaces in server names (#1600)
* Automatically remove spaces in server names

If a server name includes a space (which can happen if the string is pasted /
autocompleted), this space is removed, which results in the app not crashing.
Fixes #1599

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Format

---------

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-10-01 09:37:09 +02:00
Thomas Ricouard 717ef16628 Correctly save / restore any previously selected timeline on home tab 2023-09-25 14:43:29 +02:00
Thomas Ricouard e0663bf177 Fix #1590 2023-09-25 14:12:35 +02:00
Thomas Ricouard 7efd8ed7cb Fix #1585 2023-09-22 22:41:06 +02:00
Thomas Ricouard 4870b202d6 Migrate TagGroup to SwiftData 2023-09-22 19:33:53 +02:00
Thomas Ricouard 527d982dce Migrate LocalTimeline to SwiftData 2023-09-22 12:49:25 +02:00
Thomas Ricouard e2f0863ff6 Fix timeline filter update 2023-09-19 18:33:13 +02:00
Thomas Ricouard 6c23569d15 UserPreferences -> Observable 2023-09-19 09:18:20 +02:00
Thomas Ricouard f9c0355f1d Convert Theme to Observable 2023-09-18 21:03:52 +02:00
Thomas Ricouard 4189a59cf6
iOS 17+ only support + migrating to Observation framework (#1571)
* Initial iOS 17 + Observable migration

* More Observation

* More observation

* Checkpoint

* Checkpoint

* Bump version to 1.8.0

* SwiftFormat

* Fix home timeline switch on login

* Fix sidebar routerPath

* Fixes on detail view

* Remove print changes

* Simply detail view

* More opt

* Migrate DisplaySettingsLocalValues

* Better post detail transition

* Status detail animation finally right

* Cleanup
2023-09-18 07:01:23 +02:00
Thomas Ricouard 8a3c971402 Swiftformat 2023-09-16 14:15:03 +02:00
Thomas Ricouard 4280764733 Edit tag groups 2023-08-04 12:40:21 +02:00
Paul Schuetz b8af362b23
Show all symbols when adding a tag group (#1513)
* Show all symbols when adding a tag group

All the SFSymbols are shown when adding a tag group, the list is taken from
SFSafeSymbols. This includes symbols such as "swift" and "apple.logo", as seen
in https://mastodon.social/@alexito4/110742407894134083.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Add credit for SFSafeSymbols

The list of used libraries is updated with SFSafeSymbols.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

---------

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
2023-07-20 08:01:32 +02:00
Thomas Ricouard fbff719066 Fixes to add tag group view 2023-07-19 08:13:16 +02:00
Thomas Ricouard a2fe0511e0 Run swiftformat 2023-07-19 07:46:25 +02:00
Alejandro Martínez 5951bcec38
Tag groups (#1506)
* Implemented tag groups

* Cleanup

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-07-19 07:44:35 +02:00
Chris Kolbu b2f594f174
Accessibility tweaks + Notifications and Messages tab uplift (#1292)
* Improve StatusRowView accessibility actions

Previously, there was no way to interact with links and hashtags.

Now, these are added to the Actions rotor

* Hide `topPaddingView`s from accessibility

* Fix accessible header rendering in non-filterable TimelineViews

Previously, all navigation title views were assumed to be popup buttons.

Now, we only change the representation for timelines that are filterable.

* Combine tagHeaderView text elements

Previously, these were two separate items

* Prefer shorter Quote action label

* Improve accessibility of StatusEmbeddedView

Previously, this element would be three different ones, and include all the actions on the `StatusRowView` proper. Now, it presents as one element with no actions.

* Add haptics to StatusRowView accessibility actions

* Improve accessibility of ConversationsListRow

This commit adds:
- A combined representation of the component views
- “Unread” as the first part of the label (if this is the case)
- All relevant actions as custom actions
- Reply as magic tap

* Remove StatusRowView accessibilityActions if viewModel.showActions is false

* Hide media attachments from accessibility if the view is not focused

* Combine NotificationRowView accessibility elements; add user actions

Previously, there was no real way to interact with these notifications.

Now, the notifications that show the actions row have the appropriate StatusRowView-derived actions, and new followers notifications have more actions that let you see each user’s profile.

* Prefer @Environment’s `accessibilityEnabled` over `isVoiceOverRunning`

This way we can cater for Voice Control, Full Keyboard Access and Switch Control as well.

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-03-24 07:52:29 +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 7a997ebd8a Make secondary column available on any size + add a toggle + faster macOS window resize 2023-02-21 13:37:31 +01:00
Quin 43b32ca3f7
Add accessibility labels to timeline headers. (#880) 2023-02-15 18:47:42 +01:00
Thomas Ricouard 363164d96d Bind tabs to client.id 2023-02-14 14:27:29 +01:00
Thomas Ricouard eb6050a38f Swiftformat 2023-02-12 16:29:41 +01:00
David Davies-Payne 11167c35c3
Also sort tags and lists in profile view (#764)
* Add CurrentAccount.sortedLists and .sortedTags

Sorts alphabetically, ascending, lowercased on title and name respectively.

* TimelineTab uses CurrentAccount.sortedLists and .sortedTags

* Account detail sorts tags and lists

Alphabetically, ascending, lowercased via CurrentAccount.sortedTags, .sortedLists
2023-02-10 06:38:18 +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 5f76a8057c Filter remote local timeline 2023-02-06 12:24:48 +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 d88d9db1dc Transition Timeline to List + stream post automatically + keep position + new counter UI 2023-01-30 21:41:42 +01:00
Thomas Ricouard 24504e3bc2 Various optimizations to speed things up 2023-01-30 19:14:43 +01:00