1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-10-13 22:41:57 +00:00
Commit graph

158 commits

Author SHA1 Message Date
SirStendec
c548f15290 Fix issues with logged out users for actions.
Look up the room login from the ID when rendering a chat line if we don't have the login already.
Add color validation to the color picker component.
If room is null, don't even try sending a message.
Allow sending messages to any room and not just the current room.
Swallow errors when processing colors and return null.
2018-04-29 01:28:19 -04:00
SirStendec
fdde05030f The In-Line Actions Update
* Add extensible actions system.
* Add extensive UI for configuring the actions system.
* Add setting to disable channel hosting.
* Fix the stupid Rooms thing popping up every time you open a channel.
* Fix how we grab chat types from React.
* Refactor how we handle incoming chat messages.
* Add a hook for outgoing chat messages.
* Fix emoji appearing squished with baseline emote alignment.
* Display arrows on balloons.
* Fix an issue generating emoji URLs.
* Do not use the default values for settings with merge strategies if profiles have those settings, just empty.
* Display a message in the chat settings menu if we tried opening FFZ's settings and failed.
* Wait a bit for webpack's loader if it's not immediately there for some reason.
* Probably other stuff.
* Not mod cards. Yet.
2018-04-28 17:56:03 -04:00
SirStendec
161b084626 Stop using thing.parentElement.removeChild(thing). Also make sure the block exists in ManagedStyles before we remove it. 2018-04-19 16:39:16 -04:00
SirStendec
0331799242 Twitch's API is stable and has great, standardized error messages. 2018-04-15 23:10:01 -04:00
SirStendec
e581b50b08 Fix bug tokenizing cheers in messages. Try to fix any bugs getting a user for a room. Strip apollo 404 messages from Sentry. Don't show the expansion arrows in the emote menu when using a filter. Fix emoji tab completion a bit. 🐝 should not match 🍺. Start using crossorigin for script serving. Add a debug transformation for localization. 2018-04-15 17:19:22 -04:00
SirStendec
9c95335743 Add Emoji Rendering. Add basic emoji tab-completion. The emote menu needs a re-think for performance. Strip out more Apollo bugs. Fix tooltips being silly. 2018-04-12 20:30:00 -04:00
SirStendec
1b2ff27530 More bugfixes. Actually implement the API test experiment. 2018-04-12 02:29:43 -04:00
SirStendec
99f9974dea Fix a CSS bug with the emote menu.
Fix Edge not building properly. It was failing to transpile .jsx files.
Add a dev script for the babel build for Edge. It's just as bad as you'd imagine.
Stop using the env preset for babel builds and instead just use the class transform plugin.
Add logging to Module when discovering modules.
2018-04-11 22:18:04 -04:00
SirStendec
e773600a3e More event filtering for Sentry error reporting. 2018-04-11 17:49:31 -04:00
SirStendec
d7a07a5612 The Report Your Errors Update
* Add automatic error reporting with Sentry.io
* Filter a bunch of bad errors from showing up on Sentry
* Add module.hasModule method.
* Fix deep_copy
* Fix disallow mouse interaction with extensions
* Add some new icons to the icon font for mod cards
* Allow Ctrl-Shift-Clicking emotes.
* Rarity sorting for experiments and unset display for unused experiments.
2018-04-11 17:05:31 -04:00
SirStendec
e3a7e3b64d Add experiments system. Add experiments UI. Update disabled buttons to use tw-button--disabled. Update chat line rendering. Add preset emote sizes to the emote menu to reduce reflows when loading. Fix directory issues caused by fixes to route sorting. Update the theme. Add a current route name value to fine router. Add recursive object protection to deep_copy. 2018-04-10 21:13:34 -04:00
SirStendec
1841ab156c Add favorite emotes. Add emote menu sorting. Use a CSS variable for border colors for chat lines. Use fixed emote images for the emote menu. 2018-04-09 19:57:05 -04:00
SirStendec
ac78c0c9c4 Fix disappearing tooltips. (Closes #408) 2018-04-08 15:19:34 -04:00
SirStendec
6fd2e8a2ba Fix routing issues. (Closes #407) 2018-04-08 15:03:40 -04:00
SirStendec
8c5b6910ed Log errors in metadata so we can get more useful information for debugging. 2018-04-08 14:59:34 -04:00
SirStendec
f77371d8fb Tab-completion is in its own file now (which I accidentally added in a previous commit). Update fine's searchParent and searchTree to accept the name of a FineWrapper to use that class. 2018-04-07 19:10:45 -04:00
SirStendec
411b2d6390 Add emote menu options to control heading visibility, control search visibility, reduce padding, and change the default tab. Also set add a way to get FineWrappers for classes we define without having to search the tree. 2018-04-07 18:01:28 -04:00
SirStendec
e6e11fe562 Emote Menu? Emote Menu.
* Add the emote menu.
* Add an option to replace the emote menu icon with the FFZ icon.
* Add icons to the icon font.
* Add a basic human duration formatting method to i18n.
* Add methods to the emotes module to get sets including the providers.
* Add a method to the emotes module to load an arbitrary set.
* Add a map to the emotes module for identifying providers.
* Add new events for when emote sets change.
* Add support for loading featured channel emotes.
* Add an option to suppress source sets in emote tooltips.
* Add an option to display a sellout line in emote tooltips.
* Remove emote menu from the WIP section of the home page of the menu.
* Fix a typo in rich content.
* Remove a bit of logging from fine.
* Add helper methods for set comparison and basic debouncing to utilities/object.
* Add constants for the emote menu.
* Add methods to show/hide a tooltip to the tooltip data object.
2018-04-06 21:12:12 -04:00
SirStendec
92130ebac4 Fix memory leak with tooltips. 2018-04-06 03:41:48 -04:00
SirStendec
929d669e1d Use the webpack externals configuration directive to prevent bundling any additional copies of Vue. This is basically to make sure the main menu doesn't misbehave.
Modules using vue may need to add the vue module to their load_requires now, as demonstrated in main_menu. If importing .vue files individually, this likely isn't necessary.
2018-04-05 15:44:47 -04:00
SirStendec
9aafff3a14 Clean up player logic a bit. 2018-04-03 15:20:11 -04:00
SirStendec
7ecd45fcfb Clean up a bunch of linting stuff. Clean up event listeners in tooltips to stop potential memory leaks. 2018-04-02 03:30:22 -04:00
SirStendec
f506b512b4 Make JS X Again
* Configure the project to allow the use of JSX in .jsx files.
* Add linting for JSX.
* Rewrite most existing code that uses `createElement` to use JSX syntax.
* Stop importing `createElement as e`. That's what the minifier is for. And we don't have to write it manually so much now because of JSX syntax.
2018-04-01 18:24:08 -04:00
SirStendec
9ac7e8a209 Developer improvements. Start using babel as the parser for eslint to add support for webpack's dynamic import syntax. Move most babel config into the babel build file to make sure nothing weird happens with eslint. Commit package-lock. Clean up gitignore a bit. Fix linting issues with the webpack build files. 2018-03-15 16:59:10 -04:00
SirStendec
efbc9f808f Update icon font. Just assume any fiber we can find is mounted when we find it. 2018-03-14 15:39:10 -04:00
SirStendec
254d297f79 Use ref-counting with socket topic subscriptions to make it easy to tell when we should and shouldn't actually unsubscribe. Add route awareness to FineWrapper so that we can unregister the MutationObserver when we know we won't be suddenly finding an instance that we're looking for. Have the channel bar register for the channel pubsub topic. Fix minimize navigation showing the navigation bar over top of theater mode. 2018-03-14 13:58:04 -04:00
SirStendec
a0606a49a4 Add error handlers to some of the React chat components. Don't delay initialization completion while we wait up to 60 seconds for the emote menu extension. 2018-03-01 13:40:24 -05:00
SirStendec
fb1ea38f1b Make changes to how forceUpdate() is called to hopefully reduce errors with React being stupid and not understanding how the DOM works. Also don't display an empty message for a resub with no attached message. 2018-03-01 04:13:52 -05:00
SirStendec
eb967e115f More fixes for the React 16 update. 2018-02-22 18:38:13 -05:00
SirStendec
0ae6e5021d A ton of stuff. Initial migration to React 16. Initial changes for Rooms support. Add support for clip champ badge. Start using .gql source files that are compiled during import so we don't need to include GraphQL-tag in builds. 2018-02-22 18:23:44 -05:00
SirStendec
3ca7d1d955 Add setting to hide live indicator. Fix clicking box-art with channel avatars displayed over thumbnails. Fix width of Chat on Videos with custom chat width. Update hide vodcasts to hide reruns. Fix performance issues and text wrapping in the directory. 2018-02-08 18:28:06 -05:00
SirStendec
8e27f2e6a3 Change multi-badge tooltips to put two badges on each line for a nicer display. Fix replacing badges while also setting per-user badge overrides. 2018-02-02 18:51:38 -05:00
SirStendec
b79e910100 If we need to refetch a query in .ensureQuery or .getFromQuery because the results don't have the data we have requested, make a shallow copy of the query document to ensure a cache miss from Apollo's transformDocument method.
This ensures that Apollo uses our newly modified query document when performing the actual request.
2018-02-02 15:57:22 -05:00
SirStendec
5429f4d329 More fixes for the Apollo update. It still has issues with ensuring queries are re-fetched properly, but it is at least modifying queries and doing what it's supposed to. 2018-02-01 16:39:24 -05:00
SirStendec
9e1ba06eef Temporary change to at least let FFZ finish loading with the wrong Apollo version. 2018-01-29 22:59:10 -05:00
SirStendec
0f07ac5c5b Working on replacing the GraphQL dependency with a package we control. 2018-01-29 22:25:39 -05:00
SirStendec
be9de6de25 Fix tool-tip placement. Fix incorrect player width in theater mode with collapsed chat and a custom chat width set. Fix channel bar placement with minimize navigation. Fix player size when entering fullscreen with theater mode enabled. Fix minor bug in has method. 2017-12-21 20:37:58 -05:00
SirStendec
4c75eac19c Version bump. Fix Promise detection in non-Webkit browsers. Change how hollow button metadata is colored. 2017-12-14 16:21:30 -05:00
SirStendec
8e364e7d84 Misc. fixes to clean up after tw-. Fix tooltip placement. 2017-12-13 18:30:27 -05:00
SirStendec
e224800fb9 Add support for clickable stream metadata. Add helper utility for detecting clicks outside of elements. Add support for manually shown/hidden tooltips, which is used for custom pop-ups. 2017-12-04 18:58:19 -05:00
SirStendec
428caedec1 Clean up the settings for the directory features. 2017-12-01 16:54:36 -05:00
SirStendec
fcc3cab35f node.remove() exists, so why have I been doing node.parentElement.removeChild(node). I am literally the worst. 2017-12-01 15:36:18 -05:00
Lordmau5
6a7a19bf83 Directory Support & Apollo InlineFragment fix (#338)
* Directory Support

- Channel avatar next to / on-top the stream card
- Stream uptime on stream card
- Host grouping with a nice UI
- Ability to block / hide games and / or their thumbnails

Missing / Not working as of right now:
- Channel avatar / uptime not showing in Game or Community directories
Fix not being able to open host menu on the stream name


Fix chat lines where you've been mentioned.


"Following" button is now hoverable

Not configurable though.
Merge remote-tracking branch 'upstream/master'


Fix for Apollo's InlineFragments


Basic game directory index support

(Outsource timeToString to some utility class!!!)
Empty merge

Fix Github's "You're behind the master branch!" annoyance
More work on Directory stuff

Community pages are now supported
Several other small things

* Proper router usage

* Several fixes

Also removing `package-lock.json` because for whatever reason that was in?

* Early return if the container or card are null
2017-11-28 02:16:37 -05:00
SirStendec
cbbe6f3e20 Basic badge stuff. Rendering of extension badges is still disabled for now, but SOON(tm). Fix emotes in locally echoed messages when emoji are present. Cache tokens in chat lines. Include the intl-login element within the username link in chat so it all underlines together. 2017-11-28 02:03:59 -05:00
SirStendec
2e5fe7f177 Refactor chat line rendering to support lines with system messages, making it possible to customize the rendering of re-sub messages and eventually other types, like purchases. Fix the emote data structure being all screwed up in self-sent /me commands. 2017-11-23 02:49:23 -05:00
SirStendec
6c4966166a Add reference counting for emote sets so that we know when to unload them. Create a class for Users so that we can use ref counting with them. 2017-11-22 20:21:01 -05:00
SirStendec
b04cd8a61a Add getEmotes method to chat.emotes. Remove emoji mentions from chat.emotes because that'll have its own module as chat.emoji. Fix bug with Room objects changing their login if FFZ's server has outdated name info. Use getEmotes in emote tokenization. Move channel bar Apollo modifiers into the channel bar module. Rename CHAT_TYPES variable to use proper casing. Add touchmove handler to scroller for people with touchscreens. Fix spacing under the player in theatre mode with whispers disabled. Add navigate method to FineRouter. 2017-11-22 15:39:38 -05:00
SirStendec
b51306019a Add post-modifier stuff to Apollo. Add convenience methods to FineWrapper for dealing with things that are expected to only have one instance at any given time. 2017-11-22 03:33:34 -05:00
SirStendec
ef626364db Fix tooltips not working due to other React roots existing. 2017-11-17 14:55:53 -05:00
SirStendec
d2b4dcbce4 Attempt at fixing caching issues with Apollo for the stream up-time display, as well as adding a re-usable function for grabbing data from Apollo. 2017-11-17 03:12:08 -05:00