Commit graph

336 commits

Author SHA1 Message Date
Ginger Wong
206d57e79e css hack for videojs that hides a duplicate video element 2020-09-03 03:29:55 -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
3d679a28fb Merge branch '0809gw-messagemodule' of https://github.com/gabek/owncast into 0809gw-messagemodule 2020-08-22 00:09:51 -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
Gabe Kangas
4632ba4247 Reorganize the favicons 2020-08-20 17:57:22 -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
Ginger Wong
7aa7a70d43 update omq emojis 2020-08-20 09:40:15 -07:00
Gabe Kangas
01c8c98a40 Add OMQ stickers as custom emoji 2020-08-20 09:39:13 -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
42752b7800 Document basic supported markdown syntax. Closes #95 2020-08-01 17:02:25 -07:00
Gabe Kangas
99c6009292 Some autolinking settings 2020-07-30 00:05:31 -07:00
Gabe Kangas
6c0569aa95 Style embeds 2020-07-29 23:33:47 -07:00
Gabe Kangas
e95f2e7755 Fix elipsis links. For #93 2020-07-29 23:33:35 -07:00
Gabe Kangas
c343dcdadc Make the first message align bottom. Closes #87 2020-07-29 23:10:45 -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
d8d6c0f26a Ginger mentioned increasing the height of video a bit 2020-07-23 00:13:52 -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
01c487c2b5 Point to production build of vue 2020-07-20 22:03:02 -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
5d13805bf2 Update videojs 2020-07-20 21:58:40 -07:00
Gabe Kangas
1464945061 Finally give the extra user content markdown some styling 2020-07-20 19:08:06 -07:00
Gabe Kangas
a7b625c37f Show chat as disabled by default 2020-07-20 00:21:10 -07:00
Gabe Kangas
54a9206051 Support chat message word wrapping if needed 2020-07-19 23:55:16 -07:00
Gabe Kangas
0e45bd9ca3 Ok make the avatars a bit larger 2020-07-19 23:27:17 -07:00
Gabe Kangas
cbbff2e5f5 Create padding around chat avatars and the colored container 2020-07-19 22:57:42 -07:00
Gabe Kangas
0fb48d8a7c Add favicon(s). Closes #75 2020-07-19 22:27:42 -07:00
Gabe Kangas
2ae227360a Hide viewer stats when in offline mode. Closes #66 2020-07-19 17:29:16 -07:00
Gabe Kangas
1ae1e94368 Disable text input by default 2020-07-19 17:20:26 -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
Ginger Wong
d775924c59 barebones noscript layout 2020-07-18 17:44:18 -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
38a279485b disable click events on video container when offilne 2020-07-18 17:18:58 -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
c76aec8c88 fix cursor on default social icon 2020-07-07 23:32:14 -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
5a3aed9587 remove jquery 2020-06-28 17:23:58 -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
Bradley Hilton
5611f4d00e
Merge branch 'master' into fix-initial-offline-state 2020-06-18 20:07:23 -05:00
Gabe Kangas
69da77b054 Fix short segment thumbnails. Move to JPG thumbs. Fix default thumb copy. 2020-06-18 17:56:06 -07:00
Bradley Hilton
42371a30fe
Fix the race condition where the logo wasn't copied over for the default thumbnail 2020-06-18 19:35:09 -05:00
Gabe Kangas
55776b0136 Add default thumbnail 2020-06-18 15:12:25 -07:00
Gabe Kangas
26760b3be1 Rework how videojs is initialized 2020-06-18 14:38:06 -07:00
Ginger Wong
51b79287c5 Merge branch 'master' of https://github.com/gabek/owncast 2020-06-18 10:25:58 -07:00
Ginger Wong
b39824b8c3 updates towards more customization 2020-06-18 10:24:54 -07:00
Gabe Kangas
3ce6026cc8 Simplify videojs init 2020-06-18 01:24:09 -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
6bc10dc812 Add web content file to build 2020-06-17 23:24:27 -07:00
Gabe Kangas
728b5fe3d7 Update videojs 2020-06-17 21:14:58 -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