Tautvydas Derzinskas
7432b2125b
Merge pull request #59 from TautvydasDerzinskas/refactor/update-docs-outdated-comments
...
docs: update docs and outdated comments
2026-10-17 22:31:25 +02:00
Tautvydas Derzinskas
2a1972b4f0
docs: update docs and outdated comments
2026-10-17 22:25:42 +02:00
Tautvydas Derzinskas
01e817498b
Merge pull request #58 from TautvydasDerzinskas/ci/improve-ci-processes
...
ci: improve ci processes
2026-10-17 22:01:30 +02:00
Tautvydas Derzinskas
66938d8ecf
ci: add manual version parameter for docker builds and fix release retry logic
2026-10-17 21:51:08 +02:00
github-actions[bot]
4d99262c9a
chore(frontend): release 1.0.1
...
# [thingport-frontend-v1.0.1](https://github.com/TautvydasDerzinskas/Thingport/compare/thingport-frontend-v1.0.0...thingport-frontend-v1.0.1 ) (2026-10-17)
### Bug Fixes
* make import bar follow same rules as other long wait bars ([8754ab6 ](https://github.com/TautvydasDerzinskas/Thingport/commit/8754ab6b15ba5f51437f7a5f4713efad8efcf17f ))
* rename Thingiverse Access Token to App Token to match what it provides ([cc41076 ](https://github.com/TautvydasDerzinskas/Thingport/commit/cc4107694aa0f35a234099a1fabaa840663cd29e ))
2026-10-17 19:26:11 +00:00
Tautvydas Derzinskas
8754ab6b15
fix: make import bar follow same rules as other long wait bars
2026-10-17 21:00:06 +02:00
Tautvydas Derzinskas
cc4107694a
fix: rename Thingiverse Access Token to App Token to match what it provides
2026-10-17 20:27:58 +02:00
github-actions[bot]
e5c6197962
chore(frontend): release 1.0.0
...
# thingport-frontend-v1.0.0 (2026-10-17)
### Bug Fixes
* 3d preview not centering multi plate models ([ca81dbb ](https://github.com/TautvydasDerzinskas/Thingport/commit/ca81dbbb2b3f4f1d8b8b32049a866894d4c908f7 ))
* 3mf model preview default to proper solid ([46b8687 ](https://github.com/TautvydasDerzinskas/Thingport/commit/46b8687d1d25c7b62307340b28108fe8966fa269 ))
* add missing labels for admin logs ([94ea609 ](https://github.com/TautvydasDerzinskas/Thingport/commit/94ea609e9e8d1a5c8f9b71b7a3806e264855d30e ))
* add website links in few places ([420bb28 ](https://github.com/TautvydasDerzinskas/Thingport/commit/420bb28764847ea943bb7ec3cb64a241410a8c64 ))
* adjust downloads page ([58c773b ](https://github.com/TautvydasDerzinskas/Thingport/commit/58c773b955131af5a4ae8e9c3d9ccc4255f23d8b ))
* **ai:** disable categorization when last model is deleted ([bfc3fa0 ](https://github.com/TautvydasDerzinskas/Thingport/commit/bfc3fa0d72f86eeb508031a2457c9574a4421eca ))
* allow replacing a model's only file in the edit dialog ([fc3f3ef ](https://github.com/TautvydasDerzinskas/Thingport/commit/fc3f3efd48b9e926549773610e9d218780a28f21 ))
* allow slow API requests through nginx and explain proxy errors ([4d4d220 ](https://github.com/TautvydasDerzinskas/Thingport/commit/4d4d2209e69eea1b317af44d06151ee3a452ecbd ))
* correct multi-part 3MF previews and stop risky in-browser fallback ([65236c5 ](https://github.com/TautvydasDerzinskas/Thingport/commit/65236c5803b0624eced5fea069cd9594abeeeade ))
* couple minor UX issues ([840c8a4 ](https://github.com/TautvydasDerzinskas/Thingport/commit/840c8a4a1f4e8fda98d95da6462edcc7d6cefa67 ))
* couple ux improvements ([030b155 ](https://github.com/TautvydasDerzinskas/Thingport/commit/030b1553e170b75c46766ee285dad21f0608e957 ))
* couple UX issues ([2afd1cc ](https://github.com/TautvydasDerzinskas/Thingport/commit/2afd1cc7138ced249732d022dabfeef943ba4d9d ))
* dark theme ([c40639f ](https://github.com/TautvydasDerzinskas/Thingport/commit/c40639fe6ef396d7d83bdaabbef96d29b266db99 ))
* dark theme info box colors ([d4ea294 ](https://github.com/TautvydasDerzinskas/Thingport/commit/d4ea294dd92daa0c454407a84d26c5124c0a1e61 ))
* distinguish Thingiverse rate limits from auth errors and add AI run logging ([c5e5ab4 ](https://github.com/TautvydasDerzinskas/Thingport/commit/c5e5ab460e336e2b4eb071f8928d77b96cc36ea4 ))
* ensure no breaking change for services deployed separately ([18d98fc ](https://github.com/TautvydasDerzinskas/Thingport/commit/18d98fcc1ab493f2ba95df259afb3dcfe8ed2953 ))
* few minor ui issues ([2f2d850 ](https://github.com/TautvydasDerzinskas/Thingport/commit/2f2d85018e655973526ad9e860098f1ee956fa22 ))
* few minor ui issues in dark theme ([91ce40f ](https://github.com/TautvydasDerzinskas/Thingport/commit/91ce40f9ffa47dc5cc073147829c798661c94977 ))
* file labels in 3d preview ([1fa98a8 ](https://github.com/TautvydasDerzinskas/Thingport/commit/1fa98a830ec360e551895ad5373693d12a07c3ab ))
* folder/category switch overridden by late server response ([b5ba52d ](https://github.com/TautvydasDerzinskas/Thingport/commit/b5ba52d8bf0d945d3d5ee663528c5868ea271298 ))
* grid column changes responsive ([6df320f ](https://github.com/TautvydasDerzinskas/Thingport/commit/6df320f106ac6cff83bf271a335130b500d20fce ))
* import issues ([0d1efdb ](https://github.com/TautvydasDerzinskas/Thingport/commit/0d1efdba02149f00ac3d0aca279cbe35e7b1e97e ))
* **import:** stop flagging models that mention robots as a MakerWorld CAPTCHA, and let a manual retry try again ([#18 ](https://github.com/TautvydasDerzinskas/Thingport/issues/18 )) ([d70dcfe ](https://github.com/TautvydasDerzinskas/Thingport/commit/d70dcfeac2c788686728598c6d3c61b9f4cce369 ))
* improve bookmarks ui ([01f8812 ](https://github.com/TautvydasDerzinskas/Thingport/commit/01f8812cef9abf45824038d735eed6d9b2d9f731 ))
* improve model item favorite icon ([25347ba ](https://github.com/TautvydasDerzinskas/Thingport/commit/25347ba224cde6a793ec45679593f95906d18dac ))
* increase size of logos ([0d4b6bc ](https://github.com/TautvydasDerzinskas/Thingport/commit/0d4b6bc085a93800794164cc79fad10876d84811 ))
* make storage template collection and creator tokens reflect real data ([32710f2 ](https://github.com/TautvydasDerzinskas/Thingport/commit/32710f25e7b1011b9dc85bbbb67d403f6381a14a ))
* Makerworld import issues + allowing import different profiles ([303ab91 ](https://github.com/TautvydasDerzinskas/Thingport/commit/303ab918ea9b1f2d6866baf89f11b601364a1a36 ))
* minor adjustments in regards of import redirects and authors ([f187b9f ](https://github.com/TautvydasDerzinskas/Thingport/commit/f187b9f25ec2cadf12ca03430c601ec0077b27bc ))
* minor adjustments to dark theme ([e9ac4f9 ](https://github.com/TautvydasDerzinskas/Thingport/commit/e9ac4f97764fc4dcc5939b7d5db1eb9e3bf3b2b3 ))
* minor fixes along admin ([75de79c ](https://github.com/TautvydasDerzinskas/Thingport/commit/75de79c4bcf6cc30bd79739bc8ff729718088244 ))
* minor fixes in UI ([f93bfc7 ](https://github.com/TautvydasDerzinskas/Thingport/commit/f93bfc7db4de24d07d03d30cfa51d988a87f76da ))
* minor UX improvements for AI ([0b89ad9 ](https://github.com/TautvydasDerzinskas/Thingport/commit/0b89ad962f66c8138803fecd7172fb8edfe737cf ))
* model category reload flickering ([cdd2525 ](https://github.com/TautvydasDerzinskas/Thingport/commit/cdd2525085de0d8bcf846b29160be907d237a8ae ))
* **models:** stop the hidden preview renderer from blocking description clicks ([#13 ](https://github.com/TautvydasDerzinskas/Thingport/issues/13 )) ([7690721 ](https://github.com/TautvydasDerzinskas/Thingport/commit/76907212d475bb9c03604ae5edd1b6b383311d27 )), closes [#12 ](https://github.com/TautvydasDerzinskas/Thingport/issues/12 )
* open in slicer now provides a choice of available files ([f3b3fb7 ](https://github.com/TautvydasDerzinskas/Thingport/commit/f3b3fb78e37314c4e0e01257f1dd76f208be3008 ))
* prevent loading all thumbnails in import modal at once ([06fab0a ](https://github.com/TautvydasDerzinskas/Thingport/commit/06fab0a37ba9354d120f15d76d6cb00eaf207d24 ))
* profile menu chips ([f903abc ](https://github.com/TautvydasDerzinskas/Thingport/commit/f903abcd293b77adce74f0d786b6fa462ff4ef3b ))
* sticky top ([7c411c9 ](https://github.com/TautvydasDerzinskas/Thingport/commit/7c411c9db9bcc0c61661a98667e6364f1bf6ec0b ))
* stl plate preview thumbnails + add them to downloads modal ([56f842e ](https://github.com/TautvydasDerzinskas/Thingport/commit/56f842ed6fdc517d4ce7174faa0d61143d216744 ))
* topbar + model info box stickiness ([f737c04 ](https://github.com/TautvydasDerzinskas/Thingport/commit/f737c0480b609b726e5a0a7f4e1639c13de2286c ))
* various small UI issues ([8ba368e ](https://github.com/TautvydasDerzinskas/Thingport/commit/8ba368e209c7d56e4ee48e5bf042e777f19d5b0a ))
### Features
* **3d-viewer:** improve ui and ux, fix flickering ([eb0b987 ](https://github.com/TautvydasDerzinskas/Thingport/commit/eb0b9876cfd75da3a40545d54cdc15a36cea1efe ))
* ability to link multiple AIs ([56f173a ](https://github.com/TautvydasDerzinskas/Thingport/commit/56f173a20b574014f5a29c6c8bbcc38f71c3dda8 ))
* add ability to enable catpcha ([6a6a87e ](https://github.com/TautvydasDerzinskas/Thingport/commit/6a6a87e38d8a8b65edf137171dfb6ff15dde3976 ))
* add additional 3D preview toggable options ([58e3c72 ](https://github.com/TautvydasDerzinskas/Thingport/commit/58e3c7296e533beefecb5c170ae106221eaf5926 ))
* add admin job to refetch all user descriptions ([0cc27c9 ](https://github.com/TautvydasDerzinskas/Thingport/commit/0cc27c9eb618154c477dac5bd9cb1361eb7d291c ))
* add Anycubic Slicer Next, Elegoo Slicer and Snapmaker Orca slicer options ([9dd3e69 ](https://github.com/TautvydasDerzinskas/Thingport/commit/9dd3e693e09efadb958b7ed31713310aad99f9c8 ))
* add author hover popover preview card ([864ec1c ](https://github.com/TautvydasDerzinskas/Thingport/commit/864ec1cacdcf85a2f49a3ac64054178739ee36c5 ))
* add author linking admin trigger ([2a3434f ](https://github.com/TautvydasDerzinskas/Thingport/commit/2a3434f126a92eb44e4ee633394146e8942f2a9a ))
* add author page ([45b6bac ](https://github.com/TautvydasDerzinskas/Thingport/commit/45b6bac574c69e376f982c18c71f7a3306176cd0 ))
* add browser icons to downloads view ([3716ea3 ](https://github.com/TautvydasDerzinskas/Thingport/commit/3716ea393c45aa9af5a48fa9d5af9afc718a42e9 ))
* add captcha options for changing password and email ([21f91d6 ](https://github.com/TautvydasDerzinskas/Thingport/commit/21f91d62758e894488a18663adecc998f1a207a6 ))
* add category banned and update ui for sorting ([b4e4c2a ](https://github.com/TautvydasDerzinskas/Thingport/commit/b4e4c2aa9b2dffc1067f75fe31fe722cce629c34 ))
* add collections ([b5568d3 ](https://github.com/TautvydasDerzinskas/Thingport/commit/b5568d35e61734f18504ddf697a8a78bf5521da6 ))
* add consume folder support ([e22f579 ](https://github.com/TautvydasDerzinskas/Thingport/commit/e22f57903f3c3f564e92a085eef99c4877127723 ))
* add different logo variations for special occasions ([2dbc920 ](https://github.com/TautvydasDerzinskas/Thingport/commit/2dbc92035ddd53f911aadb0c08d8ff4b2acb8f69 ))
* add first version of search ([83e0beb ](https://github.com/TautvydasDerzinskas/Thingport/commit/83e0bebf45836017c3181b7ded881153b7e84451 ))
* add layout subtitle ([907c342 ](https://github.com/TautvydasDerzinskas/Thingport/commit/907c342bff57327263c8b07dd6d667b7b2c9f7f0 ))
* add model title to details box ([8f1ca1f ](https://github.com/TautvydasDerzinskas/Thingport/commit/8f1ca1fc4a65125df0163b42793d418e5510e64c ))
* add proper auth ([be45bac ](https://github.com/TautvydasDerzinskas/Thingport/commit/be45bacbea7e313253c4cccc0a3dc633ad3b2876 ))
* add react skeleton loading bits ([b15adb0 ](https://github.com/TautvydasDerzinskas/Thingport/commit/b15adb087bcd2df7e6f341029fd687264733582a ))
* add rich text formatting toolbar to model descriptions ([d49d7c9 ](https://github.com/TautvydasDerzinskas/Thingport/commit/d49d7c99196633d85b7ae3d375edd5f45e919829 ))
* add sanitized bambu 3mf open option ([0d8cd62 ](https://github.com/TautvydasDerzinskas/Thingport/commit/0d8cd62fa7837875591cad5bd58bd968bd7862e1 ))
* add setting to customize dashboard model thumbnail appearance ([163d73f ](https://github.com/TautvydasDerzinskas/Thingport/commit/163d73f2a79b6e1a5c3721b996aef7c8310c93bf ))
* add slicer bridge ([96e41e3 ](https://github.com/TautvydasDerzinskas/Thingport/commit/96e41e3b2d516f60e9ca87435aa9622e4309b9e1 ))
* add sorting and ect ([312c6be ](https://github.com/TautvydasDerzinskas/Thingport/commit/312c6be706ec3f49356f71cb933bc78d0d64b71e ))
* add system adaptive theme ([6e7323d ](https://github.com/TautvydasDerzinskas/Thingport/commit/6e7323d78e0d3f9b45c5fdf82be54a0b97155c98 ))
* add tags route ([6990c2f ](https://github.com/TautvydasDerzinskas/Thingport/commit/6990c2ff9f200ebd27c4deaafd47e0c3867b849c ))
* add to collections modals ([1d8443e ](https://github.com/TautvydasDerzinskas/Thingport/commit/1d8443e069a3bce13692f1d64cd071f8c6edf46c ))
* add users activity page ([6533781 ](https://github.com/TautvydasDerzinskas/Thingport/commit/6533781a2141e720e953089a5fd55c2ddc5c4685 ))
* admin menu updates ([77cf0ab ](https://github.com/TautvydasDerzinskas/Thingport/commit/77cf0ab69fcee2a2005a8379aaa8be6776a78a32 ))
* admin panel remake ([2bce5a2 ](https://github.com/TautvydasDerzinskas/Thingport/commit/2bce5a20497e8523f9d73fba83e30c3cb2f1917f ))
* admin sidebar change and system health check view ([#48 ](https://github.com/TautvydasDerzinskas/Thingport/issues/48 )) ([92161f8 ](https://github.com/TautvydasDerzinskas/Thingport/commit/92161f8cf801ea57ac229cf91e07190417e7b216 ))
* administration settings remake + OIDC support ([#49 ](https://github.com/TautvydasDerzinskas/Thingport/issues/49 )) ([9a22386 ](https://github.com/TautvydasDerzinskas/Thingport/commit/9a2238691d8b079adf7bfb4becebc9cf01cb6cad ))
* **admin:** manage user roles and delete users, with an instance owner ([9d41c4d ](https://github.com/TautvydasDerzinskas/Thingport/commit/9d41c4dee3333677b964d2d0baede8ce45d5aa45 ))
* AI features split, categorisation UX updates ([e542cc4 ](https://github.com/TautvydasDerzinskas/Thingport/commit/e542cc4473cb57ad5281b06d15518e10ade8f843 ))
* **ai:** accept the provider base URL with or without /v1 ([29c54ba ](https://github.com/TautvydasDerzinskas/Thingport/commit/29c54bac117077e9ee2dabed068baf6dfb56386b ))
* **AI:** add improved descriptions ([97f17e4 ](https://github.com/TautvydasDerzinskas/Thingport/commit/97f17e4fa35aa03db4ce8ac17b8419100efc333c ))
* allow bookmarking collections ([4f40803 ](https://github.com/TautvydasDerzinskas/Thingport/commit/4f408031b43d97e7040df21ddbbf259bfce65456 ))
* allow disabling registrations + invitation system ([91ffbf5 ](https://github.com/TautvydasDerzinskas/Thingport/commit/91ffbf5441dec0bedde4fd901c1bdca18a2b7267 ))
* allow downloading collection and tag models in bulk ([d3c651c ](https://github.com/TautvydasDerzinskas/Thingport/commit/d3c651c05d2fa0e16f55546189cd5965997fd216 ))
* allow import thingiverse likes & collections ([ac32d03 ](https://github.com/TautvydasDerzinskas/Thingport/commit/ac32d03071d139ec4a8bdaed0017686cd68d700f ))
* allow multiple meta category ids ([8450885 ](https://github.com/TautvydasDerzinskas/Thingport/commit/8450885ea19df6e505c6b3d5c0f3f061c462b09a ))
* allow open in Cura slicer ([e84fbca ](https://github.com/TautvydasDerzinskas/Thingport/commit/e84fbca5f9bfc2040c86cb07ffe421c75bffd212 ))
* allow toggling off author previews per user ([711ece0 ](https://github.com/TautvydasDerzinskas/Thingport/commit/711ece0f62bff1c93f951024f5f98bac582e7dd2 ))
* anable complex model simplification ([7464583 ](https://github.com/TautvydasDerzinskas/Thingport/commit/746458378052fa228465261cceca1a71dea58c34 ))
* **api-tokens:** add per-user API tokens with generation and revocation ([469641d ](https://github.com/TautvydasDerzinskas/Thingport/commit/469641de181b76bf463357548fa314b777ab1f4d ))
* **auth:** add password reset flow ([3a05fae ](https://github.com/TautvydasDerzinskas/Thingport/commit/3a05fae555d3a553196487930f636ade4f9348e8 ))
* author linking and other minor author changes ([589a5f4 ](https://github.com/TautvydasDerzinskas/Thingport/commit/589a5f464abdd675afe1ef8f63fe2ed843823043 ))
* back to top button ([b60fbd8 ](https://github.com/TautvydasDerzinskas/Thingport/commit/b60fbd8092ee421b430235ee994fb73259a19455 ))
* browse private collections functionality ([b619084 ](https://github.com/TautvydasDerzinskas/Thingport/commit/b619084be7ed060d02cd6ba473a196e7ba0859de ))
* bulk feature changes ([7d18539 ](https://github.com/TautvydasDerzinskas/Thingport/commit/7d185395a355f327472652a054ba4a6a01800ba6 ))
* **categories:** add toggle between categories and folders ([33400fa ](https://github.com/TautvydasDerzinskas/Thingport/commit/33400fa12803e1e7588a13fb200061b916062b80 ))
* **categories:** allow moving subcategories between parent categories ([172270f ](https://github.com/TautvydasDerzinskas/Thingport/commit/172270fce81f4f713b295bde33e3bd853fcbc582 ))
* **categories:** allow unlimited depth of categories ([04f3106 ](https://github.com/TautvydasDerzinskas/Thingport/commit/04f3106ce84f94c92a08b42fa2546c4e050c1f98 ))
* categorize models with an OpenAI-compatible AI provider ([#11 ](https://github.com/TautvydasDerzinskas/Thingport/issues/11 )) ([708a938 ](https://github.com/TautvydasDerzinskas/Thingport/commit/708a93822a40a69249232f52de8296006c33b7ae ))
* chrome estensions Thingport grab ([7d53efb ](https://github.com/TautvydasDerzinskas/Thingport/commit/7d53efb785469248b7d3be20fbf5af499a062090 ))
* collection impoort ([031cdf3 ](https://github.com/TautvydasDerzinskas/Thingport/commit/031cdf39902e212e24e0cb74d3cdbb8e7450a3a6 ))
* **collection-sync:** allow syncing collections with provider collections ([ef9152d ](https://github.com/TautvydasDerzinskas/Thingport/commit/ef9152df6cd0edee4fff8355434c9e2e09f73731 )), closes [#10 ](https://github.com/TautvydasDerzinskas/Thingport/issues/10 )
* **collections:** add sync indicator to collection toolbar ([2ac5a4c ](https://github.com/TautvydasDerzinskas/Thingport/commit/2ac5a4cd048537cf6ffa1585f415dde0336da610 ))
* **collections:** turn sync on from Thingport, picking the provider's collection ([1131700 ](https://github.com/TautvydasDerzinskas/Thingport/commit/1131700ec5eb53801a85c842143717c66696d8d8 ))
* dashboard implementation ([cf5c8a9 ](https://github.com/TautvydasDerzinskas/Thingport/commit/cf5c8a958462bb0193379966696aa11935d72d1b ))
* **dashboard:** add clock, weather, and featured-model widgets ([c71154a ](https://github.com/TautvydasDerzinskas/Thingport/commit/c71154a83eb897122488a7c619cf38732eb4be44 ))
* **dashboard:** make dashboard panes toggleable ([3d1c851 ](https://github.com/TautvydasDerzinskas/Thingport/commit/3d1c851ad7baa007f883499d310c438f97c2b264 ))
* default categories for new users ([cefc27f ](https://github.com/TautvydasDerzinskas/Thingport/commit/cefc27f23fd25e9693bcdc0f43b3e1b9c11f646c ))
* eabling opening model ([4d61c90 ](https://github.com/TautvydasDerzinskas/Thingport/commit/4d61c902e6fcebd3cc49e65ffd8ca5e4ab5f0193 ))
* edit model functionality ([37ac318 ](https://github.com/TautvydasDerzinskas/Thingport/commit/37ac318e40dff826d6081657cb59e4f3c30a4b5e ))
* enable preview image slideshow on model item hover ([63133eb ](https://github.com/TautvydasDerzinskas/Thingport/commit/63133ebd158038abca2b1dfa20fb5b814b331d7d ))
* enable right click on AI feature ([e07eb41 ](https://github.com/TautvydasDerzinskas/Thingport/commit/e07eb41168ca23b02a5a2d9e05b0a8c4182866dd ))
* extend dashboard settings with layouts ([2813237 ](https://github.com/TautvydasDerzinskas/Thingport/commit/2813237e037c9559b2d4beb161afffed5628c4b0 ))
* **extension:** automate publishing to Chrome Web Store ([e37073c ](https://github.com/TautvydasDerzinskas/Thingport/commit/e37073cf531e55c15f917cf44e6595dc29d661af ))
* **extension:** improve loading messaging + make queue admin-only ([67a31cc ](https://github.com/TautvydasDerzinskas/Thingport/commit/67a31cc94052fda9faf1daf831b6fbf5ce7b53e9 ))
* FireFox browser extension build ([523916d ](https://github.com/TautvydasDerzinskas/Thingport/commit/523916d2b16c401184d86230fe9246d01db50919 ))
* **flaresolverr:** make URL configurable in admin settings ([5fa6c40 ](https://github.com/TautvydasDerzinskas/Thingport/commit/5fa6c403247e497c0dece4e8e3e1d28d1e25b484 ))
* import all designer or all MakerWorld print profiles of a model ([101aa03 ](https://github.com/TautvydasDerzinskas/Thingport/commit/101aa03f9c7526287847afd60d8733dfb0125db5 ))
* import author details from makerworld ([b16c27b ](https://github.com/TautvydasDerzinskas/Thingport/commit/b16c27bc1e4f107598824814a406043478ec609f ))
* improve collection boxes ui ([0972899 ](https://github.com/TautvydasDerzinskas/Thingport/commit/097289985266fbfa058832d149ebc5803bb2538c ))
* improve import modal ([dd2652d ](https://github.com/TautvydasDerzinskas/Thingport/commit/dd2652db08b395a194f9033e584b7e2e4958745c ))
* improve model details page ([d5db3d3 ](https://github.com/TautvydasDerzinskas/Thingport/commit/d5db3d3b18ca7844f4b2abda687b78757d8c0302 ))
* initial commit ([a8fef7d ](https://github.com/TautvydasDerzinskas/Thingport/commit/a8fef7d4913d1096beaabc4cd78b9c3a6b7d3c86 ))
* link import queue with an admin page and send-to-queue in the extension, plus update from source ([#6 ](https://github.com/TautvydasDerzinskas/Thingport/issues/6 )) ([96da36a ](https://github.com/TautvydasDerzinskas/Thingport/commit/96da36ae7999ab5c91bf076a727922a0dbdad0ec ))
* **logo:** add seasonal logo to website with glob-based loading ([d0a1674 ](https://github.com/TautvydasDerzinskas/Thingport/commit/d0a167461f70ad3958d0aa08dafb1b6cc803de77 ))
* make print count be more interactive ([8e4f7dd ](https://github.com/TautvydasDerzinskas/Thingport/commit/8e4f7ddf47de719b4da95753e1741e97f5de353c ))
* make Thingport installable ([53dcacf ](https://github.com/TautvydasDerzinskas/Thingport/commit/53dcacfc09fc4b7a26c8d9c9f23c0ba7e83ae3f4 ))
* make ttl configurable in admin ([6c66e7b ](https://github.com/TautvydasDerzinskas/Thingport/commit/6c66e7b615e4ebb8d18feea00330636b533fdad7 ))
* new favourites toggler ([0a0dfd5 ](https://github.com/TautvydasDerzinskas/Thingport/commit/0a0dfd5f40bab7732cfeda1eb7e0925369654eb8 ))
* **notifications:** reinvent notifications ([1408b09 ](https://github.com/TautvydasDerzinskas/Thingport/commit/1408b09c5989499b38ee0effd1b7c29661a233a5 ))
* printables importing ([47a0ddd ](https://github.com/TautvydasDerzinskas/Thingport/commit/47a0dddf9337e2624505bc2acf3be5e6e9b1033a ))
* rebrand from PrintStash to Thingport ([56de86d ](https://github.com/TautvydasDerzinskas/Thingport/commit/56de86d5b5367fe593587bee73c1ca730e356ae5 ))
* remake profile page and add configuration modal ([049efde ](https://github.com/TautvydasDerzinskas/Thingport/commit/049efdedb6c4b759db7b93f7d2d282c72251d716 ))
* **search:** add ability to load search active views ([90a9942 ](https://github.com/TautvydasDerzinskas/Thingport/commit/90a9942d1b9966bdcf0558e8d5b986af79a625bf ))
* **search:** add option to see all results ([ad27e95 ](https://github.com/TautvydasDerzinskas/Thingport/commit/ad27e950a9048a4e50ab67196fbd42d61db86f89 ))
* **search:** improve search UX and results ([ddcd3c7 ](https://github.com/TautvydasDerzinskas/Thingport/commit/ddcd3c785ce4bd1616982d417e145b75a28fd491 ))
* show available models in model input ([8718d82 ](https://github.com/TautvydasDerzinskas/Thingport/commit/8718d82ab3b4afe0565e0d0a8dddb6de540493fc ))
* show model usage in memory size ([2813d47 ](https://github.com/TautvydasDerzinskas/Thingport/commit/2813d47049817697e3c74ba0db82217c2912111d ))
* support Markdown with embedded images in model descriptions ([97f0eea ](https://github.com/TautvydasDerzinskas/Thingport/commit/97f0eea4c267612c8b78546d43129550dfac4dc8 ))
* **sync:** pause syncs while a provider isn't connected, and hand back models blocked by it ([6993a4c ](https://github.com/TautvydasDerzinskas/Thingport/commit/6993a4c4231b9e80db9eb13c27ab97fc89e9ac01 ))
* system notifications updates, Thingport grab in System health check, node 24+ ([#52 ](https://github.com/TautvydasDerzinskas/Thingport/issues/52 )) ([358dfc1 ](https://github.com/TautvydasDerzinskas/Thingport/commit/358dfc1a03a178115642d41423f40586cd879b90 ))
* tag route ([0c7d0ec ](https://github.com/TautvydasDerzinskas/Thingport/commit/0c7d0ec982d28c57cdb2c8bea07f064e213edab9 ))
* **tags:** add pagination, thumbnails, and tag deletion ([cdf0a53 ](https://github.com/TautvydasDerzinskas/Thingport/commit/cdf0a53251e1ef6d507b15735ad3cae7406b00de ))
* translated default categories ([dc7ce30 ](https://github.com/TautvydasDerzinskas/Thingport/commit/dc7ce308c9f42831faaf5395606cf8a09f957fa4 ))
* various major UI & UX improvements ([7b1f718 ](https://github.com/TautvydasDerzinskas/Thingport/commit/7b1f718c74485b79c9117469ff35aa4c661f6829 ))
### Performance Improvements
* **tags:** render tag mosaics on the server and size pages to the screen ([eefbde1 ](https://github.com/TautvydasDerzinskas/Thingport/commit/eefbde1bb5c64bd0860e2613a79e768a0f0e6891 ))
2026-10-17 17:30:59 +02:00
Tautvydas Derzinskas
358dfc1a03
feat: system notifications updates, Thingport grab in System health check, node 24+ ( #52 )
...
* feat: update system notifications
* feat: add Thingport grab to system health check
* ci: upgrade to Node.js 24 and centralize version management
2026-10-17 10:44:13 +02:00
Tautvydas Derzinskas
0bc0f99482
Fix/various minor ux improvements ( #51 )
...
* fix: improve context menu interaction and update check display
Add reopenContextMenuBelow utility to close context menus when clicking
outside and forward the right-click event to underlying elements. This
prevents clicks from being lost when users right-click beside a menu.
Replace UpdateCheckSection status text with UpdateCheckAnimation, an
animated component showing orbiting models during checking and colored
status indicator bubbles after completion.
* feat: add admin pages to search
* feat: add internet check to system health
2026-10-17 09:26:10 +02:00
Tautvydas Derzinskas
f10bd133f2
docs: update docs and site ( #50 )
...
* docs: update docs and site
* docs: image theme adaptability
2026-10-17 05:59:03 +02:00
Tautvydas Derzinskas
9a2238691d
feat: administration settings remake + OIDC support ( #49 )
...
* feat: expand storage usage reporting with disk breakdown
* feat: add providers admin view
* feat(storage): add background reorganization and admin browser
Adds background-driven storage reorganization for moving model files
when the storage template changes, with an admin interface to preview
changes, check impact, monitor progress, and browse the storage tree
built from plate records rather than filesystem walks.
* feat: new auth admin settings page + OIDC support
* test: fix failing test
2026-10-17 05:07:24 +02:00
Tautvydas Derzinskas
92161f8cf8
feat: admin sidebar change and system health check view ( #48 )
2026-10-16 18:23:26 +02:00
Tautvydas Derzinskas
731a2950be
ci: enable semantic versioning on frontend and backend ( #47 )
2026-10-16 16:31:54 +02:00
Tautvydas Derzinskas
9d41c4dee3
feat(admin): manage user roles and delete users, with an instance owner
...
Admins can now make members admins and delete members from the Users page.
The owner, the first admin, can also demote and delete other admins; nobody
can demote or delete the owner, or themselves. A migration adds the owner
flag and gives it to each existing instance's longest-standing admin, and
the first sign-up of a fresh instance takes an advisory lock so concurrent
sign-ups can't make two owners.
Deleting a user removes their models with every file, their tag mosaics and
storage folder, then the account. Roles are now read from the database on
each request, so a demotion or deletion takes effect at once. Both actions
are logged under the acting admin.
2026-10-15 12:47:06 +02:00
Tautvydas Derzinskas
eefbde1bb5
perf(tags): render tag mosaics on the server and size pages to the screen
...
Each tag tile now loads one WebP built by the backend from its newest models'
pictures, instead of up to ten images laid out in the browser. Mosaics are
made on first request and cached under storage/tag-mosaics; their URL carries
a hash of the pictures in them, so tagging, untagging or a new render gives a
new URL with nothing to invalidate, and existing libraries need no backfill.
The summary joins pictures only for the requested page's tags, a single
tag's mosaic looks up just that tag's newest models, and the Tags page asks
for enough tags to fill the screen. Deleting a tag, or all of a user's
models, removes its mosaics.
2026-10-15 12:46:42 +02:00
Tautvydas Derzinskas
eed60e2b24
ci(frontend): pin Node stages to build platform and add job timeout
...
Pins the dependencies stage in the frontend Dockerfile to $BUILDPLATFORM
so npm ci and vite build run natively on the build machine rather than
under QEMU emulation for arm64 builds. Only the nginx runtime stage is
built per target platform. Adds a 30-minute timeout to prevent hung
build steps from running until GitHub's 6-hour limit.
2026-10-15 11:09:56 +02:00
Tautvydas Derzinskas
cdf0a53251
feat(tags): add pagination, thumbnails, and tag deletion
2026-10-15 10:10:43 +02:00
Tautvydas Derzinskas
8ef8cd4478
refactor: improve rendering settings admin UI/UX
2026-10-15 09:50:47 +02:00
Tautvydas Derzinskas
ad27e950a9
feat(search): add option to see all results
2026-10-14 22:14:55 +02:00
Tautvydas Derzinskas
d0a167461f
feat(logo): add seasonal logo to website with glob-based loading
2026-10-14 21:45:04 +02:00
Tautvydas Derzinskas
2dbc92035d
feat: add different logo variations for special occasions
2026-10-14 21:36:57 +02:00
Tautvydas Derzinskas
c5e5ab460e
fix: distinguish Thingiverse rate limits from auth errors and add AI run logging
2026-10-14 21:11:27 +02:00
Tautvydas Derzinskas
97f17e4fa3
feat(AI): add improved descriptions
2026-10-14 20:29:45 +02:00
Tautvydas Derzinskas
e07eb41168
feat: enable right click on AI feature
2026-10-14 16:11:11 +02:00
Tautvydas Derzinskas
0b89ad962f
fix: minor UX improvements for AI
2026-10-14 16:04:58 +02:00
Tautvydas Derzinskas
bfc3fa0d72
fix(ai): disable categorization when last model is deleted
...
When the last AI model is deleted, categorization is now forced
off server-side, preventing it from silently restarting when a
new model is added. The frontend distinguishes between loading
and no connections, hiding the feature toggle instead of
disabling it, and removes the unused "Add a model first" message.
2026-10-14 15:54:47 +02:00
Tautvydas Derzinskas
e542cc4473
feat: AI features split, categorisation UX updates
2026-10-14 15:43:23 +02:00
Tautvydas Derzinskas
56f173a20b
feat: ability to link multiple AIs
2026-10-14 15:20:56 +02:00
Tautvydas Derzinskas
8718d82ab3
feat: show available models in model input
2026-10-14 14:43:08 +02:00
Tautvydas Derzinskas
e15653ca56
refactor(AI): identify candidates by path and support background recategorization ( #19 )
...
Provider prompts now identify category candidates by label/path instead
of numeric index, with duplicate-path and fuzzy-match handling. Add
reasoning_effort toggle with automatic fallback for providers that
don't support it.
Replace blocking single-print recategorize with background-queued flow
backed by notifications. Extend bulk-run scope to include folders and
manual categories alongside existing filters.
2026-10-14 12:20:58 +02:00
Rui Valim
d70dcfeac2
fix(import): stop flagging models that mention robots as a MakerWorld CAPTCHA, and let a manual retry try again ( #18 )
...
* fix(import): stop flagging models that mention robots as a MakerWorld CAPTCHA, and let a manual retry try again
isCaptchaChallenge looked for "captcha" or "robot" in every top-level string of a reply,
design titles and summaries included, so a model named "Robot ..." failed as a CAPTCHA on
every retry and started the 2h cooloff for every other import. Only a captcha key or the
reply's own error, message or msg text counts now.
The cooloff also failed a retry straight away after the user solved the puzzle in the
browser, which is what the error message tells them to do. Starting or retrying a queue job
by hand, a bulk start or retry, and POST /import/jobs/:id/retry now lift it. Automatic
collection syncs still respect it.
* feat(extension): offer "Add to the queue" when MakerWorld blocks an import
A CAPTCHA or the daily download limit won't clear by clicking Import again, so the error
panel lets an admin park the link in the queue with the same collection and profile scope.
* fix(import): let a queue job cut off by a restart be started or retried
A restart marks a running job ERROR with its links still PENDING or RUNNING. The queue page
only offered Start for PAUSED jobs and Retry for jobs with FAILED links, and the API agreed,
so such a job could never run again. The same held for a job whose runner crashed.
Start now takes an ERROR job with links waiting, and a retry reruns links an interrupted
run never reached even when none of them failed.
2026-10-14 10:18:48 +02:00
Paul Traina and Claude Opus 5.5
76907212d4
fix(models): stop the hidden preview renderer from blocking description clicks ( #13 )
...
The automatic preview renderer on the model page sits in an invisible box whose
sx width/height of 1 resolve to 100%, so it covers the Description and Tags and
swallows clicks on their links. Let pointer events pass through it.
Fixes #12
Claude-Session: https://claude.ai/code/session_01KGCb65Zhzwd3daF862ZE6R
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 06:42:23 +02:00
Tautvydas Derzinskas
6993a4c423
feat(sync): pause syncs while a provider isn't connected, and hand back models blocked by it
2026-10-12 21:15:38 +02:00
Tautvydas Derzinskas
b619084be7
feat: browse private collections functionality
2026-10-12 12:54:26 +02:00
Tautvydas Derzinskas
1131700ec5
feat(collections): turn sync on from Thingport, picking the provider's collection
...
Every collection's Sync configuration now works before it's synced: a
Browse tab lists the user's own collections on MakerWorld (through
their cookie, private ones included), Printables and Thingiverse (by a
username asked once), and takes any collection's link. Each provider's
collections are drawn in its own colours and manner.
On Printables and Thingiverse the collection's current models are
imported by the sync's first check. MakerWorld rate-limits bulk
imports, so there only models added from now on come in. Settings can
be picked before turning sync on.
2026-10-12 05:31:01 +02:00
Tautvydas Derzinskas
1408b09c59
feat(notifications): reinvent notifications
2026-10-11 23:20:21 +02:00
Tautvydas Derzinskas
4d4d2209e6
fix: allow slow API requests through nginx and explain proxy errors
...
Raise the /api proxy timeout from 60s to 300s, the longest AI timeout the
settings allow. When a proxy answers with an HTML error page, show a short
message instead of the raw HTML.
2026-10-11 21:16:56 +02:00
Tautvydas Derzinskas
29c54bac11
feat(ai): accept the provider base URL with or without /v1
...
A base URL with no path, like Ollama's http://host:11434 , gets /v1 added.
URLs that already have a path are kept, so OpenRouter (/api/v1) and Gemini
(/v1beta/openai) keep working. Saved values are normalized when read.
2026-10-11 21:16:37 +02:00
Tautvydas Derzinskas
7a2e82ab6f
docs: update dashboard screenshots
2026-10-11 19:54:41 +02:00
Tautvydas Derzinskas
5fa6c40324
feat(flaresolverr): make URL configurable in admin settings
2026-10-11 19:34:29 +02:00
Tautvydas Derzinskas
b15adb087b
feat: add react skeleton loading bits
2026-10-11 19:09:06 +02:00
Tautvydas Derzinskas
b13d0bf597
refactor(dashboard): server-side weather, render priorities, and model query optimization
...
Move weather endpoints to the server with caching and rate-limiting. Prioritize
3D viewer renders over background thumbnails. Query featured models from database
instead of loading all into memory.
2026-10-11 00:08:23 +03:00
Tautvydas Derzinskas
163d73f2a7
feat: add setting to customize dashboard model thumbnail appearance
2026-10-10 23:22:02 +03:00
Tautvydas Derzinskas
c71154a83e
feat(dashboard): add clock, weather, and featured-model widgets
2026-10-10 23:13:56 +03:00
Tautvydas Derzinskas
2813237e03
feat: extend dashboard settings with layouts
2026-10-10 21:50:29 +03:00
Rui Valim and Tautvydas Derzinskas
708a93822a
feat: categorize models with an OpenAI-compatible AI provider ( #11 )
...
* feat: categorize models with an OpenAI-compatible AI provider
Models can now be sorted into the user's categories by any OpenAI-compatible
chat endpoint (llama.cpp, Ollama, vLLM, OpenAI, OpenRouter...), configured once
by an admin under settings: mode off/suggest/auto, confidence threshold,
categorize on import, concurrency, optional preview image.
Every print now records where its category came from (manual, site rule, AI,
or legacy for rows that predate this). AI never changes a manual choice: runs
and the import hook skip them, and a single-model request needs force. Folders
are never touched. Category changes go through one setPrintCategory path, so
the name check and file relocation stay shared, and AI writes are a
compare-and-set against what was read before the provider call, so an edit
made meanwhile wins.
Users get per-model recategorize, accept/reject of pending suggestions (a
rejected category is not offered again), and a background "recategorize all"
with scope flags, progress and cancel that stops after repeated provider
failures.
* feat: AI categorization settings, suggestions and bulk runs in the UI
Admin settings get an AI categorization section with a connection test and a
privacy note. The model menu offers "Recategorize with AI" (asking before it
overrides a manual category), the side panel shows a pending suggestion with
accept/reject and marks AI-set categories, and the models page has
"Recategorize all with AI" with scope, progress and cancel, plus a pending
suggestions list with bulk accept/reject.
* fix: keep suggestion actions from overlapping the reason
MUI's secondaryAction is absolutely positioned over a fixed padding, so the
two buttons covered a long reason. They now sit in the row, and wrap under
the text on narrow screens.
* fix: put the clear API key action inside the key field
A full-width outlined button under the field read as an empty input in an
error state. It is now a small action at the end of the field, and the
helper text says the key goes away on save once it's clicked.
* refactor: update AI categorization admin part
* refactor: move ai categorization buttons to categories manager modal
* fix: multiple smaller problems with AI categorization
---------
Co-authored-by: Tautvydas Derzinskas <tautvydasuk@gmail.com >
2026-10-10 20:59:52 +03:00
Tautvydas Derzinskas
e24e797999
docs: add synced collections guide and showcase
2026-10-09 07:42:42 +02:00
Tautvydas Derzinskas
2ac5a4cd04
feat(collections): add sync indicator to collection toolbar
2026-10-09 01:05:39 +02:00
Tautvydas Derzinskas
ef9152df6c
feat(collection-sync): allow syncing collections with provider collections
...
Implements #10
2026-10-09 00:34:44 +02:00