/changelog/projects/graphite-tracker

Graphite Tracker

live

A universal entertainment tracker for movies, television, anime, manga, manhwa and games.

  • react
  • nestjs
  • prisma
  • postgresql
  • tmdb
  • rawg
owner
Amr El-Sheraey
source
project-graphite/graphite-tracker ↗
project page
/projects/graphite-tracker

releases · 8

v1.4.0 — Content filters and default sources

Content filtering gets stricter and more precise across manga, manhwa, games and TV, and the system manager can choose which source each category uses by default for the whole site.

added

  • The system manager chooses the default source for each category across the site487f854 · AmrMsCLL

changed

  • Adult filters for manga, manhwa and games cover more tags, while widely read titles stay visiblee610fd7 · AmrMsCLL
  • Ecchi and harem manga are hidden unless widely read on MangaUpdatesf3071e1 · AmrMsCLL
  • LGBTQ-tagged titles are hidden from search, browse and title pages for every readerc614948 · AmrMsCLL
  • Genre lists follow the reader's adult content settinge610fd7 · AmrMsCLL
  • Anime no longer appears in TV browse and searche610fd7 · AmrMsCLL
  • A new favicon and header marke531411 · AmrMsCLL

fixed

  • MangaUpdates searches no longer fail on series without a year or genrese610fd7 · AmrMsCLL

v1.3.0 — Better sources and audit fixes

AniList and MangaUpdates become the default anime, manga and manhwa sources and TV browse shows real scripted series, while an audit of the first four phases closes account, digest, privacy and import defects and raises capacity on the single server container.

security

  • Password reset and change cancel pending email changes, and the old address is warned about a requested changea6fd79a · #10 · AmrMsCLL
  • Security headers including HSTS are sent and X-Powered-By is offa6fd79a · #10 · AmrMsCLL

added

  • AniList is the default anime source, with season browsing and the latest aired episodefa47616 · #9 · AmrMsCLL
  • MangaUpdates is the default manga and manhwa source, separating manga from manhwa and manhua86d6239 · #8 · AmrMsCLL

changed

  • TV browse shows scripted series and miniseries with real audiences instead of talk shows and zero-vote uploadsfbcb891 · #7 · AmrMsCLL
  • Searches are cached longer and a busy source answers at once with a try-again message3b97f55 · AmrMsCLL

fixed

  • Backup uploads no longer run the server out of memory3b97f55 · AmrMsCLL
  • Private ratings stay off public profilesa6fd79a · #10 · AmrMsCLL
  • Digests survive sender outages and crashes without losing or repeating releasesa6fd79a · #10 · AmrMsCLL
  • Imports no longer overwrite shared catalogue titles, and saved titles are refreshed from their source weeklya6fd79a · #10 · AmrMsCLL
  • Progress can go past a title's stored totalsa6fd79a · #10 · AmrMsCLL

v1.2.0 — Roles, inbox and phone layout

A system manager now runs the site and appoints administrators, readers get an in-app notification inbox, title pages gain cast, crew and trailers, and the whole app is designed for phones.

breaking

  • The admin:grant command is replaced by system-manager:grant, and the system manager appoints administrators from the admin pagee2cd9a2 · AmrMsCLL

added

  • The system manager can turn adult content off for everyonec019b99 · AmrMsCLL
  • An in-app notification center with a bell and pop-ups for new releasesf461865 · AmrMsCLL
  • Readers can hide single library entries from their profile1e6f50d · AmrMsCLL
  • Title pages show cast and crew for every category and link trailers94d3279 · AmrMsCLL
  • Pasting a source link into any search opens that title173c8c5 · AmrMsCLL

changed

  • The app is designed for phones, with a bottom tab bar, account menu, bottom-sheet dialogs and collapsible filters23e1fce · AmrMsCLL
  • Settings live under the reader's own profile, and old settings links redirect there68f8512 · AmrMsCLL
  • Release notifications are offered only for titles still coming out6a5b842 · AmrMsCLL
  • Discover search sits beside the heading and the year is picked from a list16ec734 · AmrMsCLL
  • Forms and confirmations use in-app messages and dialogs instead of browser prompts1e56937 · AmrMsCLL
  • Source credits and source links move into the page footerb19b977 · AmrMsCLL
  • Skeletons appear wherever content is still loading, with custom scrollbars and smoother motion09a14ff · AmrMsCLL

v1.1.0 — Adult content controls and loading states

Readers decide whether adult titles appear and whether their artwork is blurred, search spans every category at once, and the app shows skeletons, outage and not-found pages instead of bare loading text.

added

  • Readers can opt into adult content behind a confirmation, with adult artwork blurred by default81a0691 · AmrMsCLL
  • Home search shows results for every category on one page81a0691 · AmrMsCLL
  • Loading skeletons, a not-found page and an outage page that reloads once the server is backd34af2f · AmrMsCLL
  • The administrator can see private profiles and reviews, marked as private6a6e549 · AmrMsCLL

changed

  • Adult filtering is enforced by each source on the server, and result counts appear only when exact0c84771 · AmrMsCLL
  • Game search ranks results by title match and popularity0c84771 · AmrMsCLL

fixed

  • MangaDex covers load in production instead of a placeholderf5dba31 · AmrMsCLL
  • The Discover genre filter stays in place while it loads, and empty filtered pages explain whye50e6c7 · AmrMsCLL

v1.0.0 — Live with email and release digests

Graphite Tracker goes live in production, deployed automatically to Coolify from main. Account email arrives for real, and readers get daily or weekly digests of new episodes, chapters and releases for the titles they follow.

