Compare commits

...

1320 Commits
v3.4-0 ... main

Author SHA1 Message Date
xmflsct 7bcef6fe1d
Fix patch 2024-02-07 00:26:41 +01:00
xmflsct 6f27785a12
Try fixing navigation 2024-02-07 00:22:22 +01:00
xmflsct 5cec5e8084
Clean up 2024-02-06 22:09:36 +01:00
xmflsct 7b63150e73
Squashed commit of the following:
commit 37d93d723606fc3b43ec3e0379e0a87b27afac72
Author: xmflsct <me@xmflsct.com>
Date:   Mon Feb 5 01:14:40 2024 +0100

    Match Android

commit 3a192afc7704fcab7ddd14c5496ad68eac12405c
Author: xmflsct <me@xmflsct.com>
Date:   Mon Feb 5 00:33:38 2024 +0100

    Updates

commit 84617bdadf7fd0ba6474e610a174decc92015b0b
Author: xmflsct <me@xmflsct.com>
Date:   Mon Feb 5 00:24:56 2024 +0100

    Updates

commit 9919e8890e02e7d583046e22e3dbe34af02e3f28
Author: xmflsct <me@xmflsct.com>
Date:   Mon Feb 5 00:19:19 2024 +0100

    Updates

commit fca65a03665f4162696dc50c16098bc28f336f31
Author: xmflsct <me@xmflsct.com>
Date:   Mon Feb 5 00:13:20 2024 +0100

    Updates

commit d208d67a052464939197a15877f67302f262c222
Author: xmflsct <me@xmflsct.com>
Date:   Mon Feb 5 00:09:05 2024 +0100

    Updates

commit 5527ebca78d863515848521571657f1eac628de4
Author: xmflsct <me@xmflsct.com>
Date:   Mon Feb 5 00:03:19 2024 +0100

    Bump core
2024-02-05 01:14:54 +01:00
xmflsct 997a267b89
Update Gemfile.lock 2024-02-04 12:51:44 +01:00
xmflsct 41c09d4ae9
Bump building chain 2024-02-04 12:39:10 +01:00
xmflsct a70dce9780
New Crowdin updates (#762)
* New translations tabs.json (Swedish)

* New translations instance.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (Swedish)

* New translations common.json (Russian)

* New translations instance.json (Russian)

* New translations parse.json (Russian)

* New translations relationship.json (Russian)

* New translations timeline.json (Russian)

* New translations timeline.json (Russian)
2023-11-12 17:57:10 +01:00
xmflsct d16178abc9
Bump patch versions 2023-11-12 17:44:52 +01:00
xmflsct fa8d7ed47e
New Crowdin updates (#760)
* New translations tabs.json (Portuguese, Brazilian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)
2023-08-28 00:40:30 +02:00
xmflsct 9f8064ded4
Fix Android crashes using PlatformColor 2023-08-28 00:27:10 +02:00
vitalyster c3aba848a5
Use system separator color in Separator component (#757)
* border color is too distracting and does not look "native". Now we using system separator color to provide "native" experience :-)
2023-08-24 22:21:31 +02:00
xmflsct f64135a6df
Fix #756 2023-08-22 00:03:06 +02:00
xmflsct 1de8a40cda
New Crowdin updates (#752)
* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Dutch)

* New translations tabs.json (Dutch)

* New translations common.json (Portuguese, Brazilian)

* New translations parse.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (Swedish)

* New translations tabs.json (Swedish)

* New translations common.json (Swedish)

* New translations contextMenu.json (Swedish)
2023-08-17 10:07:44 +02:00
xmflsct c5c616e3dc
Fix #754 2023-08-16 23:47:00 +02:00
xmflsct 34043fc1b3
Bumps 2023-07-30 21:45:08 +02:00
xmflsct 5b031b40c0
New Crowdin updates (#751)
* New translations tabs.json (German)

* New translations tabs.json (Chinese Traditional)
2023-07-16 23:10:14 +02:00
xmflsct 7b6c9d5130
Update index.tsx 2023-07-16 23:10:05 +02:00
xmflsct da623dac56
New Crowdin updates (#748)
* New translations tabs.json (Belarusian)

* New translations tabs.json (French)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Czech)

* New translations tabs.json (German)

* New translations tabs.json (Greek)

* New translations tabs.json (Basque)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Dutch)

* New translations tabs.json (Norwegian)

* New translations tabs.json (Polish)

* New translations tabs.json (Russian)

* New translations tabs.json (Swedish)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Basque)

* New translations tabs.json (Norwegian)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (German)

* New translations tabs.json (Dutch)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)
2023-07-14 23:08:10 +02:00
xmflsct 0a99669af6
Update index.tsx 2023-07-14 22:56:08 +02:00
xmflsct cdd80250d1
Fix muting 2023-07-14 21:48:12 +02:00
xmflsct 09bc6c30af
Added a button to fetch latest toot on load 2023-07-13 23:30:26 +02:00
xmflsct 8b3ca21ac9
Fix #749 2023-07-13 22:26:06 +02:00
xmflsct 6e5b06f3a7
Fix #734 2023-07-13 21:55:26 +02:00
xmflsct f7729f33db
Fix Android menu indication 2023-07-12 23:36:44 +02:00
xmflsct f2b275d815
Bumps 2023-07-12 22:34:50 +02:00
xmflsct 0e64350df8
New Crowdin updates (#745)
* New translations tabs.json (Belarusian)

* New translations common.json (Italian)

* New translations instance.json (Italian)

* New translations timeline.json (Italian)
2023-07-11 23:31:30 +02:00
xmflsct 760c8b4c68
Bump packages 2023-07-11 23:21:41 +02:00
xmflsct f1ba7ce377
Test iOS
Known Android build failure
2023-06-22 00:07:17 +02:00
xmflsct 3154540bba
Bump packages 2023-06-21 23:05:40 +02:00
xmflsct 93b3ac1618
Bump JS packages 2023-06-09 23:56:15 +02:00
xmflsct 4b2b701cea
Fix #741 2023-06-09 23:50:36 +02:00
dependabot[bot] 33709f8fa6
Bump fast-xml-parser from 4.2.2 to 4.2.4 (#742)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.2.2 to 4.2.4.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-09 23:18:15 +02:00
xmflsct 1375bc95cd
Fix version check 2023-05-20 22:47:58 +02:00
xmflsct 23a8e5cd19
Bump packages 2023-05-20 22:47:32 +02:00
xmflsct c5eb1591f8
New Crowdin updates (#740)
* New translations relationship.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)
2023-05-17 13:51:22 +02:00
xmflsct 96c219e3f9
Bump zeego 2023-05-17 13:49:16 +02:00
xmflsct a940ed4cf3
Fix visuals and haptics 2023-05-17 13:39:55 +02:00
xmflsct c1e9c738c5
Bump packages 2023-05-16 22:31:41 +02:00
xmflsct 4f9e9e7a14
Show avatar in actioned statement 2023-05-16 22:12:25 +02:00
xmflsct df7eb26057
Update HeaderAndroid.tsx 2023-05-16 22:00:26 +02:00
xmflsct a8243adf51
More permissive logging in 2023-05-16 21:51:03 +02:00
xmflsct 8aeeb1d806
New Crowdin updates (#739)
* New translations timeline.json (Catalan)

* New translations timeline.json (Spanish)

* New translations compose.json (Belarusian)
2023-05-15 22:49:35 +02:00
xmflsct 05958b66f6
Fix #737 2023-05-15 22:30:18 +02:00
xmflsct 141d5916fd
Fix #736 2023-05-15 21:45:00 +02:00
xmflsct ff14f086a7
Try to bump build system 2023-05-15 21:27:23 +02:00
xmflsct 46a30585a7
Bump packages 2023-05-15 21:26:32 +02:00
xmflsct 48e51530b1 Persistant 🪜 setting 2023-04-19 22:34:14 +02:00
xmflsct 63c4ffbabf Bump packages 2023-04-19 22:06:46 +02:00
xmflsct 40274ef28c Add new neodb cards 2023-04-18 22:53:50 +02:00
xmflsct 21200a7758 Delay prepending to make sure it works 2023-04-18 22:29:05 +02:00
xmflsct 5b670f5d13 Fixed why toot page is not interactable 2023-04-18 22:23:39 +02:00
xmflsct 36202028f9
New Crowdin updates (#725)
* New translations timeline.json (Ukrainian)

* New translations timeline.json (Vietnamese)

* New translations tabs.json (Vietnamese)

* New translations timeline.json (Vietnamese)

* New translations tabs.json (Vietnamese)

* New translations common.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)
2023-04-18 00:09:15 +02:00
xmflsct cde5a14cab Bump deps 2023-04-18 00:08:56 +02:00
xmflsct a4152a5bb6 Fix #733 2023-04-17 23:57:23 +02:00
xmflsct 91596a46c4 Fix #732 2023-04-17 23:44:56 +02:00
xmflsct d3f75cfc22 Fix #729 2023-04-17 23:33:40 +02:00
xmflsct 93b53ec158 Add Greek translation 2023-04-17 23:21:00 +02:00
xmflsct 016ea33e26 A bit more tolerant of local search 2023-04-17 23:12:29 +02:00
xmflsct 824730bc40 Reset after failed auto refetch 2023-04-17 23:00:10 +02:00
xmflsct 7a5464e38a Navigate follow push to account page 2023-04-17 22:42:56 +02:00
xmflsct 768a27d37c Also update counts even when no new remote content 2023-04-17 22:32:09 +02:00
xmflsct 6ed54c3f16 Fix spacing between paragraphs 2023-04-17 22:26:59 +02:00
xmflsct 79fc0c814c Added another outdated instance 2023-04-13 22:47:30 +02:00
xmflsct e74a73fbd7 Update counts with remote data 2023-04-12 23:48:39 +02:00
xmflsct 20152790f5 Fix default theming before selecting 2023-04-10 19:15:37 +02:00
xmflsct 0fc68e56d3 Bump up packages 2023-04-10 19:15:26 +02:00
xmflsct 6c1eba0de7
New translations tabs.json (Belarusian) (#724) 2023-03-19 23:36:05 +01:00
xmflsct a1361570a5 Remove context view 2023-03-19 23:35:20 +01:00
xmflsct b308932e74 Fix account page toot not update 2023-03-19 23:26:30 +01:00
xmflsct 521d8f75fc Add simple image viewer pan decay 2023-03-19 23:18:43 +01:00
xmflsct 86e502afdd Refine neodb cards
Added card for games
2023-03-19 22:15:51 +01:00
xmflsct aa469c1174 Block cards that without properly fetched data 2023-03-19 00:15:10 +01:00
xmflsct 0d8fdf5740 Fix #723 2023-03-18 23:18:09 +01:00
xmflsct 0ca2047f89 Fix #717 2023-03-18 23:03:25 +01:00
xmflsct 3238f44867 Fix crash 2023-03-14 23:48:35 +01:00
xmflsct c698ba84e6
New Crowdin updates (#721)
* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Basque)

* New translations tabs.json (Basque)

* New translations contextMenu.json (Basque)

* New translations accountSelection.json (Basque)
2023-03-14 21:54:22 +01:00
xmflsct 288a5f12da Added Polish language 2023-03-14 21:49:14 +01:00
xmflsct 791edcc342 Added Basque language 2023-03-14 21:44:13 +01:00
xmflsct bfe37db9b6 Refine remote logic
When loading remote ancestors, the position might not be kept
2023-03-14 21:28:41 +01:00
xmflsct b5ddebe123 Fix some zoomed image not shown correctly 2023-03-14 21:14:09 +01:00
xmflsct 4977e91b66 Fix #722 2023-03-14 20:56:16 +01:00
xmflsct 5b640879f0 Bump packages 2023-03-14 20:37:41 +01:00
xmflsct a0b3b38d8d Add new types #722 2023-03-14 10:50:22 +01:00
xmflsct f78693eee8 Locale lower case match 2023-03-14 01:39:54 +01:00
xmflsct 4e620f8987 Test #722 2023-03-14 00:40:28 +01:00
xmflsct f8a3b56b11 Remove direct dependency of url-parse 2023-03-13 23:16:41 +01:00
xmflsct 63900c4338 Fix #719 2023-03-12 19:45:09 +01:00
xmflsct 1df73b070a Fix #716 2023-03-12 18:49:06 +01:00
xmflsct 173d4248d8 Fix #717 2023-03-12 18:09:33 +01:00
xmflsct 0db7f0c40a Update based on Expo's template 2023-03-10 21:19:45 +01:00
xmflsct 921d6e1f4b
New translations tabs.json (Belarusian) (#715) 2023-03-10 14:04:24 +01:00
xmflsct 43d2601660 Fix #706
Very strange bug again only on Android of drawing svgs
2023-03-10 14:04:01 +01:00
xmflsct 97fb5b8e6d Bump packages 2023-03-10 14:03:10 +01:00
xmflsct af991fdc56 For #711 2023-03-10 13:45:01 +01:00
xmflsct 6e8cefd7c2 Attempt to fix #711
Why get device token would fail without error message?
2023-03-10 00:04:07 +01:00
xmflsct 5c461c0cd1
New Crowdin updates (#710)
* New translations screens.json (Basque)

* New translations tabs.json (Basque)

* New translations tabs.json (Basque)

* New translations tabs.json (Basque)

* New translations tabs.json (Basque)

* New translations contextMenu.json (Basque)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)
2023-03-08 23:40:47 +01:00
xmflsct 6dee67a4de Added Belarusian 2023-03-08 23:40:28 +01:00
xmflsct abf3d41780 Bump 2023-03-08 21:40:40 +01:00
xmflsct f58b2af631 Bump 2023-03-04 17:37:05 +01:00
xmflsct 0450019cac Fix push token not updated 2023-02-28 20:43:37 +01:00
xmflsct 4ce3ce58ab
New Crowdin updates (#709)
* New translations compose.json (Basque)

* New translations tabs.json (Basque)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Portuguese, Brazilian)

* New translations compose.json (Basque)

* New translations tabs.json (Basque)

* New translations compose.json (Basque)

* New translations screens.json (Basque)

* New translations tabs.json (Basque)

* New translations tabs.json (Dutch)

* New translations tabs.json (Ukrainian)

* New translations instance.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations instance.json (Belarusian)

* New translations timeline.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Norwegian)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Belarusian)
2023-02-27 18:57:10 +01:00
xmflsct c44482aa75 Remove disable auto refetch
Now remote instance page has auto hide heading
2023-02-27 18:56:36 +01:00
xmflsct 120641b95e Improve account page 2023-02-26 21:51:31 +01:00
xmflsct 71e0c88cc2 Fix conversation view append timeline jump 2023-02-26 18:09:51 +01:00
xmflsct 702ecef243 Fetch remote user's toots 2023-02-25 23:42:04 +01:00
xmflsct f505f78193 Update PrivateNotes.tsx 2023-02-25 22:24:23 +01:00
xmflsct 292fb42a22 Fix change remote and refresh 2023-02-25 22:20:44 +01:00
xmflsct 216a736860 Fix account page account issue 2023-02-25 21:57:11 +01:00
xmflsct 8b721e1d2e
New Crowdin updates (#705)
* New translations tabs.json (Chinese Traditional)

* New translations common.json (Belarusian)

* New translations common.json (German)

* New translations common.json (Dutch)

* New translations parse.json (Belarusian)

* New translations relationship.json (Belarusian)

* New translations timeline.json (Belarusian)

* New translations imageViewer.json (Belarusian)

* New translations compose.json (Belarusian)

* New translations screens.json (Belarusian)

* New translations tabs.json (French)

* New translations tabs.json (Spanish)

* New translations tabs.json (Belarusian)

* New translations tabs.json (Catalan)

* New translations tabs.json (Czech)

* New translations tabs.json (German)

* New translations tabs.json (Greek)

* New translations tabs.json (Basque)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Dutch)

* New translations tabs.json (Norwegian)

* New translations tabs.json (Polish)

* New translations tabs.json (Russian)

* New translations tabs.json (Swedish)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations mediaSelector.json (Belarusian)

* New translations contextMenu.json (Belarusian)

* New translations tabs.json (Chinese Simplified)
2023-02-25 17:05:43 +01:00
xmflsct de7e39a332 Update Crowdin configuration file 2023-02-25 16:55:42 +01:00
xmflsct 4269c1d9d1 Refine adding remote instance 2023-02-25 16:52:38 +01:00
xmflsct 35eb7ba765 Stop auto refetch when pressing on nav icon
Fix #708
2023-02-25 16:00:08 +01:00
xmflsct 45c54db617 Fallback to expo beta for blurhash to function 2023-02-25 15:28:01 +01:00
xmflsct 1bff79ed4a Bump 2023-02-25 00:34:37 +01:00
xmflsct ca2e1e07ec Bump Sentry 2023-02-24 14:05:29 +01:00
xmflsct 04a56edcf4 Fix bugs 2023-02-24 13:54:27 +01:00
xmflsct b1a796d3f1 Bump packages 2023-02-24 13:06:20 +01:00
xmflsct 73e4bdb290 Prevent image loading flashing in conversation 2023-02-17 22:19:04 +01:00
xmflsct d2eb7156a4 Try faster append toots 2023-02-17 18:58:43 +01:00
xmflsct 9b0f07fbf1 Some clean up 2023-02-17 14:22:54 +01:00
xmflsct 542dfe4723 Try using default windowSize 2023-02-17 14:04:30 +01:00
xmflsct 3b9369b509 Fix Norwegian fallbacks 2023-02-17 13:53:16 +01:00
xmflsct 8b8a540105 Added Norwegian
Would it be confused between `nb` and `nn`?
2023-02-16 23:44:28 +01:00
xmflsct 001267b9c7 Remove sentry instrucmentation 2023-02-16 23:36:01 +01:00
xmflsct 718870e3e9 Load less per page 2023-02-16 20:42:16 +01:00
xmflsct 86e7edb963 Bump 2023-02-15 19:31:26 +01:00
xmflsct ad04eff7ce Try out using margin instead of gap 2023-02-14 23:18:23 +01:00
xmflsct 3b4b6d2f67 Fix iOS building 2023-02-14 23:15:01 +01:00
xmflsct c0798a2e0c Fix Android building crash
https://github.com/software-mansion/react-native-reanimated/issues/3615#issuecomment-1260485861
2023-02-14 23:12:26 +01:00
xmflsct 29d5a1508d Bump packages 2023-02-14 23:04:28 +01:00
xmflsct ea54f91f29 Update Video.tsx 2023-02-13 22:02:48 +01:00
xmflsct 6a8663f9ed Update Toot.tsx 2023-02-13 21:43:02 +01:00
xmflsct 71e3bce422 Bump reanimated 2023-02-13 21:38:02 +01:00
xmflsct 781752ee91
New Crowdin updates (#703)
* New translations tabs.json (Korean)

* New translations common.json (Belarusian)

* New translations instance.json (Belarusian)

* New translations parse.json (Belarusian)

* New translations relationship.json (Belarusian)

* New translations timeline.json (Belarusian)

* New translations imageViewer.json (Belarusian)

* New translations announcements.json (Belarusian)

* New translations compose.json (Belarusian)

* New translations screens.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations mediaSelector.json (Belarusian)

* New translations emojis.json (Belarusian)

* New translations contextMenu.json (Belarusian)

* New translations accountSelection.json (Belarusian)

* New translations instance.json (Belarusian)

* New translations screens.json (Belarusian)

* New translations mediaSelector.json (Belarusian)

* New translations emojis.json (Belarusian)

* New translations parse.json (Belarusian)

* New translations relationship.json (Belarusian)

* New translations timeline.json (Belarusian)

* New translations announcements.json (Belarusian)

* New translations compose.json (Belarusian)

* New translations mediaSelector.json (Belarusian)

* New translations accountSelection.json (Belarusian)

* New translations timeline.json (Catalan)

* New translations tabs.json (Catalan)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (Catalan)

* New translations common.json (Czech)

* New translations common.json (German)

* New translations common.json (Greek)

* New translations common.json (Basque)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Korean)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Swedish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations instance.json (French)

* New translations instance.json (Spanish)

* New translations instance.json (Catalan)

* New translations instance.json (Czech)

* New translations instance.json (German)

* New translations instance.json (Greek)

* New translations instance.json (Basque)

* New translations instance.json (Italian)

* New translations instance.json (Japanese)

* New translations instance.json (Korean)

* New translations instance.json (Dutch)

* New translations instance.json (Polish)

* New translations instance.json (Russian)

* New translations instance.json (Swedish)

* New translations instance.json (Ukrainian)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Chinese Traditional)

* New translations instance.json (Vietnamese)

* New translations instance.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Czech)

* New translations tabs.json (German)

* New translations tabs.json (Greek)

* New translations tabs.json (Basque)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Dutch)

* New translations tabs.json (Polish)

* New translations tabs.json (Russian)

* New translations tabs.json (Swedish)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations common.json (Norwegian)

* New translations instance.json (Norwegian)

* New translations tabs.json (Norwegian)

* New translations common.json (Belarusian)

* New translations instance.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations common.json (Chinese Simplified)

* New translations instance.json (French)

* New translations instance.json (Spanish)

* New translations instance.json (Catalan)

* New translations instance.json (German)

* New translations instance.json (Greek)

* New translations instance.json (Japanese)

* New translations instance.json (Korean)

* New translations instance.json (Dutch)

* New translations instance.json (Polish)

* New translations instance.json (Swedish)

* New translations instance.json (Ukrainian)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Chinese Traditional)

* New translations instance.json (Vietnamese)

* New translations instance.json (Portuguese, Brazilian)

* New translations tabs.json (Chinese Simplified)

* New translations instance.json (Norwegian)

* New translations common.json (Basque)

* New translations common.json (Chinese Traditional)

* New translations instance.json (Basque)

* New translations tabs.json (French)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Czech)

* New translations tabs.json (German)

* New translations tabs.json (Greek)

* New translations tabs.json (Basque)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Dutch)

* New translations tabs.json (Polish)

* New translations tabs.json (Russian)

* New translations tabs.json (Swedish)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations common.json (Norwegian)

* New translations tabs.json (Norwegian)

* New translations common.json (Belarusian)

* New translations instance.json (Belarusian)

* New translations tabs.json (Belarusian)

* New translations parse.json (Basque)

* New translations timeline.json (Basque)

* New translations imageViewer.json (Basque)

* New translations announcements.json (Basque)

* New translations compose.json (Basque)

* New translations common.json (Spanish)

* New translations common.json (Catalan)

* New translations common.json (Ukrainian)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Norwegian)

* New translations tabs.json (Chinese Simplified)
2023-02-12 23:08:29 +01:00
xmflsct a78fe5ffe8 Added attachment border radius 2023-02-12 23:08:15 +01:00
xmflsct e37a95408c Fix #608 2023-02-12 19:47:28 +01:00
xmflsct d3cf0edbc9 Align discard confirmation 2023-02-12 18:47:03 +01:00
xmflsct 79a92b5df7 Fix #667 2023-02-12 18:38:06 +01:00
xmflsct 4a340fca8e Fix remote toot not interactable 2023-02-12 17:08:44 +01:00
xmflsct 398f34d95d Narrower attachments
For #704
2023-02-12 15:50:55 +01:00
xmflsct 3eec9d1af0 Try to fix App Store warning 2023-02-12 15:00:59 +01:00
xmflsct 127978da79 Fix #612 2023-02-12 14:50:31 +01:00
xmflsct 441090ab28 Improve audio player 2023-02-11 23:46:12 +01:00
xmflsct 242c75079a Use the new gap option 2023-02-11 23:37:17 +01:00
xmflsct b679c0760f Fix ts warnings 2023-02-11 22:04:32 +01:00
xmflsct fcc53672fa Build passed 2023-02-11 19:15:34 +01:00
xmflsct 620dcfccdb Fix #702 2023-02-11 18:12:50 +01:00
xmflsct 2de5a251ce Bump packages 2023-02-11 18:04:03 +01:00
xmflsct 2097dceda7
New Crowdin updates (#694)
* New translations timeline.json (Spanish)

* New translations timeline.json (Catalan)

* New translations timeline.json (Basque)

* New translations timeline.json (Ukrainian)

* New translations common.json (Norwegian)

* New translations instance.json (Norwegian)

* New translations parse.json (Norwegian)

* New translations relationship.json (Norwegian)

* New translations timeline.json (Norwegian)

* New translations imageViewer.json (Norwegian)

* New translations announcements.json (Norwegian)

* New translations compose.json (Norwegian)

* New translations screens.json (Norwegian)

* New translations tabs.json (Norwegian)

* New translations mediaSelector.json (Norwegian)

* New translations emojis.json (Norwegian)

* New translations contextMenu.json (Norwegian)

* New translations accountSelection.json (Norwegian)

* New translations common.json (Norwegian)

* New translations common.json (Norwegian)

* New translations instance.json (Norwegian)

* New translations parse.json (Norwegian)

* New translations relationship.json (Norwegian)

* New translations timeline.json (Norwegian)

* New translations imageViewer.json (Norwegian)

* New translations announcements.json (Norwegian)

* New translations compose.json (Norwegian)

* New translations screens.json (Norwegian)

* New translations tabs.json (Norwegian)

* New translations parse.json (Norwegian)

* New translations timeline.json (Norwegian)

* New translations compose.json (Norwegian)

* New translations screens.json (Norwegian)

* New translations tabs.json (Norwegian)

* New translations mediaSelector.json (Norwegian)

* New translations emojis.json (Norwegian)

* New translations contextMenu.json (Norwegian)

* New translations accountSelection.json (Norwegian)

* New translations timeline.json (Korean)

* New translations compose.json (Korean)

* New translations tabs.json (Korean)

* New translations contextMenu.json (Korean)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations timeline.json (Japanese)

* New translations tabs.json (Japanese)

* New translations timeline.json (German)
2023-02-09 14:36:46 +01:00
xmflsct eecd871d65 Fix avatar not updated 2023-02-09 14:19:50 +01:00
xmflsct 4864f6cd5c Fix #701 2023-02-09 14:11:54 +01:00
xmflsct 0185335138 Fix image viewer placeholder 2023-02-08 21:41:16 +01:00
xmflsct 48481a4cd5 Improve auto fetch 2023-02-08 19:22:20 +01:00
xmflsct 724cd76647 Bump deps 2023-02-08 01:33:12 +01:00
xmflsct 11ac2bd51d Update yarn.lock 2023-02-08 01:30:35 +01:00
xmflsct d1ed8a0d2a Test #700 2023-02-08 01:10:59 +01:00
dependabot[bot] 9259ee2995
Bump http-cache-semantics from 4.1.0 to 4.1.1 (#696)
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 23:42:51 +01:00
xmflsct c1ebde8fe9 Fix #699 2023-02-07 23:38:34 +01:00
xmflsct 8775a0cb25 Fix #697 2023-02-07 22:19:39 +01:00
xmflsct 0b3d206190 Fix #698 2023-02-07 21:41:06 +01:00
xmflsct fd114ed0f0 Check for Wildebeest's account ID format 2023-02-07 15:06:04 +01:00
xmflsct f98b8946dc Refine marker 2023-02-07 13:56:50 +01:00
xmflsct be2c223142 Mark id on load
With the introduction of throttle, it is crucial to log on load otherwise there won't be much match after that
2023-02-06 19:07:22 +01:00
xmflsct 5d1459eba6 Fix some toots not interactable 2023-02-06 18:58:55 +01:00
xmflsct 1dd64c4e19 Fix link matching crashes 2023-02-06 14:00:40 +01:00
xmflsct 9f6e7738bf Fix when userTheme is undefined 2023-02-03 16:06:18 +01:00
xmflsct adddae9d72 Refine push 2023-02-03 15:54:04 +01:00
xmflsct db41e85d07
New Crowdin updates (#690)
* New translations timeline.json (Basque)

* New translations timeline.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations timeline.json (Japanese)

* New translations tabs.json (Japanese)

* New translations contextMenu.json (Japanese)

* New translations timeline.json (German)

* New translations contextMenu.json (German)

* New translations instance.json (German)

* New translations timeline.json (German)

* New translations tabs.json (German)

* New translations contextMenu.json (German)

* New translations timeline.json (French)

* New translations timeline.json (Spanish)

* New translations timeline.json (Catalan)

* New translations timeline.json (Czech)

* New translations timeline.json (German)

* New translations timeline.json (Greek)

* New translations timeline.json (Basque)

* New translations timeline.json (Italian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Dutch)

* New translations timeline.json (Polish)

* New translations timeline.json (Russian)

* New translations timeline.json (Swedish)

* New translations timeline.json (Ukrainian)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (Dutch)

* New translations timeline.json (Swedish)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)
2023-02-03 14:47:48 +01:00
xmflsct e225c5b6bf Clarify my own boosts 2023-02-03 13:57:11 +01:00
xmflsct 7c7c96bc42 Update HTML.tsx 2023-02-03 13:48:29 +01:00
xmflsct 242ecf76c0 Improve marker loading
Actually the id can be invalid (not found), and the timeline can be loaded to the right position, therefore no need to check the id anymore.
2023-02-03 13:11:15 +01:00
xmflsct 2a774a5516 Should fix #692 2023-02-03 12:07:17 +01:00
xmflsct 5ec49739fc Let lib handles cache 2023-02-03 00:59:39 +01:00
xmflsct 3545c13ae9 Update Podfile.lock 2023-02-02 15:27:14 +01:00
xmflsct 74badd94cb Improve refresh loading 2023-02-02 14:15:37 +01:00
xmflsct 2d9f7a90cc Bump packages 2023-02-02 14:15:14 +01:00
xmflsct 90c8e4cba8 Fix #691
One liner fix, but took some time to find out...
2023-02-02 13:54:28 +01:00
xmflsct 2c96991ca0 Fix push page not refetching 2023-02-01 15:04:22 +01:00
xmflsct 0dacd5ec89 Fix error message returning key in poll 2023-02-01 14:52:16 +01:00
xmflsct 88d4de98c2 Fix poll in "remote" toots not working 2023-02-01 14:40:22 +01:00
xmflsct 78b6834c3f Do not fade in when blurhash or preview has been loaded 2023-02-01 13:53:18 +01:00
xmflsct e60535cd1c Catch potentially json parsing error 2023-02-01 00:07:38 +01:00
xmflsct 5d3f773a2a Faster image loading transition 2023-02-01 00:06:33 +01:00
xmflsct 968a3266c2 Test clearing disk cache 2023-01-31 15:19:18 +01:00
xmflsct c21e99909d Add fade in transition of react-native-fast-image
Based on https://github.com/DylanVann/react-native-fast-image/pull/958
2023-01-31 15:15:15 +01:00
xmflsct 624c1f172c Use the same subdomain for connect media
Preventing count as cache miss
2023-01-31 14:26:43 +01:00
xmflsct 602e010cfc
Update name.txt 2023-01-30 15:36:59 +01:00
xmflsct 49c51b4af2
Update connect.ts 2023-01-30 14:53:08 +01:00
xmflsct 574dbd3258
New Crowdin updates (#686)
* New translations timeline.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations timeline.json (Dutch)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Spanish)

* New translations timeline.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)
2023-01-30 13:53:37 +01:00
xmflsct dc893b0d5d Reset when verification failed 2023-01-30 13:53:21 +01:00
xmflsct 4aa96ba2bd Fix #683
Affects both platforms
2023-01-30 13:44:29 +01:00
xmflsct 646b539949 Improve notify animation 2023-01-30 13:40:43 +01:00
xmflsct 7559196e42 Merge branch 'main' of https://github.com/tooot-app/app 2023-01-30 13:40:28 +01:00
xmflsct 57efc4c868 Fix crashes 2023-01-30 12:55:35 +01:00
xmflsct f219371243
Update package.json 2023-01-30 01:20:24 +01:00
xmflsct 5551cd0e12
New Crowdin updates (#684)
* New translations common.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations timeline.json (French)

* New translations timeline.json (Spanish)

* New translations timeline.json (Catalan)

* New translations timeline.json (Czech)

* New translations timeline.json (German)

* New translations timeline.json (Greek)

* New translations timeline.json (Basque)

* New translations timeline.json (Italian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Dutch)

* New translations timeline.json (Polish)

* New translations timeline.json (Russian)

* New translations timeline.json (Swedish)

* New translations timeline.json (Ukrainian)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Catalan)

* New translations timeline.json (Chinese Simplified)
2023-01-30 00:48:08 +01:00
xmflsct 90b0178f5d Refetch only latest pages 2023-01-30 00:36:16 +01:00
xmflsct d1714fab26 Added fetched notice 2023-01-30 00:25:46 +01:00
xmflsct aee206fc95 Refine account switching 2023-01-29 22:18:33 +01:00
xmflsct 062e6825b5 Reuse account info when navigating 2023-01-29 21:53:13 +01:00
xmflsct 83cd5d4eb0 Suppress spoiler for easier reading
As spoiler is default expanded now in thread
2023-01-29 19:27:15 +01:00
xmflsct aba239188f Black list path format includes @ but not Mastodon 2023-01-29 19:04:21 +01:00
xmflsct 5c3e490112 Use in-memory global values
As connect needs to be read very often
2023-01-29 19:02:47 +01:00
xmflsct ebe57be674 Update descriptions 2023-01-29 17:39:25 +01:00
xmflsct 752d33d5b3 Dimming images for dark mode 2023-01-29 17:28:49 +01:00
xmflsct e447a91cfb Fix remote prop not appended in all places 2023-01-29 16:59:14 +01:00
xmflsct 8c87841fed Improve account switch hint 2023-01-29 16:20:31 +01:00
xmflsct 95a99ef7cd Try out connect 2023-01-29 15:32:40 +01:00
xmflsct 3451a021e9 Update package.json 2023-01-29 00:38:44 +01:00
xmflsct eff1f97b14
New translations tabs.json (Vietnamese) (#678) 2023-01-29 00:38:29 +01:00
xmflsct 40522595d0 Fix #682 #681 2023-01-29 00:37:56 +01:00
xmflsct af5273d216
New Crowdin updates (#677)
* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Polish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (German)

* New translations parse.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations mediaSelector.json (Portuguese, Brazilian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Portuguese, Brazilian)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (Basque)

* New translations common.json (Basque)

* New translations instance.json (Basque)

* New translations parse.json (Basque)

* New translations relationship.json (Basque)

* New translations relationship.json (Basque)

* New translations timeline.json (Basque)

* New translations timeline.json (Catalan)

* New translations tabs.json (Catalan)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Russian)

* New translations tabs.json (Greek)

* New translations tabs.json (Basque)

* New translations contextMenu.json (French)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Czech)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Greek)

* New translations contextMenu.json (Basque)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (Polish)

* New translations contextMenu.json (Russian)

* New translations contextMenu.json (Swedish)

* New translations contextMenu.json (Ukrainian)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Simplified)

* New translations tabs.json (Ukrainian)

* New translations contextMenu.json (Ukrainian)

* New translations tabs.json (Chinese Traditional)

* New translations contextMenu.json (Chinese Traditional)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Dutch)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Dutch)

* New translations tabs.json (Dutch)

* New translations contextMenu.json (Basque)

* New translations contextMenu.json (Catalan)
2023-01-27 22:42:26 +01:00
xmflsct 023f66895d Fix #666 2023-01-27 21:54:48 +01:00
xmflsct 738194d108 Consolidate swipe to delete views 2023-01-27 18:44:48 +01:00
xmflsct aa5a607666
New Crowdin updates (#675)
* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Polish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (German)

* New translations parse.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations mediaSelector.json (Portuguese, Brazilian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Portuguese, Brazilian)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (Basque)

* New translations common.json (Basque)

* New translations instance.json (Basque)

* New translations parse.json (Basque)

* New translations relationship.json (Basque)

* New translations relationship.json (Basque)

* New translations timeline.json (Basque)

* New translations timeline.json (Catalan)

* New translations tabs.json (Catalan)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Russian)

* New translations tabs.json (Greek)

* New translations tabs.json (Basque)

* New translations contextMenu.json (French)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Czech)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Greek)

* New translations contextMenu.json (Basque)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (Polish)

* New translations contextMenu.json (Russian)

* New translations contextMenu.json (Swedish)

* New translations contextMenu.json (Ukrainian)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Simplified)
2023-01-27 00:44:32 +01:00
xmflsct 7d5c9e906a Update contextMenu.json 2023-01-27 00:29:42 +01:00
xmflsct 05a46f23b9 Should improve #666
More optimisation still needed
2023-01-27 00:13:00 +01:00
xmflsct 4b8885ef2c Fix #670
Also on iOS
2023-01-26 23:55:48 +01:00
xmflsct 922d7c7917 Fix #668 2023-01-26 23:35:52 +01:00
xmflsct 653b588c29 Fix #613 2023-01-26 23:07:13 +01:00
xmflsct e8eb62e2d0 Refined filter view 2023-01-26 13:59:42 +01:00
xmflsct 2a806695ca
New Crowdin updates (#665)
* New translations tabs.json (Swedish)

* New translations contextMenu.json (Swedish)

* New translations contextMenu.json (Swedish)

* New translations instance.json (Japanese)

* New translations timeline.json (Japanese)

* New translations contextMenu.json (Japanese)

* New translations tabs.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations tabs.json (Korean)

* New translations compose.json (French)

* New translations compose.json (German)

* New translations compose.json (Italian)

* New translations compose.json (Japanese)

* New translations compose.json (Korean)

* New translations compose.json (Chinese Simplified)

* New translations compose.json (Chinese Traditional)

* New translations compose.json (Vietnamese)

* New translations compose.json (Portuguese, Brazilian)

* New translations compose.json (Polish)

* New translations compose.json (Spanish)

* New translations compose.json (Swedish)

* New translations compose.json (Czech)

* New translations compose.json (Dutch)

* New translations compose.json (Catalan)

* New translations compose.json (Ukrainian)

* New translations compose.json (Russian)

* New translations compose.json (Greek)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Russian)

* New translations tabs.json (Greek)

* New translations tabs.json (Chinese Simplified)

* New translations common.json (Basque)

* New translations instance.json (Basque)

* New translations parse.json (Basque)

* New translations relationship.json (Basque)

