Commit Graph

6441 Commits

Author SHA1 Message Date
Marcus Kida 6c43d49ce4
Fix file header (IOS-271) 2024-06-25 10:50:50 +02:00
Marcus Kida b47ce98ef2
Hide spinner in case translation fails (IOS-271) 2024-06-25 10:45:37 +02:00
Marcus Kida daaf1b330e
Implement translation language check (IOS-271) 2024-06-25 10:41:03 +02:00
Marcus Kida 7f8587913f
Implement TranslationLanguages fetching (IOS-271) 2024-06-21 12:09:49 +02:00
Marcus Kida d4132640c5
Throw error in case translation returns empty content (IOS-271) 2024-06-21 12:09:18 +02:00
Nathan Mattes ca68a6cdbb Bump version to 2024.7 2024-06-20 07:52:08 +02:00
Eugen Rochko a27c4d9255
New Crowdin updates (#1302)
* New translations app.json (German)

* New translations app.json (Chinese Traditional)

* New translations app.json (Spanish, Argentina)

* New translations app.json (Galician)

* New translations app.json (Thai)

* New translations app.json (Vietnamese)

* New translations app.json (Portuguese)

* New translations app.json (Belarusian)

* New translations app.json (Belarusian)

* New translations app.json (Belarusian)

* New translations app.json (Romanian)

* New translations app.json (French)

* New translations app.json (Spanish)

* New translations app.json (Arabic)

* New translations app.json (Catalan)

* New translations app.json (Czech)

* New translations app.json (Danish)

* New translations app.json (German)

* New translations app.json (Greek)

* New translations app.json (Basque)

* New translations app.json (Finnish)

* New translations app.json (Hebrew)

* New translations app.json (Hungarian)

* New translations app.json (Armenian)

* New translations app.json (Italian)

* New translations app.json (Japanese)

* New translations app.json (Korean)

* New translations app.json (Dutch)

* New translations app.json (Polish)

* New translations app.json (Portuguese)

* New translations app.json (Russian)

* New translations app.json (Slovenian)

* New translations app.json (Swedish)

* New translations app.json (Turkish)

* New translations app.json (Ukrainian)

* New translations app.json (Chinese Simplified)

* New translations app.json (Chinese Traditional)

* New translations app.json (English)

* New translations app.json (Vietnamese)

* New translations app.json (Galician)

* New translations app.json (Icelandic)

* New translations app.json (Portuguese, Brazilian)

* New translations app.json (Indonesian)

* New translations app.json (Spanish, Argentina)

* New translations app.json (Thai)

* New translations app.json (Latvian)

* New translations app.json (Hindi)

* New translations app.json (English, United States)

* New translations app.json (Burmese)

* New translations app.json (Welsh)

* New translations app.json (Sinhala)

* New translations app.json (Scottish Gaelic)

* New translations app.json (Aragonese)

* New translations app.json (Kurmanji (Kurdish))

* New translations app.json (Sorani (Kurdish))

* New translations app.json (Kabyle)

* New translations app.json (German)

* New translations app.json (Swedish)

* New translations app.json (Slovenian)

* New translations app.json (Icelandic)

* New translations app.json (Belarusian)

* New translations app.json (Icelandic)

* New translations app.json (Spanish, Argentina)

* New translations app.json (Belarusian)

* New translations app.json (Belarusian)

* New translations app.json (Galician)

* New translations app.json (Chinese Traditional)

* New translations app.json (Belarusian)

* New translations app.json (Italian)

* New translations app.json (Thai)

* New translations app.json (Thai)

* New translations app.json (Vietnamese)

* Update strings

---------

Co-authored-by: Nathan Mattes <hallo@bullenscheisse.de>
2024-06-19 22:55:05 +02:00
Marcus Kida 3b7d50d555
Bugfixes for "Load More" / Home Timeline Gap Loading (IOS-275) (#1316)
Fixes #1288 and incorrectly ordered posts when loading more.
2024-06-19 16:30:42 +02:00
Marcus Kida 63fc0488e4
Simplify code (IOS-275) 2024-06-19 13:57:56 +02:00
Marcus Kida a05fc48683
Update wording in code comment (IOS-275) 2024-06-19 13:56:41 +02:00
Marcus Kida d61b10a8e6
Fix potential excessive Load More at end of timeline (IOS-275) 2024-06-19 13:54:58 +02:00
Marcus Kida a23b5089d0
Fix duplicate LoC 2024-06-14 11:11:22 +02:00
Marcus Kida c131d76a47
Update Mastodon/Scene/HomeTimeline/HomeTimelineViewModel.swift
Co-authored-by: Nathan Mattes <hallo@bullenscheisse.de>
2024-06-14 11:08:38 +02:00
Nathan Mattes c3db917025
"About profile"-Fixes (#1290) (#1313)
When fixing the broken avatar-upload, we (well, I) broke the fields in
the "About"-section. This PR fixes two things:

1. It fixes #1290 (Now you can edit fields again)
2. Field weren't updated when using Pull to Refresh on the
Profile-screen.
2024-06-14 08:40:03 +02:00
Marcus Kida 8c751d45a9
Remove limit again (IOS-275) 2024-06-13 11:48:19 +02:00
Marcus Kida 11376c2d09
Improve home timeline item loading (IOS-275) 2024-06-13 10:25:08 +02:00
Marcus Kida 326e098aec
Remove limit when fetching more items (IOS-275) 2024-06-12 16:33:21 +02:00
Marcus Kida 8504284bc9
Fix Load More Gap eventually shown due to false positive (IOS-275) 2024-06-12 16:33:21 +02:00
Marcus Kida df8275e247
Fix Load More shown if first old record entity is null (IOS-275) 2024-06-12 16:33:21 +02:00
Marcus Kida dc07c65b9e
IOS-168: Implement Privacy & Safety Settings (#1306)
| Rationale | Demo |
|---|---|
| Implements a settings screen to control your Privacy & Safety settings
from within the App. | ![RocketSim_Recording_iPhone_15_6 1_2024-05-30_11
58
40](https://github.com/mastodon/mastodon-ios/assets/126418/90037659-f0f7-42c5-91ce-e0135f54c91a)
|
2024-06-12 16:32:43 +02:00
Nathan Mattes b89671c78b Update "about profile"-fields (#1290) 2024-06-12 14:49:23 +02:00
Marcus Kida d14a9407ba
Remove unused code (IOS-168) 2024-06-12 13:32:06 +02:00
Marcus Kida 3b72d37758
Apply PR feedback (IOS-168) 2024-06-12 11:25:46 +02:00
Marcus Kida 43227416b8
Fix Account + Source API usage (IOS-168) 2024-06-12 10:55:39 +02:00
Marcus Kida 6701586287
Reformat code (IOS-168) 2024-06-12 10:55:38 +02:00
Marcus Kida 4b89d6eef0
Rename interaction blocking property (IOS-168) 2024-06-12 10:55:38 +02:00
Marcus Kida d77e8d1eac
Implement loading and saving of privacy & safety preferences (IOS-168) 2024-06-12 10:55:38 +02:00
Marcus Kida f31fd74abe
Add `indexable` to update credentials (IOS-168) 2024-06-12 10:55:38 +02:00
Marcus Kida 79d8d8d508
Implement loading spinner when fetching current settings (IOS-168) 2024-06-12 10:55:38 +02:00
Marcus Kida 5b50e24b80
Implement PrivacySafetySettings preset logic (IOS-168) 2024-06-12 10:55:38 +02:00
Marcus Kida cea13cb3de
Begin implementing PrivacySafetyViewController (IOS-168) 2024-06-12 10:55:38 +02:00
Marcus Kida 84f445426a
Add Privacy & Safety Settings Item (IOS-168) 2024-06-12 10:55:37 +02:00
Nathan Mattes e5658cff63 Make fields editable again (#1290) 2024-06-11 17:47:57 +02:00
Nathan Mattes 3737005d88
Make the CI clean and build (instead of just clean) (IOS-280) (#1311) 2024-06-11 12:17:07 +02:00
Nathan Mattes ac1a7420c4
Add destination 2024-06-11 11:57:20 +02:00
Nathan Mattes 83e2000090
[WIP] Clean, then build (IOS-280) 2024-06-11 11:44:56 +02:00
Nathan Mattes cf3b74717c [WIP] Make Github Action build again (IOS-280) 2024-06-11 11:32:51 +02:00
Nathan Mattes f120c660c3
Remove card (IOS-178) (#1309)
While I was at it, I also removed the Card-persistence
2024-06-11 09:53:27 +02:00
Nathan Mattes 025b4342ee
Use an existing account for the me-Screen (IOS-255) (#1310)
Technically this is a workaround: Replacing the `ProfileViewModel!` with
a real optional (or no optional at all) most probably requires a rewrite
of the entire Profile-screen, including header etc. as the
`ProfileViewModel!` is used basically everywhere.

So the workaround is to use the existing account (at least until it is
updated and replaced) to not have the app crash when the user taps on
their profile too quickly (without an account, which this PR fixes). For
some reason, we persist the users very own profile, but never used it.
2024-06-10 11:01:21 +02:00
Nathan Mattes fc9366c0ce
Remove Poll Option and Poll Persistence (IOS-182) (#1308)
Removes persistence for Poll Option (and also Polls, while I was at it)
2024-06-10 10:34:44 +02:00
Nathan Mattes 46e4584f05 Use an existing account for the me-Screen (IOS-255)
Technically this is a workaround: Replacing the ProfileViewModel! with a real optional affects the entire Profile-screen including the header etc. as this ProfileViewModel is used everywhere
2024-06-09 14:03:50 +02:00
Nathan Mattes 9691e905c0 Remove card-persistence 2024-06-07 10:05:04 +02:00
Nathan Mattes e668b21da5 Remove PollLegacy from Core Data (IOS-182) 2024-06-07 09:51:55 +02:00
Nathan Mattes d12624a0f5 Remove Poll-persistence(IOS-181) 2024-06-07 09:46:11 +02:00
Nathan Mattes b5f4bd4eeb Remove enum (IOS-182) 2024-06-06 16:47:19 +02:00
Nathan Mattes 5264f13ef8 Remove poll-option-related persistence (IOS-182) 2024-06-06 15:43:27 +02:00
Nathan Mattes d954d72c7c Remove polloption-persistence (IOS-182) 2024-06-06 15:32:56 +02:00
Nathan Mattes ef8ceb56c9
Improve "Load more"-times when scrolling to the end (IOS-272) (#1303)
This is basically a refactoring of the `ListBatchFetchViewModel`, it
does two things:

1. Remove the "Reload this every 30 seconds", which caused a delay on
several screens
2. When users reach the bottom of the ScrollView, new content is
requested
3. DIY: Use this mechanism everywhere

The previous mechanism worked like this: Check every second, if the user
reached the end of the scrollView. If so: `shouldFetch`. As we increased
"every second" to "30 seconds", this caused a significant delay on all
screens which used this mechanism.

Others brought their own solution to fetch new content when users
reached THE END, like the HomeTimeline or the FollowerList. From now
one, there's a suggested way to deal with this "We must do something
once the user reachs the end!!!!"-issue.

P.S.: I'm not so happy with the `Self.`-approach and if someone has a
better name for `scrollViewDidScrollToEnd`, I'd be also thankful for a
hint. Maybe it's me, but I would have loved to add a new method to the
`UIScrollViewDelegate`-protocol (without Protocol-inheritance). Maybe
someone knows a way to do this? For now we'll leave it like this as the 
alternatives would add more complexity.
2024-05-29 08:35:56 +02:00
Nathan Mattes e2d7cd6cf9 Fix places I forgot to fix 🙈 (IOS-272) 2024-05-28 22:44:33 +02:00
Nathan Mattes cf1d6bbe4d
Update avatar in Sidebar/TabBar on change (IOS-277) (#1304)
When the user uploaded new account information, it got saved, but nobody
informed `MainTabBarController` (on iPhone) (and others), that the
account got updated. The `.userFetched`-notification was never sent. But
to use the updated picture, this notification is required. This PR fixes
that. It also adds the Update-ability to the Sidebar (which is used on
iPad)

In other words: When the user changes their image, the TabBar (or the
Sidebar, on iPad) shows the new image now.
2024-05-28 22:01:22 +02:00