434 Commits
Author SHA1 Message Date
Tautvydas Derzinskas 407bce431a Merge pull request #116 from TautvydasDerzinskas/fix/ai-description-after-import
fix: check an imported model's description once its import is done
2026-10-21 13:04:50 +02:00
Tautvydas Derzinskas 6555875e29 fix: check an imported model's description once its import is done
The AI description check started as soon as the model was created, before
its pictures were attached and its description's images stored locally.
Storing them rewrites the description, so a suggestion that came back
after that was dropped and logged as unchanged. Imports now start the
check when they finish; uploads still start it straight away.
2026-10-21 12:48:46 +02:00
Tautvydas Derzinskas b273fde657 Merge pull request #114 from TautvydasDerzinskas/feat/makerworld-raw-files
feat: import MakerWorld models that have only raw files
2026-10-21 12:44:34 +02:00
Tautvydas Derzinskas 8affbbb6c3 fix: count only MakerWorld profiles with an id before taking the raw files
The import now skips profile records without an id, as the profile jobs
already did, so a model with none usable gets its raw files there too.
2026-10-21 12:12:35 +02:00
Tautvydas Derzinskas 437d85be14 feat: import MakerWorld models that have only raw files
Some MakerWorld listings have no print profiles, only the STL/CAD files
behind "Download STL/CAD files". The backend now downloads those as the
page's own zip and unpacks every model file onto the model, and a zip
Grab passes on is unpacked the same way instead of being stored whole.
Every-profile and queued imports take the raw files instead of failing.
2026-10-21 11:58:06 +02:00
Tautvydas Derzinskas 1ed86cd4cf Merge pull request #113 from TautvydasDerzinskas/ci/dev-images
ci: publish :dev images when changes are merged into develop
2026-10-21 10:45:06 +02:00
Tautvydas Derzinskas 200de27ff1 ci: keep :dev to develop's own builds and say which merges publish it
A manual rebuild of a release dispatched from develop no longer tags :dev or
marks the image as the dev channel. The docs now say each :dev image is only
published when a merge touches that project.
2026-10-21 10:16:31 +02:00
Tautvydas Derzinskas 151a2731af ci: publish :dev images when changes are merged into develop
Testers who want changes before a release can point at :dev. :latest and
the version tags still only come from releases on main. Dev images carry
RELEASE_CHANNEL=dev so the update checker compares them with develop.
2026-10-21 10:00:38 +02:00
Tautvydas Derzinskas 0688989654 Merge pull request #112 from TautvydasDerzinskas/feat/bad-model-detection
feat: check models for print problems when they are opened
2026-10-21 09:18:58 +02:00
Tautvydas Derzinskas 8b4653e415 fix: harden mesh check against bad indices and tidy review follow-ups
- Reject triangle indices outside the vertex list instead of stalling the queue
- Leave degenerate triangles out of body bounding boxes
- Skip the quality fetch without a print id and never show a previous print's result
- Disable the per-check switches while a save is in flight
2026-10-21 08:55:58 +02:00
Tautvydas Derzinskas dc15620de3 Merge pull request #110 from pleasantone/fix/frontend-nginx-1.30
build(frontend): move runtime image to nginx:1.30-alpine (1.27 is end-of-life)
2026-10-21 07:46:02 +02:00
Tautvydas Derzinskas f913710cc4 feat: check models for print problems when they are opened
Closes #37. The first time a model is opened, each of its STL, OBJ and 3MF
files is checked in the render worker for holes, non-manifold edges, flipped
or inside-out faces, loose fragments, missing 3MF parts, damaged files and an
unlikely size. The rules follow ADMesh and Blender's 3D Print Toolbox.

The model page shows a scan overlay while it runs, then a tick or a
severity-coloured warning beside 3D Preview that opens a report with an
animated tile per problem. Results are saved per plate and rechecked only
when QUALITY_CHECK_VERSION changes.

