Commit graph

243 commits

Author SHA1 Message Date
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