* New translations timeline.json (Basque)

* New translations imageViewer.json (Basque)

* New translations announcements.json (Basque)

* New translations compose.json (Basque)

* New translations screens.json (Basque)

* New translations tabs.json (Basque)

* New translations mediaSelector.json (Basque)

* New translations emojis.json (Basque)

* New translations contextMenu.json (Basque)

* New translations accountSelection.json (Basque)
2023-01-26 01:14:24 +01:00
dependabot[bot] e417532d60
Bump ua-parser-js from 0.7.32 to 0.7.33 (#674)
Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.32 to 0.7.33.
- [Release notes](https://github.com/faisalman/ua-parser-js/releases)
- [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md)
- [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.32...0.7.33)

---
updated-dependencies:
- dependency-name: ua-parser-js
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-26 00:59:21 +01:00
xmflsct d73857eef4 First step of adding filter editing support 2023-01-26 00:57:48 +01:00
xmflsct 2d91d1f7fb Fix react-native-svg default fill black 2023-01-25 00:29:36 +01:00
xmflsct 9d9c16df06 Bump packages
And deprecate react-native-feather
2023-01-25 00:15:46 +01:00
xmflsct ebc6d03c6a Fix url not encoded such as in CJK 2023-01-24 22:47:36 +01:00
xmflsct 82928f8611 Attempt to fix super long toots breaking maintain position 2023-01-24 22:24:55 +01:00
xmflsct f1b162a020 Added gif preference
https://github.com/mastodon/mastodon/pull/22706
2023-01-24 00:36:51 +01:00
xmflsct 47d5b02468 Fix #672
Removed image focus as different clients implement this differently
2023-01-23 23:05:25 +01:00
xmflsct 613cf1365c Fix 669 2023-01-22 18:17:57 +01:00
xmflsct 5cd83ae055 Improve my page's loading 2023-01-17 15:35:36 +01:00
xmflsct fb6a111c55 Fix #664 2023-01-17 12:57:37 +01:00
xmflsct d93c77c4ca Update yarn.lock 2023-01-16 22:56:58 +01:00
xmflsct a131b1277c Fix local content not loaded
With the new prepend approach
2023-01-16 22:52:30 +01:00
xmflsct c2a180f4f5 Fix popToTop dev warning 2023-01-16 22:36:49 +01:00
xmflsct adb7a765b4 Fix #663
Properly revoke token when actively logging out
2023-01-16 22:22:19 +01:00
xmflsct 196f51bfca Refine account switching
Part of #663
2023-01-16 22:11:41 +01:00
xmflsct 74e794a215 Fix some Sentry reported crashes 2023-01-16 18:56:15 +01:00
xmflsct 18ad22302d Attempt to fix #644 2023-01-16 18:50:18 +01:00
xmflsct 261987cac9
New Crowdin updates (#658)
* New translations timeline.json (Spanish)

* New translations timeline.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Russian)

* New translations tabs.json (Greek)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Spanish)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (German)

* New translations tabs.json (Chinese Simplified)
2023-01-16 14:58:47 +01:00
xmflsct e97eff25c5 Fix cached toot not replaced 2023-01-16 14:30:00 +01:00
xmflsct 3883c0307a Fix public page switching timeline not updating nav params 2023-01-16 14:20:36 +01:00
xmflsct 34c0bbf4bb Fix too thin images 2023-01-15 22:04:25 +01:00
xmflsct b52b529550 Fix conversation view when remote returns error 2023-01-15 21:51:27 +01:00
xmflsct f10d52cebc Use native loading spinner
The lib is not being maintained and the animation quality is bad
2023-01-15 20:34:22 +01:00
xmflsct 86c3e91439 Fixed Android's svg spans full width 2023-01-15 19:59:48 +01:00
xmflsct 9a289489fa Fix #661
The API does not support a better way to achieve this as suggested. Though the search API accepts a "following" param, and it will return data prioritising following accounts.
2023-01-15 19:38:45 +01:00
xmflsct 8814161e0e Improve toot page loading 2023-01-15 18:00:58 +01:00
xmflsct 0efb7e5b70 Fix #615 2023-01-15 13:40:12 +01:00
xmflsct e5744aba06 Try to fix #648
Also reported by other users
2023-01-14 16:58:01 +01:00
xmflsct e7ca5ba63d Fix #655 2023-01-14 16:29:28 +01:00
xmflsct 57f1ed62b5 Fix #657
No need for Android, as if permission was denied last time, the next time when requesting, permission would be checked again.
2023-01-14 16:20:37 +01:00
xmflsct 26d2c78517 Fix #653 2023-01-14 15:26:11 +01:00
xmflsct e5e74410d0 Fix #659 2023-01-14 15:21:31 +01:00
xmflsct 58c96c4c08 Fix Android does not support menu sub 2023-01-12 21:44:28 +01:00
xmflsct fa066daa59 Update HeaderConversation.tsx 2023-01-12 21:28:29 +01:00
xmflsct bebf4c7101 Update TextInput.tsx
There are still reports of text not wrapping #571
2023-01-12 21:24:45 +01:00
xmflsct 81b810496b No need to show initial toot in history
Nothing changed in there
2023-01-12 21:12:51 +01:00
xmflsct 2a19e1fc2a Fix #654 2023-01-12 21:04:50 +01:00
xmflsct a37f66d080 Fix unidentified mentions 2023-01-12 20:58:57 +01:00
xmflsct 03fd770a41 Hide useless cards 2023-01-12 20:28:43 +01:00
xmflsct 02a90e84f3 Wrong side of fixing crash 2023-01-12 20:17:26 +01:00
xmflsct 50f95900b6 Update Push.tsx 2023-01-11 23:34:02 +01:00
xmflsct c7602df08c
New translations compose.json (Catalan) (#651) 2023-01-11 22:55:35 +01:00
xmflsct 7f97908e23 Fix bugs 2023-01-11 22:54:24 +01:00
xmflsct 76d4bc754b Fix accounts array empty not init 2023-01-11 22:18:02 +01:00
xmflsct 30be3cdb15 Fix prepended toots not interactable 2023-01-11 21:51:28 +01:00
xmflsct 01c27d6a99 Fix tooot support broken 2023-01-11 21:35:50 +01:00
xmflsct e31ce3772a Do not auto refetch home timeline
Due to the new timeline position feature, auto refetch would shift the timeline and the user is not at the newest of the list anyway
2023-01-11 21:11:43 +01:00
xmflsct f93fe09783 Fix push wrong auth key format 2023-01-11 21:01:44 +01:00
xmflsct def4c5424e Reload image when the source is changed 2023-01-10 19:36:42 +01:00
xmflsct 8610be1caf Fix bugs 2023-01-10 14:56:13 +01:00
xmflsct 3de4212a65 Fix #646 2023-01-10 13:27:47 +01:00
xmflsct 1918274ec9 Update Toot.tsx 2023-01-10 00:52:50 +01:00
xmflsct d68ec113c6 Fix font size setting 2023-01-10 00:28:39 +01:00
xmflsct 89e2b46792 Merge branch 'main' of https://github.com/tooot-app/app 2023-01-09 22:53:34 +01:00
xmflsct a4e6540b50
New Crowdin updates (#642)
* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Polish)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Ukrainian)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Dutch)
2023-01-09 22:53:23 +01:00
xmflsct a4e97ccb1c Fix warnings and errors 2023-01-09 22:28:53 +01:00
xmflsct b9c4b139f5 Tune queries 2023-01-09 19:18:48 +01:00
xmflsct be772f905d Added global scopes 2023-01-09 16:54:30 +01:00
xmflsct cd7e740ab1 Fix remove reply level not showing up correctly 2023-01-09 16:52:29 +01:00
xmflsct 1025d85ae5 Moving to JSON instead of FormData for oauth 2023-01-09 16:44:11 +01:00
xmflsct 1b2d9d144f Fix bugs 2023-01-09 10:11:44 +01:00
xmflsct 215534d0c8 Fix #605
Turns out to be much more complicated than expected. Finally got the app running through Browser Stack (thanks for their sponsoring!), realised the issue was related to an early attempt to create a build for F-Droid #50 which removed the Google Service. However for Android push, Google service is still required.
2023-01-09 00:55:29 +01:00
xmflsct cfa637b23d Fix Android build crashing 2023-01-08 21:53:05 +01:00
xmflsct a3b5a132c5 Added GoToSocial support
Fix #206
Fix https://github.com/superseriousbusiness/gotosocial/issues/825
2023-01-08 20:07:20 +01:00
xmflsct 43c0447418
New Crowdin updates (#641)
* New translations timeline.json (Korean)

* New translations contextMenu.json (Korean)

* New translations compose.json (Korean)

* New translations tabs.json (Korean)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations contextMenu.json (French)

* New translations contextMenu.json (Polish)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Swedish)

* New translations contextMenu.json (Czech)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Ukrainian)

* New translations contextMenu.json (Russian)

* New translations contextMenu.json (Greek)

* New translations contextMenu.json (Chinese Simplified)
2023-01-08 18:12:13 +01:00
vitalyster 59a2d932e3
OAuth: send PKCE code verifier with token request (#640)
* OAuth: send PKCE code verifier with token request

* Prevents typescript's warning

Co-authored-by: xmflsct <me@xmflsct.com>
2023-01-08 18:06:30 +01:00
xmflsct 972ae46d45 Fix #604 2023-01-08 17:56:34 +01:00
xmflsct 4cadeb6a6f Add release notes for #271 2023-01-08 17:34:15 +01:00
xmflsct 0b1fdf59ca Added notes to #608
Not yet able to edit
2023-01-08 17:32:20 +01:00
xmflsct cc6740a7c0 Fix adding account bug 2023-01-08 17:07:47 +01:00
xmflsct 6ce78e94f8 Fix #271
Added follow as menu option
2023-01-08 16:59:35 +01:00
xmflsct 9e0e8db82a Fix Android start up crash
Maybe then we can run it in BrowserStack
2023-01-08 12:21:38 +01:00
xmflsct fb3f2e82d6 Fix Android bugs 2023-01-08 00:05:58 +01:00
xmflsct 2d9dc00683 Fix #633
https://github.com/expo/expo/issues/6864#issuecomment-678620290
2023-01-07 23:56:24 +01:00
xmflsct d6d0cc0d03 Fix Android crashing
Somehow get MMKV number would crash
2023-01-07 23:37:30 +01:00
xmflsct 7db8b26dd9 Simplify and improve pagination 2023-01-07 18:01:08 +01:00
xmflsct 44f8900902 Support broader fedi tag type 2023-01-07 16:41:14 +01:00
xmflsct 50332773c3 Fix #490
Support remembering timeline position in following
2023-01-07 16:27:40 +01:00
xmflsct fb9b7486d0 Use placeholder data instead of initial data 2023-01-07 13:08:33 +01:00
xmflsct 23a8c03be2 Fix when there is no newer content 2023-01-07 12:15:07 +01:00
xmflsct 88528f5293 Refine scroll after fetch newer 2023-01-07 12:10:41 +01:00
xmflsct 1704c0401c Fix remote toot level is not applied 2023-01-07 11:32:50 +01:00
xmflsct ea02561cdb With local caching and gradual prepending
For #490
2023-01-07 00:43:00 +01:00
xmflsct 70d57ed830 Fetching now works better
For #490
2023-01-06 22:58:01 +01:00
xmflsct c2aa78fef8 Fix highlighted toot cannot be actioned 2023-01-06 18:38:52 +01:00
xmflsct 5ce7d50f8f Make remote fetch more lazy
Sometime the local instance responses slower that would result in all the context are remote, which is not ideal.
2023-01-06 18:31:33 +01:00
xmflsct 3cac12fb9e Update Podfile.lock 2023-01-06 14:06:13 +01:00
xmflsct c7a472124c Revert "Try out FlashList"
This reverts commit 8406a57143.
2023-01-06 14:00:50 +01:00
xmflsct 8406a57143 Try out FlashList 2023-01-06 01:41:46 +01:00
xmflsct bd3046cc2f Updates 2023-01-06 01:08:27 +01:00
xmflsct c83a74d1c3 Fix status interactions 2023-01-06 01:01:10 +01:00
xmflsct feadcc019c Updates 2023-01-05 00:49:10 +01:00
xmflsct bb9fa0c752 Improved history diff 2023-01-04 23:12:18 +01:00
xmflsct 06324ee51a Believe #638 can be closed now! 2023-01-04 22:39:29 +01:00
xmflsct 62a6594f91 Try removing flipper 2023-01-04 01:20:34 +01:00
xmflsct 092bc5013a Merge branch 'main' of https://github.com/tooot-app/app 2023-01-04 00:14:34 +01:00
xmflsct ba5bc35a05
New Crowdin updates (#618)
* New translations tabs.json (Vietnamese)

* New translations instance.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Catalan)

* New translations timeline.json (Spanish)

* New translations tabs.json (Spanish)

* New translations common.json (Ukrainian)

* New translations instance.json (Ukrainian)

* New translations parse.json (Ukrainian)

* New translations timeline.json (Ukrainian)

* New translations timeline.json (Ukrainian)

* New translations mediaSelector.json (Ukrainian)

* New translations accountSelection.json (Ukrainian)

* New translations common.json (Greek)

* New translations instance.json (Greek)

* New translations parse.json (Greek)

* New translations relationship.json (Greek)

* New translations timeline.json (Greek)

* New translations actions.json (Greek)

* New translations imageViewer.json (Greek)

* New translations announcements.json (Greek)

* New translations compose.json (Greek)

* New translations screens.json (Greek)

* New translations tabs.json (Greek)

* New translations mediaSelector.json (Greek)

* New translations emojis.json (Greek)

* New translations contextMenu.json (Greek)

* New translations accountSelection.json (Greek)

* New translations common.json (Greek)

* New translations instance.json (Greek)

* New translations parse.json (Greek)

* New translations actions.json (Greek)

* New translations imageViewer.json (Greek)

* New translations announcements.json (Greek)

* New translations compose.json (Greek)

* New translations screens.json (Greek)

* New translations mediaSelector.json (Greek)

* New translations emojis.json (Greek)

* New translations accountSelection.json (Greek)

* New translations tabs.json (Greek)

* New translations contextMenu.json (Greek)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Chinese Simplified)

* New translations relationship.json (Greek)

* New translations timeline.json (Greek)

* New translations contextMenu.json (Greek)

* New translations timeline.json (Greek)

* New translations tabs.json (Catalan)

* New translations timeline.json (German)

* New translations timeline.json (Italian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (French)

* New translations timeline.json (Spanish)

* New translations timeline.json (Swedish)

* New translations timeline.json (Dutch)

* New translations timeline.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations timeline.json (German)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Ukrainian)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Dutch)

* New translations timeline.json (Spanish)

* New translations timeline.json (Catalan)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Greek)

* New translations timeline.json (German)

* New translations timeline.json (Italian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations timeline.json (French)

* New translations tabs.json (French)

* New translations timeline.json (Polish)

* New translations timeline.json (Spanish)

* New translations tabs.json (Spanish)

* New translations timeline.json (Swedish)

* New translations tabs.json (Swedish)

* New translations timeline.json (Czech)

* New translations timeline.json (Dutch)

* New translations tabs.json (Dutch)

* New translations timeline.json (Catalan)

* New translations tabs.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations timeline.json (Russian)

* New translations timeline.json (Greek)

* New translations tabs.json (Greek)

* New translations timeline.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations tabs.json (Vietnamese)

* New translations timeline.json (German)

* New translations timeline.json (German)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (French)

* New translations contextMenu.json (Polish)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Swedish)

* New translations timeline.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Ukrainian)

* New translations contextMenu.json (Greek)

* New translations tabs.json (Ukrainian)

* New translations timeline.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations timeline.json (Catalan)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Vietnamese)

* New translations tabs.json (Vietnamese)

* New translations contextMenu.json (Ukrainian)

* New translations timeline.json (German)

* New translations timeline.json (Italian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations timeline.json (French)

* New translations tabs.json (French)

* New translations timeline.json (Spanish)

* New translations tabs.json (Spanish)

* New translations timeline.json (Polish)

* New translations tabs.json (Polish)

* New translations timeline.json (Czech)

* New translations timeline.json (Swedish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations timeline.json (Dutch)

* New translations tabs.json (Dutch)

* New translations timeline.json (Catalan)

* New translations tabs.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations timeline.json (Russian)

* New translations tabs.json (Russian)

* New translations timeline.json (Greek)

* New translations tabs.json (Greek)

* New translations timeline.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations timeline.json (Dutch)

* New translations timeline.json (Spanish)

* New translations tabs.json (Spanish)

* New translations timeline.json (Catalan)

* New translations tabs.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations timeline.json (German)

* New translations tabs.json (German)

* New translations tabs.json (Ukrainian)

* New translations timeline.json (Polish)

* New translations timeline.json (Polish)

* New translations imageViewer.json (Polish)

* New translations compose.json (Polish)

* New translations screens.json (Polish)

* New translations tabs.json (Polish)

* New translations tabs.json (Dutch)

* New translations timeline.json (Swedish)

* New translations tabs.json (Swedish)

* New translations contextMenu.json (Swedish)

* New translations tabs.json (Polish)

* New translations tabs.json (Polish)

* New translations mediaSelector.json (Polish)

* New translations emojis.json (Polish)

* New translations contextMenu.json (Polish)

* New translations accountSelection.json (Polish)

* New translations timeline.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Simplified)

* New translations tabs.json (Chinese Simplified)
2023-01-04 00:14:20 +01:00
xmflsct bd5e92cab3 Update build.yml 2023-01-04 00:08:58 +01:00
xmflsct 6b73485aae Bump packages 2023-01-04 00:06:37 +01:00
xmflsct 0bcd0c1725 Continue refine remote logic #638 2023-01-03 23:57:23 +01:00
xmflsct b067b9bdb1 Properly clean and reset navigators 2023-01-03 00:10:44 +01:00
xmflsct 4c6b8f0959 Fix toot action for #638 2023-01-02 23:18:22 +01:00
xmflsct 6dafbc96af Account actions working for #638 2023-01-02 02:08:12 +01:00
xmflsct 62df29a479 Update status.ts 2023-01-01 18:54:42 +01:00
xmflsct f3e1741629 Update updateStatusProperty.ts 2023-01-01 18:48:32 +01:00
xmflsct 2705b4b804 Simplify update toot logic 2023-01-01 18:37:05 +01:00
xmflsct 56d1090ca9 Actions working for #638 2023-01-01 17:20:35 +01:00
xmflsct ced71d6611 Reply working for #638 2023-01-01 16:44:55 +01:00
xmflsct ac9738d358 Remove flat list in compose view 2023-01-01 13:39:48 +01:00
xmflsct 554825a9ea Fix #636 2022-12-31 15:58:18 +01:00
xmflsct 13303c4269 Early demo of #638
Actions are not working yet
2022-12-31 15:53:02 +01:00
xmflsct eb385b8872 Fix bugs 2022-12-31 14:00:52 +01:00
xmflsct 65e9f41a3b Fix bugs 2022-12-31 12:56:10 +01:00
xmflsct f0734e52e7 Add string for #631 2022-12-31 02:08:33 +01:00
xmflsct 7ccfdc7562 Fix #631 2022-12-31 02:06:19 +01:00
xmflsct 4a25feb346 Fix #635 2022-12-31 00:31:25 +01:00
xmflsct b677c4b7ce Fix #558 #602 2022-12-31 00:07:28 +01:00
xmflsct 49a0e6d63e Remove base64 dep 2022-12-30 15:14:16 +01:00
xmflsct 0de7e84f58 Fix #632
No need to warn
2022-12-30 12:56:13 +01:00
xmflsct e13669af56 Support migrating from older database 2022-12-30 10:44:30 +01:00
xmflsct ca7309b862 Fix #601 #577 2022-12-29 23:38:44 +01:00
xmflsct 14b23ac480 Merge branch 'main' of https://github.com/tooot-app/app 2022-12-29 23:14:55 +01:00
John HU 1029cb6a67
Use lowercase via instead of Via (#621) 2022-12-29 23:14:40 +01:00
xmflsct a77e495b6b Fix admin options not showing up 2022-12-29 23:13:22 +01:00
xmflsct 43a98be2d9 Fix in case font size is missing 2022-12-29 23:03:23 +01:00
xmflsct c6aff79055 Fix public domain and API domain differ 2022-12-29 23:00:17 +01:00
xmflsct 53ea661d9a Use i18next's native RTL detection 2022-12-29 18:03:23 +01:00
xmflsct 892e6c6131 Updates 2022-12-29 01:10:50 +01:00
xmflsct 2a40043b2e Refine querying followed tags 2022-12-29 00:58:07 +01:00
xmflsct 4cddbb9bad Remove most React memorization
Though added memo for timeline components making them (almost) pure
2022-12-29 00:36:35 +01:00
xmflsct 1ea6aff328
619 restructure local storage (#628)
* To MMKV migration working

* POC migrated font size settings

* Moved settings to mmkv

* Fix typos

* Migrated contexts slice

* Migrated app slice

* POC instance emoji update

* Migrated drafts

* Migrated simple instance properties

* All migrated!

* Re-structure files

* Tolerant of undefined settings

* Can properly logging in and out including empty state
2022-12-28 23:41:36 +01:00
John HU 71ccb4a93c
Fix README.md build status badges (#622)
* Fix build status badges

Changes required for badges:
https://github.com/badges/shields/issues/8671

* Make special thanks section visually compact
2022-12-28 01:57:35 +01:00
xmflsct a40f0d9f82 Fix #620 #606 2022-12-26 01:06:33 +01:00
xmflsct 34f7218c34 Fix React key missing 2022-12-25 17:40:53 +01:00
xmflsct 21d6baa70d Fix babel 2022-12-24 14:46:39 +01:00
xmflsct f3b46b7e9c Commit yarn plugins 2022-12-24 12:59:07 +01:00
xmflsct ea5705a6de Enable corepack for yarn 3 2022-12-24 12:55:51 +01:00
xmflsct e1f951eb8c
New Crowdin updates (#599)
* New translations instance.json (Russian)

* New translations timeline.json (Russian)

* New translations actions.json (Russian)

* New translations announcements.json (Russian)

* New translations compose.json (Russian)

* New translations screens.json (Russian)

* New translations tabs.json (Russian)

* New translations emojis.json (Russian)

* New translations accountSelection.json (Russian)

* New translations contextMenu.json (German)

* New translations timeline.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations timeline.json (Catalan)

* New translations contextMenu.json (Catalan)

* New translations common.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations compose.json (Catalan)

* New translations timeline.json (Spanish)

* New translations compose.json (Spanish)

* New translations tabs.json (Spanish)

* New translations timeline.json (Catalan)

* New translations compose.json (Catalan)

* New translations tabs.json (Catalan)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Russian)

* New translations announcements.json (Catalan)

* New translations compose.json (Catalan)

* New translations tabs.json (Catalan)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Russian)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations common.json (Polish)

* New translations instance.json (Polish)

* New translations parse.json (Polish)

* New translations relationship.json (Polish)

* New translations timeline.json (Polish)

* New translations imageViewer.json (Polish)

* New translations announcements.json (Polish)

* New translations compose.json (Polish)

* New translations contextMenu.json (Polish)

* New translations compose.json (Polish)

* New translations tabs.json (Polish)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations compose.json (German)

* New translations compose.json (Italian)

* New translations compose.json (Japanese)

* New translations compose.json (Korean)

* New translations compose.json (Chinese Simplified)

* New translations compose.json (Chinese Traditional)

* New translations compose.json (Vietnamese)

* New translations compose.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations compose.json (French)

* New translations tabs.json (French)

* New translations compose.json (Polish)

* New translations tabs.json (Polish)

* New translations compose.json (Spanish)

* New translations tabs.json (Spanish)

* New translations compose.json (Swedish)

* New translations tabs.json (Swedish)

* New translations compose.json (Czech)

* New translations tabs.json (Czech)

* New translations compose.json (Dutch)

* New translations tabs.json (Dutch)

* New translations compose.json (Catalan)

* New translations tabs.json (Catalan)

* New translations compose.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations compose.json (Russian)

* New translations tabs.json (Russian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Chinese Traditional)

* New translations contextMenu.json (French)

* New translations contextMenu.json (Polish)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Swedish)

* New translations contextMenu.json (Czech)

* New translations tabs.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations contextMenu.json (Ukrainian)

* New translations contextMenu.json (Russian)

* New translations contextMenu.json (Ukrainian)

* New translations tabs.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations tabs.json (Catalan)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Chinese Simplified)

* New translations tabs.json (Chinese Simplified)
2022-12-24 02:25:16 +01:00
xmflsct 219358cf54 Fix #590 2022-12-24 02:13:24 +01:00
xmflsct e27bf7407b Fix #616 2022-12-24 01:59:18 +01:00
xmflsct b6045e5121 Remove most React memo
Maybe would solve iOS out of memory crashes
2022-12-24 01:18:20 +01:00
xmflsct 1e0e8842db Use new Sentry tracing 2022-12-24 01:07:08 +01:00
xmflsct 64b367a247 Fix #614 2022-12-23 20:02:44 +01:00
xmflsct 3594500b3e Fix #610 2022-12-23 18:49:50 +01:00
xmflsct f3c40e9486 Fix #611 2022-12-23 18:19:14 +01:00
xmflsct 57e1206faf Upgrade to yarn 3 2022-12-23 17:47:01 +01:00
xmflsct e32125ad17 Update i18next type 2022-12-23 15:53:40 +01:00
xmflsct b388853429 Refine types for #600 2022-12-22 18:38:04 +01:00
xmflsct 39ab9059d9 Fix #600 2022-12-22 01:21:51 +01:00
xmflsct fb7111d771
New Crowdin updates (#591)
* New translations instance.json (Russian)

* New translations timeline.json (Russian)

* New translations actions.json (Russian)

* New translations announcements.json (Russian)

* New translations compose.json (Russian)

* New translations screens.json (Russian)

* New translations tabs.json (Russian)

* New translations emojis.json (Russian)

* New translations accountSelection.json (Russian)

* New translations contextMenu.json (German)

* New translations timeline.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations timeline.json (Catalan)

* New translations contextMenu.json (Catalan)

* New translations common.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations compose.json (Catalan)

* New translations timeline.json (Spanish)

* New translations compose.json (Spanish)

* New translations tabs.json (Spanish)

* New translations timeline.json (Catalan)

* New translations compose.json (Catalan)

* New translations tabs.json (Catalan)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Russian)
2022-12-21 15:34:21 +01:00
xmflsct fbdb5ed0db Add update notes
Otherwise Apple would complaint again
2022-12-21 15:33:23 +01:00
xmflsct 10f7d74600 Fix Plerooma search crash
Potentially could be crashing in other scenarios where history data is missing
2022-12-21 15:31:18 +01:00
xmflsct 5e90a0d8f3 Attempt to fix #596 2022-12-21 15:24:23 +01:00
xmflsct a0bfb6cb24 Another fix #597 2022-12-21 15:21:35 +01:00
xmflsct b36863337e Fix #595 2022-12-21 14:42:44 +01:00
xmflsct 852095f5cf Fix #597 2022-12-21 14:38:09 +01:00
xmflsct 047464a9c1 Fix #594 2022-12-21 01:07:12 +01:00
xmflsct e95f1e8157 Merge branch 'main' of https://github.com/tooot-app/app 2022-12-20 23:09:23 +01:00
xmflsct 54c99eb054 Fix #593 2022-12-20 23:09:21 +01:00
xmflsct 4e8b4c0e95
Update subtitle.txt
App Store says subtitle cannot be longer than 30 chars.. So many limitations 😂
2022-12-20 12:11:50 +01:00
xmflsct 2ac1d49f9f
New Crowdin updates (#589)
* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Chinese Traditional)

* New translations common.json (Russian)
2022-12-20 10:51:01 +01:00
xmflsct dab2ca060d Fix visual bugs
Somehow the `onError` of `react-native-fast-image` doesn't work anymore as expected. Maybe because the underlying `SDWebImage` is being patched to other versions.
2022-12-20 10:47:33 +01:00
xmflsct bb02fadc16 Remove schema when instance is being added for Pleroma 2022-12-20 10:04:21 +01:00
xmflsct 5a77801188
New Crowdin updates (#587)
* New translations contextMenu.json (Swedish)

* New translations instance.json (Dutch)

* New translations contextMenu.json (Dutch)
2022-12-20 00:46:22 +01:00
xmflsct ca629befc9
Experiment support of Pleroma (#588) 2022-12-20 00:45:53 +01:00
xmflsct 29a092a925 Some visual fixes based on feedback 2022-12-19 23:58:03 +01:00
xmflsct 6e7ebef99a
New Crowdin updates (#567)
* New translations instance.json (German)

* New translations instance.json (Italian)

* New translations instance.json (Japanese)

* New translations instance.json (Korean)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Chinese Traditional)

* New translations instance.json (Vietnamese)

* New translations instance.json (Portuguese, Brazilian)

* New translations instance.json (French)

* New translations instance.json (Polish)

* New translations instance.json (Spanish)

* New translations instance.json (Swedish)

* New translations instance.json (Czech)

* New translations instance.json (Dutch)

* New translations instance.json (Catalan)

* New translations instance.json (Ukrainian)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Ukrainian)

* New translations instance.json (Chinese Traditional)

* New translations instance.json (Swedish)

* New translations timeline.json (German)

* New translations timeline.json (Italian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (French)

* New translations timeline.json (Polish)

* New translations timeline.json (Spanish)

* New translations timeline.json (Swedish)

* New translations timeline.json (Czech)

* New translations timeline.json (Dutch)

* New translations timeline.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Swedish)

* New translations timeline.json (German)

* New translations timeline.json (German)

* New translations instance.json (Korean)

* New translations timeline.json (Korean)

* New translations timeline.json (Korean)

* New translations tabs.json (Korean)

* New translations common.json (Korean)

* New translations common.json (French)

* New translations instance.json (French)

* New translations timeline.json (French)

* New translations timeline.json (Dutch)

* New translations timeline.json (French)

* New translations tabs.json (French)

* New translations instance.json (Spanish)

* New translations instance.json (Catalan)

* New translations timeline.json (Catalan)

* New translations compose.json (Catalan)

* New translations tabs.json (Catalan)

* New translations mediaSelector.json (Catalan)

* New translations timeline.json (Chinese Traditional)

* New translations common.json (French)

* New translations instance.json (French)

* New translations parse.json (French)

* New translations timeline.json (French)

* New translations compose.json (French)

* New translations tabs.json (French)

* New translations contextMenu.json (French)

* New translations instance.json (Spanish)

* New translations timeline.json (Spanish)

* New translations compose.json (Spanish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations contextMenu.json (Catalan)

* New translations timeline.json (Vietnamese)

* New translations tabs.json (Chinese Traditional)

* New translations common.json (Russian)

* New translations instance.json (Russian)

* New translations parse.json (Russian)

* New translations relationship.json (Russian)

* New translations timeline.json (Russian)

* New translations actions.json (Russian)

* New translations imageViewer.json (Russian)

* New translations announcements.json (Russian)

* New translations compose.json (Russian)

* New translations screens.json (Russian)

* New translations tabs.json (Russian)

* New translations mediaSelector.json (Russian)

* New translations emojis.json (Russian)

* New translations contextMenu.json (Russian)

* New translations accountSelection.json (Russian)

* New translations timeline.json (Chinese Simplified)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations contextMenu.json (French)

* New translations contextMenu.json (Polish)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Korean)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations screens.json (German)

* New translations screens.json (Italian)

* New translations screens.json (Japanese)

* New translations screens.json (Korean)

* New translations screens.json (Chinese Simplified)

* New translations screens.json (Chinese Traditional)

* New translations screens.json (Vietnamese)

* New translations screens.json (Portuguese, Brazilian)

* New translations common.json (French)

* New translations screens.json (French)

* New translations common.json (Polish)

* New translations screens.json (Polish)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Swedish)

* New translations contextMenu.json (Czech)

* New translations common.json (Spanish)

* New translations screens.json (Spanish)

* New translations common.json (Swedish)

* New translations screens.json (Swedish)

* New translations common.json (Czech)

* New translations screens.json (Czech)

* New translations common.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Ukrainian)

* New translations screens.json (Dutch)

* New translations common.json (Catalan)

* New translations screens.json (Catalan)

* New translations common.json (Ukrainian)

* New translations screens.json (Ukrainian)

* New translations common.json (Russian)

* New translations screens.json (Russian)

* New translations contextMenu.json (Russian)

* New translations contextMenu.json (Chinese Simplified)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Korean)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (Swedish)

* New translations common.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations common.json (Catalan)

* New translations common.json (Ukrainian)

* New translations contextMenu.json (Ukrainian)
2022-12-19 23:42:23 +01:00
xmflsct f37f9e857d Fix #582 2022-12-19 23:20:47 +01:00
xmflsct 72fa8c4fcf Fix #585 2022-12-19 23:06:39 +01:00
xmflsct ed71f86983 Fix Android action sheet color mode 2022-12-19 22:36:30 +01:00
John HU 5967fff318
Fix "Show boosts" "Show replies" toggles (#580)
* Typo

* Fix CheckboxItem check mark lingers around
2022-12-19 21:53:42 +01:00
xmflsct 533ff1d549 Fix #584 2022-12-19 21:46:37 +01:00
xmflsct 61967f4420 Fixed #583 2022-12-19 21:38:08 +01:00
xmflsct 4bd11e2246 Fix #581 2022-12-19 21:20:14 +01:00
xmflsct bace3b85de Fixed #578 2022-12-18 23:32:57 +01:00
xmflsct 50b07fc5eb Experiment with #558 2022-12-18 23:15:58 +01:00
xmflsct d26d8f3c14 Fixed #574
Stupid typo..
2022-12-18 22:01:02 +01:00
xmflsct 71bea470e0 Added Italian store presence
Thanks to @nicolaottomano@mastodon.uno
2022-12-18 21:34:11 +01:00
xmflsct fea45e66bc Fixed #576 2022-12-18 21:16:21 +01:00
xmflsct 909fed0644 Fixed #575 2022-12-18 20:55:33 +01:00
xmflsct 96a448d602 Fixed #573 2022-12-18 20:25:52 +01:00
xmflsct 2c7772d4c2 Fixed #572 2022-12-18 17:25:18 +01:00
Hanjiang Yu c0aad41047
Text wrapping workaround in toot composing screen (#571) 2022-12-18 11:37:30 +01:00
xmflsct 1bd3e150af Hopefully fixed #564 2022-12-18 11:33:49 +01:00
xmflsct 47feac174a Fixed #570 2022-12-18 11:16:30 +01:00
xmflsct a236adfb57 No need to retry if confirmed not found 2022-12-18 11:00:33 +01:00
xmflsct b1f00ce99b Use account lookup instead of search
May increase success rate
2022-12-18 01:29:33 +01:00
xmflsct fea2e82bdd Fixed #568 2022-12-18 01:12:58 +01:00
xmflsct b76d3f50df Make search transition smoother? 2022-12-18 00:41:49 +01:00
xmflsct a5315501fd Fixed #565 2022-12-18 00:00:58 +01:00
xmflsct ef80ab895e Remove min height of cards 2022-12-17 23:31:46 +01:00
xmflsct c59690fcb9 Fixed #566 2022-12-17 23:21:56 +01:00
xmflsct 3691b19a87 Fix Sentry errors 2022-12-16 22:00:22 +01:00
xmflsct 44aff1f283 Fix push settings 2022-12-16 21:18:58 +01:00
xmflsct 4725287554 Remove conversation levels for now as it doesn't work well yet 2022-12-16 17:00:07 +01:00
xmflsct 8b20e186de Update HeaderAndroid.tsx
Fixed #563
2022-12-16 13:16:04 +01:00
xmflsct 7b3fa6d1bc Update Push.tsx 2022-12-16 13:14:55 +01:00
xmflsct ac6de3ebf1
New Crowdin updates (#562)
* New translations timeline.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations timeline.json (German)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)
2022-12-16 10:47:17 +01:00
xmflsct be4eaa93ee Fix push 2022-12-16 10:35:31 +01:00
xmflsct d3d2202caa Fixed #561 2022-12-16 10:11:09 +01:00
xmflsct 41acc776ac
Update release_notes.txt 2022-12-16 01:02:51 +01:00
xmflsct 3c178e9f82
Update release_notes.txt 2022-12-16 01:02:17 +01:00
xmflsct 063f993882
New Crowdin updates (#557)
* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Polish)

* New translations contextMenu.json (Polish)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Dutch)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Swedish)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (German)

* New translations tabs.json (Chinese Simplified)
2022-12-16 00:25:13 +01:00
xmflsct 78dba4ae1a Pilot fix for #558 2022-12-16 00:21:53 +01:00
xmflsct e09e2da1b7 Bump up packages 2022-12-15 22:14:59 +01:00
xmflsct 0e348dcef1 Fix bugs 2022-12-15 19:31:20 +01:00
xmflsct 2f3e398d70 Fixed #556 2022-12-15 18:43:39 +01:00
xmflsct 3d2339c2b5 Fix searching for remote accounts 2022-12-15 14:28:36 +01:00
xmflsct a4cd24f313 Fixed #457 2022-12-15 01:41:34 +01:00
xmflsct c4316804fc Added 🇺🇦 Slava Ukraini 2022-12-15 00:16:13 +01:00
xmflsct 9f680c2a2a
New Crowdin updates (#526)
* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Catalan)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (German)

* New translations tabs.json (Dutch)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Korean)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (French)

* New translations tabs.json (French)

* New translations common.json (Polish)

* New translations tabs.json (Polish)

* New translations common.json (Spanish)

* New translations tabs.json (Spanish)

* New translations common.json (Swedish)

* New translations tabs.json (Swedish)

* New translations common.json (Czech)

* New translations tabs.json (Czech)

* New translations common.json (Dutch)

* New translations tabs.json (Dutch)

* New translations common.json (Catalan)

* New translations tabs.json (Catalan)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations common.json (German)

* New translations actions.json (German)

* New translations actions.json (Italian)

