| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/ /
| |
| |
| |
| |
| |
| | |
This reverts commit 9f65d2a08bc80a94bbb2c0b6e00957c7059aed25, reversing
changes made to 966843732a607864b077b72b2a17168d4e3548cc.
This broken a lot of tests.
|
|\ \
| | |
| | | |
Bump mysql2 version
|
| |/
| |
| |
| |
| | |
Skip 0.4.8 and 0.4.9, which had
[Compilation failures against MariaDB Connector/C 3.0.2](https://github.com/brianmario/mysql2/releases/tag/0.4.10).
|
|\ \
| | |
| | | |
PERF: dedupe scanned route fragments
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Per: https://bugs.ruby-lang.org/issues/13077 String @- will dedupe strings.
This takes advantage of this by deduping route fragments that are full of duplication usually.
For Discourse:
Before:
Total allocated: 207574305 bytes (2214916 objects)
Total retained: 36470010 bytes (322194 objects)
After
Total allocated: 207556847 bytes (2214711 objects)
Total retained: 36327973 bytes (318627 objects) <- object that GC can not collect
So we save 3500 or so RVALUES this way, not the largest saving in the world, but worth it especially for large route files.
|
|\ \ \
| |_|/
|/| | |
PERF: symbolize ivar, to reduce dupes
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I noticed this in my memory profiler report.
```
153 "@default_url_options"
152 /home/sam/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/core_ext/class/attribute.rb:84
```
152 copies of the string `@default_url_options` are retained on the heap in Discourse post boot.
Since this is just used for ivar lookups there is no need to use a string.
|
|\ \
| |/
|/| |
Missing backquote, extra end keyword [ci skip]
|
|/ |
|
|
|
| |
Add #create_or_find_by to lean on unique constraints
|
|\
| |
| | |
Use require_dependency inside Active Storage
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Active Storage is an engine which means its models, jobs and controllers
are autoloaded by Rails rather than Ruby. Unfortunately this means it's
subject to the same gotchas as applications, including this one:
http://guides.rubyonrails.org/v5.1.4/autoloading_and_reloading_constants.html#when-constants-aren-t-missed-qualified-references
On Ruby < 2.5, constants nested under classes can't be autoloaded by
Rails if a top level constant already exists with the same name.
To avoid clashing with constants defined in users' applications or gems,
we can use `require_dependency` to ensure that the nested constants are
loaded before they're used.
|
|\ \
| |/
|/|
| | |
Add support for connection pooling on RedisCacheStore
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
toptal/introduce-custom-serializers-to-activejob-arguments
Introduce custom serializers to ActiveJob arguments
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This will make easier to be backwards compatible when changing the
serialization implementation.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can speed up things for the supported types by keeping the code in the
way it was.
We can also avoid to loop trough all serializers in the deserialization by
trying to access the class already in the Hash.
We could also speed up the custom serialization if we define the class
that is going to be serialized when registering the serializers, but
that will remove the possibility of defining a serialzer for a
superclass and have the subclass serialized using it.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now custom serialziers can register itself in the serialized hash using
the "_aj_serialized" key that constains the serializer name.
This way we can avoid poluting the hash with many reserved keys.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Right now it is only possible to define serializers globally so we don't
need to use a class attribute in the job class.
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Rdoc formatting fix: <b> instead of MD-style asterisks
|
| | |
| | |
| | |
| | | |
[ci skip]
|
|/ / |
|
| | |
|
|\ \
| | |
| | | |
Bump i18n to 1.0
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Don't overwrite config/master.key even on --force
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
See https://github.com/rails/rails/pull/31957#issuecomment-364817423
The purpose of `--force` is not to have any prompt whether a file should
be kept or overwritten. In general, all existing files should be overwritten.
However, `config/master.key` is special because it is git-ignored, and
overwriting it will cause the app not to run (since there won't be a way
to decrypt the credentials).
As a result, it's probably better to keep the existing config/master.key.
|
|\ \ \
| | | |
| | | | |
Add ActiveStorage::Blob.unattached scope
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Incompatible settings are included in the settings set by `load_defaults`.
So, I think that target version should be updated by a user when becomes
available, and should not be updated with `app:update`.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[ci skip]
Closes #31967
|
|\ \ \ \
| | | | |
| | | | | |
Change structure in the AS core extensions guide [ci skip]
|
|/ / / / |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
ActiveStorage: use full class names when including concerns to avoid collisions
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Improve wording in getting started guide
|
| | | |
| | | |
| | | |
| | | | |
[ci skip]
|