maziggy bbc5ccb982 Library Upload Doesn't Show New File Until Page Reload ([#704](https://github.com/maziggy/bambuddy/issues/704)) — After uploading a file in the Library file manager, the file list didn't update until the user reloaded the browser. The upload endpoint used `db.flush()` instead of `db.commit()`, so the new row was only written to the database *after* the response was sent to the client. The frontend immediately refetched the file list upon receiving the response, but a new database session couldn't see the uncommitted row — resulting in stale data. Fixed by committing before the response is returned. Also fixed the same race condition in folder create, folder update, and file update endpoints. Reported by @shadowjig. há 7 meses atrás
..
docs 583c374f01 Add Virtual Printer Proxy Mode for remote printing há 8 meses atrás
mockups ccdb084f23 - Refactored printer card's AMS section for better experience há 10 meses atrás
public a010134c09 Disable busy printers in print modal's reprint mode (#622) há 7 meses atrás
src bbc5ccb982 Library Upload Doesn't Show New File Until Page Reload ([#704](https://github.com/maziggy/bambuddy/issues/704)) — After uploading a file in the Library file manager, the file list didn't update until the user reloaded the browser. The upload endpoint used `db.flush()` instead of `db.commit()`, so the new row was only written to the database *after* the response was sent to the client. The frontend immediately refetched the file list upon receiving the response, but a new database session couldn't see the uncommitted row — resulting in stale data. Fixed by committing before the response is returned. Also fixed the same race condition in folder create, folder update, and file update endpoints. Reported by @shadowjig. há 7 meses atrás
.gitignore 09677861ba Added screenshots há 11 meses atrás
.npmrc 22ac7e97bb Closes #426 há 8 meses atrás
README.md 09677861ba Added screenshots há 11 meses atrás
eslint.config.js 49acd8c148 Improved frontend tests há 9 meses atrás
index.html 711140ddf9 Added mobile PWA support há 10 meses atrás
package-lock.json 5a8aa61f44 Bump PyJWT >=2.12.0 (CVE-2026-32597) and flatted >=3.4.0 há 7 meses atrás
package.json bffbac54e4 Add on-screen virtual keyboard for SpoolBuddy kiosk UI há 8 meses atrás
postcss.config.js 09677861ba Added screenshots há 11 meses atrás
tailwind.config.js 7767851975 Add SpoolBuddy tag detection modal and fix NFC reader silent failure há 8 meses atrás
tsconfig.app.json 9ba4ef6355 Fix docker build há 10 meses atrás
tsconfig.json 09677861ba Added screenshots há 11 meses atrás
tsconfig.node.json 09677861ba Added screenshots há 11 meses atrás
vite.config.ts 46f209e2ac Add SpoolBuddy AMS slot config, external slots, and dashboard redesign há 8 meses atrás
vitest.config.ts 104b9d4a25 Fix external spool ams_mapping2 slot_id (Issue #213) há 8 meses atrás

README.md

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])