* New translations actions.json (Japanese)

* New translations actions.json (Korean)

* New translations actions.json (Chinese Simplified)

* New translations actions.json (Chinese Traditional)

* New translations actions.json (Vietnamese)

* New translations actions.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations actions.json (French)

* New translations tabs.json (French)

* New translations actions.json (Polish)

* New translations tabs.json (Polish)

* New translations actions.json (Spanish)

* New translations tabs.json (Spanish)

* New translations actions.json (Swedish)

* New translations tabs.json (Swedish)

* New translations actions.json (Czech)

* New translations tabs.json (Czech)

* New translations actions.json (Dutch)

* New translations tabs.json (Dutch)

* New translations actions.json (Catalan)

* New translations tabs.json (Catalan)

* New translations common.json (Ukrainian)

* New translations instance.json (Ukrainian)

* New translations parse.json (Ukrainian)

* New translations relationship.json (Ukrainian)

* New translations timeline.json (Ukrainian)

* New translations actions.json (Ukrainian)

* New translations imageViewer.json (Ukrainian)

* New translations announcements.json (Ukrainian)

* New translations compose.json (Ukrainian)

* New translations screens.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations mediaSelector.json (Ukrainian)

* New translations emojis.json (Ukrainian)

* New translations contextMenu.json (Ukrainian)

* New translations accountSelection.json (Ukrainian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations compose.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations contextMenu.json (Ukrainian)

* New translations accountSelection.json (Ukrainian)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations common.json (Italian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (French)

* New translations tabs.json (French)

* New translations contextMenu.json (French)

* New translations tabs.json (Spanish)

* New translations common.json (Swedish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Dutch)

* New translations common.json (Catalan)

* New translations tabs.json (Catalan)

* New translations tabs.json (Vietnamese)

* New translations timeline.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations mediaSelector.json (Ukrainian)

* New translations emojis.json (Ukrainian)

* New translations contextMenu.json (Ukrainian)

* New translations timeline.json (Ukrainian)

* New translations compose.json (Ukrainian)

* New translations screens.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations tabs.json (Swedish)

* New translations tabs.json (Dutch)

* New translations common.json (Spanish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations tabs.json (German)

* New translations common.json (Polish)

* New translations common.json (Polish)

* New translations tabs.json (Polish)

* New translations contextMenu.json (Polish)

* New translations instance.json (German)

* New translations instance.json (Italian)

* New translations instance.json (Japanese)

* New translations instance.json (Korean)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Chinese Traditional)

* New translations instance.json (Vietnamese)

* New translations instance.json (Portuguese, Brazilian)

* New translations compose.json (German)

* New translations compose.json (Italian)

* New translations compose.json (Japanese)

* New translations compose.json (Korean)

* New translations compose.json (Chinese Simplified)

* New translations compose.json (Chinese Traditional)

* New translations compose.json (Vietnamese)

* New translations compose.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations instance.json (French)

* New translations compose.json (French)

* New translations tabs.json (French)

* New translations compose.json (Polish)

* New translations tabs.json (Polish)

* New translations instance.json (Spanish)

* New translations compose.json (Spanish)

* New translations tabs.json (Spanish)

* New translations instance.json (Swedish)

* New translations compose.json (Swedish)

* New translations tabs.json (Swedish)

* New translations compose.json (Czech)

* New translations tabs.json (Czech)

* New translations instance.json (Dutch)

* New translations compose.json (Dutch)

* New translations tabs.json (Dutch)

* New translations instance.json (Catalan)

* New translations compose.json (Catalan)

* New translations tabs.json (Catalan)

* New translations instance.json (Ukrainian)

* New translations compose.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations instance.json (German)

* New translations tabs.json (German)

* New translations instance.json (Swedish)

* New translations tabs.json (Swedish)

* New translations instance.json (Japanese)

* New translations timeline.json (German)

* New translations timeline.json (Italian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations tabs.json (Japanese)

* New translations timeline.json (French)

* New translations timeline.json (Polish)

* New translations timeline.json (Spanish)

* New translations timeline.json (Swedish)

* New translations timeline.json (Czech)

* New translations timeline.json (Dutch)

* New translations timeline.json (Catalan)

* New translations timeline.json (Ukrainian)

* New translations timeline.json (Swedish)

* New translations instance.json (Ukrainian)

* New translations timeline.json (Ukrainian)

* New translations tabs.json (Ukrainian)

* New translations instance.json (Chinese Traditional)

* New translations instance.json (Vietnamese)

* New translations timeline.json (Vietnamese)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations timeline.json (Japanese)

* New translations tabs.json (Polish)

* New translations timeline.json (Polish)

* New translations instance.json (Dutch)

* New translations timeline.json (Dutch)

* New translations tabs.json (Dutch)

* New translations timeline.json (German)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Ukrainian)

* New translations instance.json (Chinese Simplified)

* New translations timeline.json (Chinese Simplified)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Swedish)

* New translations tabs.json (Ukrainian)
2022-12-15 00:09:43 +01:00
xmflsct c90c8ee8d4 Fixed #452
Unfortunately iOS does not display RTL languages automatically like Android does, so some simple JS library is needed
2022-12-15 00:03:09 +01:00
xmflsct 4a35e910c1 Fixed #447 2022-12-14 23:37:41 +01:00
xmflsct 7f8a8de898 Fixed #240 2022-12-12 23:59:38 +01:00
xmflsct 6e8515d820 Continue to improve #535 2022-12-12 23:57:07 +01:00
xmflsct 17d4245cd9 Fix card url matching regex 2022-12-12 22:56:31 +01:00
xmflsct 96497aad25 Fixed #552
Assuming most toot won't include more than 4 images. For below 4 images, mostly they are not cropped unless they are too long. For single image, mostly it is not cropped unless it is longer than 3/2.
2022-12-12 22:24:03 +01:00
xmflsct 91be219ff3 Fixed #553 2022-12-12 21:02:17 +01:00
xmflsct 6936e8009a Fixed #554 2022-12-12 20:43:45 +01:00
xmflsct dee4e2810a Bump packages 2022-12-12 00:31:32 +01:00
xmflsct 24ccee8afa Fixed #525
HTML is removed. In this way, if a URL is changed, it can be highlighted as well
2022-12-11 16:52:34 +01:00
xmflsct 306bc45e33 Improve status mini card 2022-12-11 14:08:27 +01:00
xmflsct acca2683af Fix reply card for using the full width 2022-12-11 12:16:12 +01:00
xmflsct c18089bf8a Fixed #549 2022-12-11 12:12:46 +01:00
xmflsct e542f0a52e Fixed #534 2022-12-11 01:46:14 +01:00
xmflsct 73eb695cfc Fixed #538 2022-12-11 01:37:26 +01:00
xmflsct 44379504eb Fixed #533
Added trending in the "public" tab
2022-12-11 01:08:38 +01:00
xmflsct 1ece7b3fe3 Fixed #541
Mastodon does not offer the functionality to group notifications like Twitter does, therefore the best solution is to collapse more content by default, assuming users roughly remember what they have tooted
2022-12-10 23:24:41 +01:00
xmflsct 36bbe5bdbd Fixed #548 2022-12-10 23:11:41 +01:00
xmflsct 213328ef1a Add admin notifications besides push #535 2022-12-10 22:43:37 +01:00
xmflsct bdbacf579e Fixed #536 2022-12-10 20:19:18 +01:00
xmflsct 357c4039cb
544 migrate to react query v4 (#547)
* Update all imports

* Update isLoading

* Update onlineManager
2022-12-10 14:47:19 +01:00
xmflsct b449d50b78 Fix push server key data staled 2022-12-10 13:38:26 +01:00
xmflsct 88312e4df5 Fix missing comma 2022-12-10 02:07:49 +01:00
xmflsct 748351026f Improve push error messaging 2022-12-10 01:59:26 +01:00
xmflsct 1a069d5acc Fixed #542 2022-12-10 00:42:45 +01:00
xmflsct e7fb9ed452 Try to fix #543
No physical phone to test
2022-12-10 00:31:11 +01:00
xmflsct 1b58bcad3e Fixed #535 2022-12-09 21:09:00 +01:00
xmflsct 44f83e44b9 Fixed #539
Respect system's reduced motion enabled setting
2022-12-09 00:48:34 +01:00
xmflsct 4a28d47b41 Simple fix #540 2022-12-09 00:35:02 +01:00
xmflsct 7a14c89e5b Fixed #537 2022-12-08 00:38:05 +01:00
xmflsct d6b3eabb18 Fixed #527 2022-12-08 00:19:22 +01:00
xmflsct 3e081ab377 Bringing back building apk 2022-12-08 00:13:41 +01:00
xmflsct 3345692719 Remove review menu 2022-12-08 00:11:03 +01:00
xmflsct 705c1d0ad0 Fixed #529 2022-12-07 23:56:00 +01:00
xmflsct c89612d875 Fixed #530 thanks to ChatGPT 2022-12-06 21:54:32 +01:00
xmflsct 5239fb83c6
New Crowdin updates (#524)
* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations tabs.json (Dutch)

* New translations tabs.json (Catalan)

* New translations tabs.json (Chinese Simplified)
2022-12-05 23:21:10 +01:00
xmflsct 1f2e34e9da Added push server error messaging
Also clean up <Message> component
2022-12-05 23:15:07 +01:00
xmflsct c4f825e087 Would adding View helps #472 ? 2022-12-05 22:11:45 +01:00
xmflsct 5338720106 Fix notification account info not shown 2022-12-05 21:30:19 +01:00
xmflsct 53b38004c3
New Crowdin updates (#517)
* New translations contextMenu.json (Vietnamese)

* New translations tabs.json (Vietnamese)

* New translations common.json (Vietnamese)
2022-12-05 19:59:41 +01:00
xmflsct 210b34304c Refine error logging
Previous attempt resulted in truncated error object which is not readable
2022-12-05 19:24:03 +01:00
xmflsct db6ef36278 Fix account description folding 2022-12-05 18:56:38 +01:00
xmflsct 51489e8e26
New Crowdin updates (#512)
* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Catalan)

* New translations tabs.json (Spanish)

* New translations tabs.json (Catalan)

* New translations contextMenu.json (Japanese)

* New translations screens.json (Dutch)

* New translations tabs.json (Dutch)

* New translations mediaSelector.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations tabs.json (Dutch)

* New translations contextMenu.json (Dutch)
2022-12-05 14:52:48 +01:00
xmflsct c6e27d6d88 Fixed #514 2022-12-05 14:50:03 +01:00
xmflsct 955478c605 Try out DoNotMix
#499
2022-12-05 13:43:02 +01:00
xmflsct 2516b9753b Fix iOS language cannot be changed 2022-12-05 13:40:36 +01:00
xmflsct a901fdb9ff
New Crowdin updates (#509)
* New translations contextMenu.json (German)

* New translations tabs.json (Chinese Traditional)
2022-12-04 20:09:38 +01:00
xmflsct 3d590d836d Fix search debouncing 2022-12-04 20:08:55 +01:00
xmflsct e2e5e80aaf Remove previous fix attempts
#499
2022-12-04 18:42:01 +01:00
xmflsct cb7762d18c Fix Sentry reports 2022-12-04 17:56:47 +01:00
xmflsct b70ca924a1 Fix wrong query key 2022-12-04 16:16:53 +01:00
xmflsct fc06e4c629 Update audio.ts 2022-12-04 16:05:35 +01:00
xmflsct 35bf588b75
Merge pull request #492 from de1acr0ix/fullscreen-video-play-from-start
Always play video in fullscreen from beginning
2022-12-04 14:49:23 +01:00
xmflsct 580ed84d67
New Crowdin updates (#503)
* New translations tabs.json (German)

* New translations tabs.json (Japanese)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations tabs.json (Korean)

* New translations common.json (Korean)

* New translations screens.json (Korean)

* New translations tabs.json (Korean)

* New translations tabs.json (Swedish)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations contextMenu.json (French)

* New translations contextMenu.json (Polish)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Swedish)

* New translations contextMenu.json (Czech)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (Catalan)

* New translations contextMenu.json (Chinese Simplified)
2022-12-04 14:39:44 +01:00
xmflsct 79246ff821 Refine logging 2022-12-04 14:39:27 +01:00
xmflsct 8d0a58b975
Merge pull request #507 from de1acr0ix/workaround-ios-background-stop-other-audio
Patch expo-av to fix audio issue when switched to background on iOS
2022-12-04 13:58:34 +01:00
Hanjiang Yu 24d57704b9 Patch expo-av 2022-12-04 20:48:52 +08:00
xmflsct 413bb4b76f Fixed #506 2022-12-04 13:48:50 +01:00
xmflsct 196fb05dea Remove button animation
Not great
2022-12-04 13:37:42 +01:00
xmflsct c79caa6dc7 Fixed #505 2022-12-04 13:26:36 +01:00
xmflsct e1e700543f Refine component account 2022-12-04 12:57:03 +01:00
xmflsct 6146ecf712 Fix git folder renaming 2022-12-04 12:29:44 +01:00
xmflsct 7faa4b5044 Added Catalan 2022-12-04 01:24:37 +01:00
xmflsct 277d114b27 Added Dutch 2022-12-04 01:20:49 +01:00
xmflsct 7096c0e2cb Merge branch 'main' of https://github.com/tooot-app/app 2022-12-04 01:14:43 +01:00
xmflsct b3441d6edb
New Crowdin updates (#488)
* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Spanish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Czech)

* New translations common.json (Dutch)

* New translations instance.json (Dutch)

* New translations parse.json (Dutch)

* New translations relationship.json (Dutch)

* New translations timeline.json (Dutch)

* New translations actions.json (Dutch)

* New translations imageViewer.json (Dutch)

* New translations announcements.json (Dutch)

* New translations compose.json (Dutch)

* New translations screens.json (Dutch)

* New translations tabs.json (Dutch)

* New translations mediaSelector.json (Dutch)

* New translations emojis.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations accountSelection.json (Dutch)

* New translations common.json (Dutch)

* New translations instance.json (Dutch)

* New translations parse.json (Dutch)

* New translations relationship.json (Dutch)

* New translations timeline.json (Dutch)

* New translations actions.json (Dutch)

* New translations imageViewer.json (Dutch)

* New translations announcements.json (Dutch)

* New translations compose.json (Dutch)

* New translations screens.json (Dutch)

* New translations tabs.json (Dutch)

* New translations timeline.json (Dutch)

* New translations actions.json (Dutch)

* New translations compose.json (Dutch)

* New translations screens.json (Dutch)

* New translations tabs.json (Dutch)

* New translations mediaSelector.json (Dutch)

* New translations emojis.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations accountSelection.json (Dutch)

* New translations instance.json (German)

* New translations tabs.json (Chinese Traditional)

* New translations compose.json (Chinese Simplified)

* New translations compose.json (Chinese Traditional)

* New translations compose.json (Vietnamese)

* New translations compose.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Vietnamese)

* New translations compose.json (Japanese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Korean)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (Vietnamese)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (French)

* New translations compose.json (Korean)

* New translations compose.json (Italian)

* New translations instance.json (Italian)

* New translations contextMenu.json (Chinese Simplified)

* New translations instance.json (Japanese)

* New translations instance.json (Korean)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Chinese Traditional)

* New translations instance.json (Vietnamese)

* New translations instance.json (Portuguese, Brazilian)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Traditional)

* New translations compose.json (German)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations imageViewer.json (German)

* New translations imageViewer.json (Italian)

* New translations imageViewer.json (Japanese)

* New translations imageViewer.json (Korean)

* New translations imageViewer.json (Chinese Simplified)

* New translations imageViewer.json (Chinese Traditional)

* New translations imageViewer.json (Vietnamese)

* New translations imageViewer.json (Portuguese, Brazilian)

* New translations instance.json (French)

* New translations imageViewer.json (French)

* New translations imageViewer.json (Swedish)

* New translations tabs.json (Dutch)

* New translations compose.json (Dutch)

* New translations imageViewer.json (Dutch)

* New translations instance.json (Dutch)

* New translations common.json (Dutch)

* New translations contextMenu.json (Czech)

* New translations tabs.json (Czech)

* New translations compose.json (Czech)

* New translations imageViewer.json (Czech)

* New translations instance.json (Czech)

* New translations common.json (Czech)

* New translations contextMenu.json (Swedish)

* New translations tabs.json (Swedish)

* New translations compose.json (Swedish)

* New translations instance.json (Swedish)

* New translations compose.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (French)

* New translations contextMenu.json (French)

* New translations common.json (Polish)

* New translations instance.json (Polish)

* New translations imageViewer.json (Polish)

* New translations compose.json (Polish)

* New translations contextMenu.json (Polish)

* New translations common.json (Swedish)

* New translations common.json (Spanish)

* New translations instance.json (Spanish)

* New translations imageViewer.json (Spanish)

* New translations compose.json (Spanish)

* New translations tabs.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (Japanese)

* New translations tabs.json (Japanese)

* New translations common.json (Japanese)

* New translations common.json (Dutch)

* New translations tabs.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations common.json (Swedish)

* New translations tabs.json (Swedish)

* New translations contextMenu.json (Swedish)

* New translations contextMenu.json (Dutch)

* New translations contextMenu.json (German)

* New translations tabs.json (German)

* New translations common.json (German)

* New translations common.json (Spanish)

* New translations tabs.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations contextMenu.json (Vietnamese)

* New translations tabs.json (Vietnamese)

* New translations common.json (Vietnamese)

* New translations contextMenu.json (German)

* New translations tabs.json (Spanish)

* New translations common.json (French)

* New translations tabs.json (French)

* New translations contextMenu.json (French)

* New translations common.json (Polish)

* New translations tabs.json (Polish)

* New translations contextMenu.json (Polish)

* New translations common.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations common.json (Vietnamese)

* New translations common.json (Swedish)

* New translations tabs.json (Swedish)

* New translations contextMenu.json (Swedish)

* New translations common.json (Czech)

* New translations tabs.json (Czech)

* New translations contextMenu.json (Czech)

* New translations common.json (Dutch)

* New translations tabs.json (Dutch)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (Chinese Traditional)

* New translations contextMenu.json (Italian)

* New translations tabs.json (Japanese)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Korean)

* New translations common.json (Chinese Simplified)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Korean)

* New translations contextMenu.json (Dutch)

* New translations actions.json (Catalan)

* New translations contextMenu.json (Catalan)

* New translations emojis.json (Catalan)

* New translations mediaSelector.json (Catalan)

* New translations tabs.json (Catalan)

* New translations screens.json (Catalan)

* New translations compose.json (Catalan)

* New translations announcements.json (Catalan)

* New translations imageViewer.json (Catalan)

* New translations timeline.json (Catalan)

* New translations timeline.json (Chinese Traditional)

* New translations relationship.json (Catalan)

* New translations parse.json (Catalan)

* New translations instance.json (Catalan)

* New translations common.json (Catalan)

* New translations contextMenu.json (Spanish)

* New translations common.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations contextMenu.json (Chinese Traditional)

* New translations mediaSelector.json (Chinese Traditional)

* New translations accountSelection.json (Catalan)

* New translations common.json (Dutch)

* New translations tabs.json (Dutch)

* New translations contextMenu.json (Dutch)

* New translations common.json (Catalan)

* New translations instance.json (Catalan)

* New translations parse.json (Catalan)

* New translations timeline.json (Catalan)

* New translations actions.json (Catalan)

* New translations imageViewer.json (Catalan)

* New translations announcements.json (Catalan)

* New translations compose.json (Catalan)

* New translations screens.json (Catalan)

* New translations tabs.json (Catalan)

* New translations contextMenu.json (Catalan)

* New translations tabs.json (Spanish)

* New translations compose.json (Catalan)

* New translations tabs.json (Catalan)

* New translations tabs.json (German)

* New translations tabs.json (Polish)

* New translations compose.json (Catalan)

* New translations timeline.json (Catalan)

* New translations tabs.json (Dutch)

* New translations tabs.json (Czech)

* New translations tabs.json (Swedish)

* New translations tabs.json (Spanish)

* New translations tabs.json (French)

* New translations tabs.json (Italian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Korean)

* New translations tabs.json (Japanese)

* New translations tabs.json (Catalan)

* New translations tabs.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Simplified)