Admins can switch checks off as a whole or per problem under Rendering;
severity and switched-off problems apply when results are read, so neither
needs a recheck. Checks are on by default.
2026-10-21 07:41:24 +02:00
Paul TrainaandClaude Opus 5.5 c2de22031e build(frontend): move runtime image to nginx:1.30-alpine
nginx 1.27 is end-of-life and its 1.27-alpine tag was last rebuilt on
2025-04-16, so every frontend release ships a stale Alpine base.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KSQP7GucEGzDYCPwWfUsNW
2026-10-20 16:02:55 -07:00
Tautvydas Derzinskas 8db1c02f07 Merge pull request #108 from TautvydasDerzinskas/feat/reset-to-defaults
Feat/reset to defaults
2026-10-20 20:39:57 +02:00
Tautvydas Derzinskas e7d6b2da0f Merge pull request #109 from TautvydasDerzinskas/feat/sort-merge-collections-tags
Feat/sort merge collections tags
2026-10-20 20:35:30 +02:00
Tautvydas Derzinskas d5cd155794 fix: roll a failed theme save back to the last saved theme 2026-10-20 20:33:39 +02:00
Tautvydas Derzinskas ef14f54221 fix: guard tag rewrites against concurrent edits, pluralise merge count, fix lt wording 2026-10-20 20:12:31 +02:00
Tautvydas Derzinskas 1a44b87cdc fix: count suffixed renames, roll back failed theme saves, keep reset dialog open on error 2026-10-20 19:58:08 +02:00
Tautvydas Derzinskas a0dbba8058 feat: sort, bulk actions and merge for collections and tags
Collections sort by newest, name or most models; tags gain a newest sort. Both pages get select mode with merge, bookmark and delete. Merging asks which one to keep and previews the result: the kept one's new model count, what is deleted, a bookmark moving over and syncs that stop. Built-in collections sit select mode out.
2026-10-20 19:50:56 +02:00
Tautvydas Derzinskas 825e8395d8 refactor: share the selection hook, toolbar and tick across grids 2026-10-20 19:50:42 +02:00
Tautvydas Derzinskas f8424dcb23 feat: reset categories to the starter tree, previewing what changes 2026-10-20 19:22:56 +02:00
Tautvydas Derzinskas 3c3d19a3b7 feat: reset appearance settings to their defaults 2026-10-20 19:22:30 +02:00
Tautvydas Derzinskas 292c6b1f65 Merge pull request #107 from TautvydasDerzinskas/feat/model-files-together
feat: keep a model's pictures and supporting files beside its model files
2026-10-20 16:20:37 +02:00
Tautvydas Derzinskas 67bea149a9 fix: list a nested pictures folder's files as its own model's 2026-10-20 16:14:50 +02:00
Tautvydas Derzinskas ecc551ef27 fix: touch only a model's own pictures, check picture files once, drop plate folders for other files 2026-10-20 15:46:22 +02:00
Tautvydas Derzinskas 0d505b716a feat: keep a model's pictures and supporting files beside its model files
Gallery and description images, plate thumbnails and renders now live in an
Images folder next to the model's files (Print.assetsPath), and supporting and
prepared files sit beside the plates, named through the storage template. They
move with the model when the storage structure changes, and the storage browser
lists them by kind.

Models from before keep working: reads fall back to the old shared folders, and
the first start runs the storage move to bring their files over, then clears
what's left in those folders.
2026-10-20 15:09:19 +02:00
Tautvydas Derzinskas fdbc5700ec Merge pull request #106 from TautvydasDerzinskas/feat/appearance-render-color
Feat/appearance render color
2026-10-20 14:26:17 +02:00
Tautvydas Derzinskas 401cc38461 fix: retry a dashboard row's render when its url changes 2026-10-20 14:19:36 +02:00
Tautvydas Derzinskas 74ca5cbc0e refactor: read tag mosaic pictures once for both kinds 2026-10-20 14:07:44 +02:00
Tautvydas Derzinskas 6dac5555e7 fix: order theme saves, reset hover slideshow per account, address review 2026-10-20 13:51:54 +02:00
Tautvydas Derzinskas 4c301bb460 test: cover render colour and hover slideshow, drop dashboard thumbnails tests 2026-10-20 13:49:15 +02:00
Tautvydas Derzinskas 4e3699ed45 feat: show provider logos and names in the dashboard's top providers 2026-10-20 13:36:00 +02:00
Tautvydas Derzinskas 926c5d345b feat: add render colour, graphite accent and hover slideshow toggle
Appearance gains a render colour that tints generated renders, the dashboard lists, tag tiles and the 3D preview.
It follows the accent until picked apart, and offers the accents plus an untinted light grey. A graphite accent
joins the palette, light grey in the dark theme so it stays visible. The hover slideshow on model cards can be
turned off, and the language picker moves to the top.

