FOREIGN KEY constraint failed when Panels iOS sends bookmarks/browser settings via OPDS
**Description:**
When using Panels (iOS OPDS client) to stream comics, Codex repeatedly crashes with a FOREIGN KEY constraint failed error when trying to save bookmarks or browser settings. The error occurs every few seconds in an endless loop and makes OPDS unusable.
Steps to reproduce:
**Set up Codex with OPDS v1.2**
Connect Panels (iOS) via OPDS
Open any comic subfolder or start reading a comic
Codex immediately starts throwing FOREIGN KEY constraint failed on bookmarks_bookmark or SettingsBrowser
**Expected behavior:**
Codex should handle invalid or orphaned bookmark references gracefully without crashing or looping.
**Actual behavior:**
Endless error loop every ~3 seconds, OPDS becomes unusable for the client.
**Error from logs:**
django.db.utils.IntegrityError: FOREIGN KEY constraint failed
ERROR | Updating bookmarks
django.db.utils.IntegrityError: FOREIGN KEY constraint failed
ERROR | Updating bookmarks
[repeats indefinitely]
**Workaround found:**
Deleting the entire Codex config (database) and reinstalling Panels temporarily fixes the issue, but it reoccurs after a short time.
**Environment:**
Codex version: latest (Docker ghcr.io/ajslater/codex)
OPDS client: Panels (iOS), multiple devices (iPhone + iPad)
OPDS URL: /opds/v1.2/
Deployment: Docker on Synology NAS behind Nginx Proxy Manager
5 条评论