* Bump api spec version
* Do not panic on cpu monitoring error
* Centralize the socket disconnect logic and fire it also when socket errors occur. Hopefully closes#421
* Start cleaning up linter errors. For #357
* Fix unmarshalling NullTime values
* More linter fixes
* Remove commented code
* Move defer up
* Consolidate error check lines
* Move error check to make sure row iteration was successful
* Cleaner error check + do not recreate pipe if it exists
* Consolidate hashing to generate client id
* First pass at centralized database reference. Closes#282
* Add verbose logging option to launch.json
* Clear current broadcaster on stream end. Closes#285
* Fix typo in verbose launch args
* Add support for purging tailwind styles. For #224
* Don't need to pass db as param since it is stored
* Commit updated Javascript packages
Co-authored-by: Owncast <owncast@owncast.online>
* Variable '*' collides with imported package name
* Variable 'error' collides with builtin interface
* '*' may have 'nil' or other unexpected value as its corresponding error variable may be not 'nil'
* Render and sanitize chat messages server-side. Closes#235
* Render content.md server-side and return it in the client config
* Remove showdown from web project
* Update api spec
* Move example user content file
* Add support for ending the inbound stream. Closes#191
* Add a simple success response to API requests
* Connected clients API with geo details
* Post-rebase cleanup
* Make setting and reading geo details separate operations to unblock and speed up
* Rename file
* Fire geoip api call behind goroutine
* Add comment
* Post-rebase fixes
* Add support for the MaxMind GeoLite2 GeoIP database
* Spike: Ping YP service with instance details
* WIP: Add to the config to support YP
* Add YP response endpoint
* Handle YP errors. Use config. Off by default
* Show message about YP support on launch
* Add animated gif preview when generating thumb
* Increase quality of preview gif and only create it if YP is enabled
* Do not allow re-registration by clearing the key
* Make large and small logos actually structured
* Change log level
* Fix default YP service URL
* Point to default hostname
* Set default value for YP to false
* Send PONG responses to PINGs
* Split out client IDs for viewer counts vs. websocket IDs
* WIP username change event
* Display username changes
* Revert commented out code
* Add support for building from the current branch
* Fix PONG
* Make username changes have a unique ID
* Add a version param to js to cachebust
* Change placeholder when chat is disabled
* Use the /chat endpoint for bulk chat history population instead of websocket. For #47
* Force LiveUI/seek bar during live to show. Closes#11.
* Change pulling chat history into app.js
* Force new messages to have visability = true
* First pass at restructuring the project; untested but it does compile
* Restructure builds and runs 🎉
* Add the dist folder to the gitignore
* Update core/playlist/monitor.go
* golint and reorganize the monitor.go file
Co-authored-by: Gabe Kangas <gabek@real-ity.com>