Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug export PDF dodoc 10 #718

Closed
jubonhomme opened this issue Mar 9, 2023 · 14 comments
Closed

Bug export PDF dodoc 10 #718

jubonhomme opened this issue Mar 9, 2023 · 14 comments
Milestone

Comments

@jubonhomme
Copy link
Collaborator

jubonhomme commented Mar 9, 2023

Après avoir lancé un export en pdf dodoc se ferme.

Edit : Si j'ouvre à nouveau dodoc ça fonctionne mais dès que j'essaie d'ouvrir ce projet ça se referme de suite

Voici ce que donne npm run debug

julien@CM57-DEL12:~/dodocgit/dodoc10elec$ npm run debug

> dodoc@10.0.0-dev debug
> electron --inspect=5858 . -- --debug --verbose

Debugger listening on ws://127.0.0.1:5858/4547ff7a-b102-4ae3-997e-31e8035e273c
For help, see: https://nodejs.org/en/docs/inspector
INDEX / didn’t find override settings
SOCKETS • Sockets module initialized
App is electron
Starting = dodoc
Node = 16.14.2
Init module with debug = true and verbose = true
Debug mode is enabled
---
~ DEV-LOG • initModule – logfunction = magenta
↓ DEV-LOG • initModule – logapi = blue
* DEV-LOG • initModule – logpackets = green
→ DEV-LOG • initModule – logsockets = cyan
- DEV-LOG • initModule – (dev and verbose) gray for regular parsing data
Not logging to a file
ELECTRON • ELECTRON — init : ready
~ ELECTRON • 
~ ELECTRON • ELECTRON — init : ready / window created
MAIN2 • setupApp – ——— Starting app version 10.0.0-dev
MAIN2 • cleanCacheFolder – Emptying temp folder /home/julien/.cache/dodoc_cache
~ MAIN2 • copyAndRenameUserFolder – {"full_default_path":"/home/julien/dodocgit/dodoc10elec/content"}
MAIN2 • copyAndRenameUserFolder – -> content folder is valid: /home/julien/Documents/dodoc_next
MAIN2 • setupApp – Will store contents in: /home/julien/Documents/dodoc_next
MAIN2 • setupApp – main.js - Found available port: 8080
- SERVER • Starting server 1
- SERVER • Starting server 2
- SERVER • Starting express-settings
SERVERRTC • init
SERVERRTC • ws init
~ API2 • _initAPI – 
- SERVER • Starting server 3
MAIN2 • MAIN — opening URL in electron : https://localhost:8080
SERVER • Server up and running. Go to https://localhost:8080
SERVER •  
[10156:0309/231700.562660:ERROR:cert_verify_proc_builtin.cc(681)] CertVerifyProcBuiltin for localhost failed:
----- Certificate i=0 (emailAddress=sdere@sqrinfotech.com,CN=www.private.com,OU=Private,O=Private,L=NY,ST=NY,C=US) -----
ERROR: No matching issuer found


↓ API2 • loadIndex – 
~ SETTINGS • get – 
~ UTILS • readMetaFile – {"paths":["settings.txt"]}
↓ API2 • loadIndex – 
~ SETTINGS • get – 

↓ API2 • _corsCheck – {"path":"/"} / {"params":{"0":"_authCheck"}}
↓ API2 • _checkGeneralPasswordAndToken – 
↓ API2 • _generalPasswordCheck – 
~ SETTINGS • get – 

