shannon
a1774ced00
Add Role and Permissions to Account entity
2025-04-02 17:00:02 -04:00
shannon
36cde7dc50
Tap on admin report navigates to full report
...
This will only work if you are logged in to the admin account on the system browser.
2025-04-02 13:59:20 -04:00
shannon
030c3e1260
Distinguish between different types of admin reports in the notifications screen
2025-04-02 13:24:58 -04:00
shannon
d73e318c39
Improve Voice Over experience on Followers and Following lists
...
Fixes IOS-394
2025-04-02 11:28:22 -04:00
shannon
c809d18d97
Remove Arkana from scripts
...
Contributes to IOS-393
2025.02-7135
2025-04-02 08:41:34 -04:00
shannon
a7bdbd710a
Remove Arkana from the gemfile
...
Contributes to IOS-393
2025-04-02 08:28:23 -04:00
shannon
7734f59072
Multiple states can now wrap a valid deviceToken
...
Contributes to IOS-384
2025.02-7133
2025-04-01 15:42:28 -04:00
shannon
9adf10a05e
Use account name as title of notifications screen
...
To make it clear that these settings are for the current account only, if there are multiple accounts signed in.
Contributes to IOS-384
2025-04-01 15:41:20 -04:00
shannon
a53b454a92
Check if notification permission has been granted when returning from the background.
...
This whole area needs work. This solution updates the subscriptions more often than necessary.
Contributes to IOS-384
2025-04-01 15:17:52 -04:00
shannon
428fa2b19d
Additional error handling for push notification subscriptions
...
Contributes to IOS-384
2025-04-01 10:51:44 -04:00
shannon
d7d565879f
Remove push notification subscription management responsibility from SettingService
...
The SettingService used to be created very soon after launch, so it would catch the new registration token. It is now only created when needed by the Settings view controller, which makes it a bad place to keep the listener responsible for updating the current subscriptions with the new device token.
Also, update all subscriptions on launch, rather than each account’s subscriptions only when they become the active account.
Contributes to IOS-384
2025-04-01 09:16:28 -04:00
shannon
bf2a1ce790
Remove Arkana
...
Was only used for setting push notification endpoints.
2025-03-31 10:39:51 -04:00
shannon
457f494a28
Hardcode push notification endpoint
...
Contributes to IOS-384
2025.02-7127
2025-03-28 16:30:23 -04:00
shannon
a9b7e5a341
Prepare to handle grouped adminSignUp notifications
2025-03-28 12:02:17 -04:00
shannon
3b8f1f6fae
Warning fix
2025.02-7125
2025-03-26 19:00:58 -04:00
shannon
95afad2050
Localization updates
2025-03-26 18:59:22 -04:00
Eugen Rochko
ab7a82cc74
New Crowdin updates ( #1423 )
...
* New translations app.json (Lithuanian)
* New translations ios-infoplist.json (Lithuanian)
* New translations intents.strings (Lithuanian)
* New translations intents.stringsdict (Lithuanian)
* New translations localizable.stringsdict (Lithuanian)
* New translations app.json (Lithuanian)
* New translations localizable.stringsdict (Lithuanian)
* New translations localizable.stringsdict (Lithuanian)
* New translations localizable.stringsdict (Lithuanian)
* New translations localizable.stringsdict (Lithuanian)
* New translations app.json (Lithuanian)
* New translations ios-infoplist.json (Lithuanian)
* New translations intents.strings (Lithuanian)
* New translations intents.stringsdict (Lithuanian)
* New translations localizable.stringsdict (Lithuanian)
* New translations app.json (Lithuanian)
* New translations app.json (Lithuanian)
* New translations app.json (Chinese Simplified)
* New translations app.json (Chinese Simplified)
* New translations localizable.stringsdict (Chinese Simplified)
* New translations app.json (Chinese Simplified)
* New translations app.json (Chinese Simplified)
* New translations app.json (Chinese Simplified)
* New translations app.json (German)
* New translations app.json (Lithuanian)
* New translations app.json (Lithuanian)
* New translations ios-infoplist.json (Chinese Simplified)
* New translations intents.strings (Chinese Simplified)
* New translations app.json (Chinese Simplified)
* New translations app.json (Portuguese, Brazilian)
* New translations intents.strings (Chinese Simplified)
* New translations intents.stringsdict (Chinese Simplified)
* New translations localizable.stringsdict (Chinese Simplified)
* New translations app.json (Icelandic)
* New translations app.json (Icelandic)
* New translations localizable.stringsdict (Icelandic)
* New translations app.json (Vietnamese)
* New translations app.json (Vietnamese)
* New translations localizable.stringsdict (Vietnamese)
* New translations app.json (Thai)
* New translations app.json (Icelandic)
* New translations app.json (Spanish)
* New translations app.json (Czech)
* New translations app.json (German)
* New translations app.json (Portuguese)
* New translations app.json (Chinese Simplified)
* New translations app.json (Vietnamese)
* New translations app.json (Portuguese, Brazilian)
* New translations app.json (Lithuanian)
* New translations app.json (Thai)
* New translations app.json (Romanian)
* New translations app.json (French)
* New translations app.json (Arabic)
* New translations app.json (Belarusian)
* New translations app.json (Catalan)
* New translations app.json (Danish)
* 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 (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 Traditional)
* New translations app.json (English)
* New translations app.json (Galician)
* New translations app.json (Indonesian)
* New translations app.json (Spanish, Argentina)
* 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 (Vietnamese)
* New translations app.json (Icelandic)
* New translations app.json (German)
* New translations localizable.stringsdict (Icelandic)
* New translations app.json (Italian)
* New translations app.json (Chinese Traditional)
* New translations app.json (Italian)
2025.02-7123
2025-03-26 18:53:24 -04:00
shannon
11e1d97c1f
Bump version number to 2025.02
2025.02-7122
2025-03-26 16:48:32 -04:00
shannon
47358a746e
Add handling for several missing notification types
2025-03-26 16:47:54 -04:00
shannon
491cbd09c3
Add reason_required handling to new account registrations
2025-03-26 10:34:01 -04:00
shannon
d02fef490f
Correct handling of approval_required on V2 instances
2025-03-26 09:48:27 -04:00
shannon
d911c5a076
Remove self from count of other voters
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
2025-03-26 09:48:27 -04:00
shannon
597d704d4e
Add age verification to new account registration on servers that require it
...
Also improve the form fill experience by only marking a field invalid after it has been edited at least once, or was valid and then became invalid. (Or, for date of birth, is the last thing standing in the way of everything being valid, since the birth date is pre-filled with a likely-invalid value.)
Contributes to IOS-378
2025-03-26 09:48:19 -04:00
shannon
9f1291ca36
Localized strings for age verification
...
Contributes to IOS-378
2025-03-26 08:19:51 -04:00
shannon
f7b72faf56
Add the new min_age key to V2 Instance
2025-03-26 08:18:16 -04:00
shannon
a0c6b2c1ea
Prevent race condition caused by loading newer notification groups at the same time as older
...
Possible when very few notifications groups exist for this user, so the bottom loader is visible as soon as the notifications tab is opened.
2025.01
2025.01-7114
2025-03-24 13:52:11 -04:00
shannon
7502daecd0
Honor requested minID when fetching notifications
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
2025-03-24 11:15:38 -04:00
shannon
c746507cc4
Remove unreachable error handler
2025-03-24 10:48:14 -04:00
shannon
e7ad48c9c0
Correctness improvement for merging cached and freshly fetched notification groups
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
2025-03-24 10:47:57 -04:00
shannon
fb4724371b
Updated localizations
2025.01-7110
2025-03-13 14:56:54 -04:00
Eugen Rochko
ac8616d0f3
New Crowdin updates ( #1422 )
...
* New translations app.json (Italian)
* New translations app.json (Italian)
* New translations app.json (Czech)
* New translations localizable.stringsdict (Czech)
* New translations app.json (Czech)
* New translations app.json (Portuguese)
* New translations localizable.stringsdict (Portuguese)
* New translations app.json (Portuguese)
* New translations app.json (Spanish)
* New translations localizable.stringsdict (Spanish)
2025.01-7109
2025-03-13 14:20:16 -04:00
shannon
eb2b874ab5
Show new avatar image as soon as it has been chosen.
...
Also, lighten the editing overlay effect on the header and avatar images.
2025.01-7108
2025-03-13 13:05:55 -04:00
shannon
48be2e2f8f
Add “see more” accessibility option to trigger refresh of notifications feed
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
Contributes to IOS-380
2025-03-13 11:23:39 -04:00
shannon
716cf2427f
VoiceOver improvements for filtered notifications banner
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
Contributes to IOS-380
2025-03-13 11:22:49 -04:00
shannon
00bcae4bd6
Attempt to improve VoiceOver for accepted/rejected follower requests
...
Unfortunately needs further work (VoiceOver does not announce this label as part of the row).
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
Contributes to IOS-380
2025-03-13 11:22:41 -04:00
shannon
b6b486533b
Improved VoiceOver experience for Grouped Notifications screen
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
Contributes to IOS-380
2025-03-13 10:59:48 -04:00
shannon
7b348c0d5b
Update strings
2025.01-7103
2025-03-11 14:06:07 -04:00
shannon
ef1081e688
Correct Localizable files in StringsConvertor
2025-03-11 13:55:22 -04:00
shannon
7ee72b2dd2
Revert "Remove obsolete localization file"
...
It may not have been obsolete.
This reverts commit dd0cba8781ac77d84bba32bf6f9c61a2bd342c4f.
2025-03-11 13:43:47 -04:00
Eugen Rochko
f11d37c24a
New Crowdin updates ( #1421 )
...
* New translations app.json (Korean)
* New translations intents.strings (Portuguese)
* New translations app.json (Kabyle)
* New translations app.json (Icelandic)
* New translations app.json (French)
* New translations app.json (Arabic)
* New translations app.json (Belarusian)
* New translations app.json (Korean)
* New translations app.json (Romanian)
* New translations app.json (Spanish)
* 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 (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 (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 (Icelandic)
* New translations app.json (French)
* New translations app.json (Arabic)
* New translations app.json (Belarusian)
* New translations app.json (Korean)
* New translations app.json (Romanian)
* New translations app.json (Spanish)
* 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 (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 (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 localizable.stringsdict (Romanian)
* New translations localizable.stringsdict (French)
* New translations localizable.stringsdict (Spanish)
* New translations localizable.stringsdict (Arabic)
* New translations localizable.stringsdict (Belarusian)
* New translations localizable.stringsdict (Catalan)
* New translations localizable.stringsdict (Czech)
* New translations localizable.stringsdict (Danish)
* New translations localizable.stringsdict (German)
* New translations localizable.stringsdict (Greek)
* New translations localizable.stringsdict (Basque)
* New translations localizable.stringsdict (Finnish)
* New translations localizable.stringsdict (Hebrew)
* New translations localizable.stringsdict (Hungarian)
* New translations localizable.stringsdict (Armenian)
* New translations localizable.stringsdict (Italian)
* New translations localizable.stringsdict (Japanese)
* New translations localizable.stringsdict (Korean)
* New translations localizable.stringsdict (Dutch)
* New translations localizable.stringsdict (Polish)
* New translations localizable.stringsdict (Portuguese)
* New translations localizable.stringsdict (Russian)
* New translations localizable.stringsdict (Slovenian)
* New translations localizable.stringsdict (Swedish)
* New translations localizable.stringsdict (Turkish)
* New translations localizable.stringsdict (Ukrainian)
* New translations localizable.stringsdict (Chinese Simplified)
* New translations localizable.stringsdict (Chinese Traditional)
* New translations localizable.stringsdict (English)
* New translations localizable.stringsdict (Vietnamese)
* New translations localizable.stringsdict (Galician)
* New translations localizable.stringsdict (Icelandic)
* New translations localizable.stringsdict (Portuguese, Brazilian)
* New translations localizable.stringsdict (Indonesian)
* New translations localizable.stringsdict (Spanish, Argentina)
* New translations localizable.stringsdict (Thai)
* New translations localizable.stringsdict (Latvian)
* New translations localizable.stringsdict (Hindi)
* New translations localizable.stringsdict (English, United States)
* New translations localizable.stringsdict (Burmese)
* New translations localizable.stringsdict (Welsh)
* New translations localizable.stringsdict (Sinhala)
* New translations localizable.stringsdict (Scottish Gaelic)
* New translations localizable.stringsdict (Aragonese)
* New translations localizable.stringsdict (Kurmanji (Kurdish))
* New translations localizable.stringsdict (Sorani (Kurdish))
* New translations localizable.stringsdict (Kabyle)
* New translations app.json (French)
* New translations app.json (French)
* New translations localizable.stringsdict (Romanian)
* New translations localizable.stringsdict (French)
* New translations localizable.stringsdict (Spanish)
* New translations localizable.stringsdict (Arabic)
* New translations localizable.stringsdict (Belarusian)
* New translations localizable.stringsdict (Catalan)
* New translations localizable.stringsdict (Czech)
* New translations localizable.stringsdict (Danish)
* New translations localizable.stringsdict (German)
* New translations localizable.stringsdict (Greek)
* New translations localizable.stringsdict (Basque)
* New translations localizable.stringsdict (Finnish)
* New translations localizable.stringsdict (Hebrew)
* New translations localizable.stringsdict (Hungarian)
* New translations localizable.stringsdict (Armenian)
* New translations localizable.stringsdict (Italian)
* New translations localizable.stringsdict (Japanese)
* New translations localizable.stringsdict (Korean)
* New translations localizable.stringsdict (Dutch)
* New translations localizable.stringsdict (Polish)
* New translations localizable.stringsdict (Portuguese)
* New translations localizable.stringsdict (Russian)
* New translations localizable.stringsdict (Slovenian)
* New translations localizable.stringsdict (Swedish)
* New translations localizable.stringsdict (Turkish)
* New translations localizable.stringsdict (Ukrainian)
* New translations localizable.stringsdict (Chinese Simplified)
* New translations localizable.stringsdict (Chinese Traditional)
* New translations localizable.stringsdict (English)
* New translations localizable.stringsdict (Vietnamese)
* New translations localizable.stringsdict (Galician)
* New translations localizable.stringsdict (Icelandic)
* New translations localizable.stringsdict (Portuguese, Brazilian)
* New translations localizable.stringsdict (Indonesian)
* New translations localizable.stringsdict (Spanish, Argentina)
* New translations localizable.stringsdict (Thai)
* New translations localizable.stringsdict (Latvian)
* New translations localizable.stringsdict (Hindi)
* New translations localizable.stringsdict (English, United States)
* New translations localizable.stringsdict (Burmese)
* New translations localizable.stringsdict (Welsh)
* New translations localizable.stringsdict (Sinhala)
* New translations localizable.stringsdict (Scottish Gaelic)
* New translations localizable.stringsdict (Aragonese)
* New translations localizable.stringsdict (Kurmanji (Kurdish))
* New translations localizable.stringsdict (Sorani (Kurdish))
* New translations localizable.stringsdict (Kabyle)
* New translations app.json (Dutch)
* New translations app.json (Dutch)
* New translations app.json (Chinese Traditional)
* New translations localizable.stringsdict (French)
* New translations localizable.stringsdict (Dutch)
* New translations localizable.stringsdict (Chinese Traditional)
* New translations app.json (Spanish, Argentina)
* New translations localizable.stringsdict (Spanish, Argentina)
* New translations app.json (Italian)
* New translations localizable.stringsdict (Italian)
* New translations localizable.stringsdict (Italian)
2025.01-7100
2025-03-11 11:20:24 -04:00
shannon
6783182e21
Regularly update the time-elapsed stamps in the notification views
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
2025.01-7099
2025-03-11 11:12:17 -04:00
shannon
77f81e5849
Do not show seconds in notification timestamp, only “now” if < 1 minute
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
2025-03-11 11:12:17 -04:00
shannon
4721dd102a
Show notification stamp in units no larger than days
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
2025-03-11 11:12:17 -04:00
shannon
357282ee53
Remove beta setting for grouped notifications
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
2025-03-11 11:12:17 -04:00
shannon
dc6e0cfe2f
Remove unwanted space between notification header and longer summary posts
...
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
2025-03-11 11:12:09 -04:00
shannon
f7b992f996
Remove baseline alignment
2025.01-7094
2025-03-10 14:39:01 -04:00
shannon
2e458c8f00
Remove unused localized keys
2025-03-10 14:29:19 -04:00
shannon
ac5c088005
Correct plurals in base localization
2025-03-10 14:28:32 -04:00
shannon
62c1f05db4
Remove redundant accessibility label.
2025.01-7091
2025-03-10 13:37:12 -04:00
shannon
dd0cba8781
Remove obsolete localization file
2025-03-10 13:37:12 -04:00