Activity

Simon

Huge progress on better-links

This batch of changes was mostly about cleaning up technical debt and making the links system way more predictable going forward. A lot of the previous logic had grown pretty messy (especially around icons and legacy data), so this refactor focuses on simplifying data flow and making things easier to extend later.


Highlights

  • Extracted legacy migration logic
    Moved all legacy data migration into its own module instead of keeping it mixed into runtime logic. This makes the main code cleaner and isolates all the “old format → new format” handling in one place.
    (c8ed832e)

  • Simplified custom image handling
    Switched from more complex handling to just using direct URLs for custom images. This was actually kinda a bug/mistake on my part (lol), but it becomes almost obsolete after this next commit. ⬇️
    (b5a2aa2)

  • Introduced IconConfig type!!!!!!!
    Replaced the old string-based icon field with a proper typed IconConfig. This is a big win for clarity and future features, icons are now structured data instead of a bunch of random strings in the data. It was such a big mess before, it’s almost incomprehensible. I’ve been wondering how to apporach this issue for a while, and thank goodness I finally figured it out.
    (aadcc55)


Overall, this sets a much cleaner foundation for better-links. The system is now more modular, easier to reason about, and better prepared for future features without piling on more hacks. Its definitely NOT perfect yet and still needs a LOT of refinement.

Attachment
0
Simon

Workflow improvements

I addded a new workflow that makes managing GitHub issues way easier. When an issue is resolved, I’m always hesitent to close it because the user might think that the fix has been released to the stores already when it hasn’t. This new workflow automatically closes issues and adds a comment to them explaining the issues has been fixed but not released yet. This happens when I markan issue as “fixed-not-released” in the issue labels.


Closing more GH issues

I fixed a few more issues and closed them. These were relatively simple fixes. One of them had been around for a while. First of all, the transform origin of widgets was always the center of the screen, so they overflowed off the screen when scaled while being positioned at the edges. I also redid the way that the controls for backgrounds are positioned to add better ellipsis for long titles and to make the controls actually centered. (can you believe they weren’t centered before? I can’t…). This was all because of the centre position option I added for the settings icon, which is pretty self explanatory.


Commits:

  • feat(dashboard): add transform origin based on widget position (017ecf5)
  • ci(workflows): add auto-close workflow for fixed-not-released issues (c940b83)
  • fix(workflows): improve fixed-not-released close message clarity (98540aa)
  • feat(ui): add centre position options for settings icon (2396d2f)
Attachment
Attachment
0
Simon

Github Issue Forms

I spent WAY too changing our simple markdown issue tempaltes for full github issues forms. This means that the user fills out a form that creates the issue for them. Not super important, but it means that the template is followed more closely now. One major issue is that apparently the wors TablissNG Version are not allowed and I have to use Extension Version instead. Its literally says “Body[3]: label contains forbidden word”


Sort order option

On the request of a user, I added a sort order option for background rotation. Right now it is only used in the media widget where before its modernization the sort order was random, but now its in sequence by defaut which is very bad Luckily this was a relatively easy fix.


Commits:

  • feat(backgrounds): add sort order option for background rotation (125e44d)
  • feat: Github Issue Forms (af5b0eb)
  • chore: remove old templates (07b2700)
  • Rename issue templates and add config (47e4520)
  • chore: remove colon from bug report title (d215ede)
  • fix: change wording so github stops annoying me (fef2540)
Attachment
Attachment
0
Simon

Some ci changes

Released version 1.6.6, and to along with this I had the renew my microsft partner api key AGAIN. I really wish they didn’t expire very three months.
I also automated the update for the extension manifests so that there is only one source of truth for versions instead of 3+. Ci was bumbed from node 22 -> node 24 (for almost no reason). Soon I will switch to pnpm (cause its infinitely better than npm.)


Nice loader fixes

This has been a bug for WAY too long, but basically I had broken the loading icon/loader thing so basically the “loading new content” icon never disappeared. I fixed that and also changed the hide srttings icon to hide settings toolbar and made it properly hide everything isntead of leaving floating icons.


Commits:

  • build: automate version injection into manifest files via webpack (7d35e3d)
  • chore: release v1.6.6 (c56cec3)
  • ci: node 24, webpack cache, parallelise tests (89dedd9)
  • feat(ui): change hide settings icon to toolbar and fix loader race conditions (f10f1e8)
Attachment
0
Simon

Shipped this project!

Hours: 0.69
Cookies: 🍪 14
Multiplier: 17.75 cookies/hr

