- Replace inline CSS with Tailwind classes
- Improve page layout and scaling
- Add icons to ControlBar
- Small refactor of play/pause logic
- Add basic (not by any means final) colours
It is unclear whether these are actually significantly improving
performance and they add non-trivial complexity to the codebase,
especially when under heavy frontend development. Removing most of them
for now until it can be shown they are actually worthwhile.
This will allow for an HTTP/1.1 fallback for
MediaSetService.GetAudioSegment, enabling download of audio clips in
browsers that do not support the File System Access API.
- Add FileSystem implementation to handle HTTP index files but constrain
directory listings
- Refactor server implementation into a dedicated handler struct
- Add test coverage
The middleware approach breaks automatic handling of index files, which
in turn breaks assets serving. A custom file system will be required
instead.
This reverts commit 237747718870a43e47462c9b088681fb1cc1f817.
This turned out to actually make testing more difficult, as the
FileStore objects are generally mocked themselves and moving the Close()
call inside them introduced IO problems in the test suite.
This reverts commit a063f85eca5dd3f983bc9b790fd68108820cc730.
Accepting a ReadCloser in place of a Reader allows the FileSystem
implementation to handle closing the reader, which in turn simplifies
downstream code.