JohnMark Sill
17b745434c
improvement: migrated to videojs
2022-07-19 07:04:33 -05:00
JohnMark Sill
37011c2fda
improvement: use useCallback instead of setting ref auto-magically
2022-07-19 07:04:33 -05:00
JohnMark Sill
fa95a041dd
fix: height of video is now constant in history viewer
2022-07-19 07:04:33 -05:00
JohnMark Sill
0879d7a2d1
fix: marker time image
2022-07-19 07:04:33 -05:00
Blake Blackshear
b80080ac52
don't refetch data on refocus
2022-07-07 07:05:05 -05:00
Nicolas Mowen
da637d3c8f
Limit size of player in events view ( #3288 )
...
* Set max width
* Set data-options so videojs accepts size changing
* Add comment to explain exmpty data-setup value
* Clarify comment
2022-06-02 07:06:39 -05:00
Nicolas Mowen
5f9d477863
Update event filters naming and add sub label filter ( #3194 )
...
* Use default names so filters are more clear
* Add endpoint to get list of sub labels inside DB
* Fix crash on no internet
* Cleanups for sub_label http
* Add sub label selector to events UI
* Add event filtering for sub label
* Formatting files
* Reduce size of filters to fit on one line
* Add handler for tests
* Remove unused imports
* Only show the sub labels filter when there are sub labels in the DB
* Fix tests
* Use distinct instead of group_by
* Formatting
* Cleanup event logic
2022-05-29 09:47:43 -05:00
Nicolas Mowen
ca693240b1
Favorite events delete button warning ( #3225 )
...
* Add dialog to shield deletion of favorite event
* Use state to keep track of event id
* Adjust named
* Set color of button
2022-05-26 10:06:02 -05:00
Blake Blackshear
3e7ed982d4
fix tests
2022-05-20 09:28:26 -05:00
Nicolas Mowen
d8d410802f
Set height and width of delete icon for firefox ( #3226 )
2022-05-19 07:41:31 -05:00
Blake Blackshear
ca7bad8909
get ingress to play nice with vite
2022-05-19 07:31:51 -05:00
Blake Blackshear
d2c3cdcf04
don't add 16x on every render
2022-05-16 07:00:33 -05:00
Carlos Gustavo Sarmiento
90bff605fa
Only include 16x if browser is not Firefox
2022-05-14 07:31:52 -05:00
Carlos Gustavo Sarmiento
f512df44c1
Add 16x Playback rate to VideoPlayer.jsx
2022-05-14 07:31:52 -05:00
Blake Blackshear
4e8ce28948
center portrait thumbnails
2022-05-14 06:37:06 -05:00
Blake Blackshear
da36f25fd0
fix swr fetcher
2022-05-12 12:05:34 -05:00
Blake Blackshear
691ed6a4c7
revamp recordings
2022-05-12 06:29:43 -05:00
Blake Blackshear
bc0206de9d
retain the set topic for switches
2022-04-25 07:13:22 -05:00
Nicolas Mowen
a5016afdd4
FEAT: Ability to reorder & ability to hide Cameras in UI ( #2981 )
...
* Add options for reordering and hiding cameras selectively
* Add newline at end of camera file
* Make each camera for birdseye togglable as well
* Update names to be less ambiguous
* Update defaults
* Include sidebar change
* Remove birdseye toggle (will be added in separate PR)
* Remove birdseye toggle (will be added in separate PR)
* Remove birdseye toggle (will be added in separate PR)
* Update sidebar to only sort cameras once
* Simplify sorting logic
2022-04-15 07:23:02 -05:00
Blake Blackshear
35bd1de5ba
limit send to plus where appropriate ( #3080 )
2022-04-11 06:56:53 -05:00
Nicolas Mowen
162e275ef3
Always show camera recordings in sidebar regardless of state ( #2846 )
2022-04-10 09:13:30 -05:00
Blake Blackshear
cef77fba01
add frontend for frigate+ submission
2022-04-10 09:11:16 -05:00
Dermot Duffy
c424c4b7ef
Fix tiny timing bug. ( #2994 )
2022-03-21 06:43:27 -05:00
Nicolas Mowen
b1cc64d4fa
FEAT: Ability to set sub labels for specific events ( #2949 )
...
* Add sub label to model and set / delete funs
* Add migrations for sub label
* Tweaks to API and model
* Show sublabel if available
* Cleanups
* Update docs
* Show person in UI title
* Fix typo and don't fail on no json
* Transfer sub labels for in progress events
* Remove sublabel reset
* Remove person only check
* Make default null
* Update docs and formatting
* Make default null
* Make nullable in migration
* Undo null
* Update model to accept null
* Update migration to accept null
* Don't set to default values
* Remove redundant defaults and update http logic
* Only need a single route
* Enforce 20 character limit in http
* Update docs to mention 20 character limit
* Cleanup
* Separate insert and update to make sure updated values are retained when event ends
* Use insert instead of replace
* Remove redundant if and have should_update_db include clip or snapshot requirement.
2022-03-17 07:18:43 -05:00
Nicolas Mowen
0abd0627df
FEAT: Replace best jpg endpoint ( #2944 )
...
* Added object thumbnail def and made camera tracked objects use it.
* Add object snapshot def
* Remove documentation for best.jpg
* Update docs for label thumbnail and snapshot defs
2022-03-11 07:56:39 -06:00
Blake Blackshear
dccfc3b84f
fix camera list on debug page
2022-03-11 07:49:06 -06:00
Blake Blackshear
deb3536cb2
fix date picker
2022-03-11 07:49:06 -06:00
Blake Blackshear
95fe62e141
switch to vite
2022-03-11 07:49:06 -06:00
Blake Blackshear
1c9ba11e07
swr events refactor
2022-03-11 07:49:06 -06:00
JohnMark Sill
3e07d4eddb
feat: Timeline UI ( #2830 )
2022-02-27 08:04:12 -06:00
Nicolas Mowen
4004048add
Ability to retain specific clips / events indefinitely ( #2831 )
2022-02-21 22:03:01 -06:00
Nicolas Mowen
5627b66a6e
Always show recording link even if recordings are currently disabled ( #2787 )
...
* Always show recording link even if recordings are currently disabled
* Fix test to consider all cameras to have recording link
2022-02-18 21:18:26 -06:00
Jason Hunter
8de15af7b4
Fix duration for long events and playback rate for top of the hour
2022-02-18 21:18:26 -06:00
Jason Hunter
28dd43f8ae
Fix playback rate resetting to 1 on source change
2022-02-18 21:18:26 -06:00
Jason Hunter
e433bec17f
Add in progress events to recordings view
2022-02-18 21:18:26 -06:00
Bernt Christian Egeland
a10970d7c9
Event Datepicker ( #2428 )
...
* new datepicker
* dev
* dev
* dev
* fix for version 0.10
* added rounded corners for date range
* lint
* Commented out some Select.test.
* improved date range selection
* improved functions with useCallback
* improved Select.test.jsx
* keyboard navigation
* keyboard navigation
* added dropdown menu icon
* Hide filters on xs, Button to show
* check if to far left before right
* Filter button text
* improved local timezone
2022-02-18 21:18:26 -06:00
Blake Blackshear
e0c0033852
use snapshot url to support in progress events
2022-02-18 21:18:26 -06:00
Blake Blackshear
87e2300855
set retain when setting switches from frontend
2022-02-18 21:18:26 -06:00
Blake Blackshear
2f2329ba44
only save recordings when an event is in progress
2022-02-18 21:18:26 -06:00
Blake Blackshear
7ab6961ee1
use live dimensions
2021-10-17 08:48:59 -05:00
Blake Blackshear
ae24cf3bb2
set max width/height for live view
2021-10-17 07:48:56 -05:00
Blake Blackshear
1daffd92fd
docs updates
2021-10-01 07:37:47 -05:00
Blake Blackshear
1d25936f31
add region/bbox/area to event table
2021-09-23 07:31:48 -05:00
Bernt Christian Egeland
00ff76a0b9
Events performance ( #1645 )
...
* rearrange event route and splitted into several components
* useIntersectionObserver
* re-arrange
* searchstring improvement
* added xs tailwind breakpoint
* useOuterClick hook
* cleaned up
* removed some video controls for mobile devices
* lint
* moved hooks to global folder
* moved buttons for small devices
* added button groups
Co-authored-by: Bernt Christian Egeland <cbegelan@gmail.com>
2021-09-03 07:11:23 -05:00
Bernt Christian Egeland
b8df419bad
hide birdseye nav if not enabled
2021-09-03 07:07:45 -05:00
Blake Blackshear
d74021af47
reverse sort events within hour
2021-08-29 07:46:09 -05:00
Blake Blackshear
3d6dad7e7e
reverse sort within a day for recordings
2021-08-27 07:26:11 -05:00
Bernt Christian Egeland
4efc584816
Move event-view to events table. ( #1596 )
...
* fixed position for Dialog
* added eventId to deleted item
* removed page route redirect + New Close Button
* event component added to events list. New delete reducer
* removed event route
* moved delete reducer to event page
* removed redundant event details
* keep aspect ratio
* keep aspect ratio
* removed old buttons - repositioned to top
* removed console.log
* event view function
* removed clip header
* top position
* centered image if no clips avail
* comments
* linting
* lint
* added scrollIntoView when event has been mounted
* added Clip header
* added scrollIntoView to test
* lint
* useRef to scroll event into view
* removed unused functions
* reverted changes to event.test
* scroll into view
* moved delete reducer
* removed commented code
* styling
* moved close button to right side
* Added new close svg icon
Co-authored-by: Bernt Christian Egeland <cbegelan@gmail.com>
2021-08-26 06:54:36 -05:00
Bernt Christian Egeland
354a9240f0
reduced navbar padding / height
2021-08-23 07:47:39 -05:00
Bernt Christian Egeland
5ae4f47e96
removed comma. This was causing the main window to be pulled down behind the headerbar, hence the odd menu behavior
2021-08-23 07:44:17 -05:00
Blake Blackshear
f3a1c1de0a
move width/height/fps under detect and make required
...
also resizes the output from ffmpeg to specified size
2021-08-14 14:18:35 -05:00
Bernt Christian Egeland
1f1a708388
set top postion to widow_padding
2021-08-14 07:37:56 -05:00
Jason Hunter
2fbfbf614b
add download option on clips and snapshots
2021-08-07 15:51:16 -05:00
Jason Hunter
c527b1ca5d
change MQTT to toggle recordings instead of clips
2021-08-07 15:51:16 -05:00
Jason Hunter
a476bc9885
initial commit
2021-08-07 15:51:16 -05:00
Blake Blackshear
a94b61ef91
increase jsmpeg buffer size
2021-07-21 08:11:16 -05:00
ElMoribond
16ef432228
add tabbed buttons component
2021-07-16 07:08:06 -05:00
ElMoribond
4449bc5292
add tabbed buttons component
2021-07-16 07:08:06 -05:00
Blake Blackshear
3876b00088
useCallback here too
2021-07-06 07:36:37 -05:00
Blake Blackshear
13c2c582ad
remove default value changes
2021-07-06 07:36:37 -05:00
ElMoribond
bb3ba2d572
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
9ee2e776fa
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
fd61ca20b0
Add ability to restart
...
disable warning
2021-07-06 07:36:37 -05:00
ElMoribond
f9add57ed4
Add ability to restart
...
I restored the original line as it can be misleading.
2021-07-06 07:36:37 -05:00
ElMoribond
e1b341788d
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
04c8b089a5
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
9971482506
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
955d9e6ec2
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
436b10a87b
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
a2d5754e4b
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
3d28d8cee2
Add ability to restart
2021-07-06 07:36:37 -05:00
Bernt Christian Egeland
6e6ee93282
error handling and linting
2021-07-05 08:24:46 -05:00
Bernt Christian Egeland
85de881181
resolve #1143
2021-07-05 08:24:46 -05:00
Blake Blackshear
222dc2f7c9
remove console log
2021-06-23 08:15:15 -05:00
Blake Blackshear
f94a946418
add fullscreen to jsmpeg player
2021-06-23 08:15:15 -05:00
Jason Hunter
d83ffd8984
fix tests
2021-06-18 21:15:59 -05:00
Blake Blackshear
175c85d69a
fix some test errors
2021-06-18 21:15:59 -05:00
Blake Blackshear
3aa7f753b3
lint fixes
2021-06-18 21:15:59 -05:00
Blake Blackshear
861ee0485d
swith camera view to jsmpeg
2021-06-18 21:15:59 -05:00
Blake Blackshear
f2d1f7b00f
disable audio
2021-06-13 12:35:39 -05:00
Blake Blackshear
89c2ae2208
functioning birdseye view
2021-06-13 12:35:39 -05:00
Jason Hunter
da8e54ed51
fix lint and tests
2021-06-11 06:53:34 -05:00
Jason Hunter
b70c11e7a7
Cleanup video player and use consistently across recordings and events.
2021-06-11 06:53:34 -05:00
Jason Hunter
eb3f50c9f0
add default to reducer
2021-06-10 07:04:28 -05:00
Jason Hunter
055bd22138
initial implementation of recordings table
2021-06-10 07:04:28 -05:00
Jason Hunter
de3a19c4f0
Update web/src/__tests__/Sidebar.test.jsx
2021-06-06 07:54:58 -05:00
Jason Hunter
2a33c05378
add sidebar test
2021-06-06 07:54:58 -05:00
Jason Hunter
bbb4d10718
add/fix tests
2021-06-06 07:54:58 -05:00
Jason Hunter
68dfaaf767
hide recordings page if record is not enabled, show error if no recordings available.
2021-06-06 07:54:58 -05:00
Jason Hunter
88ed7501a7
add mobile player and fullscreen support for iOS
2021-06-05 07:30:18 -05:00
Jason Hunter
c73aebadcb
change seek back to 10 seconds
2021-06-05 07:30:18 -05:00
Jason Hunter
40c4ca305e
add playback rate adjustment and seek buttons
2021-06-05 07:30:18 -05:00
Jason Hunter
7b3abe330e
recordings is taken by nginx so refresh fails - change base to recording
2021-06-05 07:30:18 -05:00
Jason Hunter
62452b1d21
cleanup dead code
2021-06-05 07:30:18 -05:00
Jason Hunter
c5f005afef
lint fix... again
2021-06-05 07:30:18 -05:00
Jason Hunter
4a45b6e76d
do not show event end time
2021-06-05 07:30:18 -05:00
Jason Hunter
a3cfbb6722
remove now playing because I do not handle autoadvance properly yet
2021-06-05 07:30:18 -05:00
Jason Hunter
dc8ba5239d
lint cleanup
2021-06-05 07:30:18 -05:00
Jason Hunter
b53a50cd54
restyle to match Material Design List specs
2021-06-05 07:30:18 -05:00
Jason Hunter
9822d614e2
fix videojs bug when switching cameras, support recording delay, fix navigation highlight
2021-06-05 07:30:18 -05:00
Jason Hunter
ca20c735f7
add event card to overlay
2021-06-05 07:30:18 -05:00
Jason Hunter
d3dc018260
video overlay
2021-06-05 07:30:18 -05:00
Jason Hunter
28a2a3816a
lint fixes
2021-06-05 07:30:18 -05:00
Jason Hunter
5461308d30
Initial Recordings UI
2021-06-05 07:30:18 -05:00
Mitch Ross
ebb6d348a3
feat(web): Delete events from Event page and API ( #991 )
...
Co-authored-by: Scott Roach <scott@thinkpivot.io>
Co-authored-by: Paul Armstrong <paul@spaceyak.com>
2021-05-12 08:19:02 -07:00
Paul Armstrong
5043040530
fix(web): ensure tooltips and menus don't cause scrollbar reflow
2021-02-25 06:34:36 -06:00
Paul Armstrong
3c60aeeef9
fix(web): set events api limit to 25
2021-02-25 06:34:36 -06:00
Blake Blackshear
b2a2fe898c
ensure base url works for websockets
2021-02-21 09:32:45 -06:00
Blake Blackshear
31d408a746
dynamic ws/wss selection
2021-02-20 08:20:17 -06:00
Paul Armstrong
b6ba6459fb
feat(web): detect, clips, snapshots toggles
2021-02-20 08:20:17 -06:00
Paul Armstrong
e399790442
feat(web): mqtt for stats
2021-02-20 08:20:17 -06:00
Paul Armstrong
fe59d90c51
web(test): routes/Events
2021-02-20 08:20:17 -06:00
Paul Armstrong
f87813805a
test(web): RelativeModal
2021-02-20 08:20:17 -06:00
Paul Armstrong
a7e5b9978f
test(web): Select
2021-02-20 08:20:17 -06:00
Paul Armstrong
0a3959af86
test(web): TextField
2021-02-20 08:20:17 -06:00
Paul Armstrong
9ba6054140
test(web): Sidebar
2021-02-20 08:20:17 -06:00
Paul Armstrong
3348f04889
test(web): App
2021-02-20 08:20:17 -06:00
Paul Armstrong
c12aec7c8f
test(web): routes/Event
2021-02-20 08:20:17 -06:00
Paul Armstrong
05f66b8f24
test(web): routes/Debug
2021-02-20 08:20:17 -06:00
Paul Armstrong
d8b80f0fe9
test(web): routes/Cameras
2021-02-20 08:20:17 -06:00
Paul Armstrong
7314572d97
feat(web): allow CameraImage to stretch
2021-02-20 08:20:17 -06:00
Paul Armstrong
52a29ed00a
test(web): routes/Camera
2021-02-20 08:20:17 -06:00
Paul Armstrong
5eaf8a5448
test(web): Switch (and add label back in)
2021-02-20 08:20:17 -06:00
Paul Armstrong
f70fb12c3d
test(web): NavigationDrawer
2021-02-20 08:20:17 -06:00
Paul Armstrong
ece6c1203c
test(web): Menu, MenuItem
2021-02-20 08:20:17 -06:00
Paul Armstrong
9c7e3177a2
test(web): Link
2021-02-20 08:20:17 -06:00
Paul Armstrong
058c0affaf
test(web): Heading
2021-02-20 08:20:17 -06:00
Paul Armstrong
5ee7146884
test(web): Card
2021-02-20 08:20:17 -06:00
Paul Armstrong
1aa9a7a093
test(web): CameraImage (basic)
...
Testing Image and Canvas calls requires a lot of heavy dependencies, so this skips that part of the tests
2021-02-20 08:20:17 -06:00
Paul Armstrong
a202c44a0f
test(web): Button
2021-02-20 08:20:17 -06:00
Paul Armstrong
85776cc7d0
test(web): fix switch case indent lint
2021-02-20 08:20:17 -06:00
Paul Armstrong
6d133ef724
test(web): api/index.jsx
2021-02-20 08:20:17 -06:00
Paul Armstrong
53288d361c
test(web): AutoUpdatingCameraImage
2021-02-20 08:20:17 -06:00
Paul Armstrong
e729bd52aa
refactor(web): Split AppBar and add tests
2021-02-20 08:20:17 -06:00
Paul Armstrong
ddb6127519
test(web): add ActivityIndicator test
2021-02-20 08:20:17 -06:00
Paul Armstrong
a803ab8577
test(web): add unit test framework
2021-02-20 08:20:17 -06:00
Paul Armstrong
daa759cc55
test(web): add eslint and PR lint validation
2021-02-20 08:20:17 -06:00
Patrick Decat
07bd376649
fix(web): fix CameraMap.jsx import of api after move to routes/
2021-02-20 08:20:17 -06:00
Paul Armstrong
7aee28d080
refactor(web): async routing
2021-02-20 08:20:17 -06:00
Paul Armstrong
24ec13e36d
fix(web): svgs may need explicit height/width in rare cases on linux
2021-02-20 08:20:17 -06:00
Paul Armstrong
d2e7c360b9
fix(web): build fixes after rebase
2021-02-20 08:20:17 -06:00
Paul Armstrong
f00628f4e5
refactor(web): menu positioning
2021-02-20 08:20:17 -06:00
Paul Armstrong
19bd5ace7d
perf(web): memoize icon components
2021-02-20 08:20:17 -06:00
Paul Armstrong
3e2506136c
fix(web): debug tables scrollable on small width screens
2021-02-20 08:20:17 -06:00
Paul Armstrong
4e03acc944
fix(web): ensure drawer can slide in/out and not just appear
2021-02-20 08:20:17 -06:00
Paul Armstrong
188eb6b9ea
fix(web): relative modal height, top position, and z-indexing
2021-02-20 08:20:17 -06:00
Paul Armstrong
c89e1a5735
fix(web): remove cards from event page
2021-02-20 08:20:17 -06:00
Paul Armstrong
e50cc59f0d
refactor(web): datatables
2021-02-20 08:20:17 -06:00
Paul Armstrong
96f87caff0
refactor(web): camera view + bugfixes
2021-02-20 08:20:17 -06:00
Paul Armstrong
b422a83b57
fix(web): ensure relative modal respects scrollY
2021-02-20 08:20:17 -06:00
Paul Armstrong
15ae3bee55
refactor(web): update shadows for material specs
2021-02-20 08:20:17 -06:00
Paul Armstrong
0cac2fec2a
feat(web): add button types
2021-02-20 08:20:17 -06:00
Paul Armstrong
5965da88c3
fix(web): dark mode for portals
2021-02-20 08:20:17 -06:00
Paul Armstrong
ba0338e9d5
refactor(web): NavigationBar (sidebar) styles
2021-02-20 08:20:17 -06:00
Paul Armstrong
ff62338359
feat(web): icons and better menu handling for dark mode
2021-02-20 08:20:17 -06:00
Paul Armstrong
9867f4eeee
fix(web): ensure relative modals have proper padding
2021-02-20 08:20:17 -06:00
Paul Armstrong
ba278dfc3d
refactor(web): add 3xl breakpoint
2021-02-20 08:20:17 -06:00
Paul Armstrong
063030bcf3
fix(web): make app bar and sidebar fully responsive
2021-02-20 08:20:17 -06:00
Paul Armstrong
276ce8710c
feat(web): persist darkmode preference
2021-02-20 08:20:17 -06:00
Paul Armstrong
5ed7a17f46
refactor(web): styles and styleguide
2021-02-20 08:20:17 -06:00
Paul Armstrong
880178d62e
refactor(web): render CameraImage to a canvas
2021-02-20 08:20:17 -06:00
Paul Armstrong
45526a7652
feat(web): activity indicator while loading
2021-01-31 06:18:35 -06:00
Paul Armstrong
e6516235fa
feat(web): auto-paginate events page
2021-01-31 06:18:35 -06:00
Paul Armstrong
6482000d6b
fix(web): image loading for firefox
2021-01-28 07:05:45 -06:00
Paul Armstrong
2ec921593e
refactor(web): responsive images on content size, throttle AutoUpdatingCameraImage
2021-01-26 21:40:33 -06:00
Paul Armstrong
75a01f657e
feat(web): make it possible to add to object masks
2021-01-26 21:40:33 -06:00
Paul Armstrong
d4e512c1fc
fix(web): object mask editing not showing points
2021-01-26 21:40:33 -06:00
Paul Armstrong
26e7d34f18
fix(web): ensure all links on events page include pathname
2021-01-26 21:40:33 -06:00
Paul Armstrong
f0f3764992
fix(web): make camera latest.jpg responsive
2021-01-26 21:40:33 -06:00
James Carlos
600477c487
Update documentation link in sidebar to new docs
2021-01-26 21:40:33 -06:00
Paul Armstrong
a862ba8348
feat(web): AutoUpdatingCameraImage to replace MJPEG feed
2021-01-26 21:40:33 -06:00
Paul Armstrong
633d45d02f
fix(web): set default path to cameras view
2021-01-26 21:40:33 -06:00
Blake Blackshear
7f4e042dfa
update index.js to use baseUrl
2021-01-26 21:40:33 -06:00
Paul Armstrong
2132352639
fix(web): dark mode text color fixes
...
fixes #544
2021-01-26 21:40:33 -06:00
Paul Armstrong
18db6daf0a
feat(web): layout & auto-update debug page
2021-01-26 21:40:33 -06:00
Paul Armstrong
26ba29b538
fix(web): ensure button bg colors show in prod builds
2021-01-26 21:40:33 -06:00
Paul Armstrong
d39111a294
fix(web): mask zone editor to handle object filter masks
...
Includes additional handlers for adding/removing masks, as well as click to copy configs
fixes #523
2021-01-26 21:40:33 -06:00
Paul Armstrong
7f8ae2ce5c
fix(web): ensure mask editing works in firefox
2021-01-26 21:40:33 -06:00
Paul Armstrong
c618867941
feat!: web user interface
2021-01-26 21:40:33 -06:00