Skip to content

update: body height limit#18

Closed
dvoiejanovic wants to merge 1 commit intomasterfrom
update/body-height-limit
Closed

update: body height limit#18
dvoiejanovic wants to merge 1 commit intomasterfrom
update/body-height-limit

Conversation

@dvoiejanovic
Copy link
Copy Markdown
Contributor

@dvoiejanovic dvoiejanovic commented Mar 11, 2025

`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.', {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Želim ovu poruku prikazati na Exporteru u nekakvom error templateu, pa sam je učinio više user-friendly.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@dvoiejanovic dvoiejanovic requested a review from trogulja March 11, 2025 08:08
Copy link
Copy Markdown
Collaborator

@trogulja trogulja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.', {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

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

Successfully merging this pull request may close these issues.

2 participants