Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
1c69678
add initial new version of new ppt addin
rschlaefli Apr 24, 2025
dcbc071
Merge branch 'v3' of https://github.com/uzh-bf/klicker-uzh into NewPPT
sjschlapbach Jul 10, 2025
0c38979
chore: lockfile maintenance
sjschlapbach Jul 10, 2025
1aeb908
chore: update office-addin in docs folder
sjschlapbach Jul 10, 2025
cbaddcf
Merge branch 'v3' into NewPPT
sjschlapbach Jul 11, 2025
ed3e763
Merge branch 'v3' of https://github.com/uzh-bf/klicker-uzh into NewPPT
rschlaefli Jul 13, 2025
74856d9
Merge branch 'v3' of https://github.com/uzh-bf/klicker-uzh into NewPPT
rschlaefli Jul 13, 2025
e4fb046
copy icons from original add-in, update name/version/license
rschlaefli Jul 13, 2025
47b2820
add claude.md, syncpack on package.json
rschlaefli Jul 13, 2025
35f45d5
reformat
rschlaefli Jul 13, 2025
79a68c2
update claude.md for pnpm
rschlaefli Jul 13, 2025
eca04b7
typescript
rschlaefli Jul 13, 2025
f7f0e9f
rework to rollup
rschlaefli Jul 13, 2025
c5bcbaf
package.json cleaning
rschlaefli Jul 13, 2025
03d210e
tsconfig improvements
rschlaefli Jul 13, 2025
e64b12f
remove legacy add-in and rename v2
rschlaefli Jul 13, 2025
7cdff49
remove .vscode folder
rschlaefli Jul 13, 2025
3d7db14
update content.html template
rschlaefli Jul 13, 2025
6842e5b
wip input validation
rschlaefli Jul 13, 2025
6b148b0
commit plan
rschlaefli Jul 13, 2025
06ad06c
remove debug logging, fix issue with handler init
rschlaefli Jul 14, 2025
26312d4
ts improvements plan
rschlaefli Jul 14, 2025
0991e8c
activities instead of quizzes
rschlaefli Jul 14, 2025
f984a72
Merge branch 'v3' of https://github.com/uzh-bf/klicker-uzh into NewPPT
sjschlapbach Aug 2, 2025
05ce026
fix(apps/office-addin): ensure that new evaluation links with locale …
sjschlapbach Aug 2, 2025
ee6afaa
docs(project): add production-readiness review for office-addin rewri…
rschlaefli Jul 7, 2026
e076ba7
docs(project): resume Office Add-in readiness plan
rschlaefli Jul 20, 2026
27ec95f
chore(office-addin): merge current v3
rschlaefli Jul 20, 2026
5135714
build(office-addin): harden production artifact
rschlaefli Jul 20, 2026
5057be1
fix(office-addin): watch all build inputs
rschlaefli Jul 20, 2026
7a17187
build(office-addin): refresh development toolchain
rschlaefli Jul 20, 2026
5d0f7e8
enhance(office-addin): harden native embed flow
rschlaefli Jul 20, 2026
724438b
refactor(office-addin): simplify native workflow
rschlaefli Jul 20, 2026
049ebfc
Merge remote-tracking branch 'origin/v3' into NewPPT
rschlaefli Jul 22, 2026
1b16af4
fix(office-addin): serialize settings changes
rschlaefli Jul 22, 2026
c0c8973
build(office-addin): refresh Office tooling patches
rschlaefli Jul 22, 2026
86c7fcc
docs(project): finalize Office Add-in verification
rschlaefli Jul 22, 2026
c2ad660
ci(sonar): ignore generated Office Add-in duplication
rschlaefli Jul 22, 2026
3db1ecb
fix(office-addin): sanitize embedded evaluation URLs
rschlaefli Jul 22, 2026
3438e9b
fix(office-addin): reject incompatible uppercase HMACs
rschlaefli Jul 22, 2026
1549ae8
docs(office-addin): address final review notes
rschlaefli Jul 22, 2026
bc5d733
docs(office-addin): record native verification
rschlaefli Jul 26, 2026
4e81d8b
fix(office-addin): serialize settings persistence
rschlaefli Jul 26, 2026
2e9b17f
docs(office-addin): finalize merge gates
rschlaefli Jul 26, 2026
d6f3afb
chore(office-addin): make AGENTS.md canonical
rschlaefli Jul 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions .agents/skills/klicker-testing-verification/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ Facts about the test landscape: [docs/testing.md](../../../docs/testing.md). Thi

