Skip to content

Latest commit

 

History

History
654 lines (595 loc) · 58.4 KB

CHANGELOG.md

File metadata and controls

654 lines (595 loc) · 58.4 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.5.2 (2022-10-06)

Bug Fixes

  • Migrate faker breaking change (f49f39d)

0.5.1 (2022-10-06)

Features

    • MessageType type to rollMatch & rollEmote (1ac1599)
  • BattleLogs: BattleLogs available on website. (f88ed19)
  • Leaderboards: Top 5 warriors leaderboard (0e9a8b5)
  • Profiles command. (a158290)

Bug Fixes

  • Add battle emote level to output message. (e3fd04f)
  • Add extra user get attempt for LeaveChat (cfc1611)
  • Add is-clickable to emote boxes. (93a69a1)
  • Add rollEmote for when rau fails. (9eb4e42)
  • Add type checks for statistics object. (d6490fa)
  • Allow emotes to be traded on any profile. (decb139)
  • BattleLogs: Add statistics. (04de48d)
  • durstenfeldShuffle no longer mutating. (87d292f)
  • For some reason defaultValue isn't set. (75cb0b1)
  • Give prefilled new entries for new profiles. (db50dd5)
  • Leaderboards: Just use an if check (b51ae29)
  • Leaderboards: Show only top 5 battle users. (738ee53)
  • Leaderboards: web.userPosition typeof number (c487523)
  • Linting issues. (8253830)
  • Make sure opponentHPs is always filled. (5fac954)
  • More battle refactoring. (390c17f)
  • More polish for battle message. (d17d35a)
  • npm run build-js Index -> index (4a76c82)
  • Oopsie, order object disappeared. (8cdd1f0)
  • Redundant migration detected (49f1254)
  • Remove unused arguments (8374a84)
  • Reorder pajbot check logic. (461201f)
  • Reset battle emote health on rolls. (32e3902)
  • Reword match whisper. (7b54acc)
  • Send result battle message before leveling up (1d8029e)
  • Show match's user actual favorite streamers. (c8fd47a)
  • Something silly (0cbd530)
  • Update copyright notice. (bf54554)
  • uppercase to lowercase, smh Windows (8edd836)
  • Use correct string for displaying level. (f60cee0)
  • View: Lowercase index.js & Add version to qs (3df263b)
  • Views: Add toFixed to next experience number. (6857c22)
  • Views: Overflow hidden on avatars. (9e58d10)
  • windows stuff (8a96a41)

0.5.0 (2022-04-16)

⚠ BREAKING CHANGES

  • Add BATTLE FEATURE
  • rollMatch has new required fields.
  • Update to recent Adonis.
  • Attempt to upgrade to latest Adonis

Features

  • Add /channels HTTP end-point. (06bb22f)
  • Add BATTLE FEATURE (afc0e92)
  • Add diffDate for formatting cooldowns. (11532f7)
  • Add disclaimer in footer. (71848c4)
  • Add emote generation. (64826d9)
  • Add Pajbot banned phrases check for bio. (945b6fd)
  • Add Pajbot2 checks. (1857b67)
  • Add readableErrors view global. (feb35bc)
  • Add themes to profiles. (72aa7cd)
  • Disallow banned users from registering. (0b73275)
  • Export durstenfeldShuffle from Handler. (701900f)
  • GiveEmotes command. (6244d6c)
  • Handle registration via bot. (e3bbd51)
  • Leaderboards (9e47364)
  • No matching with non-customized profiles. (43b172b)
  • Skip some @@more text if not customized. (bcead99)
  • Split handlers into own files. (95d75de)
  • Tell user to customize their profile. (ac31f0e)
  • Update to recent Adonis. (7cec6a7)

Bug Fixes

  • !var === 0 -> var !== 0 (f768341)
  • Actually fix migrations. Sorry. (faa757b)
  • Actually fix phantom profiles. (a20f3b0)
  • Actually, actually fix. (f997377)
  • Add emote images to /emotes (637d9c8)
  • Add missing types from befriendlier-shared. (27e058d)
  • Add more clarity on disabled profiles. (16a066c)
  • Add OG description. (7a8e1d6)
  • Add redundant toLowerCase() in client js (3a01547)
  • add robots.txt (a40459e)
  • Allow new profiles to swipe on creation. (7e1e996)
  • Allow profile color to be changed. (9e792bd)
  • Anonymize createdAt fields on deletion. (671d0ff)
  • Anonymize userId on profile deletion. (06555de)
  • Another attempt to fix error pages. (6608415)
  • Attempt to fix 404 page. (dc28e0c)
  • Attempt to load new data from database. (05ccbdf)
  • Attempt to upgrade to latest Adonis (dcbb41b)
  • BotEmote -> Emote, Emote -> EmoteModel (4e7b51d)
  • BotEmote -> Emote, Emote -> EmoteModel (d2a77aa)
  • Bug, compared string to number. (9303546)
  • Clarify. unmatch -> skip/decline (d4e1c1f)
  • Comment out policy change alert. (3eda93f)
  • Default secure cookies (3bb472f)
  • Deleted profiles are now anonymized instead. (599c633)
  • Deprecation warning get() -> qs() (af28786)
  • Disabled profiles should not be interactive. (9ad5d92)
  • Don't always return emote count when trading. (421febd)
  • Don't roll profiles with non-existent users. (df15319)
  • Fav. users createdAt updates now on register (af5ed44)
  • Further fixes to update project to new Adonis (2fd81c8)
  • Hide display name if it's the same as login. (a1adba9)
  • Hopefully no more "Hello!" matches. (1a79e73)
  • Ignore capitalization on adding fav streamers (5a4263f)
  • Ignore roll if emotes || bio not been edited (858bcb8)
  • Incrementing existing emote on rollEmote (10e0bcf)
  • is-rounded when streamer mode disabled. (56c1437)
  • Linting (3e56505)
  • Linting & Move more stuff to Handler. (78e7e4d)
  • Linting ChatsHandler and DefaultHandler. (8c7a97f)
  • Linting RollMatchHandler (867c812)
  • Make sure database sets correct dates. (b36262c)
  • Make sure docs adhere to markdownlint standards (b054814)
  • Make sure og:title gets web.title value. (9551882)
  • Make sure the anonymization is saved. (881c8b7)
  • Make sure to load favoriteStreamers properly. (9a13c13)
  • Make sure view variables are consistent. (bf34a6b)
  • Make twitchAPI public (bf0e490)
  • Matches no longer return as an empty object. (ba9e502)
  • Message repetition and linting. (d81684a)
  • Might as well set the entire error as any. (3f60057)
  • More linting (bc031a9)
  • Move profile roll filtration to rollMatch. (5cef607)
  • Move rollEmote from Unmatch to Mismatch. (91bb725)
  • Multiline the buttons in updateUser.edge (1ae1712)
  • New Channels statistic. (1f37958)
  • No more phantom profile rolls. (698f753)
  • Only send matched users on data request. (3fefc1a)
  • Persist bio & color after validation fail. (aeb3ce3)
  • Preload favoriteStreamers to access it. (806c0fd)
  • preload favoriteStreamers. (101bded)
  • profile > match.profile (26d9d99)
  • Reduce message spam by sending some whispers. (95e79b5)
  • Reduce one directory for supersecret in Ws. (6cca189)
  • Reduced leaderboard caching to 1 hour. (eeb8847)
  • Remove adonisjs/env as an adonisjs provider. (2354d76)
  • Remove prefix, since it's customizable by bot (45d3ddb)
  • Removed .plus() (8f31ff9)
  • Removed redundant div. (2424c45)
  • removeHost foundChannelBot returns undefined (29a0318)
  • Rename migration files. (bdd67cd)
  • Reset emotes before appending. (151ea5a)
  • return -> continue in for loop. (7e6e938)
  • Return data if profile editing ratelimited. (bf600f4)
  • rollMatch has new required fields. (6823928)
  • Say "Global" instead of relaying channel name (d69ca18)
  • secure-json-parse instead of @hapijs/bourne (f73c516)
  • Send only relevant data to user on request. (1079d2b)
  • Send some whispers instead. (70eead1)
  • Show all matched profiles properly. (e483acd)
  • Show disabled profiles (cb15b2b)
  • Tell users to customize emotes & bio. (24e091b)
  • twitchID deletion now uses yeast module. (dc87f9c)
  • Typo prevented emotes from being collected. (1e00e52)
  • Typo themed-dark -> themed-text (87fc962)
  • typos & eslint rule change (e108e41)
  • Update breaking changes. (ab0100b)
  • Update luxon, hour -> hours (913bb29)
  • Update route() to new Route.makeUrl API. (6f22b81)
  • Update shared to make PajbotAPI work. (d2bc7a3)
  • Update splash statistics every 5 minutes. (9f57443)
  • Use naturalSort for migrations. (91af579)
  • Use proper channel. (a1a49c8)
  • Use the returned color on profile validation (080fc06)
  • Validate faulty info when editing profile (cf174f6)
  • View deprecation warning. (aa307f4)

