Commit Graph

1319 Commits

Author SHA1 Message Date
Konrad Pozniak 43709532d6
fix unparsed html in "replying to" toggle (#2448) 2022-04-21 18:46:43 +02:00
Konrad Pozniak d2bfceae7b
refactor compose & announcements to coroutines (#2446)
* refactor compose & announcements to coroutines

* fix code formatting

* add javadoc to InstanceInfoRepository

* fix comments in ImageDownsizer

* remove unused Either extensions

* add explicit return type for InstanceInfoRepository.getEmojis

* make ComposeViewModel.pickMedia return Result

* cleanup code in ImageDownsizer
2022-04-21 18:46:21 +02:00
Konrad Pozniak b5d8b73044
fix "account moved" on profiles not being clickable (#2438) 2022-04-19 11:10:23 +02:00
Levi Bard dff039e123
Add support for post edit notifications (#2431)
* Add support for post edit notifications

* Update notification icon
2022-04-19 11:10:13 +02:00
Mélanie Chauvel e0abcbfada
Improve time format of posts when using absolute time (#2413)
* Improve time format of posts when using absolute time

* fix AbsoluteTimeFormatter, add tests

* fix tests

Co-authored-by: Conny Duck <k.pozniak@gmx.at>
2022-04-18 21:41:18 +02:00
Konrad Pozniak 216f094e98
upgrade ktlint gradle plugin to 10.2.1 (#2435) 2022-04-16 09:45:45 +02:00
Konrad Pozniak 027b659d1c
fix notifications showing unparsed html (#2436) 2022-04-16 09:44:05 +02:00
Konrad Pozniak 3e849244f9
move Html parsing to ViewData (#2414)
* move Html parsing to ViewData

* refactor reports to use viewdata

* cleanup code

* refactor conversations

* fix getEditableText

* rename StatusParsingHelper

* fix tests

* commit db schema file

* add file header

* rename helper function to parseAsMastodonHtml

* order imports correctly

* move mapping off main thread to default dispatcher

* fix ktlint
2022-04-15 13:20:27 +02:00
Konrad Pozniak 7aa328b3dc
fix login on Android API level <24 (#2432) 2022-04-15 10:50:28 +02:00
Levi Bard ad077cf092
Don't show preview cards on statuses with polls. (#2430)
Fixes #2427
2022-04-14 19:58:08 +02:00
Konrad Pozniak 3e8c6a318a
introduce KotlinResultCallAdapter for nice suspending network calls (#2415)
* introduce KotlinResultCallAdapter for nice suspending network calls

* fix tests
2022-04-14 19:49:49 +02:00
kyori19 d21d045eda
Support new signup notifications (#2357) 2022-04-14 19:39:30 +02:00
Konrad Pozniak 1d20a02d17
fix crash in ConversationsFragment (#2426) 2022-04-13 19:22:19 +02:00
Konrad Pozniak c705e9cbbb
remove extra slash in OAuth authorize url (#2425) 2022-04-13 19:22:09 +02:00
Konrad Pozniak b4a913b2d5
fix black theme on Android 12 (#2424)
* fix black theme on Android 12

* Revert "fix black theme on Android 12"

This reverts commit 2286706fdb.

* bring back SplashActivity
2022-04-13 19:22:01 +02:00
Konrad Pozniak 79c8f59e4e
fix crash when applying new emoji font on Android 12 (#2420) 2022-04-06 19:53:28 +02:00
Konrad Pozniak 59b627664f
Fix saving failed status to drafts (#2410)
* fix saving failed statuses to drafts

* use coroutine delay instead of timer
2022-04-02 16:15:18 +02:00
Constantin A 4011242257
Update emoji font versions to 14 (#2411) 2022-03-31 19:02:42 +02:00
Levi Bard ad001d044d
Revert unintentional behavior change for mention spans to use remote usernames (#2408) 2022-03-30 19:33:31 +02:00
Konrad Pozniak f2529a8e61
Fix Timeline not loading (#2398)
* fix cached timeline

* fix network timeline

* delete unused inc / dec extensions

* fix tests and bug in network timeline

* add db migration

* remove unused import

* commit 31.json

* improve placeholder inserting logic, add comment

* fix tests

* improve tests
2022-03-28 18:39:16 +02:00
Konrad Pozniak c47804997c
Improve handling of shared media (#2388)
* support file:// uris

* support subjects on image shares

* improve code

* improve code

* improve code
2022-03-28 18:39:05 +02:00
Mélanie Chauvel 2fc3ba3cee
Replace “status” by “post” in strings name and source values (#2405) 2022-03-27 12:23:25 +02:00
Levi Bard bbd818084d
When calculating post length, count all urls as being of the reserved character count, even if they're shorter. (#2404)
Addresses #2399
2022-03-24 19:52:18 +01:00
Konrad Pozniak d9931e3d2c
Rename Toots to Posts (#2396)
* rename toots -> posts in strings

* extract tusky_compose_post_quicksetting_label string

* rename toot -> status in code
2022-03-20 20:21:42 +01:00
Conny Duck 152c8b45d0 enable JavaScript in LoginWebViewActivity 2022-03-17 21:52:06 +01:00
Konrad Pozniak 0dc32774ec
handle screen rotation in LoginWebViewActivity (#2390) 2022-03-17 21:50:14 +01:00
cketti e6f7d9d5af
Fix image preview in share sheet (#2389) 2022-03-16 18:46:26 +01:00
Konrad Pozniak e05fdc6d7b
Fix status diffing and improve timeline performance (#2386)
* fix status & account diffing

* introduce TimelineAccount

* use TimelineAccount where possible

* improve tests

* improve ConversationEntity equals/hashcode

* fix mistake in ConversationEntity

* improve StatusViewData comparison

* improve tests

* fix typo in comment
2022-03-15 21:34:57 +01:00
Konrad Pozniak a257d9b769
correctly render whitespace in posts (#2383)
* correctly preserve whitespace in posts

* use extension function to convert from Spanned to Html

* improve comment
2022-03-14 14:43:00 +01:00
Konrad Pozniak 991d261459
change media download location to Download directory (#2384) 2022-03-14 13:55:25 +01:00
Konrad Pozniak 15304440ef
fix "nothing here" flickering when starting Tusky (#2377) 2022-03-12 09:38:59 +01:00
kyori19 72bb34bf27
Fix some network timeline bugs (#2373)
* Fix network timeline gap loading

* Fix fullReload keeps nextKey

* Fix reload after clearing timeline

* Improve logic to handle overlapped statuses
2022-03-12 09:38:48 +01:00
Konrad Pozniak 55513e8e2b
Android 12 support, update AndroidX libraries (#2367)
* Android 12 support, update AndroidX libraries

* fix ktlint

* add Android 12 splash screen support

* fix comments in MainActivity

* remove deprecated Intent.ACTION_CLOSE_SYSTEM_DIALOGS

* delete TimelineViewModelTest

* fix notifications on Android 12

* improve splash screen

* handle pending intent flags in a dedicated function
2022-03-09 20:50:23 +01:00
Konrad Pozniak 221cdb3611
move "animate custom emojis" preference next to "animate avatars" (#2376) 2022-03-08 21:40:10 +01:00
Konrad Pozniak 34b7a3c8ee
Don't hide potential timeline bugs by catching all exceptions (#2372)
* don't hide potential timeline bugs by catching all exceptions

* fix NetworkTimelineRemoteMediatorTest

* improve ifExpected function

* fix code formatting
2022-03-08 21:39:59 +01:00
Ivan Kupalov 4d8289b245
Implement Login via WebView (#2371)
* Improve login process with newer APIs

* Implement login with WebView instead of browser tab or external browser

Oauth process requires us to open login prompt for correct instance and
we need to receive the result back. Usually it is done with redirect
parameter.

Previously we've been using BrowserTabs API and have been falling back
to just opening browser. This mostly worked but is very clumsy:

 - It relies on few system mechanisms for opening URLs in both
directions
 - Browsers do weird things and tend to break quite a bit
 - There's a good chance that the app can die in the process and we need
to recover our state.

So instead we are now using WebView. It has disadvantages (users have
to trust us to show correct page, logins are not shared w/ browser) but
it should be more reliable.

* Changes to login after review

* Move login classes to their own package

* Fix linting issues
2022-03-08 21:22:19 +01:00
Konrad Pozniak 841373e947
fix various timeline related crashes (#2369)
* fix various timeline related crashes

* fix ktlint
2022-03-06 17:40:24 +01:00
Konrad Pozniak 73e9338f3c
fix timeline jumping to top when activity is recreated (#2364) 2022-03-03 20:01:47 +01:00
Konrad Pozniak 497b434663
Improve timeline dao (#2353)
* improve TimelineDao methods

* remove @Transaction from cleanup methods
2022-03-02 20:40:06 +01:00
Konrad Pozniak a6335e6bcd
update Android Image Cropper and get rid of deprecated onActivityResult (#2351)
* update Android Image Cropper and get rid of deprecated onActivityResult

* add comment why skipping caches is necessary

* inject application into EditProfileViewModel instead of passing it everytime
2022-03-02 20:39:56 +01:00
Konrad Pozniak 4dee5c2774
display account name when display name is not set (#2361) 2022-03-01 21:29:16 +01:00
Konrad Pozniak b145fc9d50
fix String.inc() and String.dec() not being inverse operations (#2355) 2022-03-01 21:29:05 +01:00
Levi Bard 7114575497
Instance configuration: the easy parts (#2341)
* Add data model for instance configuration

* Support instance.configuration.statuses.max_characters

* Support instance.configuration.statuses.characters_reserved_per_url

* Support instance.configuration.polls.max_options and max_characters_per_option

* Pacify ktlint

* Support instance-configured poll durations

* Fixup versions for migration after rebase
2022-03-01 19:43:36 +01:00
Levi Bard cdefcc441f
Fix relinkifying tags in posts from remote servers (#2359)
* Fix relinkifying tags in posts from remote servers

* Completely ignore urls, and (case-insensitively) match tag names instead
2022-02-28 16:54:25 +01:00
Konrad Pozniak 2c91b1148c
fix database migration to v29 (#2354) 2022-02-27 20:16:41 +01:00
Konrad Pozniak 2960a85ff1
use ViewData only instead of Pair<Status, ViewData> in Search (#2336) 2022-02-25 18:57:49 +01:00
Konrad Pozniak c592dfef78
Don't use notifyDataSetChanged in TimelineFragment (#2334) 2022-02-25 18:57:40 +01:00
Konrad Pozniak f7dfffa762
merge ModalTimelineActivity & ViewTagActivity into StatusListActivity (#2332)
* Rename .java to .kt

* merge ModalTimelineActivity & ViewTagActivity into StatusListActivity

* fix crash when opening hashtag
2022-02-25 18:57:31 +01:00
Konrad Pozniak eea81d7106
use POST api/v2/media to upload media (#2327) 2022-02-25 18:57:18 +01:00
Konrad Pozniak 8dbf255617
get rid of deprecated onActivityCreated in TimelineFragment (#2326) 2022-02-25 18:56:58 +01:00