Commit graph

449 commits

Author SHA1 Message Date
Ginger Wong
26c066b454 overflow hidden on message so word forces break; decrease maxlength of username to 60 chars. fix #417 2020-12-04 00:00:50 -08:00
Ginger Wong
5e41dab92c revert chat test 2020-12-03 22:51:11 -08:00
Ginger Wong
5fe36f37bd fix for #411 2020-12-03 22:43:31 -08:00
Ginger Wong
0bf8cf1dba make emoji search text more legible; break long user name change messages 2020-12-03 22:28:16 -08:00
Gabe Kangas
298d140c28 Connect to websocket in embed player. Closes #361 2020-11-20 18:06:51 -08:00
dependabot[bot]
cc78564c64
Bump @videojs/http-streaming from 2.3.0 to 2.3.1 in /build/javascript (#386)
* Bump @videojs/http-streaming from 2.3.0 to 2.3.1 in /build/javascript

Bumps [@videojs/http-streaming](https://github.com/videojs/http-streaming) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/videojs/http-streaming/releases)
- [Changelog](https://github.com/videojs/http-streaming/blob/v2.3.1/CHANGELOG.md)
- [Commits](https://github.com/videojs/http-streaming/compare/v2.3.0...v2.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-11-19 22:45:10 -08:00
Matt Steele
aeb221b32f
Do not highlight usernames inside links (#366)
sweet!

* Do not highlight usernames  inside words

Fixes #156

* Do not search on separate words

* Add accuracy options to markjs
2020-11-17 17:29:03 -08:00
gingervitis
f8d94c2dc2
jump to bottom of list when the DOM observes that a new message node has been added (#369) 2020-11-17 16:59:27 -08:00
gingervitis
01f16aeddf
Simplify Logo requirement from users. (#373)
* Simplify Logo requirement from users.
- Only require 1 logo file, instead of a `small` and `large` one.  Just require `logo`.
- Update frontend sso that primary header logo will ALWAYS be owncast logo.
- User's logo will remain in "user content" area.

* Commit updated API documentation

Co-authored-by: Owncast <owncast@owncast.online>
2020-11-17 15:12:54 -08:00
dependabot[bot]
92fa5b5c8c
Bump @joeattardi/emoji-button from 4.4.0 to 4.5.0 in /build/javascript (#370)
* Bump @joeattardi/emoji-button from 4.4.0 to 4.5.0 in /build/javascript

Bumps [@joeattardi/emoji-button](https://github.com/joeattardi/emoji-button) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/joeattardi/emoji-button/releases)
- [Commits](https://github.com/joeattardi/emoji-button/compare/v4.4.0...v4.5.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-11-16 22:45:13 -08:00
dependabot[bot]
4f4a13540f
Bump @joeattardi/emoji-button from 4.3.0 to 4.4.0 in /build/javascript (#367)
* Bump @joeattardi/emoji-button from 4.3.0 to 4.4.0 in /build/javascript

Bumps [@joeattardi/emoji-button](https://github.com/joeattardi/emoji-button) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/joeattardi/emoji-button/releases)
- [Commits](https://github.com/joeattardi/emoji-button/compare/v4.3.0...v4.4.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-11-16 17:38:12 -08:00
dependabot[bot]
c76b7229a5
Bump preact from 10.5.5 to 10.5.7 in /build/javascript (#360)
* Bump preact from 10.5.5 to 10.5.7 in /build/javascript

Bumps [preact](https://github.com/preactjs/preact) from 10.5.5 to 10.5.7.
- [Release notes](https://github.com/preactjs/preact/releases)
- [Commits](https://github.com/preactjs/preact/compare/10.5.5...10.5.7)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-11-12 22:59:02 -08:00
dependabot[bot]
2517e9944e
Bump @videojs/http-streaming from 2.2.4 to 2.3.0 in /build/javascript (#327)
* Bump @videojs/http-streaming from 2.2.4 to 2.3.0 in /build/javascript

Bumps [@videojs/http-streaming](https://github.com/videojs/http-streaming) from 2.2.4 to 2.3.0.
- [Release notes](https://github.com/videojs/http-streaming/releases)
- [Changelog](https://github.com/videojs/http-streaming/blob/main/CHANGELOG.md)
- [Commits](https://github.com/videojs/http-streaming/compare/v2.2.4...v2.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-11-05 23:08:53 -08:00
dependabot[bot]
cf6609496c
Bump video.js from 7.8.3 to 7.10.2 in /build/javascript (#326)
* Bump video.js from 7.8.3 to 7.10.2 in /build/javascript

Bumps [video.js](https://github.com/videojs/video.js) from 7.8.3 to 7.10.2.
- [Release notes](https://github.com/videojs/video.js/releases)
- [Changelog](https://github.com/videojs/video.js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/videojs/video.js/compare/v7.8.3...v7.10.2)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-11-05 22:54:56 -08:00
dependabot[bot]
c2f94c4e6c
Bump @videojs/http-streaming from 2.2.0 to 2.2.4 in /build/javascript (#322)
* Bump @videojs/http-streaming from 2.2.0 to 2.2.4 in /build/javascript

Bumps [@videojs/http-streaming](https://github.com/videojs/http-streaming) from 2.2.0 to 2.2.4.
- [Release notes](https://github.com/videojs/http-streaming/releases)
- [Changelog](https://github.com/videojs/http-streaming/blob/v2.2.4/CHANGELOG.md)
- [Commits](https://github.com/videojs/http-streaming/compare/v2.2.0...v2.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-11-03 22:44:18 -08:00
dependabot[bot]
9ae3f1a267
Bump @joeattardi/emoji-button from 4.2.0 to 4.3.0 in /build/javascript (#319)
* Bump @joeattardi/emoji-button from 4.2.0 to 4.3.0 in /build/javascript

Bumps [@joeattardi/emoji-button](https://github.com/joeattardi/emoji-button) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/joeattardi/emoji-button/releases)
- [Commits](https://github.com/joeattardi/emoji-button/compare/v4.2.0...v4.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2020-11-03 18:48:09 -08:00
bgildson
bcf7332675 changed duration format to also represent days 2020-10-29 08:46:54 -03:00
Gabe Kangas
2839a5e236
Custom thumbnail poster component (#281)
* Custom thumbnail poster component

* add opacity transition to thumbnail img

* fix some videoonly styles

* move video styles to video.css

* make component out of image layers; put inline styles into css

* cleanup

* update videoonly ; don't render poster if video player, remove dom modification in player

* revert interval

Co-authored-by: Ginger Wong <omqmail@gmail.com>
2020-10-22 14:14:44 -07:00
Gabe Kangas
72de85bc10
Add Javascript update Github Actions workflow (#275)
* JS update workflow

* Update package.json to see if workflow fires properly

* Commit updated Javascript packages

Co-authored-by: Owncast <owncast@owncast.online>
2020-10-20 18:38:37 -07:00
dependabot[bot]
dab7914eab
Bump @justinribeiro/lite-youtube from 0.9.0 to 0.9.1 in /build/javascript (#273)
* Commit updated Javascript packages

* Bump preact from 10.5.4 to 10.5.5 in /build/javascript (#265)

* Trying a new github workflow to install javascript packages

* Bump tailwindcss from 1.9.2 to 1.9.4 in /build/javascript (#266)

Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 1.9.2 to 1.9.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v1.9.2...v1.9.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Commit updated Javascript packages

* Bump preact from 10.5.4 to 10.5.5 in /build/javascript

Bumps [preact](https://github.com/preactjs/preact) from 10.5.4 to 10.5.5.
- [Release notes](https://github.com/preactjs/preact/releases)
- [Commits](https://github.com/preactjs/preact/compare/10.5.4...10.5.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>

* Bump @justinribeiro/lite-youtube in /build/javascript

Bumps [@justinribeiro/lite-youtube](https://github.com/justinribeiro/lite-youtube) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/justinribeiro/lite-youtube/releases)
- [Commits](https://github.com/justinribeiro/lite-youtube/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2020-10-20 15:15:56 -07:00
Ginger Wong
03a6eb3cee optmized lines 2020-10-17 19:21:43 -07:00
Gabe Kangas
7dcc89a841 Add system chat message support to messages query 2020-10-16 17:50:00 -07:00
Gabe Kangas
f4815e331c Update chat styling 2020-10-16 17:46:44 -07:00
Gabe Kangas
30c9bbe966 Size logo properly with the user image 2020-10-16 13:53:43 -07:00
Gabe Kangas
6ea9affce0
HLS video handling/storage/state refactor (#151)
* WIP with new transcoder progress monitor

* A whole different WIP in progress monitoring via local PUTs

* Use an actual hls playlist parser to rewrite master playlist

* Cleanup

* Private vs public path for thumbnail generation

* Allow each storage provider to make decisions of how to store different types of files

* Simplify inbound file writes

* Revert

* Split out set stream as connected/disconnected state methods

* Update videojs

* Add comment about the hls handler

* Rework of the offline stream state.  For #85

* Delete old unreferenced video segment files from disk

* Cleanup all segments and revert to a completely offline state after 5min

* Stop thumbnail generation on stream stop. Copy logo to thumbnail on cleanup.

* Update transcoder test

* Add comment

* Return http 200 on success to transcoder. Tweak how files are written to disk

* Force pixel color format in transcoder

* Add debugging info for S3 transfers. Add default ACL.

* Fix cleanup timer

* Reset session stats when we cleanup the session.

* Put log file back

* Update test

* File should not be a part of this commit

* Add centralized shared performance timer for use anywhere

* Post-rebase cleanup

* Support returning nil from storage provider save

* Updates to reflect package changes + other updates in master

* Fix storage providers being overwritten

* Do not return pointer in save. Support cache headers with S3 providers

* Split out videojs + vhs and point to specific working versions of them

* Bump vjs and vhs versions

* Fix test

* Remove unused

* Update upload warning message

* No longer valid comment

* Pin videojs and vhs versions
2020-10-14 14:07:38 -07:00
gingervitis
57f2e4b567
Merge pull request #241 from jeyemwey/jv-119-remove-avatars
Remove Chat Avatars
Thanks for the cleanup! Looks great.
2020-10-14 11:16:58 -07:00
Gabe Kangas
64a85e68aa
Update extra page content API (#240)
* Mark change stream key api as pre-release

* Add API for changing extra page content. Renanme usercontent -> pagecontent. closes #236
2020-10-14 09:38:48 -07:00
Jannik Volkland
146e6d342c Remove avatars from frontend 2020-10-14 13:33:55 +02:00
Gabe Kangas
d7c3991b59
Render and sanitize chat messages server-side. (#237)
* 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
2020-10-13 16:45:52 -07:00
Gabe Kangas
ce14e0d0a7 Remove additional viewer counts from status bar. Closes #155 2020-10-08 16:39:11 -07:00
Jannik Volkland
d4b800c9bb Merge branch 'fix-issue-202' 2020-10-07 08:46:09 +02:00
Jannik Volkland
813884ef21 fix: Use Kebab-Case, and resolve Merge Conflict 2020-10-07 08:42:46 +02:00
gingervitis
1eb7c1985b
Merge pull request #228 from SoldierCorp/save-volume-settings
ADD: Save volume settings in localstorage
2020-10-06 22:54:57 -07:00
Edgardo Ramírez
38743a9608 UPDATE: Set volume on load 2020-10-06 19:01:59 -05:00
Edgardo Ramírez
f0df543def ADD: Handle muted state to update the volume settings 2020-10-06 15:51:30 -05:00
gingervitis
a36891c465
Merge pull request #226 from Pranav2612000/chat_count_fix
fix: prevents messages ending with spaces to exceed the msg limit
2020-10-06 13:46:07 -07:00
Edgardo Ramírez
ac1860d325 UPDATE: Use helpers functions for saving the volume settings 2020-10-06 15:46:07 -05:00
Edgardo Ramírez
66db710761 FIX: Set volume only if it exists in localstorage 2020-10-06 15:03:15 -05:00
Edgardo Ramírez
e2200f09d7 Merge remote-tracking branch 'upstream/master' into save-volume-settings 2020-10-06 14:55:56 -05:00
Edgardo Ramírez
84b81e440d ADD: Save volume settings in localstorage 2020-10-06 14:53:08 -05:00
Gabe Kangas
dfc03bc027 Web modules were getting hit by .gitignore. Fixed 2020-10-05 08:43:38 -07:00
Gabe Kangas
5d530ca5a6 Missing showdown module import in app 2020-10-05 00:05:35 -07:00
Pranav
7ac22eb889 fix: prevents messages ending with spaces to exceed the msg limit 2020-10-05 11:12:33 +05:30
Gabe Kangas
27a4c8c895
Move all remote dependencies to be local (#220)
* Experiment with javascript bundling

* Experiment with snowpack. Making progress

* Success!  Uses local js modules and assets and no cdns

* Missing local css
2020-10-04 18:43:31 -07:00
Jannik
4c02b6eea1 Move socialIconsList to its own component 2020-10-04 20:48:44 +02:00
Ahmad Karlam
29ef90e384 fix: check if date is invalid 2020-10-04 10:58:02 +07:00
Ahmad Karlam
8c380f118a refactor: declare format timestamp as variable for consistency 2020-10-04 10:57:45 +07:00
Ahmad Karlam
1c03e83c31 Typo 2020-10-04 09:08:40 +07:00
Ahmad Karlam
2abde9186c refactoring 2020-10-04 09:08:05 +07:00
Ahmad Karlam
d27d4a798f Remove moment js and use standard library date from javascript 2020-10-04 09:01:46 +07:00
Ahmad Karlam
63a757ef23 Use moment js for diff and format date 2020-10-03 20:29:29 +07:00
Jannik
d6dadcabf8 Fix: Optional socialHandles and tags 2020-10-02 21:28:35 +02:00
Ahmad Karlam
334a69386d Add timestamp to title chat 2020-10-01 16:11:43 +07:00
gingervitis
fc27d73030
Merge pull request #171 from owncast/gek/remove-player-progress-bar
Remove player progress bar.  Closes #159
2020-09-27 22:03:40 -07:00
Gabe Kangas
ec9f8ba004 Stop using skypack CDN for emoji button and bump version. Address #141 2020-09-25 19:36:11 -07:00
Gabe Kangas
0cb31644f4 Quiet, log. 2020-09-23 18:18:15 -07:00
Ginger Wong
01f956d043 detect portrait mode on mobile so it doesnt go into two col layout when keyboard is up, (#178) 2020-09-22 17:09:55 -07:00
Ginger Wong
58570be302 disable chat when websocket disconnects, enable it when it connects 2020-09-22 01:38:43 -07:00
Gabe Kangas
5af0afa2a0 Disable chat input when websocket disconnects. Closes #174 2020-09-22 01:22:49 -07:00
gingervitis
661eedc03a
chat fixes v3 or 5 or 123 (#168)
* only consider short-heights when not smallscreen; hide status bar when small screen, but leave shadow;

* fix max char counting bugs with paste, yet be still be able to use modifier keys even when max chars reached

* rmeove 'chat' button; move into textarea

* use image for emoji picker for sizing consitency

* cleanup unused things

* - totally unecessary emoji picker style improvements
- totally necessary doctype added to emoji picker so it shows up more stable-y on mobile views

* more stable layout positioning for chat panel without hacky margins, so that the bottom of the message list will always be on top of the form input, and not behind it at any point.

* hide header on touch screens when screns are small and screen height is short (possibly when keyboard is up), so that there's more visibliity to see messages. this only works on chrome, not ios safari right now, due to the position: fixed of things.

* move char counting to keyup instead

* address message text horiz overflow (#157)

* dont jumpToBottom if user has scrolled about 200px from the bottom (#101)

* scroll to bottom on resize too

* cleanup

* revert test bool

* typo

* re-readjust short-wide case again

* - add focus to input field after emoji is selected, put cursor at end
- instead of smooth scrolling to bottom, just jump there.
2020-09-21 20:11:09 -07:00
Gabe Kangas
7e2963ab1c Remove player progress bar. Closes #159 2020-09-21 14:28:12 -07:00
Gabe Kangas
2e6d61c7c2 Allow user colors to be more red 2020-09-21 14:14:55 -07:00
Gabe Kangas
38d93a549a Tweak user colors and add a little testing script for future experimenting. Closes #170 2020-09-21 13:56:07 -07:00
Gabe Kangas
257847fdf8 Fix chat visibility toggle 2020-09-20 19:27:26 -07:00
Ginger Wong
29ebe80ad0 remove test cruft so chat panel visibility is remembered 2020-09-20 15:49:52 -07:00
Gabe Kangas
80b2b9e668 Move API endpoints under an API url namespace. Closes #148 2020-09-14 16:15:53 -07:00
Gabe Kangas
6a3f634ef5
Misc web updates (#147)
* Try and clarify max viewer count string

* Shrink title font size on small screens to fit username

* Hide stream info on small screens to buy some space

* Hide emoji button on small screens until we can fix it. For #140

* Make jumping to bottom be a part of the render pass to fix race condition. For #140

* Remove About in info view. We can add it back. Just playing with that since it was missing a space anyway

* address some own mr comments

Co-authored-by: Ginger Wong <omqmail@gmail.com>
2020-09-13 22:02:04 -07:00
Gabe Kangas
0dcd92e9cd Fix chat not coming back after server comes back. Closes #136 2020-09-12 18:46:30 -07:00
Gabe Kangas
4c497454b6 Give highlights a little padding 2020-09-12 18:01:53 -07:00
Gabe Kangas
7b11c65187 Fix missing live duration string. Closes #144 2020-09-10 20:57:51 -07:00
Gabe Kangas
ce8fc019ec Fix websocket not reconnecting. For #136 2020-09-06 14:28:21 -07:00
Ginger Wong
961e212cd7 update standalone chat styles 2020-09-03 02:44:50 -07:00
Ginger Wong
0a3d1145f6 use defaultvalue for username uncontrolled component, fixes #138) 2020-09-02 22:04:19 -07:00
Gabe Kangas
2019d4a647 Remove error logged when extra info does not exist 2020-09-01 19:15:20 -07:00
Gabe Kangas
2c1caa1238 Show chat by default. Closes #137 2020-09-01 19:10:46 -07:00
Gabe Kangas
c9451cf13a Update video.js and vhs http-streaming. Closes #133 2020-09-01 11:42:27 -07:00
Gabe Kangas
aaeea2bb1d Pin emoji picker to a specific min'ed version 2020-08-30 11:57:27 -07:00
Ginger Wong
09f6b62398 - show offline state when stream ends and video is not playing (#130)
- style fixes
2020-08-29 17:35:19 -07:00
Ginger Wong
0e6edf9ac0 fix max viewers display 2020-08-29 00:42:04 -07:00
Ginger Wong
43e88ee81d fix youtube embed sizing and weird zindexing; fix single col video sizing inconsistency across other browsers 2020-08-27 12:25:46 -07:00
Ginger Wong
b549b21257 add utils to help cleanup whitespaces from contenteditable output; removed forced chat enabling 2020-08-26 11:56:01 -07:00
Ginger Wong
2cffabf0fb - don't make emoji picker freak out by limiting transitions to just app container (#123)
- give width on youtube embed container (#122)
- give video a max height of less than current window height (#125)
-
2020-08-26 11:15:09 -07:00
Ginger Wong
cd5f71265a more tab cleanup 2020-08-26 00:57:15 -07:00
Ginger Wong
b399fbba22 address MR comments 2020-08-26 00:51:40 -07:00
Ginger Wong
6457015406 cleanup 2020-08-24 12:34:36 -07:00
Ginger Wong
2a02b75e42 fix responsive styles 2020-08-24 03:30:42 -07:00
Ginger Wong
0b1f9db4ed update references to owncast site; enable scrolltobottom on new messages 2020-08-23 22:21:42 -07:00
Ginger Wong
abf42f1a56 avatar\ change style update 2020-08-23 21:49:26 -07:00
Ginger Wong
940b6df86b use only unpkg/preact + htm consistently for all components 2020-08-23 21:41:02 -07:00
Ginger Wong
3d6e9feeaf Merge branch 'master' into 0809gw-messagemodule 2020-08-23 21:29:07 -07:00
Ginger Wong
22e16b67d7 start a video-only page; fix some styles 2020-08-23 21:23:16 -07:00
Ginger Wong
a07ad8d693 rename standalone assets so they're easier to find 2020-08-23 19:38:58 -07:00
Ginger Wong
d4c8c187fd fix some styles 2020-08-23 19:37:06 -07:00
Ginger Wong
4b28ed8f25 reorganize js files 2020-08-23 19:06:58 -07:00
Ginger Wong
786b4c04fa cleanup commented out styles 2020-08-23 18:33:19 -07:00
Ginger Wong
9b4c07d3ba stylin' 2020-08-22 00:09:01 -07:00
Ginger Wong
13cfd112b7 - reduced custom styles, use mostly tailwind classes
- updated markdown css for extrausercontent
2020-08-21 23:44:10 -07:00
Ginger Wong
66dc2f84c9 fix placehodler style, fix chat panel cookieing 2020-08-21 15:55:52 -07:00
Matt Steele
cf7ff0a820
Remove cache-control header from HLS queries (#118)
Also minor refactor around cachebusting

Fixes #117
2020-08-20 17:49:11 -07:00
Ginger Wong
42a34df63e move consts over 2020-08-20 15:51:11 -07:00
Ginger Wong
60c04c02c4 update chat component to enable formfield via both streamstatus and socket status 2020-08-20 15:33:51 -07:00
Ginger Wong
c3adfe7b7b preact app integration 2020-08-20 15:29:15 -07:00
Ginger Wong
3dc3e37751 Merge branch '0809gw-messagemodule' of https://github.com/gabek/owncast into 0809gw-messagemodule 2020-08-20 12:59:14 -07:00
Ginger Wong
136a575973 wip.. initial setup for preact integration into main app 2020-08-20 12:59:07 -07:00
Gabe Kangas
df852221d5 Update user color to be a more customizable hsl color with constant saturation and lightness 2020-08-19 23:22:17 -07:00
Ginger Wong
756311f03c style updates to message-only 2020-08-19 14:46:20 -07:00
Ginger Wong
0325af3ce7 styles for message only view 2020-08-19 00:47:41 -07:00
Ginger Wong
d7b8058264 make edits for a messages-only view of the chat module 2020-08-19 00:16:35 -07:00
Ginger Wong
ebc852b430 initial set up for styling updates; actually add files 2020-08-17 09:00:36 -07:00
Ginger Wong
e5d8087979 rever commented out code 2020-08-17 01:14:05 -07:00
Ginger Wong
70f3d7e165 borrow react-ContentEditable component 2020-08-17 01:12:21 -07:00
Ginger Wong
979651a925 extract user names frm old message when they come in 2020-08-15 18:41:31 -07:00
Ginger Wong
703aa40271 move over other input field fxns to input component 2020-08-15 18:28:29 -07:00
Ginger Wong
63d7671fed progress wip. separated out chat input component and its respective methods. 2020-08-14 04:19:19 -07:00
Ginger Wong
3814c24cab set up websocket and emoji in chat component 2020-08-13 09:28:47 -07:00
Ginger Wong
7a1512ef6b breaking out styles into smaller files; break out chat helper functions into utils 2020-08-13 02:43:41 -07:00
Ginger Wong
ab5f8df96e Merge branch 'master' into 0809gw-messagemodule 2020-08-13 02:14:26 -07:00
Ginger Wong
e1e4365692 integrate message comp 2020-08-13 02:08:14 -07:00
Ginger Wong
64e7809c26 separate out message relate utils, create message component 2020-08-13 01:49:10 -07:00
Ginger Wong
dad802f19a Initial setup for standalone chat with Preact.
- set up standalone static page and message related components
- start separating out css into smaller more manageable files
- start separating out utils into smaller modular files
- renaming some files for consistency
2020-08-13 01:28:25 -07:00
Gabe Kangas
68ff9ff270
Merge of emoji + autolink + embed + etc (#108)
* Add an emoji picker to chat

* Update to the custom emoji picker and add first pass at using custom emoji in text box

* Add custom emoji endpoint and use it in the app

* Position the emoji picker

* Handle events from the text input

* pair down the number of party parrots

* Size emoji in chat and input

* Add new custom emoji

* Add OMQ stickers as custom emoji

* Show custom category for emoji picker by default

* update omq emojis

* Document basic supported markdown syntax. Closes #95

* Websocket refactor: Pull it out of the UI and support callbacks (#104)

* Websocket refactor: Pull it out of the UI and support listeners

* Changes required for Safari to be happy with modules

* Move to explicit ad-hoc callback registration

* Add an emoji picker to chat

* Update to the custom emoji picker and add first pass at using custom emoji in text box

* Handle events from the text input

* Rebuild autolinking + embed handling for #93

* Re-enable disabling chat

* Document basic supported markdown syntax. Closes #95

* Document basic supported markdown syntax. Closes #95

* Add an emoji picker to chat

* Merge emoji and embeds.

* Merge emoji + embed branches. Rework autolink +embeds. WIP for username
highlighting for #100

* More updates to chat text formatting/embedding/linking

* Fix username autocomplete to work with div instead of form elements

* Post-rebase fixes + tweaks

* Disable text input by setting contentEditable = false

* Remove test that hardcodes pointing to public test server

* Fix re-enable chat with the contentEditable input div

* Style and fix the fake placeholder text in the input div

* Missing file.  Were did it go?

* Set a height for instagram embeds

* Cleanup

Co-authored-by: Ginger Wong <omqmail@gmail.com>
2020-08-12 21:56:41 -07:00
Nikola Forró
b6ad96da28 Highlight self-mentions in messages
Signed-off-by: Nikola Forró <nforro@redhat.com>
2020-08-07 01:14:30 +02:00
Nikola Forró
a0c609ce76 Add username tab completion on @ character
Signed-off-by: Nikola Forró <nforro@redhat.com>
2020-08-07 01:14:24 +02:00
Nikola Forró
183e14e12f Explicitly disable github @mentions
Also remove doubled strikethrough option.

Signed-off-by: Nikola Forró <nforro@redhat.com>
2020-08-06 22:16:22 +02:00
Gabe Kangas
df04af0f38
Websocket refactor: Pull it out of the UI and support callbacks (#104)
* Websocket refactor: Pull it out of the UI and support listeners

* Changes required for Safari to be happy with modules

* Move to explicit ad-hoc callback registration
2020-08-06 10:55:33 -07:00
Nikola Forró
97d8a8cce6 Fix handling newlines in messages
It's not possible to make a newline when already holding Shift,
for example to type an uppercase character. Fix that.

Signed-off-by: Nikola Forró <nforro@redhat.com>
2020-08-02 12:08:22 +02:00
Gabe Kangas
99c6009292 Some autolinking settings 2020-07-30 00:05:31 -07:00
Gabe Kangas
0f2b9c5e0e Support some additional markdown features 2020-07-28 23:33:13 -07:00
Gabe Kangas
d9509f5606
Chat updates (#92)
* 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
2020-07-28 21:30:03 -07:00
Gabe Kangas
cb04826173 Fix the flickering status text. Closes #88 2020-07-27 23:04:35 -07:00
Gabe Kangas
5ce9a4928c Fix timeout buffer after going offline. Closes #84 2020-07-22 23:54:36 -07:00
Gabe Kangas
515661804a Force videojs to set cache-control header and add a random query param to each request. Closes #82 I hope. 2020-07-22 19:53:50 -07:00
Gabe Kangas
e0670585fb Experiment with starting with lowest quality and moving up from there 2020-07-20 21:59:17 -07:00
Gabe Kangas
a7b625c37f Show chat as disabled by default 2020-07-20 00:21:10 -07:00
Gabe Kangas
2ae227360a Hide viewer stats when in offline mode. Closes #66 2020-07-19 17:29:16 -07:00
Ginger Wong
eb699f9790 use constants for message strings 2020-07-19 16:14:38 -07:00
Ginger Wong
b66a80f11e add comments; use promise for fetching chat history for consistency 2020-07-19 16:11:29 -07:00
Ginger Wong
3f594abac8 update offline flow an stream status timer flow 2020-07-19 16:06:55 -07:00
Ginger Wong
a3613612eb Merge branch 'master' into gek/current-stream-duration 2020-07-19 15:17:03 -07:00
Gabe Kangas
c0e4f647a2 Show chat by default. Closes #72. Show placeholder text that no registration is needed. Closes #73 2020-07-19 15:15:39 -07:00
Ginger Wong
72ccc70a56 Merge branch 'master' into 0718-refactor-touchscreenlayout 2020-07-19 15:13:18 -07:00
Ginger Wong
fdce8585d5 css tweaks for mobile mode; reintroduce mobile styles and hacks 2020-07-19 15:12:57 -07:00
Gabe Kangas
2855027f22
Use endpoint for chat history instead of websocket (#67)
* 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
2020-07-18 17:27:04 -07:00
Ginger Wong
e12de3215f cleanup 2020-07-18 17:17:10 -07:00
Ginger Wong
0af67c0cdc simplified layout updates based on only media queries 2020-07-18 17:15:52 -07:00
Gabe Kangas
a266633a9a Force LiveUI/seek bar during live to show. Closes #11. 2020-07-18 15:37:17 -07:00
Gabe Kangas
8ba0b6d7ce Show in the UI how long the user has been streaming for. Closes #59 2020-07-18 15:08:43 -07:00
Gabe Kangas
addfce2ec9 Change placeholder when chat is disabled 2020-07-16 20:15:08 -07:00
Gabe Kangas
3eba516f04 Add cachebuster to source to force new video. Attempt to fix #63 2020-07-16 19:54:12 -07:00
gingervitis
42b0b05d78
App Javascript refactor (#56)
* objectify app away from window. wip

* fix messaging obj binding; put logo behind video; fix /null issue with temp logo image

* first pass at js refactor

* remove unused files that had been consolidated during refactor

* set up vue before getting config

* add a few comments

* dont use big arrow function, just bind, for safari

* add airplay after instantiating video; check if input exists before disabling it;:

* only set poster on pause during playback, and onEnded; take out sample videoJS tech options

* disable chat after 5mins after going offline

* move 'online' class to video container as it conflicts with dynamically change classnames from non-vue sources

* disable chat based on lastdisconnecttime

* fix typo; do offline mode onEnded instead of status offline

* move offline ui display things to offline mode function; move poster setting on pause to main app to keep player obj cleaner; use opacity to hide video element on offline as sometimes control bars may still linger with vis:hidden

* fixes'

* don't autoplay. just show play button when stream is online so that it's easier to start playign without looking for the unmute button

* clean up console logs

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2020-07-16 12:17:05 -07:00
Gabe Kangas
78edee10cb Do not set poster on status polls for now 2020-07-12 11:02:49 -07:00
Gabe Kangas
0a3691e25e Flip local bool 2020-07-12 09:52:54 -07:00
Gabe Kangas
0aa3159372 Works if I mux restream to ts, not flv 2020-07-12 09:52:54 -07:00
Gabe Kangas
43d434747b Attempt with Joy5 2020-07-12 09:52:54 -07:00
Ginger Wong
8cd13269ec clean up consts a bit 2020-07-07 23:35:09 -07:00
Ginger Wong
827e402bcc randomize avatar for same names 2020-07-07 23:30:26 -07:00
Ginger Wong
426bfe000f fix typo 2020-07-07 23:03:22 -07:00
Gabe Kangas
180534cfaf Force poster to reload so it uses the recent thumbnail. #37 2020-07-06 00:04:07 -07:00
Ginger Wong
34b3806806 low hanging cleanup for extrauser content 2020-07-05 01:29:48 -07:00
Ginger Wong
9bd1df8530 make consts; clean up get status 2020-07-05 01:08:22 -07:00
Ginger Wong
5efa67d605 generate avatar img with util 2020-07-04 22:34:00 -07:00
Ginger Wong
96258fc0f3 update document title 2020-07-03 18:10:57 -07:00
Ginger Wong
53ba5eb186 fix social script typos 2020-07-03 18:07:57 -07:00
Gabe Kangas
1f51ef9668 Add version string to config endpoint 2020-06-30 17:49:17 -07:00
Ginger Wong
6803f7e7e8 header adjustments for small screens; adjust to new config structure; 2020-06-30 02:36:10 -07:00
Ginger Wong
7f28f25455 Merge branch 'master' of https://github.com/gabek/owncast 2020-06-28 17:20:43 -07:00
Ginger Wong
b228d3a4e5 componentize user info 2020-06-28 17:15:53 -07:00
Gabe Kangas
46177b8163 Update documentation since people might try and run this soon 2020-06-28 16:31:54 -07:00
Gabe Kangas
73b6937496 Consolidate config files and surface frontend values via API. Closes #30 2020-06-28 15:10:00 -07:00
Ginger Wong
6c7af9ffae clean up footer things 2020-06-28 15:08:08 -07:00
Gabe Kangas
a9b8a70e8a Change the poster based on online status 2020-06-25 21:56:43 -07:00
Gabe Kangas
20eb8287ef Reset after player ended to force poster. Break out reset function. 2020-06-25 21:24:43 -07:00
Gabe Kangas
04dc0796d8
New video transcoder (#27)
* New video transcoder

* Set a smaller max muxing size + logging tweaks

* No need to return an err since it wiill panic anyway

* Use a default encoder preset if one is not supplied

* Rename to NewTranscoder.  Add comments.

* Rename Bitrate to VideoBitrate. Config file changes required with this rename.

* Allow overrides of segment length. Allow offline stream to live in a single segment

* Append offline state video to existin HLS stream instead of overwriting because players do not like that

* Make properties private as they do not need to be exported
2020-06-25 17:44:47 -07:00
Gabe Kangas
a297e33eff Make IDs for chat messages generated server-side, not client. For #26 2020-06-24 22:00:49 -07:00
Gabe Kangas
5dffaf215b Fix missing poster in the player. Closes #29 2020-06-24 14:34:22 -07:00
Bradley Hilton
fe96739f60
Fix a memory leak with the chat aspect. (#23)
Essentially, the for loop wasn't being returned out
of and that caused the read listener to never be
let up and released to the gc
2020-06-22 23:52:50 -07:00
Ginger Wong
1a44a4bd2f user content general layout 2020-06-21 01:31:08 -07:00
Ginger Wong
1ecf39c2f1 clean up social code 2020-06-21 00:07:57 -07:00
Ginger Wong
19dee67f2a set up components and icons for optional creator's social pages; add airplay icon 2020-06-20 23:41:13 -07:00
Gabe Kangas
04dd7d7f90 Explicitly set poster in js 2020-06-19 13:40:44 -07:00
Gabe Kangas
4c194afce9 Experiment with markdown being supported in chat messgaes 2020-06-19 13:40:36 -07:00
Gabe Kangas
7bdc9052d3 Fix undefined reference in js 2020-06-19 12:19:18 -07:00
Gabe Kangas
886485255a Fix errors on Firefox 2020-06-18 20:46:07 -07:00
Gabe Kangas
26760b3be1 Rework how videojs is initialized 2020-06-18 14:38:06 -07:00
Ginger Wong
b39824b8c3 updates towards more customization 2020-06-18 10:24:54 -07:00
Ginger Wong
d15080db11 Merge branch 'master' of https://github.com/gabek/owncast 2020-06-18 00:12:39 -07:00
Ginger Wong
cf27b157e6 - fix chrome mobile form focus bug by specifying class. when form focuses media query widths change and may think portrait is in landcape and therefore hide the form.
- cleanup now unused methods
- jump to bottom from vue prop listener
2020-06-18 00:06:10 -07:00
Gabe Kangas
b0a73a99b9 Add ability to populate the content area in the page with a markdown file 2020-06-17 20:56:24 -07:00
Gabe Kangas
594e1c774a Add ability to populate the content area in the page with a markdown file 2020-06-17 20:20:28 -07:00
Gabe Kangas
f20d8b3179 Troubleshoot player not getting ready event on production server 2020-06-17 17:48:33 -07:00
Gabe Kangas
06ec265038 Use on Ready event instead of player setup hook 2020-06-17 17:16:34 -07:00
Gabe Kangas
431c1a54e7 Split out status polling into own file 2020-06-17 16:35:47 -07:00
Gabe Kangas
b2f74adc02 Move player js to player.js. Update offline video clip. 2020-06-17 16:25:27 -07:00
Ginger Wong
d27c87212e Merge branch 'master' of https://github.com/gabek/owncast 2020-06-17 10:39:19 -07:00
Ginger Wong
aad1a407b8 take out unused event listeners; layout fixes 2020-06-17 10:39:13 -07:00
Gabe Kangas
b835d7d56f Catch automated play() promise error 2020-06-16 21:48:37 -07:00
Gabe Kangas
b35059f17b Wait until player is setup before we start polling for status 2020-06-16 21:08:31 -07:00
Gabe Kangas
c6e4ea8349 Use client-side config files to config things 2020-06-16 18:58:03 -07:00
Gabe Kangas
ca4932e2b4 Make the entire web page wrapped in a vue object 2020-06-16 18:36:11 -07:00
Ginger Wong
195fe5d9e3 Merge branch '0615-layoutrefactor' 2020-06-16 02:16:21 -07:00
Ginger Wong
fd570a6f75 integrate desktop styles. clean up later 2020-06-16 02:09:29 -07:00
Ginger Wong
97c71771df markup and styles for simple mobile only 2020-06-15 23:32:26 -07:00
Gabe Kangas
d7229a8c6d Add AirPlay player button 2020-06-15 20:12:24 -07:00
Ginger Wong
903fdc33ae Merge branch 'master' of https://github.com/gabek/owncast 2020-06-15 17:40:18 -07:00
Ginger Wong
7aaf1e6102 good nuff hacks for nowz 2020-06-15 17:40:12 -07:00
Gabe Kangas
a90d98ff1b Auto-restart playback when the stream comes back online 2020-06-15 17:23:44 -07:00
Ginger Wong
44058c24aa ⏱🛠 2020-06-15 16:23:39 -07:00
Ginger Wong
59ab5e9e98 add a delay before recalculating vh 😭 2020-06-15 15:55:57 -07:00
Ginger Wong
0510d47486 Merge branch 'master' of https://github.com/gabek/owncast 2020-06-15 15:46:01 -07:00
Ginger Wong
4497cc86c2 mobile hackery 2020-06-15 15:45:55 -07:00
Gabe Kangas
96870870e1 Remove unused method 2020-06-15 14:52:51 -07:00
Gabe Kangas
08d20a1096 Add color hash for user avatar backgrounds 2020-06-15 13:44:39 -07:00
Ginger Wong
a9f8ee9956 Merge branch 'master' of https://github.com/gabek/owncast 2020-06-15 13:43:48 -07:00
Ginger Wong
567729f6f8 calc resize on android on message field focus 2020-06-15 13:43:41 -07:00
Gabe Kangas
7e959e3ba1 Add color hash for user avatar backgrounds 2020-06-15 13:42:34 -07:00
Ginger Wong
cef9bc7adb hacks and fixes 2020-06-15 00:15:23 -07:00
Ginger Wong
67acfeb6f5 Merge branch '0614gw-updates' 2020-06-14 21:15:03 -07:00
Ginger Wong
c16cd50dbb mobile style hacks 2020-06-14 21:14:42 -07:00
Gabe Kangas
8821f09a9d Fix changing username 2020-06-14 18:28:21 -07:00
Gabe Kangas
16e8ab4edc Re-enable timed status check 2020-06-14 17:15:19 -07:00
Gabe Kangas
a9662e7c1e Support keepalive PING messages on the socket 2020-06-14 16:53:25 -07:00
Gabe Kangas
a3c3276a48 Start of a web UI config 2020-06-14 15:18:43 -07:00
Gabe Kangas
c2d0d6e962 Remove ES6 arrow functions 2020-06-14 13:08:14 -07:00
Ginger Wong
50a59ef3c0 more clean up and fixins 2020-06-14 01:10:26 -07:00
Ginger Wong
3ef20c5516 Merge branch 'web-layout' of https://github.com/gabek/owncast into web-layout 2020-06-14 00:24:55 -07:00
Ginger Wong
0fa453044f fix chat; get rid of jquery 2020-06-14 00:24:26 -07:00
Ginger Wong
2aaedd99b5 set up localstorage-able items 2020-06-13 23:38:09 -07:00
Gabe Kangas
ce41b6ad40 Show max viewers 2020-06-13 22:45:22 -07:00
Gabe Kangas
4553ae628b Move to videojs and point to remote video on goth.land 2020-06-13 22:36:12 -07:00
Ginger Wong
5d787d25cd form functionailties 2020-06-13 22:15:58 -07:00
Ginger Wong
eb223ed905 progress. implement chat toggling 2020-06-13 20:15:31 -07:00
Ginger Wong
9b2e4f40c9 fix msg container 2020-06-11 01:24:05 -07:00
Ginger Wong
69ba10a898 use app file from web-layout 2020-06-09 14:15:00 -07:00
Ginger Wong
5c46191cbf Merge branch 'web-layout' into web-layout-gw 2020-06-09 14:13:35 -07:00
Ginger Wong
21c3520e00 style message items 2020-06-09 14:12:50 -07:00
Gabe Kangas
a65564eedf Guard against the infinite that can take place when the ws server goes unavailable 2020-06-09 10:56:15 -07:00
Ginger Wong
60080cd93c initial chat form layout 2020-06-04 03:15:27 -07:00
Ginger Wong
9b63d1ffb3 initial layout 2020-06-04 01:31:47 -07:00
Gabe Kangas
a29852f404 Support local development of index.html 2020-06-02 18:37:05 -07:00
Gabe Kangas
ae94eb1c5f Make messages unique and dedupe on reconnection 2020-06-02 17:59:58 -07:00
Gabe Kangas
f83fccfa89 Show viewer count and reconnect to websocket 2020-06-02 17:35:49 -07:00
Gabe Kangas
380dad2b87 Support links and embeds in the chat 2020-06-02 15:37:36 -07:00
Gabe Kangas
f6153c983f Save author name on send 2020-06-02 14:27:11 -07:00
Gabe Kangas
90e7e9082b Fix status checking loop. 2020-06-02 14:22:22 -07:00
Gabe Kangas
7e85a38613 Use Vuejs for web UI 2020-06-02 14:07:38 -07:00
Gabe Kangas
94fabf56a8 Store chat username on send 2020-06-02 10:38:13 -07:00
Gabe Kangas
020ace7ddd Some basic positioning of HTML 2020-06-01 23:50:32 -07:00
Gabe Kangas
216c15547d Use relative path to websocket 2020-06-01 17:51:33 -07:00
Gabe Kangas
cc48f86b85 WIP 2020-05-23 17:57:49 -07:00