* New translations common.json (Chinese Simplified)
2022-12-04 01:14:27 +01:00
xmflsct 52ece9a2eb Bump up packages 2022-12-04 01:12:59 +01:00
xmflsct be30ec3e3c Fix Android crashing 2022-12-04 00:38:15 +01:00
xmflsct 9f76fa08a8 Fix Android browser package 2022-12-04 00:35:13 +01:00
xmflsct d8bff02136 Fix logging logic 2022-12-04 00:13:54 +01:00
xmflsct dab09369cb Add trending tags in search landing page 2022-12-03 23:49:14 +01:00
xmflsct 8a7e78485d Add hashtag sparkline 2022-12-03 23:10:20 +01:00
xmflsct 7421ffd1bc Fix toot relative time does not align with app's language 2022-12-03 21:56:52 +01:00
xmflsct 0fd3fcfd3f Add logging for #472 2022-12-03 21:38:35 +01:00
xmflsct 507ecf5eeb Fix history page 2022-12-03 21:14:00 +01:00
xmflsct 20a55efb9c Fixed #476 2022-12-03 20:47:11 +01:00
xmflsct 6a9f951dba Move screen options into each screen 2022-12-03 16:50:54 +01:00
xmflsct ddfd3a830d
Merge pull request #500 from tooot-app/dependabot/npm_and_yarn/decode-uri-component-0.2.2
Bump decode-uri-component from 0.2.0 to 0.2.2
2022-12-03 16:30:26 +01:00
xmflsct 29fd36a581 Fixed #495 2022-12-03 15:50:15 +01:00
dependabot[bot] 267fa2194d
Bump decode-uri-component from 0.2.0 to 0.2.2
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 00:09:10 +00:00
xmflsct a3a0bf523f Moving to using zeego 2022-12-03 01:08:38 +01:00
xmflsct f619d1bb6a Partial fix #495
Added list removing users
2022-12-02 00:13:59 +01:00
xmflsct 0cc1cdd4b6 Partial fix #495
Add delete list
Also trying out new context menu
2022-11-30 23:47:05 +01:00
xmflsct bb3ddd2779 Partial fix #495
Add list
Edit list info
2022-11-30 22:42:42 +01:00
xmflsct de7498b218 Fixed #497 2022-11-29 23:44:11 +01:00
xmflsct 75800598c2 Fix #489 2022-11-29 21:59:52 +01:00
xmflsct eda77fd7fc Bump packages 2022-11-29 21:58:59 +01:00
xmflsct b80c84f181
Merge pull request #493 from de1acr0ix/fix-undefined-in-dm
Fix the "undefined" string in DM
2022-11-28 22:53:35 +01:00
xmflsct d5c65af44c
Merge pull request #491 from de1acr0ix/audio-in-silent-mode-ios
Play audio in silent mode on iOS
2022-11-28 22:50:27 +01:00
Hanjiang Yu c60de7a5a1 Fix the "undefined" string in DM 2022-11-28 21:42:01 +08:00
Hanjiang Yu 0a5fea1194 Always play video in fullscreen from beginning 2022-11-28 20:36:39 +08:00
Hanjiang Yu 0e9ef0ec40 Play audio in silent mode on iOS 2022-11-25 22:31:49 +08:00
xmflsct bd750da9d5 Update useConnect.ts 2022-11-23 22:09:41 +01:00
xmflsct 6c17123fe3 Try if can find out why badge is not cleared 2022-11-23 21:31:58 +01:00
xmflsct a9d40079cc
New Crowdin updates (#479)
* New translations tabs.json (Japanese)

* New translations tabs.json (Swedish)

* New translations compose.json (Swedish)

* New translations compose.json (Swedish)

* New translations tabs.json (Swedish)

* New translations instance.json (German)

* New translations timeline.json (German)

* New translations contextMenu.json (German)

* New translations actions.json (German)

* New translations tabs.json (German)
2022-11-22 22:04:23 +01:00
xmflsct a0c440be5e Should fix #484 2022-11-22 22:00:33 +01:00
xmflsct 9b40a605b4 Fixed #481 2022-11-22 21:44:56 +01:00
xmflsct a631966952 Now it should finally fix #451 2022-11-22 21:39:25 +01:00
xmflsct 39bda959e3 Bump up packages 2022-11-22 21:10:09 +01:00
xmflsct 8a8b95180b Could not figure out how to build apk properly now
https://github.com/facebook/react-native/issues/34686#issuecomment-1248204118
2022-11-21 21:31:48 +01:00
xmflsct c07522f68b
New Crowdin updates (#474)
* New translations relationship.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Spanish)

* New translations tabs.json (Spanish)

* New translations timeline.json (Spanish)

* New translations screens.json (Spanish)

* New translations tabs.json (Spanish)
2022-11-20 22:49:36 +01:00
xmflsct 51165e47ea Fix Android sharing 2022-11-20 22:42:09 +01:00
xmflsct bfd9e8d50c Update Default.tsx 2022-11-20 22:27:15 +01:00
xmflsct 4f329d7724 Update audio.ts 2022-11-20 22:02:19 +01:00
xmflsct e8b3187f9e Try stopping video playback if audio issue could be fiexed 2022-11-20 17:39:36 +01:00
xmflsct 668a1dc6a6 Added Swedish translation 2022-11-20 16:47:11 +01:00
xmflsct c6bdc08d0f
New Crowdin updates (#468)
* New translations tabs.json (Spanish)

* New translations common.json (Spanish)

* New translations instance.json (Spanish)

* New translations timeline.json (Spanish)

* New translations tabs.json (Spanish)

* New translations mediaSelector.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations tabs.json (Spanish)

* New translations mediaSelector.json (Italian)

* New translations parse.json (Italian)

* New translations relationship.json (Italian)

* New translations timeline.json (Italian)

* New translations actions.json (Italian)

* New translations announcements.json (Italian)

* New translations compose.json (Italian)

* New translations accountSelection.json (Italian)

* New translations common.json (Swedish)

* New translations instance.json (Swedish)

* New translations parse.json (Swedish)

* New translations relationship.json (Swedish)

* New translations timeline.json (Swedish)

* New translations actions.json (Swedish)

* New translations imageViewer.json (Swedish)

* New translations announcements.json (Swedish)

* New translations compose.json (Swedish)

* New translations screens.json (Swedish)

* New translations tabs.json (Swedish)

* New translations mediaSelector.json (Swedish)

* New translations emojis.json (Swedish)

* New translations contextMenu.json (Swedish)

* New translations accountSelection.json (Swedish)

* New translations common.json (Swedish)

* New translations instance.json (Swedish)

* New translations instance.json (Swedish)

* New translations parse.json (Swedish)

* New translations relationship.json (Swedish)

* New translations timeline.json (Swedish)

* New translations timeline.json (Swedish)

* New translations actions.json (Swedish)

* New translations imageViewer.json (Swedish)

* New translations announcements.json (Swedish)

* New translations compose.json (Swedish)

* New translations tabs.json (Swedish)

* New translations mediaSelector.json (Swedish)

* New translations emojis.json (Swedish)

* New translations contextMenu.json (Swedish)

* New translations accountSelection.json (Swedish)

* New translations compose.json (Swedish)

* New translations screens.json (Swedish)

* New translations tabs.json (Swedish)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Polish)

* New translations tabs.json (Swedish)

* New translations tabs.json (Spanish)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations tabs.json (Swedish)

* New translations tabs.json (Spanish)
2022-11-20 16:42:11 +01:00
xmflsct 18e7262f6f Fixed #471 2022-11-20 16:14:08 +01:00
xmflsct fbfae52627 Try fix #451
Android does not support true context menu anyway, thus removing per toot component.
2022-11-20 14:41:41 +01:00
xmflsct bf8826fec4 Fixed #469 2022-11-19 17:48:51 +01:00
xmflsct f1e424e919 Update Podfile.lock 2022-11-17 23:13:26 +01:00
xmflsct 6939010ffd
New Crowdin updates (#465)
* New translations timeline.json (Italian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (German)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations timeline.json (French)

* New translations timeline.json (Spanish)

* New translations tabs.json (Spanish)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Italian)

* New translations timeline.json (German)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (French)

* New translations timeline.json (French)

* New translations timeline.json (Spanish)

* New translations tabs.json (Spanish)
2022-11-17 22:40:47 +01:00
xmflsct ce0adeeb66 Try Android fix
https://github.com/mpiannucci/react-native-context-menu-view/issues/43#issuecomment-1035516730
2022-11-17 22:28:58 +01:00
xmflsct e91a1e3eff Refine copy 2022-11-17 22:22:23 +01:00
xmflsct 3038127fcc Fix filtering hashtag 2022-11-17 22:18:34 +01:00
xmflsct 5907d43eb2 Fixed #463 2022-11-17 21:48:22 +01:00
xmflsct aa5ad5cd4e Fixed #464 2022-11-17 20:13:09 +01:00
xmflsct 94c4c7c942 Prevent i18next from barking
https://github.com/i18next/i18next/pull/1865
2022-11-17 20:09:07 +01:00
xmflsct 1b2e651117 Added Spanish translation 2022-11-17 20:02:56 +01:00
xmflsct 64762d4670 Merge branch 'main' of https://github.com/tooot-app/app 2022-11-17 19:48:46 +01:00
xmflsct 92b28660ef
New Crowdin updates (#462)
* New translations common.json (Spanish)

* New translations instance.json (Spanish)

* New translations parse.json (Spanish)

* New translations relationship.json (Spanish)

* New translations timeline.json (Spanish)

* New translations actions.json (Spanish)

* New translations imageViewer.json (Spanish)

* New translations announcements.json (Spanish)

* New translations compose.json (Spanish)

* New translations timeline.json (German)

* New translations actions.json (German)

* New translations compose.json (German)

* New translations tabs.json (German)

* New translations timeline.json (Spanish)

* New translations mediaSelector.json (Spanish)

* New translations emojis.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations timeline.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (German)

* New translations contextMenu.json (German)

* New translations announcements.json (Spanish)

* New translations compose.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations accountSelection.json (Spanish)

* New translations timeline.json (Spanish)

* New translations imageViewer.json (Spanish)

* New translations compose.json (Spanish)

* New translations tabs.json (Spanish)

* New translations instance.json (Korean)

* New translations parse.json (Korean)

* New translations timeline.json (Korean)

* New translations mediaSelector.json (Korean)

* New translations emojis.json (Korean)

* New translations contextMenu.json (Korean)

* New translations instance.json (Korean)

* New translations timeline.json (Korean)

* New translations contextMenu.json (Korean)

* New translations actions.json (Korean)

* New translations announcements.json (Korean)

* New translations compose.json (Korean)

* New translations tabs.json (Korean)

* New translations accountSelection.json (Korean)

* New translations screens.json (Korean)

* New translations timeline.json (Spanish)

* New translations common.json (Spanish)

* New translations timeline.json (Spanish)

* New translations actions.json (Spanish)

* New translations compose.json (Spanish)

* New translations screens.json (Spanish)

* New translations tabs.json (Spanish)
2022-11-17 19:48:04 +01:00
xmflsct 0d39f25f39 Bump packages 2022-11-17 19:34:43 +01:00
xmflsct 0f6a28abc5 Fix building 2022-11-14 17:54:11 +01:00
xmflsct 925ba2e263
Merge branch 'candidate' into main 2022-11-14 16:12:05 +01:00
xmflsct 83090397ec
New Crowdin updates (#455)
* New translations timeline.json (German)

* New translations timeline.json (Italian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (French)

* New translations contextMenu.json (French)

* New translations timeline.json (Chinese Simplified)

* New translations common.json (Polish)

* New translations instance.json (Polish)

* New translations parse.json (Polish)

* New translations relationship.json (Polish)

* New translations timeline.json (Polish)

* New translations actions.json (Polish)

* New translations imageViewer.json (Polish)

* New translations announcements.json (Polish)

* New translations compose.json (Polish)

* New translations screens.json (Polish)

* New translations tabs.json (Polish)

* New translations mediaSelector.json (Polish)

* New translations emojis.json (Polish)

* New translations contextMenu.json (Polish)

* New translations accountSelection.json (Polish)

* New translations parse.json (Japanese)

* New translations timeline.json (Japanese)

* New translations mediaSelector.json (Japanese)

* New translations tabs.json (Japanese)

* New translations screens.json (Japanese)

* New translations timeline.json (French)

* New translations common.json (Polish)

* New translations timeline.json (Polish)

* New translations common.json (Spanish)

* New translations instance.json (Spanish)

* New translations parse.json (Spanish)

* New translations relationship.json (Spanish)

* New translations timeline.json (Spanish)

* New translations actions.json (Spanish)

* New translations imageViewer.json (Spanish)

* New translations announcements.json (Spanish)

* New translations compose.json (Spanish)

* New translations screens.json (Spanish)

* New translations tabs.json (Spanish)

* New translations mediaSelector.json (Spanish)

* New translations emojis.json (Spanish)

* New translations contextMenu.json (Spanish)

* New translations accountSelection.json (Spanish)

* New translations timeline.json (Vietnamese)

* New translations tabs.json (Vietnamese)
2022-11-14 16:08:35 +01:00
xmflsct f11d3abe98 Try to capture connect failure 2022-11-14 16:04:15 +01:00
xmflsct 95f0c5859b Bump SDWebImage 2022-11-14 16:04:05 +01:00
xmflsct b196d87cb1 Fixed #442 2022-11-14 15:54:51 +01:00
xmflsct 6a90557d2b Fix Android building 2022-11-14 14:52:23 +01:00
xmflsct dc83818e90 Increase review count 2022-11-12 18:01:17 +01:00
xmflsct 641e1f0cdc
Test updates (#456)
* Build succeeded

* Fix RN update caused Android build error

Spent whole fucking 2 days to figure this out https://github.com/facebook/react-native/issues/35210

* Fixed #408

Potentially because of too small pressable area

* Fixed #439

* Bump up RN and Expo

* Fixed #450

* Spelling (#449)

* spelling: announcement

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: corrupted

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: dimensions

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: favourites

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: mutation

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: retrieve

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: transitive

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* Fixed #451

More properly adjusted flexbox layout

* Partial fix of #444

It is possible to implement what the web does but that adds additional resources which I believe is not justified. Filtering is meant to be precise. Even hiding the entire block that you still would like to take a look at the content, then why would you set up a certain filter then.

Though showing the matched filter is still useful.

* New Crowdin updates (#440)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (Chinese Simplified)

* New translations instance.json (German)

* New translations parse.json (German)

* New translations timeline.json (German)

* New translations mediaSelector.json (German)

* New translations emojis.json (German)

* New translations contextMenu.json (German)

* New translations actions.json (German)

* New translations compose.json (German)

* New translations accountSelection.json (German)

* New translations timeline.json (German)

* New translations contextMenu.json (German)

* New translations actions.json (German)

* New translations compose.json (German)

* New translations tabs.json (German)

* New translations screens.json (German)

* New translations common.json (French)

* New translations instance.json (French)

* New translations parse.json (French)

* New translations relationship.json (French)

* New translations timeline.json (French)

* New translations actions.json (French)

* New translations imageViewer.json (French)

* New translations announcements.json (French)

* New translations compose.json (French)

* New translations screens.json (French)

* New translations tabs.json (French)

* New translations mediaSelector.json (French)

* New translations emojis.json (French)

* New translations contextMenu.json (French)

* New translations accountSelection.json (French)

* New translations actions.json (French)

* New translations announcements.json (French)

* New translations compose.json (French)

* New translations accountSelection.json (French)

* New translations instance.json (French)

* New translations parse.json (French)

* New translations relationship.json (French)

* New translations timeline.json (French)

* New translations imageViewer.json (French)

* New translations compose.json (French)

* New translations tabs.json (French)

* New translations mediaSelector.json (French)

* New translations emojis.json (French)

* New translations contextMenu.json (French)

* New translations common.json (French)

* New translations compose.json (French)

* New translations screens.json (French)

* New translations tabs.json (French)

* New translations contextMenu.json (French)

* New translations common.json (French)

* New translations instance.json (French)

* Added French translation 🇫🇷

* Fixed #454

* Fixed #443

Basically matching all none whitespace characters

* Fixed #446

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-12 17:59:32 +01:00
xmflsct f2de56f602 Fixed #446 2022-11-12 17:52:50 +01:00
xmflsct c8c3adf088 Fixed #443
Basically matching all none whitespace characters
2022-11-12 12:02:28 +01:00
xmflsct 4d7606cd53 Fixed #454 2022-11-12 11:51:29 +01:00
xmflsct 026ee9ce6d Added French translation 🇫🇷 2022-11-11 23:59:16 +01:00
xmflsct d6a2ae5e56
New Crowdin updates (#440)
* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Japanese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Portuguese, Brazilian)

* New translations tabs.json (Chinese Simplified)

* New translations instance.json (German)

* New translations parse.json (German)

* New translations timeline.json (German)

* New translations mediaSelector.json (German)

* New translations emojis.json (German)

* New translations contextMenu.json (German)

* New translations actions.json (German)

* New translations compose.json (German)

* New translations accountSelection.json (German)

* New translations timeline.json (German)

* New translations contextMenu.json (German)

* New translations actions.json (German)

* New translations compose.json (German)

* New translations tabs.json (German)

* New translations screens.json (German)

* New translations common.json (French)

* New translations instance.json (French)

* New translations parse.json (French)

* New translations relationship.json (French)

* New translations timeline.json (French)

* New translations actions.json (French)

* New translations imageViewer.json (French)

* New translations announcements.json (French)

* New translations compose.json (French)

* New translations screens.json (French)

* New translations tabs.json (French)

* New translations mediaSelector.json (French)

* New translations emojis.json (French)

* New translations contextMenu.json (French)

* New translations accountSelection.json (French)

* New translations actions.json (French)

* New translations announcements.json (French)

* New translations compose.json (French)

* New translations accountSelection.json (French)

* New translations instance.json (French)

* New translations parse.json (French)

* New translations relationship.json (French)

* New translations timeline.json (French)

* New translations imageViewer.json (French)

* New translations compose.json (French)

* New translations tabs.json (French)

* New translations mediaSelector.json (French)

* New translations emojis.json (French)

* New translations contextMenu.json (French)

* New translations common.json (French)

* New translations compose.json (French)

* New translations screens.json (French)

* New translations tabs.json (French)

* New translations contextMenu.json (French)

* New translations common.json (French)

* New translations instance.json (French)
2022-11-11 23:47:48 +01:00
xmflsct 1ae7cc7038 Partial fix of #444
It is possible to implement what the web does but that adds additional resources which I believe is not justified. Filtering is meant to be precise. Even hiding the entire block that you still would like to take a look at the content, then why would you set up a certain filter then.

Though showing the matched filter is still useful.
2022-11-11 23:46:22 +01:00
xmflsct 72917c21f6 Fixed #451
More properly adjusted flexbox layout
2022-11-11 22:46:08 +01:00
Josh Soref beb7ba9dc2
Spelling (#449)
* spelling: announcement

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: corrupted

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: dimensions

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: favourites

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: mutation

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: retrieve

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: transitive

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-11 21:53:30 +01:00
xmflsct 3207fc3b58 Fixed #450 2022-11-11 13:58:09 +01:00
xmflsct 6d6dd1a21c Bump up RN and Expo 2022-11-11 13:50:20 +01:00
xmflsct 020ad6be34 Merge branch 'upgrade-to-expo-47' 2022-11-10 19:43:39 +01:00
xmflsct d4be002016 Fixed #439 2022-11-06 23:39:31 +01:00
xmflsct 28028c8aab Fixed #408
Potentially because of too small pressable area
2022-11-05 23:42:59 +01:00
xmflsct 6dcf0f0d7d Fix RN update caused Android build error
Spent whole fucking 2 days to figure this out https://github.com/facebook/react-native/issues/35210
2022-11-05 22:41:10 +01:00
xmflsct 543d345ea5 Build succeeded 2022-11-05 22:33:16 +01:00
xmflsct abff63eef0
Merge pull request #434 from tooot-app/main
Test v4.5.1
2022-11-05 01:56:17 +01:00
xmflsct a0eac3bc01
New Crowdin updates (#431)
* New translations parse.json (Vietnamese)

* New translations timeline.json (Vietnamese)

* New translations tabs.json (Chinese Traditional)

* New translations instance.json (Chinese Traditional)

* New translations timeline.json (Chinese Traditional)

* New translations mediaSelector.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)
2022-11-05 01:55:44 +01:00
xmflsct 7063d30219 Bump to v4.5.1 2022-11-05 01:55:12 +01:00
xmflsct c75bf73a94 Fix Play Store complaining 2022-11-05 01:31:34 +01:00
xmflsct 9ec6f7331d Fixed #433
So weird iOS does not have this issue...
2022-11-05 01:19:44 +01:00
xmflsct 7ef88c735b Add details to UA 2022-11-05 01:11:09 +01:00
xmflsct 0d9992107c Fixed #432
这应该能修复问题1
2022-11-04 23:38:29 +01:00
xmflsct 4b1d628c5e Upgrade to Xcode 14.1 2022-11-04 23:18:21 +01:00
xmflsct 43c5f98529 Merge branch 'main' into candidate 2022-10-31 23:54:20 +01:00
xmflsct 534bfcaf78
New Crowdin updates (#429)
* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (Japanese)

* New translations timeline.json (Korean)

* New translations timeline.json (Italian)

* New translations timeline.json (German)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Chinese Traditional)
2022-10-31 23:54:09 +01:00
xmflsct 32cd53310c Merge branch 'main' into candidate 2022-10-31 23:44:17 +01:00
xmflsct cc3d5b14e5 Fixed #427 2022-10-31 23:43:42 +01:00
xmflsct fa0d28acd1 Fixed #426 2022-10-31 22:29:45 +01:00
xmflsct 4f22e4bd78 Fixed #425 2022-10-31 22:15:51 +01:00
xmflsct c75ecefb09 Fixed #424 2022-10-31 21:54:24 +01:00
xmflsct b6b27a821e Merge branch 'main' into candidate 2022-10-31 20:00:58 +01:00
xmflsct 5f53f66004 Merge branch 'main' of https://github.com/tooot-app/app 2022-10-31 19:42:52 +01:00
xmflsct 5c255ffa6d Prevent going back when zoomed 2022-10-31 19:42:49 +01:00
xmflsct 9863e13e43 Bump up packages 2022-10-31 19:42:14 +01:00
xmflsct 15fded8c6e
Merge pull request #423 from tooot-app/main
Update build.yml
2022-10-31 09:05:17 +01:00
xmflsct 7a5735acd7
Update build.yml 2022-10-31 09:04:53 +01:00
xmflsct bf10e15445 Merge branch 'main' into candidate 2022-10-31 00:31:52 +01:00
xmflsct da1ea314a4 Swipe down close image
https://github.com/intergalacticspacehighway/react-native-reanimated-zoom/issues/15
2022-10-31 00:31:31 +01:00
xmflsct eb5940b85d Merge branch 'main' of https://github.com/tooot-app/app 2022-10-31 00:22:23 +01:00
xmflsct 8a67fbb29c Fix iOS building 2022-10-31 00:22:20 +01:00
xmflsct badca62765
New Crowdin updates (#422)
* New translations mediaSelector.json (Chinese Traditional)

* New translations compose.json (Chinese Traditional)
2022-10-30 22:36:36 +01:00
xmflsct 7655d313a7 Merge branch 'main' into candidate 2022-10-30 22:25:11 +01:00
xmflsct 16574c7d6d Build 2022-10-30 22:25:06 +01:00
xmflsct ba5012134f Merge branch 'main' into candidate 2022-10-30 19:18:46 +01:00
xmflsct 30ca455634 Try to fix building 2022-10-30 19:17:52 +01:00
xmflsct 9a17d7de96 Merge branch 'main' into candidate 2022-10-30 17:48:26 +01:00
xmflsct ab0adb7c2b Merge branch 'main' of https://github.com/tooot-app/app 2022-10-30 17:43:00 +01:00
xmflsct 82be585a5b Try out live text view 2022-10-30 17:42:57 +01:00
xmflsct 24528b3bb5
New Crowdin updates (#421)
* New translations parse.json (German)

* New translations parse.json (Italian)

* New translations parse.json (Japanese)

* New translations parse.json (Korean)

* New translations parse.json (Chinese Simplified)

* New translations parse.json (Chinese Traditional)

* New translations parse.json (Vietnamese)

* New translations parse.json (Portuguese, Brazilian)

* New translations parse.json (Chinese Simplified)

* New translations parse.json (German)

* New translations parse.json (Italian)

* New translations parse.json (Japanese)

* New translations parse.json (Korean)

* New translations parse.json (Chinese Traditional)

* New translations parse.json (Vietnamese)

* New translations parse.json (Portuguese, Brazilian)
2022-10-30 15:29:23 +01:00
xmflsct d203c00279 Fixed #417 2022-10-30 15:05:40 +01:00
xmflsct 10e22f9d4a Fixed #418 2022-10-30 14:49:37 +01:00
xmflsct a8cd620cbb Bump SDWebImage 2022-10-30 14:34:38 +01:00
xmflsct 8bc59d3932 Added zh-Hant 2022-10-30 14:29:43 +01:00
xmflsct 73e4497a38
New Crowdin updates (#419)
* New translations common.json (Chinese Traditional)

* New translations screens.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations screens.json (Chinese Traditional)

* New translations instance.json (Chinese Traditional)

* New translations parse.json (Chinese Traditional)

* New translations timeline.json (Chinese Traditional)

* New translations mediaSelector.json (Chinese Traditional)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations actions.json (Chinese Traditional)

* New translations imageViewer.json (Chinese Traditional)

* New translations announcements.json (Chinese Traditional)

* New translations compose.json (Chinese Traditional)

* New translations tabs.json (Chinese Traditional)

* New translations accountSelection.json (Chinese Traditional)
2022-10-30 14:13:12 +01:00
xmflsct ec32054c8c
Merge pull request #415 from tooot-app/main
Test v4.5.0
2022-10-27 23:34:16 +02:00
xmflsct ea89bfcc9d
New translations timeline.json (Japanese) (#412) 2022-10-27 23:33:38 +02:00
xmflsct 4b39525c82 Try to fix #413 2022-10-27 23:25:09 +02:00
xmflsct 8aaa9bafb7 Fix copy menu item 2022-10-27 23:05:00 +02:00
xmflsct e5f750c3c8 Fix Sentry reported crashes 2022-10-27 22:51:02 +02:00
xmflsct db6b5e4e70 Bump packages 2022-10-27 22:18:38 +02:00
xmflsct 852948fd23
Update package.json
To trigger a new build
2022-10-12 14:53:24 +02:00
xmflsct b9cb66535c
Merge pull request #404 from tooot-app/main
Test v4.3.4
2022-10-11 22:31:56 +02:00
xmflsct 1dc91c160d
New translations mediaSelector.json (Vietnamese) (#403) 2022-10-11 22:30:36 +02:00
xmflsct 950bda6cb9 Update Fastfile 2022-10-11 22:30:18 +02:00
xmflsct e605a35e3a Use system's preferred language for iOS 2022-10-11 22:28:59 +02:00
xmflsct 757e5bb52f Bump packages 2022-10-11 22:25:28 +02:00
xmflsct 5f6be99657
Merge pull request #402 from tooot-app/main
Update build.yml
2022-10-11 01:08:18 +02:00
xmflsct b00f4c47fe
Update build.yml 2022-10-11 01:07:58 +02:00
xmflsct a62f0f14d1
Merge pull request #401 from tooot-app/main
Test v4.3.4
2022-10-11 00:18:24 +02:00
xmflsct 87fa16c0be
New Crowdin updates (#400)
* New translations mediaSelector.json (Chinese Traditional)

* New translations mediaSelector.json (German)

* New translations mediaSelector.json (Italian)

* New translations mediaSelector.json (Japanese)

* New translations mediaSelector.json (Korean)

* New translations mediaSelector.json (Chinese Simplified)

* New translations mediaSelector.json (Vietnamese)

* New translations mediaSelector.json (Portuguese, Brazilian)

* New translations mediaSelector.json (Chinese Simplified)
2022-10-11 00:17:58 +02:00
xmflsct f6a4a7056c Fixed #382 2022-10-10 23:57:25 +02:00
xmflsct d2272d5d30 Fixed #385
Instead of providing an option to choose whether or not to include EXIF data, by default, EXIF are not included in the upload as Mastodon would not make use of the data anyway.
2022-10-10 23:50:15 +02:00
xmflsct 35c585fb81 Fixed #398 2022-10-10 23:43:26 +02:00
xmflsct 34d02c9ca3 Fixed #394 2022-10-10 23:28:55 +02:00
xmflsct 52c44c600c Fixed #397 2022-10-10 23:28:40 +02:00
xmflsct bd970ec287 Bump packages 2022-10-10 23:28:27 +02:00
xmflsct f5bd5cf232 Update Podfile.lock 2022-09-28 23:58:43 +02:00
xmflsct f38e1317cc Bump up packages 2022-09-28 23:31:49 +02:00
xmflsct 7217887cb4 Update notes 2022-09-26 19:04:31 +02:00
xmflsct bcc14c7c20 Fix release note warning 2022-09-25 23:50:41 +02:00
xmflsct ddb3aef0eb Merge branch 'main' into candidate 2022-09-24 17:16:03 +02:00
xmflsct f6d6964d1d Update fastlane 2022-09-24 17:15:52 +02:00
xmflsct 8d8707cc39 Fix Sentry token warning 2022-09-24 16:50:53 +02:00
xmflsct 1308b274c5 Merge branch 'main' into candidate 2022-09-24 16:33:54 +02:00
xmflsct 660ddfc6ac Test run 2022-09-24 16:33:46 +02:00
xmflsct 9a1f64468e Merge branch 'main' into candidate 2022-09-24 16:00:03 +02:00
xmflsct 7b109a02d9 Try building with older Xcode 2022-09-24 15:59:57 +02:00
xmflsct ef92901d52 Merge branch 'main' into candidate 2022-09-24 14:41:39 +02:00
xmflsct 05ffe75e2a Remove codeql analysis 2022-09-24 14:41:27 +02:00
xmflsct 74d904a440 Add iOS languages 2022-09-24 14:39:54 +02:00
xmflsct 398f37d599 Remove sentry-expo
Too many dependencies it needs, especially the unused expo-updates
2022-09-24 13:42:15 +02:00
xmflsct 8744665fda
Merge pull request #395 from tooot-app/main
Test new packages
2022-09-24 00:56:47 +02:00
xmflsct 08cd1d2c51 Bump up packages 2022-09-24 00:34:18 +02:00
xmflsct ca0403e730 Bump up packages 2022-09-24 00:27:11 +02:00
xmflsct fcce92a33a
Merge pull request #392 from tooot-app/main
Test refined emoji selection
2022-09-23 00:30:45 +02:00
xmflsct 63baddff48
New Crowdin updates (#391)
* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)
2022-09-23 00:30:07 +02:00
xmflsct c1f116c77b Merge branch 'main' of https://github.com/tooot-app/app 2022-09-23 00:24:07 +02:00
xmflsct 3541bedf6d Try rephrasing for Play Store 2022-09-23 00:24:05 +02:00
xmflsct a3e233a91d
New translations contextMenu.json (Vietnamese) (#390) 2022-09-23 00:22:16 +02:00
xmflsct 7d9056b562 Allow custom exit 2022-09-23 00:21:41 +02:00
xmflsct 8ef2b89a09 Remove expo update step 2022-09-22 00:18:08 +02:00
xmflsct fb5585daf2 Merge branch 'main' into candidate 2022-09-21 23:23:30 +02:00
xmflsct ac093f42eb Try fix expo-updates 2022-09-21 23:23:17 +02:00
xmflsct ba1ad2682b Merge branch 'main' into candidate 2022-09-21 21:56:06 +02:00
xmflsct 800ebe989d Try building again 2022-09-21 21:55:58 +02:00
xmflsct c23e317022 Merge branch 'main' into candidate 2022-09-21 10:00:44 +02:00
xmflsct 838dfdb4a3 Bump SDWebImage 2022-09-21 10:00:32 +02:00
xmflsct bfad8fbe7c Merge branch 'main' of https://github.com/tooot-app/app 2022-09-21 09:55:32 +02:00
xmflsct 29e9d24542 Bring back expo-updates as a dependency to sentry-expo
But disabled
2022-09-21 09:55:27 +02:00
xmflsct 05a8e87ff2
Merge pull request #389 from tooot-app/main
Test build v4.3.2 without OTA
2022-09-21 00:23:56 +02:00
xmflsct 45caae7083
New Crowdin updates (#388)
* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Japanese)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations contextMenu.json (Chinese Simplified)
2022-09-21 00:23:07 +02:00
xmflsct a0bb964355 Try to meet Play Store's requirement 2022-09-21 00:17:36 +02:00
xmflsct 5b35951424 Remove expo-updates unfortunately
As now it starts charging
2022-09-21 00:16:55 +02:00
xmflsct d21afeca53
Merge pull request #387 from tooot-app/main
Test v4.3.2
2022-09-20 22:48:04 +02:00
xmflsct ac10482bc8 Target v4.3.2 2022-09-20 22:47:29 +02:00
xmflsct 9203381382
Merge pull request #386 from tooot-app/384-remove-autolinker-dependency
Removed autolinker
2022-09-20 22:23:27 +02:00
xmflsct 7ec7f85893 Removed autolinker 2022-09-20 22:23:01 +02:00
xmflsct fb3cfa0db1 Emoji working for compose 2022-09-19 22:22:52 +02:00
xmflsct b44370d3ec Spoiler now supports emoji as well 2022-09-19 22:01:13 +02:00
xmflsct 2df23a8a2e POC compose using the new emoji selector 2022-09-18 23:54:50 +02:00
xmflsct 7282434e69 Fix emoji state 2022-09-18 23:28:14 +02:00
xmflsct 725a061e78 Added emoji search 2022-09-18 16:49:18 +02:00
xmflsct 8a054f2205 Rewrite emoji component logic to be more generic 2022-09-18 01:02:25 +02:00
xmflsct ef6eec5351
Merge pull request #381 from tooot-app/main
Test v4.3.1
2022-09-14 23:11:00 +02:00
xmflsct 535268c680 Added Japanese 2022-09-14 23:04:35 +02:00
xmflsct 29b39ea5ac
New Crowdin updates (#380)
* New translations instance.json (German)

* New translations timeline.json (Japanese)

* New translations instance.json (Italian)

* New translations instance.json (Japanese)

* New translations instance.json (Korean)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Vietnamese)

* New translations instance.json (Portuguese, Brazilian)

* New translations relationship.json (Japanese)

* New translations contextMenu.json (Japanese)

* New translations announcements.json (Japanese)

* New translations compose.json (Japanese)

* New translations actions.json (Japanese)

* New translations imageViewer.json (Japanese)

* New translations tabs.json (Japanese)

* New translations common.json (Japanese)

* New translations instance.json (German)

* New translations timeline.json (Japanese)

* New translations instance.json (Italian)

* New translations instance.json (Japanese)

* New translations instance.json (Korean)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Vietnamese)

* New translations instance.json (Portuguese, Brazilian)

* New translations contextMenu.json (Japanese)

* New translations compose.json (Japanese)

* New translations tabs.json (Japanese)

* New translations announcements.json (Japanese)

* New translations imageViewer.json (Japanese)

* New translations common.json (Japanese)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations accountSelection.json (Italian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations accountSelection.json (Portuguese, Brazilian)

* New translations contextMenu.json (Japanese)
2022-09-14 22:47:38 +02:00
xmflsct ddd1879e48 Try adding fling gesture handler 2022-09-14 22:44:48 +02:00
xmflsct 9b4b575291 Fix duplicated images 2022-09-14 22:44:23 +02:00
xmflsct 969d4abe0e Move image viewer to a new plugin 2022-09-14 21:52:16 +02:00
xmflsct b537c38e9c
New Crowdin updates (#373)
* New translations common.json (Japanese)

* New translations common.json (Japanese)

* New translations instance.json (Japanese)

* New translations parse.json (Japanese)

* New translations relationship.json (Japanese)

* New translations timeline.json (Japanese)

* New translations actions.json (Japanese)

* New translations announcements.json (Japanese)

* New translations compose.json (Japanese)

* New translations screens.json (Japanese)

* New translations mediaSelector.json (Japanese)

* New translations emojis.json (Japanese)

* New translations contextMenu.json (Japanese)

* New translations accountSelection.json (Japanese)

* Add some Japanese translations

Co-authored-by: Hikali-47041 <hikali.47041@gmail.com>
2022-09-13 21:55:07 +02:00
xmflsct 9bc1c878ab
Merge pull request #378 from Hikali-47041/l10n_en
Fix typo "browser"
2022-09-13 21:54:51 +02:00
xmflsct 79a488c84a Fix poll input 2022-09-13 21:53:44 +02:00
Hikali-47041 1bf9a1336f Fix typo "browser" 2022-09-12 19:30:41 +09:00
xmflsct 6929d5d167
Merge pull request #376 from tooot-app/main
Test v4.3
2022-08-19 17:45:29 +02:00
xmflsct 471f3f3391 Temp patch
https://github.com/software-mansion/react-native-screens/pull/1566
2022-08-19 17:44:28 +02:00
xmflsct 8dcddd0792
Merge pull request #374 from tooot-app/main
Test v4.3
2022-08-19 12:23:27 +02:00
xmflsct d1a737eb51 Temp visual fix 2022-08-19 12:22:30 +02:00
xmflsct 1bcdc9fa93 Bump up packages 2022-08-19 12:22:23 +02:00
xmflsct 1507059241 Fix some weird errors 2022-08-19 11:58:49 +02:00
xmflsct 16dfcec9f2 Fix #356 2022-08-19 11:53:16 +02:00
xmflsct 15f22d4c31 Merge branch 'main' into candidate 2022-08-19 02:25:40 +02:00
xmflsct 88bafcc1e0 Feather icon needs svg 2022-08-19 02:25:31 +02:00
xmflsct 0894b4106b
Merge pull request #372 from tooot-app/main
Test v4.2.1
2022-08-19 01:59:37 +02:00
xmflsct 2c65dca811
New Crowdin updates (#371)
* New translations parse.json (Vietnamese)

* New translations tabs.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)

* New translations accountSelection.json (Vietnamese)
2022-08-19 01:59:05 +02:00
xmflsct 9ed6343eb7 Use native view drawing instead of svg 2022-08-19 01:58:17 +02:00
xmflsct f1c04d8c85
Merge pull request #369 from tooot-app/main
Test v4.2
2022-08-18 00:23:03 +02:00
xmflsct 244eda3d12 Use proper branch instead of releaseChannel 2022-08-18 00:21:46 +02:00
xmflsct 3853066330 Fix Android crash 2022-08-17 22:58:30 +02:00
xmflsct 886b6d6cf7 Merge branch 'main' into candidate 2022-08-17 14:14:36 +02:00
xmflsct 1620963863 Seems like it is still not using EAS updates?! 2022-08-17 14:14:18 +02:00
xmflsct aba8a38329 Merge branch 'main' into candidate 2022-08-17 01:19:18 +02:00
xmflsct 3e9585fcb7 Removed forced autolinking 2022-08-17 01:01:03 +02:00
xmflsct 2b84dd5a36 Fix expo building 2022-08-17 00:00:33 +02:00
xmflsct 0260fc26eb Revert back expo config 2022-08-16 23:59:24 +02:00
xmflsct a480c11a26 Merge branch 'main' into candidate 2022-08-16 22:40:11 +02:00
xmflsct 70c90b6a47 Using EAS update 2022-08-16 22:39:54 +02:00
xmflsct ae295d902c
Merge pull request #367 from tooot-app/main
Test build v4.2
2022-08-16 00:29:20 +02:00
xmflsct d0bdb08bbe Update Gemfile.lock 2022-08-16 00:28:45 +02:00
xmflsct 4531fb4655 Fix building apk error 2022-08-16 00:28:17 +02:00
xmflsct 4561312709
Merge pull request #366 from tooot-app/main
Test v4.2
2022-08-15 23:02:10 +02:00
xmflsct 608a15a4b8 Update Gemfile.lock 2022-08-15 23:01:38 +02:00
xmflsct fc33ded4b3 Further patch expo-modules-core
According to this commit dee397b9ed
2022-08-15 23:00:46 +02:00
xmflsct 38805d7612 Merge branch 'main' into candidate 2022-08-15 00:05:17 +02:00
xmflsct 2def45a6b9 Try another time 2022-08-15 00:05:08 +02:00
xmflsct 3312a67211 Merge branch 'main' into candidate 2022-08-14 23:13:14 +02:00
xmflsct c7a8cb3951 Fix pod lock file 2022-08-14 23:12:49 +02:00
xmflsct 938e74e1b2
Merge pull request #365 from tooot-app/main
Test v4.2
2022-08-14 23:03:05 +02:00
xmflsct a3480d6b71
New Crowdin updates (#364)
* New translations parse.json (Japanese)

* New translations parse.json (Korean)

* New translations parse.json (German)

* New translations parse.json (Italian)

* New translations parse.json (Vietnamese)

* New translations parse.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Simplified)

* New translations parse.json (Chinese Traditional)

* New translations parse.json (Portuguese, Brazilian)

* New translations parse.json (Japanese)

* New translations parse.json (Korean)

* New translations timeline.json (Korean)

* New translations parse.json (German)

* New translations timeline.json (German)

* New translations parse.json (Italian)

* New translations timeline.json (Italian)

* New translations parse.json (Vietnamese)

* New translations timeline.json (Vietnamese)

* New translations parse.json (Chinese Simplified)

* New translations timeline.json (Chinese Simplified)

* New translations tabs.json (Chinese Simplified)

* New translations parse.json (Chinese Traditional)

* New translations parse.json (Portuguese, Brazilian)

* New translations accountSelection.json (Chinese Simplified)

* New translations timeline.json (Portuguese, Brazilian)
2022-08-14 23:01:55 +02:00
xmflsct d02e45a72c Correct duplicate string 2022-08-14 22:54:54 +02:00
xmflsct c125382965 Fix duplicated images when opening 2022-08-14 22:48:15 +02:00
xmflsct d0becef5bf Fixed #363 2022-08-14 22:38:57 +02:00
xmflsct 42528caf09 Fixed #362 2022-08-14 22:18:41 +02:00
xmflsct c6e7063929 Fix Android building
https://github.com/expo/expo/pull/18518
2022-08-14 18:06:24 +02:00
xmflsct 46c864f7f9
Merge pull request #361 from tooot-app/main
Test building
2022-08-13 00:49:47 +02:00
xmflsct 4835ac291a
New Crowdin updates (#357)
* New translations tabs.json (Japanese)

* New translations tabs.json (German)

* New translations tabs.json (Italian)

* New translations tabs.json (Chinese Traditional)

* New translations tabs.json (Vietnamese)

* New translations tabs.json (Korean)

* New translations tabs.json (Chinese Simplified)

* New translations tabs.json (Portuguese, Brazilian)

* New translations parse.json (German)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Portuguese, Brazilian)

* New translations parse.json (Portuguese, Brazilian)

* New translations contextMenu.json (Vietnamese)

* New translations timeline.json (Vietnamese)

* New translations parse.json (Vietnamese)

* New translations contextMenu.json (Chinese Traditional)

* New translations parse.json (Chinese Traditional)

* New translations contextMenu.json (Chinese Simplified)

* New translations parse.json (Chinese Simplified)

* New translations timeline.json (German)

* New translations contextMenu.json (Korean)

* New translations timeline.json (Korean)

* New translations parse.json (Korean)

* New translations contextMenu.json (Japanese)

* New translations parse.json (Japanese)

* New translations contextMenu.json (Italian)

* New translations timeline.json (Italian)

* New translations parse.json (Italian)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations accountSelection.json (German)

* New translations accountSelection.json (Italian)

* New translations accountSelection.json (Japanese)

* New translations accountSelection.json (Korean)

* New translations accountSelection.json (Chinese Simplified)

* New translations accountSelection.json (Chinese Traditional)

* New translations accountSelection.json (Vietnamese)

* New translations accountSelection.json (Portuguese, Brazilian)
2022-08-13 00:49:09 +02:00
xmflsct 51ac36768d Initial try out dynamic following 2022-08-13 00:48:20 +02:00
xmflsct 034208fbe1 Android emulator triggers too many share events 2022-08-13 00:00:18 +02:00
xmflsct 397c6a2f44 Fixed #336 2022-08-12 16:44:28 +02:00
xmflsct 262ec9e9b1
Merge pull request #360 from tooot-app/main
Test building
2022-08-10 00:47:51 +02:00
xmflsct a2721d21c0 Fixed #359 2022-08-10 00:46:43 +02:00
xmflsct dba43e248b Fixed #358 2022-08-09 00:49:50 +02:00
xmflsct 9f17f95a98 Fixed #354 2022-08-09 00:44:56 +02:00
xmflsct a68ed6ea1b Fix menu translations 2022-08-08 23:00:46 +02:00
xmflsct 6b6481f9ac Android builds 2022-08-08 22:32:51 +02:00
xmflsct 9f70cef94f Merge branch 'main' into candidate 2022-08-07 01:19:46 +02:00
xmflsct 8041b2309d
Merge pull request #355 from tooot-app/l10n_main
New Crowdin updates
2022-08-07 01:18:59 +02:00
xmflsct e2ba4660df Fxied #353 2022-08-07 01:18:10 +02:00
xmflsct 99b38f421c Update and patch packages 2022-08-07 00:20:34 +02:00
xmflsct 28b5a2e17e Update rest of the packages 2022-08-06 22:20:03 +02:00
xmflsct 33d8a97efb Updated to expo 46 2022-08-06 22:05:26 +02:00
xmflsct 6ad59c9c3a New translations contextMenu.json (Japanese) 2022-07-17 23:48:57 +02:00
xmflsct 3a3ee95c5f New translations emojis.json (Japanese) 2022-07-17 23:48:56 +02:00
xmflsct 38ca647e29 New translations mediaSelector.json (Japanese) 2022-07-17 23:48:55 +02:00
xmflsct 053d438466 New translations tabs.json (Japanese) 2022-07-17 23:48:54 +02:00
xmflsct 98850d4a59 New translations screens.json (Japanese) 2022-07-17 23:48:54 +02:00
xmflsct 522afb42ba New translations compose.json (Japanese) 2022-07-17 23:48:53 +02:00
xmflsct 81a4b60ab4 New translations announcements.json (Japanese) 2022-07-17 23:48:51 +02:00
xmflsct fc5be8acc9 New translations imageViewer.json (Japanese) 2022-07-17 23:48:51 +02:00
xmflsct bbd3bf7d85 New translations actions.json (Japanese) 2022-07-17 23:48:50 +02:00
xmflsct 25e82f46d4 New translations timeline.json (Japanese) 2022-07-17 23:48:49 +02:00
xmflsct 5907bba2f0 New translations relationship.json (Japanese) 2022-07-17 23:48:48 +02:00
xmflsct 4812605aaf New translations parse.json (Japanese) 2022-07-17 23:48:47 +02:00
xmflsct 2421a6c1ee New translations instance.json (Japanese) 2022-07-17 23:48:46 +02:00
xmflsct 9f546312b2 New translations common.json (Japanese) 2022-07-17 23:48:45 +02:00
xmflsct b9cf0ceb6b Fixed #352 2022-07-09 11:40:48 +02:00
xmflsct 51a2ff012a Warn image processing error 2022-07-09 11:29:47 +02:00
xmflsct 621ed3561d Bump up packages 2022-07-09 00:27:02 +02:00
xmflsct 87ff05d132 Apple Silicon ready
https://developer.apple.com/forums/thread/670006
2022-07-09 00:07:59 +02:00
Zhiyuan Zheng 249320a3b5 Target translation language rule
App language may be in en while the spoken language is others, due to limited translation options
2022-06-26 22:59:46 +02:00
Zhiyuan Zheng 6f774d8c13 Fixed #350 2022-06-26 22:56:21 +02:00
Zhiyuan Zheng c457141e10 Fix source map missing 2022-06-25 00:51:13 +02:00
xmflsct 239de22116
New Crowdin updates (#346)
* New translations instance.json (Italian)

* New translations timeline.json (Italian)

* New translations mediaSelector.json (Italian)

* New translations actions.json (Italian)

* New translations compose.json (Italian)

* New translations tabs.json (Italian)

* New translations contextMenu.json (Italian)

* New translations mediaSelector.json (Italian)

* New translations contextMenu.json (Italian)
2022-06-21 23:56:45 +02:00
Zhiyuan Zheng 0f8befc89c Fixed #348 2022-06-21 23:50:49 +02:00
Zhiyuan Zheng 29977b6c9e Fixed #347 2022-06-21 23:45:11 +02:00
Zhiyuan Zheng 41d85bf738 Fix row flexbox 2022-06-21 23:31:31 +02:00
Zhiyuan Zheng ca810065f8 Force clearing push count 2022-06-21 23:10:40 +02:00
Zhiyuan Zheng 869524eb84 Fix uploading avatar 2022-06-21 23:05:29 +02:00
xmflsct 1ebf732679
New translations contextMenu.json (Vietnamese) (#343) 2022-06-19 12:52:31 +02:00
Zhiyuan Zheng 778ff18457 Do not catch language detection failure 2022-06-19 12:52:11 +02:00
Zhiyuan Zheng 24d179eee7 Fixed #344 2022-06-19 12:51:44 +02:00
Zhiyuan Zheng 544910f0ed Fix iOS dots 2022-06-17 00:14:32 +02:00
Zhiyuan Zheng 16eaba14aa Allow Android drop menu instead of long press 2022-06-17 00:10:15 +02:00
Zhiyuan Zheng d5104bf6f8 Allowing toot to be copied when highlighted 2022-06-16 23:34:06 +02:00
Zhiyuan Zheng 8d0fc94303 Allow Android to have moving image 2022-06-16 23:22:28 +02:00
Zhiyuan Zheng 3cbcb6b3f9 Try using bearer token 2022-06-15 00:57:19 +02:00
Zhiyuan Zheng 04d2f5fa98 Add in PAT to prevent rate limiting 2022-06-15 00:39:45 +02:00
xmflsct 1ca41e5b14
New Crowdin updates (#340)
* New translations timeline.json (German)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Vietnamese)

* New translations timeline.json (Italian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations timeline.json (German)

* New translations timeline.json (Korean)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Portuguese, Brazilian)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Vietnamese)

* New translations timeline.json (Italian)

* New translations contextMenu.json (Portuguese, Brazilian)
2022-06-15 00:20:46 +02:00
Zhiyuan Zheng e396953ac8 Improve menu row when content are long/short 2022-06-15 00:20:29 +02:00
Zhiyuan Zheng df80135226 Fixed #325 2022-06-15 00:00:33 +02:00
Zhiyuan Zheng 7c0bcbeb06 Fixed #337 2022-06-14 23:43:11 +02:00
Zhiyuan Zheng 04813cbc78 Fixed again #326 2022-06-14 23:35:52 +02:00
Zhiyuan Zheng 236ccbe45d Fixed #338
Also Android cannot read from ID, using index instead
2022-06-14 23:32:35 +02:00
Zhiyuan Zheng 85039db137 Fix context menu language missing 2022-06-12 12:30:53 +02:00
Zhiyuan Zheng 3b7104a892 Merge branch 'main' into candidate 2022-06-11 21:56:28 +02:00
Zhiyuan Zheng 043be76a01 Revert back Java version 2022-06-11 21:56:22 +02:00
Zhiyuan Zheng 936c5874f5 Merge branch 'main' into candidate 2022-06-11 21:26:36 +02:00
Zhiyuan Zheng 7edbe5f798 Fix Java version missing 2022-06-11 21:26:30 +02:00
Zhiyuan Zheng cf29c7c13b Merge branch 'main' into candidate 2022-06-11 20:26:46 +02:00
Zhiyuan Zheng e66074ea70 Clean up builds 2022-06-11 20:26:40 +02:00
Zhiyuan Zheng 443eb49ff5 Merge branch 'main' into candidate 2022-06-11 19:56:59 +02:00
Zhiyuan Zheng bf021cd02f Merge branch 'main' of https://github.com/tooot-app/app 2022-06-11 19:56:28 +02:00
Zhiyuan Zheng 34be881ade Refine building process 2022-06-11 19:56:26 +02:00
xmflsct d0412bcbaf
Merge pull request #334 from tooot-app/main
Update build.yml
2022-06-11 15:06:35 +02:00
xmflsct a1bfd58985
Update build.yml 2022-06-11 15:06:09 +02:00
Zhiyuan Zheng 38b112c143 Merge branch 'main' into candidate 2022-06-11 14:21:50 +02:00
Zhiyuan Zheng b46a3432b5 Merge branch 'main' of https://github.com/tooot-app/app 2022-06-11 14:21:40 +02:00
Zhiyuan Zheng c7cf3d52f1 Improve building 2022-06-11 14:21:39 +02:00
xmflsct b0c040aed7
New translations instance.json (Vietnamese) (#332) 2022-06-11 06:53:18 +02:00
xmflsct 6a5c39b8dd
Merge pull request #331 from tooot-app/main
Update build.yml
2022-06-11 02:27:53 +02:00
xmflsct 9479775351
Update build.yml 2022-06-11 02:27:30 +02:00
Zhiyuan Zheng eff1ee5e6d Merge branch 'main' into candidate 2022-06-11 01:35:24 +02:00
Zhiyuan Zheng aeb3ed8493 Update build.yml 2022-06-11 01:35:18 +02:00
Zhiyuan Zheng 421ad874db Merge branch 'main' into candidate 2022-06-10 23:40:04 +02:00
Zhiyuan Zheng 0fbae13fdb Try out build separation 2022-06-10 23:39:57 +02:00
xmflsct 4d003de83f
Merge pull request #330 from tooot-app/main
Another test
2022-06-10 20:53:31 +02:00
xmflsct 36ece75480
New Crowdin updates (#329)
* New translations instance.json (German)

* New translations instance.json (Vietnamese)

* New translations instance.json (Korean)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Chinese Traditional)

* New translations instance.json (Portuguese, Brazilian)

* New translations instance.json (Italian)

* New translations instance.json (German)

* New translations instance.json (Vietnamese)

* New translations instance.json (Korean)

* New translations instance.json (Chinese Simplified)

* New translations instance.json (Portuguese, Brazilian)

* New translations instance.json (Italian)
2022-06-10 20:52:52 +02:00
Zhiyuan Zheng 52b8414b7e Comply with Play Store policy 2022-06-10 19:41:51 +02:00
Zhiyuan Zheng 7adc09f624 Improve ML translation by removing HTML tags 2022-06-10 19:41:39 +02:00
xmflsct 9fd7cf489f
Merge pull request #328 from tooot-app/main
Try building
2022-06-10 17:04:05 +02:00
Zhiyuan Zheng 72eee3600f Fixed #301 2022-06-10 17:02:04 +02:00
Zhiyuan Zheng be4fb53d03 Update release notes 2022-06-10 16:53:17 +02:00
Zhiyuan Zheng f238413232 Improve translation detection 2022-06-10 16:52:55 +02:00
xmflsct 6644ca64d7
Merge pull request #327 from tooot-app/main
Final testing of v4.1
2022-06-09 23:28:13 +02:00
Zhiyuan Zheng 0864f7373a Update README.md 2022-06-09 23:27:35 +02:00
xmflsct b3cdc0964f
New Crowdin updates (#324)
* New translations timeline.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations mediaSelector.json (Portuguese, Brazilian)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations compose.json (Portuguese, Brazilian)
2022-06-09 23:25:36 +02:00
Zhiyuan Zheng db46ccc3d8 Fix weird error reportings 2022-06-09 23:25:01 +02:00
Zhiyuan Zheng e33e8550f6 Prepare for future media needs
NOT USED
2022-06-09 22:57:54 +02:00
Zhiyuan Zheng b5a5ce01a3 Using proper image transformation 2022-06-09 21:33:10 +02:00
Zhiyuan Zheng bd5a0948cf Update fastlane 2022-06-09 19:24:58 +02:00
xmflsct a70e1af535
Test updates (#323)
* New translations actions.json (German)

* New translations actions.json (Korean)

* New translations actions.json (Chinese Simplified)

* New translations actions.json (Chinese Traditional)

* New translations actions.json (Vietnamese)

* New translations actions.json (Italian)

* New translations actions.json (Portuguese, Brazilian)

* Bump packages

* New translations actions.json (Chinese Simplified)

* Fixed #108

* Fixed #117

* Fixed #137

* Fix badge not cleared on app launch

* Update Expo workflow

* Update build.yml

* New context menu largely working

* Fixed #158

* File format changes by `expo prebuild`

* Update .gitignore

* Try out notification sound

* Bump packages

* New Crowdin updates (#319)

* New translations actions.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations actions.json (Portuguese, Brazilian)

* New translations compose.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations actions.json (Vietnamese)

* New translations timeline.json (German)

* New translations mediaSelector.json (Italian)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (German)

* New translations mediaSelector.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (Italian)

* New translations mediaSelector.json (German)

* New translations mediaSelector.json (Vietnamese)

* New translations mediaSelector.json (Chinese Traditional)

* New translations mediaSelector.json (Chinese Simplified)

* New translations mediaSelector.json (Korean)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Korean)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations mediaSelector.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)

* New translations mediaSelector.json (Chinese Simplified)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Portuguese, Brazilian)

* Fixed #321

* Refine photo upload messaging

* Prefer local language detection
2022-06-09 01:49:42 +02:00
xmflsct 315990ee6c
Merge branch 'candidate' into main 2022-06-09 01:49:35 +02:00
Zhiyuan Zheng 50c8e149c6 Prefer local language detection 2022-06-09 01:47:38 +02:00
Zhiyuan Zheng e37d5991cf Refine photo upload messaging 2022-06-08 21:36:18 +02:00
Zhiyuan Zheng 6f414d38be Fixed #321 2022-06-07 23:01:59 +02:00
xmflsct 55053e73f8
Test v4.1 (#320)
* New translations actions.json (German)

* New translations actions.json (Korean)

* New translations actions.json (Chinese Simplified)

* New translations actions.json (Chinese Traditional)

* New translations actions.json (Vietnamese)

* New translations actions.json (Italian)

* New translations actions.json (Portuguese, Brazilian)

* Bump packages

* New translations actions.json (Chinese Simplified)

* Fixed #108

* Fixed #117

* Fixed #137

* Fix badge not cleared on app launch

* Update Expo workflow

* Update build.yml

* New context menu largely working

* Fixed #158

* File format changes by `expo prebuild`

* Update .gitignore

* Try out notification sound

* Bump packages

* New Crowdin updates (#319)

* New translations actions.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations actions.json (Portuguese, Brazilian)

* New translations compose.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations actions.json (Vietnamese)

* New translations timeline.json (German)

* New translations mediaSelector.json (Italian)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (German)

* New translations mediaSelector.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (Italian)

* New translations mediaSelector.json (German)

* New translations mediaSelector.json (Vietnamese)

* New translations mediaSelector.json (Chinese Traditional)

* New translations mediaSelector.json (Chinese Simplified)

* New translations mediaSelector.json (Korean)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Korean)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations mediaSelector.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)

* New translations mediaSelector.json (Chinese Simplified)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Portuguese, Brazilian)
2022-06-07 22:27:24 +02:00
Zhiyuan Zheng dcfc87a2d3 Merge branch 'main' of https://github.com/tooot-app/app 2022-06-07 22:23:04 +02:00
xmflsct d9019b787b
New Crowdin updates (#319)
* New translations actions.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations actions.json (Portuguese, Brazilian)

* New translations compose.json (Portuguese, Brazilian)

* New translations tabs.json (Portuguese, Brazilian)

* New translations actions.json (Vietnamese)

* New translations timeline.json (German)

* New translations mediaSelector.json (Italian)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Chinese Traditional)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (German)

* New translations mediaSelector.json (Portuguese, Brazilian)

* New translations timeline.json (Portuguese, Brazilian)

* New translations timeline.json (Italian)

* New translations mediaSelector.json (German)

* New translations mediaSelector.json (Vietnamese)

* New translations mediaSelector.json (Chinese Traditional)

* New translations mediaSelector.json (Chinese Simplified)

* New translations mediaSelector.json (Korean)

* New translations timeline.json (Chinese Traditional)

* New translations timeline.json (Vietnamese)

* New translations timeline.json (Chinese Simplified)

* New translations timeline.json (Korean)

* New translations contextMenu.json (Portuguese, Brazilian)

* New translations mediaSelector.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)

* New translations contextMenu.json (Vietnamese)

* New translations mediaSelector.json (Chinese Simplified)

* New translations contextMenu.json (German)

* New translations contextMenu.json (Italian)

* New translations contextMenu.json (Korean)

* New translations contextMenu.json (Chinese Simplified)

* New translations contextMenu.json (Portuguese, Brazilian)
2022-06-07 22:22:08 +02:00
Zhiyuan Zheng 901ba2de98 Bump packages 2022-06-07 21:53:51 +02:00
Zhiyuan Zheng af6679ceb4 Try out notification sound 2022-06-07 21:39:41 +02:00
Zhiyuan Zheng ff5aa45a90 Update .gitignore 2022-06-07 21:24:19 +02:00
Zhiyuan Zheng 78ad95a9cb File format changes by `expo prebuild` 2022-06-07 21:23:59 +02:00
Zhiyuan Zheng 0991d50240 Fixed #158 2022-06-07 20:07:14 +02:00
Zhiyuan Zheng 23bc9aa5f3 Merge branch 'release' 2022-06-06 22:50:23 +02:00
Zhiyuan Zheng faebd555e8 New context menu largely working 2022-06-06 22:49:43 +02:00
Zhiyuan Zheng baec474c5f Update build.yml 2022-06-06 14:22:51 +02:00
Zhiyuan Zheng 0cf7d0daf2 Update Expo workflow 2022-06-06 13:09:47 +02:00
Zhiyuan Zheng b18ccc5490 Fix badge not cleared on app launch 2022-06-06 12:42:38 +02:00
Zhiyuan Zheng c0d2da3f65 Fixed #137 2022-06-05 21:17:39 +02:00
Zhiyuan Zheng b13ae5dafe Fixed #117 2022-06-05 18:52:33 +02:00
Zhiyuan Zheng fc8fdec12f Fixed #108 2022-06-05 17:58:18 +02:00
xmflsct 84deb2ba58
Merge pull request #318 from tooot-app/main
Release v4.0.4
2022-06-03 23:49:59 +02:00
Zhiyuan Zheng d6768c0f6f Merge branch 'main' of https://github.com/tooot-app/app 2022-06-03 23:46:18 +02:00
xmflsct d2cb1774b4
Merge pull request #317 from tooot-app/l10n_main
New Crowdin updates
2022-06-03 23:46:10 +02:00
xmflsct a56f8c4026 New translations actions.json (Chinese Simplified) 2022-06-03 23:44:48 +02:00
Zhiyuan Zheng 7c48b31241 Bump packages 2022-06-03 23:44:27 +02:00
xmflsct 8915fcbd89 New translations actions.json (Portuguese, Brazilian) 2022-06-03 23:31:49 +02:00
xmflsct 84cd0186b7 New translations actions.json (Italian) 2022-06-03 23:31:48 +02:00
xmflsct 1fb359110d New translations actions.json (Vietnamese) 2022-06-03 23:31:47 +02:00
xmflsct bfa91676b1 New translations actions.json (Chinese Traditional) 2022-06-03 23:31:46 +02:00
xmflsct 7ba8c34c24 New translations actions.json (Chinese Simplified) 2022-06-03 23:31:45 +02:00
xmflsct 7ff43c06ee New translations actions.json (Korean) 2022-06-03 23:31:44 +02:00
xmflsct 5d788be27a New translations actions.json (German) 2022-06-03 23:31:43 +02:00
xmflsct 6a1f8b3c73
Merge pull request #316 from tooot-app/main
Test v4.0.4
2022-06-03 23:29:25 +02:00
Zhiyuan Zheng 1eaa1eaecf Fixed #255 2022-06-03 23:27:22 +02:00
Zhiyuan Zheng e38a45ffb2 Fixed #315 2022-06-03 23:18:24 +02:00
Zhiyuan Zheng 77deb3fdef Bump packages 2022-06-03 22:29:04 +02:00
Zhiyuan Zheng 31a3e87963 Allow push count badge 2022-06-03 21:25:20 +02:00
xmflsct f6f078dc1a
Merge pull request #314 from tooot-app/main
Further test v4.0.4
2022-06-02 01:04:44 +02:00
xmflsct 9b109ba1bb
Merge pull request #309 from tooot-app/l10n_main
New Crowdin updates
2022-06-02 01:04:01 +02:00
xmflsct 8a458b2023 New translations compose.json (Chinese Simplified) 2022-06-02 01:02:39 +02:00
xmflsct c4ef26d02a New translations tabs.json (Chinese Simplified) 2022-06-02 01:02:37 +02:00
Zhiyuan Zheng 75c1806342 Fixed #313 2022-06-02 00:48:14 +02:00
Zhiyuan Zheng bee856fa34 Fixed #312 2022-06-02 00:28:42 +02:00
Zhiyuan Zheng bc0ae827ad Fixed #311 2022-06-01 23:47:58 +02:00
Zhiyuan Zheng 316096cf57 Fixed #310 2022-06-01 23:39:48 +02:00
Zhiyuan Zheng 5ba3290254 Fixed #299 2022-06-01 23:13:43 +02:00
xmflsct 8b01ab0fd9 New translations actions.json (Vietnamese) 2022-06-01 12:21:31 +02:00
xmflsct 102bc31add New translations compose.json (Vietnamese) 2022-06-01 12:21:30 +02:00
xmflsct 62d014d2a8 New translations tabs.json (Vietnamese) 2022-06-01 12:21:29 +02:00
xmflsct f81bd58d61 New translations timeline.json (Vietnamese) 2022-06-01 12:21:27 +02:00
xmflsct 4efd87861d New translations compose.json (Portuguese, Brazilian) 2022-06-01 00:48:12 +02:00
xmflsct 56469d41ed New translations compose.json (Italian) 2022-06-01 00:48:11 +02:00
xmflsct f85606a4d5 New translations compose.json (Chinese Traditional) 2022-06-01 00:48:09 +02:00
xmflsct b6efe3eba7 New translations compose.json (Vietnamese) 2022-06-01 00:48:08 +02:00
xmflsct 2c2fc6efee New translations compose.json (Chinese Simplified) 2022-06-01 00:48:07 +02:00
xmflsct 213e343aa9 New translations compose.json (Korean) 2022-06-01 00:48:07 +02:00
xmflsct 7678857e5d New translations compose.json (German) 2022-06-01 00:48:05 +02:00
Zhiyuan Zheng fe0a2532f1 Fix Italian time format 2022-06-01 00:40:24 +02:00
Zhiyuan Zheng a9e36d4a9c Try without memo 2022-06-01 00:33:59 +02:00
Zhiyuan Zheng 68178f7f31 Update Poll.tsx
Fixed #256
2022-05-29 17:56:35 +02:00
Zhiyuan Zheng af0756cef2 Add drafts warning
Fixed #259
2022-05-29 17:45:53 +02:00
xmflsct 98f5830ab6 New translations tabs.json (Portuguese, Brazilian) 2022-05-29 17:37:20 +02:00
xmflsct acf845acc8 New translations tabs.json (Italian) 2022-05-29 17:37:19 +02:00
xmflsct 2416a90bb5 New translations tabs.json (Chinese Traditional) 2022-05-29 17:37:18 +02:00
xmflsct 792a33a497 New translations tabs.json (Vietnamese) 2022-05-29 17:37:18 +02:00
xmflsct cec0ac4dff New translations tabs.json (Chinese Simplified) 2022-05-29 17:37:17 +02:00
xmflsct 29db4d0d46 New translations tabs.json (Korean) 2022-05-29 17:37:16 +02:00
xmflsct a221beb6f2 New translations tabs.json (German) 2022-05-29 17:37:15 +02:00
Zhiyuan Zheng c94ef1882b Fix followed by text overflow
https://github.com/tooot-app/app/issues/272
2022-05-29 17:28:27 +02:00
Zhiyuan Zheng 6b4c2d18ec Push add more types 2022-05-29 01:57:15 +02:00
xmflsct 242b11761b
Merge pull request #308 from tooot-app/l10n_main
New Crowdin updates
2022-05-28 22:30:18 +02:00
xmflsct 1b559c89f4 New translations common.json (Korean) 2022-05-28 22:29:58 +02:00
xmflsct 4c4bb3422e New translations tabs.json (Portuguese, Brazilian) 2022-05-28 22:29:54 +02:00
xmflsct 5df4e6c81b New translations tabs.json (Italian) 2022-05-28 22:29:48 +02:00
xmflsct 355fe966c8 New translations tabs.json (Vietnamese) 2022-05-28 22:29:43 +02:00
xmflsct a17e57eb45 New translations tabs.json (Chinese Simplified) 2022-05-28 22:29:42 +02:00
xmflsct 02b34370c0 New translations timeline.json (Chinese Simplified) 2022-05-28 22:29:41 +02:00
xmflsct 82d767bfda New translations mediaSelector.json (German) 2022-05-28 22:29:39 +02:00
xmflsct ea6f4d3fbf New translations tabs.json (German) 2022-05-28 22:29:38 +02:00
xmflsct d0ddccffe8 New translations imageViewer.json (German) 2022-05-28 22:29:36 +02:00
xmflsct 27b995aa67 New translations tabs.json (Korean) 2022-05-28 22:29:34 +02:00
xmflsct 618620d443 New translations actions.json (Chinese Simplified) 2022-05-28 22:29:30 +02:00
xmflsct cda72a396a New translations common.json (German) 2022-05-28 22:29:22 +02:00
xmflsct b6cb4eb6f9 New translations tabs.json (Chinese Traditional) 2022-05-28 22:20:15 +02:00
xmflsct f7d3433b74 New translations tabs.json (Portuguese, Brazilian) 2022-05-28 22:20:08 +02:00
xmflsct e864f5bcb1 New translations tabs.json (Italian) 2022-05-28 22:19:59 +02:00
xmflsct d8a7b78c30 New translations tabs.json (Vietnamese) 2022-05-28 22:19:52 +02:00
xmflsct cc47261788 New translations tabs.json (Chinese Simplified) 2022-05-28 22:19:51 +02:00
xmflsct 091b89d712 New translations tabs.json (German) 2022-05-28 22:19:46 +02:00
xmflsct 748339732c New translations tabs.json (Korean) 2022-05-28 22:19:42 +02:00
xmflsct 8658451195
Merge pull request #307 from tooot-app/l10n_main
New Crowdin updates
2022-05-28 22:18:25 +02:00
Zhiyuan Zheng af6731f702 Added pt-BR
https://github.com/tooot-app/app/issues/302
2022-05-28 22:18:03 +02:00
xmflsct 903f53f61d New translations actions.json (Portuguese, Brazilian) 2022-05-28 19:28:16 +02:00
xmflsct b5716b5425 New translations timeline.json (Portuguese, Brazilian) 2022-05-28 19:28:15 +02:00
xmflsct 538624eafb New translations actions.json (Italian) 2022-05-28 19:28:14 +02:00
xmflsct c106b1899a New translations timeline.json (Italian) 2022-05-28 19:28:13 +02:00
xmflsct 1885869f8a New translations actions.json (Vietnamese) 2022-05-28 19:28:12 +02:00
xmflsct 5ce0a87695 New translations actions.json (Chinese Traditional) 2022-05-28 19:28:12 +02:00
xmflsct ddad0947cd New translations actions.json (Chinese Simplified) 2022-05-28 19:28:11 +02:00
xmflsct d922619205 New translations actions.json (Korean) 2022-05-28 19:28:10 +02:00
xmflsct 6bf62d02ff New translations timeline.json (Chinese Traditional) 2022-05-28 19:28:09 +02:00
xmflsct 18deaaaa0b New translations timeline.json (Vietnamese) 2022-05-28 19:28:08 +02:00
xmflsct 1b4e594ae2 New translations timeline.json (Chinese Simplified) 2022-05-28 19:28:08 +02:00
xmflsct ae214e0960 New translations timeline.json (Korean) 2022-05-28 19:28:07 +02:00
xmflsct 1a1fe5e190 New translations actions.json (German) 2022-05-28 19:28:06 +02:00
xmflsct de82ab7f32 New translations timeline.json (German) 2022-05-28 19:28:05 +02:00
Zhiyuan Zheng bdf7da120f Merge branch 'main' of https://github.com/tooot-app/app 2022-05-28 19:24:12 +02:00
Zhiyuan Zheng 4398e520ed Refine notifications
https://github.com/tooot-app/app/issues/306

https://github.com/tooot-app/app/issues/305 This one uses the positive filtering that is added since v3.5, that a such a filter won't be shown as there is no way to check if a user is an admin or not and showing a useless option for majority users won't be a good experience.
2022-05-28 19:24:08 +02:00
Zhiyuan Zheng 5a23b73f69 Bump packages 2022-05-28 12:20:48 +02:00
xmflsct 398201cc54
Merge pull request #303 from tooot-app/l10n_main
New Crowdin updates
2022-05-28 11:47:44 +02:00
xmflsct a686f7d3a7 New translations tabs.json (Portuguese, Brazilian) 2022-05-28 01:24:19 +02:00
xmflsct 7c84a0ca09 New translations tabs.json (Portuguese, Brazilian) 2022-05-28 00:24:54 +02:00
xmflsct 61dab1a2bd New translations tabs.json (Portuguese, Brazilian) 2022-05-27 23:04:29 +02:00
xmflsct 628841ef91 New translations compose.json (Portuguese, Brazilian) 2022-05-27 23:04:28 +02:00
xmflsct 2fd215e9a8 New translations imageViewer.json (Portuguese, Brazilian) 2022-05-27 23:04:27 +02:00
xmflsct bf6fff9d1e New translations tabs.json (Portuguese, Brazilian) 2022-05-24 20:30:09 +02:00
xmflsct f62e1eb7b7 New translations tabs.json (Portuguese, Brazilian) 2022-05-24 19:34:12 +02:00
xmflsct b88bad674d New translations compose.json (Portuguese, Brazilian) 2022-05-19 22:55:40 +02:00
xmflsct bfdf9e5054 New translations announcements.json (Portuguese, Brazilian) 2022-05-19 22:55:39 +02:00
xmflsct 42e444c31f New translations actions.json (Portuguese, Brazilian) 2022-05-19 21:19:51 +02:00
xmflsct 0e5eacae58 New translations timeline.json (Portuguese, Brazilian) 2022-05-19 04:30:04 +02:00
xmflsct 2692832cd4 New translations screens.json (Portuguese, Brazilian) 2022-05-19 03:32:52 +02:00
xmflsct d1b43e0fce
Merge pull request #304 from tooot-app/main
Try to fix Android storage issue
2022-05-19 00:47:13 +02:00
Zhiyuan Zheng 67b15f75f5 Try to fix Android storage issue 2022-05-19 00:46:25 +02:00
xmflsct 72704b6eac New translations timeline.json (Portuguese, Brazilian) 2022-05-18 19:09:07 +02:00
xmflsct 1438536cab New translations common.json (Portuguese, Brazilian) 2022-05-18 19:09:06 +02:00
xmflsct c61290483c New translations timeline.json (Portuguese, Brazilian) 2022-05-18 18:12:47 +02:00
xmflsct 9cdad96190 New translations relationship.json (Portuguese, Brazilian) 2022-05-18 18:12:46 +02:00
xmflsct abadd610f3 New translations parse.json (Portuguese, Brazilian) 2022-05-18 18:12:45 +02:00
xmflsct 17141af4d1 New translations emojis.json (Portuguese, Brazilian) 2022-05-18 16:04:20 +02:00
xmflsct bda0d3157b New translations mediaSelector.json (Portuguese, Brazilian) 2022-05-18 16:04:19 +02:00
xmflsct 5ef6d64f52 New translations instance.json (Portuguese, Brazilian) 2022-05-18 16:04:18 +02:00
xmflsct 028d0b95e9 New translations emojis.json (Portuguese, Brazilian) 2022-05-18 15:09:24 +02:00
xmflsct ffc45080e3 New translations mediaSelector.json (Portuguese, Brazilian) 2022-05-18 15:09:23 +02:00
xmflsct e1a706d714 New translations tabs.json (Portuguese, Brazilian) 2022-05-18 15:09:22 +02:00
xmflsct b55fde1cd4 New translations screens.json (Portuguese, Brazilian) 2022-05-18 15:09:21 +02:00
xmflsct 2765265624 New translations compose.json (Portuguese, Brazilian) 2022-05-18 15:09:20 +02:00
xmflsct 8194bae5bd New translations announcements.json (Portuguese, Brazilian) 2022-05-18 15:09:19 +02:00
xmflsct fa51e8d035 New translations imageViewer.json (Portuguese, Brazilian) 2022-05-18 15:09:18 +02:00
xmflsct c9802d160f New translations actions.json (Portuguese, Brazilian) 2022-05-18 15:09:17 +02:00
xmflsct 9fdb0bbce7 New translations timeline.json (Portuguese, Brazilian) 2022-05-18 15:09:16 +02:00
xmflsct bc3d434e1b New translations relationship.json (Portuguese, Brazilian) 2022-05-18 15:09:15 +02:00
xmflsct ad78e0373a New translations parse.json (Portuguese, Brazilian) 2022-05-18 15:09:14 +02:00
xmflsct ceb631f611 New translations instance.json (Portuguese, Brazilian) 2022-05-18 15:09:13 +02:00
xmflsct e74499aea4 New translations common.json (Portuguese, Brazilian) 2022-05-18 15:09:11 +02:00
xmflsct 6dad65631f
Merge pull request #300 from tooot-app/main
Release v4.0.2
2022-05-18 00:27:47 +02:00
xmflsct 0479e2fc9f
Merge pull request #297 from tooot-app/l10n_main
New Crowdin updates
2022-05-18 00:11:49 +02:00
Zhiyuan Zheng 4dcc561cbf Update error tracing 2022-05-18 00:11:31 +02:00
Zhiyuan Zheng 051dc7be8c Update Screens.tsx
https://github.com/tooot-app/app/issues/298
2022-05-18 00:11:02 +02:00
Zhiyuan Zheng 8a1ccdb305 Update instancesSlice.ts 2022-05-17 23:26:29 +02:00
Zhiyuan Zheng 02360c443f Make error object as optional 2022-05-17 23:18:49 +02:00
Zhiyuan Zheng 4b3b222582 Some Android phones do not have StoreReview? 2022-05-17 23:14:23 +02:00
Zhiyuan Zheng 5d615174cb Fix possible undefined 2022-05-17 23:12:43 +02:00
Zhiyuan Zheng 94e9e023e3 Fix account setting cannot be opened 2022-05-17 23:10:25 +02:00
xmflsct f7e8d90f1a New translations timeline.json (Chinese Simplified) 2022-05-17 03:40:36 +02:00
xmflsct 028ee92d64
Merge pull request #296 from tooot-app/main
Patch v4.0.1
2022-05-16 23:54:50 +02:00
xmflsct a6135adb17
Merge pull request #295 from tooot-app/l10n_main
New Crowdin updates
2022-05-16 23:52:35 +02:00
Zhiyuan Zheng 46bab1593f Fix push wrong ID 2022-05-16 23:44:49 +02:00
Zhiyuan Zheng 9c1d18c7f0 Using new sentry project thanks for sponsoring
Also removing unnecessary importing public keys
2022-05-16 22:35:58 +02:00
Zhiyuan Zheng d0aa55d021 Fix proper reblog permission
https://github.com/tooot-app/app/issues/274
2022-05-16 21:54:11 +02:00
xmflsct 6dc518c7ea New translations timeline.json (Chinese Simplified) 2022-05-16 21:28:12 +02:00
Zhiyuan Zheng c2a537b929 Merge branch 'main' into release 2022-05-15 14:31:56 +02:00
Zhiyuan Zheng 00b0ad3ac5 Delete BUILD 2022-05-15 14:31:50 +02:00
Zhiyuan Zheng 36d1ee9fef Merge branch 'main' into release 2022-05-15 11:51:01 +02:00
Zhiyuan Zheng 1853741a58 Force kotlin version
Otherwise `react-native-gesture-handler` would error out
2022-05-15 11:49:41 +02:00
xmflsct b407d66758
Merge pull request #294 from tooot-app/main
Release v4
2022-05-15 01:27:04 +02:00
Zhiyuan Zheng 265db6abce Now fix push not available
Because expo-application is not installed
2022-05-15 00:40:49 +02:00
Zhiyuan Zheng de495d26d7 Retry push 2022-05-14 22:20:21 +02:00
Zhiyuan Zheng b4365ddf9c Merge branch 'main' into candidate 2022-05-14 01:49:45 +02:00
Zhiyuan Zheng c8153773e9 Try out old notifications package 2022-05-14 01:49:27 +02:00
xmflsct 824314faad
Merge pull request #293 from tooot-app/main
Another run for v4
2022-05-13 19:23:12 +02:00
xmflsct 2362bfa53a
Merge pull request #292 from tooot-app/l10n_main
New Crowdin updates
2022-05-13 19:22:46 +02:00
xmflsct d119bb6f50 New translations timeline.json (Italian) 2022-05-13 19:21:45 +02:00
xmflsct d898d0bf12 New translations mediaSelector.json (Italian) 2022-05-13 19:21:44 +02:00
xmflsct 28c1a89a78 New translations actions.json (Italian) 2022-05-13 19:21:42 +02:00
xmflsct f956d37ea9 New translations imageViewer.json (Italian) 2022-05-13 19:21:41 +02:00
xmflsct cb791fef45 New translations compose.json (Italian) 2022-05-13 19:21:40 +02:00
xmflsct 428669c6bb New translations tabs.json (Italian) 2022-05-13 19:21:39 +02:00
xmflsct 7bde66db6d New translations common.json (Italian) 2022-05-13 19:21:38 +02:00
xmflsct c5d6718d0e New translations instance.json (Italian) 2022-05-13 19:21:37 +02:00
xmflsct 77a902de48 New translations timeline.json (Chinese Traditional) 2022-05-13 19:21:16 +02:00
xmflsct d41cd0afdb New translations screens.json (Italian) 2022-05-13 19:13:45 +02:00
xmflsct 5e4aef3937 New translations common.json (Chinese Traditional) 2022-05-13 19:13:41 +02:00
xmflsct a7913d063d New translations parse.json (Italian) 2022-05-13 19:13:37 +02:00
xmflsct 31090f6ccc New translations relationship.json (Italian) 2022-05-13 19:13:36 +02:00
xmflsct 040b985103 New translations timeline.json (Italian) 2022-05-13 19:13:35 +02:00
xmflsct c66d63f25b New translations mediaSelector.json (Italian) 2022-05-13 19:13:34 +02:00
xmflsct 254244fb73 New translations emojis.json (Italian) 2022-05-13 19:13:33 +02:00
xmflsct 285b2038ff New translations actions.json (Italian) 2022-05-13 19:13:32 +02:00
xmflsct bc5f3628dc New translations imageViewer.json (Italian) 2022-05-13 19:13:31 +02:00
xmflsct 1d210de26a New translations announcements.json (Italian) 2022-05-13 19:13:30 +02:00
Zhiyuan Zheng 59fd07206d Added Italian 2022-05-13 19:13:29 +02:00
xmflsct de815205bc New translations compose.json (Italian) 2022-05-13 19:13:29 +02:00
xmflsct e46285ccf0 New translations tabs.json (Italian) 2022-05-13 19:13:28 +02:00
xmflsct 3df10d3805 New translations common.json (Italian) 2022-05-13 19:13:27 +02:00
xmflsct 15b686a9a6 New translations instance.json (Italian) 2022-05-13 19:13:26 +02:00
xmflsct 76edfd90dc
Merge pull request #290 from andrigamerita/main
Add italian (it) translation
2022-05-13 18:57:16 +02:00
xmflsct 81ac727c01
Merge pull request #289 from tooot-app/l10n_main
New Crowdin updates
2022-05-13 18:55:56 +02:00
andrigamerita 4d822ee471
Trigger BUILD 2022-05-13 17:24:51 +02:00
octospacc 70ac435c91 Add italian (it) translation 2022-05-13 16:45:23 +02:00
xmflsct 9b86e6161a New translations tabs.json (Vietnamese) 2022-05-13 15:59:47 +02:00
xmflsct b82f5b04e1
Merge pull request #288 from tooot-app/main
Retry release v4
2022-05-13 11:45:14 +02:00
xmflsct 356b99f510
Update release_notes.txt 2022-05-13 11:44:46 +02:00
xmflsct f40b4a036f
Update release_notes.txt 2022-05-13 11:43:24 +02:00
xmflsct cec0eeafb3
Update Deliverfile 2022-05-13 11:38:14 +02:00
xmflsct ec853d04a6
Merge pull request #287 from tooot-app/main
Release v4
2022-05-13 10:54:23 +02:00
Zhiyuan Zheng 7d1a8c5148 Added German language 2022-05-13 10:53:04 +02:00
xmflsct d958d85df3
Merge pull request #286 from tooot-app/l10n_main
New Crowdin updates
2022-05-13 10:45:04 +02:00
xmflsct b61820b83d New translations screens.json (Chinese Traditional) 2022-05-13 10:43:36 +02:00
xmflsct f9335add5f New translations screens.json (Korean) 2022-05-13 10:43:34 +02:00
xmflsct f37b3b0828 New translations common.json (Chinese Traditional) 2022-05-13 10:43:31 +02:00
xmflsct 964cc9968e New translations common.json (Korean) 2022-05-13 10:43:28 +02:00
xmflsct 67b1ffa126 New translations tabs.json (Chinese Traditional) 2022-05-13 10:43:27 +02:00
xmflsct 03c48a5403 New translations compose.json (Chinese Traditional) 2022-05-13 10:43:26 +02:00
xmflsct 34e01f8598 New translations announcements.json (Chinese Traditional) 2022-05-13 10:43:20 +02:00
xmflsct 3ee8349155 New translations compose.json (Korean) 2022-05-13 10:43:11 +02:00
xmflsct 7fa955449f New translations tabs.json (Vietnamese) 2022-05-13 10:43:10 +02:00
xmflsct 60f75b3cac New translations tabs.json (Korean) 2022-05-13 10:43:01 +02:00
xmflsct 8e40dc0d57 New translations timeline.json (Korean) 2022-05-13 10:42:54 +02:00
xmflsct 788585ff03 New translations mediaSelector.json (German) 2022-05-13 10:42:52 +02:00
xmflsct 75a545e66d New translations tabs.json (German) 2022-05-13 10:42:49 +02:00
xmflsct 95313d06a4 New translations screens.json (German) 2022-05-13 10:42:46 +02:00
xmflsct 088396ce9b New translations compose.json (German) 2022-05-13 10:42:43 +02:00
xmflsct 19236520ac New translations imageViewer.json (German) 2022-05-13 10:42:40 +02:00
xmflsct 2b9abe9a4a New translations emojis.json (German) 2022-05-13 10:42:36 +02:00
xmflsct 9d1db80ec9 New translations common.json (German) 2022-05-13 10:42:34 +02:00
xmflsct 16390ed560 New translations imageViewer.json (Chinese Traditional) 2022-05-13 10:42:29 +02:00
xmflsct 34d2d86c9c New translations actions.json (Chinese Traditional) 2022-05-13 10:42:21 +02:00
xmflsct c5af0b3cb7 New translations timeline.json (Chinese Traditional) 2022-05-13 10:42:08 +02:00
xmflsct 0e069fdba7 New translations tabs.json (Chinese Simplified) 2022-05-13 10:19:56 +02:00
Zhiyuan Zheng ca7cdb768c Merge branch 'main' into candidate 2022-05-13 00:05:50 +02:00
Zhiyuan Zheng dde33ad1ad Add static emoji option 2022-05-13 00:04:15 +02:00
xmflsct b94af5d8bb
Merge pull request #285 from tooot-app/main
Final test for v4
2022-05-12 00:11:47 +02:00
Zhiyuan Zheng 9c3e8f58b0 Bump up packages 2022-05-12 00:10:10 +02:00
Zhiyuan Zheng 932c816951 Remove custom refresh 2022-05-12 00:04:30 +02:00
xmflsct cd6f984a17
Merge pull request #284 from tooot-app/main
Another build
2022-05-11 00:13:35 +02:00
Zhiyuan Zheng ee2f23c972 Update Actions.tsx
https://github.com/tooot-app/app/issues/274
2022-05-11 00:11:18 +02:00
Zhiyuan Zheng c105b36b3d Fix font weight 2022-05-10 23:19:26 +02:00
xmflsct 2d155144e9
Merge pull request #283 from tooot-app/main
Test
2022-05-10 22:06:46 +02:00
Zhiyuan Zheng 282ba1267d Bump up packages 2022-05-10 22:06:16 +02:00
Zhiyuan Zheng 67f1513829 Try to fix iOS launch crash 2022-05-10 22:04:59 +02:00
xmflsct e119b5768a
Merge pull request #282 from tooot-app/main
Update expo-updates
2022-05-09 22:56:32 +02:00
Zhiyuan Zheng 56887fec85 Update expo-updates 2022-05-09 22:56:10 +02:00
xmflsct dfb1e32fc8
Merge pull request #281 from tooot-app/main
Test updates
2022-05-08 23:58:18 +02:00
xmflsct 14af578680
Merge pull request #278 from tooot-app/l10n_main
New Crowdin updates
2022-05-08 23:57:44 +02:00
xmflsct a728871ac6
Merge branch 'main' into l10n_main 2022-05-08 23:57:29 +02:00
xmflsct bb4a18f8a2 New translations screens.json (Chinese Simplified) 2022-05-08 23:56:08 +02:00
xmflsct 3c1522b210 New translations common.json (Chinese Simplified) 2022-05-08 23:56:06 +02:00
xmflsct b71757671b New translations compose.json (Vietnamese) 2022-05-08 23:56:02 +02:00
xmflsct 714efa3db1 New translations compose.json (Chinese Simplified) 2022-05-08 23:55:59 +02:00
xmflsct 2ba8461b97 New translations tabs.json (Vietnamese) 2022-05-08 23:55:58 +02:00
xmflsct a2b1c07dfc New translations timeline.json (Vietnamese) 2022-05-08 23:55:57 +02:00
xmflsct 4b020897f7 New translations tabs.json (Chinese Simplified) 2022-05-08 23:55:56 +02:00
xmflsct 35eceac8cc New translations timeline.json (Chinese Simplified) 2022-05-08 23:55:55 +02:00
Zhiyuan Zheng d9e1530b8b Fixes after upgrades 2022-05-08 23:40:42 +02:00
Zhiyuan Zheng 1d6790c76e Bump rest of the packages 2022-05-08 22:55:39 +02:00
Zhiyuan Zheng 3d5b2279a5 Not using React 18 yet
https://stackoverflow.com/questions/71831601/ts2786-component-cannot-be-used-as-a-jsx-component
2022-05-08 22:41:59 +02:00
Zhiyuan Zheng 8c2dcf2e7d Bump up RN and Expo 2022-05-08 22:35:43 +02:00
Zhiyuan Zheng 4c9f93497d Using format.js
https://github.com/tooot-app/app/issues/280
2022-05-08 17:56:26 +02:00
xmflsct 08a1978a6a New translations screens.json (Vietnamese) 2022-05-08 17:15:38 +02:00
xmflsct 12a4c93a76 New translations timeline.json (Vietnamese) 2022-05-08 17:15:36 +02:00
xmflsct 94d87d67c3 New translations tabs.json (Vietnamese) 2022-05-08 17:15:35 +02:00
xmflsct 5bc75e480b New translations compose.json (Vietnamese) 2022-05-08 17:15:33 +02:00
xmflsct 7192b97770 New translations common.json (Vietnamese) 2022-05-08 16:18:31 +02:00
Zhiyuan Zheng edb332bb26 Update Visibility.tsx
https://github.com/tooot-app/app/issues/279
2022-05-08 14:27:06 +02:00
Zhiyuan Zheng 8c2004fe6c Upload GIF using Android keyboard
https://github.com/tooot-app/app/issues/261
2022-05-08 12:15:16 +02:00
Zhiyuan Zheng ed531d7371 Add followed by
https://github.com/tooot-app/app/issues/272
2022-05-08 00:24:15 +02:00
Zhiyuan Zheng 8f8b7b41b9 Fix Android building fail 2022-05-08 00:00:01 +02:00
xmflsct 1ef1594c0a New translations timeline.json (Chinese Simplified) 2022-05-07 18:25:45 +02:00
Zhiyuan Zheng ea0b85365e Use global detection 2022-05-07 13:23:08 +02:00
Zhiyuan Zheng 7c48c61c99 Using new text component
Need to use global accessibility checks rather than per text component which is not efficient
2022-05-07 00:52:32 +02:00
Zhiyuan Zheng 8caf315894 Improve sharing error messaging 2022-05-05 23:08:29 +02:00
Zhiyuan Zheng 4503fb991b Android sharing working 2022-05-05 23:03:00 +02:00
xmflsct b7e66425c8
Merge pull request #277 from tooot-app/main
Remove react building
2022-05-05 09:22:08 +02:00
Zhiyuan Zheng 66301b177c Remove react building 2022-05-05 09:21:35 +02:00
xmflsct be8fce8185
Merge pull request #276 from tooot-app/main
Test sharing
2022-05-05 01:33:10 +02:00
Zhiyuan Zheng b8abd8db8a Remove share react 2022-05-05 01:32:32 +02:00
xmflsct cb20d05ffe
Merge pull request #275 from tooot-app/main
Test sharing
2022-05-05 01:16:07 +02:00
Zhiyuan Zheng a73356c7e6 Update AndroidManifest.xml
Android sharing working, but only one element at a time
2022-05-05 01:15:30 +02:00
Zhiyuan Zheng dce3e95010 Proper content type header for Android 2022-05-05 00:52:57 +02:00
Zhiyuan Zheng b2043d884f Update MainActivity.java
https://docs.swmansion.com/react-native-gesture-handler/docs/guides/migrating-off-rnghenabledroot/
2022-05-04 23:55:46 +02:00
Zhiyuan Zheng 235404dc02 Sharing on iOS almost working 2022-05-04 23:07:24 +02:00
Zhiyuan Zheng c9eba052c2 Merge branch 'main' of https://github.com/tooot-app/app 2022-05-04 22:21:37 +02:00
Zhiyuan Zheng 3fc861200d Fix security warnings 2022-05-03 23:14:20 +02:00
Zhiyuan Zheng 02c78d5f68 Get back to the tutorial 2022-05-03 23:06:53 +02:00
Zhiyuan Zheng fe2e7b4372 Update react-native-share-menu+5.0.5.patch
https://github.com/meedan/react-native-share-menu/pull/156
2022-05-03 21:49:55 +02:00
xmflsct ad38b5244f
Merge pull request #270 from tooot-app/main
Update Matchfile
2022-05-03 11:15:27 +02:00
xmflsct 3612d06b86
Update Matchfile 2022-05-03 11:13:19 +02:00
xmflsct a519ddea22
Merge pull request #269 from tooot-app/main
Update Appfile
2022-05-03 11:04:48 +03:00
Zhiyuan Zheng 0274a26212 Update Appfile 2022-05-03 10:04:03 +02:00
xmflsct 16f096fda6
Merge pull request #268 from tooot-app/main
Separate entitlements
2022-05-03 10:36:08 +03:00
Zhiyuan Zheng 37a99fd64f Separate entitlements 2022-05-03 09:35:45 +02:00
xmflsct 509ac7c992
Merge pull request #267 from tooot-app/main
Updates
2022-05-03 01:50:48 +03:00
Zhiyuan Zheng b84b59f39f Updates 2022-05-03 00:49:19 +02:00
xmflsct 7ee882c5ec
Merge pull request #266 from tooot-app/main
Update profiles and building
2022-05-03 01:31:08 +03:00
Zhiyuan Zheng 09ba2ec0a7 Update profiles and building 2022-05-03 00:30:35 +02:00
xmflsct 0d57c7f2d8
Merge pull request #265 from tooot-app/main
Added profiles
2022-05-03 01:04:59 +03:00
xmflsct f385ac8b30
Merge pull request #264 from tooot-app/l10n_main
New Crowdin updates
2022-05-03 01:04:31 +03:00
Zhiyuan Zheng 74024ffb8f Update profiles 2022-05-03 00:04:10 +02:00
xmflsct 50614cfa0f New translations tabs.json (Chinese Simplified) 2022-05-03 00:38:39 +03:00
xmflsct 7e76124bdd New translations compose.json (Chinese Simplified) 2022-05-03 00:38:38 +03:00
xmflsct f4071ec2d0
Merge pull request #263 from tooot-app/main
Do not check podfile changes
2022-05-02 23:57:36 +03:00
Zhiyuan Zheng 9adfbfb2b1 Do not check podfile changes 2022-05-02 22:57:08 +02:00
xmflsct d7d01f1300
Merge pull request #262 from tooot-app/main
Test v4
2022-05-02 23:42:11 +03:00
xmflsct b7b3622963
Merge pull request #254 from tooot-app/l10n_main
New Crowdin updates
2022-05-02 23:41:28 +03:00
Zhiyuan Zheng 43c2297387 Sharing works in simulator 2022-05-02 22:31:22 +02:00
xmflsct fba192bdb2 New translations screens.json (Chinese Traditional) 2022-05-02 00:17:19 +03:00
xmflsct 932ce924ef New translations parse.json (Chinese Traditional) 2022-05-02 00:17:17 +03:00
xmflsct 8a92699f5e New translations relationship.json (Chinese Traditional) 2022-05-02 00:17:16 +03:00
xmflsct 00e81cc85b New translations relativeTime.json (Chinese Traditional) 2022-05-02 00:17:15 +03:00
xmflsct 10d3fade62 New translations mediaSelector.json (Chinese Traditional) 2022-05-02 00:17:14 +03:00
xmflsct 4624b4a37f New translations common.json (Chinese Traditional) 2022-05-02 00:17:13 +03:00
xmflsct 48438ae5f9 New translations instance.json (Chinese Traditional) 2022-05-02 00:17:12 +03:00
xmflsct 150e07f4f8 New translations emojis.json (Chinese Traditional) 2022-05-01 22:24:11 +03:00
xmflsct 03b219862d New translations screens.json (German) 2022-05-01 17:44:20 +03:00
xmflsct 689b68494a New translations actions.json (German) 2022-05-01 17:44:18 +03:00
xmflsct f6088ff725 New translations timeline.json (German) 2022-05-01 17:44:16 +03:00
xmflsct c2a53bcf48 New translations parse.json (German) 2022-05-01 16:35:28 +03:00
xmflsct 49464f7c7f New translations instance.json (German) 2022-05-01 16:35:27 +03:00
xmflsct 382ab638e4 New translations common.json (German) 2022-05-01 16:35:25 +03:00
Zhiyuan Zheng 829a25b76b Fix poll 5 minutes un-selectable 2022-05-01 00:18:18 +02:00
Zhiyuan Zheng 902d4e6c3a Show instance version 2022-05-01 00:03:52 +02:00
Zhiyuan Zheng dc91f3edeb Update typing for new react-redux 2022-04-30 23:47:52 +02:00
Zhiyuan Zheng 546847fd9a Auth follow update 2022-04-30 23:41:48 +02:00
Zhiyuan Zheng d23f454148 Editing does not allow changing visibility 2022-04-30 22:44:52 +02:00
Zhiyuan Zheng 2aba971eb9 Fix poll count text color 2022-04-30 22:09:05 +02:00
Zhiyuan Zheng 855f50f9ee Clean up core timeline components 2022-04-30 21:59:13 +02:00
Zhiyuan Zheng 293447f65c Clean up react memo 2022-04-30 21:47:17 +02:00
Zhiyuan Zheng f93d6f7db8 Editing can update media 2022-04-30 21:29:08 +02:00
Zhiyuan Zheng d4f91a5756 Basic editing works 2022-04-30 17:44:39 +02:00
Zhiyuan Zheng 95ec76f411 Edited posts can be viewed 2022-04-29 23:57:18 +02:00
Zhiyuan Zheng bceb70e805 Bump to v4
Preparing for adding support to v3.5 and above
2022-04-28 22:52:47 +02:00
Zhiyuan Zheng 1995f32dfd Bump packages 2022-04-28 21:53:52 +02:00
Zhiyuan Zheng 8aeb32fd61 Bump SDWebImage 2022-04-05 22:51:18 +02:00
Zhiyuan Zheng 86b3661c74 Update packages 2022-04-05 22:29:10 +02:00
Zhiyuan Zheng bd22379d2c Bump packages 2022-04-05 22:14:13 +02:00
xmflsct a9b374302a New translations tabs.json (Vietnamese) 2022-04-05 07:59:53 +02:00
xmflsct a4373471c5 New translations instance.json (Vietnamese) 2022-04-05 07:59:52 +02:00
xmflsct 55e775eaeb New translations tabs.json (Vietnamese) 2022-04-05 06:58:14 +02:00
xmflsct a445eaf7f7 New translations timeline.json (Vietnamese) 2022-04-02 04:13:44 +02:00
Zhiyuan Zheng 05555c3455 Roll back pager-view
Breaking initial page height
2022-03-29 23:01:20 +02:00
xmflsct 85c51167b5
Merge pull request #253 from tooot-app/main
Fix android building
2022-03-29 22:15:24 +02:00
Zhiyuan Zheng d4a16a4003 Delete expo-updates+0.11.6.patch 2022-03-29 22:14:49 +02:00
Zhiyuan Zheng 3916d75291 Update expo-updates+0.11.6.patch 2022-03-29 22:06:54 +02:00
Zhiyuan Zheng ae986db208 Temp fix for reanimated with expo
https://github.com/software-mansion/react-native-reanimated/issues/3088#issuecomment-1074934609
2022-03-29 22:04:30 +02:00
xmflsct 8a7437aafe
Merge pull request #252 from tooot-app/main
Properly update cocoapods
2022-03-28 23:50:19 +02:00
Zhiyuan Zheng c63b174f43 Properly update cocoapods 2022-03-28 23:49:54 +02:00
xmflsct 082fcf0fbc
Merge pull request #251 from tooot-app/main
Update Fastfile
2022-03-28 23:40:37 +02:00
Zhiyuan Zheng 5c1c6bc1c6 Update Fastfile 2022-03-28 23:40:15 +02:00
xmflsct d3f9d0003f
Merge pull request #250 from tooot-app/main
Update Podfile.lock
2022-03-28 23:25:49 +02:00
Zhiyuan Zheng 8226ee405b Update Podfile.lock 2022-03-28 23:25:24 +02:00
xmflsct 8333e68a63
Merge pull request #249 from tooot-app/main
Test v3.6 of new packages
2022-03-28 23:12:00 +02:00
Zhiyuan Zheng 34adf956b8 Bump up dependencies 2022-03-28 23:10:50 +02:00
Zhiyuan Zheng 30b2ea458c Bump up packages 2022-03-28 22:57:24 +02:00
Zhiyuan Zheng 1a40c5fce4 Bump up packages 2022-03-28 22:20:40 +02:00
Zhiyuan Zheng aa739a595f Bump up packages 2022-03-28 22:00:31 +02:00
xmflsct a085182682
Merge pull request #244 from tooot-app/l10n_main
New Crowdin updates
2022-03-28 21:29:15 +02:00
xmflsct b6aa610017
Merge pull request #248 from ouuan/translations
Fix some Chinese translations
2022-03-28 21:27:46 +02:00
Yufan You 0435661c10
Fix some Chinese translations 2022-03-28 14:39:04 +08:00
xmflsct 8e00cdcdea New translations tabs.json (Vietnamese) 2022-03-12 05:26:25 +01:00
xmflsct bff05ae933 New translations timeline.json (Vietnamese) 2022-03-12 05:26:24 +01:00
xmflsct 543d80bf70 New translations tabs.json (Vietnamese) 2022-02-23 16:04:10 +01:00
xmflsct e19fdc5201
Merge pull request #243 from tooot-app/main
Release v3.5.4
2022-02-23 00:09:02 +01:00
xmflsct 747b8cca45
Merge pull request #242 from tooot-app/l10n_main
New Crowdin updates
2022-02-23 00:08:34 +01:00
xmflsct 89fcdb2068 New translations tabs.json (Chinese Simplified) 2022-02-23 00:08:14 +01:00
Zhiyuan Zheng bece2a37fd Update Switch.tsx 2022-02-23 00:08:06 +01:00
xmflsct 00533c4308 New translations emojis.json (Chinese Simplified) 2022-02-23 00:06:05 +01:00
xmflsct 1429652460
Merge pull request #241 from tooot-app/main
Test v3.5.4
2022-02-22 23:39:29 +01:00
Zhiyuan Zheng 0a35aff8ef Partially fix #237 2022-02-22 23:38:08 +01:00
Zhiyuan Zheng 46386cb579 #239 2022-02-22 23:14:09 +01:00
xmflsct 44374ce091
Merge pull request #236 from tooot-app/main
Release v3.5.3
2022-02-19 18:24:50 +01:00
xmflsct 83c3a82f36
Merge pull request #235 from tooot-app/main
Test v3.5.3
2022-02-19 17:35:14 +01:00
Zhiyuan Zheng 6e3f964b79 Fix me page padding issue 2022-02-19 17:15:44 +01:00
Zhiyuan Zheng 176a753875 Merge branch 'main' of https://github.com/tooot-app/app 2022-02-19 17:09:36 +01:00
Zhiyuan Zheng e619677660 Fix crashes 2022-02-19 17:09:34 +01:00
xmflsct 6654adc50c
Merge pull request #234 from tooot-app/main
Release v3.5.2
2022-02-17 23:18:54 +01:00
xmflsct 31eba0d95b
Merge pull request #231 from tooot-app/l10n_main
New Crowdin updates
2022-02-17 23:17:44 +01:00
Zhiyuan Zheng a0321291aa Update Podfile.lock 2022-02-17 23:17:31 +01:00
Zhiyuan Zheng 1c4245bad6 Update yarn.lock 2022-02-17 23:15:56 +01:00
Zhiyuan Zheng 8f75bbb4b3 Merge branch 'main' of https://github.com/tooot-app/app 2022-02-17 23:10:36 +01:00
Zhiyuan Zheng 3f7c85a41a Hopefully fix the warning 2022-02-17 23:10:32 +01:00
xmflsct bb7dca988e
Merge pull request #233 from tooot-app/main
Update candidate
2022-02-17 00:15:26 +01:00
xmflsct b2772b1d65
Merge branch 'candidate' into main 2022-02-17 00:15:20 +01:00
xmflsct e78f8263da
Merge pull request #232 from tooot-app/main
Fix theme changing issue
2022-02-17 00:13:26 +01:00
Zhiyuan Zheng dd7b9cd6a2 Fix theme changing issue 2022-02-17 00:09:19 +01:00
xmflsct d4637d85e2 New translations tabs.json (Vietnamese) 2022-02-16 17:13:36 +01:00
xmflsct ca6cdab285 New translations emojis.json (Vietnamese) 2022-02-15 05:31:06 +01:00
xmflsct c08077d1c1 New translations tabs.json (Vietnamese) 2022-02-15 05:31:05 +01:00
xmflsct bf49c03c06
Merge pull request #230 from tooot-app/main
Release v3.5
2022-02-14 23:44:26 +01:00
Zhiyuan Zheng fb8bb54989 Bump up packages 2022-02-14 23:43:43 +01:00
Zhiyuan Zheng 06db0580cd Fix bugs 2022-02-14 22:10:07 +01:00
Zhiyuan Zheng e388ce7626 Square image when image is too long 2022-02-14 21:07:10 +01:00
xmflsct f873e12bcc
Merge pull request #229 from tooot-app/main
Test v3.5
2022-02-13 22:21:12 +01:00
Zhiyuan Zheng ca4594328f Try out candidate 2022-02-13 22:19:36 +01:00
xmflsct f7c79edac1
Merge pull request #228 from tooot-app/l10n_main
New Crowdin updates
2022-02-13 22:18:09 +01:00
xmflsct be6913c830
Merge branch 'main' into l10n_main 2022-02-13 22:18:03 +01:00
xmflsct f38995bf3f New translations emojis.json (Chinese Simplified) 2022-02-13 22:17:25 +01:00
Zhiyuan Zheng 9e4189c522 Added frequent used emojis 2022-02-13 22:14:16 +01:00
Zhiyuan Zheng 5ab988585b Try to capture more debug info 2022-02-13 19:34:05 +01:00
xmflsct 48e6fb52e3 New translations tabs.json (Vietnamese) 2022-02-13 16:20:03 +01:00
xmflsct 047438104f
Merge pull request #227 from tooot-app/main
Update translation
2022-02-13 01:29:27 +01:00
xmflsct 7163ce7d77
Merge pull request #225 from tooot-app/l10n_main 2022-02-13 01:26:18 +01:00
xmflsct eb87fe689b
Merge pull request #226 from tooot-app/main
Patch v3.4.4
2022-02-12 22:17:21 +01:00
Zhiyuan Zheng e8fa5f2acb Fix long image 2022-02-12 22:16:29 +01:00
xmflsct 51189ad947 New translations tabs.json (Chinese Simplified) 2022-02-12 20:17:00 +01:00
Zhiyuan Zheng 3a7eec53ec Run cocoapods only when needed 2022-02-12 19:30:52 +01:00
xmflsct 50815bc1c1
Merge pull request #224 from tooot-app/main
Release v3.4.4
2022-02-12 19:22:25 +01:00
xmflsct ca3c9c14a7
Merge pull request #222 from tooot-app/l10n_main
New Crowdin updates
2022-02-12 19:20:31 +01:00
Zhiyuan Zheng ba7c31c4e7 Show full image when only 1 2022-02-12 19:14:02 +01:00
Zhiyuan Zheng c6d3514fa2 Try out more apng loading 2022-02-12 18:25:53 +01:00
Zhiyuan Zheng 6f0c318d06 Implemented new dark theme 2022-02-12 14:51:01 +01:00
Zhiyuan Zheng 50141b2963 Proper gate return preventing running further codes 2022-02-12 11:12:05 +01:00
xmflsct bf42a715cd New translations tabs.json (Vietnamese) 2022-02-12 04:31:47 +01:00
xmflsct c8b73f47f1 New translations compose.json (Vietnamese) 2022-02-12 04:31:46 +01:00
xmflsct 930b5e4b34 New translations actions.json (Vietnamese) 2022-02-12 04:31:45 +01:00
xmflsct a457e9e78e
Merge pull request #221 from tooot-app/main
Try to fix toot id not found
2022-02-11 21:38:33 +01:00
Zhiyuan Zheng 9936f6c921 Try to fix toot id not found 2022-02-11 21:30:45 +01:00
xmflsct 182826d047
Merge pull request #220 from tooot-app/main
Release v3.4.2
2022-02-10 23:18:48 +01:00
Zhiyuan Zheng ee71733676 Merge branch 'main' of https://github.com/tooot-app/app 2022-02-10 23:18:16 +01:00
Zhiyuan Zheng b1565ee240 Fix feedback link 2022-02-10 23:18:14 +01:00
xmflsct c068f9934f
Merge pull request #219 from tooot-app/main
Release v3.4.2
2022-02-10 23:16:40 +01:00
xmflsct 14766b4f74
Merge pull request #217 from tooot-app/l10n_main
New Crowdin updates
2022-02-10 23:15:42 +01:00
xmflsct 4832501282 New translations tabs.json (Chinese Simplified) 2022-02-10 23:15:17 +01:00
Zhiyuan Zheng 44d1f6fbed Fix whole word filter not working 2022-02-10 23:09:40 +01:00
Zhiyuan Zheng f96e9af7b9 Add feature request link 2022-02-10 22:42:46 +01:00
Zhiyuan Zheng 98186e1f2b Bump fastlane 2022-02-10 22:01:57 +01:00
xmflsct 1fbdd2ab89
Merge pull request #218 from tooot-app/v3.5
Update Fastfile
2022-02-10 10:13:03 +01:00
xmflsct 7e08e491d3
Update Fastfile 2022-02-10 10:12:47 +01:00
xmflsct d5a551a2a5 New translations timeline.json (Vietnamese) 2022-02-10 08:55:39 +01:00
xmflsct d11e8bd356 New translations timeline.json (Vietnamese) 2022-02-10 07:57:01 +01:00
xmflsct be0f54d7c1 New translations compose.json (Vietnamese) 2022-02-10 05:28:17 +01:00
xmflsct 70fbf076f9 New translations tabs.json (Vietnamese) 2022-02-10 04:16:06 +01:00
xmflsct 0c5fd9efba New translations compose.json (Vietnamese) 2022-02-10 04:16:05 +01:00
xmflsct c3be690a7d New translations actions.json (Vietnamese) 2022-02-10 04:16:04 +01:00
xmflsct c3eb1039d4 New translations timeline.json (Vietnamese) 2022-02-10 04:16:03 +01:00
xmflsct be23f827f5 New translations parse.json (Vietnamese) 2022-02-10 04:16:02 +01:00
xmflsct 92e8dc6ef7 New translations tabs.json (Vietnamese) 2022-02-10 03:19:25 +01:00
xmflsct a986ea8c23 New translations timeline.json (Vietnamese) 2022-02-10 03:19:24 +01:00
xmflsct 425799cabe New translations relativeTime.json (Vietnamese) 2022-02-10 03:19:23 +01:00
xmflsct e118a29219 New translations parse.json (Vietnamese) 2022-02-10 03:19:22 +01:00
xmflsct c381d0cd0f
Merge pull request #216 from tooot-app/v3.5
Update Fastfile
2022-02-10 00:16:19 +01:00
Zhiyuan Zheng 30c4d8a6a3 Update Fastfile 2022-02-10 00:16:03 +01:00
xmflsct 2c151428ff
Merge pull request #215 from tooot-app/v3.5
V3.5
2022-02-09 22:57:38 +01:00
Zhiyuan Zheng 33c6308468 Test out Android packaging for F-droid 2022-02-09 22:56:59 +01:00
xmflsct 1dd9474d49
Merge pull request #214 from tooot-app/main
Release v3.4.1
2022-02-08 22:52:48 +01:00
Zhiyuan Zheng 6e406db703 Fix cannot switch language to English 2022-02-08 22:49:59 +01:00
xmflsct 49c67da6de
Merge pull request #211 from tooot-app/l10n_main
New Crowdin updates
2022-02-08 22:32:42 +01:00
xmflsct 243151864d New translations timeline.json (Chinese Simplified) 2022-02-08 22:26:55 +01:00
Zhiyuan Zheng 311020285d Improved translation response 2022-02-08 22:19:24 +01:00
xmflsct 751c7f0186
Merge pull request #213 from tooot-app/main
Final release of v3.4
2022-02-08 10:09:56 +01:00
Zhiyuan Zheng 11c22907af Temp disable prefetch 2022-02-08 10:09:10 +01:00
xmflsct 76bf2e693c
Merge pull request #212 from tooot-app/main
Release v3.4
2022-02-07 23:06:48 +01:00
xmflsct d9d4e8c949
Merge branch 'release' into main 2022-02-07 23:05:59 +01:00
Zhiyuan Zheng 6651f86eaa More prompt update alert 2022-02-07 23:03:21 +01:00
xmflsct 0c70cc26a6 New translations timeline.json (Chinese Simplified) 2022-02-06 23:55:49 +01:00
Zhiyuan Zheng e8ddeea922 Squashed commit of the following:
commit e4c87fbc5528644a20b8b8dcaeef9a729218f4ab
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:54:53 2022 +0100

    Hotfix v3.3.2

commit 16f1cd50356d8b46e24e756e730f712a8a30fba4
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 18:09:11 2022 +0100

    Try to fix weird crash

commit 87e8268c562faabb13558593ff0a359465faa2af
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:47:30 2022 +0100

    Fix iOS 12 crashes on media selection

    https://github.com/expo/expo/issues/14903#issuecomment-966161497
2022-02-06 22:55:02 +01:00
Zhiyuan Zheng 9624a40aac Squashed commit of the following:
commit c8e72399884ba91003ccfa09fc8021a486d1a353
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:53:54 2022 +0100

    Hotfix 3.2.4

commit 1799a673216523d8cbd690a188cedc998618ada9
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 18:09:11 2022 +0100

    Try to fix weird crash

commit bd2e2966d8b3e31d9833193a66e470520aad055a
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:47:30 2022 +0100

    Fix iOS 12 crashes on media selection

    https://github.com/expo/expo/issues/14903#issuecomment-966161497
2022-02-06 22:54:05 +01:00
Zhiyuan Zheng f1e7e05a1d Squashed commit of the following:
commit af3560afebf5f4482e037c1f7c46ca16bd1975a2
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:52:43 2022 +0100

    Hotfix v3.1.2

commit c8a16c9aa61de80b5e485cf09f5f539ab15b4449
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 18:09:11 2022 +0100

    Try to fix weird crash

commit c9f7cb664c8ba34acd1700e8443bddb2bb039fcd
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:47:30 2022 +0100

    Fix iOS 12 crashes on media selection

    https://github.com/expo/expo/issues/14903#issuecomment-966161497
2022-02-06 22:53:00 +01:00
Zhiyuan Zheng 10994988b2 Squashed commit of the following:
commit 3c962f99d64e680466d5b1bfcc1a583d6745ac6c
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:06:05 2022 +0100

    Patch 3.3.1

commit 7d7348179f79cf365b49aee98a5ed18878b581d5
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 18:58:27 2022 +0100

    Try to capture more info to debug
2022-02-06 22:06:21 +01:00
Zhiyuan Zheng 26e5f592e1 Squashed commit of the following:
commit f605f3cbcc3ffa6e7c4f1f2e2566875d92f4c3f5
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:04:38 2022 +0100

    Patch 3.2.3

commit 23251703fd7fbeeae7f841e88b32c43ad2bad84b
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 18:58:27 2022 +0100

    Try to capture more info to debug
2022-02-06 22:04:57 +01:00
Zhiyuan Zheng 1d1e3ac9af Squashed commit of the following:
commit 29c04db30ef8ada8879239d63f580c1829d6c7cd
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 22:02:09 2022 +0100

    Patch 3.1.1

commit d3cd4c42ae1d6e01f78806ffaa8560ddbfadedfa
Author: Zhiyuan Zheng <me@xmflsct.com>
Date:   Sun Feb 6 18:58:27 2022 +0100

    Try to capture more info to debug
2022-02-06 22:03:31 +01:00
xmflsct 33be34fb97
Merge pull request #209 from tooot-app/main
Correct iPad screenshots
2022-02-04 23:14:52 +01:00
xmflsct b6685b8a5a
Merge pull request #208 from tooot-app/main
Release v3.3
2022-02-04 11:32:07 +01:00
xmflsct 2211de5eb3
Merge pull request #205 from tooot-app/main
Release v3.2.2
2022-02-02 22:49:31 +01:00
xmflsct 46f5cd893d
Merge pull request #204 from tooot-app/main
Release v3.2.1
2022-02-01 22:32:39 +01:00
xmflsct fbd9288a98
Merge pull request #202 from tooot-app/main
Release v3.2
2022-01-31 12:32:53 +01:00
xmflsct 15c861b283
Merge pull request #197 from tooot-app/main
Release v3.1
2022-01-08 17:55:18 +01:00
xmflsct c443359fc1
Merge pull request #193 from tooot-app/main
Releave v3.0.1
2022-01-02 17:42:43 +01:00
xmflsct 8bcf06fb16
Merge pull request #191 from tooot-app/main
Fix release notes
2021-12-19 00:31:00 +01:00
xmflsct d238b829d6
Merge pull request #190 from tooot-app/main
Release v3.0
2021-12-18 23:45:06 +01:00
xmflsct 5f50662008
Merge pull request #166 from tooot-app/main
Release v2.2
2021-10-06 21:41:26 +02:00
xmflsct 1739c309d6
Merge pull request #157 from tooot-app/main
Release v2.1.3
2021-08-21 01:41:57 +02:00
xmflsct 24cd305003
Merge pull request #154 from tooot-app/main
Release v2.1.2
2021-08-11 00:19:29 +02:00
xmflsct 32c6112f3f
Merge pull request #153 from tooot-app/main
Release v2.1.1
2021-07-07 18:59:41 +02:00
xmflsct 0245a5c0e3
Merge pull request #151 from tooot-app/main
Release v2.1
2021-06-22 16:16:38 +02:00
xmflsct d32458689b
Merge pull request #148 from tooot-app/main
Release v2.0.5
2021-06-11 23:12:47 +02:00
xmflsct d7e8c7260d
Merge pull request #146 from tooot-app/candidate
Release v2.0.4
2021-06-02 22:49:15 +02:00
xmflsct b7e66bfe18
Merge pull request #144 from tooot-app/main
Release v2.0.3
2021-06-01 23:24:14 +02:00
xmflsct 751de9ff30
Merge pull request #141 from tooot-app/main
Release v2.0.2
2021-05-31 00:42:30 +02:00
xmflsct 8fa458a74d
Merge pull request #134 from tooot-app/main
Release v2.0
2021-05-27 12:15:31 +02:00
xmflsct db577076f7
Merge pull request #130 from tooot-app/main
Release notes need language code
2021-05-12 19:31:40 +02:00
xmflsct 30ad3399f9
Merge pull request #129 from tooot-app/main
Add release note for iOS
2021-05-12 18:18:04 +02:00
xmflsct 3dbba38151
Merge pull request #128 from tooot-app/main
Fix IDFA details
2021-05-12 17:04:03 +02:00
xmflsct 95dda58956
Merge pull request #126 from tooot-app/candidate
Release v1.1
2021-05-12 14:58:26 +02:00
xmflsct eca5349635
Merge pull request #112 from tooot-app/candidate
Nightly 210419
2021-04-19 23:46:21 +02:00
904 changed files with 59062 additions and 37791 deletions

View File

@ -3,9 +3,6 @@ export ENVIRONMENT="development"
export SENTRY_ORGANIZATION=""
export SENTRY_PROJECT=""
export SENTRY_AUTH_TOKEN=""
export SENTRY_DSN=""
export TOOOT_PUSH_KEY_PUBLIC=""
# Fastlane start
export LC_ALL=""

View File

@ -6,42 +6,28 @@ on:
- release
jobs:
build:
runs-on: macos-11
build-ios:
runs-on: macos-14
steps:
- name: -- Step 0 -- Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
- uses: tj-actions/branch-names@v8
id: branch
- name: -- Step 1 -- Checkout code
uses: actions/checkout@v2
- name: -- Step 2 -- Setup node
uses: actions/setup-node@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16.x
- name: -- Step 3 -- Use Expo action
uses: expo/expo-github-action@v6
with:
expo-version: 5.x
username: ${{ secrets.EXPO_USERNAME }}
token: ${{ secrets.EXPO_TOKEN }}
- name: -- Step 4 -- Install node dependencies
run: yarn install
- name: -- Step 5 -- Install native dependencies
run: npx pod-install
- name: -- Step 6 -- Install ruby dependencies
run: bundle install
- name: -- Step 7 -- Run fastlane
node-version-file: '.nvmrc'
- run: corepack enable
- run: yarn install
- run: bundle install
- run: yarn app:build ios
env:
DEVELOPER_DIR: /Applications/Xcode_13.2.1.app/Contents/Developer
ENVIRONMENT: ${{ steps.branch.outputs.branch }}
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
SENTRY_ORGANIZATION: ${{ secrets.SENTRY_ORGANIZATION }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
TOOOT_PUSH_KEY_PUBLIC: ${{ secrets.TOOOT_PUSH_KEY_PUBLIC }}
FASTLANE_USER: ${{ secrets.FASTLANE_USER }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }}
@ -49,11 +35,65 @@ jobs:
APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }}
build-android:
runs-on: macos-14
steps:
- uses: tj-actions/branch-names@v8
id: branch
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- run: corepack enable
- run: yarn install
- run: bundle install
- run: yarn app:build android
env:
ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ANDROID_KEYSTORE_ALIAS: ${{ secrets.ANDROID_KEYSTORE_ALIAS }}
ANDROID_KEYSTORE_KEY_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_KEY_PASSWORD }}
SUPPLY_JSON_KEY_DATA: ${{ secrets.SUPPLY_JSON_KEY_DATA }}
GH_PAT_GET_RELEASE: ${{ secrets.GH_PAT_GET_RELEASE }}
GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }}
create-release:
runs-on: macos-14
needs: [build-ios, build-android]
steps:
- uses: tj-actions/branch-names@v8
id: branch
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- run: corepack enable
- run: yarn install
- run: bundle install
- run: yarn app:build release
env:
ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
SENTRY_ORGANIZATION: ${{ secrets.SENTRY_ORGANIZATION }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ANDROID_KEYSTORE_ALIAS: ${{ secrets.ANDROID_KEYSTORE_ALIAS }}
ANDROID_KEYSTORE_KEY_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_KEY_PASSWORD }}
FL_GITHUB_RELEASE_API_BEARER: ${{ secrets.GITHUB_TOKEN }}
run: yarn app:build

View File

@ -1,70 +0,0 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '35 4 * * 4'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

69
.gitignore vendored
View File

@ -5,29 +5,74 @@
coverage/
builds/
# @generated expo-cli sync-28e2ab0e9ece60556eaf932abe52d017ec33db50
# @generated expo-cli sync-e7dcf75f4e856f7b6f3239b3f3a7dd614ee755a8
# The following patterns were generated by expo-cli
# OSX
#
.DS_Store
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace
ios/.xcode.env.local
ios/containers
# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml
*.hprof
.cxx/
*.keystore
!debug.keystore
# node.js
#
node_modules/
npm-debug.log
yarn-error.log
# BUCK
buck-out/
\.buckd/
*.keystore
!debug.keystore
# Bundle artifacts
*.jsbundle
# Expo
.expo/*
.expo-shared/*
web-build/
# CocoaPods
/ios/Pods/
# @end expo-cli
# Expo
.expo/
web-build/
dist/
# Temporary files created by Metro to check the health of the file watcher
.metro-health-check*
# @end expo-cli
# yarn 3
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

1
.nvmrc Normal file
View File

@ -0,0 +1 @@
20

View File

@ -0,0 +1,34 @@
diff --git a/index.d.ts b/index.d.ts
index f52822c8bed928f387baf90fdb7342c7416a775a..6d9d480d18342832c4b07af2b10f4a63ff538e7b 100755
--- a/index.d.ts
+++ b/index.d.ts
@@ -5,11 +5,9 @@
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// Minimum TypeScript Version: 3.7
-export interface ShareData {
- mimeType: string;
- data: string | string[];
- extraData?: object | undefined;
-}
+export type ShareData = {
+ data: {mimeType: string; data: string}[];
+} | {mimeType: string; data: string | string[]}
export type ShareCallback = (share?: ShareData) => void;
@@ -25,10 +23,10 @@ interface ShareMenu {
}
interface ShareMenuReactView {
- dismissExtension(error?: string): void;
- openApp(): void;
- continueInApp(extraData?: object): void;
- data(): Promise<{mimeType: string, data: string}>;
+ dismissExtension(error?: string): void
+ openApp(): void
+ continueInApp(extraData?: object): void
+ data(): Promise<{ data: { mimeType: string; data: string }[] }>
}
export const ShareMenuReactView: ShareMenuReactView;

View File

@ -0,0 +1,64 @@
diff --git a/ios/Sources/Common/AutoLayoutWrapperView.swift b/ios/Sources/Common/AutoLayoutWrapperView.swift
index e2b9be9c129c66eed3eaebb4e33f5456ce98f5da..ef6a0087f524c8d228b7fee31e54fc3dba769ffa 100644
--- a/ios/Sources/Common/AutoLayoutWrapperView.swift
+++ b/ios/Sources/Common/AutoLayoutWrapperView.swift
@@ -18,7 +18,11 @@ class AutoLayoutWrapperView: UIView {
override func addSubview(_ view: UIView) {
if let detachedView = view as? RNIDetachedView {
- detachedView.updateBounds(newSize: self.bounds.size);
+ do {
+ try detachedView.updateBounds(newSize: self.bounds.size);
+ } catch {
+ print("Error: \(error)");
+ };
};
super.addSubview(view);
@@ -37,7 +41,11 @@ class AutoLayoutWrapperView: UIView {
func updateSizeOfSubviews(newSize: CGSize? = nil){
self.subviews.forEach {
guard let detachedView = $0 as? RNIDetachedView else { return };
- detachedView.updateBounds(newSize: newSize ?? self.bounds.size);
+ do {
+ try detachedView.updateBounds(newSize: newSize ?? self.bounds.size);
+ } catch {
+ print("Error: \(error)");
+ };
};
};
};
diff --git a/ios/Sources/RNIContextMenuView/RNIContextMenuPreviewController.swift b/ios/Sources/RNIContextMenuView/RNIContextMenuPreviewController.swift
index 2b4dc6287c68c88d6652b963ac2cc5f59251ffa9..7c8472e90dac8359f6b40ce2c096323fcf388249 100644
--- a/ios/Sources/RNIContextMenuView/RNIContextMenuPreviewController.swift
+++ b/ios/Sources/RNIContextMenuView/RNIContextMenuPreviewController.swift
@@ -63,7 +63,11 @@ class RNIContextMenuPreviewController: UIViewController {
case .STRETCH:
guard let menuCustomPreviewView = self.menuCustomPreviewView else { return };
- menuCustomPreviewView.updateBounds(newSize: self.view.bounds.size);
+ do {
+ try menuCustomPreviewView.updateBounds(newSize: self.view.bounds.size);
+ } catch {
+ print("Error: \(error)");
+ };
self.preferredContentSize = .zero;
case .INHERIT:
diff --git a/ios/Sources/RNIContextMenuView/RNIContextMenuView.swift b/ios/Sources/RNIContextMenuView/RNIContextMenuView.swift
index affabcdee8303681f1438c6cfdb9d90d6a105ba6..7c470229e06250f4bd80d3133e381b91ff4f61c5 100644
--- a/ios/Sources/RNIContextMenuView/RNIContextMenuView.swift
+++ b/ios/Sources/RNIContextMenuView/RNIContextMenuView.swift
@@ -307,7 +307,11 @@ public class RNIContextMenuView:
.init(with: detachedView)
);
- detachedView.detach();
+ do {
+ try detachedView.detach();
+ } catch {
+ print("Error: \(error)");
+ };
};
#if DEBUG

View File

@ -0,0 +1,38 @@
diff --git a/src/zoom.tsx b/src/zoom.tsx
index 70ce1c8d6a43e711f06b93d1eda3b44a3ad9a659..cdc2713470f2d332b8bf3e9c97e38fd9b78281df 100644
--- a/src/zoom.tsx
+++ b/src/zoom.tsx
@@ -4,6 +4,7 @@ import Animated, {
useSharedValue,
useAnimatedStyle,
useDerivedValue,
+ withDecay,
withTiming,
cancelAnimation,
runOnJS,
@@ -120,11 +121,22 @@ export function Zoom(props: Props) {
}
}
})
- .onEnd(() => {
+ .onEnd((event) => {
if (isPinching.value || !isZoomed.value) return;
- panTranslateX.value = 0;
- panTranslateY.value = 0;
+ const maxTranslateX = (viewWidth.value / 2) * scale.value - viewWidth.value / 2;
+ const minTranslateX = -maxTranslateX;
+ translationX.value = withDecay({
+ velocity: event.velocityX,
+ clamp: [minTranslateX, maxTranslateX]
+ });
+
+ const maxTranslateY = (viewHeight.value / 2) * scale.value - viewHeight.value / 2;
+ const minTranslateY = -maxTranslateY;
+ translationY.value = withDecay({
+ velocity: event.velocityY,
+ clamp: [minTranslateY, maxTranslateY]
+ });
});
const pinch = Gesture.Pinch()

View File

@ -0,0 +1,89 @@
diff --git a/android/build.gradle b/android/build.gradle
index 9557fdbf2fbf97b7f7aeaf7ce86d301a8ced213d..ebdeb6f4de7846d3241101001755595c52a4b05e 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,12 +1,12 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 29
- buildToolsVersion "29.0.2"
+ compileSdkVersion 31
+ buildToolsVersion "31.0.0"
defaultConfig {
- minSdkVersion 16
- targetSdkVersion 29
+ minSdkVersion 21
+ targetSdkVersion 31
versionCode 1
versionName "1.0"
ndk {
diff --git a/ios/ReactShareViewController.swift b/ios/ReactShareViewController.swift
index f42bce6ce7e3f48a7ddc83f3366b68fd0664b1a0..ee360622b1d03cc9661c78c6f210b84c3b19a725 100644
--- a/ios/ReactShareViewController.swift
+++ b/ios/ReactShareViewController.swift
@@ -13,7 +13,7 @@ class ReactShareViewController: ShareViewController, RCTBridgeDelegate, ReactSha
func sourceURL(for bridge: RCTBridge!) -> URL! {
#if DEBUG
return RCTBundleURLProvider.sharedSettings()?
- .jsBundleURL(forBundleRoot: "index.share", fallbackResource: nil)
+ .jsBundleURL(forBundleRoot: "index.share")
#else
return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
#endif
diff --git a/ios/ShareViewController.swift b/ios/ShareViewController.swift
index 12d8c92dda20fabd9e7b55fec57b3d867414063c..8a1db0de285b18a9358a10b2ca8293a8c7d56a8e 100644
--- a/ios/ShareViewController.swift
+++ b/ios/ShareViewController.swift
@@ -19,8 +19,8 @@ class ShareViewController: SLComposeServiceViewController {
var hostAppUrlScheme: String?
var sharedItems: [Any] = []
- override func viewDidLoad() {
- super.viewDidLoad()
+ override func viewWillAppear(_ animated: Bool) {
+ super.viewWillAppear(animated)
if let hostAppId = Bundle.main.object(forInfoDictionaryKey: HOST_APP_IDENTIFIER_INFO_PLIST_KEY) as? String {
self.hostAppId = hostAppId
@@ -33,6 +33,13 @@ class ShareViewController: SLComposeServiceViewController {
} else {
print("Error: \(NO_INFO_PLIST_URL_SCHEME_ERROR)")
}
+
+ guard let items = extensionContext?.inputItems as? [NSExtensionItem] else {
+ cancelRequest()
+ return
+ }
+
+ handlePost(items)
}
override func isContentValid() -> Bool {
@@ -40,16 +47,6 @@ class ShareViewController: SLComposeServiceViewController {
return true
}
- override func didSelectPost() {
- // This is called after the user selects Post. Do the upload of contentText and/or NSExtensionContext attachments.
- guard let items = extensionContext?.inputItems as? [NSExtensionItem] else {
- cancelRequest()
- return
- }
-
- handlePost(items)
- }
-
override func configurationItems() -> [Any]! {
// To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here.
return []
@@ -238,7 +235,7 @@ class ShareViewController: SLComposeServiceViewController {
func completeRequest() {
// Inform the host that we're done, so it un-blocks its UI. Note: Alternatively you could call super's -didSelectPost, which will similarly complete the extension context.
- extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
+ extensionContext!.completeRequest(returningItems: nil, completionHandler: nil)
}
func cancelRequest() {

893
.yarn/releases/yarn-4.1.0.cjs vendored Executable file

File diff suppressed because one or more lines are too long

7
.yarnrc.yml Normal file
View File

@ -0,0 +1,7 @@
compressionLevel: mixed
enableGlobalCache: false
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-4.1.0.cjs

View File

@ -1,6 +1,13 @@
source "https://rubygems.org"
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
ruby ">= 2.6.10"
# Cocoapods 1.15 introduced a bug which break the build. We will remove the upper
# bound in the template on Cocoapods with next React Native release.
gem 'cocoapods', '>= 1.13', '< 1.15'
gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
gem "fastlane"
gem 'cocoapods'
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)

View File

@ -1,48 +1,47 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.5)
CFPropertyList (3.0.6)
rexml
activesupport (6.1.4.1)
activesupport (7.0.4.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.551.0)
aws-sdk-core (3.125.5)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-eventstream (1.3.0)
aws-partitions (1.887.0)
aws-sdk-core (3.191.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.77.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.53.0)
aws-sdk-core (~> 3, >= 3.125.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.111.3)
aws-sdk-core (~> 3, >= 3.125.0)
aws-sdk-s3 (1.143.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.4.0)
aws-sigv4 (~> 1.8)
aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.1.0)
cocoapods (1.11.2)
cocoapods (1.14.3)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.11.2)
cocoapods-core (= 1.14.3)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.4.0, < 2.0)
cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.4.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
@ -50,10 +49,10 @@ GEM
gh_inspector (~> 1.0)
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 1.0, < 3.0)
xcodeproj (>= 1.21.0, < 2.0)
cocoapods-core (1.11.2)
activesupport (>= 5.0, < 7)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.23.0, < 2.0)
cocoapods-core (1.14.3)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
@ -63,7 +62,7 @@ GEM
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.5.1)
cocoapods-downloader (2.1)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
@ -75,19 +74,18 @@ GEM
colored2 (3.1.2)
commander (4.6.0)
highline (~> 2.0.0)
concurrent-ruby (1.1.9)
concurrent-ruby (1.2.2)
declarative (0.0.20)
digest-crc (0.6.4)
digest-crc (0.6.5)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
escape (0.0.4)
ethon (0.15.0)
ethon (0.16.0)
ffi (>= 1.15.0)
excon (0.90.0)
faraday (1.9.3)
excon (0.109.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@ -106,8 +104,8 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
@ -115,8 +113,8 @@ GEM
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.203.0)
fastimage (2.3.0)
fastlane (2.219.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@ -135,37 +133,40 @@ GEM
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.0.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
multipart-post (>= 2.0.0, < 3.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
optparse (>= 0.1.1)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
simctl (~> 1.6.3)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
terminal-table (~> 3)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
fastlane-plugin-json (1.0.0)
fastlane-plugin-sentry (1.11.0)
fastlane-plugin-versioning_android (0.1.0)
fastlane-plugin-json (1.1.0)
fastlane-plugin-sentry (1.15.0)
os (~> 1.1, >= 1.1.4)
fastlane-plugin-versioning_android (0.1.1)
fastlane-plugin-yarn (1.2)
ffi (1.15.4)
ffi (1.16.3)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.16.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.2)
google-apis-androidpublisher_v3 (0.54.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.3)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@ -173,98 +174,91 @@ GEM
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.10.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-playcustomapp_v1 (0.7.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-storage_v1 (0.11.0)
google-apis-core (>= 0.4, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.31.0)
google-apis-core (>= 0.11.0, < 2.a)
google-cloud-core (1.6.1)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (1.5.0)
faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.2.0)
google-cloud-storage (1.36.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.1)
google-cloud-storage (1.47.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.31.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.1.0)
faraday (>= 0.17.3, < 2.0)
googleauth (1.8.1)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.4)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.8.10)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
jmespath (1.5.0)
json (2.6.1)
jwt (2.3.0)
memoist (0.16.2)
mini_magick (4.11.0)
mini_mime (1.1.2)
minitest (5.14.4)
jmespath (1.6.2)
json (2.7.1)
jwt (2.7.1)
mini_magick (4.12.0)
mini_mime (1.1.5)
minitest (5.18.0)
molinillo (0.8.0)
multi_json (1.15.0)
multipart-post (2.0.0)
multipart-post (2.3.0)
nanaimo (0.3.0)
nap (1.1.0)
naturally (2.2.1)
netrc (0.11.0)
optparse (0.1.1)
optparse (0.4.0)
os (1.1.4)
plist (3.6.0)
public_suffix (4.0.6)
rake (13.0.6)
representable (3.1.1)
plist (3.7.1)
public_suffix (4.0.7)
rake (13.1.0)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
rexml (3.2.6)
rouge (2.0.7)
ruby-macho (2.5.1)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.16.0)
signet (0.18.0)
addressable (~> 2.8)
faraday (>= 0.17.3, < 2.0)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
simctl (1.6.10)
CFPropertyList
naturally
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
typhoeus (1.4.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.4)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8)
unicode-display_width (1.8.0)
webrick (1.7.0)
unicode-display_width (2.5.0)
word_wrap (1.0.0)
xcodeproj (1.21.0)
xcodeproj (1.24.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
@ -275,19 +269,21 @@ GEM
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
zeitwerk (2.5.1)
PLATFORMS
universal-darwin-20
universal-darwin-21
arm64-darwin-22
DEPENDENCIES
cocoapods
activesupport (>= 6.1.7.5, < 7.1.0)
cocoapods (>= 1.13, < 1.15)
fastlane
fastlane-plugin-json
fastlane-plugin-sentry
fastlane-plugin-versioning_android
fastlane-plugin-yarn
RUBY VERSION
ruby 3.1.2p20
BUNDLED WITH
2.2.17
2.3.24

View File

@ -1,10 +1,30 @@
# [tooot](https://tooot.app/) app for Mastodon
# [tooot](https://tooot.app/) app for Mastodon compatible platforms
[![GPL-3.0](https://img.shields.io/github/license/tooot-app/push)](LICENSE) ![GitHub issues](https://img.shields.io/github/issues/tooot-app/app) ![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/tooot-app/app?include_prereleases) ![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/tooot-app/app) [![Crowdin](https://badges.crowdin.net/tooot/localized.svg)](https://crowdin.tooot.app/project/tooot)
[![GPL-3.0](https://img.shields.io/github/license/tooot-app/push)](LICENSE) ![GitHub issues](https://img.shields.io/github/issues/tooot-app/app) ![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/tooot-app/app?include_prereleases) [![Crowdin](https://badges.crowdin.net/tooot/localized.svg)](https://crowdin.tooot.app/project/tooot)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/tooot-app/app/build) ![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/tooot-app/app/build/candidate?label=build%20candidate) ![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/tooot-app/app/build/release?label=build%20release)
![GitHub Workflow Status (candidate)](https://img.shields.io/github/actions/workflow/status/tooot-app/app/build.yml?branch=candidate&label=build%20candidate) ![GitHub Workflow Status (release)](https://img.shields.io/github/actions/workflow/status/tooot-app/app/build.yml?branch=release&label=build%20release)
## Contribute to translation
Please **do not** create a pull request to update translation. tooot's translation is managed through [https://crowdin.tooot.app/](https://crowdin.tooot.app/) and Crowdin struggles to properly sync two ways. If there is a minor update and you do not want to register an account on Crowdin, please open an issue.
## Special thanks
@hellojaccc for Korean translation
@duy@mas.to for Vietnamese translation
- [@a_mento](https://crowdin.com/profile/a_mento) for Basques translation
- [@dzmitry.zubialevich](https://crowdin.com/profile/dzmitry.zubialevich) for Belarusian translation
- [@amrtf](https://crowdin.com/profile/amrtf) for Catalan and Spanish translation
- [@pat](https://piaille.fr/@pat) for French translation
- [@forenta](https://github.com/forenta) for German translation
- [@heracl.es](https://heracl.es/) for Greek translation
- [@andrigamerita](https://github.com/andrigamerita) for Italian translation
- [@Hikaru](https://github.com/Hikali-47041) and [@la_la](https://mstdn.jp/@la_la_la) for Japanese translation
- [@hellojaccc](https://github.com/hellojaccc) for Korean translation
- [@jan-vandenberg](https://crowdin.com/profile/jan-vandenberg) for Dutch translation
- [@gaute](https://gauteweb.net/) for Norwegian translation
- [@MStankiewiczOfficial](https://crowdin.com/profile/MStankiewiczOfficial) for Polish translation
- [@luizpicolo](https://github.com/luizpicolo) for Brazilian Portuguese
- [@janlindblom](https://github.com/janlindblom) for Swedish
- [@ihoryan](https://crowdin.com/profile/ihoryan) for Ukrainian
- [@duy@mas.to](https://mas.to/@duy) for Vietnamese translation
- [@jimmyorz](https://github.com/jimmyorz) for Traditional Chinese translation
- [@jk@mastodon.social](https://mastodon.social/@jk) for the famous Mastodon boop sound

View File

@ -1,32 +0,0 @@
## Major releases - App Store
"Major releases" are artifacts published as `x.?.?`:
* An artifact must be released as `x.?.?` if native modules have been changed or updated, including upgrading Expo SDK version.
* A new app store version has to be submitted.
* Outdated versions in principle do not receive further OTA updates.
## Minor releases - App Store
"Minor releases" are artifacts published as `?.y.?`:
* An artifact can be released as `?.y.?` when there is no change nor update made to the native modules.
* A new app store version can be submitted for better first launch experience.
* All these versions that are not part of above mentioned outdates versions receive also OTA updates.
## Patch releases - OTA
"Patch releases" are artifacts published as `?.?.z`:
* An artifact must be release as `?.?.z` when there is no major change to the functionalities.
* No new app store version will be submitted.
* All these versions that are not part of above mentioned outdates versions receive also OTA updates.
## OTA release channels
* `MAJOR.MINOR-environment`. Environments include `release`, `candidate` and `development`.
## Major versions mapping to native module versions
| Version | Native module version | Expo version |
| :------:| :-------------------: | :----------: |
| `0-` | `210201` | `40.0.0` |
| `1-` | `210317` | `40.0.0` |
| `2.2` | `210916` | `41.0.0` |

View File

@ -1,96 +0,0 @@
import React from 'react'
import {
toBeDisabled,
toHaveStyle,
toHaveTextContent
} from '@testing-library/jest-native'
import { cleanup, fireEvent, render } from '@testing-library/react-native/pure'
import Button from '@components/Button'
expect.extend({ toBeDisabled, toHaveStyle, toHaveTextContent })
describe('Testing component button', () => {
afterEach(cleanup)
describe('static button', () => {
it('with text only', () => {
const onPress = jest.fn()
const { getByTestId, toJSON } = render(
<Button type='text' content='Test Button' onPress={onPress} />
)
fireEvent.press(getByTestId('base'))
expect(onPress).toHaveBeenCalled()
expect(onPress).toHaveBeenCalledTimes(1)
expect(getByTestId('text')).toHaveTextContent('Test Button')
expect(toJSON()).toMatchSnapshot()
})
it('with icon only', () => {
const onPress = jest.fn()
const { getByTestId, toJSON } = render(
<Button type='icon' content='X' onPress={onPress} />
)
fireEvent.press(getByTestId('base'))
expect(onPress).toHaveBeenCalled()
expect(onPress).toHaveBeenCalledTimes(1)
expect(toJSON()).toMatchSnapshot()
})
it('loading state', () => {
const { getByTestId, toJSON } = render(
<Button type='text' content='test' onPress={jest.fn()} loading />
)
expect(getByTestId('base')).toBeDisabled()
expect(toJSON()).toMatchSnapshot()
})
it('disabled state', () => {
const { getByTestId, toJSON } = render(
<Button type='text' content='test' onPress={jest.fn()} disabled />
)
expect(getByTestId('base')).toBeDisabled()
expect(toJSON()).toMatchSnapshot()
})
it('apply custom styling', () => {
const { getByTestId, toJSON } = render(
<Button
type='text'
content='test'
onPress={jest.fn()}
style={{ backgroundColor: 'black' }}
/>
)
expect(getByTestId('base')).toHaveStyle({ backgroundColor: 'black' })
expect(toJSON()).toMatchSnapshot()
})
})
describe('dynamic button', () => {
it('from default to loading', () => {
const onPress = jest.fn()
const { getByTestId, rerender } = render(
<Button type='text' content='test' onPress={onPress} />
)
rerender(<Button type='text' content='test' onPress={onPress} loading />)
expect(getByTestId('base')).toBeDisabled()
})
it('from default to disabled', () => {
const onPress = jest.fn()
const { getByTestId, rerender } = render(
<Button type='text' content='test' onPress={onPress} />
)
rerender(<Button type='text' content='test' onPress={onPress} disabled />)
expect(getByTestId('base')).toBeDisabled()
})
})
})

View File

@ -1,15 +0,0 @@
import React from 'react'
import { cleanup, render } from '@testing-library/react-native/pure'
import MenuHeader from '@components/Menu/Header'
describe('Testing component menu header', () => {
afterEach(cleanup)
it('with text only', () => {
const { getByText, toJSON } = render(<MenuHeader heading='test' />)
getByText('test')
expect(toJSON()).toMatchSnapshot()
})
})

View File

@ -1,50 +0,0 @@
import React from 'react'
import { toBeDisabled } from '@testing-library/jest-native'
import { cleanup, fireEvent, render } from '@testing-library/react-native'
import MenuRow from '@components/Menu/Row'
expect.extend({ toBeDisabled })
describe('Testing component menu row', () => {
afterEach(cleanup)
it('with title only', () => {
const { getByText, toJSON } = render(<MenuRow title='test title' />)
getByText('test title')
expect(toJSON()).toMatchSnapshot()
})
it('with title and content', () => {
const { getByText, toJSON } = render(
<MenuRow title='test title' content='test content' />
)
getByText('test title')
getByText('test content')
expect(toJSON()).toMatchSnapshot()
})
it('on press event', () => {
const onPress = jest.fn()
const { getByTestId, toJSON } = render(
<MenuRow title='test' onPress={onPress} />
)
fireEvent.press(getByTestId('base'))
expect(onPress).toHaveBeenCalled()
expect(onPress).toHaveBeenCalledTimes(1)
expect(toJSON()).toMatchSnapshot()
})
it('loading state', () => {
const onPress = jest.fn()
const { getByTestId, toJSON } = render(
<MenuRow title='test' loading onPress={onPress} />
)
fireEvent.press(getByTestId('base'))
expect(onPress).toHaveBeenCalledTimes(0)
expect(getByTestId('base')).toBeDisabled()
expect(toJSON()).toMatchSnapshot()
})
})

View File

@ -1,30 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Testing component menu header with text only 1`] = `
<View
style={
Object {
"paddingBottom": 8,
"paddingLeft": 16,
"paddingRight": 16,
}
}
>
<Text
style={
Array [
Object {
"fontSize": 14,
"fontWeight": "600",
"lineHeight": 20,
},
Object {
"color": "rgb(135, 135, 135)",
},
]
}
>
test
</Text>
</View>
`;

View File

@ -1,302 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Testing component menu row loading state 1`] = `
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"minHeight": 50,
}
}
testID="base"
>
<View
style={
Object {
"flex": 1,
"flexDirection": "row",
"paddingLeft": 16,
"paddingRight": 16,
}
}
>
<View
style={
Object {
"alignItems": "center",
"flex": 2,
"flexDirection": "row",
}
}
>
<View
style={
Object {
"flex": 1,
}
}
>
<Text
numberOfLines={1}
style={
Array [
Object {
"fontSize": 16,
"lineHeight": 22,
},
Object {
"color": "rgb(18, 18, 18)",
},
]
}
>
test
</Text>
</View>
</View>
</View>
</View>
`;
exports[`Testing component menu row on press event 1`] = `
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"minHeight": 50,
}
}
testID="base"
>
<View
style={
Object {
"flex": 1,
"flexDirection": "row",
"paddingLeft": 16,
"paddingRight": 16,
}
}
>
<View
style={
Object {
"alignItems": "center",
"flex": 2,
"flexDirection": "row",
}
}
>
<View
style={
Object {
"flex": 1,
}
}
>
<Text
numberOfLines={1}
style={
Array [
Object {
"fontSize": 16,
"lineHeight": 22,
},
Object {
"color": "rgb(18, 18, 18)",
},
]
}
>
test
</Text>
</View>
</View>
</View>
</View>
`;
exports[`Testing component menu row with title and content 1`] = `
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"minHeight": 50,
}
}
testID="base"
>
<View
style={
Object {
"flex": 1,
"flexDirection": "row",
"paddingLeft": 16,
"paddingRight": 16,
}
}
>
<View
style={
Object {
"alignItems": "center",
"flex": 2,
"flexDirection": "row",
}
}
>
<View
style={
Object {
"flex": 1,
}
}
>
<Text
numberOfLines={1}
style={
Array [
Object {
"fontSize": 16,
"lineHeight": 22,
},
Object {
"color": "rgb(18, 18, 18)",
},
]
}
>
test title
</Text>
</View>
</View>
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
"justifyContent": "flex-end",
"marginLeft": 16,
}
}
>
<Text
numberOfLines={1}
style={
Array [
Object {
"fontSize": 16,
"lineHeight": 22,
},
Object {
"color": "rgb(135, 135, 135)",
"opacity": 1,
},
]
}
>
test content
</Text>
</View>
</View>
</View>
`;
exports[`Testing component menu row with title only 1`] = `
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"minHeight": 50,
}
}
testID="base"
>
<View
style={
Object {
"flex": 1,
"flexDirection": "row",
"paddingLeft": 16,
"paddingRight": 16,
}
}
>
<View
style={
Object {
"alignItems": "center",
"flex": 2,
"flexDirection": "row",
}
}
>
<View
style={
Object {
"flex": 1,
}
}
>
<Text
numberOfLines={1}
style={
Array [
Object {
"fontSize": 16,
"lineHeight": 22,
},
Object {
"color": "rgb(18, 18, 18)",
},
]
}
>
test title
</Text>
</View>
</View>
</View>
</View>
`;

View File

@ -1,59 +0,0 @@
import React from 'react'
import {
toBeDisabled,
toContainElement,
toHaveStyle,
toHaveTextContent
} from '@testing-library/jest-native'
import { cleanup, render } from '@testing-library/react-native/pure'
import Card from '@components/Timelines/Timeline/Shared/Card'
expect.extend({
toBeDisabled,
toContainElement,
toHaveStyle,
toHaveTextContent
})
describe('Testing component timeline card', () => {
afterEach(cleanup)
it('with text only', () => {
const { getByTestId, queryByTestId, toJSON } = render(
<Card
card={{
url: 'http://example.com',
title: 'Title'
}}
/>
)
expect(queryByTestId('image')).toBeNull()
expect(getByTestId('base')).toContainElement(getByTestId('title'))
expect(queryByTestId('description')).toBeNull()
expect(getByTestId('title')).toHaveTextContent('Title')
expect(toJSON()).toMatchSnapshot()
})
it('with text and description', () => {
const { getByTestId, queryByTestId, toJSON } = render(
<Card
card={{
url: 'http://example.com',
title: 'Title',
description: 'Description'
}}
/>
)
expect(queryByTestId('image')).toBeNull()
expect(getByTestId('base')).toContainElement(getByTestId('title'))
expect(getByTestId('base')).toContainElement(getByTestId('description'))
expect(getByTestId('title')).toHaveTextContent('Title')
expect(getByTestId('description')).toHaveTextContent('Description')
expect(toJSON()).toMatchSnapshot()
})
})

View File

@ -1,155 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Testing component timeline card with text and description 1`] = `
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Array [
Object {
"borderRadius": 6,
"borderWidth": 0.5,
"flex": 1,
"flexDirection": "row",
"height": 104,
"marginTop": 16,
},
Object {
"borderColor": "rgba(18, 18, 18, 0.3)",
},
]
}
testID="base"
>
<View
style={
Object {
"flex": 1,
"padding": 8,
}
}
>
<Text
numberOfLines={2}
style={
Array [
Object {
"fontWeight": "600",
"marginBottom": 4,
},
Object {
"color": "rgb(18, 18, 18)",
},
]
}
testID="title"
>
Title
</Text>
<Text
numberOfLines={1}
style={
Array [
Object {
"marginBottom": 4,
},
Object {
"color": "rgb(18, 18, 18)",
},
]
}
testID="description"
>
Description
</Text>
<Text
numberOfLines={1}
style={
Object {
"color": "rgb(135, 135, 135)",
}
}
>
http://example.com
</Text>
</View>
</View>
`;
exports[`Testing component timeline card with text only 1`] = `
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Array [
Object {
"borderRadius": 6,
"borderWidth": 0.5,
"flex": 1,
"flexDirection": "row",
"height": 104,
"marginTop": 16,
},
Object {
"borderColor": "rgba(18, 18, 18, 0.3)",
},
]
}
testID="base"
>
<View
style={
Object {
"flex": 1,
"padding": 8,
}
}
>
<Text
numberOfLines={2}
style={
Array [
Object {
"fontWeight": "600",
"marginBottom": 4,
},
Object {
"color": "rgb(18, 18, 18)",
},
]
}
testID="title"
>
Title
</Text>
<Text
numberOfLines={1}
style={
Object {
"color": "rgb(135, 135, 135)",
}
}
>
http://example.com
</Text>
</View>
</View>
`;

View File

@ -1,474 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Testing component button static button apply custom styling 1`] = `
<View>
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Array [
Object {
"alignItems": "center",
"borderRadius": 100,
"flexDirection": "row",
"justifyContent": "center",
},
Object {
"backgroundColor": "rgb(250, 250, 250)",
"borderColor": "rgb(18, 18, 18)",
"borderWidth": 1,
"paddingHorizontal": 16,
"paddingVertical": 8,
},
Object {
"backgroundColor": "black",
},
]
}
testID="base"
>
<Text
style={
Object {
"color": "rgb(18, 18, 18)",
"fontSize": 16,
"fontWeight": undefined,
"opacity": 1,
}
}
testID="text"
>
test
</Text>
</View>
</View>
`;
exports[`Testing component button static button disabled state 1`] = `
<View>
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Array [
Object {
"alignItems": "center",
"borderRadius": 100,
"flexDirection": "row",
"justifyContent": "center",
},
Object {
"backgroundColor": "rgb(250, 250, 250)",
"borderColor": "rgb(135, 135, 135)",
"borderWidth": 1,
"paddingHorizontal": 16,
"paddingVertical": 8,
},
undefined,
]
}
testID="base"
>
<Text
style={
Object {
"color": "rgb(135, 135, 135)",
"fontSize": 16,
"fontWeight": undefined,
"opacity": 1,
}
}
testID="text"
>
test
</Text>
</View>
</View>
`;
exports[`Testing component button static button loading state 1`] = `
<View>
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Array [
Object {
"alignItems": "center",
"borderRadius": 100,
"flexDirection": "row",
"justifyContent": "center",
},
Object {
"backgroundColor": "rgb(250, 250, 250)",
"borderColor": "rgb(135, 135, 135)",
"borderWidth": 1,
"paddingHorizontal": 16,
"paddingVertical": 8,
},
undefined,
]
}
testID="base"
>
<Text
style={
Object {
"color": "rgb(18, 18, 18)",
"fontSize": 16,
"fontWeight": undefined,
"opacity": 0,
}
}
testID="text"
>
test
</Text>
<View
style={
Object {
"position": "absolute",
}
}
>
<View
style={
Object {
"alignItems": "center",
"height": 16,
"justifyContent": "center",
"opacity": 1,
"transform": Array [
Object {
"rotate": "0deg",
},
],
"width": 16,
}
}
>
<View
style={
Object {
"backgroundColor": "rgb(135, 135, 135)",
"borderRadius": 2,
"height": 4,
"position": "absolute",
"transform": Array [
Object {
"rotate": "73.27536734311887deg",
},
Object {
"translateY": -6,
},
Object {
"scale": 0.7,
},
],
"width": 4,
}
}
/>
<View
style={
Object {
"backgroundColor": "rgb(135, 135, 135)",
"borderRadius": 2,
"height": 4,
"position": "absolute",
"transform": Array [
Object {
"rotate": "46.49829517703514deg",
},
Object {
"translateY": -6,
},
Object {
"scale": 0.8008696779414123,
},
],
"width": 4,
}
}
/>
<View
style={
Object {
"backgroundColor": "rgb(135, 135, 135)",
"borderRadius": 2,
"height": 4,
"position": "absolute",
"transform": Array [
Object {
"rotate": "25.743213498935145deg",
},
Object {
"translateY": -6,
},
Object {
"scale": 0.8875624559768125,
},
],
"width": 4,
}
}
/>
<View
style={
Object {
"backgroundColor": "rgb(135, 135, 135)",
"borderRadius": 2,
"height": 4,
"position": "absolute",
"transform": Array [
Object {
"rotate": "11.201058030774364deg",
},
Object {
"translateY": -6,
},
Object {
"scale": 0.9510040862404615,
},
],
"width": 4,
}
}
/>
<View
style={
Object {
"backgroundColor": "rgb(135, 135, 135)",
"borderRadius": 2,
"height": 4,
"position": "absolute",
"transform": Array [
Object {
"rotate": "2.731234791722257deg",
},
Object {
"translateY": -6,
},
Object {
"scale": 0.9881665278710133,
},
],
"width": 4,
}
}
/>
<View
style={
Object {
"backgroundColor": "rgb(135, 135, 135)",
"borderRadius": 2,
"height": 4,
"position": "absolute",
"transform": Array [
Object {
"rotate": "0deg",
},
Object {
"translateY": -6,
},
Object {
"scale": 1,
},
],
"width": 4,
}
}
/>
</View>
</View>
</View>
</View>
`;
exports[`Testing component button static button with icon only 1`] = `
<View>
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Array [
Object {
"alignItems": "center",
"borderRadius": 100,
"flexDirection": "row",
"justifyContent": "center",
},
Object {
"backgroundColor": "rgb(250, 250, 250)",
"borderColor": "rgb(18, 18, 18)",
"borderWidth": 1,
"paddingHorizontal": 16,
"paddingVertical": 8,
},
undefined,
]
}
testID="base"
>
<View
style={
Array [
Object {
"opacity": 1,
},
Object {
"alignItems": "center",
"height": 16,
"justifyContent": "center",
"width": 16,
},
]
}
>
<RNSVGSvgView
align="xMidYMid"
bbHeight={16}
bbWidth={16}
className=""
color={4279374354}
focusable={false}
height={16}
meetOrSlice={0}
minX={0}
minY={0}
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
style={
Array [
Object {
"backgroundColor": "transparent",
"borderWidth": 0,
},
Object {
"flex": 0,
"height": 16,
"width": 16,
},
]
}
tintColor={4279374354}
vbHeight={24}
vbWidth={24}
width={16}
>
<RNSVGGroup
propList={
Array [
"stroke",
"strokeWidth",
"strokeLinecap",
"strokeLinejoin",
]
}
stroke={
Array [
2,
]
}
strokeLinecap={1}
strokeLinejoin={1}
strokeWidth={2}
>
<RNSVGPath
d="M18 6L6 18M6 6l12 12"
/>
</RNSVGGroup>
</RNSVGSvgView>
</View>
</View>
</View>
`;
exports[`Testing component button static button with text only 1`] = `
<View>
<View
accessible={true}
focusable={true}
onBlur={[Function]}
onClick={[Function]}
onFocus={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Array [
Object {
"alignItems": "center",
"borderRadius": 100,
"flexDirection": "row",
"justifyContent": "center",
},
Object {
"backgroundColor": "rgb(250, 250, 250)",
"borderColor": "rgb(18, 18, 18)",
"borderWidth": 1,
"paddingHorizontal": 16,
"paddingVertical": 8,
},
undefined,
]
}
testID="base"
>
<Text
style={
Object {
"color": "rgb(18, 18, 18)",
"fontSize": 16,
"fontWeight": undefined,
"opacity": 1,
}
}
testID="text"
>
Test Button
</Text>
</View>
</View>
`;

View File

@ -1,55 +0,0 @@
# To learn about Buck see [Docs](https://buckbuild.com/).
# To run your application with Buck:
# - install Buck
# - `npm start` - to start the packager
# - `cd android`
# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
# - `buck install -r android/app` - compile, install and run application
#
load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
lib_deps = []
create_aar_targets(glob(["libs/*.aar"]))
create_jar_targets(glob(["libs/*.jar"]))
android_library(
name = "all-libs",
exported_deps = lib_deps,
)
android_library(
name = "app-code",
srcs = glob([
"src/main/java/**/*.java",
]),
deps = [
":all-libs",
":build_config",
":res",
],
)
android_build_config(
name = "build_config",
package = "com.xmflsct.app.tooot",
)
android_resource(
name = "res",
package = "com.xmflsct.app.tooot",
res = "src/main/res",
)
android_binary(
name = "app",
keystore = "//android/keystores:debug",
manifest = "src/main/AndroidManifest.xml",
package_type = "debug",
deps = [
":app-code",
],
)

View File

@ -1,154 +1,91 @@
apply plugin: "com.android.application"
import com.android.build.OutputFile
apply plugin: "org.jetbrains.kotlin.android"
apply plugin: "com.facebook.react"
apply plugin: 'com.google.gms.google-services'
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation. If none specified and
* // "index.android.js" exists, it will be used. Otherwise "index.js" is
* // default. Can be overridden with ENTRY_FILE environment variable.
* entryFile: "index.android.js",
*
* // https://reactnative.dev/docs/performance#enable-the-ram-format
* bundleCommand: "ram-bundle",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
* This is the configuration block to customize your React Native Android app.
* By default you don't need to apply any configuration, just uncomment the lines you need.
*/
project.ext.react = [
enableHermes: (findProperty('expo.jsEngine') ?: "jsc") == "hermes",
cliPath: new File(["node", "--print", "require.resolve('react-native/package.json')"].execute().text.trim(), "../cli.js")
]
apply from: new File(["node", "--print", "require.resolve('react-native/package.json')"].execute().text.trim(), "../react.gradle")
react {
/* Folders */
// The root of your project, i.e. where "package.json" lives. Default is '..'
// root = file("../")
// The folder where the react-native NPM package is. Default is ../node_modules/react-native
// reactNativeDir = file("../node_modules/react-native")
// The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen
// codegenDir = file("../node_modules/@react-native/codegen")
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
// cliFile = file("../node_modules/react-native/cli.js")
/* Variants */
// The list of variants to that are debuggable. For those we're going to
// skip the bundling of the JS bundle and the assets. By default is just 'debug'.
// If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
// debuggableVariants = ["liteDebug", "prodDebug"]
/* Bundling */
// A list containing the node command and its flags. Default is just 'node'.
// nodeExecutableAndArgs = ["node"]
//
// The command to run when bundling. By default is 'bundle'
// bundleCommand = "ram-bundle"
//
// The path to the CLI configuration file. Default is empty.
// bundleConfig = file(../rn-cli.config.js)
//
// The name of the generated asset file containing your JS bundle
// bundleAssetName = "MyApplication.android.bundle"
//
// The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
// entryFile = file("../js/MyApplication.android.js")
//
// A list of extra flags to pass to the 'bundle' commands.
// See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
// extraPackagerArgs = []
/* Hermes Commands */
// The hermes compiler command to run. By default it is 'hermesc'
// hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
//
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
// hermesFlags = ["-O", "-output-source-map"]
}
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
* Set this to true to Run Proguard on Release builds to minify the Java bytecode.
*/
def enableProguardInReleaseBuilds = false
/**
* The preferred build flavor of JavaScriptCore.
* The preferred build flavor of JavaScriptCore (JSC)
*
* For example, to use the international variant, you can use:
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
*
* The international variant includes ICU i18n library and necessary data
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
* give correct results when using with locales other than en-US. Note that
* give correct results when using with locales other than en-US. Note that
* this variant is about 6MiB larger per architecture than default.
*/
def jscFlavor = 'org.webkit:android-jsc:+'
/**
* Whether to enable the Hermes VM.
*
* This should be set on project.ext.react and mirrored here. If it is not set
* on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
* and the benefits of using Hermes will therefore be sharply reduced.
*/
def enableHermes = project.ext.react.get("enableHermes", true);
android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
compileSdk rootProject.ext.compileSdkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
namespace "com.xmflsct.app.tooot"
defaultConfig {
applicationId 'com.xmflsct.app.tooot'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 50
versionName "0.2"
manifestPlaceholders = [
expoSDK: project.hasProperty('expoSDK') ? project.property('expoSDK') : "",
releaseChannel: project.hasProperty('releaseChannel') ? project.property('releaseChannel') : "default"
]
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
signingConfigs {
debug {
@ -170,32 +107,9 @@ android {
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// https://developer.android.com/studio/build/configure-apk-splits.html
def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
defaultConfig.versionCode * 1000 + versionCodes.get(abi)
}
}
}
}
dependencies {
implementation ("androidx.lifecycle:lifecycle-runtime-ktx:2.3.0") {
force = true
}
implementation fileTree(dir: "libs", include: ["*.jar"])
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+" // From node_modules
def isGifEnabled = (findProperty('expo.gif.enabled') ?: "") == "true";
def isWebpEnabled = (findProperty('expo.webp.enabled') ?: "") == "true";
def isWebpAnimatedEnabled = (findProperty('expo.webp.animated') ?: "") == "true";
@ -221,34 +135,16 @@ dependencies {
}
}
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
exclude group:'com.facebook.fbjni'
}
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
exclude group:'com.squareup.okhttp3', module:'okhttp'
}
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
}
// The version of react-native is set by the React Native Gradle Plugin
implementation("com.facebook.react:react-android")
implementation("com.facebook.react:flipper-integration")
if (enableHermes) {
debugImplementation files(new File(["node", "--print", "require.resolve('hermes-engine/package.json')"].execute().text.trim(), "../android/hermes-debug.aar"))
releaseImplementation files(new File(["node", "--print", "require.resolve('hermes-engine/package.json')"].execute().text.trim(), "../android/hermes-release.aar"))
if (hermesEnabled.toBoolean()) {
implementation("com.facebook.react:hermes-android")
} else {
implementation jscFlavor
}
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute().text.trim(), "../native_modules.gradle");
applyNativeModulesAppBuildGradle(project)
apply plugin: 'com.google.gms.google-services'

View File

@ -1,19 +0,0 @@
"""Helper definitions to glob .aar and .jar targets"""
def create_aar_targets(aarfiles):
for aarfile in aarfiles:
name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
lib_deps.append(":" + name)
android_prebuilt_aar(
name = name,
aar = aarfile,
)
def create_jar_targets(jarfiles):
for jarfile in jarfiles:
name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
lib_deps.append(":" + name)
prebuilt_jar(
name = name,
binary_jar = jarfile,
)

View File

@ -13,6 +13,14 @@
}
},
"oauth_client": [
{
"client_id": "661638997772-erabggnp958v10r0tvsrh3pg880qnvqn.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.xmflsct.app.tooot",
"certificate_hash": "53162f104230ee8b7b1372e4f378e2b9607ca16f"
}
},
{
"client_id": "661638997772-6aiqk97aema0rt280i7nfar3ha2mlgno.apps.googleusercontent.com",
"client_type": 3
@ -31,10 +39,11 @@
"client_type": 3
},
{
"client_id": "661638997772-sqa4raeghhrieqt9guljhcul9b51dvna.apps.googleusercontent.com",
"client_id": "661638997772-65g8ce369ugck3ii4ulk6jhb3ijg51kl.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "com.xmflsct.app.mastodon"
"bundle_id": "com.xmflsct.app.tooot",
"app_store_id": "1549772269"
}
}
]

