Commit graph

366 commits

Author SHA1 Message Date
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
Ginger Wong
ff3a50dc03 linty stuff 2020-10-03 13:50:08 -07:00
Ginger Wong
ab1eb69fd1 apply scrollbar tricks to moz browser; make scroll colors on emoji picker easier to see; make emoji hover color easier to see 2020-10-03 13:42:48 -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
Ginger Wong
1a477de89a Merge branch 'master' of https://github.com/gabek/owncast 2020-09-27 23:04:51 -07:00
Ginger Wong
3add3897ac show play button when video is paused (issue #201) 2020-09-27 23:04:42 -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
Ginger Wong
91590f95bb hide extra videojs video elements that dont have a src to address #165 2020-09-20 15:49:15 -07:00
Gabe Kangas
0c5e788aa2
Preload preact, emoji. Defer some js. (#162) 2020-09-20 10:03:54 -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
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