Un Docs salvare non poteva memorizzare bytes la piattaforma già tenuta

FixDocsService
Spegnimento
9 settembre 2026 alle ore 20:03 UTC
Autore
Kamo
Impegno
2cdf1ff

Salvare un documento due volte, e rinominarne uno, entrambi finiti in "Documento non può essere salvato, si prega di controllare le autorizzazioni" — e dopo cinque retries Docs dato e scartato il lavoro del membro. Neanche un problema con le autorizzazioni. Tre difetti separati, tutti raggiungendo il redattore come un opaco 500: saveImgContent ha coniato un ImgDat per salvare. idx img dats hash unique spans (blake3, sha3-256, dimensione) per l'intera piattaforma, in modo da memorizzare il contenuto che è già memorizzato è un 23505 — e questo percorso viene consegnato gli stessi byte di routine: Docs ri-sends il file byte-identical dopo qualsiasi upload non poteva completo, e due salva dentro un secondo ARE byte-identico, perché LibreOffice scrive dcterms:modificato a una risoluzione di secondo. Questo è intero bug: tre salvazioni a 19:31:20/23/24 atterrato, il quarto 180m più tardi era identico al terzo e 500'd, e l'anello di riprovazione non potrebbe mai fare tutto tranne ripeterlo. creareNewDocument e ImageService.uploadDocument già trovato-o-creato da hash; questo era l'unico percorso di scrittura che non ha fatto. The inserto convertito-PDF in reconvertDocument aveva la stessa forma ed è fissato anche. saveAsNewDocument ha superato null client hashes per caricareDocument, che verifica loro contro il proprio e lancia "Client Blake3 hash non corrisponde server calcolo" — null differisce, così ogni Salva come ha sempre fallito. Rinominazione esiste anche: senza SupportsRinomina/UserCanRinominare il campo dei nomi dell'editor cade attraverso a map.saveAs(), quindi un rinominato ramificato un nuovo documento piuttosto che Rinomina questo. RenameFile è ora implementato e pubblicizzato. CheckFileInfo non ha restituito LastModifiedTime e PutFile un corpo vuoto, quindi Docs ha registrato "JSON non valido o mancante in WOPI:::PutFile HTTP OK risposta" e non poté mai registrare quel deposito tenuto quello che aveva. Entrambi ora portano Il timestamp di ImgDat, che si muove se e solo se i byte fanno. E /api/docs/new ha consegnato l'editor l'ORIGINALE. /api/docs/open deriva il versione classica prima precisamente in modo che l'originale non venga mai modificato in luogo; una il documento creato era quello che era. Ora ne deriva anche — la relazione membro indovinato esattamente questo. Il fallimento di PutFile è anche registrato ora. Era ingoiato, quindi l'unica traccia di qualsiasi di questo era una linea di Hibernate non attribuita.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo