Commit Graph

1232 Commits

Author SHA1 Message Date
Jiiks b6c58f16e7 DiscordApi in data and remove contextmenu thing 2018-08-14 04:19:03 +03:00
Jiiks b47a3c65aa node-crypto 2018-08-14 04:04:57 +03:00
Zack Rauen 3714e71297 add findInTree 2018-08-13 16:38:13 -04:00
Mega-Mewthree 9f4b0aec6b
Forgot to save stuff. (#8) 2018-08-13 13:23:14 -07:00
Mega-Mewthree 64608c7e62 Switched context menu stuff to popover, fixed things. 2018-08-13 13:17:29 -07:00
Mega-Mewthree 81c451d31f
Merge branch 'security' into security 2018-08-13 10:35:16 -07:00
Jiiks 45ab822fba add collection.scss that got lost somewhere somehow 2018-08-13 14:45:38 +03:00
Alexei Stukov c893216874
Merge branch 'master' into security 2018-08-13 14:38:25 +03:00
Alexei Stukov 17917f3257
Merge branch 'security' into security-encrypted-images 2018-08-13 14:27:29 +03:00
Jiiks 19be33b17d Don't use encrypted key for hmac 2018-08-13 12:56:41 +03:00
Jiiks cfcca0d782 Remove debug 2018-08-13 12:35:19 +03:00
Jiiks 5592a8d376 Use security module 2018-08-13 12:33:44 +03:00
Jiiks 0c0ebb2ebb Pseudo needs content 2018-08-13 10:57:32 +03:00
Jiiks d6d78d1e99 Move master init to enabled 2018-08-13 10:45:52 +03:00
Jiiks b6da7019d0 Unused import 2018-08-12 22:12:26 +03:00
Jiiks a123e20b05 Move to Security 2018-08-12 22:11:41 +03:00
Jiiks 856334cf30 TODO 2018-08-12 22:09:34 +03:00
Jiiks 3f5b2afbd5 decrypting should be set to false as well 2018-08-12 22:05:44 +03:00
Jiiks ad35c89d7d Force update on failed auth instead 2018-08-12 21:59:54 +03:00
Jiiks 71a0ce8fb0 Set readyState on failed authentication 2018-08-12 21:58:26 +03:00
Jiiks d53a3b4d64 base classname 2018-08-12 21:56:57 +03:00
Jiiks bd0c66466f Use randomBytes for master encryption 2018-08-12 21:54:57 +03:00
Jiiks 0a751919aa Remove debug 2018-08-12 21:48:15 +03:00
Jiiks cae68947df add bad key handler 2018-08-12 21:46:59 +03:00
Jiiks 2b833b5141 add hmac 2018-08-12 21:43:59 +03:00
Jiiks b24c0ba2f3 Strip base64 prefix to not have static data in encrypted content 2018-08-12 20:57:02 +03:00
Jiiks 3b8126781d Default to channel id 2018-08-12 20:31:30 +03:00
Jiiks a1a63f2c35 Proper doc 2018-08-12 18:37:11 +03:00
Jiiks 334c9f852a Use cache module 2018-08-12 18:10:22 +03:00
Jiiks 17128a889b add cache module 2018-08-12 17:40:26 +03:00
Jiiks d2b99f200b add image plus material icon 2018-08-12 15:58:00 +03:00
Jiiks 5f4a77f2d8 Remove my leak tests 2018-08-12 15:48:26 +03:00
Jiiks 3614997fa9 No need to use this when it's already in the scope 2018-08-12 15:47:20 +03:00
Jiiks 5f76d304f6 Use predefined colours 2018-08-12 15:46:17 +03:00
Jiiks e8688c0ce4 User some colour variables 2018-08-12 15:41:25 +03:00
Jiiks 641a12d640 Move lock icon to images 2018-08-12 15:40:00 +03:00
Jiiks 169741d5a1 Image encryption, decryption, styling and other stuff 2018-08-12 15:39:00 +03:00
Mega-Mewthree c421be9e91 Fix merge 2018-08-11 18:28:18 -07:00
Mega-Mewthree 7a1768ca87 Merge branch 'e2ee-dev' of https://github.com/Mega-Mewthree/BetterDiscordApp into e2ee-dev 2018-08-11 18:26:37 -07:00
Mega-Mewthree b9e9ab89f7 Rename variables to better describe what they represent. 2018-08-11 18:24:55 -07:00
Mega-Mewthree dc842b479b
Merge branch 'security' into e2ee-dev 2018-08-11 17:24:22 -07:00
Mega-Mewthree 02e6fb88aa Prevent the context menu from appearing in Group DMs. 2018-08-11 16:37:58 -07:00
Mega-Mewthree c10310af3a Error toast on computeSecret error. 2018-08-11 16:28:34 -07:00
Mega-Mewthree 7e41fe73e7 Secure key exchange for DMs. 2018-08-11 16:21:08 -07:00
Mega-Mewthree c122457565 Style the lock context menu. 2018-08-11 10:11:56 -07:00
Mega-Mewthree 0ea0acfaa5
Merge pull request #3 from JsSucks/security-patch
fix all mentions
2018-08-11 07:55:19 -07:00
Jiiks 866ad8b13b Tons of stuff 2018-08-11 15:29:30 +03:00
Mega-Mewthree c5d4e199fc Very poorly implemented key exchange UI.
PLEASE HELP ME
2018-08-11 00:34:18 -07:00
Mega-Mewthree 1a8946b151 Merge branch 'e2ee-dev' of https://github.com/Mega-Mewthree/BetterDiscordApp into e2ee-dev 2018-08-10 23:06:28 -07:00
Zack Rauen 9c0e19e198 fix all mentions 2018-08-11 01:15:49 -04:00
Alexei Stukov 816f809ca7
Merge pull request #217 from samuelthomas2774/security
Add clicking the status icon to toggle encryption and add an indicator to encrypted messages
2018-08-11 06:00:56 +03:00
Samuel Elliott 32a995f678
Add an encrypted indicator to encrypted messages 2018-08-11 02:58:55 +01:00
Samuel Elliott dac3187866
Add clicking the status icon to toggle encryption 2018-08-11 02:43:02 +01:00
Jiiks 60cdec3ae4 and move everything around just to annoy Zere 2018-08-11 04:33:00 +03:00
Jiiks ed4adf21f4 Maybe encrypt instead 2018-08-11 04:31:57 +03:00
Jiiks a8f0e239cf Who wants to call them directly anyways 2018-08-11 04:31:13 +03:00
Jiiks be1a183e62 Empty prefixes 2018-08-11 04:28:07 +03:00
Jiiks d88cedb614 Security module 2018-08-11 04:27:18 +03:00
Jiiks 9880152290 Message parsing 2018-08-11 03:39:13 +03:00
Jiiks 0a1bd46ca9 Don't prefix everything by default 2018-08-10 21:17:52 +03:00
Jiiks 83ef17d302 Fix button patching 2018-08-10 20:38:02 +03:00
Mega-Mewthree cb6473920f
Update webpack.production.config.js 2018-08-10 10:30:42 -07:00
Mega-Mewthree d8c769433a
Update webpack.config.js 2018-08-10 10:30:16 -07:00
Mega-Mewthree fd7a0f4051
Functions to create an ECDH key exchange
Allows 2 users to securely obtain a shared key for usage with AES.
2018-08-10 09:56:55 -07:00
Samuel Elliott 344a9e6fe5
Fix escape key to close menu 2018-08-10 15:21:33 +01:00
Samuel Elliott 22e78c03e1
Add toasts enabled state to the plugin API 2018-08-10 15:17:57 +01:00
Jiiks b67ca5c42d Set master 2018-08-10 17:04:09 +03:00
Jiiks bdec8b842e Set master key 2018-08-10 17:02:41 +03:00
Jiiks 3bc7c28a97 initial master encrypt 2018-08-10 17:01:07 +03:00
Samuel Elliott a4992e905c
Fix class normaliser also normalising classes of elements outside the passed element 2018-08-10 14:29:31 +01:00
Samuel Elliott c8381eb808
Add disabled, min and max options for collections 2018-08-10 14:23:21 +01:00
Samuel Elliott 0aabc72652
Indentation 2018-08-10 14:22:37 +01:00
Jiiks 3d4204f080 Functional E2EE submitting 2018-08-10 16:22:30 +03:00
Samuel Elliott dc3fed3408
Hide collection setting dividers 2018-08-10 14:11:25 +01:00
Samuel Elliott a12a3c74f4
Hide the button properly 2018-08-10 13:57:27 +01:00
Jiiks 3c83dbe0ff add slight loading animation 2018-08-10 15:44:33 +03:00
Samuel Elliott 4970214324
Add an option to disable toasts 2018-08-10 13:37:47 +01:00
Jiiks a5ae5ad8e9 Warn style 2018-08-10 15:37:14 +03:00
Jiiks 54808f32ea Default to error state 2018-08-10 15:33:48 +03:00
Jiiks 4e4c532813 More styling 2018-08-10 15:33:34 +03:00
Jiiks aac4dba641 Styling 2018-08-10 15:32:04 +03:00
Jiiks 17f1b60a9b E2EE component and material lock icon 2018-08-10 15:30:24 +03:00
Jiiks 2a10191926 E2EE patches 2018-08-10 15:08:21 +03:00
Jiiks c4dfc7b11d Remove debugs 2018-08-10 12:50:37 +03:00
Jiiks 0c04c04590 Secure kvp 2018-08-10 12:48:56 +03:00
Alexei Stukov 11b2b16233
Merge pull request #212 from samuelthomas2774/hide-button
Make the hide button setting functional
2018-08-10 02:35:07 +03:00
Alexei Stukov 4c6805510d
Merge pull request #211 from samuelthomas2774/vue-transition
Use Vue’s transition element to transition between menu panels
2018-08-10 02:34:25 +03:00
Samuel Elliott cb01d32e19
Fix position on macOS 2018-08-10 00:00:01 +01:00
Samuel Elliott 89a5bfba20
Make the hide button setting functional 2018-08-09 23:49:10 +01:00
Samuel Elliott 387227cc1f
Use Vue’s transition element to transition between menu panels 2018-08-09 22:50:14 +01:00
Zack Rauen fdb3b308e1 add bd file check for upload drop area 2018-08-09 16:33:31 -04:00
Alexei Stukov b33aff51c1
Merge pull request #207 from JsSucks/normalizer
fix class search in normalizer
2018-08-09 23:29:28 +03:00
Jiiks 2b4a804934 Use material icon 2018-08-09 23:21:57 +03:00
Jiiks fcfba41805 Styling and remove default from E2EE 2018-08-09 23:13:38 +03:00
Jiiks d14a06528c else 2018-08-09 23:07:53 +03:00
Alexei Stukov c336c8cb0d
Merge pull request #208 from samuelthomas2774/collection-settings
Extend ArraySetting for collections
2018-08-09 20:33:38 +03:00
Samuel Elliott 755d870a10
Merge remote-tracking branch 'upstream/settings' into collection-settings
# Conflicts:
#	client/src/structs/settings/types/collection.js
#	client/src/ui/components/bd/setting/Collection.vue
2018-08-09 18:27:06 +01:00
Jiiks 4ed301f531 Styling 2018-08-09 20:26:37 +03:00
Jiiks 263fcbe001 Collection fix 2018-08-09 20:22:48 +03:00
Samuel Elliott 883f760292
Extend ArraySetting for collections 2018-08-09 18:22:15 +01:00
Zack Rauen 5af8a2168d fix class search 2018-08-09 11:31:11 -04:00
Jiiks 50badaef2b add collection and make kvp functional 2018-08-09 17:20:06 +03:00
Jiiks e21583eafd add a manager for builtin modules 2018-08-09 13:21:17 +03:00
Jiiks 983763c48d Check for module existence 2018-08-09 13:09:35 +03:00
Jiiks 75ceee5449 Typo 2018-08-09 13:06:20 +03:00
Jiiks 572c57d3a7 add tracking protection 2018-08-09 13:04:19 +03:00
Jiiks 4f98eaf85b Rename to Security and Privacy 2018-08-09 11:40:48 +03:00
Jiiks 44a1c87484 Don't think we need test settings anymore 2018-08-09 11:37:13 +03:00
Jiiks b18dd7c01a KVP Component 2018-08-09 11:30:48 +03:00
Jiiks 356e8f0934 E2EE module base 2018-08-09 10:56:44 +03:00
Alexei Stukov 1288e0361a
Merge pull request #205 from JsSucks/patcher
Update Patcher
2018-08-09 09:07:39 +03:00
Zack Rauen 5a603a084f normalize DOM on load 2018-08-09 01:18:49 -04:00
Zack Rauen f144934cd7 use const instead of let 2018-08-09 01:01:32 -04:00
Zack Rauen 9473e419b4 add documentation to patcher 2018-08-09 00:54:35 -04:00
Zack Rauen a081a8fdf9 make patcher more robust + fix collisions 2018-08-09 00:22:10 -04:00
Zack Rauen e660ce6a31 remove redundant array check, fix strings 2018-08-08 23:39:57 -04:00
Zack Rauen 5c7b10299b update normalizer 2018-08-08 23:29:54 -04:00
Jiiks 26f386ad31 Setting hints for devtools 2018-08-07 16:07:06 +03:00
Jiiks b861280548 Use path.join 2018-08-07 16:02:10 +03:00
Jiiks 9d22293927 Remove listener don't add another one 2018-08-07 13:37:23 +03:00
Jiiks c3d8f4090e try catch missing extension 2018-08-07 13:07:38 +03:00
Jiiks 3f00dba937 Devtool modules 2018-08-07 12:48:50 +03:00
Alexei Stukov 9f00aed4fa
Merge pull request #202 from JsSucks/bdapi
Online theme browser
2018-08-07 07:21:24 +03:00
Jiiks 685d0f4bac Dummy search 2018-08-07 07:17:44 +03:00
Alexei Stukov a805c8f75a
Merge pull request #201 from samuelthomas2774/channel-components
Channel components
2018-08-07 06:16:35 +03:00
Alexei Stukov ce23a39f83
Merge pull request #200 from samuelthomas2774/scheme-icons
Settings scheme icons
2018-08-07 06:15:21 +03:00
Samuel Elliott c0a971a27b
Fix element is not defined 2018-08-07 00:08:13 +01:00
Jiiks 7f567f6e9d Correct padding 2018-08-06 21:45:41 +03:00
Jiiks 865fcee12d Remote card styling 2018-08-06 21:42:09 +03:00
Jiiks 6b3fc39a1d Use dummy themes for now 2018-08-06 21:37:15 +03:00
Jiiks 7b1f36cb9c account-cicle material icon 2018-08-06 21:22:11 +03:00
Jiiks f6f308baa2 Remotecard component for online content 2018-08-06 20:52:10 +03:00
Jiiks e170ed608e online themes loading 2018-08-06 18:14:25 +03:00
Jiiks a432d78953 Structure 2018-08-06 17:05:36 +03:00
Jiiks 778eb0474f Remove not so nice looking border 2018-08-06 16:04:50 +03:00
Jiiks 8c1f196675 New logos 2018-08-06 16:04:49 +03:00
Jiiks e25ac66abf Use bd green, override bdblue with it for now 2018-08-06 16:04:49 +03:00
Jiiks 8331b30d73 Remove not so nice looking border 2018-08-06 15:25:53 +03:00
Jiiks 7083577db2 New logos 2018-08-06 15:23:29 +03:00
Jiiks 1b91c97c24 Use bd green, override bdblue with it for now 2018-08-06 15:17:57 +03:00
Jiiks 7c02a51a46 Base connectivity stuff 2018-08-06 13:31:49 +03:00
Samuel Elliott 0e34fdaa8d
Fix scheme matching 2018-08-06 10:28:35 +01:00
Samuel Elliott e2f05d9a64
Patch all channel components 2018-08-06 04:48:10 +01:00
Samuel Elliott 13437c56d4
Search all matching elements instead of just the first and don’t fail if a filter function is passed 2018-08-06 04:30:48 +01:00
Samuel Elliott 4b4b3c341f
Update content/scheme icons properly 2018-08-06 02:55:08 +01:00
Samuel Elliott d4c883a5d7
Add using a file as a scheme icon 2018-08-06 02:45:59 +01:00
Samuel Elliott 342b4cddc4
Fix unread mentions indicator position 2018-08-04 00:54:44 +01:00
Samuel Elliott 6ea85341b9
Fix keybind settings not activating 2018-08-03 12:57:30 +01:00
Samuel Elliott 9af8a71e17
Add using a file as a plugin/theme’s icon 2018-08-02 20:24:56 +01:00
Samuel Elliott a5ff8bbdb6
Fix removing keybind-activated listeners 2018-08-01 21:17:36 +01:00
Samuel Elliott 16bb32b86c
Remove IterableWeakCollections and deactivate keybind settings when possible 2018-08-01 21:08:45 +01:00
Samuel Elliott 8826a7b984
Use an observer to detect new React components 2018-08-01 20:48:09 +01:00
Samuel Elliott 5b419cb8ab
Use ReactComponent.forceUpdateAll to rerender components after patching them 2018-08-01 20:41:53 +01:00
Samuel Elliott db21f4eb13
Fix Guild component selection 2018-08-01 20:40:03 +01:00
Samuel Elliott 3a7ac06ce3
Fix errors when rendering system messages 2018-08-01 20:28:35 +01:00
Samuel Elliott 0c8279311e
Fix Message component selection and add bd-isGuildOwner and bd-isGuildMember classes 2018-08-01 20:18:47 +01:00
Samuel Elliott 331b2b396a
Fix emotes 2018-08-01 19:58:52 +01:00
Samuel Elliott a20473d718
Add a function to force update all instances of a component 2018-08-01 19:31:48 +01:00
Samuel Elliott 1a12430322
Add getting all state nodes to Reflection 2018-08-01 15:50:10 +01:00
Samuel Elliott 7a416c0ff7
Fix MessageGroup component selection 2018-08-01 13:53:59 +01:00
Samuel Elliott 81e392c0f6
Fix request module not found 2018-07-21 23:10:33 +01:00
Samuel Elliott 1d887967d9
Add an option to add additional classes to toasts 2018-07-20 12:04:16 +01:00
Samuel Elliott a95b97b3c0
Requested changes from JsSucks/BetterDiscordApp#194 2018-07-19 22:21:20 +01:00
Samuel Elliott 007637a557
Merge remote-tracking branch 'upstream/toasts' into toasts
# Conflicts:
#	client/src/modules/pluginapi.js
#	client/src/ui/bdui.js
#	client/src/ui/dom.js
#	client/src/ui/ui.js
#	package-lock.json
#	package.json
2018-07-19 22:03:29 +01:00
Samuel Elliott 6ded1c62e5
Prevent modals from being added to the stack more than once 2018-07-19 00:14:03 +01:00
Samuel Elliott 27f1eec967
Use a counter instead of the current time for modal IDs to avoid duplicates when multiple modals are opened at the same time 2018-07-18 22:17:50 +01:00
Samuel Elliott 6b97505f66
Remove unused imports 2018-07-18 20:57:05 +01:00
Samuel Elliott df471161a7
Fix leaks in keybind settings 2018-07-18 20:55:57 +01:00
Samuel Elliott 78079588ea Fix Message component selection 2018-07-18 19:18:06 +01:00
Samuel Elliott b4ebd6c08a Always activate keybind settings 2018-07-18 19:18:06 +01:00
Samuel Elliott e6f2f518e6 Properly unbind events for emote autocomplete and dropdowns 2018-07-18 19:18:06 +01:00
Samuel Elliott aff89371e6
Fix all modals closing on escape key press 2018-07-08 13:52:29 +01:00
Samuel Elliott 98a7a71b87
Fix updater incorrectly showing an update is available 2018-07-07 22:05:36 +01:00
Samuel Elliott 98a0717bba
Use webpack named modules and eval source map plugins in development and disable Babel’s debug info 2018-07-07 20:00:15 +01:00
Samuel Elliott 7c8c8a754f
Use request instead of axios 2018-07-07 19:43:17 +01:00
Samuel Elliott f2c31d866d
Add axios export 2018-07-07 14:29:44 +01:00
Samuel Elliott cd77d659a5
Use axios and http/https to check for updates 2018-07-07 14:23:43 +01:00
Samuel Elliott b6f38a73dc
Add function to get classes and fix emote autocomplete injection 2018-07-07 01:17:26 +01:00
Samuel Elliott c384920275
Add WebpackModules wait functions to the plugin API 2018-07-07 01:10:39 +01:00
Samuel Elliott 8c0b73625d
Add a settings proxy so settings values can be updated/retrieved like a plain object 2018-07-05 01:39:30 +01:00
Samuel Elliott 55cd75b5f4
Add settings section to edit window options 2018-07-05 01:26:04 +01:00
Samuel Elliott eae1bdf3a6
Fix Utils is not defined 2018-06-26 23:41:39 +01:00
Samuel Elliott ebe195f078
Delete old logs on startup 2018-06-26 23:25:43 +01:00
Samuel Elliott e2b68788bd
Add functions to wait for modules to be loaded 2018-06-24 19:56:05 +01:00
Samuel Elliott c8ca4fcfce
Fix friend source flags 2018-06-24 19:50:21 +01:00
Samuel Elliott 2c38433a2b
Add extra classes to messages, channel members and channels 2018-06-24 19:48:45 +01:00
Samuel Elliott ee0b13dab2
Emit events for when webpack modules are loaded 2018-06-23 23:15:45 +01:00
Samuel Elliott 4d2347cf84
Make sure file settings are updated properly when removing items 2018-06-23 22:59:13 +01:00
Samuel Elliott 7cf40a9ee4
Add SettingsWrapper to CommonComponents 2018-06-22 23:57:07 +01:00
Samuel Elliott 70f678119a
Add support for ES6 modules in plugins 2018-06-22 23:55:53 +01:00
Samuel Elliott 0a2b967e36
Fix removing items from file settings 2018-06-22 23:16:42 +01:00
Samuel Elliott a2367299b7
Don’t load emotes unless they’re enabled 2018-06-12 20:56:40 +01:00
Samuel Elliott bbcc36647d
Add class normaliser
Normalises and prefixes all classes with `da-`
2018-06-12 20:56:07 +01:00
Samuel Elliott 906140686f
Fix Utils is not defined 2018-06-10 22:51:52 +01:00
Samuel Elliott cecaf314f9
Fix channel.setNsfw 2018-06-10 22:41:14 +01:00
Samuel Elliott 4a3bb89259
Restore common in main and add note about __non_webpack_require__ 2018-06-10 22:40:46 +01:00
Samuel Elliott d7db836e30
Update DOMObserver
- Changed observer.subscribe function signature - `observer.subscribe(id, filter, callback, type)` is now `id = observer.subscribe(callback, filter, bind, type === 'filter’)`
- Add a function to subscribe to mutations affecting elements matching a query selector
- Some internal changes
2018-06-10 22:35:44 +01:00
Samuel Elliott 1eca4bcec7
Add ReactHelpers and ReactAutoPatcher to global._bd 2018-06-10 22:21:09 +01:00
Samuel Elliott c02052a982
Remove emote.name 2018-06-10 22:20:17 +01:00
Samuel Elliott be841f0426
Add the Manip class as an export of ui/dom.js 2018-06-10 22:17:37 +01:00
Samuel Elliott 35cedbdbb3
Use a single badge component 2018-06-10 21:28:23 +01:00
Samuel Elliott 17597e2c30
Add Vue wrapper for React 2018-06-10 21:22:01 +01:00
Samuel Elliott 204dd76e7b
Use the correct name for the user popout component 2018-05-29 21:59:54 +01:00
Samuel Elliott 3e41a11197
Allow forcefully unloading plugins without reloading Discord 2018-05-29 21:48:58 +01:00
Samuel Elliott 68d4617e46
Use the same format as React.createElement for VueInjector.createReactElement
Allows props to flow down to Vue components cleanly
2018-05-29 21:47:44 +01:00
Samuel Elliott 4654025423
Properly destroy Vue components after they’re unmounted by React 2018-05-29 18:46:08 +01:00
Samuel Elliott 231afa8ed6
Add the option to mount Vue components at the top of the React component 2018-05-29 18:35:40 +01:00
Samuel Elliott c3ff71ff85
Hide the ; before emotes in autocomplete and add the case insensitive flag 2018-05-29 17:00:05 +01:00
Samuel Elliott 0e99b219c1
Move emote autocomplete injector to the emote module 2018-05-29 16:58:57 +01:00
Samuel Elliott 13508b449d
Add some libraries to Vendor 2018-05-29 16:49:37 +01:00
Samuel Elliott e57e1f51ea
Fix getModuleByDisplayName 2018-05-29 15:40:14 +01:00
Samuel Elliott c345ab1419
Indentation 2018-05-29 15:39:32 +01:00
Samuel Elliott bee869340d
Disable errors for __[non_]webpack_require__ 2018-05-28 04:17:38 +01:00
Samuel Elliott bba1165c77
Wrap Discord’s preload script instead of enabling Node integration 2018-05-28 01:43:25 +01:00
Samuel Elliott a5c7aaab3b
Allow patching arrays 2018-05-21 20:49:21 +01:00
Samuel Elliott cfaf581ae1
Don’t use Moment.js
Plugins can still use Discord’s Moment.js with WebpackModules
2018-05-21 16:41:41 +01:00
Samuel Elliott 665c1d5fe4
Use local Moment.js instead of Discord’s
Fixes a recursive dependency issue
2018-05-20 00:46:15 +01:00
Samuel Elliott 8d8c1a8080
Add getting webpack modules as properties of the WebpackModules object
`WebpackModules.React` instead of `WebpackModules.getModuleByName('React')`
2018-05-20 00:36:14 +01:00
Samuel Elliott 8827bdb8b0
Fix messages with emotes not being updated when emotes are disabled 2018-05-20 00:27:02 +01:00
Samuel Elliott cd81f925cb
Fix for webpack 4 2018-05-20 00:24:21 +01:00
Samuel Elliott d7f4c651b6
Fix errors 2018-05-15 20:07:34 +01:00
Samuel Elliott f2159f1031
Fix error when unmounting a component 2018-05-15 16:54:22 +01:00
Samuel Elliott 581c94f6b3
Add React wrapper for Vue 2018-05-14 17:56:23 +01:00
Samuel Elliott 9eb8eaa906
Add DOM, DOMObserver and VueInjector to the plugin API 2018-05-14 16:34:40 +01:00
Samuel Elliott 9915ef8b19 Fix for Linux 2018-05-13 16:16:51 +01:00
Zack Rauen 2d784b48f4 add toasts 2018-05-12 23:17:04 -04:00
Samuel Elliott cee2a6ec34
Fix badges not being rendered when jumping to a message without a flash 2018-05-05 11:51:08 +01:00
Samuel Elliott 64e855ab2d
Fix badges not being rendered when jumping to a message 2018-05-05 11:39:56 +01:00
Samuel Elliott 5aa921ae4b
Fix EventsWrapper not unsubscribing from events
Also changed it to use removeListener so it can be used with normal EventEmitters
2018-05-05 11:17:26 +01:00
Samuel Elliott 40a72458e2
Fix Channel component 2018-05-03 19:52:23 +01:00
Samuel Elliott dc2be5c410
Add ReactHelpers to the plugin API 2018-05-03 15:56:07 +01:00
Samuel Elliott 640ec66abc
Some comments and fix updateSystemChannel 2018-04-30 21:12:50 +01:00
Samuel Elliott 3aedcfdd06
Add updating a guild’s icon/splash image from a file 2018-04-30 20:46:55 +01:00
Samuel Elliott 71fe549ee6
Add some permission checks 2018-04-30 20:19:54 +01:00
Samuel Elliott cbe1de98a5
Add updating guilds 2018-04-30 20:18:25 +01:00
Samuel Elliott 5a58c1c6ce
Add updating channel attributes 2018-04-30 19:17:04 +01:00
Samuel Elliott 591d44dee4
Add creating channels 2018-04-30 19:16:06 +01:00
Samuel Elliott 6da58ef6bb
Move Channel.openSettings to GuildChannel.openSettings, rename defaultChannel to isDefaultChannel and add GroupChannel names 2018-04-30 19:14:34 +01:00
Samuel Elliott 85d5de9791
Fix ChannelMember returning wrong component 2018-04-30 19:12:21 +01:00
Samuel Elliott 5ce78f4b32
Update layer classes 2018-04-29 17:56:23 +01:00
Samuel Elliott 2499f8c0ab
Get class names from internal modules 2018-04-29 17:41:12 +01:00
Samuel Elliott 3f2eb1047e
Use top/left to position tooltips/popovers and remove BdMenuItems from global 2018-04-29 17:35:30 +01:00
Samuel Elliott ac79bbb99b
Update classes 2018-04-29 16:30:21 +01:00
Samuel Elliott 1c4fb0b5ea
Rename HTMLUtils to SimpleMarkdown 2018-04-29 02:19:08 +01:00
Samuel Elliott 2e2d0dd6f6
Make some Vue components available to plugins, add highlight.js module and some tidying 2018-04-29 01:57:09 +01:00
Samuel Elliott a6c91d5e27
Add updating a user’s roles 2018-04-28 00:15:17 +01:00
Samuel Elliott 949206738b
Add user notes 2018-04-27 23:51:37 +01:00
Samuel Elliott 4dc715a39a
Patch all components at once instead of waiting for the previous component to be found 2018-04-27 19:05:00 +01:00
Samuel Elliott 36d7554b46
Add user popout data attributes 2018-04-27 19:02:35 +01:00
Samuel Elliott d42e8f66ca
Fix badges not being rendered on update 2018-04-27 17:39:28 +01:00
Samuel Elliott 244b7e5bd1
Move filters to common 2018-04-27 17:33:05 +01:00
Samuel Elliott ca7a7c1f91
Fix injected profile badges being removed 2018-04-27 16:12:46 +01:00
Samuel Elliott 504221ce28
Fix getComponentByRegex and add Filters to the plugin API 2018-04-27 16:06:51 +01:00
Samuel Elliott 1e643b8164
Patch the UserProfileModal component instead of injecting badges when the modal is opened 2018-04-27 16:00:27 +01:00
Samuel Elliott 0944c0708f
Add user profile modal data attributes 2018-04-27 15:53:49 +01:00
Samuel Elliott 17575fc6a1
Add filtering all components to ReactComponents 2018-04-27 15:52:43 +01:00
Samuel Elliott 1354b884b4
Add getting all components to reflection 2018-04-27 15:51:59 +01:00
Samuel Elliott 1ace26b67f
Select the channel when sending messages 2018-04-26 19:52:56 +01:00
Samuel Elliott d1cce95abe
Fix colour picker/dropdown options being hidden when in a drawer 2018-04-26 01:08:14 +01:00
Samuel Elliott 22fbb7b5bd
Fixed favourite emotes array being undefined
https://cdn.discordapp.com/attachments/400734824740028419/438847211325882370/unknown.png
2018-04-26 00:47:42 +01:00
Samuel Elliott 34ebab7c21
Use APIModule directly to edit messages 2018-04-25 23:57:07 +01:00
Samuel Elliott 5e8579e4dc
Use APIModule directly to delete messages 2018-04-25 23:56:10 +01:00
Samuel Elliott 4721f66dab
Comments 2018-04-25 23:54:26 +01:00
Samuel Elliott 02b313f2e6
Add checks for whether the user can delete a message 2018-04-25 23:02:47 +01:00
Samuel Elliott b0ae424adb
Change all properties to camel case 2018-04-25 22:54:41 +01:00
Samuel Elliott 5a6fb990c7
Add sending local bot messages 2018-04-25 13:54:33 +01:00
Samuel Elliott c294df6b26
Fix nickname checks and add changing nicknames programmatically 2018-04-25 13:40:18 +01:00
Samuel Elliott c3e4563aeb
Add multi option radios 2018-04-25 13:21:18 +01:00
Samuel Elliott 525fd3145d Merge branch 'master' into discord-api 2018-04-17 20:17:04 +01:00
Samuel Elliott 32452d918a
Fix guild member methods and set the guild/channel settings window section before opening it 2018-04-15 02:27:01 +01:00
Samuel Elliott e524c50b65
Add opening the user’s profile modal 2018-04-15 02:26:21 +01:00
Samuel Elliott 96952c3fef
Fix guild.owner 2018-04-15 00:54:33 +01:00
Samuel Elliott ad710de008
Fixes and add file header to list 2018-04-14 21:49:16 +01:00
Samuel Elliott 21ff9d200c
Some comments 2018-04-14 19:42:58 +01:00
Samuel Elliott a1c6f5d5fd
Separate messages into their types 2018-04-14 19:13:26 +01:00
Samuel Elliott 6d64d17b7d
Add embeds 2018-04-14 18:43:18 +01:00
Samuel Elliott 695d088f60
Add reactions 2018-04-14 18:08:57 +01:00
Samuel Elliott bcb888100c
Fix development CSS editor build being copied instead of the release build 2018-04-14 17:51:02 +01:00
Samuel Elliott 146e108874
Add file headers 2018-04-14 17:37:41 +01:00
Samuel Elliott 4837a01812
Add guild emojis 2018-04-14 17:24:07 +01:00
Samuel Elliott 48f4837a24
Wrap User instead of extending it 2018-04-14 17:20:17 +01:00
Samuel Elliott 8b320d2f09
More modals 2018-04-14 17:03:39 +01:00
Samuel Elliott ac22b14358
Add opening channel/guild settings window 2018-04-14 17:02:06 +01:00
Samuel Elliott 4d5a403d6d
Add user settings 2018-04-14 17:00:33 +01:00
Samuel Elliott 9dc424cc75
Allow after patches to change the return value 2018-04-14 15:17:02 +01:00
Samuel Elliott 1b75753a3d
Add user status/activity 2018-04-14 15:15:13 +01:00
Samuel Elliott a7b300d233
Check if the member exists before creating a GuildMember 2018-04-14 15:14:31 +01:00
Samuel Elliott 68e42b8b36
Add channel permission overwrites 2018-04-14 14:06:32 +01:00
Samuel Elliott e061d95ae6
Add roles 2018-04-14 14:06:09 +01:00
Samuel Elliott 33c0732c08
Store objects in a WeakMap
So comparisons like `DiscordApi.currentUser === DiscordApi.currentUser` can be true
2018-04-14 00:31:09 +01:00
Samuel Elliott f1e0350433
Move data types to separate files and further separate channels based of their type 2018-04-14 00:29:03 +01:00
Samuel Elliott d5f486d1ad
Add shortcut to plugin/theme/extmodule manager content 2018-04-13 19:50:31 +01:00
Samuel Elliott 7fb8337095
Fix for plain CSS themes 2018-04-09 21:12:53 +01:00
Samuel Elliott 7adf63dfa8
Prevent escape closing Discord and BetterDiscord menus/modals at the same time 2018-04-08 19:54:48 +01:00
Samuel Elliott d2f7e6142f
Fix dropdowns not showing the selected option 2018-04-08 17:00:26 +01:00
Samuel Elliott b62727b046
Fix channel members not always being rerendered to show badges 2018-04-08 01:37:15 +01:00
Samuel Elliott f0a337e0ed
Fix custom CSS file not being used if the custom editor CSS is empty 2018-04-08 00:07:23 +01:00
Samuel Elliott 4d0631ba38
Add wait util 2018-04-04 21:53:02 +01:00
Samuel Elliott d4962bb2ab
Fix settings being partially saved while loading 2018-04-04 21:39:55 +01:00
Samuel Elliott cf319a2604
Separate load 2018-04-04 21:38:56 +01:00
Samuel Elliott 256db71aa4
Hide emote autocomplete when emotes are disabled 2018-04-04 21:08:50 +01:00
Samuel Elliott de8601ded4
Show favourite emotes in autocomplete 2018-04-04 20:51:25 +01:00
Samuel Elliott a96f3b1eb7
Fix border radius of the message input field 2018-04-04 20:36:11 +01:00
Samuel Elliott a7aa1fa5ec
Fix up/down at the end of the list when the list has less than 10 emotes 2018-04-04 20:34:54 +01:00
Samuel Elliott 027ca8d639
Change plugin API WebpackModules
getModule[…] returns a module (first = true)
getModules[…] returns an array (first = false)
2018-04-01 23:17:33 +01:00
Samuel Elliott a0f60dddb2
Update plugin API (fix Utils not being passed arguments) 2018-04-01 23:12:23 +01:00
Samuel Elliott a3038c46fd
Undo 10fd25607d (diff-e0997702acb90b93fb46357f7576ab03L423) 2018-04-01 23:02:02 +01:00
Samuel Elliott d98f152009
Refactor UserProfileModals badges 2018-04-01 22:44:01 +01:00
Samuel Elliott 68beee12d3
Add the BD badge before the server owner icon 2018-04-01 17:39:46 +01:00
Samuel Elliott 4b59b9f65d
Prevent opening the popout when the badge is clicked 2018-04-01 17:35:09 +01:00
Samuel Elliott 85d390e18d
Rerender messages and channel members after patching 2018-04-01 15:24:28 +01:00
Samuel Elliott 3f89286946
Refactor message badges 2018-04-01 15:21:31 +01:00
Samuel Elliott 554b8d195b
Rename ReactComponentHelpers to ReactHelpers 2018-04-01 15:16:50 +01:00
Samuel Elliott 7f5fa44fd3
Refactor ChannelMember badges 2018-04-01 15:15:31 +01:00
Samuel Elliott c95d60ab0f
Don’t toggle favourite when the emote itself is clicked 2018-04-01 02:39:58 +01:00
Samuel Elliott 0e14d167dc
Fix event callbacks not being passed any arguments 2018-03-31 17:38:11 +01:00
Samuel Elliott c701a2b5f9
Add emotes to the plugin API 2018-03-31 16:51:14 +01:00
Samuel Elliott b3442ee108
Store emote database in a map 2018-03-31 04:47:30 +01:00
Samuel Elliott 1bde3b4ec9
Add setting to enable/disable emotes 2018-03-31 03:26:42 +01:00
Samuel Elliott e83c6f92cb
Add emote favourite button 2018-03-31 03:22:44 +01:00
Samuel Elliott 06cca44376
Make plugin/theme descriptions preformatted 2018-03-31 01:19:05 +01:00
Samuel Elliott 3f3898c774
Add favourite emotes (no UI yet) 2018-03-31 01:17:42 +01:00
Samuel Elliott f8a380fd59
Add more advanced content authors (links to Discord profile, GitHub, Twitter, etc) 2018-03-31 01:10:33 +01:00
Samuel Elliott f28525129e
Add menu API 2018-03-31 01:03:13 +01:00
Samuel Elliott d2cbbd309b
Fix plugin/themes view not updating after reloading content 2018-03-31 00:50:03 +01:00
Samuel Elliott 74d78f4bca
Remove old monkey patch 2018-03-31 00:47:25 +01:00
Samuel Elliott 68af931128
Record plugin/theme load/start/stop timestamp 2018-03-31 00:46:05 +01:00
Samuel Elliott 5331afb763
Tweak card styles and use events 2018-03-31 00:45:14 +01:00
Samuel Elliott 069b1ff689
Extend AsyncEventEmitter and allow changing of some properties 2018-03-30 04:23:32 +01:00
Samuel Elliott 009d6be057
All clicking through the transparent area when the menu is open but nothing is selected 2018-03-30 01:38:36 +01:00
Samuel Elliott da4b592e54
Extend AsyncEventEmitter 2018-03-30 01:34:37 +01:00
Samuel Elliott 81f3519408
Use events in the settings menu 2018-03-30 01:17:02 +01:00
Samuel Elliott 8c09112cff
Use events 2018-03-30 01:07:56 +01:00
Samuel Elliott 8983256ade
Use Logger 2018-03-30 01:06:37 +01:00
Samuel Elliott d323292162
Add textarea for updating custom setting’s values in debug mode 2018-03-30 01:04:58 +01:00
Samuel Elliott 1714a0225e
Change autocomplete class names 2018-03-30 01:03:04 +01:00
Samuel Elliott fd3b0a92ce
Use events on modal close button click 2018-03-30 00:57:01 +01:00
Samuel Elliott 9b1dd771ad
Use v-model/events instead of a change function
Custom settings still work the same
2018-03-29 21:48:06 +01:00
Samuel Elliott 441e80e0e8
Tweak colour picker and add animation 2018-03-29 21:23:15 +01:00
Samuel Elliott 4634266e14
Make the button look more built in 2018-03-29 20:16:06 +01:00
Samuel Elliott 10fd25607d
Remove installer from release build script 2018-03-29 20:04:01 +01:00
Samuel Elliott 946f68e4ef
Fix theme edit button 2018-03-25 18:31:17 +01:00
Samuel Elliott 545b72cc3e
Refactor logger (use util.inspect) and fix CSS editor not awaiting settings saving 2018-03-25 02:18:40 +01:00
Samuel Elliott 9e229a1c0f
Cleanup profile badges 2018-03-24 16:13:24 +00:00
Samuel Elliott ddfd0653ac
Fix emote injection 2018-03-24 16:06:34 +00:00
Samuel Elliott 6bb8c18857
Update repository URL 2018-03-22 17:13:47 +00:00
Samuel Elliott 66eee86eb3
Fix cloning settings sets with schemes 2018-03-22 16:46:42 +00:00
Samuel Elliott eaeae7ad98
Use a warning when settings failed to load 2018-03-22 16:41:20 +00:00
Samuel Elliott a3eeee9b57
Store content config with it’s type 2018-03-22 16:38:09 +00:00
Samuel Elliott db6be20864
Use correct path for logs 2018-03-22 16:25:06 +00:00