Print bug: remove hidden-iframe auto-print in printAttachment that fired the OS print dialog on iframe.onload; open attachment in a new tab instead so print only happens on an explicit Ctrl+P. Drop now-dead printIframeRef/cleanupPrintFrame. Cell format persistence: new CellFormatToolbar + cellFormat.js save the last saved per-claim-type header/item format to localStorage; new claims and added rows inherit it so users don't re-size/re-bold each time. Backend cell_format_service renders _cellFormat in Excel/PDF. Bun migration: replace Node/yarn with Bun for the frontend build. Dockerfile uses oven/bun:1-alpine; bun.lock replaces yarn.lock/package-lock.json; start.bat files use bun. Frontend dev uses relative baseURL + craco proxy on port 5000 (avoids CORS and the Grafana conflict on 3000). 1-click launch: root start.bat boots backend (uvicorn :8002) and frontend (craco :5000) in child windows and opens the browser. Repo cleanup: remove Node/yarn lockfiles, cursor sync scripts, stray test reports/PDFs, root package.json/requirements.txt duplicates. Backend services: claim_document_storage, payslip_storage, pdf_company_extractor; attachment filenames normalized from PDF text. Security: gitignore now excludes docker/local env files (with .env.example allowed) so the live JWT secret cannot be committed. Co-Authored-By: Claude <noreply@anthropic.com>
176 lines
1.8 KiB
Plaintext
176 lines
1.8 KiB
Plaintext
# Byte-compiled / optimized / DLL files
|
|
__pycache__/
|
|
*.py[codz]
|
|
*$py.class
|
|
|
|
# C extensions
|
|
*.so
|
|
|
|
# Distribution / packaging
|
|
.Python
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
/lib/
|
|
/lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
share/python-wheels/
|
|
*.egg-info/
|
|
.installed.cfg
|
|
*.egg
|
|
MANIFEST
|
|
|
|
# PyInstaller
|
|
*.manifest
|
|
*.spec
|
|
|
|
# Installer logs
|
|
pip-log.txt
|
|
pip-delete-this-directory.txt
|
|
|
|
# Unit test / coverage reports
|
|
htmlcov/
|
|
.tox/
|
|
.nox/
|
|
.coverage
|
|
.coverage.*
|
|
.cache
|
|
nosetests.xml
|
|
coverage.xml
|
|
*.cover
|
|
*.py.cover
|
|
.hypothesis/
|
|
.pytest_cache/
|
|
cover/
|
|
|
|
# Translations
|
|
*.mo
|
|
*.pot
|
|
|
|
# Django
|
|
*.log
|
|
local_settings.py
|
|
db.sqlite3
|
|
db.sqlite3-journal
|
|
|
|
# Flask
|
|
instance/
|
|
.webassets-cache
|
|
|
|
# Scrapy
|
|
.scrapy
|
|
|
|
# Sphinx
|
|
docs/_build/
|
|
|
|
# PyBuilder
|
|
.pybuilder/
|
|
target/
|
|
|
|
# Jupyter
|
|
.ipynb_checkpoints
|
|
|
|
# IPython
|
|
profile_default/
|
|
ipython_config.py
|
|
|
|
# Celery
|
|
celerybeat-schedule
|
|
celerybeat.pid
|
|
|
|
# SageMath
|
|
*.sage.py
|
|
|
|
# Environments
|
|
.env
|
|
.envrc
|
|
.venv
|
|
env/
|
|
venv/
|
|
ENV/
|
|
env.bak/
|
|
venv.bak/
|
|
|
|
# Spyder
|
|
.spyderproject
|
|
.spyproject
|
|
|
|
# Rope
|
|
.ropeproject
|
|
|
|
# mkdocs
|
|
/site
|
|
|
|
# mypy
|
|
.mypy_cache/
|
|
.dmypy.json
|
|
dmypy.json
|
|
|
|
# pyre
|
|
.pyre/
|
|
|
|
# pytype
|
|
.pytype/
|
|
|
|
# Cython
|
|
cython_debug/
|
|
|
|
# PyCharm
|
|
.idea/
|
|
|
|
# Visual Studio Code
|
|
.vscode/
|
|
|
|
# Ruff
|
|
.ruff_cache/
|
|
|
|
# PyPI
|
|
.pypirc
|
|
|
|
# Cursor / agent harness (local only)
|
|
.cursor/
|
|
.cursorignore
|
|
.cursorindexingignore
|
|
.claude/
|
|
.codex/
|
|
.agents/
|
|
.wayland-core/
|
|
process/
|
|
.vibecode-backup/
|
|
.vc-installed-files
|
|
.vc-version
|
|
CLAUDE.md
|
|
AGENTS.md
|
|
|
|
# Local env and uploads
|
|
backend/.env
|
|
backend/.env.*
|
|
!backend/.env.example
|
|
frontend/.env
|
|
frontend/.env.*
|
|
!frontend/.env.example
|
|
backend/uploads/
|
|
backend/claim_files/
|
|
backend/payslip_files/
|
|
|
|
# Test / scratch artifacts
|
|
backend/tmp/
|
|
*.pyc
|
|
test_*.pdf
|
|
test_*.xls
|
|
test_*.xlsx
|
|
frontend/test_*.js
|
|
frontend/test_*.png
|
|
frontend/test_*.pdf
|
|
|
|
# Marimo
|
|
marimo/_static/
|
|
marimo/_lsp/
|
|
__marimo__/
|