Carlos Valente
35f4472daa
chore: define test workspaces
2024-11-29 19:36:39 +01:00
jwetzell
c5870452e3
make custom fields case sensitive ( #1242 )
...
* remove custom field lowercasing
* don't allow custom field form to submit duplicate field
* remove unused
* update custom field tests
* also keep upper case when editing
* show key in UI
* also kep upper case when creating a new field
* fix test
* allow old forced case keys to stay as is
* allow space
* add extension to import
* supply initial key to CustomFieldForm
* refactor: improve element contrast
* refactor: style and composition
* consistent use of `customFieldLabelToKey`
* fix CopyTag
* remove log
---------
Co-authored-by: arc-alex <ac@omnivox.dk >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
2024-10-18 18:53:23 +02:00
Carlos Valente
db8ed93d41
fix: handle multiple days
2024-09-07 08:46:32 +02:00
Carlos Valente
7b932ef0f7
refactor: add options to hide schedule
2024-09-01 10:41:54 +02:00
Alex Christoffer Rasmussen
e20cd87673
fix: stop log incorrectly ( #1185 )
...
* fix: stop log incorrectly
* prevent start if already playing
2024-08-27 13:09:39 +02:00
Carlos Valente
73db14c383
refactor: show running gap in UI
2024-08-27 12:58:18 +02:00
Carlos Valente
f5936e5254
refactor: unify logic
2024-08-27 12:58:18 +02:00
Carlos Valente
25c7915cf7
refactor: account for overlapping in rundown
2024-08-27 12:58:18 +02:00
Carlos Valente
66774321a5
refactor: calculate rundown duration
2024-08-27 12:58:18 +02:00
Alex Christoffer Rasmussen
ee1b5b7fdd
Keep offset when taking over playback with roll v2 ( #1184 )
...
* pass on offset
* account for offset in roll
* prevent roll from overtime
* add test
2024-08-26 18:09:03 +02:00
Alex Christoffer Rasmussen
340f5478fb
add shortcut to jump between blocks ( #1181 )
...
* add shortcut
* chore: rename getRelevantBlock to getPreviousBlock
2024-08-19 17:20:58 +02:00
Alex Christoffer Rasmussen
f708dc0bc4
Fix current block ( #1170 )
...
* pass full rundown to loadNow
* remove prevBlock from state
* refactor: simplify load logic (#1174 )
* send clock to client on block start to avoid it showing -1 in the client
---------
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
2024-08-15 16:25:29 +02:00
Carlos Valente
da11ef64c2
refactor: roll mode
...
* chore: escalate stack trace to console
* refactor: event finding in roll
* docs: initial roll specification
* refactor: call to roll
* refactor: normalise index
* refactor: roll into next event
* refactor: hot reload on waiting to roll
* refactor: wait to roll next
2024-08-04 21:34:01 +02:00
Carlos Valente
3012d73285
feat: timeline view
2024-08-04 21:32:25 +02:00
Alex Christoffer Rasmussen
158ef05ff0
add relevantBlock function ( #1100 )
...
* feat: current block
* pass full rundown to functions and use filter utils
2024-07-23 12:22:47 +02:00
jwetzell
a79fb4ecbb
convert shared dependencies to pnpm catalog
2024-07-17 07:53:43 -05:00
jwetzell
ef9afcbf3e
remove husky and pre-commit scripts
2024-07-16 17:57:20 -05:00
Carlos Valente
fe0665506e
chore: update typescript
2024-07-16 13:18:20 +02:00
Carlos Valente
9f1a64f53c
chore: upgrade dependencies
2024-06-23 22:07:34 +02:00
Alex Christoffer Rasmussen
975356f4f4
events with 0 duration dose not contribute to next day calculation ( #1099 )
2024-06-23 22:06:44 +02:00
Carlos Valente
3af4c64ff3
chore: upgrade lint dependencies
2024-06-07 20:15:43 +02:00
Carlos Valente
c2039866b4
refactor: fix missed first update ( #1031 )
2024-06-03 20:27:51 +02:00
Carlos Valente
686c6108bf
refactor: improve payload type for OSC ( #954 )
...
---------
Co-authored-by: Joel Wetzell <jwetzell@yahoo.com >
Co-authored-by: arc-alex <ac@omnivox.dk >
2024-05-30 13:02:22 +02:00
Carlos Valente
7cbb2112ed
refactor: simplify parsing logic
2024-05-27 15:51:45 +02:00
Carlos Valente
ce910c9cc6
refactor: extract parseUserTime
2024-05-27 15:51:45 +02:00
Carlos Valente
a09aa922bb
refactor: delete several events
2024-05-26 21:36:49 +02:00
Carlos Valente
7cefe07594
refactor: cap added time
2024-05-20 21:17:37 +02:00
Carlos Valente
d05cc88748
refactor: unify time constants
2024-05-20 21:17:37 +02:00
Carlos Valente
eb2c4d0780
refactor: recover day after indicator
2024-05-20 21:11:52 +02:00
Carlos Valente
ac430602b4
chore: upgrade vite dependencies
2024-05-20 19:32:28 +02:00
Carlos Valente
dae6f84af0
fix: excel parsing
2024-05-17 19:44:47 +02:00
Carlos Valente
e8cfdbe3b9
refactor: simplify tests
2024-05-11 14:22:29 +02:00
Charalambos Makridakis
8b0e03e980
#914 Refactor: Luxon-Depenency, formatFromMillis() ( #924 )
2024-04-29 23:20:12 +02:00
Alex Christoffer Rasmussen
9e04a1dcfa
shortcuts using useHotkeys from mantine/hooks ( #907 )
...
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
2024-04-27 18:00:41 +02:00
Alex Christoffer Rasmussen
74418ce17e
Link start times from excel import ( #903 )
...
* add test for linking start time in excel import
* link ids
* add link to UI
* ensure times with cachedRundown
---------
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
2024-04-26 18:09:59 +02:00
Carlos Valente
8f249b9d51
refactor: rundown must be in order
2024-04-19 20:49:37 +02:00
Carlos Valente
55d1aca9b6
V3 ( #657 )
...
* refactor: cleanup routes
* style: smaller base font
* chore: upgrade dependencies
* chore: lock node version to electron
* refactor: pass HTTP to integration controller (#652 )
* refactor: deprecate onair control
* refactor: remove playback router
* Several project files user folder (#617 )
* chore: automated screenshots (#667 )
* feat: app settings (#658 )
* refactor: remove deprecated event data (#674 )
* Studio clock (#663 )
---------
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* Feat: reorder events with alt+ctrl + arrow up/down (#645 )
* Warning and danger per event (#677 )
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* refactor: stabilise actionHandler (#683 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* improvement: hide seconds (#675 )
* wip: overview (#688 )
* fix: focus cursor (#695 )
* refactor: update lower third (#665 )
* Refactor/time formatting (#696 )
---------
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* feat: multiple selection (#703 )
---------
Co-authored-by: asharonbaltazar <asharonbaltazar@outlook.com >
Co-authored-by: Alex <ac@omnivox.dk >
* fix: test - go to `Edit mode` befor tying to click `Event options` button (#708 )
* refactor: runtime service (#715 )
* fix: issue with loosing cursor position on message (#719 )
* remove info panel (#721 )
* Event editor continue (#722 )
* update API - part (#709 )
---------
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* refactor: update timers (#729 )
* feat: many timers (#706 )
---------
Co-authored-by: arc-alex <ac@omnivox.dk >
* refactor: excel cleanup (#734 )
* refactor: allow import of blocks and skip import (#735 )
* Project manager (#697 )
* refactor: UI for linking events (#763 )
* upgraded pipeline actions (#777 )
* Over under (#771 )
* custom fields (#744 )
---------
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* Sheets settings (#774 )
---------
Co-authored-by: arc-alex <ac@omnivox.dk >
* style: tweaks to lower thirds (#785 )
* refactor: delays account for gaps (#784 )
* refactor: partial state updates (#780 )
* feat: generate crash report (#787 )
* Sheet use limited input device auth flow (#782 )
---------
Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* Custom fields views (#789 )
* refactor: deprecate presenter and subtitle (#795 )
* refactor: organise API around resources (#798 )
---------
Co-authored-by: Bianca Procopio <biancahprocopio@gmail.com >
* Time to end (#804 )
* Skip fixes (#805 )
* fix: onair derives from playback
* Param nav (#822 )
---------
Co-authored-by: Alex Christoffer Rasmussen <ac@omnivox.dk >
* refactor: download files from interface (#831 )
* Quick options (#814 )
* End pause (#832 )
* chore: bump node version in docker (#834 )
* refactor: follow in run mode (#840 )
* fix: uncaught error in http integration (#837 )
* Apply project (#843 )
Co-authored-by: Matteo Gheza <matteo.gheza07@gmail.com >
Co-authored-by: Ary <arylmoraesn@gmail.com >
Co-authored-by: Alex Christoffer Rasmussen <ac@omnivox.dk >
Co-authored-by: Fabian Posenau <19673098+kellhogs@users.noreply.github.com >
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: Alex Rohleder <alexrohleder96@gmail.com >
Co-authored-by: asharonbaltazar <asharonbaltazar@outlook.com >
Co-authored-by: Bianca Procopio <biancahprocopio@gmail.com >
Co-authored-by: Fabian Posenau <fabianpos99+github@gmail.com >
2024-04-13 10:06:46 +02:00
Carlos Valente
467b595375
fix: issue where a end time can be overflowing ( #761 )
2024-02-06 11:42:28 +01:00
Alex Christoffer Rasmussen
1343818917
Improve change api ( #628 )
...
* fix: jsdoc comments
* more human casting of string values to boolean
* add coerceColour to get named colors to work
* cue can't pass isKeyOfType event check
* dont mutate value
* alloow cue in eventDef
* lint
* css named or hex formatting
* "sideEffects": false
* test colour hex regex
* roll eventDef back to master
* parse property
* don't export cssColour names
* remove import
* only allow string types to colour
* handle transparent colour
* mix alpha with bg colour
* only allow updating events
* descriptive names
* add test for getAccessibleColour
* readability
* move isColourHex to regex-utils
* simplify and add test
2023-12-08 12:55:04 +01:00
Carlos Valente
5be60ff6c3
feat: show progress in op and cuesheet ( #605 )
2023-11-24 12:04:38 +01:00
Carlos Valente
a41fe8806b
configure lint staged ( #588 )
...
* chore: upgrade monorepo deps
* chore: configure lint-staged
* refactor: lenient use of any
2023-11-13 22:04:55 +01:00
Carlos Valente
45fe669f0a
feat: excel import ( #527 )
...
* refactor: simplify excel import
* chore: add external deepmerge utility
* chore: create import map utilities
* chore: increase size limits on uploads
* style: small presentation tweaks
* feat: resolve times on excel import, refs #508
2023-11-11 14:28:43 +01:00
Carlos Valente
2c47d90f34
chore: configure project wide linter ( #577 )
...
* chore(lint): configure project-wide linter
* chore(lint): improve linting in files
* chore(lint): hide warnings in CI
2023-11-07 22:30:39 +01:00
Carlos Valente
b34fe71995
chore: add line end to prettier ( #548 )
2023-10-14 19:12:14 +02:00
Carlos Valente
93fb48ea1c
feat: operator view ( #440 )
...
* feat: operator view
* chore: smoke test operator
* refactor: small improvements from deepsource
---------
Co-authored-by: arihanv <arihanvaranasi@gmail.com >
Co-authored-by: arihanv <63890951+arihanv@users.noreply.github.com >
2023-09-11 21:03:11 +02:00
Carlos Valente
cd9dbcdc68
fix: add event ( #499 )
...
* refactor: remove guards on event creation
* style: minimum safe block size
* fix: insert after finds previous valid cue
2023-08-26 21:45:51 +02:00
Carlos Valente
e5fdf27f6c
fix: apply delay ( #494 )
...
* fix: bug with applying delays
* fix: show delay data only in production screens
* chore: cover delay with feature test
* refactor: simplify type assertion
2023-08-23 22:31:15 +02:00
Carlos Valente
657cc22b44
feat: event cue ( #473 )
...
* feat: parse cue
* refactor: get delay from backend
* feat: add cue to UI
* refactor: remove deprecated delay logic
* refactor: extract studio clock specific logic
* refactor: extract utilities
* refactor: fix issue with missing key
* style: prevent cue overflow
* style: prevent whitespace wrap
* feat: add support for cues in integrations
2023-08-17 21:43:11 +02:00
asharonbaltazar
51c31adaf1
Swap Event Data ( #446 )
...
* use zustand store in `ContextMenuContext`
* add `withDivider` prop to context menu `Option`
* add `isDisabled` prop to `Option`
* create `eventIdSwapping` store
* create swapping context menu options
* fix `key` in ContextMenu
* address `tanstack-eslint` errors
* create initial `requestEventSwap` event
* create initial `swapEvents` action
* use `swapEvents` in `EventBlock`
* move from `emitError` to `logAxiosError`
* remove extra curly brace from Copy ID
* add `clearEventId` func
* finalize context menu swapping logic
* write optimistic swapping logic
* remove unused import and type out handler in `rundownController`
* create `rundownSwapValidator`
* move index increase to `EventBlock`
* move swapping logic from `id` to `index`
* create `swapEvents` endpoint
* move `useEventIdSwapping` hook into its own file
* revert to using event `id`
* logic now uses indexes to swap events
* add `todo` to `swapEvents`
* revert index increment
* create `swapOntimeEvents` and export in `index.ts`
* use `swapOntimeEvents` in frontend & server
* update import path
* remove extra `setCached`
2023-08-15 16:04:53 -04:00
Carlos Valente
a46a0e1631
fix: typo in macos release ( #488 )
2023-08-12 11:52:05 +02:00