Skip to content

Latest commit

 

History

History
1010 lines (790 loc) · 131 KB

CHANGE_LOG.md

File metadata and controls

1010 lines (790 loc) · 131 KB

1.14.2 (2024-11-12)

Bug Fixes

1.14.1 (2024-11-07)

Bug Fixes

  • allow requests without a cookie header (#352) (80f5050)

1.14.0 (2024-11-07)

Bug Fixes

  • add missing dependencies to lesson plan tracking context (#307) (3758dfc)
  • add missing prisma import (#342) (a0ac1de)
  • disable feature flagg polling in tests (c44e1f1)
  • null render in sidebar provider (#337) (9a12851)
  • remaining linting fixes (#272) (18a0f70)
  • set up server side styled-components (f221c24)
  • skip instrumentation when running turbopack - fix HMR (4d6fd3b)

Features

  • add rag schema (migration) (#343) (638f43f)
  • allow us to configure the server port for local testing (#308) (33bee19)
  • bootstrap posthog feature flags with local evaluation (15e8a67)
  • sync featureFlagGroup from clerk to posthog (46b4f13)
  • update emails to use html (#319) (a71e7bc)
  • use featureFlagGroup claim for feature flags (759534a)

1.13.1 (2024-11-05)

Bug Fixes

1.13.0 (2024-10-31)

Bug Fixes

  • await persisting the generation (#292) (730dbb9)
  • await the enqueue method in web actions (#293) (c9cb82b)
  • await the save download event call (#317) (1e05c1a)
  • completion and system messages do not need to be async (#294) (be79158)
  • linting for app components (#295) (1212eb5)
  • pages that do not load data do not need to be async (#296) (a7eaefa)
  • promisify chat API route get handler (#316) (1824aea)
  • reintroduce custom eslint (#284) (adc1efa)
  • rename accordian to accordion (#297) (cd35dc1)
  • set VS Code to prefer type imports (#291) (bc26948)
  • update imports (type prefixes, paths) (#298) (c332717)
  • use browserLogger for errors in the browser (#280) (647c904)
  • use noengine in ci (#283) (3a1bfd4)
  • use prisma generate --no-engine and reinstate prompts script (#282) (a157b9a)

Features

  • add an incrementing iteration number to the chat (#263) (5aaa1d9)
  • selectively include Americanisms, RAG, analytics when instantiating Aila (#287) (4e5e1f2)

1.12.1 (2024-10-28)

Bug Fixes

1.12.0 (2024-10-28)

Bug Fixes

  • ensure that the patch enqueuer exists when enqueuing (#264) (4d4b959)
  • logger to stdout for info and warn (#266) (d2dfabc)
  • module resolution with "node" instead of "bundler" (#271) (44ca5f6)
  • reduce turbo errors on local dev, enable running e2e in built mode (#259) (afb4535)
  • refactor lesson snapshots for improved efficiency (#234) (24f492d)
  • reinstate prebuilding the chat route in local dev (#260) (1a4c51f)
  • remove flash when loading wheel appears (#268) (d7a70f3)
  • remove lessonReferences from prompt (#253) (a0cedec)
  • report chat completion errors (#256) (13729ca)
  • update prisma to latest version (#254) (b8b1958)

Features

1.11.0 (2024-10-22)

Bug Fixes

Features

1.10.2 (2024-10-16)

Bug Fixes

  • spacing on onboarding upgrade screen [AI-500] (#232) (0d2a2fd)

1.10.1 (2024-10-15)

Bug Fixes

  • add fallback if requestSubmit is not available (#227) (e9b02c6)
  • findLast is not available for all browsers (WIP) (#211) (a94e0f4)
  • reduce middleware syntax error logs, send to logs, tests for CSP in each env (#213) (d18a7d2)
  • remove lookbehind in regex for camelcase conversion (#226) (dc747c3)
  • revert "fix: revert error to previous protocol (#139) (#218) (dccba58)
  • silence unknown part type errors (#229) (2e3e56b)

1.10.0 (2024-10-14)

Bug Fixes

Features

  • move aila analytics calls to background (#206) (eaf8559)

1.9.2 (2024-10-09)

Bug Fixes

  • sanitize file names before downloading (#201) (05da00e)

1.9.1 (2024-10-04)

Bug Fixes

  • enable stop button to clear queuedAction (#173) (98937a3)
  • feature flag "download all" button (#178) (2676283)
  • return a 400 for invalid input to middleware (#185) (b3de13b)
  • robust handling of incomplete data in download all (#177) (7db415b)

Performance Improvements

1.9.0 (2024-10-02)

Bug Fixes

  • close sidebar on new lesson (#116) (90a2a73)
  • detect StreamingLessonPlan for mobile modal (#168) (ef56658)
  • dialog window bug (#155) (443a398)
  • feature flag "download all" button (#178) (60b4247)
  • in app feedback snags (#153) (b1e625a)
  • refetch chat on mount to fix the blank chat issue on back navigation (#166) (c2f74d7)
  • robust handling of incomplete data in download all (#177) (06b15ae)
  • safari blocking share page as it was an async window pop up (#131) (7365ea0)
  • small bugs (#159) (712bf12)
  • stop interaction except in moderation or idle (#165) (a162ff3)

Features

1.8.0 (2024-09-30)

Bug Fixes

Features

  • add distractor length to the schema (#68) (f6ace60)
  • add time to first token for openai (#144) (79d51a8)
  • allow the user to interact while moderation is in progress (#147) (8a3b9e1)
  • check for exsisting downloads on download page mount (#114) (33d2846)
  • invalidate moderation and unblock user (#109) (dfd988f)
  • sanity (#151) (1ab164d)
  • shortened text responses, basedOn selection and generate mode prompt tidy-up (#124) (940c97a)
  • structured outputs for Aila (#91) (3145f2a)
  • use TRPC for state and remove the spinner flash (#135) (efccbb6)

1.7.3 (2024-09-25)

1.7.2 (2024-09-23)

Bug Fixes

  • use NextResponse.json() in case of middleware errors (#150) (73259a2)

1.7.1 (2024-09-17)

Bug Fixes

1.7.0 (2024-09-16)

Bug Fixes

Features

1.6.1 (2024-09-12)

Bug Fixes

1.6.0 (2024-09-06)

Bug Fixes

  • add dummy-smoke-test moderation category to detect incorrect moderation (0ec0ab2)
  • add litix to csp (#88) (3f621d5)
  • allow the user to input other text (#90) (271f6b0)
  • clear history button position (9d67dd8)
  • don't send user email to main PostHog (#84) (0f18c46)
  • downgrade moderation if all categories triggered at same time (ca5a830)
  • email error message only on error (b6919e9)
  • ensure prompt variants are initialised correctly (#57) (4d80a62)
  • fix homepage video reponsive layout (4342d9f)
  • hotfix incorrect top position in mobile view (#97) (e0003bb)
  • mobile downloads blocked on demo (#82) (cfdf59c)
  • prisma init singleton (#56) (4a3a7f4)
  • remove demo header margin on mobile (3f5739b)
  • remove duplicate beta tag on mobile (53221a4)
  • share: fix share bug (#70) (11e6148)

Features

  • add retry limit and log (238cf26)
  • add videos to home page (#77) (54edf80)
  • give user feedback when download email is sent (#89) (573c542)

1.5.1 (2024-09-04)

Bug Fixes

  • delete client side feature flag (#71) (82d26a2)
  • downloads page auth check (#73) (e123cc9)
  • include patch schema in llm response schema (#45) (1c6c1ac)

1.5.0 (2024-09-04)

Bug Fixes

  • fix flash of demo banner when loading (c8a63e0)
  • mobile launch bugs fixes (#52) (d828c11)
  • remove sideways scroll on mobile (7038e70)

Features

  • add homepage link to AI blogs (d77ab56)
  • add main oak posthog client (#60) (c56fa84)
  • bring nav in line with latest design (49c8689)
  • help text when downloading an unfinished lesson (7ef494f)
  • launch (#61) (d9b19f7)
  • new home page copy (#54) (a17a685)
  • override styles for gleap button (4f57760)

1.4.0 (2024-09-04)

Bug Fixes

Features

  • feedback: chat and message level feedback (#20) (bd4462a)

1.3.3 (2024-09-03)

Bug Fixes

  • revert onboarding redirect fix now we've updated clerk session claims (0363334)

1.3.0 (2024-09-02)

Bug Fixes

  • address sonarcloud warnings (07fc896)
  • aila chat e2e test to handle 10 sections instead of 12 (f0c6899)
  • Continue missing closing stars (2944c0f)
  • doppler project name (1a80404)
  • prompt version hash (#27) (2a15947)
  • remove workspace colour overrides (#15) (06b6ac2)
  • update terms and conditions link (#32) (79df249)

Features

  • add Prisma Accelerate caching to some of our queries (#22) (7a797ac)
  • add telemetry to the chat API route (#26) (936641a)
  • add users to hubspot on creation (19e5854)
  • aila categoriser feature with chat ID and user ID (#12) (6b0839c)
  • Detect and upgrade users with lissing metadata (c158f3d)
  • detect and upgrade users with missing metadata (#18) (c4a0a3e)
  • pass a mocked LLM Service to Aila via the new services object (#25) (78a9a59)
  • prompt versioning (#19) (7629ac9)
  • remove feedback message from header (d22c28a)
  • update prompt with distractor, practice task and grammar improvements (#23) (cb65f9c)
  • updates to download resources page (#17) (4f55547)

1.2.2 (2024-08-30)

Bug Fixes

  • replace Inngest app/generation.requested with an async worker function (#34) (eee2b1e)

1.2.1 (2024-08-29)

Bug Fixes

  • user feedback on selection in the feedback dialog and mapping responses in posthog correctly (#13) (0d9b6bc)

1.2.0 (2024-08-28)

Bug Fixes

  • quoting of moderation categories (5dcf4df)

Features

  • end of session survey (ac9bbc0)
  • send quiz designer langchain ChatOpenAI calls through helicone (5a798fa)
  • start populating metadata under labs prefix (efffd02)

1.1.42 (2024-08-22)

Bug Fixes

  • job summary link (01c65e2)
  • playwright tests for e2e (3188b52)
  • remove seed lessons script (f581609)
  • run e2e tests on merge into production and update deployment url to match new repo (aad171f)
  • semantic release branch and doppler staging pull (53be0b8)
  • sonarcloud properties and pnpm on post-deployment workflow (93b8df1)
  • use vercel automation bypass from repo secrets (0be4f78)

Version v1.1.41

What's Changed\r\n* Fix retry wording in system prompt by @codeincontext in https://github.com/oaknational/ai-beta/pull/740\r\n* Fix upgrade-insecure dev warning by @codeincontext in https://github.com/oaknational/ai-beta/pull/739\r\n* Lesson progress dropdown logic by @stefl in https://github.com/oaknational/ai-beta/pull/761\r\n* Add dialog if demo sharing is disabled by @codeincontext in https://github.com/oaknational/ai-beta/pull/736\r\n* Send user demo status to analytics by @codeincontext in https://github.com/oaknational/ai-beta/pull/733\r\n* Script: Set existing pre-release users to non-demo by @codeincontext in https://github.com/oaknational/ai-beta/pull/770\r\n* Demo accounts: Limit messages after lesson complete - main branch by @codeincontext in https://github.com/oaknational/ai-beta/pull/772\r\n* Demo chat creation dialog by @codeincontext in https://github.com/oaknational/ai-beta/pull/732\r\n* Dual trpc routers using a link by @codeincontext in https://github.com/oaknational/ai-beta/pull/774\r\n* Show mobile blocker on /aila page by @codeincontext in https://github.com/oaknational/ai-beta/pull/775\r\n* Simplify server side feature flags and use KV by @stefl in https://github.com/oaknational/ai-beta/pull/760\r\n* Wait for clerk client to load before detecting stuck user by @codeincontext in https://github.com/oaknational/ai-beta/pull/771\r\n* Fix demo check for interstitial by @codeincontext in https://github.com/oaknational/ai-beta/pull/777\r\n* Don't check ban status or increment rate limit for queries by @codeincontext in https://github.com/oaknational/ai-beta/pull/779\r\n* docs: readme by @mantagen in https://github.com/oaknational/ai-beta/pull/762\r\n* Extract chat logic to ChatProvider by @codeincontext in https://github.com/oaknational/ai-beta/pull/782\r\n* Fix "1-3 Cycles" error + setup jest tests for storybook files by @stefl in https://github.com/oaknational/ai-beta/pull/787\r\n* bug: change back to server side feature flags by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/788\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.40...v1.1.41-rc4

Version v1.1.40

What's Changed\r\n* Fix demo region check in dev by @codeincontext in https://github.com/oaknational/ai-beta/pull/767\r\n* Bug/trpc provider conflicts by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/768\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.40-rc2...v1.1.40-rc3

Version v1.1.39

Version v1.1.38

What's Changed\r\n* Security fixes (including 'share' logic) by @mantagen in https://github.com/oaknational/ai-beta/pull/711\r\n* Simplify usage of rate limits and georestriction by @codeincontext in https://github.com/oaknational/ai-beta/pull/721\r\n* Add demo account banner to Aila pages by @codeincontext in https://github.com/oaknational/ai-beta/pull/720\r\n* bug: hide the placeholder text from safari by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/724\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.38-rc3...v1.1.38-rc4

Version v1.1.37

What's Changed\r\n* Correctly sample uri error by @mantagen in https://github.com/oaknational/ai-beta/pull/684\r\n* Set sentry user on login by @mantagen in https://github.com/oaknational/ai-beta/pull/681\r\n* Send sourcemaps to sentry by @mantagen in https://github.com/oaknational/ai-beta/pull/676\r\n* Only track refinement if it's not the first message by @mantagen in https://github.com/oaknational/ai-beta/pull/690\r\n* fix: next config devtool by @mantagen in https://github.com/oaknational/ai-beta/pull/695\r\n* Use full aila e2e tests on RC pull requests by @codeincontext in https://github.com/oaknational/ai-beta/pull/687\r\n* Clearer error reporting from HubspotLoader by @mantagen in https://github.com/oaknational/ai-beta/pull/696\r\n* Add include_usage to openai stream calls by @mantagen in https://github.com/oaknational/ai-beta/pull/694\r\n* Put moderation calls through helicone by @codeincontext in https://github.com/oaknational/ai-beta/pull/692\r\n* Require helicone env vars for openai calls by @codeincontext in https://github.com/oaknational/ai-beta/pull/691\r\n* Require helicone for runtime LLM calls in vercel production by @codeincontext in https://github.com/oaknational/ai-beta/pull/693\r\n\r\n## Excluded from this release\r\n* Refactor front end by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/667\r\n* Remove next-themes by @codeincontext in https://github.com/oaknational/ai-beta/pull/697\r\n* HOTFIX: Move clear history button back to right side by @codeincontext in https://github.com/oaknational/ai-beta/pull/698\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.36...v1.1.37-rc2

Version v1.1.36

What's Changed\r\n* Change avo debugger position, fixing e2e tests by @mantagen in https://github.com/oaknational/ai-beta/pull/671\r\n* Page navigation tracking by @codeincontext in https://github.com/oaknational/ai-beta/pull/673\r\n* Save playwright traces in GH artifacts by @codeincontext in https://github.com/oaknational/ai-beta/pull/672\r\n* fix: fix json before attempt parsing by @mantagen in https://github.com/oaknational/ai-beta/pull/674\r\n* Add sentry tracesSampler for URIError by @mantagen in https://github.com/oaknational/ai-beta/pull/680\r\n* Use gpt-4o for the categorise requests by @mantagen in https://github.com/oaknational/ai-beta/pull/678\r\n* Queue initial page URL to hubspot by @codeincontext in https://github.com/oaknational/ai-beta/pull/675\r\n* Use env vars for posthog and clerk slack buttons by @codeincontext in https://github.com/oaknational/ai-beta/pull/677\r\n* Update sentry to v8 by @mantagen in https://github.com/oaknational/ai-beta/pull/683\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.35-rc1...v1.1.36-rc1

Version v1.1.35

What's Changed\r\n* Add human-recognisable IDs to slack notifications by @codeincontext in https://github.com/oaknational/ai-beta/pull/661\r\n* Fix 404 page rendering for static paths by @codeincontext in https://github.com/oaknational/ai-beta/pull/655\r\n* chore: add avo api url to csp by @mantagen in https://github.com/oaknational/ai-beta/pull/664\r\n* Add e2e aila flow and reorganise playwright tests by @codeincontext in https://github.com/oaknational/ai-beta/pull/646\r\n* feat: update oak-consent-client by @simonrose121 in https://github.com/oaknational/ai-beta/pull/662\r\n* Fetch doppler env vars on-demand in github workflows by @codeincontext in https://github.com/oaknational/ai-beta/pull/666\r\n* feat: adds a report content button in the chat area by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/652\r\n* Set up native hubspot integration by @codeincontext in https://github.com/oaknational/ai-beta/pull/663\r\n* Avo event tracking event implementation by @mantagen in https://github.com/oaknational/ai-beta/pull/638\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.34...v1.1.35-rc1

Version v1.1.34

What's Changed\r\n* Add jest github action by @codeincontext in https://github.com/oaknational/ai-beta/pull/645\r\n* From RC branch: Swap rate limit value and message fields by @codeincontext in https://github.com/oaknational/ai-beta/pull/648\r\n* Fixs the order of the lesson history In the side bar by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/654\r\n* Slack notifications for naughty behaviour by @codeincontext in https://github.com/oaknational/ai-beta/pull/653\r\n* ci: use temporary PAT with workflow permissions to allow new workflows to be pushed by @simonrose121 in https://github.com/oaknational/ai-beta/pull/656\r\n* Fix/id posthog by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/657\r\n* Reverting using PAT to allow workflow push on pre-release by @simonrose121 in https://github.com/oaknational/ai-beta/pull/658\r\n* Add stray workflow commit on production back to main branch by @codeincontext in https://github.com/oaknational/ai-beta/pull/659\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.33...v1.1.34-rc4

Version v1.1.33

What's Changed\r\n* Add workarounds for now to catch invalid message parts by @stefl in https://github.com/oaknational/ai-beta/pull/643\r\n* Aila plugins: Extract web application behaviour from Aila package by @codeincontext in https://github.com/oaknational/ai-beta/pull/633\r\n* chore: update og image by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/644\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.32...v1.1.33-rc1

Version v1.1.32

What's Changed\r\n* Refactor client-side analytics setup and initialise avo by @simonrose121 in https://github.com/oaknational/ai-beta/pull/611\r\n* fix: add posthog identify before feature flag check by @simonrose121 in https://github.com/oaknational/ai-beta/pull/639\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.31...v1.1.32-rc2

Version v1.1.31

What's Changed\r\n* Remove unused files found with knip by @codeincontext in https://github.com/oaknational/ai-beta/pull/624\r\n* feat: Working e2e playwright setup by @codeincontext in https://github.com/oaknational/ai-beta/pull/563\r\n* Detect when a banned Clerk user is stuck with a loading spinner by @codeincontext in https://github.com/oaknational/ai-beta/pull/619\r\n* Clear local state on toxic moderation by @mantagen in https://github.com/oaknational/ai-beta/pull/630\r\n* Tweak moderation styles by @mantagen in https://github.com/oaknational/ai-beta/pull/636\r\n* Handle user bans natively in aila package by @codeincontext in https://github.com/oaknational/ai-beta/pull/631\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.30...v1.1.31-rc1

Version v1.1.30

What's Changed\r\n* feat: replace civic with oak consent app by @simonrose121 in https://github.com/oaknational/ai-beta/pull/553\r\n* Make share page publicly accessible by @codeincontext in https://github.com/oaknational/ai-beta/pull/612\r\n* Add 404 page by @codeincontext in https://github.com/oaknational/ai-beta/pull/616\r\n* V1 1 29 rc2/rc fixes by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/614\r\n* Add node types to tsconfig by @codeincontext in https://github.com/oaknational/ai-beta/pull/620\r\n* feat: marketing survey by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/625\r\n* WIP: Aila CLI part two by @stefl in https://github.com/oaknational/ai-beta/pull/613\r\n* WIP: CLI: Remove oclif and just use a script for now by @stefl in https://github.com/oaknational/ai-beta/pull/628\r\n* new lesson button by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/604\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.29...v1.1.30-rc1

Version v1.1.29

What's Changed\r\n* Make share page publicly accessible by @codeincontext in https://github.com/oaknational/ai-beta/pull/612\r\n* V1 1 29 rc2/rc fixes by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/614\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.29-rc2...v1.1.29-rc4

Version v1.1.28

Full Changelog: https://github.com/oaknational/ai-beta/compare/v1.1.27...v1.1.28-rc1

Version v1.1.27

Full Changelog: https://github.com/oaknational/ai-beta/compare/v1.1.26-rc1...v1.1.27-rc2

Version v1.1.26

What's Changed\r\n* bug: align icons by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/589\r\n* style: fix ordered list styles in markdown by @mantagen in https://github.com/oaknational/ai-beta/pull/595\r\n* fix: dependabot alerts by @simonrose121 in https://github.com/oaknational/ai-beta/pull/594\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.25...v1.1.26-rc1

Version v1.1.25

What's Changed\r\n* Handle helicone threat detections by @mantagen in https://github.com/oaknational/ai-beta/pull/568\r\n* Suspending users after safety violations by @codeincontext in https://github.com/oaknational/ai-beta/pull/570\r\n* chore: Capture TRPC exceptions properly in sentry by @codeincontext in https://github.com/oaknational/ai-beta/pull/547\r\n* Feedback survey: fix hook to return correct survey by @mantagen in https://github.com/oaknational/ai-beta/pull/569\r\n* Red team testing: Don't ban users with the safety-testing feature flag by @codeincontext in https://github.com/oaknational/ai-beta/pull/578\r\n* User blocking: Add Action message type by @codeincontext in https://github.com/oaknational/ai-beta/pull/573\r\n* Add /api/health to clerk public pages by @codeincontext in https://github.com/oaknational/ai-beta/pull/580\r\n* bugs: cross browser bugs by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/575\r\n* Fix: Add CSP headers to all next.js requests by @codeincontext in https://github.com/oaknational/ai-beta/pull/579\r\n* Add __session to known CookieControl cookies by @codeincontext in https://github.com/oaknational/ai-beta/pull/584\r\n* Output moderation by @mantagen in https://github.com/oaknational/ai-beta/pull/576\r\n* Update helicone headers by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/585\r\n* Revert "Update helicone headers" by @mantagen in https://github.com/oaknational/ai-beta/pull/587\r\n* Update/helicone envs by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/588\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.24...v1.1.25-rc1

Version v1.1.24

Hotfix/healthcheck datadog release by @codeincontext in #581\r\n\r\nFull Changelog: https://github.com/oaknational/ai-beta/compare/v1.1.22...v1.1.24-rc1

Version v1.1.22

What's Changed\r\n* Update to Clerk 5.1 by @codeincontext in https://github.com/oaknational/ai-beta/pull/554\r\n* feat: add text search snippet migration by @remy in https://github.com/oaknational/ai-beta/pull/560\r\n* Voice improvements plus prompt quality tweaks by @stefl in https://github.com/oaknational/ai-beta/pull/559\r\n* fix: dependabot alerts by @simonrose121 in https://github.com/oaknational/ai-beta/pull/561\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.21...v1.1.22-rc1

Version v1.1.21

Version v1.1.20

What's Changed\r\n* fix: properly read x-oai-api-key and expose transcript trpc endpoint by @remy in https://github.com/oaknational/ai-beta/pull/545\r\n* chore: Add google fonts to CSP by @codeincontext in https://github.com/oaknational/ai-beta/pull/548\r\n* fix: Log missing nonce error client side to help debug by @codeincontext in https://github.com/oaknational/ai-beta/pull/550\r\n* Fix: Use OpenAI directly for moderations endpoint (not helicone) by @codeincontext in https://github.com/oaknational/ai-beta/pull/551\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.19...v1.1.20-rc1

Version v1.1.19

What's Changed\r\n* fix(csp) add fake nonce directive to legacy header for next.js injection by @codeincontext in https://github.com/oaknational/ai-beta/pull/513\r\n* Feat/lesson snapshots + exports in db by @mantagen in https://github.com/oaknational/ai-beta/pull/514\r\n* fix(exports): fire and forget download event, and use shortId for filename by @mantagen in https://github.com/oaknational/ai-beta/pull/518\r\n* Adding Aila to the prompt by @stefl in https://github.com/oaknational/ai-beta/pull/510\r\n* fix(csp): add worker-src configuration for blob (attempt 2) by @simonrose121 in https://github.com/oaknational/ai-beta/pull/523\r\n* fix(csp): add cloudflare challenge url to frame-src by @simonrose121 in https://github.com/oaknational/ai-beta/pull/525\r\n* home page by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/517\r\n* Exports documentation: changing a template by @mantagen in https://github.com/oaknational/ai-beta/pull/521\r\n* Chore/home page by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/531\r\n* Disable Sentry replays and reduce general sample rate to 0.2 by @stefl in https://github.com/oaknational/ai-beta/pull/528\r\n* chore(csp) Add CSP report sample rate by @codeincontext in https://github.com/oaknational/ai-beta/pull/520\r\n* chore(security): package update by @mantagen in https://github.com/oaknational/ai-beta/pull/503\r\n* Add error breadcrumbs to exports routes by @mantagen in https://github.com/oaknational/ai-beta/pull/534\r\n* fix: omit download from button attribute by @mantagen in https://github.com/oaknational/ai-beta/pull/536\r\n* Update Aila 'coming soon' copy by @mantagen in https://github.com/oaknational/ai-beta/pull/538\r\n* Coming soon on 'feature flag' by @mantagen in https://github.com/oaknational/ai-beta/pull/540\r\n* Block menu and faqs to non feature flag by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/542\r\n\r\n## New Contributors\r\n* @simonrose121 made their first contribution in https://github.com/oaknational/ai-beta/pull/523\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.11...v1.1.19

Version v1.1.18

Version v1.1.17

Version v1.1.16

What's Changed\r\n* Disable Sentry replays and reduce general sample rate to 0.2 by @stefl in https://github.com/oaknational/ai-beta/pull/528\r\n* chore(csp) Add CSP report sample rate by @codeincontext in https://github.com/oaknational/ai-beta/pull/520\r\n* chore(security): package update by @mantagen in https://github.com/oaknational/ai-beta/pull/503\r\n* Add error breadcrumbs to exports routes by @mantagen in https://github.com/oaknational/ai-beta/pull/534\r\n* fix: omit download from button attribute by @mantagen in https://github.com/oaknational/ai-beta/pull/536\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.15...v1.1.16-rc2

Version v1.1.15

What's Changed\r\n* home page by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/517\r\n* Exports documentation: changing a template by @mantagen in https://github.com/oaknational/ai-beta/pull/521\r\n* Chore/home page by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/531\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.14...v1.1.15-rc2

Version v1.1.14

What's Changed\r\n* fix(csp): add cloudflare challenge url to frame-src by @simonrose121 in https://github.com/oaknational/ai-beta/pull/525\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.13...v1.1.14-rc2

Version v1.1.13

What's Changed\r\n* Feat/lesson snapshots + exports in db by @mantagen in https://github.com/oaknational/ai-beta/pull/514\r\n* fix(exports): fire and forget download event, and use shortId for filename by @mantagen in https://github.com/oaknational/ai-beta/pull/518\r\n* Adding Aila to the prompt by @stefl in https://github.com/oaknational/ai-beta/pull/510\r\n* fix(csp): add worker-src configuration for blob (attempt 2) by @simonrose121 in https://github.com/oaknational/ai-beta/pull/523\r\n\r\n## New Contributors\r\n* @simonrose121 made their first contribution in https://github.com/oaknational/ai-beta/pull/523\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.12...v1.1.13-rc3

Version v1.1.12

What's Changed\r\n* fix(csp) add fake nonce directive to legacy header for next.js injection by @codeincontext in https://github.com/oaknational/ai-beta/pull/513\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.11...v1.1.12-rc1

Version v1.1.11

What's Changed\r\n* feat: redesign initial chat, warning message, refactor header, allows oak users to view all chats by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/496\r\n* Prompt clean by @stefl in https://github.com/oaknational/ai-beta/pull/506\r\n* Switch CSP handling over to next.js by @codeincontext in https://github.com/oaknational/ai-beta/pull/509\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.10...v1.1.11

Version v1.1.10

What's Changed\r\n* Copy exports template file to 'output' folder by @mantagen in https://github.com/oaknational/ai-beta/pull/500\r\n* Content security policy step 1: Report-Only by @codeincontext in https://github.com/oaknational/ai-beta/pull/498\r\n* revert: streaming text page by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/507\r\n* GPT-4o by @stefl in https://github.com/oaknational/ai-beta/pull/502\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.9...v1.1.10-rc1

Version v1.1.9

What's Changed\r\n* Add pre-release and release workflows by @mantagen in https://github.com/oaknational/ai-beta/pull/488\r\n* chore: typo by @mantagen in https://github.com/oaknational/ai-beta/pull/489\r\n* FIX: Retain posthog anonymous ID when initialising, fixing UTM tags by @codeincontext in https://github.com/oaknational/ai-beta/pull/487\r\n* build: fix PR title for release process by @mantagen in https://github.com/oaknational/ai-beta/pull/493\r\n* Add additional user ID metadata to both Open AI and Helicone by @stefl in https://github.com/oaknational/ai-beta/pull/491\r\n* build(pre-release workflow): merge with ours strategy by @mantagen in https://github.com/oaknational/ai-beta/pull/494\r\n* chore: update legal links by @tomwisecodes in https://github.com/oaknational/ai-beta/pull/492\r\n* Improve coherence and adherence to the JSON schema by @stefl in https://github.com/oaknational/ai-beta/pull/497\r\n* Refactor the left hand side chat list by @stefl in https://github.com/oaknational/ai-beta/pull/474\r\n* More lenient types for json patch, plus some related Americanisms fixes by @stefl in https://github.com/oaknational/ai-beta/pull/504\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.8...v1.1.9-rc2

Version v1.1.8

Version v1.1.7

What's Changed\r\n* Add pre-release and release workflows by @mantagen in https://github.com/oaknational/ai-beta/pull/488\r\n* chore: typo by @mantagen in https://github.com/oaknational/ai-beta/pull/489\r\n* FIX: Retain posthog anonymous ID when initialising, fixing UTM tags by @codeincontext in https://github.com/oaknational/ai-beta/pull/487\r\n* build: fix PR title for release process by @mantagen in https://github.com/oaknational/ai-beta/pull/493\r\n* Add additional user ID metadata to both Open AI and Helicone by @stefl in https://github.com/oaknational/ai-beta/pull/491\r\n* build(pre-release workflow): merge with ours strategy by @mantagen in https://github.com/oaknational/ai-beta/pull/494\r\n\r\n\r\n**Full Changelog**: https://github.com/oaknational/ai-beta/compare/v1.1.6...v1.1.7-rc2

Version v1.1.6

1.1.5 (2024-05-13)

What's Changed

Full Changelog: https://github.com/oaknational/ai-beta/compare/v1.1.4...v1.1.5

1.1.4 (2024-05-13)

What's Changed

Full Changelog: https://github.com/oaknational/ai-beta/compare/v1.1.3...v1.1.4

1.1.3 (2024-05-13)

What's Changed

Full Changelog: https://github.com/oaknational/ai-beta/compare/v1.1.2...v1.3.0

1.1.2 (2024-05-08)

1.1.1 (2024-05-07)

1.1.0 (2024-05-02)

Features

  • sentry releases: align sentry version and release stage with values from our next.config.js (d3c4147)

1.0.4 (2024-04-30)

1.0.3 (2024-04-30)

1.0.2 (2024-04-30)

1.0.1 (2024-04-30)

1.0.0 (2024-04-30)

Bug Fixes

  • add border to checkboxes (f10d106)
  • add children prop back to Checkbox (d01d051)
  • add extra handling around session invalidity (50f6e3a)
  • add fake openai key to ci.yml to try and get build working (1174b80)
  • add missing inngest import to app router (ad65c65)
  • add missing lesson planner events, fix those referring to wrong app (7cda62f)
  • add newline formatting to /prompts page (ff5aa42)
  • add user_id to appSession schema (56b8d67)
  • align zod versions so inngest EventSchemas correctly type-check (f7565cf)
  • assert that the inngest upload call was successful (0510f5b)
  • attempt again to apply auth to all rotues (59c7c73)
  • attempt to add disabled button state styles (7dcd19c)
  • attempt to filter out third party IP containing lessons from scrape (1db2377)
  • attempt to fix button regressions (e80df57)
  • attempt to retry createSession once (035d331)
  • attempt to use netlify background functions for inngest jobs (4a6a739)
  • bug where submit needs clicking twice (b7495e4)
  • capture initial pageviews (3f52153)
  • cast GenerationPart related zod schemas to simplify types (737be30)
  • chatbot downloads (d25ee9e)
  • check gleap key exists before intializing (1cb54e7)
  • conditionally enable clerk debug mode based on CLERK_LOGGING env (81aa235)
  • conditionally pick env for PRs/main pushes (4223928)
  • consistently name quiz_designer* events (ea16943)
  • correct lesson/quiz state status types in schemas (85fdc16)
  • correctly sync answer tweaking and local state, extract Answer comp (2decf36)
  • create necessary db users for migrations to work locally (b19a69d)
  • create necessary db users for migrations to work locally (27f915d)
  • create session on page mount, don't block quiz begin (9e7d99f)
  • disable distractor edit/regenerate buttons while loading or editing (8bc86fa)
  • disable lp section actions while streaming (3ab67dd)
  • docker-clear npm script: check container existence (177225a)
  • don't allow re-generating answers and distractors without question (44990fa)
  • don't attempt to infer app version from tags, as we don't use them (ba1b8a0)
  • don't attempt to opt_out from posthog if we don't have the API key (c54cf1b)
  • don't attempt to save lesson data to localstorage until generated (223f541)
  • don't call bugsnag.getPlugin before bugsnag is initialized (db2f40d)
  • don't call posthog opt_out/identify until we've definitely loaded (384d14c)
  • don't check user.isLoaded before attempting to create session (dbc2f29)
  • don't clear localstorage quizData by setting it to an empty string (ef2c020)
  • don't fail to render a whole quiz if we're just missing the name (ca82e4b)
  • don't flag 100% of generations (def02d7)
  • don't hide the topic input when navigating back to topic if set (bee2cdd)
  • don't import @oakai/core from core itself (8cd43ca)
  • don't import from langchain core (821df2c)
  • don't initialize posthog before API key is available (v2..) (a019948)
  • don't needlessly opt_out after posthog inits (f10997e)
  • don't overscroll past first lp header when streaming starts (d1181e9)
  • don't persist quiz state until after the user has started (b47d858)
  • don't randomly re-shuffle the lesson plan quizzes each render (9d2e9f8)
  • don't redirect to onboarding or require auth for legal pages (d108770)
  • don't refetch lesson playground content on window focus (2176b4f)
  • don't rely on prisma global in api/health (518c921)
  • don't render falsy time values when passed to Generating (f93f661)
  • don't reset questions when they edit KS and return to questions (0dd4673)
  • don't return isLegacy lessons (5e81c6e)
  • don't send all generation metadata alongside lesson plan sections (826abb7)
  • don't start the quiz editing when session creation sucesfull (dc1e3f9)
  • don't tell the user they're ratelimited when they're not (5081201)
  • don't transition loading->idle->loading in useGeneration (a056c8a)
  • don't wait for user.isLoaded to become true as it often doesn't (69922c1)
  • enable prisma pgbouncer mode with directUrl fallback (a45af13)
  • enable reverse proxying netlify with clerk (7fbd52b)
  • ensure lessonPlanJson in promptInputs is serialized (27fadc7)
  • ensure answer generations send all required values, show errors (f1c8fb9)
  • ensure apps returned by appRouter are correctly serialized (ae9582e)
  • ensure different questions within a section are sorted differently (fe203d6)
  • ensure inngest calls our subdomain to avoid redirects & CF access (9ae8ef6)
  • ensure originalValue is sent to backend on tweak (fd3e4ec)
  • ensure parseLocalStorageData returns shape of parsed data (33682c6)
  • ensure pino logs are sent to datadog (6e2b459)
  • ensure placeholder content is passed to quizzes (de17097)
  • ensure placeholder quizzes are rendered (b01c279)
  • ensure postgresql-contrib is installed in docker container (3c60185)
  • ensure postgresql-contrib is installed in docker container (c96e8e5)
  • ensure promptInputs are always saved (bd18619)
  • ensure quiz questions have a defaultValue (c046011)
  • ensure ratelimit notification is shown at appropriate time (9710a53)
  • ensure sessionId is sent for tweaks and item flagging requests (7a534e8)
  • ensure trpc requests get the clerk middleware context (cb1ebc1)
  • ensure useGenerationCallbacks.onSuccess is actually called (4355d6a)
  • ensure user is loaded before creating quiz session (11d3482)
  • ensure zod parse fail is returned to useGeneration caller (c19b0e7)
  • explicitly log generation errors inline, not onFail (697bb9f)
  • explicitly log root error when formatting fails (df6c071)
  • extract DistractorInput, correctly handle state updates (4702e4d)
  • filter generation data returned to client (ba1b3c5)
  • fix import causing inngest client to be called before definition (3055544)
  • fix linter error by upgrading typescript-eslint to v6 (04f63b6)
  • fix onboarding checkbox width (d9b878b)
  • fix regression with key learning points appearing twice (a7c2a51)
  • fix UI for non feature flagged lesson plan users (aff5a35)
  • get ci building again (2ae2bb9)
  • gpt unable to place request (cfd789f)
  • handle background function invocation in netlify-plugin-inngest (b52e947)
  • handle moderation failed state in useGeneration (def863b)
  • handle new loading states after initial useGeneration mutation (fddf90f)
  • hide answers while re-generating (0f24f91)
  • hook up regenerate all (2a5e45e)
  • hook up regenerate-distractor (d03141f)
  • ignore table owners when running pg_dump (c7eb77d)
  • incorrect prompt name in regenerate-all-distractors tooltip (015d98d)
  • increase FE timeout for lesson-planner (d3dfdac)
  • introduce lesson plan status to handle generation streaming (5d4a1d2)
  • jobs: ensure generations exist before hitting OpenAI (0ee3567)
  • keep path when redirecting from netlify to our subdomain (86c84e9)
  • lesson-page: fix invalid field IDs and incorrect labels (b631086)
  • load appropriate civic product from environment (3c5dbc1)
  • lock quiz designer behind login (cfb26fa)
  • lock quiz designer behind login (c9b7859)
  • loosen FE types, ensure initialState has nulled sessionId (0a51fd2)
  • make appSession optional to ease migrations (4529536)
  • make chevron icon on select menu clickable (7f9e79c)
  • make new types with with generations.flag endpoint (93615f5)
  • make recalculateStatistics run on cron (9c5a2ad)
  • make TRPCError log line more useful (b980ffa)
  • manually redirect unauthenticated users from quiz-designer (bb97b58)
  • mark generation rateLimit as optional on outputSchema (f7da26d)
  • mark lesson sidebar buttons as disabled while generating (44dfce5)
  • move openai model instantiation out of constructor, fix CI build (538af15)
  • move questions across to OWA (8194518)
  • move secrets to root of workflow (a8cef53)
  • notify bugsnag on caught preview error (1e2092f)
  • only allow _next/static, not _next/data in middleware (e87df09)
  • only attempt to create session once, debug log user.isLoaded (779ab73)
  • only attempt to restore session from localstorage once (f8abd6c)
  • only call updateSessionState while the user is editing a LP (3b2ad69)
  • only create 1 session, remove eslint ignore (8c71f5e)
  • only stream generations that explicitly opt in (1a0ef06)
  • only trigger useGeneration's callbacks when transitioning state (cd61c91)
  • overwriting bug in export lesson plan doc (a31fba6)
  • pass all github secrets as env vars to build step (ec40ed8)
  • pass correct numberOfDistractors/Answers to each generation (c7bae99)
  • pass estimated prompt timings to lesson plan components (a876917)
  • pass LLM generated error message to front-end (45e9626)
  • preserve all newlines when copying content of html to text (a2d3ecb)
  • qd: attempt to fix disabled quiz button by tightening localstorage (671c24a)
  • quiz-designer: temporarily remove disabled attr from generation btn (b94071e)
  • re-enable exports with new data structure (1300e3b)
  • re-enable quiz previews by replacing faulty shuffle algo (b02a91f)
  • remove 2nd arg to getChat (993be00)
  • remove accidental debugging of requestGeneration function (f946ec8)
  • remove casting in KeywordSection (c908678)
  • remove casting in KeywordSection (e8b09e0)
  • remove console log from CardButton, fix invalid type import (569f0aa)
  • remove explicit button tracking, which dupes autocaptures events (75dd596)
  • remove generation streaming feature flag (09cd43a)
  • remove hard-coded error in requestGeneration (edbb863)
  • remove legal menu items from side navigation (bcc9ed6)
  • remove nullable states from useCallback ratelimit (9fa9658)
  • remove references to lessonActivities (dc79e47)
  • remove undefined browserLogger.isLevelEnabled call causing errors (24d0e55)
  • rename packages/core to @oakai/core (412a4cf)
  • return API errors from useGeneration hook (ccd9d30)
  • round and pad estimated durations in Generating component (dd8d6c5)
  • save original tweak values to db, update column to be originalValue (716c9bd)
  • save original values in user tweaks (e5facd9)
  • save user privacy policy acceptance to clerk (5db0b47)
  • send original error when reporting session fail to bugsnag (2b20634)
  • sentry env (be98e39)
  • set default button width (641bf7b)
  • set github environment in ci.yml (6f9b908)
  • set state.rateLimit.generationsRemaning to nullable (ba785e4)
  • set tRPC to not refetchOnWindowFocus by default (93aad5b)
  • show average time copy for users without streaming enabled (eff9526)
  • simplify response for text similarity (c242128)
  • sort paths (4f6f29d)
  • stop generation.request from failing tRPC output validation (721b711)
  • swallow all feedback/tweak/regen errors server-side (68a7d97)
  • switch to using hasura for downloads (5dbdfa5)
  • temporarily mark lastGenerationId as optional (2ba8fd7)
  • update store rateLimit on generation start (7c9d97b)
  • update the MV for downloads - need to make my own (5c7bc1e)
  • upsert instead of delete/recreate apps in seed script (779ab6f)
  • use /api/inngest in netlify plugin (fe81a76)
  • use correct app/prompt slugs for all lesson plan queries (6146e7e)
  • use correct app/prompt slugs for lesson plan queries (c096313)
  • use correct ports for inngest npm scripts (5d35940)
  • use correct posthog env var to intialize client (c5366c9)
  • use DEPLOY_PRIME_URL instead of URL to enable preview deploys (6c18550)
  • use posthog react hook, inline checks to component so ph inits (e741fa5)
  • use serverRuntimeConfig to infer inngest env (efcd7d3)
  • wire up rate limit notifications to state (8e8b770)
  • wire up regenerate all distractors (f91b187)

Features

  • add "serializers" for prompts & apps to filter user visible data (4a0913c)
  • add @oakai/logger package, using pino & prettifying dev logs (e0986b0)
  • add /api/health endpoint, check db connection (b1070e7)
  • add /generations/with-template REST api endpoint (7fe30b6)
  • add additional bugsnag breadcrumbs to generation FE (9661d68)
  • add additional GenerationStatus members to describe more states (c5ab53b)
  • add additional openAPI endpoints for generations/sessions (158499d)
  • add alt generation for quizzes (0509e2b)
  • add api key based middleware (b256c73)
  • add apis for open api usage (8a6e594)
  • add app.timings trpc procedure with avg generation times (0c0d622)
  • add bugsnag build reporter plugin and app version tracking (eeedf9c)
  • add bugsnag coverage (d5728e7)
  • add completedAt column to generations, rename duration (925d7f3)
  • add copy to clipboard (96ffab2)
  • add cors support on api (7472820)
  • add curriculum content to api (9b18d1d)
  • add debug logging to cookie control (bf9809e)
  • add descriptions to help gpt (4b8c1bd)
  • add disabled state to question input while generating (0befd79)
  • add dockerfile, npm setup & ssh scripts (c10c80a)
  • add downloads (caeef6a)
  • add exports for chatbot (a6389fb)
  • add extend-lesson-plan-quiz prompt (cc9cae6)
  • add feature flag that desen't require initalisation (8aef49a)
  • add feedback related actions to model, wire up initial tRPC logic (7009c71)
  • add filtering to the assets (94245d9)
  • add Generation entity to schema file (bfff79f)
  • add hooks for eexports (5734a53)
  • add import for all shared items via user id (fb1fcf8)
  • add ingent event logging middleware (7c1d872)
  • add initial migration (2b73ccc)
  • add inngest checks to /api/health endpoint (c1239c6)
  • add inngest job to recalculate statistics every 30 mins (d485e4c)
  • add input/output schema fields to Prompt model (a5a6b46)
  • add key (1980c0c)
  • add latest migrations for summaries (9a42215)
  • add lesson description to CJ (5466001)
  • add limiting to requestGeneration, pass to ctx, rm @trpc-ratelimit (6c112af)
  • add LLM_REFUSAL flag type (c63c005)
  • add local storage to the quiz (71cb5ce)
  • add migration (1d6f48b)
  • add migration for feedback tables (0095f0b)
  • add migration to add empty input/output schemas to prompts (604e45a)
  • add migrations for session creation & linking (2e62f78)
  • add mocked quiz builder tprc methods (23ef6e8)
  • add moderation results migration (a8434a2)
  • add moderationType and moderationMeta fields to generation schema (90db317)
  • add more context to requestGeneration logs (7df695a)
  • add new skelatton component ahead of streaming (9ff4153)
  • add node and pnpm versions to each package.json (ea0b905)
  • add NonRecoverableError status to quiz app, for when session fails (9f48808)
  • add output column to app session and a new share db (d3264b9)
  • add postmark email sending to gleap for quiz feedback (95afeff)
  • add Prompt model, seed prompts for quiz-generator (392f2bc)
  • add prompt_id to statistics (1aaa01f)
  • add schema for app sessions (e387a53)
  • add script to bulk import users from clerk (71329a9)
  • add scripts to dump staging db contents into local docker db (82a8f8c)
  • add sign up button to homepage hero when not logged in (c291f57)
  • add slides api route (1dddbd0)
  • add some randomness to mock data to help frontend debugging (bac7d90)
  • add statistics db table (13e9d03)
  • add statistics migrations (576e0a9)
  • add suggested lesson to lesson planner (c6eea1f)
  • add TMAI (1fc6ff5)
  • add token usage columns to generations (feab16b)
  • add tRPC method to create new app sessions (99c2ada)
  • add UI for extending lesson plan quizzes (9926acc)
  • add uptime monitoring id to page meta (082f27f)
  • add useGeneration hook to allow creating & subbing to generations (5d0233e)
  • add useGenerationCallbacks hook to improve DX of useGeneration (3008d47)
  • add users table (7a2939d)
  • add zod type hints to inngest client (7c48a5a)
  • add_prompts migration (1bd4633)
  • adds policy redirects (845ae8a)
  • adjust refetch (51a3ac3)
  • adjust the slides data structure (81b8ba5)
  • adjust to make a copy rather than give users access to oaks drive (83e02a6)
  • allow authenticating via API key (a8b0166)
  • allow for removing MODERATION_* envs (c41720c)
  • allow opting in to ratelimiting by adding rate-limit-me to email (049d6b7)
  • allow overriding browser log level with ?logLevel search param (5387920)
  • animated tick when section has loaded (df961d7)
  • auto-generate zod types from prisma definitions (7620b77)
  • background to blue (ae9cc2b)
  • bootstrap ph client with userId, add email to identify call (42bc5d9)
  • calculate mean and median llm and total generation timings (8a63779)
  • call openAI with basic prompt from generation.requested job (4b06e4a)
  • capture moderationType on flag (74f7262)
  • capture more metadata about flagged generations (04bab00)
  • centralise generation event tracking in hook, add minor events (7c0c308)
  • change /lessons/{slug}/summary to OWA data (8b1d43d)
  • check prompt existence before starting generation (3729286)
  • confirm new question layout (9ad84f1)
  • continue buttons (fcb6e1f)
  • control english language moderation with env vars (c28bd84)
  • convert to new look and feel (dce4300)
  • create dialog step for exporting slides (eb808a5)
  • create generation.requested job with stubbed responses (e51ff38)
  • create Generations model (56afd22)
  • create generations page (22869b8)
  • create migration for db change (2fe52b5)
  • create sharing page for cj (3d49548)
  • create suggested quesitons compoennt (15ed3ac)
  • create trpc methods to create and look up a generation (9f2368d)
  • debounce calls to updateSession / setting localStorage (96ff232)
  • desktop review (802a345)
  • dialog button on resetting the session on quiz (7a9a473)
  • dialog works (5cc5537)
  • differentiate between LLM refusal and errors, don't throw on fail (861d9c4)
  • disable distractor editing mode when the field is blurred (3f33c89)
  • disable starting quiz when in a non-recoverable error state (4016247)
  • doc export (07370fb)
  • don't refetch subject/ks/generations on window focus (a18ec35)
  • download worksheet (8ac0470)
  • downloads work for variable amount of lesson cycles (369b9ff)
  • enable ad-hoc completions by calling generateWithTemplate method (957c160)
  • enable streaming in lesson planner (26f9637)
  • enable streaming in requestGeneration (89c3682)
  • ensure dev logs are properly formatted via turbo (12ecb5b)
  • ensure failed generations are marked as such after inngest retries (e6ae23f)
  • ensure share page pulls data from db (810a39e)
  • ensure trackEvent events are always caught internally (9f4da89)
  • explicitly opt out of caching nextjs auth middleware (ac319a2)
  • exports: feature parity (e065eb4)
  • expose signed downloads (c51dd62)
  • extract prompt invocation logic to Prompt model (37a6a37)
  • force user to focus on the keystage picker (9f663ff)
  • force user to pick keystage + subject before (a4ca3cb)
  • further design implementation (85260a2)
  • generation status migrations (5a11a8f)
  • generations + prompts page working (dd73c4a)
  • handle new generation states in hooks (72c4497)
  • hide some upstream error details from end users (7987983)
  • hook and new share buttons in all places (0c41ee6)
  • identify posthog users by clerk userId (333cb46)
  • identify users in the backend (6a1ea63)
  • implement rate-limiting middleware with redis (aeee90a)
  • improve openapi schema for better gpt import (cb52620)
  • infer generation part types from zod schemas (8754fd9)
  • infer generation ratelimit from env, or 20/24h by default (2a6eafa)
  • infer ingest environment from deploy context (789e014)
  • inital work towards suggested lessons in QD (4cfc13a)
  • inital work towards suggested lessons in QD (fc25b3e)
  • integrate browser logger, improve console logging (cba84a8)
  • integrate logger in requestGeneration, trpc error handler (6414615)
  • integrate new timings endpoint with quiz designer components (ffc1903)
  • integrate trpc-openai (65f3991)
  • introduce GenerationPartPlaceholder variant for partial data (4715eb0)
  • judgment front to back (2ce2477)
  • layout review with blue bg (b7011bb)
  • layout updates and mobile (ac7aec9)
  • log all tRPC errors (e9dea93)
  • log each step in requestGeneration (8542b5d)
  • make bugsnag usage broadly consistent with OWA (c70b89e)
  • make component reusable in control by versions (54d926c)
  • make component reusable in control by versions (5d7ba42)
  • make edge runtime compatible version of logger (24f934d)
  • make feedback start working (91d677f)
  • merged (bed6e34)
  • merged and chatbot works (cdb756b)
  • mobile layout (111625f)
  • move exports into own package (04d5eed)
  • move to v0 and put swagger ui back (3a5fefc)
  • obscure internal server error stacktrackes from tRPC client (c0c95b7)
  • only allow users to find their own generations (37708ed)
  • only stream generations when requested to (9408eda)
  • parse generation.requested event schemas with zod (e956b3a)
  • pass all rate limiting info to notification component (883a50a)
  • pass around app & prompt ids instead of slugs past the API layer (6645b7c)
  • pass env param to inngest to differentiate branch deploys (6022161)
  • pass flag with all tRPC requests to tell if a request is limited (41abf44)
  • pass sessionId to each place a generation is requested (4ffe5b6)
  • patch inngest client to allow creation of child loggers (b4a9a50)
  • poll for onboarding updates every 300ms instead of 3s (cac0d34)
  • put url in asset api, also fix lesson assets (b5b1991)
  • quiz designer scrolls on start (6592db3)
  • quiz passing back through local (2c5c817)
  • re-bump next to v14 (f1f0ff7)
  • read prompt templates from the db (665e602)
  • redirect from netlify to cloudflare protected subdomain (f1abf0a)
  • relayout answers and distractors (2ee0ca1)
  • remove icons (ae2c44e)
  • render prompts from the db on prompts page (4d5c26c)
  • repeatedly poll redis-backed tRPC endpoint for generation updates (7179eb8)
  • return an error from useGeneration if we've been polling >1m30s (317bd34)
  • return ratelimit info from useGeneration, reorder loading states (9e34b4b)
  • save feedback_value when a generation is flagged by a user (f5a382c)
  • save formatted prompts as soon as possible (656c5d5)
  • save llm completion dimings (5258652)
  • schema and migrations (3874ddc)
  • script deletes slides based on cycles produced (fcd68f9)
  • scripts to import transcripts from lessons (4e81bfb)
  • scroll button (e69d43d)
  • scroll to start and hide time (d9b0b4c)
  • security policy (bba1a77)
  • send events from frontend when a user tweaks an item (3f4758f)
  • send privacy acceptance to onboarding endpoint (c3e6122)
  • send tracking events for manual answer/distractor tweaks (2eb3531)
  • share works into gdocs (2fb201c)
  • show a more specific error message when a user is rate limited (d191863)
  • show error message in quiz designer hero (586c30e)
  • show rate limit bypass message based on flag not email (57877c5)
  • show status of both jobs and db together (7655467)
  • spike integrating useGenerationCallbacks with demo reducer app (1745e3c)
  • spike using useReducer to mange quiz app state (c36c318)
  • store generation promptInputs (059eff9)
  • style the dialog and fix ui on mobile (4af2fc8)
  • temporary fix for feature flags (cdb8c86)
  • tootips: updated descriptions (14476df)
  • track appSession on feedback types (699093a)
  • track token usage per generation (67b993c)
  • transition through new generation states in inngest job (66b5c7b)
  • type-fixes (b01da09)
  • un-protect homepage (4a5b142)
  • update clerk, use new authMiddleware (d1e28b9)
  • update data base field (6d92da1)
  • update the text on the lesson planner page (16a09d5)
  • update timings endpoint to use statistics table (a4b556a)
  • updates button sizing (e9c6fd2)
  • user can add suggested question to quiz (57b5570)
  • video support (d819d68)
  • whats new dialog, currently blank (9c36f95)
  • work on refactor, add units, support slugs (2ba7107)
  • working scripts (f89b9be)
  • working slides + docs export (bad5745)