Claude
59bff62f76
refactor: address review feedback on aux timer naming
...
- Revert the automation action labels back to "Aux N: action" (no
functional reason to change this wording).
- Simplify the aux timers header in the playback control: the flex
container now only handles layout, and the label text reuses the
same font-size/color as the per-timer labels below it, instead of a
bespoke style block duplicating those values.
- Replace the generic, length-driven normaliser with an explicit
sanitiseAuxTimerNames() that always deals with exactly three timers,
and rename it away from "normalise" (which didn't convey that it
trims, caps length and fills in missing entries). Static defaults
now use a plain ['', '', ''] literal instead of calling the
sanitiser with no input to sanitise.
- Settings.type.ts and AuxTimerSettings.tsx no longer generate their
three fields from a loop; the form mirrors the same explicit,
one-field-per-row style already used by GeneralSettings.tsx.
- Trim comments that only restated what the following line already
says, keeping the ones that explain non-obvious behaviour (why
AuxTimerService needs to be resynced separately from the data
provider, why SimpleTimer.reset() preserves the name).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01WCZejVTzuAY3tHTE6nB3JH
2026-08-01 07:15:12 +00:00
Claude
38e3ab979d
fix: resync aux timer names on project load, consolidate name handling
...
Addresses the review findings on the aux timer naming feature.
- Aux timer names are project data, but they were only applied at
bootstrap and on a settings POST. Loading another project left the
previous project's names in the runtime store, so the controls and
views disagreed with the settings panel until a restart. The names are
now applied when a project is loaded, and patching the current project
settings applies them and sends a settings refetch to the clients
(loading a project already triggers a full refetch via the rundown).
- Consolidate the name handling into a single normaliser in ontime-utils,
used by the project file parser, the API validation and to build the
default value. This creates the property when importing project files
saved before the feature existed, and enforces the name length limit
server side rather than only in the form.
- loadNames normalises its input, so the runtime state is consistent
regardless of the shape of the stored settings.
- Clarify that auxTimerNames is ordered (index 0 is aux timer 1), and
derive the settings form from the shared aux timer count.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01WCZejVTzuAY3tHTE6nB3JH
2026-07-30 17:31:27 +00:00
Alex Christoffer Rasmussen
1a08b39b8b
feat: auto cue re-numbering ( #2016 )
...
* feat: update auto cue numbering
* feat: renumber from ui
* refactor: patchEntries is not used
* chore: format
* fix: correct cue at top of group
* fix: handle precision
* refactor dialog
* bump limit for performance time test
* extract type
* add class name to lable
* fix rebase
* refator: extract renumering logic
* chore: comments for getIntegerAndFraction function
* chore: add the for renumber mutation
* fix: fraction match precision
* refactor: small cleanup
* refactor: use more narrow validator
---------
Co-authored-by: alex-Arc <omnivox@LAPTOP-RC5SNBVV.localdomain >
2026-05-03 18:39:00 +02:00
Carlos Valente
4827117163
refactor: extract entry creation logic
2026-02-14 08:56:16 +01:00
Carlos Valente
5777ef3532
refactor: extract parent resolution
2026-02-14 08:56:16 +01:00
Carlos Valente
80a3b04493
refactor: export rundown placement logic
2026-02-14 08:56:16 +01:00
Carlos Valente
7c5fdd3b19
refactor: remove unused exports
2026-02-14 08:56:16 +01:00
Carlos Valente
967e92e2c8
feat: extend rundown shortcuts
2026-02-08 11:20:09 +01:00
Carlos Valente
8aad271ffe
refactor: create utility for enums
2026-02-08 11:20:09 +01:00
Carlos Valente
e5d2457717
chore: rename blocks to groups
2025-08-18 06:16:53 +02:00
Alex Christoffer Rasmussen
35347e8d63
Feat: Time until group and flag ( #1708 )
...
* refactor: split event data and state data
* refactor: calculate the start time insted of until
* cleanup
* send next flag expected start from server
* refactor: render
* fix test
* use same icon
* refactor: group duration
* Optimize (#1711 )
* refactor: consolidate block, flag and end loading and expected times
* work on test
* cal end value
* lint
* fix test
* remove todo
2025-08-06 21:55:28 +02:00
Carlos Valente
5bc286145d
refactor: extract regex utilities
2025-07-26 10:51:00 +02:00
Alex Christoffer Rasmussen
e9dda817e5
block end calculation ( #1683 )
2025-07-14 11:38:27 +02:00
Alex Christoffer Rasmussen
4872cd0a48
Colorised spreadsheet ( #1643 )
...
* feat: colorise spreadSheet with rundown color
* feat: add colorisation in spreadsheet for block
* feat: border color
* fix: cleanup accessible color
* fix: review before merge (https://github.com/cpvalente/ontime/pull/1608 )
* fix: usgae of map instead foreach (https://github.com/cpvalente/ontime/pull/1608 )
* Update apps/server/src/services/sheet-service/SheetService.ts
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
* fix: comment condition
* fix: Remove Color plugin (but don't can get color like 'red' or 'black')
* fix: isLight for more clean code
* fix: remove map on isLight function
* fix: remove debug logger
* refactor colour
* lint
---------
Co-authored-by: Gwenitora <gwenitora.gardu74@gmail.com >
Co-authored-by: Gwenitora <61121870+Gwenitora@users.noreply.github.com >
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
2025-06-24 22:38:03 +02:00
Carlos Valente
2498e59156
refactor: migrate custom fields to transactions
...
refactor: extract functions to api domain
refactor: strict custom field parsing
refactor: remove rundown cache utilities
refactor: directory restructure
2025-06-09 14:12:59 +02:00
Alex Christoffer Rasmussen
33ac05ebee
Refactor: better rounding ( #1594 )
2025-06-09 14:12:58 +02:00
Carlos Valente
c7d99073f6
refactor: extract utility to merge two arrays
2025-06-09 14:12:55 +02:00
Carlos Valente
fc4c1bf22e
refactor: gather group metadata
2025-06-09 14:12:53 +02:00
Carlos Valente
abd9b127db
refactor: restructure model to contain an object of rundowns
2025-06-09 14:12:51 +02:00
Alex Christoffer Rasmussen
1e1aa4bca5
Fix: sheet export ( #1606 )
...
* add util to get keys from labels
* look for existing keys first then create new
* save ontime key to rundown metadata
* update test
2025-05-12 13:56:25 +02:00
Carlos Valente
4a6fbc2a92
refactor: add timezone data to session
2025-01-17 20:05:56 +01:00
Carlos Valente
aa929fd0dc
refactor: create utility for nested templates
2025-01-12 10:20:24 +01:00
Alex Christoffer Rasmussen
cfcf6a5684
extract isPlaybackActive to a global util function ( #1393 )
2024-12-18 12:44:48 +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
7b932ef0f7
refactor: add options to hide schedule
2024-09-01 10:41:54 +02:00
Carlos Valente
73db14c383
refactor: show running gap in UI
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
340f5478fb
add shortcut to jump between blocks ( #1181 )
...
* add shortcut
* chore: rename getRelevantBlock to getPreviousBlock
2024-08-19 17:20:58 +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
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
ce910c9cc6
refactor: extract parseUserTime
2024-05-27 15:51:45 +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
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
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
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
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
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
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
023aac4ead
fix: midnight roll ( #484 )
...
* refactor: extract utilities and types
* refactor: extract and simplify progress bar logic
* refactor: duration validation handles midnight
* fix: prevent stale event loader
* refactor: consider next event in timer invalidation
* refactor: reload changes on changed roll target
* refactor: timer load accounts for midnight
* fix: issues with midnight on roll
* refactor: prevent stale secondary event
2023-08-12 10:42:43 +02:00
Carlos Valente
b89d0787d4
refactor: roll handover ( #451 )
...
* style: tweak active colour
* refactor: create shared playback validation
* feat: allow handover from and to roll
2023-07-15 11:06:10 +02:00
Fabian Posenau
7cfe7c0d78
Integration/human readable time ( #405 )
...
* refactor: remove unused code
* feat: add human readable values to message parsing
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com >
2023-06-05 20:48:53 +02:00
Carlos Valente
c8e979bc9a
v2 ( #386 )
...
* Refactor/ts sockets (#210 )
* refactor(ts): create socket subscription service
* refactor(ts-sockets): useSubscription hook
* refactor(ts-sockets): extract colour selection to utility
* Refactor/socket controller (#212 )
* refactor(socket): dictionary cleanup
* refactor(socket): detangle socket from EventTimer
* refactor(socket): poll object
* refactor(socket): wip, extract data responsibilities to provider
* fix: issue with onAir
* refactor: create data provider and validation utils
* refactor: remove deprecated endpoint
* refactor: detangle and validate ontime controller
* refactor: detangle and validate events controller
* refactor: validate routers
* refactor: handle post failure in modals
* chore: upgrade electron (#215 )
* Fix: issue with text colour (#214 )
* fix: adjust text colour from context
* fix: issue with wrong proptype
* chore: upgrade electron
* chore: declare node version
* chore: upgrade node actions
* Feat/55 v2 (#225 )
* chore: upgrade relevant libraries
* feat(skip): add skip styling to paginated items
* chore: upgrade relevant libraries
* Fix: issue with text colour (#214 )
* fix: adjust text colour from context
* fix: issue with wrong proptype
* fix issue with vite migration (#217 )
* hotfix: 1.8.2 issues vite migration
* fix: file import options
* feat(55): styling
* refactor: remove onhover option for entry block
* refactor: relocate logging provider
* refactor: convert to typescript
* feat(55): add event editor
* refactor: extract event actions
* fix: bad import
* feat(55): redesign components
* fix: issues with not awaiting async
* refactor: replace socket with subscription
* refactor: remove unused
* style: small tweaks
* refactor: extract event actions
* refactor: cleanup debug
* refactor: chakra imports
* fix: optimistic mutations
* refactor: handle promise rejections
* refactor: validation
* fix: rq optimistic mutations
* feat: add playback feedback to block
* refactor: no optimistic adding of events
* refactor: simplify cursor state
* styles: cleanup editor style
* refactor: cleanup duration update
* fix: revert package upgrade (issues with vitest)
* fix: prevent cyclic imports
* refactor: extract data fetcher
* refactor: typescript migration
* chore: update tests
* fix: remove problematic (#228 )
* styles: v2 (#229 )
* style: revise selected style
* style: revise editor styles
* style: revise viewer styles
* chore: update tests
* v2:feat (#231 )
* 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
* V2 styles part2 (#233 )
* style: create tag to display network messages
* style: create button style for playback
* style: review style for QuickEntry
* style: review style for Info panel
* style: review style for Event blocks
* style: review style for Message control panel
* style: review style for Playback control
* style: review application styles
* style: review block styles
* refactor: TapButton has active state
* style: small style tweaks
* refactor: type checks
* V2 message manager (#234 )
* 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
* V2 rundown manager (#237 )
* refactor: migrate eventlist > rundown
* hotfix: fix object naming error on excel import (#252 )
* feat: V2 ontime menu (#259 )
* V2 socket store (#254 )
* refactor: create socket utility
* refactor: ensure a single subscription to topics
* refactor: replace usages of socket object with subscription store handler
* refactor: v2 event loader (#260 )
* refactor: extract jest config
* refactor: rename params in reoder endpoint
* refactor: avoid app exports
* refactor: small code smells
* refactor: run development server
* refactor: extract rundown service and event loader logic
* refactor: rename events > rundown
* refactor: code style
* fix: handle external change of title
* refactor: cleanup dictionary
* refactor: rename MessageService
* refactor: use eventID for operations
* refactor: migrate OSC controller to service
* refactor: migrate Socket controller to service
* refactor: migrate HTTP controller to service
* refactor: extract logic into discrete services
* refactor: remove rundown from event timer
* refactor: remove duplicate
* refactor: remove unused
* chore: update tests
* refactor: run test CI on master or manual run
* lint: reorder imports
* refactor: ensure consistent routing
* V2 event block (#261 )
* feat: implement progress bar on running event
* refactor: use event action hook
* refactor: align backend data
* v2 styling (#263 )
* feat: implement progress bar on running event
* refactor: use event action hook
* refactor: align backend data
* style: v2 style tweaks
* style: v2 style tweaks + ts <Info>
* fix: fix delay increment calls
* style: v2 style tweaks + ts <Playback>
* style: v2 style tweaks + ts <EventEditor>
* style: v2 style tweaks + ts <MessageControl>
* fix: naming issue with message control socket endpoint
* chore: upgrade style dependencies
* style: v2 style tweaks + ts <MenuBar>
* style: v2 style tweaks + ts <RundownMenu>
* style: v2 style tweaks + ts <Playback>
* fix: add selected and next information to EventTimer
* style: v2 style tweaks + ts <EventBlock>
* style: v2 style tweaks + ts <DelayBlock>
* style: v2 style tweaks + ts <BlockBlock>
* style: v2 style tweaks + ts <QuickEntry>
* refactor: extract <TextInput> logic
* chore: upgrade build dependencies
* chore: folder structure refactor
* fix: issue with dependency path in electron
* chore: update version in demo db
* v2: refactor (#264 )
* chore: upgrade dependencies
* chore: remove unused
* fix: issue with missing index data
* fix: discrepancy on counting events
* fix: swapped classes
* fix: prevent attempting load in empty list
* chore: cleanup completed
* chore: remove unused
* refactor: convert to typescript
* refactor: migrate to new endpoints
* refactor: convert to typescript
* fix: prevent issue with undefined process
* fix: small code smells
* fix: issue with missing version variable on build
* refactor: configure retries on data fetching
* style: design review
* fix: prevent cursor out of range
* lint: react query linting
* style: checkbox styles
* v2 event editor (#265 )
* style: add cursor indicator in all blocks
* style: prevent reflows on width
* style: harmonise white range
* ux: focus elements on cursor nav
* ux: prevent focus on indicators
* refactor: convert to typescript
* fix: missing dependency
* chore: add linter rules for dependency arrays
* style: style editable component
* style: tweak input styles
* style: tweak switch styles
* style: style tweaks
* V2 sentry (#267 )
* chore: add sentry to frontend
* chore: add sentry to server
* chore: report only in production
* chore: add sentry source maps
* v2 alpha 3 (#272 )
* style: correct background colours
* chore: add folder resolutions to vite
* refactor: add auto refetch to HTTP APIs
* fix: view settings override endpoint
* refactor: memoize callbacks
* fix: reorder reaching wrong data adapter
* refactor: memoize callbacks
* style: presentation cleanup
* fix(delete): prevent flow with deleted event in playback
* refactor: convert to typescript
* refactor: small fixes and typescript conversion
* ux: improve feedback on local changes
* refactor: cleanup props
* v2 event timer (#274 )
* lint: cleanup unused
* refactor: rename component to avoid conflict
* style: gap in element row
* refactor: rename playstate -> playback
* refactor: cleanup usages of timer and prepare integration manager
* style: re-arrange button order
* refactor: improve event loading
* feat(timer-service): hot reload
* fix: issue with duration input
* chore: cleanup debug
* refactor: resolve poll from runtime store
* refactor: cleanup merge
* refactor: small improvements in timer hot-reload
* v2: views (#278 )
* config(sentry): instrumentation only in production
* chore: upgrade deps
* refactor: simplify and convert to ts
* refactor: composition and styles
* chore: remove deprecated deps
* ux: close menu on click outside
* style: small tweaks and clarifications
* refactor: retire PiP view
* ux: small tweaks
* style: cleanup deprecated styles
* chore: remove unused
* refactor: remove usages of deprecated fields and improve null timer presentation
* refactor: improve composition of countdown
* style: cleanup overridable styles
* ux: show event overtime status
* style: correct logic in paused timers
* v2: roll (#280 )
* ux: delete flow
* style: small tweaks in interface
* refactor: gracefully quit on error
* fix: logic around updating events
* chore: cleanup dictionary
* refactor: improve DX on creating aux files
* fix: safe destructure function return
* refactor: safe handling of falsy timer values
* fix: improve ux on stopping roll mode
* chore: upgrade deps
* feat: roll mode
* refactor: remove unused
* V2 monorepo (#285 )
* refactor(project structure): UI
* refactor(project structure): extract utilities
* refactor(project structure): remove unused
* refactor(project structure): electron
* refactor(project structure): server
refactor: migrate to vitest
refactor: monorepo config
* refactor: extract application menu
* refactor: exit process
* refactor: extract tray menu
* chore: electron build
* Added Seconds in studio clock #282
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
---------
Co-authored-by: Fabian Posenau <fabian.p99@gmx.de >
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* Fix : #279 End Message in Minimal Timer (#286 )
* fix: Minimal View #279 end message
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* hotfix: resolve data directory (#288 )
* Feature/#276/qrcodes (#289 )
* bugfix: wrong format when on 12h format
* update: website link in placeholder
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com >
* V2 types (#291 )
* V2 integration (#293 )
* feat: integrations and lifecycles
* refactor: prevent issues with start order
* V2 fix offline (#294 )
* fix: resolve path to UI build in dev
* fix: configure offline fetching
* V2 fix socket (#296 )
* refactor: rename timer endpoint
* refactor: typescript
* refactor: rename eventData and viewSettings
* refactor: message manager uses event store
* style: alpha4 style tweaks (#299 )
* fix: backgroundcolor for .blockNotes (#300 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* Feat/countdown style (#290 )
* feat: Countdown Style
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Fabian Posenau <19673098+kellhogs@users.noreply.github.com >
* fix: wrong parameter (#302 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* V2 fix timer (#304 )
* Feat/update check (#303 )
* feat: show latest version in settings modal
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* improve time input (#307 )
* add the ability to parse time like 2h20m
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* V2 ws store (#310 )
* Update TimerService.ts
* refactor: message service publishes to store
* refactor: several type improvements
* V2 ws store wss (#309 )
* refactor: shared logging types
* refactor: simplify message service consumption
* refactor: create discrete logging system
* refactor: move socket.io > websocket
* Feat/end action (#308 )
* feat: end action
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Fabian Posenau <19673098+kellhogs@users.noreply.github.com >
* V2 osc (#313 )
* chore: upgrade relevant deps
* fix: electron app to tray
* chore: cleanup dictionary
* feat: handle several messages in a event
* ux: disable irrelevant buttons in browser
* feat: parse and validate subscriptions
* feat: create UI for OSC Integration
* fix: cleanup logger behaviour
* feat: allow OSC settings to be changed at runtime
* v2 alpha5 (#315 )
* fix: fetch in offline environments (#295 )
* add arm platforms to docker build
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* fix: docker build (#298 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* Timer: fix too many renders error when using ?progress (#305 )
* ux: remove duplicate showing of selected event
* several small fixes and UX improvements
---------
Co-authored-by: Fabian Posenau <fabian.p99@gmx.de >
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: Marks Polakovs <github@markspolakovs.me >
* V2 docker (#312 )
* Create docker-ci.yml
* docker build
* add build app
* path changes
* delete double workflow
* update docker run template
* cleanup
* resolve wierd path issue
* wrong path
* again wrong path
* rename docker releases
* move styles population and change to function call
* re-add old build pipeline
* rename buld file
* feractor init function
* refactor: startDb to initAssets
* refactor: startDB to initAssets
* fix: docker.cjs building whole app
* fix: docker environment
* update docker paths
* update: build command
* cleanup
* cleanup: commented code
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* v2 lazy rundown (#317 )
* chore: update related deps
* refactor: memoise entrypoints
* refactor: store selectors
* refactor: improve component performance
* chore: remove unused dependencies
* refactor: improve component dnd
* V2 build (#319 )
* chore: build pipeline for v2
* chore: run unit tests
* chore: configure sentry build
* Update test_v2.yml
* Update test_v2.yml
* V2 e2e (#320 )
* chore: cleanup handling of a bad read
* chore: configure e2e testing
* chore: version bump
* V2 align (#321 )
* fix: fetch in offline environments (#295 )
* Add arm platforms to docker build (#297 )
* add arm platforms to docker build
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* fix: docker build (#298 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* Timer: fix too many renders error when using ?progress (#305 )
* Timer: fix too many renders error when using ?progress
* version bump (#314 )
* style: small tweaks
* fix: prevent actions in roll mode
* chore: update external assets
* style: show shortcuts in quick blocks
* refactor: revert optimisations on callbacks
* fun: industry dictionary
* style: indicators for event features
---------
Co-authored-by: Fabian Posenau <fabian.p99@gmx.de >
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: Marks Polakovs <github@markspolakovs.me >
* refactor: ensure start order (#322 )
* Update build_docker_v2.yml
* V2 fix roll (#323 )
* chore: profile node
* fix: always roll
* Add translations for views (#325 ) (#328 )
* Add translations for views (#325 )
---------
Co-authored-by: Kevin <60135953+kev-ac@users.noreply.github.com >
* feat: notify ws clients on rundown changes (#327 )
* V2 beta1 (#326 )
* style: labels on added time
* style: remove mentions of PiP
* refactor: unify usage of ms for timers
* refactor: create events with 0 duration
* style: several small tweaks
* refactor: keep block when applying delays
* feat: blocks have titles
* style: improvements in time entry warnings
* style: override progress bar styles
* style: prevent overflow
* feat: show character count in editor
* refactor: provide initial payload
* refactor: lower test boundary
* refactor: get colour from swatches
* style: rename title block
* chore: version bump
* style: fix info scroll
* refactor: performance tweaks to event editor
* chore: upgrade deps
* refactor: prevent iterating on undefined
* style: small style tweaks
* fix: close editor on event delete
* refactor: improve performance on EventBlock
* style: small tweaks on blocks
* chore: upgrade deps
* chore: upgrade deps
* style: ensure events are always visible
* Fix/events enpoint (#329 )
* fix: sentry hangs node process
* add onClick handler (#335 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* fix docker on different port (#337 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* V2 beta3 (#338 )
* chore: upgrade local build documentation
* style: keep scrolling event in screen
* feat: delay is time entry
* refactor: remove unused
* refactor: remove unused
* refactor: batch store updates
* refactor: virtually remove cap on events
* refactor: style and behaviour tweaks to event block
* style: tweaks on schedules
* chore: remove sentry from server
* style: reorder menu
* chore: update docs
* fix: resolve to static port in dev mode
* V2 fix delay (#340 )
* fix: avoid modifying original objects
* refactor: serve react as compressed br (#339 )
* refactor: changes in time input
* V2 e2e playwright (#343 )
* test: create utility for uploading test-db
* chore: upgrade deps
* refactor: remove unused functions
* chore: create testing boilerplate
* test: upload showfile
* refactor: parse time input (#351 )
* chore: vite upgrade (#354 )
* chore: upgrade vite
* feat: edit mode (#344 )
* style: add mode selection to menu
* style: rename rundown functions
* feat: edit mode
* fix: osc modal (#352 )
* refactor: parse time input
* fix: form dirty flag on dynamic elements
* style: cuesheet block (#355 )
* style: cuesheet show block title
* style: cuesheet show full delay string
* v2 about (#362 )
* chore: remove unused assets
* feat: about ontime
* refactor: cleanup unused
* v2 beta 4 (#361 )
* ux: rename end action
* chore: update demo db
* style: tweaks on extracted rundown
* chore: prevent console logs in production code
* feat: go mode
* style: remove window size limits
* style: rename delete action
* style: small tweaks on icons
* fix: style override on params
* chore: update test db
* refactor: small code quality improvements
* refactor: prevent circular imports
* fix v2 roll timer (#363 )
* fix: roll update skips elapsed time
* refactor: remove unused data
* style: fix style in roll state
* ux: content aware playback (#364 )
* v2 beta 4 bump (#367 )
* chore: update links to documentation
* chore: version bump
* Feature: quick start (#369 )
* feat: quick start modal
* refactor: end message is part of view settings
* refactor: small tweaks and type improvements
* Feat/timer/stylechange (#341 )
* feat: multi color progress bar
* add color support to minimal timer
Co-Authored-By: Fabian Posenau <19673098+kellhogs@users.noreply.github.com >
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Fabian Posenau <19673098+kellhogs@users.noreply.github.com >
* v2 beta5 modals (#377 )
* refactor: folder structure
* style: modal wrapper
* feat: add nordic translations
* v2 beta 5 (#375 )
* chore: update documentation links
* fix: sentry has no access to error context
* style: clarify event history
* fix: issue with clipboard write in safari
* style: clarify event history
* refactor: improvements to follow logic in rundown
* refactor: improvements in go mode
* several style tweaks and small improvements
* Ux language (#378 )
* ux: language from menu
* feat: add extra support for languages
german
portuguese
spanish
* refactor: type improvements
* v2 beta6 (#379 )
* feat: operator key
* chore: update demo
* chore: version bump
* fix: prevent stale keys
* refactor: add new fields to validation
* style: tweaks to modal arrangement
* refactor: prevent parsing http
* ux: click anywhere in event to edit
* refactor: performance improvements to time input
* refactor: performance improvements menu
* V2 beta 6 (#381 )
* fix: fetch in offline environments (#295 )
* Add arm platforms to docker build (#297 )
* add arm platforms to docker build
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* fix: docker build (#298 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* Timer: fix too many renders error when using ?progress (#305 )
* Timer: fix too many renders error when using ?progress
* version bump (#314 )
* chore: remove unused assets
* refactor: improve rundown loading time
* style: rename project file
* chore: update demo files
* refactor: improve loading time
* chore: upgrade upload packages
* refactor: modal redesign and ux improvements
* refactor: type and ux improvements on translations
* refactor: prevent flash on suspense
* refactor: remove unnecessary import
* chore: update tests
* refactor: cleanup imports
* fix: prevent flash on suspense
---------
Co-authored-by: Fabian Posenau <fabian.p99@gmx.de >
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: Marks Polakovs <github@markspolakovs.me >
* style views (#390 )
* style: animate transition from left side
* refactor: improve schedule relationship
* refactor: prevent passing unhandled value
* style: remove inner radius in borders
---------
Co-authored-by: Fabian Posenau <fabian.p99@gmx.de >
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: Fabian Posenau <19673098+kellhogs@users.noreply.github.com >
Co-authored-by: Marks Polakovs <github@markspolakovs.me >
Co-authored-by: Kevin <60135953+kev-ac@users.noreply.github.com >
2023-05-18 14:02:22 +02:00