## Route the change

| You changed… | Run |
| --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Pure logic in grading/util/export/word-cloud, or chat app logic | `pnpm --filter @klicker-uzh/<pkg> test` — safe with no services |
| `packages/graphql` services/schema | `pnpm --filter @klicker-uzh/graphql test:local` — one-command bootstrap (real Postgres + Redis + Hatchet); serialized, don't parallelize |
| UI or user flows | e2e — new specs go to `klicker-playwright-e2e` (primary suite); use `klicker-cypress-e2e` only to keep the frozen legacy suite green |
| React component appearance/behavior only | there is **no component-test layer** — verify in the browser (below) and rely on e2e if a flow covers it |
| You changed… | Run |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Pure logic in grading/util/export/word-cloud, or chat app logic | `pnpm --filter @klicker-uzh/<pkg> test` — safe with no services |
| `packages/graphql` services/schema | `pnpm --filter @klicker-uzh/graphql test:local` — one-command bootstrap (real Postgres + Redis + Hatchet); serialized, don't parallelize |
| UI or user flows | e2e — new specs go to `klicker-playwright-e2e` (primary suite); use `klicker-cypress-e2e` only to keep the frozen legacy suite green |
| React component appearance/behavior only | there is **no component-test layer** — verify in the browser (below) and rely on e2e if a flow covers it |
| Office Add-in source, build, or manifest | Run its `check`, `lint`, `test`, `build:docs`, `verify:docs`, and `validate` scripts; use a stubbed Office API for browser UI checks and sideload the manifest in PowerPoint before release |

Never run root `pnpm run test:run` blind — its turbo fan-out includes Cypress, which needs a running seeded stack.

Expand Down Expand Up @@ -45,6 +46,8 @@ Every item, in order; paste evidence (command + tail of output, screenshots) int

For TypeScript or other compiler/toolchain upgrades, root `check:all` includes the Cypress and Playwright compilers through their package `check` scripts. Also run `pnpm run build:test` and the Docs production build; those surfaces remain outside the root check. Use direct package `tsc --noEmit -p tsconfig.json` commands only to isolate a Cypress or Playwright failure. When a check config extends a declaration-emitting config, verify the resolved compiler options: `noEmit` does not disable declaration portability analysis, so the check may also need explicit `declaration: false` and `declarationMap: false`. Incremental checks must use a different `tsBuildInfoFile` from the emitting build.

The Office Add-in is a browser application bundled by Rollup. Its package check must use the workspace TypeScript version, `moduleResolution: Bundler`, `noEmit`, and explicit `types: ["office-js"]`. `build:docs` regenerates and replaces the deployable directory; `verify:docs` must then prove exact parity. Browser checks with an Office API stub verify the UI state machine only. Persistence, multi-instance behavior, and embedded evaluation rendering still require a real PowerPoint sideload.

## Reporting

State what you ran, what passed, what you did NOT run and why (e.g. "no Infisical access — e2e left to CI"). An honest gap beats a fabricated green.
14 changes: 4 additions & 10 deletions .syncpackrc.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,10 @@ export default {
],
versionGroups: [
{
// A separate PR replaces the Office Add-in; keep its manifest on the v3 versions.
label: 'Office Add-in React versions can differ',
dependencies: ['react', 'react-dom', '@types/react', '@types/react-dom'],
packages: ['@klicker-uzh/office-addin'],
isIgnored: true,
},
{
// Office Add-in compiler/tooling is owned by a separate upgrade PR.
label: 'Office Add-in TypeScript can differ from the workspace',
dependencies: ['typescript'],
// Rollup 4.59 fixes an arbitrary-file-write advisory. Keep the add-in
// patched until the workspace-wide Rollup upgrade is handled separately.
label: 'Office Add-in Rollup security floor can differ',
dependencies: ['rollup'],
packages: ['@klicker-uzh/office-addin'],
isIgnored: true,
},
Expand Down
Loading
Loading