↓ API2 • _corsCheck – {"path":"/"} / {"params":{"0":"authors/julienb"}}
↓ API2 • _generalPasswordCheck – 
~ SETTINGS • get – 
↓ API2 • _getFolder – {"path_to_folder":"authors/julienb"}
~ FOLDER • getFolder – {"path_to_folder":"authors/julienb"}
~ UTILS • parseAndCheckSchema – {"relative_path":"authors/julienb"}
~ CACHE • get – no cache for authors/julienb
~ UTILS • readMetaFile – {"paths":["authors/julienb","meta.txt"]}
~ FOLDER • _getFolderCover – {"schema":"__undefined__","path_to_folder":"authors/julienb"}
ELECTRON • ELECTRON — createWindow : ready-to-show
~ CACHE • set – set authors/julienb
~ FILE • getFiles – {"path_to_folder":"authors/julienb"}
~ FILE • _getMetasInFolder – {"path_to_folder":"authors/julienb"}
~ FILE • _getMetasInFolder – {"files":[]}
* API2 • _getFolder – {"d":{"email":"julien.bonhomme@reseau-canope.fr","name":"JulienB","role":"contributor","$status":"public","$password":"_active","$date_modified":"2023-03-02T09:06:29.379Z","$date_created":"2023-03-02T09:06:29.379Z","$path":"authors/julienb","$files":[]}}
CACHE • printStatus – cache is enabled, number of items = 1, size = 236

↓ API2 • _corsCheck – {"path":"/"} / {"params":{"0":"authors"}}
↓ API2 • _generalPasswordCheck – 
~ SETTINGS • get – 
~ FOLDER • getFolders – {"path_to_type":"authors"}
~ UTILS • parseAndCheckSchema – {"relative_path":"authors"}
~ FOLDER • _getFolderSlugs – {"path_to_type":"authors"}
~ FOLDER • _getFolderSlugs – {"folders":["julienb"]}
~ FOLDER • getFolder – {"path_to_folder":"authors/julienb"}
~ UTILS • parseAndCheckSchema – {"relative_path":"authors/julienb"}
~ CACHE • get – has cache for authors/julienb
* API2 • _getFolders – {"d":[{"email":"julien.bonhomme@reseau-canope.fr","name":"JulienB","role":"contributor","$status":"public","$password":"_active","$date_modified":"2023-03-02T09:06:29.379Z","$date_created":"2023-03-02T09:06:29.379Z","$path":"authors/julienb"}]}
CACHE • printStatus – cache is enabled, number of items = 1, size = 236
→ SOCKETS • initSessionID
~ SESSIONSTORE • get – {"sessionID":"e9b4881fb6930444"}
- SESSIONSTORE • get – session not found/does not exists, creating new one
- SOCKETS • {"sessions":[]}
→ SOCKETS • RECEIVED CONNECTION FROM SOCKET.id: EFWt4VTgDRot4dXdAAAB
→ SOCKETS • {"sessionID":"6b678aebdb8e5353","userID":"6884060d6fe67422"}
→ SOCKETS • Sockets connected currently : 1
→ SOCKETS • ROOMS — socket EFWt4VTgDRot4dXdAAAB is joining authors
→ SOCKETS • ROOMS — socket EFWt4VTgDRot4dXdAAAB is joining authors

↓ API2 • _corsCheck – {"path":"/"} / {"params":{"0":"projects"}}
↓ API2 • _generalPasswordCheck – 
~ SETTINGS • get – 
~ FOLDER • getFolders – {"path_to_type":"projects"}
~ UTILS • parseAndCheckSchema – {"relative_path":"projects"}
~ FOLDER • _getFolderSlugs – {"path_to_type":"projects"}
~ FOLDER • _getFolderSlugs – {"folders":["festival-du-film-scolaire"]}
~ FOLDER • getFolder – {"path_to_folder":"projects/festival-du-film-scolaire"}
~ UTILS • parseAndCheckSchema – {"relative_path":"projects/festival-du-film-scolaire"}
~ CACHE • get – no cache for projects/festival-du-film-scolaire
~ UTILS • readMetaFile – {"paths":["projects/festival-du-film-scolaire","meta.txt"]}
~ FOLDER • _getFolderCover – {"schema":"__undefined__","path_to_folder":"projects/festival-du-film-scolaire"}
~ CACHE • set – set projects/festival-du-film-scolaire
* API2 • _getFolders – {"d":[{"title":"Festival du film scolaire","license":"CC","$status":"draft","$authors":["authors/julienb"],"$date_modified":"2023-03-02T09:07:03.054Z","$date_created":"2023-03-02T09:07:03.054Z","$path":"projects/festival-du-film-scolaire"}]}
CACHE • printStatus – cache is enabled, number of items = 2, size = 469
→ SOCKETS • ROOMS — socket EFWt4VTgDRot4dXdAAAB is joining projects
→ SOCKETS • ROOMS — socket EFWt4VTgDRot4dXdAAAB is leaving projects

