Commit Graph

4240 Commits

Author SHA1 Message Date
Asier Iturralde Sarasola b6844c9792 Translated using Weblate (Basque)
Currently translated at 76.8% (501 of 652 strings)

Co-authored-by: Asier Iturralde Sarasola <asier@aldatsa.eus>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/eu/
Translation: Tusky/Tusky
2024-11-29 15:53:41 +00:00
Konrad Pozniak 05b2a5d70c
fix crash when post is single line with hashtags (#4778)
```
java.lang.StringIndexOutOfBoundsException
     at android.text.SpannableStringBuilder.<init>(SpannableStringBuilder.java:63)
     at android.text.SpannableStringBuilder.subSequence(SpannableStringBuilder.java:1198)
     at com.keylesspalace.tusky.util.LinkHelper.setClickableText(LinkHelper.kt:99)
     at com.keylesspalace.tusky.adapter.StatusBaseViewHolder.setTextVisible(StatusBaseViewHolder.java:289)
     at com.keylesspalace.tusky.adapter.StatusBaseViewHolder.setSpoilerAndContent(StatusBaseViewHolder.java:244)
     at com.keylesspalace.tusky.adapter.StatusBaseViewHolder.setupWithStatus(StatusBaseViewHolder.java:820)
     at com.keylesspalace.tusky.adapter.StatusViewHolder.setupWithStatus(StatusViewHolder.java:91)
     at com.keylesspalace.tusky.components.timeline.TimelinePagingAdapter.bindViewHolder(TimelinePagingAdapter.kt:100)
     at com.keylesspalace.tusky.components.timeline.TimelinePagingAdapter.onBindViewHolder(TimelinePagingAdapter.kt:82)
     at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7847)
     at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6646)
     at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6917)
     at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:288)
     at androidx.recyclerview.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:345)
     at androidx.recyclerview.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:361)
     at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:368)
     at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:399)
     at android.os.Handler.handleCallback(Handler.java:959)
     at android.os.Handler.dispatchMessage(Handler.java:100)
     at android.os.Looper.loopOnce(Looper.java:232)
     at android.os.Looper.loop(Looper.java:317)
     at android.app.ActivityThread.main(ActivityThread.java:8705)
     at java.lang.reflect.Method.invoke(Native Method)
     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)
```
2024-11-29 17:10:06 +01:00
Konrad Pozniak fc52074dcd
remove some unused code (#4776) 2024-11-28 19:15:54 +01:00
Konrad Pozniak bc397e993d
fix deprecated `resume` call in AlertDialogExtensions (#4775) 2024-11-28 19:15:44 +01:00
Levi Bard d3feca3a10
mastodon-web-like trailing hashtag bar (#4761)
Rationale: Since the mastodon web UI has started stripping "trailing"
hashtags from post content and shoving it into an ellipsized section at
the bottom of posts, the general hashtag : content ratio is rising.

This is an attempt at adopting a similar functionality for Tusky.

Before:

<img width="420" alt="Screenshot of a hashtag-heavy post on Tusky
nightly"
src="https://github.com/user-attachments/assets/09c286e8-6822-482a-904c-5cb3323ea0e1">


After:
![Screenshot of the same post on this
branch](https://github.com/user-attachments/assets/fa99964d-a057-4727-b9f0-1251a199d5f8)
2024-11-28 19:15:31 +01:00
Konrad Pozniak 9e83c205e8
set the correct height to the main bottom app bar (#4763)
Before there was a weird gap when the bar was set to bottom & and the
title bar was hidden.

![Screenshot_20241115_140918](https://github.com/user-attachments/assets/23a7b71f-dff8-4f40-ad7f-9cce5c23755f)
2024-11-24 19:23:44 +01:00
Konrad Pozniak a4b2c8682e
improve mute/subscribe buttons in AccountActivity (#4762)
Regression from the Material 3 redesign.

The background behind the buttons was not extending all the way up like
it should. Also make the subscribe button larger and the outline better
to see in the dark theme.

Before / After:

<img
src="https://github.com/user-attachments/assets/aa530d62-182c-48fd-b2d3-f7386ea4d909"
width="300"/> <img
src="https://github.com/user-attachments/assets/534f9a7c-2832-433b-a529-c72ee260b9cf"
width="300"/>
2024-11-24 19:23:31 +01:00
GunChleoc 9b868d2965 Translated using Weblate (Gaelic)
Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2024-11-24 12:07:12 +00:00
Asier Iturralde Sarasola 5de60cbd26 Translated using Weblate (Basque)
Currently translated at 67.1% (438 of 652 strings)

Co-authored-by: Asier Iturralde Sarasola <asier@aldatsa.eus>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/eu/
Translation: Tusky/Tusky
2024-11-24 12:07:12 +00:00
Robert WDF e9c514d7bb Translated using Weblate (Norwegian Bokmål)
Currently translated at 90.3% (589 of 652 strings)

Co-authored-by: Robert WDF <robert.wdf@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nb_NO/
Translation: Tusky/Tusky
2024-11-24 12:07:12 +00:00
Anna (cybertailor) Vyalkova 2adeb40a77 Translated using Weblate (Russian)
Currently translated at 99.0% (646 of 652 strings)

Co-authored-by: Anna (cybertailor) Vyalkova <cyber@sysrq.in>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/ru/
Translation: Tusky/Tusky
2024-11-24 12:07:12 +00:00
XoseM f355f52df1 Translated using Weblate (Galician)
Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2024-11-24 12:07:12 +00:00
Hồ Nhất Duy a2ca02bf7b Translated using Weblate (Vietnamese)
Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2024-11-24 12:07:12 +00:00
Rhoslyn Prys 252ed809be Translated using Weblate (Welsh)
Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Welsh)

Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Rhoslyn Prys <post@meddal.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2024-11-24 12:07:12 +00:00
Konrad Pozniak e758321866
fix updating filter expiration to indefinite (#4743)
Before we would not send `expires_in` when "indefinite" was selected.
But that left the expiration at the value it was before. To actually set
it to indefinite we need to send `expires_in`, but leave it empty.
With a value class this was actually really nice to fix, the code now
self-documents what the special values mean.

Also fixes a regression from the Material 3 redesign where the filter
duration drop down would not get populated when creating a filter.

Found while working on https://github.com/tuskyapp/Tusky/pull/4742
2024-11-05 20:44:08 +01:00
Konrad Pozniak 0d34804359
never filter own posts (#4742)
This is to match Mastodon web behavior.

Also, make revealing filtered boosts in non-cached timelines work (can
only happen on user profiles, other timelines don't have boosts).

found thanks to this: https://tech.lgbt/@darkfox/113378644538792719
2024-11-05 20:43:52 +01:00
Konrad Pozniak a56c14340e
fix link preview images (#4751)
Before (sometimes) vs after:

<img
src="https://github.com/user-attachments/assets/baeff1b8-c1ea-4102-bb4d-f8b2063d0972"
width="240"/> <img
src="https://github.com/user-attachments/assets/748618d3-4eaf-4428-8a7c-c1314d156f66"
width="240"/>

I'm not sure what is going on here, Glide is being weird sometimes and
this change fixes it.

Regression from https://github.com/tuskyapp/Tusky/pull/4738
2024-11-04 19:03:34 +01:00
Hồ Nhất Duy 781dce056e Translated using Weblate (Vietnamese)
Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2024-10-30 18:26:27 +00:00
Konrad Pozniak d7bb46cd67
fix pinning boosted posts (#4740)
closes https://github.com/tuskyapp/Tusky/issues/4739
2024-10-28 21:27:21 +01:00
Konrad Pozniak 4eaa8877c1
fix crash when loading card images with unusual aspect ratio (#4738)
closes https://github.com/tuskyapp/Tusky/issues/4725

I checked with examples from https://github.com/tuskyapp/Tusky/pull/2743
and looks like nothing broke. Not sure why the `.dontTransform()` was
there. It prevents Glide from correctly sizing the image, leading to a
crash.

<details>
<summary>Stacktrace</summary>

```
java.lang.RuntimeException: Canvas: trying to draw too large(401361624bytes) bitmap.
    at android.graphics.RecordingCanvas.throwIfCannotDraw(RecordingCanvas.java:266)
    at android.graphics.BaseRecordingCanvas.drawBitmap(BaseRecordingCanvas.java:94)
    at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:549)
    at android.widget.ImageView.onDraw(ImageView.java:1446)
    at com.google.android.material.imageview.ShapeableImageView.onDraw(ShapeableImageView.java:188)
    at android.view.View.draw(View.java:23266)
    at android.view.View.updateDisplayListIfDirty(View.java:22133)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.draw(View.java:23269)
    at android.view.View.updateDisplayListIfDirty(View.java:22133)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1994)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at androidx.recyclerview.widget.RecyclerView.drawChild(RecyclerView.java:5545)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.draw(View.java:23269)
    at androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:4944)
    at android.view.View.updateDisplayListIfDirty(View.java:22133)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.draw(View.java:23269)
    at android.view.View.updateDisplayListIfDirty(View.java:22133)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at androidx.fragment.app.FragmentContainerView.drawChild(FragmentContainerView.kt:232)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at androidx.fragment.app.FragmentContainerView.dispatchDraw(FragmentContainerView.kt:222)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22124)
    at android.view.View.draw(View.java:22997)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.draw(View.java:23269)
    at com.android.internal.policy.DecorView.draw(DecorView.java:821)
    at android.view.View.updateDisplayListIfDirty(View.java:22133)
    at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:689)
    at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:695)
    at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:793)
    at android.view.ViewRootImpl.draw(ViewRootImpl.java:4789)
    at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4500)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3687)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2371)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9297)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
    at android.view.Choreographer.doCallbacks(Choreographer.java:899)
    at android.view.Choreographer.doFrame(Choreographer.java:832)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7924)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
```
</details>
2024-10-28 21:27:09 +01:00
Hồ Nhất Duy a22b9be0cf Translated using Weblate (Vietnamese)
Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2024-10-27 04:07:12 +00:00
Konrad Pozniak f8cf38c81b
fix how emojis in link texts are displayed (#4723)
![Screenshot_20241010_204357](https://github.com/user-attachments/assets/6f511231-b89c-4902-ad89-68c1940415a7)

closes https://github.com/tuskyapp/Tusky/issues/4720
2024-10-11 11:25:43 +02:00
Konrad Pozniak 92f980be2a
allow setting descriptions on audio attachments (#4711) 2024-10-11 09:24:12 +02:00
Konrad Pozniak c45a3320d2
don't spam endless posts when trying to schedule on GoToSocial (#4705)
closes #4703
2024-10-11 09:23:30 +02:00
Konrad Pozniak 20bd90faae
Material3 polishing (#4673)
see commit messages for a list of changes

closes #4692
2024-10-11 08:51:34 +02:00
Konrad Pozniak 2a4e785bd7
make browser login work again (#4704)
Yes, saving the data in the savedInstanceState is nicer... but
SharedPreferences works better so lets revert this code

closes #4702 
closes #4592
2024-10-09 16:19:11 +02:00
ButterflyOfFire e676bd86c6 Translated using Weblate (Kabyle)
Currently translated at 35.5% (232 of 652 strings)

Co-authored-by: ButterflyOfFire <butterflyoffire@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/kab/
Translation: Tusky/Tusky
2024-10-01 11:07:11 +00:00
Chaman Vétéran a4acf21354 Translated using Weblate (French)
Currently translated at 96.4% (629 of 652 strings)

Co-authored-by: Chaman Vétéran <monapp@posteo.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fr/
Translation: Tusky/Tusky
2024-10-01 11:07:11 +00:00
Ümit Solmaz a39ba4153b Translated using Weblate (Turkish)
Currently translated at 99.2% (647 of 652 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2024-10-01 11:07:11 +00:00
Mārtiņš Bruņenieks 680dc12fbd Translated using Weblate (Latvian)
Currently translated at 85.4% (557 of 652 strings)

Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/lv/
Translation: Tusky/Tusky
2024-10-01 11:07:11 +00:00
Deleted User 65f8434171 Translated using Weblate (German)
Currently translated at 98.7% (644 of 652 strings)

Co-authored-by: Deleted User <noreply+326@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2024-10-01 11:07:11 +00:00
Konrad Pozniak d70b389160
Merge branch 'develop' into weblate-tusky-tusky 2024-09-28 08:03:36 +02:00
Jichi Zhang c9355d9b00
Recreate activities on screenLayout change (#4689)
Fixes #4255 

Tested on Pixel 9 Pro Fold.

Before


https://github.com/user-attachments/assets/dd4d3a06-fb9f-4d89-94c3-401875cfe6f7

After


https://github.com/user-attachments/assets/dac01631-1add-48f4-9cb9-7365b3da2c9c
2024-09-28 07:49:38 +02:00
Konrad Pozniak d00ad17603
remove wrong statuses attribute from Announcement model (#4699)
https://docs.joinmastodon.org/entities/Announcement/

The statuses in this model are not full statuses but we expect them, so
parsing a response that contains one fails.
`com.squareup.moshi.JsonDataException: Required value 'account' missing
at $[0].statuses[1]`

Since we don't even use the attribute, we can just remove it to fix the
bug.

Closes #4696
2024-09-28 07:43:18 +02:00
Konrad Pozniak 13a9e9eb37
fix crash in ViewImageFragment (#4686)
From Play console crash logs. Well, let's put another band aid on this
code....

```
Exception java.lang.IllegalStateException:
  at androidx.fragment.app.Fragment.requireActivity (Fragment.java:1005)
  at com.keylesspalace.tusky.fragment.ViewImageFragment.getPhotoActionsListener (ViewImageFragment.java:59)
  at com.keylesspalace.tusky.fragment.ViewImageFragment.access$getPhotoActionsListener (ViewImageFragment.java:49)
  at com.keylesspalace.tusky.fragment.ViewImageFragment$onViewCreated$singleTapDetector$1.onSingleTapConfirmed (ViewImageFragment.kt:116)
  at android.view.GestureDetector$GestureHandler.handleMessage (GestureDetector.java:379)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:230)
  at android.os.Looper.loop (Looper.java:319)
  at android.app.ActivityThread.main (ActivityThread.java:8919)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:578)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)
```
2024-09-27 16:20:22 +02:00
Konrad Pozniak c887c8213c
fix new warnings, regenerate lint-baseline.xml (#4684)
Mostly "StringFormatTrivial" which I think is new, but it makes totally
sense to fix
2024-09-16 20:57:27 +02:00
Konrad Pozniak a98154101b
revert MainActivity launchMode again (#4685)
This fixes
- The problem where Tusky drops your draft when you switch apps while
composing
- The problem where MainActivity does not restart when switching theme
in preferences

This adds back a bug where one can have multiple instances of
MainActivity which can behave weirdly when the active account was
switched after they were created. This bug is (unlike the timeline mixup
one) transient though, it will go away when restarting the app. As a
small mitigation MainActivity is finished when forwarding to
ComposeActivity (Tusky 25 behavior).
2024-09-16 20:57:15 +02:00
Konrad Pozniak f2a2c16464
Better refreshing state handling for AccountViewModel (#4680)
Closes #4353 by addressing the last edge case: The swipe to refresh
won't be enabled before something is loaded, preventing multiple loads
at the same time. After the first load, the swipe to refresh itself
prevents multiple loads: It can be swiped only once.

---------

Co-authored-by: Goooler <wangzongler@gmail.com>
2024-09-15 17:32:19 +02:00
Balázs Meskó 46f0459126 Translated using Weblate (Hungarian)
Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Balázs Meskó <mesko.balazs@fsf.hu>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/hu/
Translation: Tusky/Tusky
2024-09-15 15:21:37 +00:00
Ümit Solmaz 1e59801044 Translated using Weblate (Turkish)
Currently translated at 99.0% (646 of 652 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2024-09-15 15:21:37 +00:00
Hồ Nhất Duy f357402a48 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2024-09-13 14:41:07 +00:00
Konrad Pozniak b693d4d466
remove extra newlines on some PIxelfed posts (#4672)
closes https://github.com/tuskyapp/Tusky/issues/4663
2024-09-13 15:52:48 +02:00
Konrad Pozniak 767f10a5db
Translations update from Weblate (automated) (#4671)
Translations update from [Weblate](https://weblate.tusky.app) for
[Tusky/Tusky](https://weblate.tusky.app/projects/tusky/tusky/).



Current translation status:

![Weblate translation
status](https://weblate.tusky.app/widget/tusky/tusky/horizontal-auto.svg)
2024-09-13 15:52:37 +02:00
Andrew Hamilton 3c25b76853
Adds auto keyboard popup to dialogs (#4667)
Adds auto keyboard popup to ListsActivity, FollowedTagsActivity,
EditFilterActivity, CaptionDialog, and AddPollDialog.kt, and
AddHashtagDialog in TabPreferenceActivity. These are all dialog screens
which editing texts are the main purposes

---------

Co-authored-by: Weblate <42475313+nailyk-weblate@users.noreply.github.com>
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Manuel <mannivuwiki@gmail.com>
Co-authored-by: Eric <ekhfcxwuvxqfdb@hldrive.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
2024-09-13 15:52:11 +02:00
Weblate 6a8bb044bb
Translations update from Weblate (automated) (#4665)
Translations update from [Weblate](https://weblate.tusky.app) for
[Tusky/Tusky](https://weblate.tusky.app/projects/tusky/tusky/).



Current translation status:

![Weblate translation
status](https://weblate.tusky.app/widget/tusky/tusky/horizontal-auto.svg)

---------

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Manuel <mannivuwiki@gmail.com>
Co-authored-by: Eric <ekhfcxwuvxqfdb@hldrive.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
2024-09-12 18:48:48 +02:00
XoseM 91e641c836 Translated using Weblate (Galician)
Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2024-09-12 16:38:45 +00:00
fin-w 479d1deebc Translated using Weblate (Welsh)
Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: fin-w <fin-w@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2024-09-12 16:38:45 +00:00
Konrad Pozniak 50ca44a5f6
Material Design 3 (#4637)
I tried to find a balance between going fully M3 and keeping some of the
original Tusky feeling.
For example, I removed the "allCaps" setting we had on most buttons,
which is recommended for M3. On the other hand, I made them less rounded
than the M3 default.

<img
src="https://github.com/user-attachments/assets/9d2485e0-7d1d-42ab-8a4e-c30d044aa5dc"
width="320"/>
<img
src="https://github.com/user-attachments/assets/d65d3c91-afe9-424e-92d7-e0f3e401ea4b"
width="320"/>
<img
src="https://github.com/user-attachments/assets/d5634440-c507-4484-a11e-983f47cbeab7"
width="320"/>
2024-09-10 19:50:09 +02:00
Konrad Pozniak a9d6b60291
continue uploading media after sending post (#4662)
regression from https://github.com/tuskyapp/Tusky/pull/4599

https://pug.ninja/@motoridersd/113102603349423738

The problem is, `MediaUploader` is no longer a singleton, so the state
is not correctly shared between `ComposeActivity` and
`SendStatusService.` But it can't be a singleton, since `MediaUploadApi`
(injected into `MediaUploader`) needs to be recreated on account change.
Let's share the state in the companion object instead.
2024-09-10 19:16:53 +02:00
Konrad Pozniak 4f135c7f7b
fix hidden url markup when link text contains 🔗 (#4650)
Found a post that had a link that contained a 🔗 in the link text, which
tripped up our algorithm.
https://toot.mirbsd.org/@fefes_blog/statuses/01J6YVRNW9C3Q6GBCWKT96CYD0

Before / After

<img
src="https://github.com/user-attachments/assets/b2ce6f0c-7ae2-4351-86f9-2564252e9a62"
width="280"/>
<img
src="https://github.com/user-attachments/assets/589ffe6d-e57e-4c2e-bd82-b01ef178d551"
width="280"/>
2024-09-09 18:18:00 +02:00