0.3.3 (2020-08-17)

Features

  • Add BIO & Fix EMOTES (5ed3cff)
  • Add experimental PerspectiveAPI support. (697f02c)
  • Allow user to see bio & emotes. (2e811fd)
  • Escape potential pinged users in ROLLMATCH (393e92f)

Bug Fixes

  • add space (dc9d80f)
  • Add update script. (000b1f2)
  • Allow global profile bio to be changed. (a2cb223)
  • Allow rules accidentally allowed external access. (73b3e43)
  • Allow server to handle global requests. (fff9ee8)
  • Allow user to download user data. (06c7c98)
  • Change start script. (2f5154a)
  • Don't leak login details in URL. (065d650)
  • Don't ping favorite streamers. (2025545)
  • Don't show "cached" users as new users. (f01f9e5)
  • Handle LEAVECHAT with empty userTwitch vars. (53adaa4)
  • Ignore pnpm-lock.yaml (becdf5c)
  • Initialize script fix. (4bbfbfd)
  • Make sure the timer to wait for bot login starts. (36bd845)
  • Make validation rule compile as asynchronous. (edef9b1)
  • Make Ws have its own Twitch instance. (9c66a23)
  • More verbosity. (3e6db80)
  • noed -> node (575d531)
  • Potential fix for BIO response. (e99679c)
  • Queue no longer throwing errors. (94bbd77)
  • Ratelimit profile updating to 1 minute. (f3aa900)
  • Refactor bot login. (b370699)
  • Remove reject from arguments. (069d394)
  • Removing favorite streamers in total count. (acd8b16)
  • Revert accidental uploads. (afa022f)
  • Send websocket back on BIO request. (5ffe395)
  • Sort profiles by ascending with profile.id (fb7c2fb)
  • Splash now correctly displays real users. (5d66e14)
  • test (39822d3)
  • Test adding middleware to register end-point. (f5f8ee1)
  • Users need access to register URL. (1c32f8a)
  • LEGAL: Update Terms of Service & Privacy policy (f4f267d)
  • View: is-rounded on favorite streamers icon (d447d38)
  • View: Change commands prefix. (ffb8a18)
  • View: Update commands & Clarify profiles. (1e26cc3)
  • Ws: Also validate token. (a2c998d)
  • toxic -> TOXICITY (f100e2d)
  • Update README. (17d0197)
  • Views: item -> emote (1d492f1)

0.3.1 (2020-08-10)

Bug Fixes

  • build-server instead of build (ec8acba)
  • Should now work with postgresql. (89f380c)
  • CSS: Use local font. (5e25cf0)
  • LEGAL: Updated date for Privacy Policy. (10f2909)
  • Replace example.com with actual website URL. (0bf438d)
  • View: Move footer in error to proper place. (c5ea163)

0.3.0 (2020-08-10)

⚠ BREAKING CHANGES

  • Moved TwitchProvider logic to AppProvider.

Features

  • Add parcel bundler & update packages. (de993fe)
  • Enable healthChecks for db. (b9ef963)
  • Moved TwitchProvider logic to AppProvider. (e10fc9e)
  • Now disconnects websockets without userAgent (62561a3)
  • The big #$!? update. (37ee515)
  • Use parcel bundler for frontend javascript. (34863b1)
  • Twitch: Added 2 new env variables. (801cc40)
  • Twitch: Move redirectURI string to env file. (b5c84bc)
  • User: Add host column to model. (9cb928e)

Bug Fixes

  • Fix initialize not existing, it exists now. (4be99ba)
  • Will now "build" resources. (6a72710)
  • Add LOG_LEVEL to .env.example (28bba5a)
  • emote.url changed to emote.id. (bde3049)
  • Formatting files. (63e2748)
  • Moved dev login logic to separate function. (57cf13d)
  • Moved Emote interface to shared module. (1efd4de)
  • Moving matches list to its own function. (0170f16)
  • nextRoll -> nextRolls (b3d7bab)
  • Now anonymizing profiles on user delete. (71d445d)
  • frontend: Add navbar toggle logic. (fd57387)
  • frontend: Improve navbar & footer. (1a2abb3)
  • Added & Used ensureIsOfType for frontend. (f9be75d)
  • Fix eslint inclusion for resources directory (bfac947)
  • No longer building the resources folder. (9d2f020)
  • One consistent gitignore file in all projects (c0f11e9)
  • Remove comments from json file. (190f5ce)
  • Update befriendlier-shared related code. (934a261)
  • Update code to the new befriendlier-shared. (89ba791)
  • Users are now anonymized on deletion. (712fd09)
  • Healthcheck: No longer checking all db health (3e968ee)
  • Seeders: Initialize.ts should no longer error (d335db9)
  • Splash: Use models for querying. (6cf7dd4)
  • Twitch: Log errors now slightly more readable (817aa84)
  • Ws: Fix ws termination log. (bc5d087)
  • Typos. (cfee85d)
  • Update eslintrc file. (1e7ee83)
  • Ws: Fix Match.ts to use new shared types. (8a08467)
  • Rename instances of Twitchr to Befriendlier. (268091f)
  • Twitch: Moved env logic to config file. (ca539d8)

