sign-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev 528326727848
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone 1da91c033c738ab74538d13d
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
src/lib/docdata.ts
// Loading a document's pages: the uploaded PDF, or the PDF rendered from its text.
import { getFiles } from "@bounded-sh/client";
import { renderTextPdf } from "./textpdf";
import { parseJson, type Doc, type Field, type Signer } from "../../functions/lib/doc";

export interface Base { bytes: Uint8Array; fields: Field[] }

/** The document's pages: the uploaded PDF, or the PDF rendered from its text. */
export async function loadBase(docId: string, doc: Doc, signers: Signer[]): Promise<Base> {
  if (doc.sourceKind === "text") {
    const r = await renderTextPdf(doc.title, doc.text || "", signers, doc.createdAt);
    return { bytes: r.bytes, fields: r.fields };
  }
  const res = await getFiles(`docfiles/${docId}/f`);
  const file = (res?.data || [])[0];
  if (!file?.url) throw new Error("The document's file is not available yet. Try again in a moment.");
  const r = await fetch(file.url);
  if (!r.ok) throw new Error("The document's file could not be downloaded. Try again.");
  return { bytes: new Uint8Array(await r.arrayBuffer()), fields: parseJson<Field[]>(doc.fields, []) };
}

Change history

Quality pass: phone signing, edit signers, copy to send again
5283267278 · 5 hours ago
Bounded source sync
15f0fa2e27 · 1 day ago
Bounded source sync
d3aa1ca65b · 1 day ago
Bounded source sync
8e2ca0b773 · 1 day ago
Bounded source sync
5cfa84715c · 1 day ago
Bounded source sync
c849e7b286 · 1 day ago
Bounded source sync
68c1cabe03 · 1 day ago
Bounded source sync
62ae8944f0 · 1 day ago
Bounded source sync
7ed54e7381 · 1 day ago