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