Commit Graph

6498 Commits

Author SHA1 Message Date
Nathan Mattes 3adae7b3c3 Add optional author-account (IOS-284) 2024-06-26 18:47:29 +02:00
Marcus Kida 1a8fbe7692
IOS-271: Fix translate functionality leads to empty status content (#1320)
This PR solves the following things:

1. Fixes the post body being set to an empty string in case translation
fails
2. Fetches `/api/v1/instance/translation_languages` (only if the
`/api/v2/instance` is available) and checks if the transaction between
the desired languages is possible
3. Refactors `Instance` usage to now use
`MastodonAuthentication.InstanceConfiguration` if feasible with low
effort
4. On the home timeline, the reblog status (the wrapper) is taken into
account for translation which leads to the translation failing
2024-06-26 15:48:18 +02:00
Marcus Kida 7342b92edd
Improve code style - part 2 (IOS-271) 2024-06-26 14:37:27 +02:00
Marcus Kida 199a6624e8
Improve code style (IOS-271) 2024-06-26 14:36:17 +02:00
Marcus Kida ad8d5e6e69
Fix reblog taken into account when translating status on home timeline (IOS-271) 2024-06-25 11:36:18 +02:00
Marcus Kida 972426fa50
Remove CoreData.Instance Entity Classes (IOS-271) 2024-06-25 11:36:04 +02:00
Marcus Kida 3db058800b
Refactor instance usage and use MastodonAuthentication.InstanceConfig (IOS-271) 2024-06-25 11:04:38 +02:00
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