4
27
Fork
You've already forked Tuba
5
Browse the Fediverse https://tuba.geopjr.dev/
  • Vala 94.4%
  • CSS 2.2%
  • Crystal 1.5%
  • Meson 1.4%
  • Makefile 0.4%
Evangelos Paterakis 132e0de314
All checks were successful
CI / lint Successful in 3s
ci/woodpecker/push/woodpecker Pipeline was successful
CI / flatpak-builder / aarch64 Successful in 2m46s
CI / flatpak-builder / x86_64 Successful in 3m53s
Windows / msys2 / x86_64 Successful in 5m21s
Windows / msys2 / aarch64 Successful in 7m39s
fix(Timeline): cancel refresh on account change ( #1689 )
When adding new accounts, I noticed that the ex-active ones' posts were still there. That was because there's a refresh request started prior to the account change and finishes after, so we need to cancel on-going requests per-timeline as we want one point of truth.
RequestsV2 would re-create cancellable on exec, which made it pointless.
Reviewed-on: #1689 
2026年07月12日 08:29:50 +02:00
.forgejo/ISSUE_TEMPLATE feat: codeberg ( #1650 ) 2026年04月26日 20:59:16 +02:00
.github/workflows fix(Makefile): windows gtksourceview lang files and ldd ( #1657 ) 2026年06月07日 22:58:18 +02:00
build-aux feat: codeberg ( #1650 ) 2026年04月26日 20:59:16 +02:00
data feat(ActionsRow): boost no alt text confirm dialog ( #1686 ) 2026年07月10日 00:23:44 +02:00
po fix(ci): woodpecker, msys2, appstream ( #1655 ) 2026年06月06日 20:17:49 +02:00
server feat: codeberg ( #1650 ) 2026年04月26日 20:59:16 +02:00
src fix(Timeline): cancel refresh on account change ( #1689 ) 2026年07月12日 08:29:50 +02:00
tests feat(structure): move utils under the Utils namespace ( #1398 ) 2025年05月07日 09:42:18 +03:00
vapi feat(EditorPage): cleanup char counting ( #599 ) 2024年02月18日 03:48:53 +02:00
.buildconfig chore: Tooth -> Tuba 2023年03月23日 11:47:48 +02:00
.editorconfig feat: v0.8.0 ( #1022 ) 2024年06月22日 07:03:39 +03:00
.gitattributes feat(Windows): nsis ( #1283 ) 2024年12月19日 00:47:40 +02:00
.gitignore feat(Windows): nsis ( #1283 ) 2024年12月19日 00:47:40 +02:00
.valalintignore feat: online services ( #1166 ) 2024年11月02日 21:33:57 +02:00
.woodpecker.yml fix(ci): woodpecker, msys2, appstream ( #1655 ) 2026年06月06日 20:17:49 +02:00
CODE_OF_CONDUCT.md chore(metadata): bump ( #536 ) 2023年09月22日 16:42:26 +03:00
LICENSE Drop executable bit from most files 2021年07月23日 20:58:03 +03:00
Makefile fix(Makefile): windows gtksourceview lang files and ldd ( #1657 ) 2026年06月07日 22:58:18 +02:00
meson.build fix: deprecations ( #1670 ) 2026年07月02日 08:25:05 +02:00
meson_options.txt feat: new composer ( #623 ) 2025年07月08日 12:46:35 +03:00
README.md feat: codeberg ( #1650 ) 2026年04月26日 20:59:16 +02:00
Tuba.doap feat: codeberg ( #1650 ) 2026年04月26日 20:59:16 +02:00
vala-lint.conf chore(metadata): bump ( #536 ) 2023年09月22日 16:42:26 +03:00

A tuba in the style of GNOME icons

Tuba

Browse the Fediverse


Contributor Covenant v2.1 License GPL-3.0 GitHub CI Status Please do not theme this app

Screenshot of the Tuba app in light and mobile view. The current view is the main one on the 'Home' tab. The 'Notifications' tab has the number 15 in an accent-colored bubble. There are 3 posts visible by BASIL, AUBREY and HERO (only the boost tag) showcasing some of Tuba's features: 1. Image attachments, 2. custom emojis, 3. content warnings, 4. reboosts, 5. notification badges, 6.post indicators, 7. post actions.

Install

Official

Release

Download on Flathub

Nightly

Flatpak Windows
x86_64 x86_64 Installer
x86_64 Portable
aarch64 aarch64 Portable

Third Party

A vertical list with the title 'Packaging status'. On the left side there's repos and on the right side there's the packaged version of Tuba.

From Source

Dependencies
Package Name Required
meson
valac
libjson-glib-dev
libxml2-dev
libgee-0.8-dev
libsoup3.0-dev
libadwaita-1.0-dev
libsecret-1-dev
libgtksourceview-5-dev
icu
libspelling
gstreamer + gst-plugins-good
clapper
webkitgtk
gexiv2

Makefile

$ make
$ make install

GNOME Builder

  • Clone
  • Open in GNOME Builder

Sponsors

Acknowledgements

Translation status

Contributing

  1. Read the Code of Conduct
  2. Fork it ( https://codeberg.org/GeopJr/Tuba/fork )
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

Use of Generative AI

This project does not allow contributions generated by large languages models (LLMs) and chatbots. This ban includes, but is not limited to, tools like ChatGPT, Claude, Copilot, DeepSeek, and Devin AI. We are taking these steps as precaution due to the potential negative influence of AI generated content on quality, as well as likely copyright violations.

This ban of AI generated content applies to all parts of the projects, including, but not limited to, code, documentation, issues, and artworks. An exception applies for purely translating texts for issues and comments to English.

AI tools can be used to answer questions and find information. However, we encourage contributors to avoid them in favor of using existing documentation and our chats and forums. Since AI generated information is frequently misleading or false, we cannot supply support on anything referencing AI output.