Repository navigation
E-Book Reader 0.9.0
Geändert
- Kontaktadresse der App (App-Store-Angaben in
info.xml,composer.json) ist jetzt it@wasmitleder.de. .gitignoreschließt Schlüssel- und Umgebungsdateien aus (*.key,*.pem,*.p12,.env), damit z. B. der App-Store-Signaturschlüssel nie versehentlich committet wird.
Behoben
- Geteilte Bücher: Löschen, Sortieren, Umbenennen und „Original löschen“ nach der Comic-Konvertierung veränderten bisher die Datei des Eigentümers, wenn die Freigabe Löschrechte hatte. Die App rührt Dateien anderer Benutzer nicht mehr an:
DELETE /books/{fileId}antwortet mit 403 („The book belongs to ; remove the share instead“),POST /books/deletemeldet solche Bücher als fehlgeschlagen (error: shared), „Ordnen“ überspringt sie mit Hinweis und räumt keine leeren Ordner innerhalb einer Freigabe (auch nicht deren Wurzel) mehr weg. Der Lösch-Dialog zeigt geteilte Bücher mit „geteilt von …“ an und löscht nur eigene. Das Buch-JSON hat dafür die neuen Felderowner(Benutzer-ID des Dateieigentümers) undshared(Datei stammt aus einer Freigabe). - Geteilter Ordner mit Bearbeitungsrecht: Bearbeiten Eigentümer und Empfänger die Metadaten eines Buchs, überschreiben sie sich nicht mehr gegenseitig. Vor dem Schreiben der Begleitdatei (
.<Buch>.opf) wird geprüft, ob sie sich seit dem Aufbau der eigenen Bibliothekszeile geändert hat; dann werden zuerst die fremden Änderungen übernommen (nicht bearbeitete Felder behalten die Werte der anderen Person) und ein Schreiben mitten in einer fremden Änderung wird wiederholt. Bleibt die Begleitdatei dauerhaft in Bewegung, wird die Änderung nur in der Bibliothek gespeichert und eine Warnung gezeigt. Nach jedem Schreiben von Begleitdatei oder Datei werden die Bücher aller Benutzer sofort neu eingelesen, statt erst beim nächsten Scan (bis zu 6 Stunden). - Vom Besitzer geteilte Bücher (App-Teilen): Titel, Serie usw., die der Empfänger ändert, bleiben jetzt erhalten. Sie werden immer als eigene Überschreibungen in der Bibliothek des Empfängers gespeichert (nie in Begleitdatei oder Datei des Besitzers) und haben Vorrang vor den Werten des Besitzers; „Metadaten in die Datei schreiben“ ist für solche Bücher gesperrt.
- Persönliche (nur in der App gespeicherte) Tags landen nicht mehr in der Begleitdatei oder in der Buchdatei: Die Tags eines Benutzers erscheinen nicht mehr beim anderen, und das Entfernen eines Tags des Eigentümers wirkt nicht mehr bei ihm. Beim App-Teilen erhält der Empfänger nur Genres und Datei-Tags des Besitzers, nie dessen persönliche Tags.
- Konvertieren/Optimieren in einem geteilten Ordner mit „Original löschen“: Status, Bewertung, Tags, Lesefortschritt und Markierungen werden jetzt für alle Benutzer übernommen, die das Original in ihrer Bibliothek hatten, und die neue Datei wird für sie sofort indexiert (bisher nur für den ausführenden Benutzer; bei den anderen blieben Fortschritt und Markierungen am gelöschten Original und wurden nach 30 Tagen entfernt).
- Markierungen und Notizen eines Empfängers bleiben erhalten, wenn eine Freigabe widerrufen wird, ein Buch ein geteiltes Smart-Regal verlässt oder ein Mount verschwindet (wie der Lesefortschritt). Die Bereinigung löscht Markierungen nur noch, wenn die Datei selbst gelöscht wurde.
- Freigegebene Bücher: Bewertungs-, Status- und Lesefortschrittsänderungen des Besitzers lösen beim Empfänger keine Neuindexierung mehr aus und verraten nicht mehr dessen Aktivitätszeiten. Neue Spalte
meta_updated_atinebookreader_books(MigrationVersion1007Date20261007100000) für Metadaten-, Cover- und Dateiänderungen;updatedAtfür/syncbleibt unverändert. - Nach dem Bearbeiten eines EPUB werden auch die Positionen der Markierungen aller Benutzer auf die geänderten Kapitel umgeschrieben (wie die Lesepositionen).
What's Changed
- CBR: fall back to other tools when the listing tool cannot unpack a RAR by @SomeCatCode in #12
- Reader: fullscreen mode by @SomeCatCode in #13
- Couple read status and reading progress by @SomeCatCode in #14
- Prepare 0.8.0 by @SomeCatCode in #16
- Ignore format=json/xml in the book-format filter by @SomeCatCode in #18
- Prepare 0.8.1 by @SomeCatCode in #19
- Contact address it@wasmitleder.de; ignore key and env files by @SomeCatCode in #21
- Sharing hardening: protect owner files, per-user metadata and data by @SomeCatCode in #22
Full Changelog: v0.6.1...v0.9.0