No description
  • Kotlin 96.9%
  • Java 3.1%
Find a file
jops 2dbb5b1268 busky: Neighborhood/Agenda/Videos tabs, density-shaded calendar dots
- Add AgendaFragment/PeertubeFragment and Neighborhood/Agenda/Videos tab types;
    list them in Tab settings and include them in defaultTabs(). Agenda and Videos
    stay in the drawer too; Neighborhood, trending-hashtags and trending-posts
    drawer entries removed.
  - Shade agenda calendar dots by event density (light -> dark blue).
2026-07-06 17:58:51 +02:00
.github move all workflows to woodpecker (#5144) 2025-06-06 20:42:27 +02:00
.idea Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.woodpecker fix test version deployment (#5378) 2026-01-23 12:39:59 +01:00
app busky: Neighborhood/Agenda/Videos tabs, density-shaded calendar dots 2026-07-06 17:58:51 +02:00
assets update tusky_banner.xcf 2023-02-15 20:05:45 +01:00
doc move all workflows to woodpecker (#5144) 2025-06-06 20:42:27 +02:00
fastlane/metadata/android Prepare Release 142 (#5462) 2026-03-01 15:20:26 +01:00
gradle busky: PeerTube videos, neighborhood timeline, background radio 2026-06-27 15:55:50 +02:00
.editorconfig upgrade ktlint plugin to 13.0.0 and apply new rules (#5222) 2025-08-15 09:52:05 +02:00
.gitattributes Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.gitignore update .gitignore to ignore all release files (#5302) 2025-12-08 10:25:22 +01:00
build.gradle Introduce Jetpack Compose (#5199) 2025-08-07 21:52:47 +02:00
CHANGELOG.md Prepare Release 142 (#5462) 2026-03-01 15:20:26 +01:00
CONTRIBUTING.md move links to codeberg / fix readme (#5134) 2025-05-23 15:26:08 +02:00
gradle.properties Update Kotlin (#5046) 2025-05-17 22:14:35 +02:00
gradlew upgrade gradle to 9.0.0 (#5218) 2025-08-13 18:06:08 +02:00
gradlew.bat Update dependency gradle to v8.14 (#5081) 2025-04-26 08:04:08 +02:00
LICENSE.txt License change back to GPL 3 2017-04-09 20:12:31 -04:00
README.md aggiunto readme 2026-06-27 16:06:03 +02:00
settings.gradle Update plugin com.gradle.develocity to v4.0.1 (#5080) 2025-04-26 08:03:54 +02:00

Busky

Busky is an Android client for Bastodon instances, built as a fork of Tusky. It is fully compatible with Tusky: against a vanilla Mastodon server it behaves exactly like Tusky. The Bastodon features below light up only when the server exposes them through /api/v2/instance — so the app follows the instance, never the other way around.

Why Busky

Busky was born out of the same critique that gave rise to Bastodon: the way Mastodon — and its apps — are developed topdown, where the priorities of the upstream projects do not always reflect the needs of the communities that actually inhabit the network.

Against that model, the features in this fork were discussed and decided collectively by the instance assemblies of mastodon.bida.im. Busky is simply the phone-side companion to those choices: every addition mirrors a Bastodon server feature the community asked for, and every one is optional and gated by the instance — nothing appears unless your server opted into it.

Bastodon features

All of these are detected from the active instance's /api/v2/instance configuration. On a plain Mastodon server they stay hidden and Busky is just Tusky.

Agenda (Gancio events)

A calendar-driven agenda for instances with the Gancio integration enabled.

  • Month calendar with a dot on every day that has an event (multi-day events are marked on all the days they span).
  • Tap a day to list its events, with thumbnails and location.
  • Two tabs: all public events (tap to open on the origin instance, + to save) and your personal agenda (tap to open, × to remove).
  • Reads /api/v1/gancio_events and the account's /api/v1/user_events.

Videos (PeerTube)

A chronological list of videos aggregated from the instance's configured PeerTube servers.

  • Thumbnails, duration and a LIVE badge for active streams.
  • Tap a video to watch it on its origin instance.
  • Reads /api/v1/peertube_videos.

Neighborhood timeline

A dedicated timeline of public posts from friendly ("neighborhood") instances, wired into Tusky's normal timeline reader — so you get the usual rendering, replies, boosts, favourites and filters. Reads /api/v1/timelines/neighborhood.

Radio

A community webradio player streaming the instance's configured station.

  • Plays in the background via a Media3 foreground service, with a media notification and lockscreen / Bluetooth controls.
  • Shows the station name (links to its page) and description.

Configurable character limit

Busky honours the instance's character limit automatically (Bastodon raises it via the standard configuration.statuses.max_characters), so the compose counter matches the server.

Relationship to Tusky

Busky tracks upstream Tusky and keeps all of its functionality — it only adds the gated Bastodon features above. All credit for the underlying app goes to the Tusky contributors; Busky is distributed under the same GNU GPL v3 licence.

Building

Standard Tusky/Android build. With Android Studio: open the project and run the app configuration. From the command line:

export JAVA_HOME=/path/to/jdk        # e.g. Android Studio's bundled JBR
./gradlew assembleBlueDebug          # build the debug APK
./gradlew testBlueDebugUnitTest      # run unit tests

The app id is im.bida.busky (it installs alongside Tusky). Output APK: app/build/outputs/apk/blue/debug/.

License

Busky is free software, licensed under the GNU General Public License v3.0, like Tusky. See LICENSE.