Conversation
| `Header/footer too big. Page height: ${pageHeight}px, header: ${headerHeight}px, footer: ${footerHeight}px, body: ${bodyHeight}px.` | ||
| ); | ||
| if (bodyHeight < pageHeight * BODY_HEIGHT_MIN_FACTOR) { | ||
| throw new Error('The header and footer are too large to fit on the page. Please reduce their size and try again.', { |
There was a problem hiding this comment.
Želim ovu poruku prikazati na Exporteru u nekakvom error templateu, pa sam je učinio više user-friendly.
There was a problem hiding this comment.
Upravo je ovo dio na koji sam mislio kad sam rekao na tasku da error handling ne bi trebali raditi u libu.
Lib je iskljucivo developer facing stvar -> errori koje ovdje throwamo moraju imati informacije korisne za developere, ne za usere. Ovim gubimo cijeli reasoning zasto je throwano i sto se desilo sa velicinama hadera / footera / bodya.
Ono sto bi trebalo napraviti je na exporteru handleati ovdje throwane errore u catch bloku:
// handle-export-document.ts linija ~98
if (Error.isError(error) && error.message.startsWith('Header/footer too big.') {
return 'The header and footer are too large to fit on the page...'
}i onda taj kod handleati unutar rute da se returna kako spada.
trogulja
left a comment
There was a problem hiding this comment.
Ovo ne mozemo na ovaj nacin rjesavati... nije isti pristup rjesavanja problema u nasoj aplikaciji i u librariju.
| const footerY = footerHeight ? -1 : 0; | ||
| const bodyY = footerHeight - (pageHeight ? 1 : 0); | ||
| const backgroundY = 0; | ||
| const BODY_HEIGHT_MIN_FACTOR = 0.25; |
There was a problem hiding this comment.
Jako nisam fan rjesavanja lokalnih problema na globalnoj razini. To uvijek, ali bas uvijek vodi u krivom smjeru i onda hrpa bugova ispliva.
Ovo nikako ne bi rjesavao hardcodiranjem, pogotovo ne u libu - jer to vodi prema panicnom republishanju paketa da se pofixaju neki drugi problemi koji ce tek isplivati.
Ovo trebamo rjesavat na nacin na genericki nacin - da se otvori konfiguracijska opcija overrideanja tog faktora, pa onda overrideaj na exporteru prilikom inicijalizacije. Pa ako se pokaze da je override los, puno ce se brze moc reagirat uz daleko manji friction.
| `Header/footer too big. Page height: ${pageHeight}px, header: ${headerHeight}px, footer: ${footerHeight}px, body: ${bodyHeight}px.` | ||
| ); | ||
| if (bodyHeight < pageHeight * BODY_HEIGHT_MIN_FACTOR) { | ||
| throw new Error('The header and footer are too large to fit on the page. Please reduce their size and try again.', { |
There was a problem hiding this comment.
Upravo je ovo dio na koji sam mislio kad sam rekao na tasku da error handling ne bi trebali raditi u libu.
Lib je iskljucivo developer facing stvar -> errori koje ovdje throwamo moraju imati informacije korisne za developere, ne za usere. Ovim gubimo cijeli reasoning zasto je throwano i sto se desilo sa velicinama hadera / footera / bodya.
Ono sto bi trebalo napraviti je na exporteru handleati ovdje throwane errore u catch bloku:
// handle-export-document.ts linija ~98
if (Error.isError(error) && error.message.startsWith('Header/footer too big.') {
return 'The header and footer are too large to fit on the page...'
}i onda taj kod handleati unutar rute da se returna kako spada.
Task: https://app.productive.io/109-productive/tasks/11201371