View File

@ -1,12 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<application
android:usesCleartextTraffic="true"
tools:targetApi="28"
tools:ignore="GoogleAppIndexingWarning">
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
tools:ignore="GoogleAppIndexingWarning"/>
</manifest>

View File

@ -1,69 +0,0 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
* directory of this source tree.
*/
package com.tooot;
import android.content.Context;
import com.facebook.flipper.android.AndroidFlipperClient;
import com.facebook.flipper.android.utils.FlipperUtils;
import com.facebook.flipper.core.FlipperClient;
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
import com.facebook.flipper.plugins.inspector.DescriptorMapping;
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.modules.network.NetworkingModule;
import okhttp3.OkHttpClient;
public class ReactNativeFlipper {
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
if (FlipperUtils.shouldEnableFlipper(context)) {
final FlipperClient client = AndroidFlipperClient.getInstance(context);
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
client.addPlugin(new ReactFlipperPlugin());
client.addPlugin(new DatabasesFlipperPlugin(context));
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
client.addPlugin(CrashReporterPlugin.getInstance());
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
NetworkingModule.setCustomClientBuilder(
new NetworkingModule.CustomClientBuilder() {
@Override
public void apply(OkHttpClient.Builder builder) {
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
}
});
client.addPlugin(networkFlipperPlugin);
client.start();
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
// Hence we run if after all native modules have been initialized
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
if (reactContext == null) {
reactInstanceManager.addReactInstanceEventListener(
new ReactInstanceManager.ReactInstanceEventListener() {
@Override
public void onReactContextInitialized(ReactContext reactContext) {
reactInstanceManager.removeReactInstanceEventListener(this);
reactContext.runOnNativeModulesQueueThread(
new Runnable() {
@Override
public void run() {
client.addPlugin(new FrescoFlipperPlugin());
}
});
}
});
} else {
client.addPlugin(new FrescoFlipperPlugin());
}
}
}
}

View File

@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" package="com.xmflsct.app.tooot">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
@ -9,17 +8,12 @@
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="true" android:theme="@style/AppTheme" android:requestLegacyExternalStorage="true">
<!-- [Custom] Expo Notifications -->
<meta-data android:name="expo.modules.notifications.default_notification_icon" android:resource="@drawable/ic_stat_notifications" />
<!-- [Custom] End Expo Notifications -->
<meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://exp.host/@xmflsct/tooot"/>
<meta-data android:name="expo.modules.updates.EXPO_SDK_VERSION" android:value="${expoSDK}"/>
<meta-data android:name="expo.modules.updates.EXPO_RELEASE_CHANNEL" android:value="${releaseChannel}"/>
<meta-data android:name="expo.modules.updates.ENABLED" android:value="true"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH" android:value="ALWAYS"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="0"/>
<activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:theme="@style/Theme.App.SplashScreen" android:screenOrientation="portrait">
<activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:exported="true" android:theme="@style/Theme.App.SplashScreen" android:documentLaunchMode="never">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
@ -31,6 +25,31 @@
<data android:scheme="tooot"/>
<data android:scheme="com.xmflsct.app.tooot"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="video/*"/>
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -1,38 +0,0 @@
package com.xmflsct.app.tooot;
import android.os.Bundle;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
import expo.modules.ReactActivityDelegateWrapper;
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(null);
}
/**
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "main";
}
@Override
protected ReactActivityDelegate createReactActivityDelegate() {
return new ReactActivityDelegateWrapper(
this,
new ReactActivityDelegate(this, getMainComponentName()) {
@Override
protected ReactRootView createRootView() {
return new RNGestureHandlerEnabledRootView(MainActivity.this);
}
}
);
}
}

View File

@ -0,0 +1,61 @@
package com.xmflsct.app.tooot;
import android.os.Build
import android.os.Bundle
import com.facebook.react.ReactActivity
import com.facebook.react.ReactActivityDelegate
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
import com.facebook.react.defaults.DefaultReactActivityDelegate
import expo.modules.ReactActivityDelegateWrapper
class MainActivity : ReactActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// Set the theme to AppTheme BEFORE onCreate to support
// coloring the background, status bar, and navigation bar.
// This is required for expo-splash-screen.
setTheme(R.style.AppTheme);
super.onCreate(null)
}
/**
* Returns the name of the main component registered from JavaScript. This is used to schedule
* rendering of the component.
*/
override fun getMainComponentName(): String = "main"
/**
* Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
* which allows you to enable New Architecture with a single boolean flags [fabricEnabled]
*/
override fun createReactActivityDelegate(): ReactActivityDelegate {
return ReactActivityDelegateWrapper(
this,
BuildConfig.IS_NEW_ARCHITECTURE_ENABLED,
object : DefaultReactActivityDelegate(
this,
mainComponentName,
fabricEnabled
){})
}
/**
* Align the back button behavior with Android S
* where moving root activities to background instead of finishing activities.
* @see <a href="https://developer.android.com/reference/android/app/Activity#onBackPressed()">onBackPressed</a>
*/
override fun invokeDefaultOnBackPressed() {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) {
if (!moveTaskToBack(false)) {
// For non-root activities, use the default implementation to finish them.
super.invokeDefaultOnBackPressed()
}
return
}
// Use the default back button implementation on Android S
// because it's doing more than [Activity.moveTaskToBack] in fact.
super.invokeDefaultOnBackPressed()
}
}