↓ API2 • _corsCheck – {"path":"/"} / {"params":{"0":"projects/festival-du-film-scolaire"}}
↓ API2 • _generalPasswordCheck – 
~ SETTINGS • get – 
↓ API2 • _getFolder – {"path_to_folder":"projects/festival-du-film-scolaire"}
~ FOLDER • getFolder – {"path_to_folder":"projects/festival-du-film-scolaire"}
~ UTILS • parseAndCheckSchema – {"relative_path":"projects/festival-du-film-scolaire"}
~ CACHE • get – has cache for projects/festival-du-film-scolaire
~ FILE • getFiles – {"path_to_folder":"projects/festival-du-film-scolaire"}
~ FILE • _getMetasInFolder – {"path_to_folder":"projects/festival-du-film-scolaire"}
~ FILE • _getMetasInFolder – {"files":["image-1678350368461-gaa-1.jpeg.meta.txt","publication.pdf.meta.txt"]}
- FILE • getFiles – reading image-1678350368461-gaa-1.jpeg.meta.txt
~ FILE • getFile – {"path_to_folder":"projects/festival-du-film-scolaire","path_to_meta":"projects/festival-du-film-scolaire/image-1678350368461-gaa-1.jpeg.meta.txt"}
~ CACHE • get – no cache for projects/festival-du-film-scolaire/image-1678350368461-gaa-1.jpeg.meta.txt
~ UTILS • readMetaFile – {"paths":["projects/festival-du-film-scolaire/image-1678350368461-gaa-1.jpeg.meta.txt"]}

~ THUMBS • makeThumbForMedia – {"media_type":"image","media_filename":"image-1678350368461-gaa.jpeg","path_to_folder":"projects/festival-du-film-scolaire"}
~ UTILS • parseAndCheckSchema – {"relative_path":"projects/festival-du-film-scolaire"}
~ THUMBS • _makeThumbFor – {"full_media_path":"/home/julien/Documents/dodoc_next/projects/festival-du-film-scolaire/image-1678350368461-gaa.jpeg"}
~ THUMBS • _makeImageThumbsFor – {"full_media_path":"/home/julien/Documents/dodoc_next/projects/festival-du-film-scolaire/image-1678350368461-gaa.jpeg","media_filename":"image-1678350368461-gaa.jpeg","path_to_thumb_folder":"thumbs/projects/festival-du-film-scolaire","resolutions":[180,360,1600]}
~ THUMBS • _readFileInfos – {"full_media_path":"/home/julien/Documents/dodoc_next/thumbs/projects/festival-du-film-scolaire/image-1678350368461-gaa.jpeg.180.jpeg"}
~ THUMBS • _readFileInfos – {"full_media_path":"/home/julien/Documents/dodoc_next/thumbs/projects/festival-du-film-scolaire/image-1678350368461-gaa.jpeg.360.jpeg"}
~ THUMBS • _readFileInfos – {"full_media_path":"/home/julien/Documents/dodoc_next/thumbs/projects/festival-du-film-scolaire/image-1678350368461-gaa.jpeg.1600.jpeg"}
~ THUMBS • _makeImageThumbsFor – Made / found thumbs
~ THUMBS • getInfosForFile – {"media_type":"image","media_filename":"image-1678350368461-gaa.jpeg","path_to_folder":"projects/festival-du-film-scolaire"}
~ UTILS • readMetaFile – {"paths":["thumbs/projects/festival-du-film-scolaire","image-1678350368461-gaa.jpeg.infos.txt"]}
~ CACHE • set – set projects/festival-du-film-scolaire/image-1678350368461-gaa-1.jpeg.meta.txt
- FILE • getFiles – reading publication.pdf.meta.txt
~ FILE • getFile – {"path_to_folder":"projects/festival-du-film-scolaire","path_to_meta":"projects/festival-du-film-scolaire/publication.pdf.meta.txt"}
~ CACHE • get – no cache for projects/festival-du-film-scolaire/publication.pdf.meta.txt
~ UTILS • readMetaFile – {"paths":["projects/festival-du-film-scolaire/publication.pdf.meta.txt"]}

