Commit graph

1156 commits

Author SHA1 Message Date
Thomas Ricouard
6cc14f8249 Better UX for avatar / header selection 2024-01-02 21:50:11 +01:00
Thomas Ricouard
1eb33466ca Edit profile: Update avatar & header 2024-01-02 21:16:27 +01:00
Thomas Ricouard
f699c33dfb Make status action button areas bigger 2024-01-02 19:35:14 +01:00
Thomas Ricouard
632b3f5734 Statuses: Cleanup viewId 2024-01-02 14:06:53 +01:00
Thomas Ricouard
f19ab2b130 Increase contrast on the unread counter 2024-01-02 12:14:53 +01:00
Thomas Ricouard
13e87b41e9 Fix list not updating in the quick access pills 2024-01-02 11:54:17 +01:00
Thomas Ricouard
c4b85679a2 StatusRow: Light cleanup 2024-01-02 08:58:20 +01:00
Thomas Ricouard
0c13cbd61f Filters: Add current editing keyword on save 2024-01-01 21:29:38 +01:00
Thomas Ricouard
aee6459bcf Status detail: Don't cancel the task 2024-01-01 21:29:28 +01:00
Thomas Ricouard
f235ebb720 Remove the double # in quick access pills 2024-01-01 21:29:12 +01:00
Thomas Ricouard
47436daaf2 Proper fix for looping timeline 2024-01-01 21:29:03 +01:00
Thomas Ricouard
1e7c25993a Fix timeline filtering + looping 2024-01-01 21:06:10 +01:00
Thomas Ricouard
4fee875fa7 Fix timeline top padding 2024-01-01 19:06:14 +01:00
Thomas Ricouard
bd51dfc0b6 Fix safe area on media viewer 2024-01-01 18:31:55 +01:00
Thomas Ricouard
ce845cd6b3 Better timeline top pin view 2024-01-01 18:23:03 +01:00
Thomas Ricouard
f0061b36ca Account: Show nav bar title for main, followers, following 2024-01-01 17:29:15 +01:00
Thomas Ricouard
8ee5da319c Reflect edit / post / delete status better 2024-01-01 16:46:34 +01:00
Thomas Ricouard
8c72b627df Fix scroll to id 2024-01-01 14:16:42 +01:00
Thomas Ricouard
b10ee3091c Make edit stickier 2024-01-01 14:13:25 +01:00
Thomas Ricouard
b93df71431 Don't resize images if same size 2024-01-01 11:39:32 +01:00
Thomas Ricouard
b6317d7324 Add tests for Router 2024-01-01 09:48:53 +01:00
Thomas Ricouard
7222d530dd Fix url router 2024-01-01 09:23:06 +01:00
Thomas Ricouard
b4757621f2 Only show the new icon card on iPad / macOS 2023-12-31 13:43:13 +01:00
Thomas Ricouard
9b70519798 Fix sensitive content transition 2023-12-31 13:28:27 +01:00
Thomas Ricouard
a85c701f50 Fix #1639 2023-12-31 13:17:09 +01:00
Thomas Ricouard
7add850fe6 Rename timeline related files 2023-12-31 11:18:42 +01:00
Thomas Ricouard
acccdb8041 Load new posts per 100 instead of 200 2023-12-31 08:11:53 +01:00
Thomas Ricouard
0497191acf Add icons for all filters 2023-12-30 16:16:19 +01:00
Thomas Ricouard
781121d1d4 Add more tests 2023-12-30 15:40:04 +01:00
Thomas Ricouard
fe66acbd39 Timeline: Add pills quick access 2023-12-30 14:54:09 +01:00
Thomas Ricouard
631707a798 Refactor TimelineView 2023-12-30 12:30:02 +01:00
Thomas Ricouard
6ea4888ae5 Add more timeline tests 2023-12-30 09:51:34 +01:00
Thomas Ricouard
b0cc02541e Fix modelTests 2023-12-30 09:16:18 +01:00
Thomas Ricouard
8a2861b37f Add stream tests 2023-12-30 09:08:19 +01:00
Thomas Ricouard
b4013e39c0 Fix DM view 2023-12-29 18:56:50 +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
84898c3b8e Fix #1798 2023-12-29 18:16:23 +01:00
Thomas Ricouard
2bdef66da0 Actions buttons: Bigger tap area 2023-12-29 17:57:37 +01:00
Thomas Ricouard
6359349a40 VisionOS fix 2023-12-29 17:06:27 +01:00
Thomas Ricouard
4ba8d004d1 Add Threads themes 2023-12-29 08:01:09 +01:00
Thomas Ricouard
7b484fc8e1 Add loading indicator on profile 2023-12-28 22:18:13 +01:00
Thomas Ricouard
dac9fc55e9 Scale share button 2023-12-28 22:03:24 +01:00
Thomas Ricouard
dcd63cfd54 Fix #1789 2023-12-28 21:57:55 +01:00
Thomas Ricouard
a1093c8052 Animate favorite / boost count update 2023-12-28 21:57:41 +01:00
Thomas Ricouard
6850fcd928 Add support / about shortcuts in account selector bottom sheet 2023-12-28 16:03:16 +01:00
Thomas Ricouard
b83f7e9a55 Fix notifications reload 2023-12-28 13:48:50 +01:00
Thomas Ricouard
00e35be2d5 Fix counter 2023-12-28 13:14:11 +01:00
Thomas Ricouard
f3043b608c Better date pre compute 2023-12-28 12:31:16 +01:00
Thomas Ricouard
8f0548f45d Optimize timeline 2023-12-28 12:26:09 +01:00
Thomas Ricouard
fa4603e77c Fix notifications locked type 2023-12-28 12:03:01 +01:00
Thomas Ricouard
a09b2fa95e monospacedDigit 2023-12-28 11:56:23 +01:00
Thomas Ricouard
d0c2cd4520 Better unread counter + animation 2023-12-28 11:54:41 +01:00
Thomas Ricouard
b0ba6c15da Add favorites / bookmarks tab on macOS / iPadOS 2023-12-28 09:37:02 +01:00
Thomas Ricouard
e0563122a7 Layout fix & tweak 2023-12-28 07:55:17 +01:00
Thomas Ricouard
d065ae6aa8 Add settings to toggle between share and bookmark button 2023-12-28 07:48:35 +01:00
Thomas Ricouard
44dbd379ba Further layout tweaks 2023-12-27 19:28:16 +01:00
Thomas Ricouard
d300bee96f Bump to version 1.10.2 2023-12-27 18:53:11 +01:00
Thomas Ricouard
21ac4cfa21 Further tweak the layout 2023-12-27 18:16:59 +01:00
Thomas Ricouard
bfa717bfa2 Shorter date for status < to 24H 2023-12-27 18:05:41 +01:00
Thomas Ricouard
e53a3d0f61 Fix reasons check 2023-12-27 17:12:48 +01:00
Thomas Ricouard
2b16b10987 Tweak status detail layout 2023-12-27 16:48:50 +01:00
Thomas Ricouard
8a0cf44834 Visually align new post button 2023-12-27 16:27:21 +01:00
Thomas Ricouard
1a3bded101 New default timeline layout 2023-12-27 16:07:16 +01:00
Thomas Ricouard
2e1652ef53 Fix "Only buttons" settings 2023-12-27 15:16:53 +01:00
Thomas Ricouard
962c7c0295 Timeline: Basic timeline sync using the marker API 2023-12-27 13:26:30 +01:00
Thomas Ricouard
590299d102 Sync with markers API for notifications 2023-12-26 16:01:02 +01:00
Thomas Ricouard
ede45a9d46 Fix #1769 2023-12-26 13:56:28 +01:00
Thomas Ricouard
c4bff07c40 Bump version to 1.10.0 2023-12-26 13:40:39 +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
f04f5c701c Fix #1767 2023-12-21 21:00:44 +01:00
Thomas Ricouard
3eb373550e visionOS: Fixes 2023-12-19 15:07:51 +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
8ff3e22d9f SwiftFormat 2023-12-18 08:22:59 +01:00
sh95014
2145bd5971
AppStore Link Preview (#1756)
* Custom layout for App Store links

* generalize the logic to include links known to be associated with square icons

- such as Apple Music and Spotify
2023-12-18 07:01:46 +01:00
David Walter
d755396119
Update EmojiText to 3.2.1 (#1753) 2023-12-18 06:43:52 +01:00
Thomas Ricouard
6f6e352baf Mixin portrait and landscape media in the status medias carousel 2023-12-17 10:41:42 +01:00
Thomas Ricouard
1fa54afc3a Add support for GIPHY + rework loading of the media in the editor 2023-12-17 10:27:01 +01:00
sh95014
f9da958047
add a setting to disable the account popover on hover (#1750)
* add a setting to disable the account popover on hover

- not entirely pleased with the AnyView() cast but don't really know of a less invasive change

* Fixes

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-12-17 07:57:20 +01:00
Thomas Ricouard
a7f982e827 Fix posting order for threads 2023-12-17 07:52:16 +01:00
David Walter
47326b3f7a
Update EmojiText to 3.2.0 (#1751)
Fixes #1738
2023-12-17 07:28:18 +01:00
Thomas Ricouard
8f31e34e1d Fix colors 2023-12-15 20:13:50 +01:00
Thai D. V
1977b1a572
Feature: Post and Reply by Threads (#1740)
* refactor: `StatusEditorView`

* feat: post and reply by threads

* Tidy up

* Fixes

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-12-14 08:06:24 +01:00
Paul Schuetz
d8a686be51
Allow the user to customize the thread indentation (#1737)
* Allow the user to customize the thread indentation

The user can now select if they want to indent threads/replies, and how much
the replies should be indented.

* Make the wording clearer

The wording is now clearer since "thread" is replaced by "reply".

* Fix localizations

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-12-14 07:17:09 +01:00
Paul Schuetz
e4df8a8b69
Link to parent post (#1736)
The "reply to ..."-text is now a link to the parent post. A tap scrolls to the
parent if the whole hierarchy over a post is shown (detail view). Otherwise,
the detail view for the parent is opened.
2023-12-14 07:12:12 +01:00
Thai D. V
81ba1e9bee
Add Select Status Text Action (#1731)
* add select text action

* Fixes

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-12-14 06:46:16 +01:00
Thomas Ricouard
8d7b6f382e Fixes & optimizations 2023-12-13 12:37:07 +01:00
Thomas Ricouard
232e031559 Add charts for tags 2023-12-13 09:05:30 +01:00
Thomas Ricouard
d31af12bb6 Add pull to refresh on post detail 2023-12-10 08:42:26 +01:00
Thai D. V
f3ef79b297
Relayout media on status editor (#1728)
* relayout media display

* animate media layout

* fix layout
2023-12-09 10:59:10 +01:00
Thomas Ricouard
52208ab20e Poxy OpenAI calls and remove OpenAI secrets from the app 2023-12-09 10:58:42 +01:00
Thomas Ricouard
da6c5ed76c Add follow section in about 2023-12-08 08:04:35 +01:00
Thomas Ricouard
052afd5931 New media carrousel 2023-12-07 18:48:18 +01:00
Thomas Ricouard
51656794fc Use env webAuthenticationSession 2023-12-07 09:45:34 +01:00
Thomas Ricouard
5941276145 Update dependencies 2023-12-07 09:29:03 +01:00
Thai D. V
774ba834bd
Improve media selection on the status editor. (#1722)
* show menu buttons on media item

* fix media preparing logic
- not removing photo pickers when removing media on the post editor
- pickers don't have identifiers after being selected
- preparing tasks (creating containers, uploading media) don't run in parallel
- re-preparing the whole media list every time adding new ones

* remove measurement code

* rename variables

* fix MainActor mutation
2023-12-07 06:39:34 +01:00
Thomas Ricouard
f2cd05968e Add a translate button after generating image description 2023-12-06 21:04:47 +01:00
Thomas Ricouard
4f9e23296f Cleanup 2023-12-06 18:56:19 +01:00
Thomas Ricouard
3d2171d716 Refactor auth to ASWebAuthenticationSession 2023-12-06 08:05:26 +01:00
Thai D. V
2e350f5fce
move environment runtime check to compile time (#1709) 2023-12-06 06:41:26 +01:00
Thomas Ricouard
df1a44cc21 Use V1 accounts API for autocomplete 2023-12-05 21:03:47 +01:00
Thai D. V
330aa93437
photo view ignores bottom edge of safe area (#1708) 2023-12-05 08:23:42 +01:00
Thomas Ricouard
4dbe04a5d4 Better image alt prompt 2023-12-04 20:36:15 +01:00
Thomas Ricouard
28ab417b0a Generation image description using GPT Vision 2023-12-04 20:04:12 +01:00
Thomas Ricouard
fcaf48ce53 foregroundColor -> foregroundStyle 2023-12-04 15:49:44 +01:00
Thomas Ricouard
3840b8fb28 presentationMode -> dismiss 2023-12-04 14:14:42 +01:00
Thomas Ricouard
4a09989160 Fix tag condition 2023-12-04 11:49:36 +01:00
Thomas Ricouard
76219f553b Add tag status indicator for home timeline 2023-12-04 09:52:18 +01:00
Thomas Durand
ad2adadf87
Added a "Continues a thread" label to status rows (#1704) 2023-12-03 13:54:57 +01:00
Thai D. V
56360ae821
fix: make windowWidth and windowHeight of SceneDelegate observable (#1693) 2023-12-03 12:43:15 +01:00
Thomas Ricouard
b249b37612 Add a fast refresh option 2023-12-01 08:51:19 +01:00
Thomas Ricouard
885a134eaf Fix list on older instances 2023-12-01 08:14:57 +01:00
Hugo Saynac
69d5f265fe
Improve indentation level design for indentations level > 1 (#1695) 2023-11-29 09:02:01 +01:00
Thomas Ricouard
12419a77e2 Fix build for real 2023-11-28 14:41:17 +01:00
Thomas Ricouard
662f1002f5 Fix build 2023-11-28 14:32:35 +01:00
Thomas Ricouard
f2606b4614 Search users in list edit 2023-11-28 14:16:04 +01:00
Thomas Ricouard
2e2a9f5f14 Add more lists setttings 2023-11-28 09:18:52 +01:00
Thomas Ricouard
d2f7ab1464 Move AccountPopoverView 2023-11-27 09:19:43 +01:00
Nathan Reed
06a8ca67c3
Improve display of HTML ul (bullet list) and ol (numbered list) (#1690)
While SwiftUI's `Text` view won't display these in an `AttributedString` even if they get parsed from Markdown (which would also require the use of the `.full` option instead of the `.inlineOnlyPresrevingWhitespace` option), we can improve the appearance somewhat.
Currently, list elements are clumped together with no spaces between them, and there's no indication whatsoever that the author indicated these to be a list.
Change to insert Markdown list syntax with linebreaks and dashes, so users can at least understand there's a list there.
Similar change for ordered lists.

This will still be broken for nested lists, but it didn't seem worth it to put a lot of effort into this (or other revamps, like making bold/italics/code work properly) because it seems like the current text handling in Ice Cubes is suboptimal and eventually slated for improvement (according to https://github.com/Dimillian/IceCubesApp/issues/1459#issuecomment-1638562657).
So this is more designed to make lists "less broken" in some cases, rather than be a comprehensive fix for all lists in all cases.
2023-11-27 09:15:27 +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
Thai D. V
ea5480ef46
add account popovers for display name and handle (#1687) 2023-11-27 09:00:52 +01:00
Thomas Ricouard
b3153289c4 Fix to account selector on iOS 2023-11-20 18:43:16 +01:00
Thomas Ricouard
47d54fd9e6 Fixes 2023-11-20 17:20:09 +01:00
Thai D. V
94172cef27
Feature: popover the account overview when hovering on the avatar (#1682)
* fix avatar scale

* refactor avatar  config data

* add `AvatarView_Previews`

* refactor shape and placeholder of avatar

* refactor `AvatarView` and add `AvatarPopup`

* add `hoverEffect` for iPad

* fix auto-dismiss bug

* fix `showPopup` bug

* disable inappropriate avatar popups
2023-11-20 10:59:49 +01:00
Thomas Ricouard
71ab8d558a Fix / simplify account content warning 2023-11-19 08:26:07 +01:00
Paul Schuetz
12d92ab1ec
Add hint if the server post options are overridden (#1679)
If the content settings specify their own post settings and override the
instance settings, a hint (and link to the content settings) is added to the
instance settings (infos) since that setting might introduce confusion (As
happened in #1677).
2023-11-19 08:10:53 +01:00
Paul Schuetz
8bf36709ea
Fix reply indentation when the post has pictures (#1678)
The size of the image is now set correctly to prevent the shifting of the
vertical bars. The handling of the compact view (regarding the indentation) is
now centrally handled in StatusDetailView.
2023-11-19 08:10:44 +01:00
Euigyom Kim
d3b52b3206
Make categorized emoji picker (#1680)
Signed-off-by: Euigyom Kim <egkim@dehol.kr>
2023-11-19 08:09:41 +01:00
Thomas Ricouard
c1c7c666cb Disable indentation in compact post 2023-11-18 10:44:27 +01:00
sh95014
11388757f3
Limit image height to screen height (#1675)
* limit image height to window height minus a hardcoded value

https://github.com/Dimillian/IceCubesApp/issues/1554

* Limit image to screen height

- limit available height to 80% of screen/window height
- if image fits in available width and height, just display it at 1x (to avoid ugly resizing artifacts)
- otherwise, shrink it proportionally to fit

https://github.com/Dimillian/IceCubesApp/issues/1554
2023-11-17 09:42:33 +01:00
Paul Schuetz
59e5eba860
Improve the display of replies (#1672)
Threads/replies are now shown more clearly. Each reply has an indentation level
(and therefore the number of vertical lines) one more than its direct parent.
This leads to siblings having the same indentation level. It makes
understanding somewhat complex thread structures way easier. Previously, a
reply was only indented if it came directly after its parent. If a toot had
more than one reply, the structure was nearly indecipherable, as it wasn't
clear which the parent post of the second (or later) toot was. An example is
"https://mastodon.social/@mhoye/110452462852364819" and all of its replies.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
2023-11-16 09:56:00 +01:00
Thai D. V
4b74532048
Feature: store selected notification filter (#1627) (#1663)
* store selected notification filter (#1627)

* store one filter for all accounts
2023-11-16 09:53:16 +01:00
Thomas Ricouard
f451d7cb8c Bigger media viewer window 2023-11-14 19:48:14 +01:00
Thomas Ricouard
32f96ac1ce Format 2023-11-07 11:24:03 +01:00
Théo Arrouye
4266ac4b42
Improve SoundEffectManager & HapticManager (#1662)
* Remove unnecessary vars and switches

* Improve SoundEffectManager call-site API

* Improve HapticManager call-site API
2023-11-07 11:22:36 +01:00
Thai D. V
6e1e83cace
Refactor StatusRowMediaPreviewView (#1654)
* improve the sensitive content overlay animation and refactor subviews

* fix alt text button and refactor views

* refactor `StatusRowMediaPreviewView.onTapGesture`

* simplify `MediaPreview` and `FeaturedImagePreView`

* make alt text button adaptable
2023-11-07 11:20:35 +01:00
Thomas Ricouard
0424b62684 Fix build 2023-11-01 19:55:48 +01:00
Thomas Ricouard
3e3c69c41c format 2023-11-01 18:58:44 +01:00
Thomas Ricouard
4c7a7986c5 fix build 2023-11-01 18:58:19 +01:00
Hugo Saynac
b2933b8c75
Fix flickering issues when resizing window (#1644)
* Fix flickering issues when resizing window, or hiding notifications on macOS

* Restore processor and add debouncing to the processor updates

* Fix indentation

* Add LazyResizableImage to the Design system module
2023-11-01 18:57:13 +01:00
Paul Schuetz
f68bc3e306
Show the pending-counter in any corners (#1638)
The pending-button can now be shown in any corner the user prefers. This is
accomplished by allowing the user to move the counter left in addition to the
already present option to move it down. Fixes #1637

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
2023-11-01 18:51:46 +01:00
Thai D. V
20ecc49e31
refactor MediaUIView state and logic (#1651) 2023-11-01 18:50:02 +01:00
Thomas Ricouard
db64dd726e Enable CloudKit sync for tag groups, local timeline and drafts 2023-10-29 08:51:20 +01:00
Thomas Ricouard
bbce55e703 MediaViewer: Add loading state for quicklook 2023-10-29 08:27:26 +01:00
Thomas Ricouard
8a49409b26 Tag group: fix first tag not being included 2023-10-27 11:39:31 +02:00
Thomas Ricouard
641853ed8d Editor: Open in window on mac catalyst 2023-10-27 11:39:11 +02:00
Thomas Ricouard
3f3ea4ff68 Editor: Properly close window on Catalyst 2023-10-27 11:39:02 +02:00
Thomas Ricouard
cf0f0fd891 Refactor + add more shortcuts on macOS 2023-10-26 06:23:00 +02:00
Thomas Ricouard
434247f3ea Fixes for macOS 2023-10-24 18:34:45 +02:00
Thomas Ricouard
07bfd8cd0e Initial macOS Catalyst support 2023-10-23 19:12:25 +02:00
Thomas Ricouard
1b228d504f Media viewer: various fixes 2023-10-18 12:19:39 +02:00