Releases: Rllyyy/repeatio
repeatio - v0.6
Welcome to the latest release of repeatio!
You don't need to download anything here - just visit the website to access all the latest changes.
Please note that the release notes below cover only the most significant features, bug fixes, and code improvements.
A complete list of all tickets related to this release can be found here.
Features
- Added ability to edit module through the module overview (#346)
- Added asterisk for required elements inside question and module editor (#361)
- Added deletion confirmation for questions, modules, bookmarked questions and settings (#368, #372)
- Added news page (#359)
- Added showTooltips setting (#351)
- Added tooltips for question actions (edit, delete, bookmark) (#351)
- Implemented ability to reorder questions by DragAndDrop (#373)
- Implemented lazy loading (#342)
Bug Fixes
- Fixed GitHub alerts in markdown failing to render due to new syntax (#358)
- Fixed Multiple Choice items in editor displaying incorrectly (#343)
- Fixed Question editor modal flicker on initial render (#371)
Code Miscellaneous
- Added abortController (#202)
- Added tailwindcss (#362)
- Added typecheck workflow (#347)
- Added reusable SuspenseWithErrorBoundary component (#339)
- Bumped @adobe/css-tools from 4.0.1 to 4.3.2 (#345, #356)
- Bumped @babel/core from 7.22.19 to 7.23.9 (#378)
- Bumped @babel/plugin-syntax-flow from 7.22.5 to 7.23.3 (#378)
- Bumped @babel/plugin-transform-react-jsx from 7.22.15 to 7.23.4 (#378)
- Bumped @babel/preset-env from 7.22.10 to 7.23.9 (#378)
- Bumped @basel/preset-react from 7.22.5 to 7.23.3 (#378)
- Bumped @babel/preset-typescript from 7.22.5 to 7.23.3 (#378)
- Bumped @babel/traverse from 7.21.4 to 7.23.2 (#353)
- Bumped @emotion/react from 11.11.1 to 11.11.3 (#378)
- Bumped @hookform/resolvers from 3.2.0 to 3.3.4 (#378)
- Bumped @mui/material from 5.14.4 to 5.15.10 (#378)
- Bumped @types/d3-ease from 3.0.0 to 3.0.2 (#378)
- Bumped @types/lodash from 4.14.196 to 4.14.202 (#378)
- Bumped @types/dompurify from 3.0.2 to 3.0.5 (#378)
- Bumped @types/file-saver from 2.0.5 to 2.0.7 (#378)
- Bumped @types/jest from 29.5.3 to 29.5.12 (#378)
- Bumped @types/node from 20.4.8 to 20.11.17 (#378)
- Bumped @types/react-dom from 18.2.7 to 18.2.19 (#378)
- Bumped @types/react-modal from 3.16.0 to 3.16.3 (#378)
- Bumped cypress from 12.17.3 to 13.6.4 (#378)
- Bumped cypress-real-event from 1.10.0 to 1.11.0 (#378)
- Bumped eslint from 8.46.0 to 8.56.0 (#378)
- Bumped framer-motion from 10.15.1 to 11.0.3 (#378)
- Bumped jest from 29.6.2 to 29.7.0 (#378)
- Bumped jest-environment-jsdom from 29.6.2 to 29.7.0 (#378)
- Bumped react-error-boundary from 4.0.10 to 4.0.12 (#378)
- Bumped react-hook-form from 7.45.4 to 7.50.1 (#378)
- Bumped react-icons from 4.10.1 to 5.0.1 (#378)
- Bumped react-router-dom from 6.14.2 to 6.22.0 (#378)
- Bumped react-textarea-autosize from 8.5.2 to 8.5.3 (#378)
- Bumped react-toastify from 9.1.3 to 10.0.4 (#378)
- Bumped react-tooltip from 5.25.2 to 5.26.2 (#378)
- Bumped typescript from 5.1.6 to 5.3.3 (#378)
- Bumped vite from 4.4.9 to 4.4.12 (#357)
- Bumped vite-tsconfig-paths from 4.2.0 to 4.3.1 (#378)
- Bumped word-wrap from 1.2.3 to 1.2.5 (#340)
- Bumped zod from 3.21.4 to 3.22.4 (#354, #378)
- Fixed unmet peer dependencies (#348)
- Removed concurrently (#366)
- Removed electron (#366, #109)
- Removed concurrently (#366)
repeatio - v0.5
Welcome to the latest release of repeatio!
You don't need to download anything here - just visit the website to access all the latest changes.
Please note that the release notes below cover only the most significant features, bug fixes, and code improvements.
A complete list of all tickets related to this release can be found here.
The main focus of this update was the migration from create-react-app to vite which reduced the bundle size from 1.1 MB to 700 KB (36%).
Features
- Added ability to delete all files (modules, settings, bookmarked quesitons) from localStorage (#308)
- Added ability to delete individual lines in extended match-questions (#284)
- Added ability to directly view question after add click (#294)
- Added ability to edit and create extended-match questions (#283, #287)
- Added ability to edit module (#318)
- Added ability to export all local storage files (#307)
- Added enter and exit animations for modules on add and delete (#263)
- Added link to YouTube tutorial to README (#295)
- Added loading state to module import (#303)
- Added product images to README (#333)
- Added settings page (#306)
- Added shuffle button to question component (#270)
- Added YouTube video to tutorial tab (#301)
- Configured new custom domain for the project (#291)
- Created basic tutorial (#286)
- Created custom email (#293)
- Implemented ability to modify order of questions in question overview (#280)
- Implemented module sort in overview (#264)
- Implemented Open Graph meta tags (#299, #300)
- Implemented question navigation by input (#282)
- Implemented zod inside Module Editor (#180)
- Saved module order in overview to settings (#281)
- Saved the navbar state to the settings (#304)
Bug Fixes
- Fixed correction for gap-text questions showing answer as incorrect if there is no gap (#268)
- Fixed gap-text and gap-text-dropdown ignoring markdown line breaks (#272)
- Fixed incorrect height of bookmarked questions button (#279)
- Fixed lines in extended match failing to connect on iOS (#322)
- Fixed Markdown appending link to current link instead of opening link in new window (#254)
- Fixed misaligned scrollbar in QuestionNotFound component (#298)
- Fixed popover in card not supporting tabbing (#278)
- Fixed Question correction not disappearing if navigating with browser history (#266)
- Fixed Question Editor not disappearing if editing a question and using the browser navigation (#267)
- Fixed settings icon in navbar being out of view on Safari (#323)
- Fixed tables in question not shrinking and causing overflow issues (#296)
- Fixed textarea in Question editor hiding content at end of line (#275)
- Fixed UI not updating when navigating from a non existing module to an existing module through the displayed options (#316)
- Fixed website failing to render on Safari (#321)
- Prevented addition of an already present line to fix duplicate key error in extended-match (#290)
- Resolved issue where incomplete lines in extended-match were incorrectly evaluated (#289)
- Resolved issue where incorrect params (mode/order) and previous values persisted after URL redirect (#271).
Code Miscellaneous
- Added Cypress test GitHub workflow (#327, #328)
- Added Jest and eslint GitHub Workflow (#332, #330, #331)
- Added tests for extended-match (#285)
- Attached event listener for bookmark event using useSyncExternalStore instead of useEffect (#311)
- Bumped @electron/remote from 2.0.9 to 2.0.10 (#319)
- Bumped @emotion/react from 11.10.6 to 11.11.1 (#319)
- Bumped @emotion/styled from 11.10.6 to 11.11.0 (#319)
- Bumped @mui/material from 5.11.15 to 5.14.4 (#319)
- Bumped @testing-library/jest-dom from 5.16.5 to 5.17.0 (#319)
- Bumped @testing-library/react from 12.1.5 to 14.0.0 (#319)
- Bumped concurrently from 7.6.0 to 8.2.0 (#319)
- Bumped cypress from 12.9.0 to 12.17.3 (#319)
- Bumped dompurify from 3.0.1 to 3.0.5 (#319)
- Bumped react from 17.0.2 to 18.2.0 (#201)
- Bumped react-dom from 17.0.2 to 18.2.0 (#201)
- Bumped react-hook-form from 7.43.9 to 7.45.4 (#319)
- Bumped react-icons from 4.8.0 to 4.10.0 (#319)
- Bumped react-markdown from 8.0.6 to 8.0.7 (#319)
- Bumped react-router-dom from 5.3.3 to 6.14.2 (#269)
- Bumped react-toastify from 9.1.2 to 9.1.3 (#319)
- Bumped rehype-katex from 6.0.2 to 6.0.3 (#319)
- Bumped semver from 6.3.0 to 6.3.1 (#313)
- Bumped tough-cookie from 4.1.2 to 4.1.3 (#338)
- Bumped typescript from 4.9.5 to 5.1.6 (#319)
- Bumped @types/dompurify from 3.0.0 to 3.0.2 (#319)
- Bumped @types/jest from 29.5.0 to 29.5.3 (#319)
- Bumped @types/lodash from 4.14.192 to 4.14.196 (#319)
- Bumped @types/node from 18.15.11 to 20.4.8 (#319)
- Bumped @types/react from 18.0.31 to 18.2.19 (#319)
- Bumped @types/react-dom from 18.0.11 to 18.2.7 (#319)
- Bumped @types/react-modal from 3.13.1 to 3.16.0 (#319)
- Bumped @types/wicg-file-system-access from 2020.9.5 to 2020.9.6 (#319)
- Fixed TypeScript throwing errors inside jest tests (#329)
- Implemented CodeQL analysis (#326)
- Implemented linter (#277)
- Integrated CreateModule component inside the new module editor (#320)
- Migrated to vite from create-react-app (#273, #274)
- Replaced canvas with SVG inside extended-match questions (#288)
- Removed upgrade useEffect for bookmarked question (#265)
- Refactored navbar (#305)
- Removed limitations for WebKit browsers to edit gap-text questions because lookbehind was previously not supported (#249)
- Upgraded react to react@18 (#201, #276)
- Upgraded react-router-dom to v6 (#269)
repeatio - v0.4
Welcome to the latest release of repeatio!
You don't need to download anything here - just visit the website to access all the latest changes.
The main focus of this release was the rewrite of the JavaScript codebase to TypeScript. As a result of that, there aren't as many new features in this release as in some of the previous updates. However, there are still made a number of important updates and fixes.
Please note that the release notes below cover only the most significant features, bug fixes, and code improvements.
A complete list of all tickets related to this release can be found here.
Features
- Added ability to add gap-text questions through the question editor (#205)
- Added ability to delete example module (#253)
- Added info in question editor that answerEditor supports markdown (#211)
- Added outline around select after question submit in gap-text-dropdown (#234)
- Added type, version and id to bookmarked questions in localStorage (#217)
- Redesigned the AddModule component for a better user experience (#220)
- Removed restriction for markdown images, allowing for more flexibility in content (#186)
- Replaced view port units with dynamic viewport units in question component for improved responsiveness (#225)
- Added ability to delete the last question of the current context (#248)
Bug Fixes
- Fixed add module modal being out of view if the user has a lot of modules (#237)
- Fixed bookmark file import replacing the module (#224)
- Fixed context not updating when using mode bookmarked or order random (#148)
- Fixed errors not being cleared on Firefox mobile (#214)
- Fixed gap-text and gap-text-dropdown not rendering certain html keys (#210)
- Fixed gap-text-dropdown not reshuffling fields on retry click (#232)
- Fixed missing duplicate warning when editing question to existing id (#213)
- Fixed module progress re-rendering on localStorage event (#230)
- Fixed question component miscalculating height on older browsers (#260)
- Fixed question component overflowing in mobile landscape (#226)
- Fixed question not resetting if there is just one question in the current context (#250)
- Fixed QuestionList component not updating the context (#227)
- Fixed "Refused to load the script 'https://netlify-cdp-loader.netlify.app/netlify.js' (CSP) for deploy previews" (#244)
- Fixed table in gap-text rendering white space above it (#203)
- Fixed "?" being displayed if the question has 0 points (#218)
Code Miscellaneous
- Added DomPurify validation for gap-text and gap-text-dropdown (#206)
- Added tests for deleting a question (#219)
- Added type: "edit" | "create" to QuestionEditor (#251)
- Added type: "module" to module on creation
- Added TypeScript support (#200)
- Bumped @electron/remote from 2.0.8 to 2.0.9 (#240)
- Bumped @emotion/react from 11.10.4 to 11.10.6 (#240)
- Bumped @emotion/styled from 11.10.4 to 11.10.6 (#240)
- Bumped @mui/material from 5.10.10 to 5.11.15 (#240, #256)
- Bumped @types/jest from 29.2.0 to 29.5.0 (#240, #256)
- bumped @types/lodash from 4.14.191 to 4.14.192 (#256)
- Bumped @types/node from 18.11.8 to 18.15.11 (#240, #256)
- Bumped @types/react from 18.0.24 to 18.0.31 (#240, #256)
- Bumped @types/react-dom from 18.0.8 to 18.0.11 (#240)
- Bumped concurrently from 7.4.0 to 7.6.0 (#240)
- Bumped cypress from 12.1.0 to 12.9.0 (#240, #256)
- Bumped dns-packet from 5.3.1 to 5.5.0 (#258)
- Bumped electron from 17.4.7 to 18.3.7 (#209)
- Bumped http-cache-semantics from 4.1.0 to 4.1.1 (#238)
- Bumped is-electron from 2.2.1 to 2.2.2 (#240)
- Bumped json5 from 1.0.1 to 1.0.2 (#231)
- Bumped loader-utils from 2.0.2 to 2.0.3 (#208)
- Bumped loader-utils from 2.0.3 to 2.0.4 (#212)
- Bumped react-device-detect from 2.2.2 to 2.2.3 (#240)
- Bumped react-hook-form from 7.38.0 to 7.43.9 (#240, #256)
- Bumped react-icons from 4.6.0 to 4.8.0 (#240)
- Bumped react-markdown from 8.0.3 to 8.0.6 (#240, #256)
- Bumped react-toastify from 9.0.8 to 9.1.2 (#240, #256)
- Bumped typescript from 4.8.4 to 4.9.5 (#240)
- Bumped wait-on from 6.0.1 to 7.0.1 (#240)
- Bumped webpack from 5.72.1 to 5.77.0 (#259)
- Bumped web-vitals from 2.1.4 to 3.3.0 (#240)
- Changed white-space from pre-line to pre-wrap (#199)
- Converted cypress component tests to typescript (#221)
- Fixed failing jest tests (#236)
- Refactored gap-text (#198)
- Refactored module context provider (#134)
- Removed script-scr 'unsafe-inline' (#245)
- Removed warnings regarding editing questions in mode random and bookmarked from README (#255)
- Replaced JavaScript files with TypeScript (#216)
- Simplified usage of electron (#261)
- Updated Content-Security-Policy (#222)
- Upgraded release v0.4 dependencies (#240, #256)
Warning
It is recommended to use the website instead of downloading anything here whenever possible, as there is a possibility that Electron versions may not be supported in the future.
If you use the .exe here instead of the website, your data will be deleted when updating the app!
repeatio - v0.3
Preamble
🚧 Most users should visit the website to view the newest version of repeatio instead of downloading any assets here. 🚧
Only download repeatio.Setup.0.3.0.exe from the Assets section if you know how to edit raw .json files!
If you used repeatio before v0.3 you need to manually update your modules!
Permanent link to v0.3.
The release notes only cover the main features, bug fixes and code improvements. All tickets can be found here.
📃 Release Notes
🎉Key Features
- Implemented ability to import and create modules (#129)
- Implemented ability to add a question (#125, #131)
- Implemented ability to edit a question (#130)
- Implemented export of module (#160)
- Implemented export and import of bookmarked questions (#123)
✨All new Features
- Added automatic logging to console on toast notification (#171)
- Added Cypress for e2e testing (#159)
- Added error if module isn't found (#187)
- Added footer (#155)
- Added icon (#183)
- Added react-toastify for user notifications (#170)
- Added support for multiline question title and help in editor (#163)
- Added toast error when trying to update question in module random (#181)
- Delete a question (#135)
- Display what gap were correct or incorrect in gap text (#145)
- Display what selected options were correct or incorrect in multiple-choice (#143)
- Display what selected options were correct or incorrect in multiple-response (#142)
- Documented inline css for styling (#121)
- Documented scripts in README (#192)
- Enabled form validation to CreateModule.jsx (#172)
- Implemented ability to delete a module (#173)
- Implemented ability to delete all bookmarked questions in module (#175)
- Implemented form validation to QuestionEditor.jsx (#177)
- Implemented removing of unused key-value pairs in question (#175)
- Removed id of question from bookmarked questions if the question was deleted or the id was edited (#152)
- Switched HashRouter with BrowserRouter to remove "#" from the url (#156)
- Updated Cypress to support component testing (#184)
- Updated module to support language prop (#182)
🐛Bug Fixes
- Fixed crash if question id wasn't found (#136)
- Fixed duplicate of types_1 module appearing in overview (#140)
- Fixed failing electron build (#179)
- Fixed gap-text and gap-text-dropdown not supporting markdown line breaks (#169)
- Fixed infinite load of types_1 from public if there is no internet connection (#149)
- Fixed LaTeX too big font size (#164)
- Fixed markdown adding unnecessary whitespace to lists in questions (#158)
- Fixed missing border radius of toast on mobile (#174)
- Fixed modal overlay being out of sync on initial render (#147)
- Fixed multiline edits not working for multiple-choice question edit (#154)
- Fixed out of date examples of data structure (#138)
- Fixed outdated LaTeX (#137)
- Fixed question not resetting to top on navigation (firefox mobile) (#146)
- Fixed refetch on navigation because of missing favicon.ico (#183)
- Fixed warning when trying to parse "?" as question points (#144)
🏗️Code Miscellaneous
- Added .markdownlint.json and cspell.json to project (#193)
- Added test for multiple-choice question type (#129)
- Bumped @emotion/react from 11.9.0 to 11.10.4 (#195)
- Bumped @emotion/styled from 11.8.1 to 11.10.4 (#195)
- Bumped @mui/material from 5.8.2 to 5.10.10 (#195)
- Bumped @react-hook/resize-observer from 1.2.5 to 1.2.6 (#195)
- Bumped @testing-library/jest-dom from 5.16.4 to 5.16.5 (#195)
- Bumped concurrently from 7.2.1 to 7.4.0 (#195)
- Bumped electron-builder from 22.14.13 to 23.6.0 (#195)
- Bumped react-circular-progressbar from 2.0.4 to 2.1.0 (#195)
- Bumped react-icons from 4.4.0 to 4.6.0 (#195)
- Fixed electron security warnings (#196)
- Redesigned implementation of buttons and links in card (#161)
- Refactored folder structure (#111)
- Refactored multiple-choice question type (#128)
- Refactored multiple-response question type (#133)
- Refactored question component (#150)
❗ Known Issues
- Run the installer with admin privileges if you want to change the default path
- The uninstaller doesn't work if you choose a custom path
🔄 Update Module Files
We made some changes to the structure of the module file.
You need to update your modules manually to continue using them.
- Add property
"compatibility"
with the value:"0.3.0"
- Add property
"lang"
with the value"en"
or"de"
- Remove property
"createdAt"
- Remove property
"description"
- Remove property
"points"
if value was"?"
ornull
before - Remove property
"help"
if value was""
before - Rename property
"questionTypeHelp"
to"help"
Note
This just applies if you created modules with repeatio@0.2.0 or previous versions!
repeatio - v0.2
Download repeatio.Setup.0.2.0.exe from the Assets section.
It's very likely that there is a newer version available.
The release notes only cover the main features, bug fixes and code improvements. All tickets can be found here.
🎉Key Features
- Added math (KaTeX) support (#115)
- Added react-markdown for styling questions (#58, #54, #105)
- Enabled browser localStorage for modules (#81)
- Implemented question overview (#61)
- Implemented question type gap text with dropdown (#72)
- Implemented random Practice (#57)
- Implemented training with marked questions (#87)
✨All new Features
- Added module progress (#99)
- Added remark support for question title and type help (#119)
- Added scroll margin to question-correction (#114)
- Added styling guide (#117)
- Created KaTeX guide (#120)
- Created README (#70)
- Disabled non-active cards in single module view (#113)
- Enabled question correction for Extended Match (#67)
- Enabled question correction for Gap Text with Dropdown (#74)
- Implemented loading spinner when loading (#98)
- Implemented marking questions (#84)
- Improved tabbing support (#107)
- Randomized drop down values in Gap Text with Dropdown (#78)
- Redesigned module overview (#86)
- Redesigned navbar (#62)
- Redesigned question navigation (#85)
- Redesigned single module view (#110)
- Styled question IDs (#77)
- Updated example questions (#80)
🐛Bug Fixes
- Fixed crash caused by shuffled array for multiple choice/response questions (#79)
- Fixed firefox android zoom out bug (#12)
- Fixed form submit on enter (#69)
- Fixed gap text input font size (#59)
- Fixed input in gap text not updating when previous question was also gap text (#60)
- Fixed Lighthouse: Ensure text remains visible during webfont load (#104)
- Fixed Lighthouse: Buttons/Form elements do not habe an accessible name (question) (#106)
- Fixed list items not aligning with parent in question (#76, #118)
- Fixed Multiple Choice not resetting on time if next question is also Multiple Choice (#64)
- Fixed navigation-skip not going to next question when using random mode (#68)
- Fixed question buttons not being optimized for mobile (#82)
- Fixed scroll position not resetting to top on window.location change (#83)
- Fixed .css hover being applied to mobile devices (#75)
- Removed mobile blue highlight tap color (#36)
🏗️Code Miscellaneous
- Bumped @emotion/styled from 11.3.0 to 11.8.1
- Bumped @mui/material from 5.06 to 5.8.2
- Bumped @react-hook/resize-observer from 1.2.4 to 1.2.5
- Bumped @testing-library/jest-dom from 5.14.1 to 5.16.4
- Bumped @testing-library/react from 11.2.7 to 12.1.5
- Bumped concurrently from 6.2.1 to 7.2.1
- Bumped electron from 17.0.0 to 17.4.7
- Bumped electron-builder from 22.14.5 to 22.1.7
- Bumped react-icons from 4.2.0 to 4.4.0
- Bumped react-router-dom from 5.3.0 to 5.3.3
- Bumped react-scripts from 4.0.3 to 5.0.1
- Bumped wait-on from 6.0.0 to 6.0.1
- Bumped web-vitals from 1.1.2 to 2.1.4
- Refactored navbar (#62)
- Reworked module question context (#91)
❗ Known Issues
- If the installer is failing, do not change the default path
repeatio - v0.1
This is the first (technical) release of repeatio. It's very likely that there is a newer version available. The release notes only cover the main features, bug fixes and code improvements. All tickets can be found here.
Caution: Download this version at your own risk. It's not tested and may break newer versions of this program.
🎉Key Features
- Implemented Extended-Match question type (#52)
- Implemented Gap Text question type (#47)
- Implemented Multiple Choice question type (#23)
- Implemented Multiple Response question type (#22)
✨All new Features
- Added Emoji cheat sheet (#20)
- Added functionality to question navigation (#43)
- Added Hash Router for sites (#2)
- Added question retry (#34)
- Added React Devtools (#3)
- Added shuffle to Multiple Response and Multiple Choice answer options (#24)
- Added shuffle on question retry (#41)
- Added sidebar (#1)
- Allowed multiple correct values for Gap Text question type (#50)
- Created module component (#11)
- Disabled ability to change answer after submit (#31)
- Disabled spellcheck and autocomplete in Gap Text (#51)
- Displayed current question out of total
- Highlighted currently viewed site in navbar (#5)
- Highlighted possible matching options in Extended-Match (#54)
- Implemented ability to read modules from documents folder (#46)
- Implemented answer checking (#25)
- Implemented electron hot reload (#32)
- Implemented reading question data form the file system (#40)
- Implemented scroll into view when showing answer (#29)
- Optimized mobile design for extended match (#55)
- Randomized left and right option in Extended-Match (#53)
- Trimmed input values for Gap Text question type (#49)
- Updated font to Roboto (#8)
🐛Bug Fixes
- Fixed key inputs not registering on webContents (#38)
- Fixed location.state return null when entering just module url (#17)
- Fixed match.params.moduleID returning undefined on question navigation (#48)
- Fixed mobile behavior not being removed when switching to desktop viewport (#10)
- Fixed navbar not minimizing on mobile (#33)
- Fixed next question button pointing to static module (#44)
- Fixed react router keeping current view on link click instead of scrolling to top (#14)
- Fixed scrollbar being ignored on mobile (#30)
- Fixed settings icon being stuck to bottom of page and not viewport (#13)
- Fixed z-index of sidebar (#15)