~ THUMBS • makeThumbForMedia – {"media_type":"pdf","media_filename":"publication.pdf","path_to_folder":"projects/festival-du-film-scolaire"}
~ UTILS • parseAndCheckSchema – {"relative_path":"projects/festival-du-film-scolaire"}
~ THUMBS • _makeThumbFor – {"full_media_path":"/home/julien/Documents/dodoc_next/projects/festival-du-film-scolaire/publication.pdf"}
- THUMBS • _makeThumbFor – Missing screenshot at / /home/julien/Documents/dodoc_next/thumbs/projects/festival-du-film-scolaire/publication.pdf.page-1.png
~ THUMBS • _makePDFThumbs – {"full_media_path":"/home/julien/Documents/dodoc_next/projects/festival-du-film-scolaire/publication.pdf","full_path_to_thumb":"/home/julien/Documents/dodoc_next/thumbs/projects/festival-du-film-scolaire/publication.pdf.page-1.png","page":1}
1 pages to render...
/home/julien/dodocgit/dodoc10elec/node_modules/electron/dist/electron exited with signal SIGTRAP
@louis-ev
Copy link
Member

louis-ev commented Mar 9, 2023

Peux-tu créer un nouveau projet et y importer ce fichier PDF ? Est-ce qu'il est bien importé et un apercu créé ?

publication-13.pdf

@jubonhomme
Copy link
Collaborator Author

jubonhomme commented Mar 9, 2023

La création de projet fonctionne, je clique sur import ça ouvre la fenêtre, je sélectionne ton pdf et ça crash, dodoc se ferme de suite
Edit : je l'ai fait avec un nouveau projet et l'import d'une image ça fonctionne sans problème. Dès que c'est un import de pdf et qu'il doit créer un aperçu ça crash dodoc se ferme

J'ai pourtant refait un npm install et npm run build après le git pull

@louis-ev
Copy link
Member

louis-ev commented Mar 9, 2023

Un problème très probablement lié à Canvas, qui nécessite des paquets sur ton os ?
Difficile à diagnostique comme ça mais ça semble être le cas.

Il y a pas mal de soucis d'installation à cause de l'aperçu de pdf et l'aperçu de stl, à force je me demande si ça a vraiment du sens dd les garder...

@louis-ev
Copy link
Member

