1
0
Fork
You've already forked Tuts
0
Aplicació client en català per a Mastodon
  • Swift 100%
spla 2798b1a596 Documenta la feina del 18/06 a CLAUDE.md
Versions dels servidors (mastodont.cat v4.6.0, appy v0.5.0-dev); bugs resolts
del 18/06 (permís de cita quote_approval, salts de línia <li>, càrrega
automàtica de tendències); bug pendent d'updates de Misskey duplicats; principis
de diagnòstic (prior de sospita Tuts>appy>Mastodon, verificar la dada crua); i la
funcionalitat d'amagar el botó flotant ··· a Cerca amb el camp enfocat.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026年06月18日 20:41:26 +02:00
Docs Actualitza llista Testflight i eliminats targets iPad, Mac etc 2026年05月01日 21:03:42 +02:00
Tuts Amaga el botó flotant ··· a Cerca quan el camp té el focus 2026年06月18日 20:39:05 +02:00
Tuts.xcodeproj Apuja la versió: build 24, marketing 1.9.99 2026年06月14日 09:25:55 +02:00
TutsNotificationService fix: notificacions push, evitar NSNull al userInfo de la Service Extension 2026年05月13日 13:40:40 +02:00
TutsTests Canvi de 'Tut' a 'Tuts' de tot els directoris i arxius del projecte 2026年04月24日 20:17:27 +02:00
TutsUITests Canvi de 'Tut' a 'Tuts' de tot els directoris i arxius del projecte 2026年04月24日 20:17:27 +02:00
TutsWatch Watch App Neteja carpeta TutsWatch obsoleta i corregeix mencions remotes en edició 2026年05月01日 18:58:10 +02:00
TutsWatch Watch AppTests Canvi de 'Tut' a 'Tuts' de tot els directoris i arxius del projecte 2026年04月24日 20:17:27 +02:00
TutsWatch Watch AppUITests Canvi de 'Tut' a 'Tuts' de tot els directoris i arxius del projecte 2026年04月24日 20:17:27 +02:00
.gitignore Funcionalitats: quotes, historic edicions, notificacions agrupades, overflow fix i millores 2026年04月06日 00:56:14 +02:00
CLAUDE.md Documenta la feina del 18/06 a CLAUDE.md 2026年06月18日 20:41:26 +02:00
LICENSE Add AGPL-3.0 license 2026年04月29日 22:57:46 +02:00
README.md Actualitzat 2026年04月24日 20:22:30 +02:00

Tuts

Client de Mastodon per a iOS i Apple Watch, escrit en Swift i SwiftUI. La interfície és en català.

Captures de pantalla

(pròximament)

Requisits

  • Xcode 26 o superior
  • iOS 26.2 o superior
  • Compte a qualsevol instància de Mastodon

Instal·lació

  1. Clona el repositori:
    git clone https://codeberg.org/spla/Tuts.git
    
  2. Obre Tuts.xcodeproj amb Xcode
  3. Selecciona el teu dispositiu o simulador
  4. Compila i executa (⌘R)

No cal cap dependència externa ni gestor de paquets.

Funcionalitats

Línia de temps

  • Inici, local i federada
  • Tuts amb text, imatges, vídeos, GIFs i enquestes
  • Previsualització de links (preview card)
  • Tuts llargs truncats amb botó "Llegir més"
  • Quotes de tuts (Mastodon 4.5+)
  • Històric d'edicions
  • Impuls, favorit, marcador, resposta
  • Bloquejar, silenciar i denunciar usuaris

Notificacions

  • Notificacions agrupades (API v2, Mastodon 4.3+)
  • Polling automàtic cada 60 segons
  • Badge amb comptador de no llegides
  • Accions ràpides (respondre, impulsar, favorit) des de la notificació

Publicar

  • Editor de tuts amb emojis personalitzats del servidor
  • Respostes i fils
  • Editar tuts propis
  • Esborranys locals
  • Adjuntar imatges i vídeos
  • Enquestes
  • Visibilitat (públic, no llistat, privat, directe)
  • Content Warning

Cerca

  • Cerca de tuts, comptes i hashtags
  • Tendències (tuts, hashtags i enllaços)

Perfil

  • Vista del propi perfil amb tuts, respostes i impulsos
  • Editar perfil
  • Perfils d'altres usuaris
  • Seguidors i seguits
  • Llistes de comptes (qui ha marcat com a favorit, qui ha impulsat)

Altres

  • Multi-compte (canvi ràpid entre comptes)
  • Llistes personalitzades
  • Marcadors
  • Filtres de contingut
  • Bloquejar i silenciar
  • Informació del servidor
  • Denunciar tuts
  • Traduir tuts
  • Lightbox d'imatges amb gest de pinça
  • Reproductor de vídeo i GIFs integrat
  • Emojis personalitzats del servidor

Apple Watch

  • Línia de temps
  • Notificacions
  • Publicar tuts curts

Arquitectura

  • Patró: MVVM amb SwiftUI
  • Xarxa: ClientAPI — crida directa a la API REST de Mastodon
  • Autenticació: OAuth 2.0 via ASWebAuthenticationSession, token guardat al Keychain
  • Caché: SwiftData per a la línia de temps local
  • Watch: WatchConnectivity per a la comunicació iPhone ↔ Watch

Estructura del projecte

Tuts/
├── App/ # Punt d'entrada (TutsApp.swift)
├── Components/ # Components reutilitzables (CellaToot, etc.)
├── Funcionalitats/
│ ├── Autenticacio/ # Login, registre, OAuth
│ ├── Bookmarks/ # Marcadors
│ ├── Cerca/ # Cerca i tendències
│ ├── Filtres/ # Filtres, bloquejar, silenciar
│ ├── Llistes/ # Llistes personalitzades
│ ├── Notificacions/ # Notificacions
│ ├── Perfil/ # Perfil d'usuari
│ ├── Publicar/ # Editor de tuts i esborranys
│ ├── Servidor/ # Info del servidor
│ └── Timeline/ # Línia de temps i detall de tut
├── Models/ # Models de dades (Status, Account, etc.)
└── Sistema/
 ├── Disseny/ # LiquidGlass i tema
 ├── Emmagatzematge/ # Keychain, caché, esborranys
 └── Xarxa/ # ClientAPI

API de Mastodon

Implementa els endpoints principals de l'API REST de Mastodon:

  • GET /api/v1/timelines/* — línies de temps
  • GET/POST /api/v1/statuses/* — tuts, favorits, impulsos, quotes
  • GET /api/v2/notifications — notificacions agrupades
  • GET /api/v1/accounts/* — perfils i relacions
  • GET /api/v2/search — cerca
  • POST /api/v1/apps + OAuth 2.0 — autenticació
  • GET /api/v1/lists/* — llistes
  • GET /api/v1/bookmarks — marcadors
  • GET /api/v1/filters/* — filtres
  • GET /api/v1/trends/* — tendències

Llicència

AGPL-3.0

Autor

spla