View File

@ -1,105 +0,0 @@
package com.xmflsct.app.tooot;
import android.app.Application;
import android.content.Context;
import android.content.res.Configuration;
import androidx.annotation.NonNull;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import expo.modules.ApplicationLifecycleDispatcher;
import expo.modules.ReactNativeHostWrapper;
import expo.modules.updates.UpdatesController;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import com.facebook.react.bridge.JSIModulePackage; // <- react-native-reanimated-v2
import com.swmansion.reanimated.ReanimatedJSIModulePackage; // <- react-native-reanimated-v2
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHostWrapper(
this,
new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
return packages;
}
@Override
protected String getJSMainModuleName() {
return "index";
}
@Override // <- react-native-reanimated-v2
protected JSIModulePackage getJSIModulePackage() {
return new ReanimatedJSIModulePackage();
}
});
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
ApplicationLifecycleDispatcher.onApplicationCreate(this);
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig);
}
/**
* Loads Flipper in React Native templates. Call this in the onCreate method with something like
* initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
*
* @param context
* @param reactInstanceManager
*/
private static void initializeFlipper(
Context context, ReactInstanceManager reactInstanceManager) {
if (BuildConfig.DEBUG) {
try {
/*
We use reflection here to pick up the class that initializes Flipper,
since Flipper library is not available in release mode
*/
Class<?> aClass = Class.forName("com.xmflsct.app.tooot.ReactNativeFlipper");
aClass
.getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
.invoke(null, context, reactInstanceManager);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}

View File

@ -0,0 +1,58 @@
package com.xmflsct.app.tooot;
import android.app.Application
import android.content.res.Configuration
import androidx.annotation.NonNull
import com.facebook.react.PackageList
import com.facebook.react.ReactApplication
import com.facebook.react.ReactHost
import com.facebook.react.ReactNativeHost
import com.facebook.react.ReactPackage
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.react.flipper.ReactNativeFlipper
import com.facebook.soloader.SoLoader
import expo.modules.ApplicationLifecycleDispatcher
import expo.modules.ReactNativeHostWrapper
class MainApplication : Application(), ReactApplication {
override val reactNativeHost: ReactNativeHost = ReactNativeHostWrapper(
this,
object : DefaultReactNativeHost(this) {
override fun getPackages(): List<ReactPackage> {
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
return PackageList(this).packages
}
override fun getJSMainModuleName(): String = "index"
override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG
override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED
}
)
override val reactHost: ReactHost
get() = getDefaultReactHost(this.applicationContext, reactNativeHost)
override fun onCreate() {
super.onCreate()
SoLoader.init(this, false)
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
load()
}
ApplicationLifecycleDispatcher.onApplicationCreate(this)
}
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig)
}
}

