<feed xmlns='http://www.w3.org/2005/Atom'>
<title>digiid-ts-demo/src, branch main</title>
<subtitle>[MIRROR] Digi-ID TypeScript Integration Demo</subtitle>
<id>https://git.zelu.dev/digiid-ts-demo/atom?h=main</id>
<link rel='self' href='https://git.zelu.dev/digiid-ts-demo/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/'/>
<updated>2026-11-03T07:46:22Z</updated>
<entry>
<title>Update dependencies</title>
<updated>2026-11-03T07:46:22Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel@pzelawski.com</email>
</author>
<published>2026-11-03T07:46:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=b6af70fea157b65c17555f5a229ce0b8f7d084a5'/>
<id>urn:sha1:b6af70fea157b65c17555f5a229ce0b8f7d084a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(deps): upgrade digiid-ts to 4.0.0 and update deps to latest stable</title>
<updated>2026-10-04T14:49:25Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel@pzelawski.com</email>
</author>
<published>2026-10-04T14:49:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=7d8b01c872d666c2322abc7775014cc5edfcde11'/>
<id>urn:sha1:7d8b01c872d666c2322abc7775014cc5edfcde11</id>
<content type='text'>
- digiid-ts 3.0.3 -&gt; 4.0.0 (public API unchanged; requires Node &gt;=22.12.0)
- Raise engines.node and .nvmrc to Node 22; update README prerequisite
- Bump vitest/@vitest/coverage-v8 to 5, jsdom to 30, dotenv to 18,
  vite to 8.3, eslint to 10.12, react to 19.3, and other dev tooling
- Hold TypeScript at 6.0.3 (typescript-eslint caps at &lt;6.1.0)
- Refresh overrides with patched transitive deps, dropping stale pins
- Reformat utils.ts to satisfy prettier 3.9

Remaining audit finding (braces via nodemon/chokidar) has no upstream fix.
</content>
</entry>
<entry>
<title>fix: ensure server autostarts under pm2 runtime</title>
<updated>2026-05-23T09:34:15Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel@pzelawski.com</email>
</author>
<published>2026-05-23T09:34:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=ca7452469f68d7c36a5d29eb3aca93023d021d1c'/>
<id>urn:sha1:ca7452469f68d7c36a5d29eb3aca93023d021d1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: harden demo security and add full test suite</title>
<updated>2026-05-23T09:11:53Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel@pzelawski.com</email>
</author>
<published>2026-05-23T09:11:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=04d93d7d235d328ef40c9dae4e1f56dc8a5e893f'/>
<id>urn:sha1:04d93d7d235d328ef40c9dae4e1f56dc8a5e893f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: complete dependency upgrades and migrate lint to ESLint 10</title>
<updated>2026-05-23T08:50:04Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel@pzelawski.com</email>
</author>
<published>2026-05-23T08:50:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=b4369d9d0f700869fd82f64bdc3af012a1ce5bd9'/>
<id>urn:sha1:b4369d9d0f700869fd82f64bdc3af012a1ce5bd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: upgrade digiid-ts to v3 and stabilize dev/build scripts</title>
<updated>2026-05-23T08:33:53Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel@pzelawski.com</email>
</author>
<published>2026-05-23T08:33:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=376feecb280c28504788c9677c6cb3cc455f00b6'/>
<id>urn:sha1:376feecb280c28504788c9677c6cb3cc455f00b6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: resolve TypeScript errors in Express route handlers</title>
<updated>2025-04-10T12:39:56Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel.zelawski@outlook.com</email>
</author>
<published>2025-04-10T12:39:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=d56c6a52f1dd1e539acd7a9cd45e2d32a2439ce8'/>
<id>urn:sha1:d56c6a52f1dd1e539acd7a9cd45e2d32a2439ce8</id>
<content type='text'>
- Add NextFunction type import from express
- Restructure route handlers to use proper Express middleware pattern
- Wrap async functions in IIFE for proper error handling
- Add proper error handling with next function
- Maintain existing functionality while satisfying TypeScript type system

