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
SirStendec
7708caebb5
Clean up some code with eslint. Add eslintrc. Fix the FFZ:AP fix for jQuery only existing on some pages. Start renaming functions toCamelCase. Add old style RGB Loop color processing. Clean up Chat Freeze a bit.
2017-11-16 15:54:58 -05:00
SirStendec
c86895797c
Add a limited legacy API to support at least basic channel and global emotes from FFZ:AP.
2017-11-16 00:25:51 -05:00
SirStendec
3607159929
Start using SourcedSet for emoticon sets so that, in the future, special events, featured channels, etc. can add and remove emote sets without worrying about reference counting or anything like that. Also implement the method to get your Twitch Inventory emote sets.
2017-11-15 21:59:13 -05:00
SirStendec
1357a3e143
Simplify how the Chat Freeze feature is implemented to hopefully fix any FFZ-related bugs there. Also fix an issue with FFZ failing to load when there are extra React roots in the page.
2017-11-15 14:05:58 -05:00
SirStendec
a081247fdc
Improve support for interactive tooltips. Allow chat tokenizers to supply custom delays and interactive flags for their tooltips. Wrap text in <span> elements. Fix bug with stream uptime metadata. Fix bug with fine-router. Add method to EventEmitter that wraps emit in a try/catch. Add lilz to the socket server lineup.
2017-11-14 04:11:43 -05:00
SirStendec
2c1cd94013
Disable modifications to the game directory query for now until I can find out how to make it work properly and not break things. Apollo needs a safer query merge system.
2017-11-13 16:28:42 -05:00
SirStendec
2c39cd9051
Expose more things on window.FrankerFaceZ.utilities
. Fix a bug with JavaScript driven layout elements when the FFZ menu is fullscreened by not hiding those elements, only making them invisible and putting FFZ content on top.
2017-11-13 16:28:17 -05:00