0.2.0 (2020-07-26)

⚠ BREAKING CHANGES

  • Move files to root directory.

Features

  • Move files to root directory. (70ac504)

Bug Fixes

  • README: Fix links & cross Todo items. (3c0fe87)
  • Websocket: Fix import reference to module. (fed2847)

0.1.0 (2020-07-26)

⚠ BREAKING CHANGES

  • Remove /ws end-point.

Features

  • config: scopes & redirectURI now in a config (c160167)
  • package: Add new modules. (ba792b5)
  • Profile: Add /paginate end-point. (921cb6a)
  • Profile: Check if users are matched (2847858)
  • Profile: New Match columns. (9b09e1f)
  • splash: Now shows updated statistics. (f732a24)
  • validation: Validation schemas now cached. (cf76367)
  • Websocket: Added prototype websocket logic. (aa0cbcc)

Bug Fixes

  • gitignore: Ignore pnpm-lock.yaml (f401ffd)
  • lint: Lint tsconfig. (f081bcc)
  • middlewares: Use luxon math (3477db0)
  • Seeding: Add new user to test banned users. (94fa520)
  • Twitch: Allow Twitch module to throw errors. (b8e0a50)
  • Refactor dev error when seeds not run. (7a8c475)
  • Remove /ws end-point. (a0795c5)
  • splash: Typo, hours when it should be minutes (bfefe63)

v0019a (ba7ccef867e5c3e4c258fb2b4420eabce18d2bb3)

  • This was supposed to be uploaded with c1601679cab7cabf0d9a9dbfba6874193186493f.
    • refactor(Twitch): Updated Twitch.ts

v0018a (a78c130a6b80b3b897cfa9628c14b833fea10c41)

  • This was supposed to be uploaded with f732a247a36af36aa327acb0dfbd821f4c93600a.
    • refactor(splash): Updated splash template

v0017a (bfefe63676799db6b268fa28884b3e44f7fc3b4f)

  • fix(splash): Typo, hours when it should be minutes

v0016a (f732a247a36af36aa327acb0dfbd821f4c93600a)

  • Splash page may contain more statistics in the future, this should be okay for now.
    • feat(splash): Now shows updated statistics.
  • Changed 1_favorite_streamer_lists's & 1_matches_lists's created_at & updated_at default value behavior.
    • fix(migrations): Now using toSQL() instead of toFormat().

v0015a (ad921707f1cd0b99e3edc6a30b8596c72e14e51d)

  • chore(dependencies): Update dependencies.
    • devdependencies
      • @typescript-eslint/eslint-plugin changed to ^3.7.0.
      • eslint changed to ^7.5.0.
      • eslint-plugin-adonis changed to ^1.0.14.
      • eslint-plugin-import changed to ^2.22.0.
      • pino-pretty changed to ^4.1.0.
      • sqlite3 changed to ^5.0.0.
      • typescript changed to ^3.9.7.
    • dependencies
      • @adonisjs/auth changed to ^4.2.4.
      • got changed to ^11.5.1.
      • pg changed to ^8.3.0.
      • phc-argon2 changed to ^1.0.10.

v0014a (affc76836dd0b8a9ef3df9b4148d4fc53e42e391)

  • Renamed template global from twitchAuth to twitchAuthURL in AppProvider for clarification.
    • refactor(AppProvider): Renamed template global.

v0013a (c1601679cab7cabf0d9a9dbfba6874193186493f)

  • Twitch script now uses the scopes & redirectURI provided in the config under config/twitch.ts file. Also moved logic from AppProvider's template global twitchAuth to Twitch as it's more appropriate to handle all Twitch related logic in one file.
    • feat(config): scopes & redirectURI now in a config
    • feat(TwitchProvider): Now uses new Twitch config.
    • feat(Twitch): authorizationURL now parses url.
    • refactor(AppProvider): Using Twitch.authorizationURL instead.