This fixes TS2769 errors related to route handler type definitions
in /api/digiid/start and /api/digiid/callback endpoints.
</content>
</entry>
<entry>
<title>refactor: improve layout and spacing across all views</title>
<updated>2025-04-10T12:35:56Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel.zelawski@outlook.com</email>
</author>
<published>2025-04-10T12:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=d858bd4e0fc7aaba15509a17b35138e843667bc1'/>
<id>urn:sha1:d858bd4e0fc7aaba15509a17b35138e843667bc1</id>
<content type='text'>
- Remove extra space at the top of the page by adjusting body and root styles
- Add consistent 20px top padding to all views through app-container
- Simplify layout structure by removing unnecessary flex containers
- Adjust spacing between elements for better visual hierarchy:
  - Reduce gaps between elements from 1.5rem to 1rem
  - Reduce bottom margin of h1 from 1.5rem to 1rem
  - Remove negative margins and extra padding
- Maintain consistent box dimensions (390px width, 560px height) for all views
- Ensure proper spacing for QR code and other content within views
</content>
</entry>
<entry>
<title>feat: link local digiid-ts library and integrate into backend</title>
<updated>2025-04-10T09:14:05Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel.zelawski@outlook.com</email>
</author>
<published>2025-04-10T09:14:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=e29a1b9a652fe254d13afef7f5c7a3d7a64b68cc'/>
<id>urn:sha1:e29a1b9a652fe254d13afef7f5c7a3d7a64b68cc</id>
<content type='text'>
- Added local `digiid-ts` library as a file dependency in `package.json`.
- Moved runtime dependencies (react, express, etc.) to `dependencies` section.
- Updated `src/server/main.ts`:
    - Imported `generateDigiIDUri`, `verifyDigiIDCallback`, and `DigiIDError` from `digiid-ts`.
    - Replaced placeholder URI generation with `generateDigiIDUri`.
    - Replaced placeholder callback verification with `verifyDigiIDCallback`.
    - Refactored `/api/digiid/callback` handler to use `try...catch` for verification, handling thrown `DigiIDError` on failure as per library design.
    - Ensured session state is updated and 200 OK response sent in `finally` block.
- Cleaned up related placeholder comments in `src/server/main.ts`.
- (Requires `npm install` to be run after checkout)
</content>
</entry>
<entry>
<title>feat(client): implement react frontend application</title>
<updated>2025-04-10T08:55:22Z</updated>
<author>
<name>Pawel Zelawski</name>
<email>pawel.zelawski@outlook.com</email>
</author>
<published>2025-04-10T08:55:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zelu.dev/digiid-ts-demo/commit/?id=c852aa92f84d0c18b1bd7361163498a542461d45'/>
<id>urn:sha1:c852aa92f84d0c18b1bd7361163498a542461d45</id>
<content type='text'>
- Created main entry point `src/client/main.tsx`.
- Created main `App` component `src/client/App.tsx`.
- Implemented state management (`initial`, `waiting`, `success`, `failed`) using `useState`.
- Implemented `handleStart` to call backend `/api/digiid/start` and transition to `waiting` state.
- Implemented `useEffect` hook for polling backend `/api/digiid/status/:sessionId` in `waiting` state.
    - Updates UI state based on polling response (`success`/`failed`).
    - Handles polling errors and cleanup.
- Implemented `handleReset` to return to `initial` state.
- Implemented views for each state:
    - `initial`: Welcome message, Start button.
    - `waiting`: QR code display, status message, Cancel button.
    - `success`: Success message, verified address, address type, Start Over button.
    - `failed`: Failure message, error details, Try Again button.
- Added client-side address type helper `getDigiByteAddressType` in `src/client/utils.ts`.
- Added basic CSS styling in `src/client/index.css` with light/dark mode support.
- Added frontend-related scripts (`dev:frontend`, `dev`, `build`, `lint`, `preview`) to `package.json`.
- Fixed linter type issue with `setInterval` return value.
</content>
</entry>
</feed>
