Alex Christoffer Rasmussen
a4b15970de
Upgrade expressjs ( #1633 )
...
* upgrade expressjs
* migration
* reenable test
* extend timeout on download test
* fixup! migration
* move empty body test from controller to validator
* enusre not empty
* extract validation function
* fixup! reenable test
* remove thin controllers
* disable e2e test of project file download
2025-06-12 15:02:35 +02:00
Alex Christoffer Rasmussen
2a5b053d97
Refactor: require trigger in all events objects ( #1636 )
...
* reqire trigger in all events
* use structuredClone when cloning an event
2025-06-12 09:54:57 +02:00
google-labs-jules[bot]
02c30c9681
Fix: Correct boundary condition in applyDelay
...
The `applyDelay` function had a condition that incorrectly used `rundown.order.length` instead of `rundownMetadata.flatEntryOrder.length` to check if a delay entry was the last in the sequence. `rundown.order` only contains top-level entries, while `flatEntryOrder` contains all entries, including those within blocks, which is the relevant list for this check.
This commit corrects the condition to use `rundownMetadata.flatEntryOrder.length`.
Existing tests in `rundown.dao.test.ts` (specifically the test `removes delays in last position without applying changes`) already cover this scenario and pass with the correction, ensuring the fix behaves as expected.
2025-06-10 21:37:40 +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
Carlos Valente
f3b4ea0155
refactor: simplify validations
2025-06-09 14:12:58 +02:00
Carlos Valente
aebf949883
refactor: create transaction system and apply to adding entry ( #1620 )
...
* refactor: create transaction system and apply to adding entry
* refactor: migrate edit mutations to transaction
* refactor: migrate delete mutation to transaction
* refactor: migrate reorder mutation to transaction
* refactor: migrate apply delay to transaction
* refactor: migrate swapEvents to transaction
* refactor: migrate clone to transaction
* refactor: migrate group/ungroup transactions
* refactor: simplify mutations
* refactor: migrate getters
* chore: add tests to processRundown()
2025-06-09 14:12:58 +02:00
Alex Christoffer Rasmussen
33ac05ebee
Refactor: better rounding ( #1594 )
2025-06-09 14:12:58 +02:00
Carlos Valente
421183fe55
refactor: improve reorder logic
2025-06-09 14:12:58 +02:00
Carlos Valente
0b719c485f
refactor: refetch targets is enum
2025-06-09 14:12:57 +02:00
Carlos Valente
17deeddb87
refactor: small ux improvements
...
- rename dissolve > ungroup
- prevent ondrag when clicking
- add untitled as block title fallback
- move block action to context menu
2025-06-09 14:12:57 +02:00
Carlos Valente
2546159a94
refactor: remove trivially inferred numEvents
2025-06-09 14:12:56 +02:00
Carlos Valente
2f26f20db5
feat: duplicate groups
2025-06-09 14:12:56 +02:00
Carlos Valente
11e0215530
feat: create group from entry selection
2025-06-09 14:12:56 +02:00
Carlos Valente
c7b2f0e89c
refactor: type cleanup and test improvements
2025-06-09 14:12:56 +02:00
Carlos Valente
a1505606cf
feat: allow dissolving a block
2025-06-09 14:12:56 +02:00
Carlos Valente
e287215179
refactor: improve return of reorder
2025-06-09 14:12:56 +02:00
Carlos Valente
776649c997
refactor: mutations on batch elements must have IDs
2025-06-09 14:12:56 +02:00
Carlos Valente
7cd319a6b3
fix: delete nested events
2025-06-09 14:12:55 +02:00
Alex Christoffer Rasmussen
66cd1decde
assert non null and update test ( #1604 )
2025-06-09 14:12:55 +02:00
Alex Christoffer Rasmussen
c9bf6d9812
Fix project renumber ( #1597 )
...
* fix: generateUniqueFileName
* loadProject should not generate new names
* update comments
* extract and test getProjectNumber
* spell
* finish jsdoc
* use getProjectNumber
* cleanup loadProject
* create a `incrementProjectNumber` function
* spelling
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
---------
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
2025-06-09 14:12:55 +02:00
Alex Christoffer Rasmussen
8557f64382
Refactor: WebSocket from flush queue to one patch ( #1595 )
...
* change flush to one patch
* remove unused types
* create batch
* merge patch into eventStore
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-09 14:12:55 +02:00
Alex Christoffer Rasmussen
8e994fb0df
Refactor: ms for api calls ( #1593 )
...
* use ms for api calls
* change it in UI
* update comment
* rename variables
* refactor: addtime api logic
2025-06-09 14:12:55 +02:00
Alex Christoffer Rasmussen
5c47a834b5
fix test ( #1601 )
...
* fix test
* add comment
2025-06-09 14:12:55 +02:00
Carlos Valente
f356afef43
fix: rebase master
2025-06-09 14:12:55 +02:00
Carlos Valente
72c4ad789a
refactor: extract rundown parsing
...
refactor: implement groups in editor
2025-06-09 14:12:54 +02:00
Carlos Valente
3118c20719
chore: improve convention entry <> event
2025-06-09 14:12:54 +02:00
Carlos Valente
3754c374c3
refactor: maintain flat orders
2025-06-09 14:12:54 +02:00
Carlos Valente
dd6d74121c
refactor: implement operations on nested events
2025-06-09 14:12:54 +02:00
Carlos Valente
82dc1bc56b
chore: improve convention entry <> event
2025-06-09 14:12:54 +02:00
Carlos Valente
d2c7b34142
chore: rename currentBlock > parent
2025-06-09 14:12:53 +02:00
Carlos Valente
918f8d1b08
refactor: fix delay positioning in gaps
2025-06-09 14:12:53 +02:00
Carlos Valente
5c6b06a0d4
refactor: improve project loading
2025-06-09 14:12:53 +02:00
Carlos Valente
fc4c1bf22e
refactor: gather group metadata
2025-06-09 14:12:53 +02:00
Carlos Valente
84fac739f0
refactor: swap maintains schedule
2025-06-09 14:12:53 +02:00
Carlos Valente
ef73c87e2f
chore: rename files
2025-06-09 14:12:53 +02:00
Carlos Valente
26ee5768a5
refactor: restructure model to contain an object of rundowns
2025-06-09 14:12:53 +02:00
Carlos Valente
d48b2ae506
refactor: use strict typing
2025-06-09 14:12:52 +02:00
Carlos Valente
14a7c04d3b
refactor: remove stop as a possible end action
2025-06-09 14:12:52 +02:00
Carlos Valente
abd9b127db
refactor: restructure model to contain an object of rundowns
2025-06-09 14:12:51 +02:00
Carlos Valente
977c99e587
refactor: remove unused and legacy code
...
- remove legacy migrations
- remove unused server code
- remove unused UI code
2025-06-09 14:12:51 +02:00
jwetzell
c6e38a2b4a
upgrade vite to v6 ( #1626 )
2025-06-05 06:27:59 +02:00
Shobhit Nagpal
8723bcbd33
refactor: block event xlsx import ( #1623 )
2025-06-02 06:56:46 +02:00
Shobhit Nagpal
696c016c90
feat: custom data for projects ( #1571 )
2025-05-23 09:04:57 +02:00
Carlos Valente
8d8625aa77
bump version to 3.15.2
2025-05-13 21:24:14 +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
Alex Christoffer Rasmussen
1f0cde6d0d
fix: relative offset with count to end ( #1602 )
...
* refactor merge absolute and relative offset calculation
* update test
2025-05-07 22:34:25 +02:00
Carlos Valente
c4b66a9ed3
bump version to 3.15.1
2025-04-30 20:28:42 +02:00
Carlos Valente
c1f25f8dba
bump version to 3.15.0
2025-04-20 13:52:43 +02:00
Alex Christoffer Rasmussen
37a91026d8
FIX: editing event data clears delay value ( #1591 )
...
* leave data in place in case it is not regenerated
* update comments
2025-04-20 13:51:25 +02:00
Alex Christoffer Rasmussen
dce87c3a81
Relative run mode ( #1512 )
...
* inti relative mode
* send imediat update on mode change
* add relative to test
* don't persist offset mode
* add test relative and update calc function
* pass data from ssocket
* add dev guard
* spelling and comments
* show relative in offset overview
* remove comments
* refactor: move totalDelay to _rundown
* update clear naming and comments
* remove old testing values
2025-04-19 21:36:54 +02:00