v0012a (3477db0108659f2de382909dfa531952466a407d)

  • In the middlewares RefreshTwitchToken & ValidateTwitchToken the refresh dates are now next instead of last. This means we expect the values to be in the positive when diffing until the next date is hit.
    • fix(middlewares): Use luxon math

v0011a (7a8c475d733ddd46ff0e7c5be1a4273d47e4c155)

  • fix: Refactor dev error when seeds not run. Will do a full DRY run later.

v0010a (cf76367cc16313d4fb93897efbbf11617709f374)

  • feat(validation): Validation schemas now cached.
  • fix(public/js/app): No longer shows "I accept" if already accepted.
  • docs(AuthController): Clarified comments.
  • From here and onwards, conventional commits 1.0.0 will be used and changelogs will now contain full commit hash and no dates.

v0009a (24e7b7523cde9666c3b2a28dbe321c06597dba28)

  • Merge pull request #1. Bump lodash from 4.17.15 to 4.17.19 in /web.

v0009a (0d8534741d0586bf7ae5fbefbcda27966102c571)

  • WIP: Prototype websockets implemented. Only for bot-to-server communications.
  • Updated README.md with more TODOs.

v0008a (6e9a01d) commit 2020-06-29

  • Users now have to go through Privacy Policy & Terms of Service to be able to register/login.
  • Added a simple Cookie class to app.js. For dealing with cookies on the front-end.
  • Added setToSCookies() function to app.js.

v0007a (18e0ebb) commit 2020-06-28

  • Added seed npm script. This will seed the database with development data.
  • Added r:m:s npm script. It will rollback, migrate and then seed the database all-in-one command.
  • AuthController.register() when NODE_ENV=development will now make all users who try to login use the "Test" account that is provided in the Development database seed.
  • ProfilesController.read() will no longer preload ALL matches, and will instead only query 10 matches.
  • Since all matches are no longer preloaded, things have now been refactored when trying to retrieve someone else's profile.
  • Removed various redundant comments in ProfilesController
  • Major refactoring done to ProfilesController.read() due to refactoring of Profile model matches relationship changing into other Profiles.
  • Changed how a profile is sent to front-end. Every matched user will now have 2 variables: user & profile.
  • When trying to view someone else's profile, backend will now query the matches_lists table instead of how it used to work due to refactoring of Profile model.
  • guest variable now not sent to front-end, instead the front-end uses conditional check to see if user should have updateProfile.edge template shown.
  • Fixed bug where when deleting profile, users that matched with this profile wouldn't have their record of the deleted profile deleted as well.
  • Refactored ProfilesController.delete() to work with new Profile model.
  • WIP: Added ProfilesController.matches() to send matches for pagination purposes. Not implemented in front-end yet, however!
  • Fixed bug in UsersController.update() when checking banned users. Missed the await prefix for the promise.
  • Changed UsersController.update() due to refactoring of the Profile model.
  • newFavoriteStreamers variable now sorts by updatedAt to make sure you don't add duplicate users if they happen to have the same User model name value.
  • Fixed bug in UsersController.delete() where profiles who matched with you weren't deleted.
  • Added missing createdAt field in BannedUser model.
  • Profile model refactored. chatId is now chatUserId. global field has been removed: chatUserId === 0 is now the check for global profiles. matches relationship is now to other Profiles instead of Users, fields have been changed to reflect that. The matches_lists will now also return user_id and match_user_id as pivotColumns.
  • Fixed timestamps for favorite_streamer_lists schema.
  • Changed matches_lists schema to reflect refactoring changes done to Profile model. profile_id equals the parent profile's id. match_profile_id equals the related profile's id. match_user_id equals the related profile's user's id. Timestamps now work, too.
  • Changed profiles schema to reflect the refactoring changes. chat_id is now chat_user_id.
  • Added development seeder, under database/seeders/Development.ts. Will fill the database with development data, for debugging purposes.
  • TwitchProvider now appends AdonisJS/Logger to the Twitch instance.
  • Changed ev.target to ev.currentTarget in app.js due to HTML bubbling.
  • Added displayToast() to app.js. For creating toast messages in the front-end javascript.
  • More implementations done to updateProfile.js. As well as changing ev.target to ev.currentTarget. Matched users can now be deleted via front-end.
  • Changed ev.target to ev.currentTarget in updateUser.js due to HTML bubbling.
  • Removed stray is-rounded classes in profile.edge template.
  • Favorite streamers' list in profile.edge template will now display User model displayName as well as name if the two do not match or otherwise only display displayName. This is for users who have non-latin characters in their display name.
  • Changed the conditional in profile.edge from !guest to profileUser.id === user.id to check whether user owns said profile.
  • Removed debugging stuff from profile.edge template.
  • Changed profiles.edge template conditional to reflect changes done to Profile model. As well as adding level-item classes for consistency.
  • Changed layout of user.edge template. Will now display the commands.edge and updateUser.edge template as columns in desktop screens (Side-by-side).
  • Changed updateProfile.edge template to reflect changes done to Profile model.
  • Changed updateUser.edge template to reflect changes done to Profile model.
  • Changed header sizes in commands.edge template file. They're now smaller.
  • Added matches.edge template file to show profile's matched profiles.
  • Twitch now uses AdonisJS/Logger instead of console.error().