The dashboard's own Thumbnails option is gone: its lists and the tag tiles now lead with pictures or renders as
the model cards do, tags from a mosaic of the models' renders. The one-colour dashboard icon is no longer made.
2026-10-20 13:32:53 +02:00
Tautvydas Derzinskas a13176d1d3 Merge pull request #105 from TautvydasDerzinskas/fix/es-fr-missing-strings
fix(i18n): add missing Spanish and French strings
2026-10-20 12:36:23 +02:00
Tautvydas Derzinskas 81bc40ab70 fix(i18n): pluralise the selection count and fix French wording 2026-10-20 12:27:12 +02:00
Tautvydas Derzinskas c1aa6e6237 fix(i18n): add missing Spanish and French strings
Fill the 232 keys es and fr lacked, model card toggle included, and drop
16 keys English no longer has.
2026-10-20 12:19:17 +02:00
Tautvydas Derzinskas 959233ece9 Merge pull request #103 from ldbl1/develop
feat(i18n): add Spanish and French translation files
2026-10-20 12:10:33 +02:00
Tautvydas Derzinskas 59107307c0 Merge pull request #104 from TautvydasDerzinskas/feat/card-preview-renders
feat: tint generated model renders with the accent
2026-10-20 12:10:12 +02:00
Tautvydas Derzinskas 5dc3086e77 fix: reset model render state when its url changes
Start retries over for a new render and drop a status check that returns
for a render no longer shown.
2026-10-20 12:03:26 +02:00
Tautvydas Derzinskas e76666e291 fix: ignore stale card preview saves and render checks
Queue card-preview saves so the last pick sticks, drop failures from
superseded picks or a previous account, and ignore a render check that
returns after its ModelRender is gone.
2026-10-20 11:54:19 +02:00
Tautvydas Derzinskas ddfe33a4bd Merge remote-tracking branch 'origin/develop' into feat/card-preview-renders
# Conflicts:
#	frontend/src/App.tsx
#	frontend/src/components/Layout/ConfigurationDialog/AppearancePanel.tsx
2026-10-20 11:39:24 +02:00
Tautvydas Derzinskas 678c4802d7 fix: address card preview review comments
Retry thumbnail adoption for a cached render, reset card and model-page
render state per print, scope the card-preview choice to the signed-in
account and put it back when saving fails.
2026-10-20 11:37:44 +02:00
Tautvydas Derzinskas 57acabaa4e Merge pull request #102 from TautvydasDerzinskas/feat/accent-color
feat: let users pick an accent color
2026-10-20 11:19:15 +02:00
Tautvydas Derzinskas 14126dee8c fix: keep accent per account and readable in light mode
Ignores a theme answer for a token that's since changed, resets the accent to the default on sign-out or when none is saved, only lets the latest accent pick revert on a failed save, and gives amber a darker selected-menu text in light mode.
2026-10-20 11:08:19 +02:00
Tautvydas Derzinskas 908ae80b5b feat: tint generated model renders with the accent
Model cards can lead with the model's own pictures (default) or with our render, a choice saved per user in Appearance. The server draws each model once in grey shading on transparent, from the first file it can draw, simplifying oversized meshes and viewing flat models from above; the browser tints it with the accent, so every theme and accent shows at once. The model page's 3D preview offers the accent palette and opens in the chosen accent.
2026-10-20 11:03:54 +02:00
Lorodo 11b2bd7b5b fix(i18n): format translation files with prettier 2026-10-20 11:03:52 +02:00
Lorodo 205a4cf7f1 feat(i18n): add Spanish and French translation files 2026-10-20 10:53:58 +02:00
Tautvydas Derzinskas d26f730bee feat: let users pick an accent color
Appearance gains an accent picker: Thingport green plus colors from provider brands (Thingiverse, Printables, Thangs, MyMiniFactory, Cults3D). The choice is stored per user beside the theme and recolors the app, the logo and its seasonal overlays at once.
2026-10-20 10:16:55 +02:00
Tautvydas Derzinskas 60ae936268 Merge pull request #101 from TautvydasDerzinskas/fix/extension-release-issues
fix: prevent AMO rate limit errors in extension release
2026-10-20 09:49:12 +02:00
Tautvydas Derzinskas f7c6e058f2 ci(extension): check Edge certification notes fit Edge's limit 2026-10-20 09:23:27 +02:00