PS. n'hésite pas à utiliser l'option ``` pour mettre des logs :)

 ~ THUMBS • _readFileInfos – {"full_media_path":"/home/julien/Documents/dodoc_next/thumbs/projects/festival-du-film-scolaire/image-1678350368461-gaa.jpeg.180.jpeg"}
~ THUMBS • _readFileInfos – {"full_media_path":"/home/julien/Documents/dodoc_next/thumbs/projects/festival-du-film-scolaire/image-1678350368461-gaa.jpeg.360.jpeg"}
~ THUMBS • _readFileInfos – {"full_media_path":"/home/julien/Documents/dodoc_next/thumbs/projects/festival-du-film-scolaire/image-1678350368461-gaa.jpeg.1600.jpeg"}
~ THUMBS • _makeImageThumbsFor – Made / found thumbs
~ THUMBS • getInfosForFile – {"media_type":"image","media_filename":"image-1678350368461-gaa.jpeg","path_to_folder":"projects/festival-du-film-scolaire"}

@jubonhomme jubonhomme changed the title Bur export PDF dodoc 10 Bug export PDF dodoc 10 Mar 10, 2023
@jubonhomme
Copy link
Collaborator Author

"Il y a pas mal de soucis d'installation à cause de l'aperçu de pdf et l'aperçu de stl, à force je me demande si ça a vraiment du sens de les garder..."

Ça concerne juste la création de la vignette pour l'affichage dans la partie collecter ou ça concernerait aussi la possibilité d'ouvrir et visualiser un pdf ou un stl dans dodoc ?
Si c'est juste la vignette, pourquoi pas remplacer par un picto pdf par exemple.
Par contre si on ne peut plus visualiser les fichiers dans dodoc c'est dommage.

@louis-ev
Copy link
Member

As-tu résolu ce soucis ?

Ça concerne juste la création de la vignette pour l'affichage dans la partie collecter ou ça concernerait aussi la possibilité d'ouvrir et visualiser un pdf ou un stl dans dodoc ?

Non, ça concernerait que l'apercu dans le panneau Collecter et l'apercu dans les publications. Hors mode "consultation" (ou on peut voir un PDF, ou tourner autour d'un stl, qui n'est pas encore possible sur la v10).

Par contre je réalise qu'on aura peut etre besoin de ce paquet pdf pour créer des documents page à page type "livre" avec double page et imposition pour imprimer en feuillet. À court terme on va le garder, mais voyons si la question revient (notamment sur raspberry)

@jubonhomme
Copy link
Collaborator Author

Non j'ai installé plusieurs choses mais ça crash toujours. Je n'ai pas trouvé le bon paquet qui manque visiblement

@jubonhomme
Copy link
Collaborator Author

Après quelques tests sur mon ordinateur (ubuntu 20.04)

J'ai installé ce qu'il manquait dans cette liste :
puppeteer/puppeteer#7736 (comment)

Uniquement "libgcc1" sur ma machine

Celles-ci aussi
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

Donc les vignettes des page à page fonctionnent pour la branche "next" et "next-node".

L'export pdf fonctionne bien sur "next-node" mais plante toujours sur "next".

C'est donc bien lié à electron.

@jubonhomme
Copy link
Collaborator Author

Pour l'instant l'utilisation de la version serveur "next-node" fonctionne bien sous linux et sous raspberry ... c'est peut-être une solution qui évite les soucis de paquet et de branches spécifiques à chaque système.

@louis-ev
Copy link
Member

louis-ev commented Nov 8, 2023

On en est ou ici du coup ? On est bon pour sortir un AppImage/electron qui marche partout ?

@louis-ev louis-ev added this to the do•doc 10 milestone Nov 8, 2023
@jubonhomme
Copy link
Collaborator Author

SI on utilise
npm install --no-optional

ça passe sous linux, donc j'imagine que ça passera dans le appimage

Je vais refaire des tests

@FabLabEcoCentre
Copy link

FabLabEcoCentre commented Nov 17, 2023

[EDIT : Soucis partiellement résolu en installant les dépendanes dont parle Julien plus haut. Maintenant j'arrive à exporter en pdf les récit simples. En revanche un récit plus long (plusieurs chapitres etc.) fail à 70%]

Hello :)

je relance ce bug.
je ne sais pas si j'ai raté qqch, mais sur mon NAS Synology (install dans Docker de la version "next-node" l'export en PDF de récit ne fonctionne pas :

image

Résultat de mon npm run debug

* API2 • _exportToParent – {"status":"task_started","path_to_parent_folder":"spaces/fablab-varennes-ecocentre/projects/testexportpdf","task_id":"b508b6fb-5fbd-42c6-957e-ac138c0bce1c"}              
~ SETTINGS • get –                                                                                                                                                                                   
~ FOLDER • getFolder – {"path_to_folder":"","detailed":"__undefined__"}                                                                                                                              
~ CACHE • get – has cache for                                                                                                                                                                        
~ FILE • getFiles – {"path_to_folder":""}                                                                                                                                                            
~ FILE • _getMetasInFolder – {"path_to_folder":""}                                                                                                                                                   
~ FILE • _getMetasInFolder – {"files":["dodoc-cerf-logo-1.svg.meta.txt","image-2023-10-30-094954356-1.png.meta.txt","logo2-cerf-allier-1.svg.meta.txt"]}                                             
- FILE • getFiles – reading dodoc-cerf-logo-1.svg.meta.txt                                                                                                                                           
~ FILE • getFile – {"path_to_meta":"dodoc-cerf-logo-1.svg.meta.txt"}                                                                                                                                 
~ CACHE • get – has cache for dodoc-cerf-logo-1.svg.meta.txt                                                                                                                                         
- FILE • getFiles – reading image-2023-10-30-094954356-1.png.meta.txt                                                                                                                                
~ FILE • getFile – {"path_to_meta":"image-2023-10-30-094954356-1.png.meta.txt"}                                                                                                                      
~ CACHE • get – has cache for image-2023-10-30-094954356-1.png.meta.txt                                                                                                                              
- FILE • getFiles – reading logo2-cerf-allier-1.svg.meta.txt                                                                                                                                         
~ FILE • getFile – {"path_to_meta":"logo2-cerf-allier-1.svg.meta.txt"}                                                                                                                               
~ CACHE • get – has cache for logo2-cerf-allier-1.svg.meta.txt                                                                                                                                       
                                                                                                                                                                                                     
  Puppeteer old Headless deprecation warning:                                                                                                                                                        
    In the near feature `headless: true` will default to the new Headless mode                                                                                                                       
    for Chrome instead of the old Headless implementation. For more                                                                                                                                  
    information, please see https://developer.chrome.com/articles/new-headless/.                                                                                                                     
    Consider opting in early by passing `headless: "new"` to `puppeteer.launch()`                                                                                                                    
    If you encounter any bugs, please report them to https://github.com/puppeteer/puppeteer/issues/new/choose.                                                                                       
                                                                                                                                                                                                     
¶ SOCKETS • ROOMS — socket QZQ0tuEGtKrJI3pBAAAD is joining task_b508b6fb-5fbd-42c6-957e-ac138c0bce1c                                                                                                 
~ EXPORTER • {}                                                                                                                                                                                      
~ NOTIFIER • {"event":"taskEnded","path":"task_b508b6fb-5fbd-42c6-957e-ac138c0bce1c","data":{"task_id":"b508b6fb-5fbd-42c6-957e-ac138c0bce1c","message":{"event":"failed"}}}                         
~ API2 • Failed to export file: Error: failed                                                                                                                                                        
~ NOTIFIER • {"event":"taskEnded","path":"b508b6fb-5fbd-42c6-957e-ac138c0bce1c","data":{"task_id":"b508b6fb-5fbd-42c6-957e-ac138c0bce1c","message":{}}}                                              
~ EXPORTER • page timeout for https://localhost:8080/+fablab-varennes-ecocentre/testexportpdf/publications/testsanscarrousel                                                                         
/home/dodoc/core2/Exporter.js:294                                                                                                                                                                    
      if (browser) await browser.close();                                                                                                                                                            
      ^                                                                                                                                                                                              
                                                                                                                                                                                                     
ReferenceError: Cannot access 'browser' before initialization                                                                                                                                        
    at Timeout.<anonymous> (/home/dodoc/core2/Exporter.js:294:7)                                                                                                                                     
    at listOnTimeout (node:internal/timers:559:17)                                                                                                                                                   
    at processTimers (node:internal/timers:502:7)                                                                                                                                                    
npm notice                                                                                                                                                                                           
npm notice New major version of npm available! 8.5.0 -> 10.2.4                                                                                                                                       
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.2.4                                                                                                                                
npm notice Run npm install -g npm@10.2.4 to update!                                                                                                                                                  
npm notice

@louis-ev
Copy link
Member

louis-ev commented Mar 8, 2024

Hello !
possible de retenter avec une version récente de dodoc2-next ?
Merci !

@louis-ev
Copy link
Member

Je ferme, n'hésitez pas à rouvrir si besoin !

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

No branches or pull requests

3 participants