Binary file not shown.

View File

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources>
<string name="app_name">tooot</string>
<string name="expo_splash_screen_resize_mode">contain</string>

View File

@ -1,13 +1,11 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "30.0.2"
buildToolsVersion = "34.0.0"
minSdkVersion = 21
compileSdkVersion = 30
targetSdkVersion = 30
ndkVersion = "21.4.7075529"
kotlinVersion = '1.5.32'
compileSdkVersion = 34
targetSdkVersion = 34
ndkVersion = "25.1.8937393"
kotlinVersion = '1.8.0'
}
repositories {
google()
@ -15,29 +13,11 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.google.gms:google-services:4.3.3'
classpath("com.android.tools.build:gradle:4.2.0")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath("com.android.tools.build:gradle")
classpath("com.facebook.react:react-native-gradle-plugin")
classpath 'com.google.gms:google-services:4.3.14'
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
}
}
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url(new File(["node", "--print", "require.resolve('react-native/package.json')"].execute().text.trim(), "../android"))
}
maven {
// Android JSC is installed from npm
url(new File(["node", "--print", "require.resolve('jsc-android/package.json')"].execute().text.trim(), "../dist"))
}
google()
mavenCentral()
jcenter()
maven { url 'https://www.jitpack.io' }
}
}
apply plugin: "com.facebook.react.rootproject"

View File

@ -25,13 +25,25 @@ android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Version of flipper SDK to use with React Native
FLIPPER_VERSION=0.75.1
# Use this property to specify which architecture you want to build.
# You can also override it from the CLI using
# ./gradlew <task> -PreactNativeArchitectures=x86_64
reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
# Use this property to enable support to the new architecture.
# This will allow you to use TurboModules and the Fabric render in
# your application. You should enable this flag either if you want
# to write custom TurboModules/Fabric components OR use libraries that
# are providing them.
newArchEnabled=false
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
# Use this property to enable or disable the Hermes JS engine.
# If set to false, you will be using JSC instead.
hermesEnabled=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
# org.gradle.daemon=true
# org.gradle.parallel=true
# org.gradle.configureondemand=true
# The hosted JavaScript engine
# Supported values: expo.jsEngine = "hermes" | "jsc"

Binary file not shown.

View File

@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

292
android/gradlew vendored
View File

@ -1,7 +1,7 @@
#!/usr/bin/env sh
#!/bin/sh
#
# Copyright 2015 the original author or authors.
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -17,78 +17,110 @@
#
##############################################################################
##
## Gradle start up script for UN*X
##
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
MAX_FD=maximum
warn () {
echo "$*"
}
} >&2
die () {
echo
echo "$*"
echo
exit 1
}
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD="$JAVA_HOME/bin/java"
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@ -97,87 +129,119 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
exec "$JAVACMD" "$@"
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

17
android/gradlew.bat vendored
View File

@ -14,7 +14,7 @@
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@ -25,7 +25,7 @@
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
if "%DIRNAME%"=="" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@ -69,20 +69,23 @@ goto fail
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
:omega

View File

@ -0,0 +1,3 @@
defaults.url=https://sentry.io/
defaults.org=tooot
defaults.project=app

View File

@ -1,9 +1,10 @@
rootProject.name = 'tooot'
apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute().text.trim(), "../scripts/autolinking.gradle");
apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle");
useExpoModules()
apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute().text.trim(), "../native_modules.gradle");
apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute(null, rootDir).text.trim(), "../native_modules.gradle");
applyNativeModulesSettingsGradle(settings)
include ':app'
includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile())

View File

@ -1,42 +1,31 @@
import { ExpoConfig } from '@expo/config'
import { versions } from './package.json'
import { version } from './package.json'
import 'dotenv/config'
const toootVersion = `${versions.major}.${versions.minor}.${versions.patch}`
export default (): ExpoConfig => ({
name: 'tooot',
description: 'tooot for Mastodon',
slug: 'tooot',
scheme: 'tooot',
version: toootVersion,
version,
// @ts-ignore
extra: { environment: process.env.ENVIRONMENT },
privacy: 'hidden',
assetBundlePatterns: ['assets/*'],
extra: {
sentryDSN: process.env.SENTRY_DSN,
toootPushKeyPublic: process.env.TOOOT_PUSH_KEY_PUBLIC
},
hooks: {
postPublish: [
{
file: 'sentry-expo/upload-sourcemaps',
config: {
organization: process.env.SENTRY_ORGANIZATION,
project: process.env.SENTRY_PROJECT,
authToken: process.env.SENTRY_AUTH_TOKEN,
setCommits: process.env.GITHUB_SHA || undefined,
deployEnv: process.env.ENVIRONMENT
}
}
]
},
jsEngine: 'hermes',
ios: {
bundleIdentifier: 'com.xmflsct.app.tooot'
},
android: {
package: 'com.xmflsct.app.tooot',
googleServicesFile: './configs/google-services.json',
permissions: ['CAMERA', 'VIBRATE']
}
permissions: ['NOTIFICATIONS', 'CAMERA', 'VIBRATE'],
blockedPermissions: ['USE_BIOMETRIC', 'USE_FINGERPRINT'],
googleServicesFile: './android/app/google-services.json'
},
plugins: [
[
'expo-notifications',
{
sounds: ['./assets/sounds/boop.mp3']
}
]
]
})

BIN
assets/sounds/boop.mp3 Normal file

Binary file not shown.

View File

@ -1,35 +1,27 @@
module.exports = function (api) {
api.cache(true)
const plugins = [
'@babel/plugin-proposal-optional-chaining',
[
'module-resolver',
{
root: ['./'],
alias: {
'@assets': './assets',
'@root': './src',
'@api': './src/api',
'@helpers': './src/helpers',
'@components': './src/components',
'@screens': './src/screens',
'@utils': './src/utils'
}
}
],
'react-native-reanimated/plugin'
]
if (
process.env.NODE_ENV === 'production' ||
process.env.BABEL_ENV === 'production'
) {
plugins.push('transform-remove-console')
}
api.cache(false)
return {
presets: ['babel-preset-expo'],
plugins
plugins: [
'@babel/plugin-proposal-optional-chaining',
[
'module-resolver',
{
root: ['./'],
alias: {
'@components': './src/components',
'@i18n': './src/i18n',
'@screens': './src/screens',
'@utils': './src/utils'
}
}
]
].concat(
process.env.NODE_ENV === 'production' || process.env.BABEL_ENV === 'production'
? ['transform-remove-console']
: [],
['react-native-reanimated/plugin']
)
}
}

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>661638997772-65g8ce369ugck3ii4ulk6jhb3ijg51kl.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.661638997772-65g8ce369ugck3ii4ulk6jhb3ijg51kl</string>
<key>API_KEY</key>
<string>AIzaSyAOS1Yq_uNVctG89LB6Dl1PVhb_FAQRbRg</string>
<key>GCM_SENDER_ID</key>
<string>661638997772</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.xmflsct.app.tooot</string>
<key>PROJECT_ID</key>
<string>xmflsct-mastodon-app</string>
<key>STORAGE_BUCKET</key>
<string>xmflsct-mastodon-app.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:661638997772:ios:c8d2e09264a344b09f8b29</string>
</dict>
</plist>

View File

@ -1,46 +0,0 @@
{
"project_info": {
"project_number": "661638997772",
"project_id": "xmflsct-mastodon-app",
"storage_bucket": "xmflsct-mastodon-app.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:661638997772:android:4fd02851f757f8fa9f8b29",
"android_client_info": {
"package_name": "com.xmflsct.app.tooot"
}
},
"oauth_client": [
{
"client_id": "661638997772-6aiqk97aema0rt280i7nfar3ha2mlgno.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyDUw4s-mhQsHvs4hdIsldsi68ZIygM5MC4"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "661638997772-6aiqk97aema0rt280i7nfar3ha2mlgno.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "661638997772-sqa4raeghhrieqt9guljhcul9b51dvna.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "com.xmflsct.app.mastodon"
}
}
]
}
}
}
],
"configuration_version": "1"
}

View File

@ -1,10 +1,5 @@
# 'preserve_hierarchy': true
files:
[
{
'source': '/src/i18n/en/**/*.json',
'translation': '/src/i18n/%osx_locale%/**/%original_file_name%',
'ignore': ['*.ts'],
},
]
- source: /src/i18n/en/**/*.json
translation: /src/i18n/%osx_locale%/**/%original_file_name%
ignore:
- '*.ts'

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

BIN
demo/screenshots/Tab-Me.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

View File

@ -1,6 +1,7 @@
const demoStatuses = [
const demoStatus: Mastodon.Status[] = [
{
id: '1',
uri: 'https://example.com',
created_at: new Date().toISOString(),
sensitive: false,
visibility: 'public',
@ -13,7 +14,6 @@ const demoStatuses = [
bookmarked: false,
content:
'<p>Would you like to try out this simple, beautiful and open-source mobile app for Mastodon? 😊</p>',
reblog: null,
application: {
name: 'tooot',
website: 'https://tooot.app'
@ -23,19 +23,31 @@ const demoStatuses = [
username: 'tooot📱',
acct: 'tooot@xmflsct.com',
display_name: 'tooot📱',
avatar_static:
'https://avatars.githubusercontent.com/u/77554750?s=200&v=4'
avatar: 'https://avatars.githubusercontent.com/u/77554750?s=200&v=4',
avatar_static: 'https://avatars.githubusercontent.com/u/77554750?s=200&v=4',
url: '',
header: '',
header_static: '',
locked: false,
discoverable: false,
created_at: new Date().toISOString(),
last_status_at: new Date().toISOString(),
statuses_count: 1,
followers_count: 1,
following_count: 1,
fields: [],
bot: false
},
media_attachments: [],
poll: {
id: '1',
expires_at: new Date().setDate(new Date().getDate() + 5),
expires_at: new Date().setDate(new Date().getDate() + 5).toString(),
expired: false,
multiple: false,
votes_count: 10,
voters_count: null,
voters_count: 2,
voted: false,
own_votes: null,
own_votes: undefined,
options: [
{
title: 'I would love to!',
@ -48,11 +60,15 @@ const demoStatuses = [
],
emojis: []
},
mentions: []
mentions: [],
tags: [],
emojis: [],
pinned: false
},
{
id: '2',
created_at: new Date().setMinutes(new Date().getMinutes() - 2),
uri: 'https://example.com',
created_at: new Date().setMinutes(new Date().getMinutes() - 2).toString(),
sensitive: false,
spoiler_text: '',
visibility: 'public',
@ -65,18 +81,26 @@ const demoStatuses = [
bookmarked: false,
content:
'<p>Mastodon is a free and open-source self-hosted social networking service. It allows anyone to host their own server node in the network, and its various separately operated user bases are federated across many different servers. These nodes are referred to as "instances" by Mastodon users.</p>',
reblog: null,
application: {
name: 'Web',
website: null
},
application: { name: 'Web' },
account: {
id: '1000',
username: 'Mastodon',
acct: 'mastodon',
display_name: 'Mastodon',
avatar_static:
'https://mastodon.social/apple-touch-icon.png'
avatar: 'https://mastodon.social/apple-touch-icon.png',
avatar_static: 'https://mastodon.social/apple-touch-icon.png',
url: '',
header: '',
header_static: '',
locked: false,
discoverable: false,
created_at: new Date().toISOString(),
last_status_at: new Date().toISOString(),
statuses_count: 1,
followers_count: 1,
following_count: 1,
fields: [],
bot: false
},
media_attachments: [],
card: {
@ -85,18 +109,31 @@ const demoStatuses = [
description:
'Mastodon is an open source decentralized social network - by the people for the people. Join the federation and take back control of your social media!',
type: 'link',
image:
'https://mastodon.social/apple-touch-icon.png'
image: 'https://mastodon.social/apple-touch-icon.png',
author_name: '',
author_url: '',
provider_name: '',
provider_url: '',
html: '<p></p>',
width: 100,
height: 100,
embed_url: 'https://example.com',
blurhash: ''
},
mentions: []
mentions: [],
tags: [],
emojis: [],
pinned: false
},
{
id: '3',
created_at: '2021-01-24T09:50:00.901Z',
uri: '',
created_at: new Date().setHours(new Date().getHours() - 1).toString(),
sensitive: false,
spoiler_text: '',
visibility: 'public',
replies_count: 2,
reblogs_count: null,
reblogs_count: 1,
favourites_count: 3,
favourited: false,
reblogged: false,
@ -104,24 +141,38 @@ const demoStatuses = [
bookmarked: true,
content:
'<p>These servers are connected as a federated social network, allowing users from different servers to interact with each other seamlessly. Once a Mastodon server knows another Mastodon server, it "federates" with the other Mastodon server. Mastodon is a part of the wider Fediverse, allowing its users to also interact with users on different open platforms that support the same protocol, such as PeerTube and Friendica.</p>',
reblog: null,
application: {
name: 'Web',
website: null
},
application: { name: 'Web' },
account: {
id: '1001',
username: 'Fediverse',
acct: 'fediverse',
display_name: 'Fediverse',
avatar:
'https://e7.pngegg.com/pngimages/667/514/png-clipart-mastodon-fediverse-social-media-free-software-logo-social-media-blue-text.png',
avatar_static:
'https://e7.pngegg.com/pngimages/667/514/png-clipart-mastodon-fediverse-social-media-free-software-logo-social-media-blue-text.png'
'https://e7.pngegg.com/pngimages/667/514/png-clipart-mastodon-fediverse-social-media-free-software-logo-social-media-blue-text.png',
url: '',
header: '',
header_static: '',
locked: false,
discoverable: false,
created_at: new Date().toISOString(),
last_status_at: new Date().toISOString(),
statuses_count: 1,
followers_count: 1,
following_count: 1,
fields: [],
bot: false
},
media_attachments: [],
mentions: []
mentions: [],
tags: [],
emojis: [],
pinned: false
},
{
id: '4',
uri: 'https://example.com',
created_at: '2021-01-24T08:50:00.901Z',
sensitive: false,
visibility: 'public',
@ -134,7 +185,6 @@ const demoStatuses = [
bookmarked: false,
content:
'<p>tooot is an open source, simple mobile client for Mastodon. Focusing on your connections while being able to explore the Fediverse.</p>',
reblog: null,
application: {
name: 'tooot',
website: 'https://tooot.app'
@ -144,14 +194,30 @@ const demoStatuses = [
username: 'tooot📱',
acct: 'tooot@xmflsct.com',
display_name: 'tooot📱',
avatar_static:
'https://avatars.githubusercontent.com/u/77554750?s=200&v=4'
avatar: 'https://avatars.githubusercontent.com/u/77554750?s=200&v=4',
avatar_static: 'https://avatars.githubusercontent.com/u/77554750?s=200&v=4',
url: '',
header: '',
header_static: '',
locked: false,
discoverable: false,
created_at: new Date().toISOString(),
last_status_at: new Date().toISOString(),
statuses_count: 1,
followers_count: 1,
following_count: 1,
fields: [],
bot: false
},
media_attachments: [],
mentions: []
mentions: [],
tags: [],
emojis: [],
pinned: false
},
{
id: '5',
uri: 'https://example.com',
created_at: '2021-01-24T07:50:00.901Z',
sensitive: false,
visibility: 'public',
@ -164,7 +230,6 @@ const demoStatuses = [
bookmarked: false,
content:
'<p>- tooot supports multiple accounts<br />- tooot supports browsing external instance<br />- tooot aims to support multiple languages</p>',
reblog: null,
application: {
name: 'tooot',
website: 'https://tooot.app'
@ -174,12 +239,27 @@ const demoStatuses = [
username: 'tooot📱',
acct: 'tooot@xmflsct.com',
display_name: 'tooot📱',
avatar_static:
'https://avatars.githubusercontent.com/u/77554750?s=200&v=4'
avatar: 'https://avatars.githubusercontent.com/u/77554750?s=200&v=4',
avatar_static: 'https://avatars.githubusercontent.com/u/77554750?s=200&v=4',
url: '',
header: '',
header_static: '',
locked: false,
discoverable: false,
created_at: new Date().toISOString(),
last_status_at: new Date().toISOString(),
statuses_count: 1,
followers_count: 1,
following_count: 1,
fields: [],
bot: false
},
media_attachments: [],
mentions: []
mentions: [],
tags: [],
emojis: [],
pinned: false
}
]
export default demoStatuses
export default demoStatus

View File

@ -1,8 +1,3 @@
languages(['zh-Hans', 'vi', 'ko', 'en-US'])
name({
'default' => "tooot"
})
keywords({
'default' => "Mastodon,tooot,social,decentralized,长毛象,社交,去中心"
})
@ -27,4 +22,4 @@ submission_information({
add_id_info_tracks_action: false,
add_id_info_tracks_install: false,
add_id_info_uses_idfa: true
})
})

View File

@ -1,46 +1,13 @@
fastlane_version "2.203.0"
skip_docs
ensure_env_vars(
env_vars: ["ENVIRONMENT", "SENTRY_ORGANIZATION", "SENTRY_PROJECT", "SENTRY_AUTH_TOKEN"]
)
VERSIONS = read_json( json_path: "./package.json" )[:versions]
VERSION = read_json( json_path: "./package.json" )[:version]
GITHUB_RELEASE = "v#{VERSION}"
ENVIRONMENT = ENV["ENVIRONMENT"]
VERSION = "#{VERSIONS[:major]}.#{VERSIONS[:minor]}"
RELEASE_CHANNEL = "#{VERSIONS[:major]}.#{VERSIONS[:minor]}-#{ENVIRONMENT}"
BUILD_NUMBER = "#{Time.now.strftime("%y%m%d")}#{ENV["GITHUB_RUN_NUMBER"]}"
GITHUB_REPO = "tooot-app/app"
case ENVIRONMENT
when "candidate"
GITHUB_RELEASE = "v#{VERSION}-#{VERSIONS[:patch]}"
when "release"
GITHUB_RELEASE = "v#{VERSION}"
else
GITHUB_RELEASE= ""
end
XCODEPROJ = "./ios/tooot.xcodeproj"
INFO_PLIST = "./ios/tooot/Info.plist"
EXPO_PLIST = "./ios/tooot/Supporting/Expo.plist"
desc "IOS: Prepare app store"
private_lane :prepare_appstore_ios do
set_info_plist_value( path: INFO_PLIST, key: "CFBundleShortVersionString", value: VERSION )
set_info_plist_value(
path: INFO_PLIST,
key: "NSAppTransportSecurity",
value: {}
)
increment_build_number( xcodeproj: XCODEPROJ, build_number: BUILD_NUMBER )
app_store_connect_api_key
end
desc 'IOS: Update expo information'
private_lane :update_expo_ios do
set_info_plist_value( path: EXPO_PLIST, key: "EXUpdatesSDKVersion", value: VERSIONS[:expo] )
set_info_plist_value( path: EXPO_PLIST, key: "EXUpdatesReleaseChannel", value: RELEASE_CHANNEL )
end
desc "ANDROID: Prepare play store"
private_lane :prepare_playstore_android do
@ -48,43 +15,32 @@ private_lane :prepare_playstore_android do
android_set_version_code( version_code: BUILD_NUMBER, gradle_file: "./android/app/build.gradle" )
end
desc "Create new GitHub release"
private_lane :github_release do |options|
set_github_release(
repository_name: GITHUB_REPO,
name: GITHUB_RELEASE,
tag_name: GITHUB_RELEASE,
description: "No changelog provided",
commitish: git_branch,
is_prerelease: options[:prerelease],
upload_assets: options[:prerelease] ? nil : ["#{File.expand_path('..', Dir.pwd)}/tooot-#{GITHUB_RELEASE}.apk"]
)
end
desc "Expo release"
private_lane :expo_release do
yarn( package_path: "./package.json", flags: "release", command: RELEASE_CHANNEL )
end
desc "Build and deploy iOS app"
private_lane :build_ios do
BUILD_DIRECTORY = "./ios/build"
IPA_FILE = "#{BUILD_DIRECTORY}/tooot.ipa"
DSYM_FILE = "#{BUILD_DIRECTORY}/tooot.app.dSYM.zip"
update_expo_ios
setup_ci
set_info_plist_value( path: INFO_PLIST, key: "CFBundleShortVersionString", value: VERSION )
set_info_plist_value(
path: INFO_PLIST,
key: "NSAppTransportSecurity",
value: {}
)
increment_build_number( xcodeproj: XCODEPROJ, build_number: BUILD_NUMBER )
app_store_connect_api_key
match( type: "appstore", readonly: true )
build_ios_app(
export_method: "app-store",
include_symbols: true,
output_directory: BUILD_DIRECTORY,
silent: true
)
case ENVIRONMENT
when "candidate"
prepare_appstore_ios
match( type: "appstore", readonly: true )
build_ios_app(
export_method: "app-store",
include_symbols: true,
output_directory: BUILD_DIRECTORY,
silent: true
)
sentry_upload_dsym(
org_slug: ENV["SENTRY_ORGANIZATION"],
project_slug: ENV["SENTRY_PROJECT"],
@ -99,26 +55,19 @@ private_lane :build_ios do
changelog: "感谢帮忙测试 tooot 🙏"
)
when "release"
prepare_appstore_ios
match( type: "appstore", readonly: true )
build_ios_app(
export_method: "app-store",
include_bitcode: true,
output_directory: BUILD_DIRECTORY,
silent: true
upload_to_app_store(
ipa: IPA_FILE,
app_version: VERSION
)
download_dsyms(
version: VERSION,
build_number: BUILD_NUMBER,
wait_for_dsym_processing: true
)
upload_to_app_store( ipa: IPA_FILE, app_version: VERSION )
download_dsyms( version: VERSION, build_number: BUILD_NUMBER, wait_for_dsym_processing: true )
sentry_upload_dsym(
org_slug: ENV["SENTRY_ORGANIZATION"],
project_slug: ENV["SENTRY_PROJECT"],
)
else
if !is_ci
match( type: "adhoc", readonly: true )
build_ios_app( export_method: "ad-hoc", output_directory: BUILD_DIRECTORY, silent: true )
install_on_device( skip_wifi: true )
end
end
end
@ -126,24 +75,24 @@ desc "Build and deploy Android app"
private_lane :build_android do
sh("echo #{ENV["ANDROID_KEYSTORE"]} | base64 -d | tee #{File.expand_path('..', Dir.pwd)}/android/tooot.jks >/dev/null", log: false)
prepare_playstore_android
build_android_app(
task: 'clean bundle',
build_type: 'release',
project_dir: "./android",
print_command: true,
print_command_output: true,
properties: {
"android.injected.signing.store.file" => "#{File.expand_path('..', Dir.pwd)}/android/tooot.jks",
"android.injected.signing.store.password" => ENV["ANDROID_KEYSTORE_PASSWORD"],
"android.injected.signing.key.alias" => ENV["ANDROID_KEYSTORE_ALIAS"],
"android.injected.signing.key.password" => ENV["ANDROID_KEYSTORE_KEY_PASSWORD"],
}
)
case ENVIRONMENT
when "candidate"
prepare_playstore_android
build_android_app(
task: 'clean bundle',
build_type: 'release',
project_dir: "./android",
print_command: false,
print_command_output: false,
properties: {
"expoSDK" => VERSIONS[:expo],
"releaseChannel" => RELEASE_CHANNEL,
"android.injected.signing.store.file" => "#{File.expand_path('..', Dir.pwd)}/android/tooot.jks",
"android.injected.signing.store.password" => ENV["ANDROID_KEYSTORE_PASSWORD"],
"android.injected.signing.key.alias" => ENV["ANDROID_KEYSTORE_ALIAS"],
"android.injected.signing.key.password" => ENV["ANDROID_KEYSTORE_KEY_PASSWORD"],
}
)
upload_to_play_store(
track: "alpha",
skip_upload_metadata: true,
@ -152,71 +101,59 @@ private_lane :build_android do
skip_upload_screenshots: true
)
when "release"
prepare_playstore_android
build_android_app(
task: 'clean bundle',
build_type: 'release',
project_dir: "./android",
print_command: false,
print_command_output: false,
properties: {
"expoSDK" => VERSIONS[:expo],
"releaseChannel" => RELEASE_CHANNEL,
"android.injected.signing.store.file" => "#{File.expand_path('..', Dir.pwd)}/android/tooot.jks",
"android.injected.signing.store.password" => ENV["ANDROID_KEYSTORE_PASSWORD"],
"android.injected.signing.key.alias" => ENV["ANDROID_KEYSTORE_ALIAS"],
"android.injected.signing.key.password" => ENV["ANDROID_KEYSTORE_KEY_PASSWORD"],
}
)
upload_to_play_store(
track: "production",
skip_upload_changelogs: true
)
build_android_app(
task: 'assemble',
build_type: 'release',
project_dir: "./android",
print_command: false,
print_command_output: false,
properties: {
"expoSDK" => VERSIONS[:expo],
"releaseChannel" => RELEASE_CHANNEL,
"android.injected.signing.store.file" => "#{File.expand_path('..', Dir.pwd)}/android/tooot.jks",
"android.injected.signing.store.password" => ENV["ANDROID_KEYSTORE_PASSWORD"],
"android.injected.signing.key.alias" => ENV["ANDROID_KEYSTORE_ALIAS"],
"android.injected.signing.key.password" => ENV["ANDROID_KEYSTORE_KEY_PASSWORD"],
}
)
sh "mv #{lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]} #{File.expand_path('..', Dir.pwd)}/tooot-#{GITHUB_RELEASE}.apk"
else
if !is_ci
build_android_app(
task: 'assemble',
build_type: 'release',
project_dir: "./android"
)
adb(
command: "install #{lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]}"
)
end
end
end
lane :build do
releaseExists = get_github_release(url: GITHUB_REPO, version: "v#{VERSION}", api_token: ENV['GH_PAT_GET_RELEASE'])
if releaseExists
puts("Release #{GITHUB_RELEASE} exists. Continue with building React Native only.")
else
puts("Release #{GITHUB_RELEASE} does not exist. Create new release as well as new native build.")
build_ios
build_android
case ENVIRONMENT
when "candidate"
github_release(prerelease: true)
when "release"
github_release(prerelease: false)
end
end
expo_release
desc "Build Android apk"
private_lane :build_android_apk do
sh("echo #{ENV["ANDROID_KEYSTORE"]} | base64 -d | tee #{File.expand_path('..', Dir.pwd)}/android/tooot.jks >/dev/null", log: false)
prepare_playstore_android
build_android_app(
task: 'assemble',
build_type: 'release',
project_dir: "./android",
print_command: true,
print_command_output: true,
properties: {
"android.injected.signing.store.file" => "#{File.expand_path('..', Dir.pwd)}/android/tooot.jks",
"android.injected.signing.store.password" => ENV["ANDROID_KEYSTORE_PASSWORD"],
"android.injected.signing.key.alias" => ENV["ANDROID_KEYSTORE_ALIAS"],
"android.injected.signing.key.password" => ENV["ANDROID_KEYSTORE_KEY_PASSWORD"],
}
)
sh "mv #{lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]} #{File.expand_path('..', Dir.pwd)}/tooot-#{GITHUB_RELEASE}.apk"
end
lane :ios do
cocoapods(clean_install: true, podfile: "./ios/Podfile")
build_ios
rocket
end
end
lane :android do
build_android
rocket
end
lane :release do
if ENVIRONMENT == 'release'
build_android_apk
set_github_release(
repository_name: GITHUB_REPO,
name: GITHUB_RELEASE,
tag_name: GITHUB_RELEASE,
description: "No changelog provided",
commitish: git_branch,
is_prerelease: false,
upload_assets: ["#{File.expand_path('..', Dir.pwd)}/tooot-#{GITHUB_RELEASE}.apk"]
)
end
rocket
end

View File

@ -1 +1,2 @@
storage_mode("git")
storage_mode "git"
app_identifier ["com.xmflsct.app.tooot", "com.xmflsct.app.tooot.ShareExtension"]

View File

@ -0,0 +1 @@
../../en-US/name.txt

View File

@ -0,0 +1 @@
../../it/description.txt

View File

@ -0,0 +1 @@
../../it/subtitle.txt

View File

@ -1 +0,0 @@
tooot

View File

@ -0,0 +1 @@
../../zh-Hans/name.txt

View File

@ -0,0 +1 @@
../en-US/name.txt

View File

@ -1,5 +1,10 @@
tooot is an open source, simple yet elegant Mastodon mobile client.
tooot is an open source, simple yet elegant Mastodon mobile client. A Mastodon (https://joinmastodon.org/) account is required to use this app.
A Mastodon (https://joinmastodon.org/) account is required to use this app.
tooot supports:
- Cross platform, including iPadOS and MacOS
- Multiple accounts
- Dark mode or adapt to system
- Adjustable toot font size
- Push notification
If you have suggestions, please reach out to @tooot@xmflsct.com or support@tooot.ap.
If you have suggestions, please reach out to @tooot@xmflsct.com or support@tooot.app.

View File

@ -0,0 +1 @@
tooot - fediverse and Mastodon

View File

@ -1 +1 @@
Support iPad
Enjoy toooting! This version includes improvements and fixes.

View File

@ -1 +1 @@
Open source Mastodon client
Simple, just works

Some files were not shown because too many files have changed in this diff Show More