Commit graph

2477 commits

Author SHA1 Message Date
Thomas Ricouard
24cccfad1d
Ice Cubes 2.0 + iOS 26 supports (#2280)
* iOS 26 compiles

* New compose accessory view

* Better GlassEffectContainer transition

* Fixes

* Drop iOS 17 + Timeline filters at bottom

* Glass status observer

* Fixes

* More fixes

* Disable tabbar collapse

* Refacor timeline checkpoint

* Tyding code

* Set version to 2.0

* Remove fast timeline setting

* Perf fixes

* Remove custom Sidebar

* Perf boost + remove content gradient

* Fixes

* Remove steaming

* Fix TL

* Use Tab

* Fix separators

* Better sheet

* Editor enhance

* Leading status row actions

* More iOS 26 fixes

* Fix context menu tint color

* Fix app account sheet

* Fix extension send button

* New Icons

* AppIcon

* Add back VisionOS Icon

* Working icon

* Update Claude.MD

* WIP Playground

* Replace OpenAI with FoundationModels

* Stream response

* Prewarm Assistant on editor open

* Add more LLM tools

* Fixes

* Remove contentWarning prompt

* Update packages to Swift 6.2

* Various iOS 26 fixes

* Prepare birictional gap

* Add sections for iPad sidebar

* Fix profile status update

* Make StatusesState Equatable

* Disable LLM on macCatalyst for now

* Add Tags and Lists to sideabar

* Add local timeline and tags group in the sidebar

* Account: Refine header view

* Show non LLM tag

* Support V2 notifications group

* Refactor NotificationsViewModel

* Fix initial gap

* Notifications list: Add glassEffect

* Set editor glass effect to interactive

* Refactor TimelineView

* Notifications: Merge new group

* Notifications: Refactor VM

* Notifications: Cleanup code

* Liquid glass DM View

* Add direct access to DM in notifications top menu

* Editor: Fix sizing on mention/tags

* Better DM detail view

* DM: More refactor view

* DM: Even better views

* DM: Rework media attachements

* DM: Interactive textfield

* Notifications: Refactor and remove ViewModel

* DM: Refactor and remove ViewModel

* DM Detail: Refactor without ViewModel

* Remove sub.club support

* DM Detail: Fix loading

* Icons cleanup

* Tweak icons

* Account Detail: Refactor sub tabs

* More icons

* Account Detail: Remove ViewModel

* Account Detail: Refactor to smaller views

* Explore: Refactor to components + inline state

* Accounts Statuses: Refactor + remove VM

* Edit note: Remove VM

* Trim AccountDetail

* Account: Set button to primary color

* Fixes

* Improve UI consistency and context menus in media and notifications

Refactored MediaView to use context menus instead of Menu for media items and updated alt/discard marker buttons for iOS 26 compatibility. Added .tint(.label) to notification filter buttons for consistent appearance. Minor code style and import order improvements in AppView.

* Add .glassProminent

* Fix warnings

* Refactor compressVideo to use async/await

Updated the compressVideo function to use Swift's async/await syntax instead of withCheckedContinuation, simplifying the code and improving readability.

* Rename SPM Network -> NetworkClient

* Fix build

* Client -> MastodonClient

* Rename file

* Refactor media container to use state-based model

Replaces the previous MediaContainer property model with a state-based enum to better represent the lifecycle of media (pending, uploading, uploaded, failed). Updates MediaView and ViewModel to use the new state model, improving clarity and error handling for media uploads, progress, and failures. Adds convenience initializers and factory methods for creating containers in various states, and updates UI logic to match the new structure.

* Add media upload progress tracking and UI updates

Introduces progress tracking for media uploads in MastodonClient by adding new upload methods with progress handlers and a URLSession delegate. Updates StatusEditor ViewModel to pass progress handlers and update media container state during uploads. Enhances MediaView to display both circular and linear progress indicators with animation.

* Refactor message view to use glass effect on iOS 26+

Introduces a conditional to use .glassEffect for message backgrounds on iOS 26 and above, while maintaining the previous background logic for earlier versions. Extracts the message text rendering into a reusable textView property for cleaner code.

* Test removing legacy app icon

* Revert "Test removing legacy app icon"

This reverts commit 27c552d3cb.

* Refactor timeline pills and tab bar for iOS 26 compatibility

Moved TimelineQuickAccessPills logic from AppView to TimelineView and updated implementation to use new iOS 26 APIs where available. Simplified tab bar view in AppView and improved conditional logic for iPad and Mac layouts.

* Update glassEffect to use .regular.interactive()

Replaces the default glassEffect modifier with .regular.interactive() for improved visual consistency and interaction feedback on FollowButton and related controls.

* Improve progress indicator logic and remove iOS version check

Refines the display logic for progress indicators in MediaView, showing a linear progress bar only when progress is between 0 and 1, and otherwise showing a circular indicator. Also removes an unnecessary iOS version check in TimelineView for toolbar background visibility.

* Update screenshots

* Update toolbar tint and improve account fields UI

Added `.tint(.label)` to several toolbar items for consistent icon coloring. Refactored AccountFieldsView to support iOS 26+ visual effects and improved accessibility and background handling. Removed redundant `.tint(.label)` from NotificationsListView.

* Add zoom transition for MediaUI

* Remove Old AppIcon

* Remove alternate icons assets

* Update sign-in button style and layout in AddAccountView

Refactors the sign-in button to use a new 'signinButton' view, applying .glassProminent style on iOS 26+ and .borderedProminent otherwise. Adjusts button layout for full width, sets a fixed height, and updates row insets and background for improved appearance.

* Remove iPhone tab label preference setting

Eliminated the 'showiPhoneTabLabel' toggle from TabbarEntriesSettingsView and related property from UserPreferences. This streamlines settings by removing an unused or deprecated option.

* Fix text replacement in StatusEditor ViewModel

Updated the async stream handling in StatusEditor to use the 'content' property of the streamed object when replacing text, ensuring correct text updates.

* Update UI for iOS 26 and improve avatar effects

Refactored ToolbarTab and AppAccountsSelectorView to use .embed avatarConfig and apply glassEffect on iOS 26+. Updated contentShape to .circle for better interaction. Added theme-based tint to notification list buttons for improved visual consistency.

* Add optional caption to Mastodon post intent (#2292)

* Add app shortcut and intent for inline image posting on Mastodon (#2293)

* Add optional alt text to image upload intents (#2294)

* Adjust toolbar label offset for iOS 26 (#2296)

* Improve background handling in Explore and Editor views

Updated ExploreView to use edgesIgnoringSafeArea for the background color and made minor formatting improvements. Refactored MainView in StatusEditor to use a computed backgroundColor view for better background management based on presentationDetent.

* Remove macCatalyst conditional compilation for AI features

Eliminated #if !targetEnvironment(macCatalyst) checks from AI-related components in the status editor, making AI features available on all platforms where iOS 26+ is supported. Also added new localization keys related to image posting and descriptions.

* Add ToolbarSpacer and improve toolbar styling

Introduces ToolbarSpacer with .topBarTrailing placement for iOS 26.0+ in NotificationTab, TimelineTab, and TimelineView to improve toolbar layout. Updates toolbar item placements and adds theme-based foreground styling to toolbar icons. Removes unnecessary line limit in NotificationRowContentView and adjusts line limit logic in StatusRowTextView for better text display. Refactors some pattern matching for clarity.
2025-08-27 07:37:20 +02:00
Thomas Ricouard
a3f041c741 Add more ObservationIgnored 2025-06-05 08:23:43 +02:00
Thomas Ricouard
f2e1ed183f Update Claude.MD 2025-06-05 07:19:39 +02:00
Thomas Ricouard
9747b3dec7 Add CLAUDE.MD 2025-06-05 06:59:54 +02:00
Thomas Ricouard
b3df445d90 Fix warning 2025-05-27 08:41:11 +02:00
Thomas Ricouard
870483a962 Fix tests 2025-05-27 08:12:37 +02:00
Thomas Ricouard
da78496dff Bump version to 1.12.0 2025-05-27 07:54:37 +02:00
Francesco
43251995d9
New and improved Italian localisation (#2265)
* Update and correct Italian localisation

Corrected and relocalised the app from the ground app, unified wording and style. Following the official Italian Mastodon localisation where possible and.

* Correct localisations

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2025-05-27 07:51:02 +02:00
Joo Chanhwi
f70f8f7d53
Update Korean(ko) localization & remove some unused keys (#2222)
* Update Korean(`ko`) localization

* Remove keys unused in code

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2025-05-27 07:46:23 +02:00
sh95014
6f70798b76
Traditional Chinese localization (#2241)
* checkpoint

* checkpoint

* plurals and a couple of minor fixes

* Update Localizable.strings

* Update Localizable.strings

* Update zh-Hant localizations

* improve translation of "by" in "filtered by"

* update zh-Hant localization

* update Hant localization

* Update zh_Hant

* improve status.poll.closes-in

* Update zh_Hant

* Custom layout for App Store links

* update zh-Hant

* update zh_Hant

* update zh_Hant

* update zh_Hant

* update zh_Hant

* update zh_Hant

* update zh_Hant

* update Hant translations

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2025-05-27 07:43:27 +02:00
Jerry Zhang
9eba22d9bc
Update Simplified Chinese Localization (#2243)
* Update SC localization

* FIX

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2025-05-27 07:39:17 +02:00
Mackenzie
5591a6d52c
Recognize hashtags in posts on Akkoma and Pixelfed servers (#2261)
Fixes #2260
2025-05-27 07:03:03 +02:00
Klaus Dresbach
7a14ce9e6f
MediaUIView - Fix image download bug (#2131) (#2215)
* fix image download bug (#2131)

* Improved PR following reviewer recommendations
2025-05-27 07:02:35 +02:00
Vincent Tourraine
c03e1bce93
Update Notifications names (#2230)
Clean up notification name type
Fix import statement for `NotificationsName.swift`
2025-05-27 07:01:47 +02:00
hazel cora
f3389c6f01
Initial Akkoma support (#2253) 2025-05-27 07:01:30 +02:00
枕石
837602e0cb
fix(edit): fix the version that supports editing (#2263) 2025-05-27 07:00:57 +02:00
Kyle
1b9db7dad0
Update purchases-ios to purchases-ios-spm to speed up setup experience (#2268) 2025-05-27 07:00:32 +02:00
Ege Sucu
eefce064a8
TR Localizations updated (#2273)
- Added TR Descriptions for the new strings
- Removed stale translations from TR localization page.
2025-05-27 07:00:09 +02:00
Thomas Ricouard
8e7604e931 Fix timeline reducer fix #2266 2025-04-10 09:18:21 +02:00
Thomas Ricouard
6e4d4b5b8c Fix menu tint color 2025-04-10 08:21:54 +02:00
Thomas Ricouard
e948ec7f58 Update packages 2025-04-10 07:56:35 +02:00
Thomas Ricouard
7e167705ac Fix build for real 2025-02-10 10:51:39 +01:00
Thomas Ricouard
fa92284592 Fix cache 2025-02-10 10:27:07 +01:00
Thomas Ricouard
c3b6e7e2fc Fix build 2025-02-10 10:04:42 +01:00
Thomas Ricouard
ff72ea1cfd Fix build ^ 2 2024-11-10 09:25:32 +01:00
Thomas Ricouard
0f979fdfaf Fix build 2024-11-10 09:24:29 +01:00
Suryakant
a5cd2e6288
fix #2206 (#2220)
https://github.com/Dimillian/IceCubesApp/issues/2206

Co-authored-by: SuryakantRapido <suryakant.sharma@rapido.bike>
2024-11-10 09:22:53 +01:00
Jesús Jiménez Sánchez
59d4028efa
Update missing translations (#2216) 2024-11-10 09:22:40 +01:00
Thomas Ricouard
72e308ef3f AI Code Review 2024-10-30 17:19:53 +01:00
Thomas Ricouard
eecdab8a06 Move file around 2024-10-29 18:03:48 +01:00
Thomas Ricouard
e5755f1d83 Remove sparkle 2024-10-29 18:03:44 +01:00
Thomas Ricouard
1d11f78abc Don't error timeline on new statuses if there is statuses displayed. 2024-10-28 17:29:15 +01:00
Thomas Ricouard
35e8cb6512 Format all code using swift-format 2024-10-28 10:57:48 +01:00
Thomas Ricouard
42f880aaa8 Add VSCode settings file 2024-10-28 10:42:47 +01:00
Thomas Ricouard
322803bf1a Remove GIPHY SDK 2024-10-28 09:35:35 +01:00
Thomas Ricouard
2cc2276bc4 Convert Xcode project to be 100% folders based 2024-10-24 14:45:00 +01:00
Thomas Ricouard
8ce2476945 Reset selection on notifications requests batch 2024-10-24 13:54:38 +01:00
Thomas Ricouard
1566dd8cd1 Fix debug task 2024-10-24 13:54:23 +01:00
Thomas Ricouard
390673800e Fix crash on emoji picket on macOS 2024-10-24 13:54:16 +01:00
Thomas Ricouard
091cfd67a1 Bump version to 1.11.3 2024-10-23 09:40:24 +01:00
枕石
d13d874e3d
chore(i18n): update Simplified Chinese localization (#2204)
* chore(i18n): update Simplified Chinese localization

* chore(i18n): update Simplified Chinese localization

* chore(i18n): update Simplified Chinese localization

* chore: remove unexpected space

* chore(i18n): update Simplified Chinese localization

* chore(i18n): update Simplified Chinese localization
2024-10-22 09:48:29 +02:00
Kyle
110906e69a
Enable "GraphReuseLogging" for Debug build (#2203) 2024-10-22 09:48:18 +02:00
Thomas Ricouard
15a6fd6f1c Batch accept / reject notifications requests 2024-10-19 12:27:18 +02:00
Thomas Ricouard
d8f2b0f3ae Add VSCode/Cursor Sweetpad setup 2024-10-18 09:05:06 +02:00
Thomas Ricouard
6f48f67a01 Add more readme badges 2024-10-10 08:59:40 +02:00
Thomas Ricouard
a95f3d76fc Fix build 2024-10-10 08:50:42 +02:00
Thomas Ricouard
ecfdab146c Better list formatting 2024-10-09 10:48:57 +02:00
Thomas Ricouard
0e61fa72c9 Bump version to 1.11.2 2024-10-07 11:20:13 +02:00
Thomas Ricouard
30ccf308a1 Add Emergetools badge 2024-10-07 11:14:09 +02:00
Thomas Ricouard
7719046d10 Add blockquote supports 2024-10-05 13:03:29 +02:00