Commit Graph

2105 Commits

Author SHA1 Message Date
rubic0n b1445d09b6 Remove 40KB of allocations (4,100 objects) from home feed
(When using dummy data)

* to_s(16) allocates a string per character
  Instead of converting the ord to hex and determining if the hex
  is over 2 characters long, just see if the ord is over 255.
* .match allocates a MatchData instance and sets all sorts of backrefs
  ($1, $2, etc). match? just returns a boolean.
2021-02-18 00:45:21 -06:00
rubic0n 006322cff7 Remove Hash allocation
merge! takes a Hash as an argument. Rather than allocating a Hash,
just use two different `=` calls, to achieve the same result.
2021-02-18 00:35:31 -06:00
rubic0n a623252c59 Convert to boolean in C code
casecmp?(str) is 1.5x faster than casecmp(str).zero?
It's 1 less method call in Ruby, and the C code can convert
to boolean, rather than returning a number and determining
if it's zero.
2021-02-17 23:25:10 -06:00
rubic0n 0c7019f1e8 Add Benchmark IPS gem, to A/B test code 2021-02-17 23:24:34 -06:00
Fosco Marotto 8d3d7efe34 Merge branch 'develop' of https://code.gab.com/gab/social/gab-social into develop 2021-02-16 16:04:25 -05:00
Fosco Marotto 9666472105 Wrap user confirm method with writing role 2021-02-16 16:04:11 -05:00
Fosco Marotto 88d8bd2816 Merge remote-tracking branch 'origin/load_rails_6_0_defaults' into develop 2021-02-16 15:10:01 -05:00
Free Speech Forever cb6e06c285 Merge branch 'feature/remove_keypair' into 'develop'
removed rsa keypair from account table, it was a federation relic

See merge request gab/social/gab-social!63
2021-02-16 18:54:37 +00:00
admin 5793d2aa33 remove local monkeypatch 2021-02-16 13:43:09 -05:00
admin 69f3cf08c9 fixed app/controllers/concerns/signature_verification.rb 2021-02-16 13:41:49 -05:00
admin 5d9750fa25 forgot to push these changes 2021-02-16 13:35:19 -05:00
admin e942d3d97c removed rsa keypair from account table, it was a federation relic 2021-02-15 21:49:50 -05:00
mgabdev 5d1a40d936 Added CharacterCounter to ComposeDestinationHeader
• Added:
- CharacterCounter to ComposeDestinationHeader
- Styles for stroke colors for CharacterCounter

• Updated:
- CharacterCounter styles, heights to fit in header
2021-02-15 21:47:56 -05:00
mgabdev 0456ccfb2a Added missing fillSecondary class
• Added:
- missing fillSecondary class
2021-02-15 21:00:43 -05:00
mgabdev 0edaaa95d7 Fixed issue with Following/Followers scrolling to top on infinite scroll pagination
• Fixed:
- issue with Following/Followers scrolling to top on infinite scroll pagination
2021-02-15 20:48:19 -05:00
Fosco Marotto d91df58eb9 Remove stray } from api.js 2021-02-15 19:59:02 -05:00
Free Speech Forever 422a599831 Merge branch 'test/devise-fork' into 'develop'
Use a modified Devise gem, changes to writing roles

See merge request gab/social/gab-social!62
2021-02-15 23:26:00 +00:00
Free Speech Forever 92c9092abd Avoid redundant OAuth queries when not signed in
If you aren't signed in, you don't have an auth token.
When you don't have an auth token, React was sending the headers

"Authorization: Bearer null"

This caused 5 Doorkeeper token lookups using
WHERE "oauth_access_tokens"."token" = 'null'
on the Explore page (the root of the app when not signed in).
2021-02-15 23:26:00 +00:00
Fosco Marotto 7bfe6c7709 More writing role changes in sessions controller 2021-02-14 23:21:53 -05:00
Fosco Marotto 5e7cec5345 Change logout deletion method. 2021-02-14 21:26:48 -05:00
Free Speech Forever dd8c656dd5 Merge branch 'puma_5_2' into 'develop'
Upgrade to Puma 5.2.0 (from 5.1.1)

See merge request gab/social/gab-social!54
2021-02-15 01:12:32 +00:00
Free Speech Forever 2b563148a8 Merge branch 'development_updates' into 'develop'
Development updates

See merge request gab/social/gab-social!61
2021-02-15 01:11:39 +00:00
Fosco Marotto 0f85ba2f12 Change the oauth authorizations controller writing role method. 2021-02-14 15:52:38 -05:00
Fosco Marotto 0d5acfc3fb Update push subscription writing role 2021-02-14 14:10:25 -05:00
Fosco Marotto 09ba5c9be8 Fix settings application controller writing role 2021-02-14 14:05:03 -05:00
rubic0n 73c0e50936 Prevent constant ElasticAPM warnings in development by disabling it
No changes are needed in prod, since the `enabled` setting defaults
to "true", and prod obviously isn't setting this ENV.
2021-02-13 23:20:43 -06:00
rubic0n f472a6154e Mark the replicas as replicas
Rails won't even attempt to write to a replica. Without this option,
a write attempt would actually run against Postgres, and it would
be up to Postgres to throw a readonly error.

Additionally, marking it as a replica teaches ActiveRecord that it
should not attempt to run migrations against this connection.

https://api.rubyonrails.org/classes/ActiveRecord/DatabaseConfigurations.html#method-i-configs_for

I'm actually pretty sure that the lack of `replica: true`
is why there's currently a db/slave1_schema.rb and db/slave2_schema.rb
2021-02-13 23:20:43 -06:00
rubic0n 903b6c7969 Simplify database.yml by merging in default options
Anything in the &default section can be merged in using <<: *default
In this case, the default already specifies that the adapter is
postgresql, the timeout is 5000, the encoding is unicode. It also
already specified the db pool, but the default actually checked 2
different ENVs and provided a fallback if it's not provided.
Lastly, I was able to move the prepared_statements section to the
defaults, because the .env.vagrant file doesn't specify
ENV['PREPARED_STATEMENTS'], development still just sets it to
'false'.
2021-02-13 23:20:43 -06:00
rubic0n 70c44fc68d Fix vagrant now that Rails 6 replicas are being used 2021-02-13 23:20:43 -06:00
rubic0n 6221581cf0 Create script to generate dummy data, for perf investigation 2021-02-13 23:20:43 -06:00
rubic0n 1179957a32 Start redis server on VM boot
Otherwise you have to start it yourself after vagrant halt / vagrant up
2021-02-13 23:20:43 -06:00
rubic0n 9331f06784 Add rack-mini-profiler, to diagnose perf issues 2021-02-13 23:20:43 -06:00
Developer 0341cd8572 Updated RegistrationsController captcha values
• Updated:
- RegistrationsController captcha values
2021-02-13 13:31:57 -05:00
Fosco Marotto 7a2594e105 Add writing role for some moderation classes, update verification method. 2021-02-11 18:34:04 -05:00
Developer 5a5150757e Added spam, other account flags to reports page table list items
• Added:
- spam, other account flags to reports page table list items

• Removed:
- Account moderation notes count in reports table list item
2021-02-11 14:38:41 -05:00
Developer 2548205487 Updated ReportService to not create new reports if account is already suspended
• Updated:
- ReportService to not create new reports if account is already suspended
2021-02-11 14:30:37 -05:00
Fosco Marotto 4bb2f1b745 Verification requests should use the writing role 2021-02-11 01:18:36 -05:00
Developer 538bcf21c9 Updated registration page username to disallow unallowed characters
• Updated:
- registration page username to disallow unallowed characters (special characters, spaces, etc.) and rewrite if is written in that field
2021-02-11 00:57:48 -05:00
Developer 8a2f34d815 Added check in RegistrationsController to ensure email and password don't match
• Added:
- check in RegistrationsController to ensure email and password don't match. If so, return back to registration form with alert
2021-02-11 00:33:28 -05:00
Developer 39a3d44bdd Updated all admin moderation links from app popover menus to open in new tab
• Updated:
- all admin moderation links from app popover menus to open in new tab
- GroupOptionsPopover group admin moderation link
- ProfileOptionsPopover account admin moderation link
- StatusOptionsPopover account and status admin moderation links
2021-02-11 00:23:20 -05:00
Developer b636f36871 Added prop for openInNewTab in ListItem for Button links
• Added:
- prop for openInNewTab in ListItem for Button links
2021-02-11 00:21:44 -05:00
Developer 2fff6b3046 Fixed issue with empty featured group in FeaturedGroupsInjection
• Fixed:
- issue with empty featured group in FeaturedGroupsInjection

• Added:
- missing key in loop in FeaturedGroupsInjection render
2021-02-11 00:17:56 -05:00
Developer f56d177b9b Added ability to copy g/ group link in GroupHeader to clipboard
• Added:
- ability to copy g/ group link in GroupHeader to clipboard on then show an alert on desktop
2021-02-11 00:16:43 -05:00
mgabdev e3af1b4a26 Updated LinkBlock checks for if status text contains blocked domain
• Updated:
- LinkBlock checks for if status text contains blocked domain
- normalize_link to use domain instead of normalized_host

• Added:
- normalize_link_domain to check for if entire domains are blocked or not for spam
2021-02-11 00:01:45 -05:00
mgabdev d73b4afa28 Updated random int function to use helper numbers util in ws stream.js
• Updated:
- random int function to use helper numbers util in ws stream.js
2021-02-10 23:21:35 -05:00
mgabdev 72162affcf Updated stream ws to close if backend api error
• Updated:
- stream ws to close if backend api error and not retry over and over again
2021-02-10 23:08:00 -05:00
Developer a42b7797d8 Updated websocket.js to @gamestdio/websocket
• Updated:
- websocket.js (depreacated) to @gamestdio/websocket (latest)
2021-02-10 20:11:18 -05:00
Developer 488a362129 Updated labels and hints in user registration form
• Updated:
- labels and hints in user registration form
- Made clear requirements for usernames

• Removed:
- question of "Are you human?" in the captcha label as people were answering "yes" in the input instead of the captcha value
2021-02-10 13:48:13 -05:00
Developer 8b8f73deb1 Added back account autofill mention in composer
• Added:
- account autofill mention in composer after removing for performance reasons

• Updated:
- throttle for account search function
2021-02-10 13:29:48 -05:00
Developer 4490070aa2 Updated Verification Requests page to include account display name
• Updated:
- Verification Requests page to include account display name
- position of date and account column in table
2021-02-10 12:59:30 -05:00