Tusky è un client Android per Mastodon. Mastodon è un social network federato ActivityPub. Ciò significa che nessuna singola entità controlla l'intera rete, piuttosto, come la posta elettronica, i volontari e le organizzazioni gestiscono i propri server. https://mastodon.it
Go to file
Konrad Pozniak 8aaca3bb2c
improve span highlighting (#4480)
At first I thought simply changing the regex might help, but then I
found more and more differences between Mastodon and Tusky, so I decided
to reimplement the thing. I added 74 testcases that I all compared to
Mastodon to make sure they are correct.

On an Fairphone 4 the new implementation is faster, on an Samsung Galaxy
Tab S3 slower.

Testcases for the benchmark:
```
test of a status with #one hashtag http
```
```
test
http:// #hashtag https://connyduck.at/
http://example.org
this is a #test
and this is a @mention@test.com @test @test@test456@test.com
```
```
@mention@test.social Just your ordinary mention with a hashtag
#test
```
```
@mention@test.social Just your ordinary mention with a url
https://riot.im/app/#/room/#Tusky:matrix.org
```



FP4:
```
       11.159   ns          15 allocs    Benchmark.new_1
      119.701   ns          43 allocs    Benchmark.new_2
       21.895   ns          24 allocs    Benchmark.new_3
       87.512   ns          32 allocs    Benchmark.new_4

       16.592   ns          46 allocs    Benchmark.old_1
      134.381   ns         169 allocs    Benchmark.old_2
       28.355   ns          68 allocs    Benchmark.old_3
       45.221   ns          77 allocs    Benchmark.old_4
```

SGT3:
```
       43,785   ns          18 allocs    Benchmark.new_1
      446,074   ns          43 allocs    Benchmark.new_2
       78,802   ns          26 allocs    Benchmark.new_3
      315,478   ns          32 allocs    Benchmark.new_4

       42,186   ns          45 allocs    Benchmark.old_1
      353,570   ns         157 allocs    Benchmark.old_2
       72,376   ns          66 allocs    Benchmark.old_3
      122,985   ns          74 allocs    Benchmark.old_4
```


benchmark code is here: https://github.com/tuskyapp/tusky-span-benchmark

closes https://github.com/tuskyapp/Tusky/issues/4425
2024-06-02 16:32:58 +02:00
.github upgrade to gradle/actions/wrapper-validation@v3 in the other workflow as well 🙄 (#4378) 2024-04-21 09:35:59 +02:00
.idea Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
app improve span highlighting (#4480) 2024-06-02 16:32:58 +02:00
assets update tusky_banner.xcf 2023-02-15 20:05:45 +01:00
doc clarify updating the download link in Release.md (#4197) 2023-12-28 13:28:18 +01:00
fastlane/metadata/android Translations update from Weblate (#4420) 2024-05-10 15:17:40 +02:00
gradle Update dependency gradle to v8.8 (#4483) 2024-06-01 13:53:28 +02:00
.editorconfig upgrade ktlint plugin to 12.0.3 (#4169) 2024-01-04 17:00:55 +01:00
.gitattributes Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.gitignore Upgrade kotlin to v2 (#4461) 2024-05-23 21:51:25 +02:00
CHANGELOG.md Release 121 2024-05-10 13:31:40 +02:00
CONTRIBUTING.md Update contributing.md with payment policy link (#4037) 2023-09-26 20:17:18 +02:00
LICENSE.txt License change back to GPL 3 2017-04-09 20:12:31 -04:00
README.md Fix link to Matrix in README (#3995) 2023-09-03 16:02:08 +01:00
bitrise.yml fix building nightly on bitrise 2024-02-23 14:57:19 +01:00
build.gradle Replace Dagger-Android with Hilt and remove Kapt (#4423) 2024-05-10 15:55:07 +02:00
gradle.properties Remove lint version overriding 2023-08-25 10:27:14 +08:00
gradlew Update dependency gradle to v8.8 (#4483) 2024-06-01 13:53:28 +02:00
gradlew.bat Update dependency gradle to v8.6 (#4271) 2024-02-23 14:41:10 +01:00
renovate.json Use Renovate recommended baseline (#3977) 2023-11-01 11:39:20 +01:00
settings.gradle Update plugin com.gradle.develocity to v3.17.4 (#4453) 2024-05-22 19:48:08 +02:00

README.md

Translate - with Weblate OpenCollective Build Status

Tusky

Tusky is a beautiful Android client for Mastodon. Mastodon is an ActivityPub federated social network. That means no single entity controls the whole network, rather, like e-mail, volunteers and organisations operate their own independent servers, users from which can all interact with each other seamlessly.

Get it on F-Droid Get it on Google Play

Features

  • Material Design
  • Most Mastodon APIs implemented
  • Multi-Account support
  • Dark, light and black themes with the possibility to auto-switch based on the time of day
  • Drafts - compose posts and save them for later
  • Choose between different emoji styles
  • Optimized for all screen sizes
  • Completely open-source - no non-free dependencies like Google services

Testing

The nightly build containing the newest development code is available on Google Play.

Support

Check out our FAQs, your question may already be answered. If you have any bug reports, feature requests or questions please open an issue or send us a message at Tusky@mastodon.social!

Contributing

We always welcome new contributors! Please read our contribution guide to get started.

Development chatroom

https://matrix.to/#/#Tusky:matrix.org