added

  • Every push to main publishes the image and deploys the tracker to production on Coolifyf7344ea · AmrMsCLL
  • Verification, password reset and email change links are delivered by emaile3f0206 · AmrMsCLL
  • Account settings cover email, password, time zone, a data export and account deletione3f0206 · AmrMsCLL
  • New episodes, chapters and releases of followed titles are detected and sent as daily or weekly email digests42dd341 · AmrMsCLL
  • Notification settings, a one-click unsubscribe page and an admin list of rejected digests14b98d7 · AmrMsCLL
  • Operators can switch any source off with DISABLED_SOURCESaab3abe · AmrMsCLL

changed

  • Title pages link every attached source, and library entries follow title, category and global source preferencesaab3abe · AmrMsCLL
  • Import previews list titles already in the library as conflictsaab3abe · AmrMsCLL

fixed

  • Adult titles stay out of IGDB and RAWG lists and every source's title detailsaab3abe · AmrMsCLL
  • One refused address no longer stops digests for other readersb4f1f39 · AmrMsCLL

v0.3.0 — Imports, reviews and profiles

Readers can bring their Mihon and AniYomi libraries across, rate and review what they finish, and share a public profile, while connectors and the redesigned poster-card interface are hardened for real traffic.

security

  • Sign-in, registration and catalogue reads are rate limited, and a replayed refresh token signs its user out everywhereca787ca · AmrMsCLL

added

  • Readers can import Mihon and AniYomi backups and review every match before it is applied3d4c465 · AmrMsCLL
  • Readers can rate and review completed or dropped titles, with spoiler warnings and private reviewsa5dbd3f · AmrMsCLL
  • Public profiles show statistics, activity, library, ratings and reviews, each with its own privacy setting13ee7ad · AmrMsCLL
  • The administrator can resolve reports, hide or restore reviews and deactivate readersa5dbd3f · AmrMsCLL
  • Privacy, terms and credits pages13ee7ad · AmrMsCLL

changed

  • Discover, home rows, games and the library share one poster card, with filters on every Discover section and a paginated library80ea487 · AmrMsCLL
  • One library editor handles lists, progress, platforms, preferred source and notifications everywhere80ea487 · AmrMsCLL
  • Source connectors share timeouts, retries, a circuit breaker, a response size cap and a host allowlistca787ca · AmrMsCLL
  • The server image applies database migrations on start3655fe6 · AmrMsCLL

fixed

  • An import can no longer be applied twice, and oversized backup text is dropped instead of stalling the serverfc6928e · AmrMsCLL
  • Rejected upstream requests no longer make a source unavailable for everyonee9a7be5 · AmrMsCLL
  • A failed scheduled session renewal no longer signs the reader outc784c54 · AmrMsCLL
  • Faint text meets WCAG AA contrast and phone layouts are tightera5967cb · AmrMsCLL

v0.2.0 — Games, home rows and catalogue polish

Games get their own tracking page with RAWG as an alternative source, the home page fills with recent titles, and a large round of fixes makes catalogue data, sessions and the library behave reliably.

added

  • RAWG can be used as the game catalogue instead of IGDB22ccf1e · AmrMsCLL
  • A games page lets signed-in readers search games and manage the games they trackdb8c902 · AmrMsCLL
  • The home page shows rows of recent titles for each category05829ba · AmrMsCLL
  • Adding a title asks which list it goes into90c32f9 · AmrMsCLL
  • Title pages list alternate titles, and pasting a TMDB or MangaDex link opens the recognised title623fc8f · AmrMsCLL

changed

  • Discover filters offer status and sort options that match the category03ca963 · AmrMsCLL
  • Library progress fields follow what each title can track, and game notifications need a platformcbb575a · AmrMsCLL
  • Source credits link to the source, and sources the server has not configured cannot be enabledd115836 · AmrMsCLL
  • The app matches the graphite-hub theme and tab icon01c8d37 · AmrMsCLL
  • Concurrent requests for the same source data share one load and requests to each source are queued0a027b0 · AmrMsCLL

fixed

  • Sessions renew before the access token expires, sign-out works after expiry and pages stay loaded during renewal2c0c167 · AmrMsCLL
  • IGDB year filters, paging, status and release dates are correctfef3d57 · AmrMsCLL
  • TMDB TV genres and anime paging are correct, and Korean titles no longer appear in MangaDex manga lists67c1fdc · AmrMsCLL
  • The server fails fast when Redis is unreachable and closes its connections on shutdown7db2b49 · AmrMsCLL
  • Production Compose refuses to start without its required secrets and passes the game source settings34c1b58 · AmrMsCLL

v0.1.0 — Catalogue and library

The first working tracker. Readers can create an account, discover movies, TV, anime, manga, manhwa and games from TMDB, MangaDex and IGDB, and keep them in a personal library with their progress.

added

  • Readers can register, verify their account and sign in1eb038b · AmrMsCLL
  • Discover shows recent and popular movies from TMDB, with search1eb038b · AmrMsCLL
  • A personal library keeps each title in a list such as planned, in progress or completed1eb038b · AmrMsCLL
  • TV and anime from TMDB, manga and manhwa from MangaDex and games from IGDB join the catalogue1f6244f · AmrMsCLL
  • Title pages show the details of any catalogue entry1f6244f · AmrMsCLL
  • The library tracks progress such as episodes and chapters for each title1f6244f · AmrMsCLL
  • Readers choose which source each category uses from a sources settings page1f6244f · AmrMsCLL