v0006a commit (bc76f3b) 2020-06-26

  • profile.edge template file changed. Will now no longer display login (User model name column) if it's the same as the display name (User model displayName column).
  • Fixed bug in UsersController.refresh() where name was set to display_name value from Twitch API instead of login value from Twitch API.

v0005a commit (651da6b) 2020-06-25

  • Updated README.md to reflect changes.
  • Added validationRules file to adonisrc.json file so that it can properly preload file.
  • Chore: package.json updated.
    • devdependencies
      • @adonisjs/assembler changed to ^2.1.3.
      • @typescript-eslint/eslint-plugin changed to ^3.4.0.
      • eslint changed to ^7.3.1.
      • eslint-plugin-adonis changed to ^1.0.12.
    • dependencies
      • @adonisjs/auth changed to ^4.2.2.
      • @adonisjs/core changed to ^5.0.0-preview-rc-1.9.
  • Refactored flash messages in AuthController.register and AuthController.logout.
  • Added HealthChecksController for checking service health. WIP: Will eventually also include health data about the bot.
  • More code readability in ProfilesController.read().
  • Refactored flash messages in ProfilesController.read().
  • Fixed bug where a guest user wouldn't see the favoriteStreamers[] for said user.
  • Added ProfilesController.update(). Profiles can now be edited.
  • More code readability in ProfilesController.delete().
  • Refactored flash messages in ProfilesController.delete().
  • Implemented ProfilesController.unmatch(). While end-point can be accessed, there's no way to access it via front-end.
  • More code readability in UsersController. Moved imports around.
  • Changed validation method for UsersController.update(). Now uses AdonisJS validation module.
  • Refactored flash messages in UsersController.update().
  • Added banned user check for favoriteStreamers[].
  • Added flash message for trying to add banned users to favoriteStreamers[].
  • Removed Twitch.refreshToken() from UsersController.update(). This is now handled in the RefreshTwitchToken middleware.
  • More code readability in UsersController.update(). Changed variable names from i to user in a map() and filter(). Added conditionals (Example: value is not undefined) instead of if statements for streamerMode and globalProfile.
  • Will now no longer try to add to favoriteStreamers[] if newFavoriteStreamers[] is empty.
  • Refactored flash messages in UsersController.delete().
  • Refactored flash messages in UsersController.refresh().
  • Removed Twitch.refreshToken() from UsersController.refresh(). This is now handled in the RefreshTwitchToken middleware.
  • Fixed edge (Adonisjs/Edge view template engine) deprecation errors in the default exceptions handler under App/Exceptions/Handler.ts.
  • Refactored flash messages in Auth middleware.
  • Added RefreshTwitchToken middleware. Will refresh Twitch access_token every 1 hour if trying to access HTTP Controllers (App/Controllers/Http) behind it. Use start/routes/ to find out which end-point is using which middleware.
  • Added ValidateTwitchToken middleware. Will validate... =/= See above.
  • Added BannedUser model for dealing with banned users.
  • Removed serialization in Profile model for column color. Profile model column color now has # in the database by default.
  • Changed serialization for favoriteStreamers[]. The field is serialized into favorite_streamers for consistency.
  • Fixed eslint issues in contracts/events.ts
  • Added validator contract for typescript type checking.
  • npm run migration:rollback is required for this update! This will irreversibly delete all user data! Hopefully for the last time during development.
  • Migration file 1_profiles.ts has been changed to allow # for Profile model color column. This is for validation purposes.
  • Migration file for banned_users now exists.
  • Changed migration file name from 1592771278779_users.ts to 2_users.ts due to issues with migration order.
  • Made the "Unblur" text optional on blurred elements with the new data-blur-text dataset.
  • Added initToastButton() to allow the toast notification to be closed.
  • updateUser.js has been refactored to work with the new favoriteStreamers[]. favoriteStreamers[] no longer returns a string. It is now returned as an array on the back-end.
  • Added toast notification stylesheet. It's mostly based on @rfoel/bulma-toast.
  • Moved around elements in core.edge template and added Open Graph Protocol fields.
  • core.edge template now contains the flashMessages() as it has been changed into a toast notification.
  • Added privacy.edge template & page.
  • Profile now shows off favoriteStreamers[] and favoriteEmotes[].
  • Added footer to profile page.
  • Removed flash messages from the profiles.edge template.
  • Added footer to profiles page.
  • Removed flash messages from the splash.edge template.
  • Added terms.edge template & page.
  • Removed inspect() in user.edge template as we're pretty much done with its implementation.
  • Renamed and reformatted not-found.edge template to notFound.edge template.
  • Renamed and reformatted server-error.edge template to serverError.edge template.
  • Fixed a bug in updateProfile.edge where user would submit changes to wrong end-point by not appending the id parameter.
  • Renamed #profile to #profileSettings in updateProfile.edge template.
  • Removed flash messages from the updateProfile.edge template.
  • Added validator flash messages for updateProfile.edge template.
  • Renamed #user to #userSetttings in updateUser.edge template.
  • Removed flash messages from the updateUser.edge template.
  • Added validator flash messages for updateUser.edge template.
  • favoriteStreamers[] avatars are now rounded.
  • Refactored how favoriteStreamers[] are rendered in updateUser.edge template.
  • Changed global profile selector into checkbox.
  • Changed global profile help text to reflect changes.
  • Changed streamer mode selector into checkbox.
  • Changed streamer mode help text to reflect changes.
  • Added flashMessages.edge under includes folder.
  • Changed how footer is displayed by making the links into buttons.
  • Navbar will now display even if you aren't logged in, but with "Logout", "Profiles" and your profile avatar missing.
  • Removed version number from user-agent header sent to Twitch in src/Twitch.ts.
  • Added TwitchValidateBody for use with the new Twitch.validateToken() function.
  • Twitch.requestToken() now asks for user_subscriptions scope. It's a v5 scope, not sure it actually works in Helix.
  • Changed overload for Twitch.getUser(). Should now properly check whether returned value is of array or just a single TwitchUsersBody.
  • Fixed bug in Twitch.refreshToken(). The request to refresh token is to be done as POST and not GET.
  • Added Twitch.validateToken() function in Twitch. For use in the ValidateTwitchToken middleware.
  • Added RefreshTwitchToken, ValidateTwitchToken named middleware to kernel file.
  • Added /health, /privacy, /terms to routes file.
  • Added hexColorString validation rule for Profile model color column.
  • Added validTwitchName validation rule for User model, favoriteStreamers[]'s User model name, manyToMany relationship.
  • Added ValidateTwitchToken, RefreshTwitchToken middleware to UsersController.update() and UsersController.refresh().

v0004a commit (499690a) 2020-06-22

  • Fixed streamerMode for profile avatar image.
  • Removed redundant comment in ProfilesController.read.
  • Added newline to .env.example file and .gitignore file.

v0003a commit (d113555) 2020-06-22

  • Added comment to .env.example file.
  • Added value to change hash driver. Keep in mind, no hashing in use yet.
  • Ignoring public/css folder, this can be built with npm run css-build.
  • Changelog now includes dates for each commit.
  • Added flash message for malformed profile parameter.
  • Removed badRequest response for malformed profile parameter.
  • Added flash message if chat owner for profile doesn't exist. This shouldn't happen, ever, anyway. /shrug
  • Removed partialRequest response if chat owner for profile doesn't exist. =/= See above.
  • More code readability for using toJSON() when returning models for profiles.
  • profileUser is now used for both visiting guest users as well as owner of said profile.
  • Moved flash message if user does not have access to said profile in code.
  • Added flash message for when profile does not exist.
  • WIP: Profile update.
  • Fixed bug for profile deletion. Matched users list are now also deleted.
  • More code readability for UsersController.update by changing makeGlobalPublic request body to toggleGlobalPublic.
  • Added toggleStreamerMode to UsersController.update request body.
  • Fixed capitalization in flash message for when a Twitch username is malformed.
  • toggleStreamerMode now toggles blur for sensitive data on the website.
  • Fixed text in flash message for when refreshing Twitch data. Now clarifies that your Twitch data has been refreshed.
  • More code readability for Middleware/Auth by sending full ctx to Auth.authenticate().
  • Added flash message for when user tries to access content that requires authentication checks.
  • Service will now try to redirect you after login if you had requested content that required authentication checks. This may be buggy. Needs testing.
  • Middleware/Redirect is now implemented. =/= See above.
  • User model now has streamerMode.
  • Updated cors config file.
  • Updated hash config file.
  • Hashing is now argon by default. adonisjs/core reference.
  • Added a new user schema for migration. Will add streamerMode to all users in database when npm run migration:run is used.
  • Chore: package.json updated.
    • devdependencies
      • @typescript-eslint/eslint-plugin changed to ^3.3.0.
      • eslint changed to ^7.3.0.
      • eslint-plugin-import changed to ^2.11.0.
      • typescript changed to ^3.9.5.
    • dependencies
      • @adonisjs/auth changed to ^4.2.1.
      • @adonisjs/core changed to 5.0.0-preview-rc-1.6. (Last working version during development)
      • @adonisjs/lucid changed to ^8.2.2.
      • @adonisjs/session changed to ^3.0.4.
      • @adonisjs/shield changed to ^3.0.4.
      • @adonisjs/view changed to ^2.0.7.
      • bulma changed to ^0.9.0.
      • got changed to ^11.3.0.
      • Removed node-fetch.
      • pg changed to ^8.2.1.
      • [email protected] added.
  • WIP: Added app.js
  • WIP: Added imagePreview.scss
  • Changed style.scss dimensions variable. Will now include 300x300, for use in profiles' avatar image.
  • Added a new style.scss import. Bulma 0.9.0 separates helpers from the base sass folder into /bulma/sass/helpers/ instead.
  • Added a new style.scss import for imagePreview.scss stylesheet.
  • Moved µhtml globals from core.edge template to app.js script file.
  • Added streamerMode blur to updateProfile.edge template.
  • Moved noscript html element to work when #updateProfile form is blurred.
  • Added a text fragment to disable profile button url. Should now mark "Global profile".
  • Added streamerMode blur to updateUser.edge template.
  • Moved noscript html element to work when #updateUser form is blurred.
  • Changed makeGlobalPublic to toggleGlobalPublic in updateUser.edge template.
  • Added toggleStreamerMode select element to updateUser.edge template.
  • Fixed a url in commands.edge template.
  • WIP: Added profile avatar and bio to profile.edge template.
  • Added streamerMode blur to profiles.edge template.
  • SplashController.index now uses Middleware/Redirect.

v0002a commit (ed12016) 2020-06-21

v0001a commit (1ac2181) 2020-06-21

  • Changed README file to reflect changes made to Profile model.
  • Added flash message if Twitch doesn't return a token body.
  • Fixed bug that made user not login if user just registered.
  • Now saving Twitch refresh token to update user's access token for the session.
  • Added flash message for new registered users.
  • Added flash message for users logging in.
  • Added flash message for users logging out.
  • Added flash message for user trying to access profile user is not allowed access to.
  • User can now access matched profiles.
  • Profiles can now be deleted.
  • Changed how the flash message for favoriteStreamer name malformation now displays.
  • If streamersToAppend does not return an array, it now refreshes token and displays a flash message.
  • Added flash message for successfully updating user settings.
  • User can now delete their own account.
  • User can now refresh their Twitch data.
  • Removed Color interface.
  • Profile.color now returns a hex string (#ffffff) instead of Color object.
  • Profiles migration scheme changed. Please use npm run migration:rollback and then npm run migration:run. This will delete all data. In the future, updating models will be done with new files.
  • WIP: Added updateProfile.js
  • Minor changes to updateUser.js
  • WIP: Added updateProfile.edge template.
  • Added flashMessages conditional in updateUser.edge template.
  • Fixed various urls in updateProfile.edge template.
  • Changed item to streamer in updateProfile.edge template @each call.
  • Changed text in commands.edge template to reflect changes done to Profile model.
  • navbar.edge template now uses route() for creating some links.
  • licenses.edge template now uses route() for creating some links.
  • profile.edge template now has a conditional to check for guest users.
  • Added flashMessages conditional in profiles.edge template.
  • profiles.edge template now uses route() for creating some links.
  • splash.edge now uses route() for creating some links.
  • Removed flashMessages inspect() from user.edge template.
  • Added TwitchAuthBody interface for Twitch's requestToken() class function.
  • requestToken() can now return a null on error.
  • Added refreshToken() class function for Twitch.
  • Added update and delete end-points to profile router.
  • Added delete and refresh end-points to user router.

v0000a

  • Introducing the changelog. I'll eventually get better at documenting changes done.