fore.st/README.md
2022-06-26 01:23:38 +00:00

189 lines
9.4 KiB
Markdown

fore.st - Pineapple Express(v1.1-indev)
======
fore.st is the server software for ourfore.st, a community based chat & synced video embedding site tailored to service
the TTN community post-shutdown. The softwre is made freely available both for legal reasons
but also as it seems as that is what is best for the community in the advant of another shutdown.
fore.st is a fork of cytube and as such supports all of the same media sources,
and carries many of the same features. Modifcations to the software have been/are
being made to make the platform a more familiar place for TTN users. Contributions
are welcome.
## Installation
There is currently no installation guide for the software, however since not much has
changed in the backend, you should be fine with official [cytube docs](https://github.com/calzoneman/sync/wiki/CyTube-3.0-Installation-Guide).
## Contact
You can reach out by bugging rainbownapkin on the ttn discord or ourfore.st, you can also send an email to ourforest(at)420blaze.it
## Shoutouts
- Thanks to Simon for making TTN,
- Thanks to our excellent mod team for chat moderation and content aggregation
- Thanks to etchingham for being a community contact while TTN's been winding down, I think all of us see you as a pillar of the community so your support means a lot.
- Thanks to calzoneman for making [cytube](https://github.com/calzoneman/sync), that saved our asses.
- Thanks to the core TTN community and everyone else who's ever used it, I was only there for the last handful of years but it was an absolute fuckin' ride. You guys are the best, it isn't TTN but I hope this at least help fills the gap.
## Pineapple Express Indev Release Notes
This is the first indev release for fore.st 1.1 Pineapple Express. This is the last push before the codebase is merged upstream with the newest version of cytube. Should probably get that done sooner than later. Heres a check list of the planned/completed features in this revision:
- quick shit & bugfixes ✓
- change markdown filters to require three symbols on each side, quickest fix for filters ✓
- move refresh button to title bar ✓
- delete custom embed button, replace with button under generel "add video" button ✓
- move playlist item count and length next to buttons & compact ui ✓
- hide playlist frame and control from users who don't have permission to view playlist (no one can see the afterparty playlist except mods, why should they have the controls cluttering things up?) ✓
- add "mention" to userlist dropdown menu ✓
- add "toke with" to userlist dropdown menu for shits n gigs ✓
- unlatch sync on pause and scrub, show sync button on titlebar when sync is unlatched, this wont support classic yt at the moment. Invidious support planned ✓
- caption support for raw video (no saving captions in channel history just yet, this will be in the next update which will involve a rework/addition to the database) ✓
- fix bugged airdate after "queue next" ✓
- collapsing playlist items hides pref and airtime by default. Airdate on same line as title, airtime and pref below ✓
- collapse/expand all playlist item button ✓
- close playlist button ✓
- basic ui fixes/tweaks ✓
- disabled !toke link embedding on emote alt text ✓
- fix chatbar resizing on new message notification (might just by cytube+) ✓
- relicense to agpl ✓
- disable/remove unregistered channels ✓
- rename "legacy playlist buttons" to compact, fix location. This seems like it could be usable if not better than default ✓
- save temporary vids to channel library
- slide out panel (not an end user feature in and of itself, however a common UI element used for most menus, made to be quick and ezpz ✓
- function for opening, closing ✓
- allow switching menus on panel without having to open/close it ✓
- pretty slide out animation ✓
- improved poll UI ✓
- poll panel auto-opens when poll starts ✓
- button slides in chatbar from left, slides back after poll done ✓
- on click toggles poll ui on left of chat menu ✓
- improved poll chat announcements ~Original announcement removed. May implement once server whisper implemented.
- improved emote ui ✓
- slide out emote ui ✓
- search bar ✓
- optional alphabet sort(default) ✓
- optional legacy emote menu available ✓
- cytube+ ripout ✓
- scroll to current item button ✓
- orientation buttons in title bar ✓
- quick settings(icon next to emote button) ✓
- general pref
- theme ✓
- playback pref ✓
- video orientation ✓
- toggle orientation buttons ✓
- sync threshold (in seconds) ✓
- youtube source (add after degoogling) ~
- chat pref ✓
- use legacy cytube emote menu ✓
- blink title on chat ✓
- chat notification sound ✓
- chat desktop notification ✓
- trim/tidy default cytube commands
- replace / with ! as defualt server-side command indicator to match tokebot and TTN commands. / will be used for future client-side commands ✓
- me ✓
- sp ✓
- afk ✓
- poll ✓
- hpoll ✓
- mute ✓
- smute ✓
- unmute ✓
- kick ✓
- ban ✓
- ipban ✓
- clear ✓
- clean ✓
- cleantitle ✓
- remove/consolidate/add to commands ✓
- say -> announce(change tokebot modflair CSS to announce CSS, make normal modflair for bot/admin rank) ✓
- remove kickanons ✓
- remove d (drink) ✓
- add user specific function to clear ('!clear <username>' to clear chats by said user) ✓
- Merge Upstream to newest cytube commit
- improved server-whisper system
- public leave/join messages
- server-whisper target parameter for user specific whispers
- server-whisper name
- getplaylistlinks outputs in fpanel
- I mean its pretty fucking simple I dont know how you can screw this one up bud.
- ezpzlmnsqze
- ui sizing overhaul
- rip out all but the ONE TRUE layout. It's not 2014 anymore, one layout with dynamic elements will get you further than multiple static ones.
- chat/player sized to fit canvas with navbar (remove -+ buttons on player)
- theatre mode toggle icon on title bar (hides navbar, player/chat takes up entire screen)
- click to drag chat/player split
- shade player (hide and unload video, titel bar shows title and unshade icon only)
- shade chat (hide chat box, message box, send button. chat header bar collapses, retains user count and expansion arrows. Userlist/poll open/close is independent.)
- popout video button
- popout chat button
- remove legacy cytube themes. If they wheren't compatible after the emote panel, they certainly won't be now lmao
- decaffeinate player.js
- Coffee script was a bad idea then, and it makes even less sense now.
- fuck me its just javascript with worse syntax, no real debugging tools, and build times
- literally fucking why though?(I guess it made sense before ES6 but still fuck me)
- degoogling
- yt-dlp backend for serverside metadata acquisition of youtube videos w/o registered API key or google account
- potentially leverage yt-dlp backend for other media sources
- invidious embed support for youtube video playback
- youtube source in user prefrences (three or four invidious instances from different countries/continents, official youtube embed, or custom invidious instance)
- autobump
- sepearate bump lists, based on js/txt files at first, will be stored in db next update (may use multiple at once)
- skip next bump/disable bumping
- bump frequency (default: 1)
- queue method: random from last-half, round-robin, full random
- override next bump
- require video be at least 4 minutes to add bump (mods can override from bump menu)
- merge tokebot into ourfore.st codebase, one server instead of two.
- profile and userlist entry
- bot specific rank
- reset cooldown accessible from modmenu (quiet and loud, quiet by default)
- log tokes w/ date to file. This will be switched to mariadb in the next update
- tokefile, list of usernames with toke count. This will be switched to mariadb in the next update
- total tokes listed on profile tooltip
- mod panel
- button on chatbar
- mod message (sends message to all active mods)
- new poll button
- autobump control tab
- tokebot control tab
- playlist tab
- modflair
- open playlist below video (if closed, otherwise this does not appear)
- open playlist below video by default
- merge fore.st theme changes to fore.st dusk, consider moving some of them over to cytube.css for easier management
- extra shit(probs wait til next update, or hotfix)
- short chats (acronyms, emoji, single letters/numbers/symbols) pop in over video from left starting at top left, overflow pops in below, instead of in chat box. Chats slide back up into top of vid after 2s. (optional, default on)
- basic mod chat (save to mod channel + pm all online mods)
- basic profile page (in side panel)
- css variables in theme for ez customizablity
- user themes
- change background to other themes background or img from url(theme background by default)
- native odysee support (no raw embed)
## License
Original fore.st code is provided under the Affero General Public License v3 in order to prevent fore.st being used in proprietary software.
(see the LICENSE file for the full text.)
Cytube source code originally licensed under MIT license
(see the LICENSE file for the full text.)
Bundled source code, such as third-party CSS and JavaScript libraries, are
provided under their respective licenses.