Reship of flavortui so that I can receive credit for the lock-in sidequest. Too bad I didn’t do this the first time :( Completely useless ship too cause I don’t have over an hour.


The only thing that has really changed since the last ship is that now the image rendering is significantly faster and more performant!

Simon

IMAGE RENDERING PERF IMPROVED!!!


I finally fixed most of the performance issues and not on your first scroll everything is nice and smooth! I also added more photos to the readme and of course releaseda new version.


If you want to pip install flavourtui instead of flavortui, then now you can! A simple shim package was added so you can do that. If you are doing this I also recommend changing the setting for the banner as well.


Commits:

  • chore: release 1.0.2 (a8de09b)
  • feat: add flavourtui shim package (e6ba4e4)
  • chore: more photos! (4bad7a1)
  • fix (ef8f509)
  • chore: release 1.0.2.1 (b362976)
  • perf(image): preload and resize images for performance (MASSIVE IMPROVEMENTS) (9400bdf)
  • chore: release 1.0.3 (de02b03)
Attachment
0
Simon

Shipped this project!

Hours: 126.84
Cookies: 🍪 1820
Multiplier: 27.43 cookies/hr

[1.6.6] - 4/4/2026 | LeetCode widget, APOD improvements, and bugfixes

Adds a new LeetCode calendar widget, APOD video support and cache improvements, a backgrounds controls visibility toggle, configurable quote refresh timeout, and a critical quick link upload bugfix. Also includes translation updates and A LOT OF INTERNAL REFACTORS.

Added

  • feat(leetcode): add Leetcode calendar widget (#121). a9e6eed3

  • feat(apod): add video support and background handling. 62d202f5

  • feat(apod): add cache freshness check for data retrieval. dbf0f0ef

  • feat(backgrounds): add controls visibility toggle setting. 1d00b432

  • feat(quote): add configurable timeout for quote refresh. cfebaf2e

Changed

  • feat(cache): change image caching strategy to NetworkFirst. cfacda40

  • style: add inline-flex display to summary and link elements to correctly center them vertically. 21fcf026

Fixed

  • fix: critical issue with quick link upload bug. fdefc435

Translations

  • Update Spanish and Catalan translations (#120). ce357784

  • Update fr.json (#131). 9ec671e1

Internal

  • refactor(tsconfig): modernization updates and cool stuff. f5a7e3f2

  • refactor(plugins): consolidate unknown widget configuration and remove unused exports. 62cf0a07

  • chore: react-codemod auto fix react imports. cf362ef2

  • fix(hooks): fix lint by handling nullish callback in useKeyPress hook. d26742f3

  • fix(ts): clean up unused variables and improve checkbox handlers. fb776682

  • fix: eslint trello auth lint error. 56150650

  • deps go brrrrrrrr. ef9824aa

  • chore(deps): yay more dep updates. 638fb288

  • chore: pin serialize-javascript to ^7.0.4. 175a5fcc

  • feat(docs): add google site verification metadata. 57cf7578

  • refactor: convert React namespace imports to named imports across codebase. a9921099

  • style: sort imports across codebase. 4835fd8b

  • chore: docs deps override again. e0a1162d

Closed Issues

  • #124 [BUG] Only one URL user icon can be assigned, user icons on other URLs dissapearing
  • #123 [FEATURE] Hide background switching buttons
  • #119 [BUG] Bad caching behavior by service worker
  • #115 [BUG] IP Info widget seems to be broken
  • #44 [BUG] APOD provider shows a black screen when the daily media is a video

What’s Changed

New Contributors

Full Changelog: https://github.com/BookCatKid/TablissNG/compare/v1.6.5...v1.6.6

Simon

Merged Leetcode calendar

This was a pr from @Sbrjt, and I finally got it merged. Now you can be motivated by double the amount of green squares! Pretty simple implementation, mostly just follows the github calendar widget. The click action has the ability to redirect you to the POTD which is cool!


Fix react imports…

I recently ran a codemod after switching to “jsx-react”, meaning that I don’t have to import react inot every file for jsx to work. The codemod however just replace import React from "react" with import * as React from “react”` which doesn’t really help my situation. I went through almost every single file in the codepsace and painstakingly replace those with named imports which is great.
Also added yet another eslint plugin that lets me easily sort all imports across the codepsace to keep everything organized.


Commits:

  • chore: update changelog (ec21ebc)
  • style: sort imports across codebase (4835fd8)
  • refactor: convert React namespace imports to named imports across codebase (a992109)
  • Leetcode calendar widget (#121) (a9e6eed)
Attachment
0
Simon

Ohhh Quick Links + More translations work

My goal is to start making smaller devlogs now!


Who could have guessed that the quick links widget was broken in even more beatiful ways? Me… Seriously though this widget will have a major refactor soon (already in a draft pr), I just haven’t been able to fully stress test it yet. For now I’m closing an issue which practically made image uploading completely useless 😭. Anytime you changed the cache it would overide the whole cache in its entirety.


Additionaly, translations are now on the final stretch, and will be merged into main very soon! There are some annoying bugs, especially with how the dynamic loading works on first page load though.


Commit:

  • fix: critical issue with quick link upload bug (fdefc43)
Attachment
0
Simon

Random (but important) improvements

These changes are pretty random, and mostly just to close existing issues. There are some unreleased changed included in this time as well!


Docs and Deps (lol)

I added Google site verification metadata to the docs, which means that now I can have the url to the docs linked on the chrome web store. I also updated deps way too much, and spent way too long on them because of some stupid npm packages refusing to updating their own deps.


Localization

Spanish and Catalan translations were updated, and French translations also got a refresh. In addition to this, I spent multiple hours modernizing the translations mangement system on another branch, which has been a very “fun” undertaking. The old package we were using hadn’t been updated in yeeeeeaaars, so now I’m using the formatjs cli along with a ton of custom workflow scripts.


APOD improvements

APOD got two solid upgrades: video support with better background handling, plus a cache freshness check so data retrieval stays more reliable.


Caching and settings

Image caching now uses a NetworkFirst strategy (closing an issue where cache-control headers were not respected), and you can now hide the controls on backgrounds as well and the “title”


Quotes

Quote refreshes now support a configurable timeout, giving a bit more control over how long the app waits before trying again. (again this was a github issue)


Refactors and cleanup

This is really cool/important

I modernized all of the configs, especially to tsconfig and eslint configs so that I have the most up to date and efficient workflows, React import codemods were applied, unused variables were cleaned up, checkbox handlers were improved, and unknown widget configuration was consolidated with unused exports removed.


UI polish

Summary and link elements now use inline-flex so they center vertically the way they should, which tightens up a bunch of little alignment issues.


Commits:

Commits are incldued in the comment becuase I reached to character limit 😭

Attachment
Attachment
1

Comments

Simon
Simon 11 days ago

Commits:

  • feat(docs): add google site verification metadata (57cf757)
  • chore: docs deps overide again (e0a1162)
  • Update Spanish and Catalan translations (#120) (ce35778)
  • feat(apod): add video support and background handling (62d202f)
  • feat(apod): add cache freshness check for data retrieval (dbf0f0e)
  • feat(cache): change image caching strategy to NetworkFirst (cfacda4)
  • chore(deps): yay more dep updates (638fb28)
  • refactor(tsconfig): modernization updates and cool stuff (f5a7e3f)
  • chore: react-codemod auto fix react imports (cf362ef)
  • fix(hooks): fix lint by handling nullish callback in useKeyPress hook (d26742f)
  • fix(ts): clean up unused variables and improve checkbox handlers (fb77668)
  • feat(backgrounds): add controls visibility toggle setting (1d00b43)
  • style: add inline-flex display to summary and link elements to correctly center them vertically (21fcf02)
  • feat(quote): add configurable timeout for quote refresh (cfebaf2)
  • refactor(plugins): consolidate unknown widget configuration and remove unused exports (62cf0a0)
  • Update fr.json (#131) (9ec671e)
Simon

Shipped this project!

Hours: 32.62
Cookies: 🍪 971
Multiplier: 29.76 cookies/hr

FlavorTUI

What is it?

FlavorTUI is a terminal UI for Flavortown. It’s a full interface that runs in the terminal and lets you browse projects, devlogs, users, shop items, and settings. It works with a mouse but full keyboard control is also fully supported (a lot of time went into that).

Problems

The main problem was making it not fall apart depending on the terminal. Mostly the problem was images, which most terminal have bad support for that makes the app super laggy, so a lot of work went into making it actually usable. Its still not perfect, but there are settings that can allow it to work better on different terminals. I still suggest using one of the recommended terminals though.

How I built it

It is built using the python textual library, which provides (imo) a great terminal UI experience. The TUI is of course written in Python 🥰. This is my first time creating a TUI so I hope its good :)

Your API key is stored “securely” using the keyring library, so you don’t have to worry about it being exposed in your terminal history or config files.

The app is built around a central API client with caching so it doesn’t spam requests or freeze the UI. I added parallel fetching with thread pools so loading multiple sections doesn’t block everything at once.

It actually works fuly offline if you have already visited the pages before, the caching is very robust. It is also customizable in the settings section. Speaking of settings, you can changes caching, image rendering mode, the banner (Flavortown vs Flavourtown lol), manage your api key, and view the cache/config directories.

Result

It’s a working terminal client for Flavortown that feels responsive, supports offline caching, and doesn’t require a mouse to use. I am very proud of this, especially since its my first time doing anything at all like this!

Simon

LOTS of UI upgrades, performance improvements, and README upgrades


I added support for AI declaration display, link buttons for project URLs, and banner mode selection (yes, you can now set it to say “Flavourtown” lol). I also expanded keyboard navigation a lot, making the app much more usable without a mouse and generally more accessible.


On the performance side, I improved responsiveness by using parallel fetching and thread pools, especially when loading multiple resources. I also fixed issues with offline mode revalidation and image loading order that were causing inconsistent or broken UI states.


The README now supports a demo video, an image grid showing the app, and a table of contents, making it way easier to understand and preview the project at a glance.


Finally, there are multiple bug fixes and refactors across the codebase, including a fix for a settings crash, Python 3.10 time calculation issues.They added more to the api: achievements and a simple endpoint to get a user’s projects. This is SO AMAZING. Thank you so much devs ❤️. So yeah, more features + faster loading.


Commits:

  • Because of the stupid word count limit I couldn’t directly attach the commits. Hopefully I can put them in the comments!
Attachment
Attachment
Attachment
Attachment
1

Comments

Simon
Simon 12 days ago

Commits:

  • feat: add AI declaration display and fix settings crash (6eb78a4)
  • feat(ui): add link buttons for project URLs (6238df8)
  • style(ui): update border styles and reorganize TODO (daae479)
  • feat(ui): add comprehensive keyboard navigation support (8018ef2)
  • fix deceptive README (f52be8e)
  • perf: improve performance with parallel fetching and thread pools (e1c656e)
  • fix: offline mode revalidation (527cab6)
  • feat(ui): add banner mode selection (08b3f54)
  • chore: add video and imge tests (incomplete) (adab744)
  • feat: more images! (and video) (452b26d)
  • feat(readme): embed video, images grid, table of contents (caa7667)
  • fix video embed (369f257)
  • fix: time calculation on python 3.10 (a1c8f4f)
  • fix: none image on explore, readme (c7ee534)
  • fix: switch back to tall borders :((((((( (d8baab3)
  • fix: image load order in shop (360e3e2)
  • feat: add performnace section to README (ef8d325)
  • refactor(api): use single endpoint for user’s projects!!! 🎉🎉 (afa1367)
Simon

PyPI packaging + lint cleanup + storage path fixes (v1.0.1)

pypi.org/project/flavortui!!!


This was a big maintenance and release push. I started by cleaning up linting with Ruff + Pylint and fixing a lot of noisy/real issues so the codebase is much more stable to work in. Most of this was completely unecessary, but I guess my pylint score is higher, so me happy :)


The biggest structural change was refactoring the project for proper PyPI distribution with Hatch. All of the code is now inside src/flavortui and I have the pyproject.toml, etc. The PyPi release can be found here: pypi.org/project/flavortui!!!


I also fixed an user experience issue: API/image cache storage is now in platform-appropriate user cache directories via platformdirs instead of relative local paths. That means running the command from different directories no longer creates fragmented .cache folders everywhere. There are also now buttons in settings to open the cache/config dirs for easy locating.


Commits:

  • chore: ruff check (54aeb1c)
  • chore: fix a ton of pylint errors (b33392d)
  • refactor: restructure project for PyPI distribution using hatch (81ebef1)
  • refactor(api): use platformdirs for cache directory (29e336f)
  • feat(ui): add storage directory buttons and update docs (02f9485)
  • chore: release 1.0.1 (a9e7328)
Attachment
Attachment
0
Simon

Explore page + user modal + smarter image loading!

I really need to devlog more often (2nd time bruh)
Pictures are included of everything added/changed for your convenience 👍


I finally implemented the Explore page!!! You can do everything you would like: view projects, devlogs, users, along with search through them and view all of the details you could ever want. As usual everything is very fast which is great, so yay. Instead of displaying every single project/user/devlog (there are 100s or something I think) all at once, there is a lod more button which pretty much instantly loads in the next set so that inital loading is faster.


Thee biggest improvement is that now you don’t need to wait for all images to cache before viewing a page, they now progressively load in. This makes navigating so much faster and better, especially on the projects/users pages which have a lot of images, and frequently new ones.


Commits:

  • feat: add lazy image placeholders and progressive loading (c439fa8)
  • feat(ui): add explore section with projects, devlogs, and users tabs (564a926)
  • feat(explore): add user detail modal with stats and projects (dfeb4d8)
  • refactor: improve parameter handling and list operations (1077774)
Attachment
Attachment
Attachment
Attachment
Attachment
0
Simon

Projects page, Settings (caching, image rendering)!

I really need to devlog more often
Pictures are included of everything added/changed for your convenience 👍


First and foremost, I added the projects page, so now you can see you projects and view devlogs, comments, etc. You cannot edit anything yet (coming soon tm) A lot of internal changes were made here to accomodate all of this. For example, the Api key buttons were added to the api key component to make it more modular.
You can also use the app offline now, it will use the cached data and still work great!


You can now change settings in the app 🎉 🎉 Currently there are three options: API key editing, image rendering modes, and caching modes. A new caching mdoe is also introduced (SWR) which allows quick loading, but also very up to date data on n+1 requests. It is selected as the default option. You can also change how images are rendered, or completely disabled them, which helps a lot with performance on soe terminals. The settings haver clear description on what each option does to clear up confusion.


One of the largest improvements internally is that now I have a custom ModalScreen wrapper that lets me just easily create a PopupModal without the boilerbate!


Commits:
COMMITS HAVE BEEN REMOVED BECAUSE OF THE STUPID WORD COUNT LIMIT. Please see the github for all commits. :)

Attachment
Attachment
Attachment
Attachment
Attachment
0
Simon

Shop and More!


I added the full shop functionality with basically everything on the api! You can see a list of images, sort by region and price (or name), and even reverse sort. You can click on each item to open an “overlay” that contains more extended details about the item. To purchase it you can click the open on web button, the api does not have purchasing capabilities.


I do need to add better beyboard support, and optimize performance, but its look pretty great for now 🎉
I also added a README, and the x-flavortown-ext header. I just remembered that I need to add setting for what kind of image rendering to use, because they can get laggy.


Commits

  • feat: readme, reqs, screenshots (bad) (0eab889)
  • feat(settings): add settings view with sidebar integration (ae57338)
  • fix: images on one line (85b9144)
  • feat: consolidate API functions and homepage -> kitchen (0fa72dd)
  • initial (very) unfinished shop menu (e68cb91)
  • feat: massive shop perf improvements (df856b2)
  • feat: sale support and better ShopCard args (9baf5f7)
  • feat: regional pricing in shop (ac13615)
  • chore: add x-flavortown-ext header (8a0445d)
  • feat(shop): ShopItem mostly finished and other improvements (3cfb1b3)
  • feat: shop long description and reverse sort (3acb7db)
Attachment
Attachment
Attachment
Attachment
0
Simon

Better API Client with rate limits


Refactored the networking code in FlavortownTUI to use a single APIClient class.

  • Rate limits for each endpoint are included (half of the time would be actually)
  • So if we are within a certain time the cached data is used
  • Cached data is stored in .cache folder
  • Doesn’t really have status code or error handling yet, but maybe later
  • Use the same client globally instead of creating many new ones.

Picture shows that it still works 🥰


Commits:

  • refactor(api): refactor API client implementation with new client class (940989b)
Attachment
0
Simon

Working Sidebar


Made the sidebar actually have stuff on it and lead to different pages. (blank pages for now). Also some miscellaneous cleanup I guess


Commits:

  • feat(sidebar): implement navigation buttons and views (b7bc914)
Attachment
Attachment
0
Simon

FlavorTUI Started!


Just started this project and for now all we have is api key input, and a homepage that displays some info about you! Attached a cool video showing off what we have so far :) (ps. I forgot to put the sidebar in it, but yeah that’s there with no functionality)


  • Basic api key saving (thats literally it) (fc54acf)
  • feat: homepage (basic) and api key checking (069ad68)
  • feat: add sidebar (blank/placeholder) (2cada67)
  • feat: better (still kinda bad) homepage (27bf915)
0
Simon

Was sick af and couldn’t work on this for a while :(


Yeah so this is just some dep updates and fixing and whatever, nothing important really.

I did have problems with google’s workbox-build having the most outdated deps ever, and so to resolve to npm audit errors I had to override the version of one of its packages, but whatever. (go google amiright)


Commits:

  • chore(release): bump version to 1.6.5 and update changelog (0147474)
  • chore: signed firefox nightly build (17aa731)
  • deps go brrrrrrrr (ef9824a)
  • chore: pin serialize-javascript to ^7.0.4 (175a5fc)
  • fix: eslint trello auth lint error (5615065)
Attachment
Attachment
0
Simon

Built like most of it

Ummmmm oops. I guess i made like a large part of this thing without devlogging first.

Features

  • Visit tracking — see which sites you visit most and when
  • Site insights — detect frameworks (React, Vue, Angular, Svelte), CSS libraries (Tailwind, Bootstrap), and CMS platforms (WordPress, Shopify, Webflow)
  • DOM analysis — scans page structure to show which HTML tags are used most, how deeply nested the DOM is, and gives each site a complexity score based on node count, script count, and depth
  • Image format breakdown — see what image formats sites are using
  • Privacy controls — ignore specific domains, auto-exclude sensitive sites (banking, auth pages), and set data retention periods
  • Export/import — back up and restore your data as JSON
Attachment
1

Comments

Nirvana
Nirvana about 2 months ago

its awesome

Simon

Shipped this project!

Hours: 15.79
Cookies: 🍪 208
Multiplier: 13.16 cookies/hr

[1.6.5] - 2/20/2026 | Error logging, new widgets, and quality-of-life improvements

A solid release featuring a comprehensive error logging system, a new random color palette widget, drag-and-drop todo reordering, weather auto-update, and several UI improvements and fixes.

Added

  • feat: improve error logging and user feedback with comprehensive error log management, global error capture, and sharing functionality. 41d25f9a

  • feat(palette): add random color palette widget. 82fb9df6

  • feat(todo): add drag-and-drop reordering for todo items. f19e15e1

  • feat(weather): add auto-update location feature. 52476cfa

  • feat(search): add special URL handling. 5e14bcda

  • feat: add scroll-to-top button in Settings panel. 3fd010e3

  • feat(github): add tooltips to calendar widget. f70eeb1b

Changed

  • feat(ip-info): more robust fallbacking and parsing. 70d071da

  • Updated ES & IT files (#114). 762e4f48

  • Update Vietnamese (vi) translation (#110). 9d6cb68e

Fixed

  • fix: less gimmicky scroll to top button. decec927

  • fix(search): missing/broken translation. f54a423a

  • fix: remove whole background on chromium dev. fb9dbb52

Chore / Cleanup

  • chore: run translations. bed18d2e

  • ci: update actions to latest versions in workflows. 3add9da4

Closed Issues

  • #107 [FEATURE] font size slider?
  • #106 [FEATURE] accent colour?
  • #105 [FEATURE] distinguish “Display ..” checkboxes by indenting related sub options
  • #104 [FEATURE] make Custom CSS snippet textarea be taller by default?
  • #101 Docs are live! 🎉
  • #70 [FEATURE] Widget Placement Improvements
  • #57 Created bookmarks manager widget
  • #28 [FEATURE] Momentum Tab Inspiration

What’s Changed (PRs)

New Contributors

Full Changelog: https://github.com/BookCatKid/TablissNG/compare/v1.6.4...v1.6.5

Simon

Easy error log sharing!


Added much more error handling to the error menu. This makes it capture more errors (such as widget crashes), but also adds a button that copies the error log plus a stack trace (mostly useless, but sort of places it kinda).
Also fixed a bunch of translations that weren’t included because intl.formatMessage was defined inline :(.


Commits:

  • fix: less gimmicky scroll to top button (decec92)
  • feat: improve error logging and user feedback (41d25f9)
  • chore: run translations (bed18d2)
Attachment
0
Simon

Minigames

so that you can distract yourself…. yay…


Added a mingames widget with pong, snake, breakout, wackamole. More can be added later (maybe). Spent way too long on this, but whatever I guess.


main

  • Update Spanish and Italian translations (#114) (762e4f4)
    seperate branch
  • feat(widgets): add minigames widget with four playable games (a6f7e08)
Attachment
Attachment
Attachment
Attachment
0
Simon

Struggling to find easy things to do now … 😭


I added better fallbacks to the ip info widget, they used to be broken and the top api broke.
I added a non-intrusive button to settings to scroll back to the top of the screen.
I added drag and drop re-ordering to the todo widget. This and the previous one are issues opening on the og tabliss repo that I went through and fixed 🎉


Commits:

  • feat(ip-info): more robust fallbacking and parsing (70d071d)
  • feat: add scroll-to-top button in Settings panel (3fd010e)
  • feat(todo): add drag-and-drop reordering for todo items (f19e15e)
0
Simon

Very old (og tabliss) issues closed!

Weather auto-update location, random color palette!


I went through and found two issues from the old tabliss repo that looked fun to work on and implemented them. These were an auto updating location for the weather widget and a very advanced color palette widget. The color palettte widget had already been partly implemented by someone, but I made it much more complete and advanced


Commits:

  • feat(weather): add auto-update location feature (52476cf)
  • feat(palette): add random color palette widget (82fb9df)
0
Simon

Lots of Good Stuff (First Commit)

Wasn’t even sure I’d put this on Flavortown… but here we are.

Highlights

  • Speaker list + navigation UI
  • Improved Now Playing display
  • Album art with JPEG decoding + memory optimizations
  • Progress bar with time display
  • Device discovery (async) + caching
  • Scan button + better status updates
  • Secrets management + improved WiFi handling
  • Migrated buttons to MCP23017 I²C expander
  • Added README
Attachment
0
Simon

Some really small stuff


Fixed a few minor issues and played around with some stuff that never really developed. I tried to get online/hosted translations working, but omg its impossible*. If anyone knows how to do it, help would be very appreciated! I got a pr set up for “bettter links” and “profiles” finally too.


  • Update Vietnamese (vi) translation (#110) (9d6cb68)
  • fix: remove whole background on chromium dev (fb9dbb5)
  • feat(search): add special URL handling (5e14bcd)
  • fix(search): missing/broken translation (f54a423)
0
Simon

Tooltips + CI Updates


Added tooltips to the github calendar widget. This was made MUCH easier because of the addition of built in tooltips in v5! I also updated all of my gh actions worflows deps to the latest version.


Commits:

  • feat: v1.6.4! (1a1f45a)
  • feat(github): add tooltips to calendar widget (f70eeb1)
  • ci: update actions to latest versions in workflows (3add9da)
Attachment
0
Simon

Shipped this project!

Hours: 24.09
Cookies: 🍪 672
Multiplier: 27.91 cookies/hr

[1.6.4] - 2/13/2026 | Theming, search customization, tally counter, and online documentation

A feature-packed release with centralized theming via CSS variables, search widget customization, a new tally counter widget, and full online documentation! Additionally, the since and countdown widgets are now deprecated in favor of TimeTracker, and a lot of development work has been done under the hood to prepare for future updates and make contributions easier.

Added

  • feat(ui): add customizable global accent color. b8ffd6fb

  • feat(time): indent settings and add showHours. e08dcb35

  • feat: add tally counter widget. 5a79bf13

  • feat(search): add custom width settings. cb8aa009

  • feat(search): add style customization to search widget. 48b0706e

  • feat(docs): add full online documentation! (#98). b4570ef7

Changed

  • refactor: implement centralized CSS variables for theming (#109). d170e10f

  • change: expand the default rows for custom css/js/html widgets. e289d4ea

  • feat: add deprecation warning to since and countdown widgets. a52d6e65

  • Updated ES & IT files (#108). c2c80b6b

Fixed

  • fix: visible instead of auto (oops…). 62e87b4d

Chore / Cleanup

  • chore: improve lint-staged configuration. 1743f601

  • ci: refactor workflows to use reusable templates. 8f81b721

  • build: remove service worker from manifest in dev. 41e6e6e2

  • chore: migrate some project styles from CSS to SASS. 4fa02de2

  • chore: deps. e3269c8f

Simon

Accent color + merge css


I merged (and updated) the css changes from thee previous devlog, but mainly I added accent color! Accent colors is something that was implemented on Tab-nine (another Tabliss fork that was also stopped). A recent “switcher” asked me to implement it so here we are!


The way that this works is that there is now an accent color settings in the global settings page. When changed, eveything that uses the accent color (previously the talbiss blue color) changes color. In the font settings of a widget, its text color can be set to “use accent color” to (obviously) use the accent color. Handily, I used the same format as Tab-nine so their accent colors are compatible. This was made way easier because of the css overhaul that was previously mentioned.


Commits:

  • refactor: implement centralized CSS variables for theming (#109) (d170e10)
  • feat(ui): add customizable global accent color (b8ffd6f)
Attachment
Attachment
Attachment
0
Simon

CSS Variables Now!

I have refactored the colors and stuff of the extension fully to use css variables and ascially make verything a lot better to use. This was mainly so that I can add the accent color thing in the future.


I KNOW that it seems like this shouldn’t have taken this long, but its actually very somplicated to make everything this much better. I also have to make sure to keep contrast and eveyrthing the same and barely change the ui.


  • refactor: implement centralized CSS variables for theming (c08a026)
  • refactor: replace some obvious colors with variables (cd99921)
  • add some small classes I guess (99e667e)

Comparison is availalb ein the iamges (first is new, second is old)

Attachment
Attachment
0
Simon

Got distracted by other projects for a few days…


Barely any visual changes, but some great dev/workflow changes. Closed a few issues from an invite from tab-nine :)


Commits on main:

  • build: remove service worker from manifest in dev (41e6e6e)
  • ci: refactor workflows to use reusable templates (8f81b72)
  • chore: prettier (2512cec)
  • chore: improve lint-staged configuration (1743f60)
  • change: expand the default rows for custom css/js/html widgets (e289d4e)
  • Updated ES & IT files (#108) (c2c80b6)
  • feat(time): indent settings and add showHours (e08dcb3)
Attachment
0
Simon

Loooooong Time No See…. (oops)

tl;dr: Counter widget, Old css -> Sass, Quick Links rework in progress


I added a tally counter widget which is something that someone requested. Very simple widget honestly. I also converted some of the old css files to sass, for some reason there were a few left. I finally began the massive mgiration of quick links to not suck anymore. They were one of the first things I worked on back when I had no idea what I was doing so yeah… Its gonna be rough.


Commits on better-links:

  • refactor(links): restructure components and migrate icon storage (75562c3)
  • fix: allow aspect ratio changing on svgs (c1953d6)
  • refactor(links): simplify iconify identifier logic (ca36922)
  • refactor(links): move icon migration logic to Links component (23ca5c0)
  • refactor: improve Modal component and IconPicker UI (fc9be3a)

Commits on main:

  • chore: migrate some project styles from CSS to SASS (4fa02de)
  • feat: add tally counter widget (5a79bf1)
Attachment
Attachment
0
Simon

Docs Released + Search Style Options!

I merged the documentation into main, and everything appears to be working, so yay! I added a warning that users should use the TimeTracker widget instead of countdown or since.


Mainly though, I added two new styles of search bar to the search widget and an option to overide its width. This could of course be done with custom css before, but having it built in is a nice touch :)


Commits:

  • feat(docs): add full online documentation! (#98) (b4570ef)
  • chore: deps (e3269c8)
  • feat: add deprecation warning to since and countdown widgets (a52d6e6)
  • feat(search): add style customization to search widget (48b0706)
  • feat(search): add custom width settings (cb8aa00)
Attachment
Attachment
Attachment
Attachment
0
Simon

Shipped this project!

Hours: 15.66
Cookies: 🍪 425
Multiplier: 27.14 cookies/hr

[1.6.3] - 2/5/2026 | Bugfixes and minor improvements

Minor bugfix release with quality of life improvements. Focus on older issues, and a lot of unfinished work :(

Added

  • feat(release): add closed issues summary to release body. d9c56024

  • feat(links): add URL normalization and extension tab option. bd53b7ab

  • feat(media): hide controls with 1 or less images. 8d92f1aa

Fixed

  • fix: translations. 3434f6c0

  • fix(dates): date parsing causing incorrect days. 40d6c942

  • fix(bookmarks): properly set iconSize to 24 by default. 378fdc72

  • fix: don’t include unused service-worker on firefox. 505525ac

  • fix(trello): minor fixes (#97). 4ccd112d

Closed Issues

  • #100 [BUG] Enormous favicons in bookmarks widget
  • #99 [BUG] Secure Connection Failed to certain websites (resolved)
  • #94 [BUG] Unsplash background provider causes “Sorry this plugin has crashed!” error
  • #92 [BUG] When starting Vivaldi browser, the Start Page is empty.
  • #90 [Help Wanted] Firefox does not seem to support service workers in add-ons
  • #89 Add a bookmark folder and let it look like quick links?
  • #86 [FEATURE] Use opentype features with font selection in widgets
  • #81 [BUG] Widgets positioning not accounting for rotation
  • #51 [FEATURE] Background position option
  • #47 [FEATURE] Add cycle buttons for “Upload Image” background option
  • #37 [BUG] Possible google update breaking bookmarks widget
  • #34 Custom widget positioning doesn’t retain relative position
  • #2 Weird date thing

What’s Changed (PRs)

Full Changelog: https://github.com/BookCatKid/TablissNG/compare/v1.6.2...v1.6.3

Simon

Version 1.6.3 Released!

(Minor bugfix release with quality of life improvements.)

Didn’t do much else really. Here is a list of closed issues since the previous list:

Closed Issues

  • #100 [BUG] Enormous favicons in bookmarks widget
  • #99 [BUG] Secure Connection Failed to certain websites (resolved)
  • #94 [BUG] Unsplash background provider causes “Sorry this plugin has crashed!” error
  • #92 [BUG] When starting Vivaldi browser, the Start Page is empty.
  • #90 [Help Wanted] Firefox does not seem to support service workers in add-ons
  • #89 Add a bookmark folder and let it look like quick links?
  • #86 [FEATURE] Use opentype features with font selection in widgets
  • #81 [BUG] Widgets positioning not accounting for rotation
  • #51 [FEATURE] Background position option
  • #47 [FEATURE] Add cycle buttons for “Upload Image” background option
  • #37 [BUG] Possible google update breaking bookmarks widget
  • #34 Custom widget positioning doesn’t retain relative position
  • #2 Weird date thing

As you can see, early issues are being focused on!


Commits:

Attachment
1

Comments

samiyaazad
samiyaazad 2 months ago

It’s so pretty!!

Simon

Wikimedia PAIN

I have been working a lot on closing issues and we are down MANY. However the oldest one is wikimedia commons improvements. Right now we only have POTD, and I want to expand it. This is going well except for the fact that the wikimedia apis are extremely painful and impossible to work with (no hate of course) So yeah, that’s how that’s going… (new release soon though 🎉)


I also added to the release workflow a summary of closed issues which should be cool!


Commits:

  • fix(bookmarks): properly set iconSize to 24 by default (378fdc7)
  • fix(dates): date parsing causing incorrect days (40d6c94)
  • feat(links): add URL normalization and extension tab option (bd53b7a)
  • feat(release): add closed issues summary to release body (d9c5602)
Attachment
Attachment
Attachment
0
Simon

Small fixes


This has been mostly a lot of time spent fixing small things, and even though I haven’t committed anything yet its all in progres… Profiles are in progress too!


I am very committed right now to fixing and closing old/new issues because I am very unhappy with the amount that are currently open. A lot of stuff will be delayed until more of that has been gone through. (possibly including merging docs, cause I don’t want to deal with the potential things that that breaks.)


Commits:

  • fix(bookmarks): properly set iconSize to 24 by default (378fdc7)
  • fix(dates): date parsing causing incorrect days (40d6c94)
Attachment
Attachment
Attachment
0
Simon

Docs are almost finished!

I’ve made some awesome progress on them (I attached some screenshots). I opened on pr (on my own repo) with the changes. Just need a few minor fixes and touchups and they will be good to go! I am so excited omg! There will be more added to them in the future, such as more tips & tricks, etc so yay.
Feel free to check it (and look at the attached screenshots) and let me know what you think!


Mostly simple changes on main

Some closed gh issues and stuff as usual.

  • chore: slight changelog changes (6c47a38)

  • feat(media): hide controls with 1 or less images (8d92f1a)

  • fix(trello): minor fixes (#97) (4ccd112)

  • fix: don’t include unused service-worker on firefox (505525a)

Attachment
Attachment
Attachment
Attachment
Attachment
0
Simon

Shipped this project!

Hours: 33.36
Cookies: 🍪 221
Multiplier: 6.61 cookies/hr

TablissNG: v1.6.1 & v1.6.2 Released!

Highlights

  • Positioning: Switched to react-moveable. Widgets now feature snapping, rotation, and non-broken movement.
  • Background Overhaul: Unified all background logic (BaseBackground) and fully modernized the Giphy widget. Also Improved the info section and added rotation arrows to the Media widget.
  • Custom Favicons: You can now finally modify the tab favicon!
  • Firefox Signed Builds: Automated web-ext signing for easier testing/distribution of nightly/beta builds.
  • Better Bookmarks and Quick Links: Added icon sizing, text hiding, and quick link importing.

What’s Next?

  • New Docs: Building a fresh home for TablissNG using Docusaurus on the new-docs! branch.
Simon

New docs (in progress)

Using docusaurus for this, which I ❤️! See branch new-docs!

Finally merged the better custom positioning

Will be releasing a new update VERY soon, so yay!

Attachment
Attachment
Attachment
0
Simon

Feeling a little burnt out rn unfortunately. I also kinda forgot what i worked on…

Bascially almost finished the custom positioning improvements, and fixed some bugs.
I also did work on a lot of changes that I never ended up committing, so maybe soon.

Sorry for the ugly devlog (and simple image)

I think I will work on docs next. maybe.

Attachment
0
Simon

tldr: Finished BaseBackground improvements/transitioning and modernised/fixed GIPHY widget


BaseBackground took a LOT more work to get done and it had some massive improvements, you can check out the commits on the branch/pr if you want. Also had a little scare where I compeltely broke it, then merged it :). Firefox signed nightly has been updated with these changes, testing them out would be great!


The GIPHY widget has been fully overhauled to be much more like the unsplash widget, as in it has more options and stuff. Basically you can now see trending images and I fixed the randomness that I broke at some point.


Next up is finishing the new custom widget positioning and mergin it. Also try to get more requested changes implemented.

Attachment
Attachment
0
Simon

Got some awesome changes in here!

tldr: firefox nightly auto-siging and fully refactored custom positioning system!


I set up a script that creates a firefox nightly build and then signs in (in unlisted mode) using web-ext. This makes it a lot easier to test on firefox without having to reinstall the extension one every browser restart.


Now for the star of the show:

Completely revamped custom positioning! I am now using a library called react-moveable which allows for a system that first of all does not suck, easier movement, scaling with the borders + rotation with a handle, and SNAPPING. Widgets can now snap to each other or the edges/middles of the screen. The relative positioning also works a little better. This is just in a pr I created right now, but it will be merged very soon.


And of course some miscellaneous improvements/fixes here and there.

Attachment
0
Simon

Got some good work done finally


tldr: BaseBackground and more bookmarks/quick links work


Almost completely finished the BaseBackground unification and opened a pr to see what ai code review thinks I guess. Decided to add it to a lot more than I was originally intending (eveything actually)


Also the person from the previousissue has some request which I promptly implemented: icon sixze for bookmarks, and the ability to hide the text (set max text length to -1). I already had zero for no limit, so I guess -1 is fine


I am somewhat annoyed by the ai code review, but sometimes it is actually quite helpful, so I guess I’ll continue with it.

Attachment
Attachment
0
Simon

I sort of forgot about making devlogs….. but closed two more issues!


I added an option to change the position of the background image (super simple issue that had been open for way too long.


Also closed a new issue from the EndeavourOS forum. which was in hindsight an obvious feature, but took a while to implement. Basically added an option to import bookmarks into quicklinks AND a quick links display mode in bookmarks.


Of course did some of the usual package updates and stuff like that. Also remebered that I can use markdown here so that’s cool!

Attachment
Attachment
0
Simon

Released version 1.6.1!

I ❤️ having to remake my entire actions auto upload stuff every single time 😭

Mostly very small changes, but I fixed workbox caching, and improved settings icon position (and of course ci).

Attachment
Attachment
0
Simon

Finally made it through all of the open prs!

Which means that favicon modification is here, and also finished up the prettier fixes which means that we finally have pretty code everywhere. (lol so many changed lines)

Time to grind through some (old) issues 🫡.

Attachment
Attachment
0
Simon

Shipped this project!

Hours: 22.9
Cookies: 🍪 265
Multiplier: 11.58 cookies/hr

This is my first major project (more like just my first every project), and it’s been incredibly fun to work on. Over the past year, I’ve learned so much that I genuinely feel like a completely different person than when I started.

TablissNG is a fork of Tabliss (an extension I used every day) with the goal of continuing its development and building on what made it great. I’ve already added many new features, and this is only the beginning. I’m really excited to keep improving it and see where it goes next.

Simon

Made a lot of progress on wallhaven backgrounds (not released yet) (for some reason they were really difficult. Resolved two new github issues:
[FEATURE] Use opentype features with font selection in widgets
[FEATURE] Bing Daily Wallpaper

Attachment
0
Simon

Add SOS and Random modes. Home menu redo soon to accomodate what I want better!

Attachment
Attachment
Attachment
0
Simon

Did a lot of things that I don’t really remember, but a large thing is that I’m finally transitioning the backgrounds to use BaseBackground! So far (in the branch using-basebackground) I’ve fixed a lot of issues with it and transitioned both Giphy and Media! It was a pain to migrate the Media widget’s cache, but now it migrates automatically.

Attachment
Attachment
0
Simon

Refactored the engine to be fully data-driven instead of hardcoded. Game modes now auto-register, own their logic and UI, and plug into a much simpler central store. Adding a new mode is mostly just dropping a folder in and wiring its rules. Next up is to add a bunch more gamemodes!

Attachment
0
Simon

Lots of miscellaneous fixes and ui improvements.

Made the gamemodes WAY more data-driven so its easier to add new ones.

Fixed white flash on load

0
Simon

Finished adding the api keys for trello integration, so now it works on the nightly build!

Attachment
0
Simon

Finally merged the trello widget pr. Large changes, and very excited for the next integration plugins! Massive thanks to @John-Ling for their work and putting up with me 😭.

Attachment
1

Comments

Dankey445
Dankey445 3 months ago

lol

Simon

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
1

Comments

Simon
Simon 26 days ago

Test comment!