* refactor: create socket utility
* refactor: ensure a single subscription to topics
* refactor: replace usages of socket object with subscription store handler
* refactor: server run script
* refactor: extract message control feature
* refactor: socket usage for message control feature
* refactor: migrate e2e testing to playwright
* chore: add feature tests
* refactor: add validation on socket controller
* chore: jest tests server logic
* chore: update tests
* chore: run playwright tests on pull_requests
* style: element relationship
* feat: utility to add first element
* refactor: organise dir
* ux: deleting element closes drawer
* fix: issue with escaped characters
* fix: issue with overflow in events list
* fix: prevent event timer from receiving non event
* style: prevent small shift on class change
* style: visually detach event editor
* fix: entry block knows last event
* fix: skip event timer updates on non events
* fix: prevent electron OPENGL error
* style: cleanup text styles
* style: unify input styles
* refactor: simplify style and composition
* refactor: tweaks on style + ts
* refactor: add validation to events post
* fix: handle non events in event timer
* refactor: cleanup unused
* chore: migrate and upgrade state dependencies
* refactor(eventlist): get data from store
* refactor(messagecontrol): get data from store
* refactor(playbackcontrol): get data from store
* refactor(info): get data from store
* refactor(messagecontrol): handle mutations in hook
* feat(playbackcontrol): get data from store
* refactor(playbackcontrol): handle mutations in hook
* refactor(playbackcontrol): simplify object
* refactor: simplify interfaces
* refactor(InputRow): mixed control + styles
* refactor(socket): cleanup unused endpoints
* refactor(table): prepare table socket endpoint
* refactor(timer): extract timer to own endpoint
* refactor(table): get data from store
* chore: update tests
* refactor(socket): update sockets on cycle
* refactor: remove unnecessary safeguards
* feat(time): add optional time format
* feat(time): show 12 hour time in stage timer
* feat(time): override locally
* feat(time): show timer in selected format
* feat(time): show 12 hour time in table header
* refactor: extract time formatting into utility
* refactor: migrate datetime library
* refactor(formatTime): centralise time formatting for viewers
* feature(12hour): version bump
* fix/121: database is in public directory
* fix/121: refact loading sequence
* fix/121: populate with demo db
* fix/121: ensure path exists (linux issues)
* chore: upgrade minor versions
* chore: upgrade cypress
* chore: upgrade fe dependencies
* update readme
* update osx images
* update readme
* upgrade dependencies
* upgrade test dependency
* feat: add option to input autofill
* feat: autofill to the left
* chore: update docs
* chore: cleanup ci
* version bump
* style: prevent zero height bar
* fix: prevent loosing menu
* ux: improve input, no spellcheck or autocomplete
* small ux improvements in cuesheets
* feat 111/increase maximum number of events
* fix: optimistic delete issue with filter
* refact: pincode workflow
* chore: add versioning to packages
* add dependency
adding dependency to parse the excel file in the node side
* import file
ability to import file
- add extension
- safeguard file type and size
* user is able to upload json or excel
* chore: extract logic into self contained function
* associate model with version
* test id generation
* parse excel data
* prevent UI crash on bad data
* extract validation into self contained function
* chore: add more tests for bad data
* config: stop from opening browser on start
* fix comma in sample db
* handle corrupt files
* error boundary around main components
* jsdocs
* increase id length
* parse excel time string
* feat: excel parsing
* validate json db before import
* chore: test event validator
* feat: make function to clean convert strings
* chore: test parser
* chore: jsdocs
* fix: bug on upload
prevent bug where the component would prevent upload of same file twice
* style: prevent timer from resizing container
* style: review half and third screens
* style: prevent delay time from resizing blocks
* style: show now / next titles when container is collapsed
* docs: link to documentation in readme
* Update README.md
* Update README.md
* Update README.md
* style: new image assets
* cleanup
* style: prevent long titles from overflowing containers
* fix: send titles on change
fixed issue that prevented the next title from being broadcast on change
* roll locks to first
in case there are events with overlapping time, roll will play the one that started first
* sanitize data entry
fixes issue where input field would not return seconds if not modified
* update chakra
* fix time input in chrome
fix issue in chrome where value of input does not contain seconds
* change directory structure
move test file to __tests__ at the module directory
* test function
Add more tests to ensure the function remains safe
* fix coverage filter
* change directory structure
move to utilities folder
* refract formatDisplay with tst
* test millis
* test millis to seconds
* refract millis functions
* refractor timeStringToMillis
* create utility consts
* style component
* fixed bug with hidezero parameter
* fix issue with cancelling input edit
* style tweak