Skip to content

Fix 4.0.0-beta desktop packaging bugs (#247–#262) - #263

Merged
Fujio-Turner merged 4 commits into
release-4.0.0-betafrom
fix/4.0.0-beta-desktop-issues
Sep 15, 2026
Merged

Fujio-Turner merged 4 commits into
release-4.0.0-betafrom
fix/4.0.0-beta-desktop-issues

Conversation

@Fujio-Turner

Copy link
Copy Markdown
Owner

Fixes the [4.0.0-beta desktop] issue batch found while reviewing standalone macOS/Windows packaging.

Issue What changed
#259 Stop tracking node_modules, .coverage, .DS_Store, app/config.json
#248 CBL_AVAILABLE follows USE_CBL; storage 503 when bindings missing
#249 Single listen port 8080 (ports.py)
#256 Frozen app loads config.default.json via _MEIPASS
#257 One CBLStore owner (app.storage())
#254 openai/httpx in requirements.txt
#260 Version is 4.0.0-Beta.2 everywhere
#251 Official releases/couchbase-lite-c/3.2.4 URLs (HTTP 200)
#250 Valid onedir build_mac.spec / build_win.spec + runtime hook
#253 requirements-desktop.txt (rumps/pystray); Flask on a non-daemon thread
#255 Sign script finds dylib; WiX GUID/icon fixed; DMG has Applications symlink
#247 #261 Shared .github/actions/build-desktop used by all four workflows
#252 Assets named UNSIGNED-arm64 / UNSIGNED-x64; no Setup.exe promise
#262 Python 3.12 (.python-version + Docker)
#258 README no longer claims STORAGE_BACKEND=server or root-level app.py

Also pins couchbase-lite-python to 2d1c790 so CFFI compiles against CBL C 3.2.4.

Verified locally:

  • pytest on the new unit tests (99 passed)
  • docker compose build && docker compose up → /api/version = 4.0.0-Beta.2, /api/storage/info success with backend: cbl on :8080
  • CBL zip URLs return HTTP 200

Issues #243 (Gemini) and #244 (system:indexes) were already implemented on this branch and will be closed separately.

These paths were already in .gitignore but had been committed, bloating
the tree and shipping a credential-shaped config.json. Keep
app/config.default.json as the bundled default.

close #259
… OpenAI.

CBL_AVAILABLE now follows USE_CBL so missing native bindings return JSON
503 instead of 500. Listen port is 8080 everywhere (ports.py). Frozen
builds load config.default.json via get_resource_path()/_MEIPASS.
app.storage() is the single CBLStore owner. Version is 4.0.0-Beta.2 in
version.py. openai/httpx are declared so AI analysis can ship.

close #248
close #249
close #254
close #256
close #257
close #260
…sign/MSI.

Fetch scripts use the official releases/couchbase-lite-c tree (HTTP 200).
CBL C is 3.2.4 and couchbase-lite-python is pinned so CFFI compiles.
build_mac.spec / build_win.spec are onedir, native-arch, with the runtime
hook and real icons. Tray libs live in requirements-desktop.txt. Sign
script finds libcblite anywhere in the bundle; WiX no longer uses a
placeholder GUID.

close #250
close #251
close #253
close #255
…in docs.

All four desktop workflows call .github/actions/build-desktop (fetch
libcblite, build bindings, build_*.spec). Assets are named UNSIGNED-arm64
/ UNSIGNED-x64. README no longer promises STORAGE_BACKEND=server, Setup.exe,
or files at the repo root. Docker and desktop listen on 8080.

close #247
close #252
close #258
close #261
close #262
@Fujio-Turner
Fujio-Turner merged commit bec7f3d into release-4.0.0-beta Sep 15, 2026
1 of 2 checks passed
This was referenced Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant