Commit Graph

253 Commits

Author SHA1 Message Date
720e91ae71 use forked marcel that has proper checks for av1 webm
this fixes the av1 problem properly
2025-01-27 21:30:28 -06:00
Cinder
a0b51e40bc
[Users] Rework login pages and increase password requirements (#825) 2024-12-14 17:37:53 -08:00
Cinder
c8a1cfb5fe
[Gems] Update rexml and ruby-lsp-rails (#739) 2024-08-28 08:49:57 -07:00
Cinder
b852254ad0
[Seeding] Rewrite the seeding script (#676) 2024-07-20 08:30:21 -07:00
Earlopain
59f5fda98f
[Gems] Back to rack 3 again
The issue has already been fix upstream
2024-05-10 11:02:03 +02:00
Earlopain
643cbff636
[Gems] Back to rack 2 again, for now
https://github.com/Shopify/pitchfork/issues/117
Needs https://github.com/rack/rack/pull/2062
2024-05-09 15:24:05 +02:00
Earlopain
2c60ec69c8
[Prod] Replace unicorn with pitchfork
pitchfork is a unicorn fork with some things removed and some things added.
We don't need any of these things so it should be an easy replace.
There is no worker-killer for pitchfork, it is however trivial to implement ourselves.

unicorn is pretty much dead. The author implies as much in the various readme updates
he made. It also doesn't work with rack 3 and I doubt a new release will even be made.
If it will, it highly likely won't be on rubygems.
2024-05-07 21:54:25 +02:00
Earlopain
d01c8c131d
[Misc] Replace httparty with faraday
We already pull in faraday from opensearch-ruby.
httparty hasn't had a release in a while and it printing warnings on ruby 3.3
2024-04-27 23:01:10 +02:00
Earlopain
0b47770c49
[Prod] Add Datadog
Let's see how this one works out. Cute logo
2024-04-09 20:16:29 +02:00
Earlopain
e4799d9f83
[Prod] Dump NewRelic
Need to look into alternatives
2024-03-23 20:52:31 +01:00
Earlopain
fc7d84affd
[RuboCop] Enable Style/FrozenStringLiteralComment
This reduces allocations on the posts page by about 5%, from basic testing
2024-02-25 18:15:55 +01:00
Earlopain
674df5582e
[Gems] Bump dotenv to v3 2024-02-17 12:46:44 +01:00
Earlopain
682f809f0e
[Gems] Pin Rack to ~> 2.0
Unicorn is lacking support and mishandles cookies (and probably a bunch of other stuff as well)
2024-01-27 20:21:27 +01:00
Earlopain
a7228612a2
[Rails] Update to 7.1
Run `app:update`, fix the one deprecation warning
2024-01-25 22:05:29 +01:00
Earlopain
fa9fb531f7
[Docker] Add a devcontainer
This removes the need for all the ruby-lsp setup stuff.

ruby-lsp will try to install the debug gem which contains native code, add that to the gemfile so it doesn't cause trouble.

I'm probably going to remove the rubocop/test compose services at some point. With devcontainers you are just able to run the commands directly.
2024-01-12 20:50:24 +00:00
Earlopain
a0a0d8db13
[Docker] Replace solargraph with ruby-lsp
It just works.
Requires a bit of a workaround for the .rubocop.yml env setup currently in use but thats alright.
The companion ruby-lsp-rails doesn't do much right now but I imagine that to become quite powerful in the future.
2024-01-11 23:16:03 +01:00
Earlopain
4106787487
[Gems] Remove explicit dependecy on resolv
It's a default gem and as such not needed there
2023-12-17 20:28:10 +01:00
Earlopain
f8098721ec
[Misc] Remove memoist gem dependency
The author has passed away and  some functionality is broken with recent
ruby versions already. We only use a subset of it, so it's easy to replace.

Some places:
* Didn't even use it
* Used it but the method was already cached through memcached
* Just don't need it

Some places I question if it is needed but I'll just leave them there
since I don't want to benchmark
2023-11-08 22:21:11 +01:00
Earlopain
691b67f0e7
[Gems] Pin rails to the minor version
Rails minor updates are basically like major ones, without removing
deprecations but all the potential bugs that come with a major update.
Make a concious decision to update to these new versions.
2023-10-15 19:24:53 +02:00
Earlopain
2620ea983e
[Wiki] Better diffing view 2023-10-15 13:08:28 +02:00
Earlopain
80b26fbe16
[Docker] Allow easy enabling of NewRelic 2023-10-11 19:47:53 +02:00
Earlopain
3a58ac0938
Switch to OpenSearch (#550)
Run the following commands to import data into OpenSearch:

Post.document_store.create_index!
PostVersion.document_store.create_index!
Post.document_store.import
PostVersion.document_store.import

* Add opensearch client

* Add url param to force use opensearch

* Switch import method over to opensearch

* Index to opensearch as well

* Add option to gradually roll out os

* Index os with separate queue

* Move os post creation to job as well

* Exclusively use the OpenSearch client

* Stop enqueuing OsIndexUpdateJob

* Remove remaining elasticsearch code

Bump faraday since v2 is no longer blocked
2023-10-02 18:57:07 +02:00
Earlopain
0bd651c08b
[Elasticsearch] Remove elasticsearch-model gem
This should be the bulk of the work to integrate with opensearch-ruby
2023-09-16 15:52:05 +02:00
Earlopain
17b9797657
[Misc] Remove elasticsearch-rails gem
There is no counterpart for OpenSearch.
`elasticsearch-model` needs to go too but that is more involved than
just removing something that only facilitates logging in dev.

This was responsible for
* displaying the time elasticsearch queries took per request
* logging the search parameters being sent to elasticsearch per query

The implementation isn't that complex and I could roll something myself but
considering that I haven't sought that information out by now I'll just don't.
Logging queries is trivial since we craft these manually ourselves.
2023-09-12 20:23:35 +02:00
Earlopain
05b100f8da
[Cleanup] Remove Cache.hash
Rails already handles long keys for us
2023-05-19 22:14:34 +02:00
Earlopain
eb8e402152
[Gems] Update to sidekiq 7
Moves the redis handling into the cache class because of a naming
conflict with redis-client which is now being pulled in by sidekiq
2023-04-15 20:43:37 +02:00
Earlopain
46eca3cb97
[Gems] Remove pry-byebug 2023-04-15 17:08:37 +02:00
Earlopain
3553987b6d
[Gems] Add rubocop-erb 2023-02-23 13:22:26 +01:00
Earlopain
8b28393596
[Misc] Move to org 2023-01-23 20:43:56 +01:00
Earlopain
e262f06a93
[Cleanup] Remove NoteSanizier
Notes are formatted using dtext only. Even though the existance of this
class suggests that some html elements are allowed, it doesn't actually do anything.
Link relativization also didn't work, same with dtext colors.
2022-12-17 17:00:27 +01:00
Earlopain
f238dca8cb
[Cleanup] Remove staging environment 2022-12-09 18:55:58 +01:00
Earlopain
934c8e3b87
[Docker] Run daily maintenance
Remove whenever, it's not used in prod. Prod uses systemd timers.
This executes the daily task on container startup. My PC isn't going to
run when this would execute 99% of the time.
2022-12-09 18:16:53 +01:00
Earlopain
a34c2217b6 [Tests] Use factory_bot_rails and clean up test_helper requires 2022-11-25 19:56:14 +01:00
Earlopain
32112d9e42
[Tests] Remove unused mock_redis 2022-11-25 14:33:58 +01:00
Earlopain
55d020877f
[Tests] Replace FFaker with FactoryBot sequences 2022-11-25 14:33:02 +01:00
Earlopain
c9f65608de
[Tests] Replace timecop with native Rails method
Also removes it at a bunch of places where it's not needed
2022-11-25 14:32:56 +01:00
Earlopain
044901ab44
[Gems] Lock sidekiq to v6
sidekiq-unique-jobs is incompatible with sidekiq 7, but doesn't prevent the upgrade.
2022-11-25 09:13:30 +01:00
Earlopain
dd3fb80b8c
Merge remote-tracking branch 'origin/master' into rails-7 2022-10-23 19:35:57 +02:00
Earlopain
179a948cf2
[Docker] Add solargraph to the image, and a few more things
* Allow modifying .env without git complainging about changes to commit
* Require COMPOSE_PROFILE=solargraph for solargraph to be included in the image
* Set required vscode settings for solargraph to correctly work in docker
* Clean up .solargraph.yml. All these removed values are the default
* Disable autocomplete in the rails console
* Add a compose service to run rubocop

* Upddate rubocop config

Added some, removed some, ordered alphabetically.
Before: 844 files inspected, 6871 offenses detected, 6095 offenses autocorrectable
After: 844 files inspected, 8024 offenses detected, 7538 offenses autocorrectable
Most of the new offences are because of Style/StringLiterals (1312)
2022-10-18 23:35:18 +02:00
Earlopain
fbc06182cc
[Rails] Update to 7 and run app:update 2022-10-10 13:22:35 +02:00
Earlopain
7331b9a5de
[Cleanup] Remove unused packages 2022-06-12 20:58:18 +02:00
Earlopain
57f711bb4d
Merge branch 'master' into ruby-3 2022-05-28 15:45:25 +02:00
Kira
42578e58a5 [Gems] Add missing gems needed for prod config.
It seems like active_mailer loads these even if they aren't used.
2022-05-26 15:51:05 -07:00
Earlopain
eff1500059
[Cleanup] Remove some unusted dev/test gems 2022-05-26 19:23:25 +02:00
Earlopain
b05a8a5a51
[Cleanup] Replace ruby-imagespec with Vips::Image
ImageSpec is also capable of providing sizes for flash, but that isn't
exactly relevant anymore
2022-05-26 18:10:20 +02:00
Earlopain
87235d6e92
[Ruby] Update to 3.1
net-smtp is no longer bundled by default
Webrick is no longer bundled by default, new rails projects are created
with puma in the gemfile
2022-04-25 21:27:09 +02:00
Earlopain
326bf9594f
[Cleanup] Remove mock services 2022-05-19 12:04:56 +02:00
Earlopain
3de690961d
[Cleanup] Remove unused gems and tables/columns 2022-04-07 19:17:33 +02:00
Earlopain
a80c9af67f
[Uploads] Improve invalid file ext error reporting 2022-03-21 16:50:17 +01:00
Kira
048e5d7182 [Rails] Update to rails 6
Fix sidekiq initializer
2021-02-25 12:08:09 -08:00