Age | Commit message (Collapse) | Author |
|
* Enable ESLint recommended ruleset
* Disable failing ESLint recommended rules
* Remove rules shadowed by eslint:recommended
|
|
* New translations activerecord.en.yml (Malayalam)
* New translations devise.en.yml (Malayalam)
* New translations doorkeeper.en.yml (Malayalam)
* New translations en.json (Breton)
* New translations simple_form.en.yml (Breton)
* New translations activerecord.en.yml (Breton)
* New translations devise.en.yml (Breton)
* New translations doorkeeper.en.yml (Breton)
* New translations en.json (Bosnian)
* New translations en.json (French, Quebec)
* New translations simple_form.en.yml (French, Quebec)
* New translations activerecord.en.yml (French, Quebec)
* New translations devise.en.yml (French, Quebec)
* New translations doorkeeper.en.yml (French, Quebec)
* New translations en.json (Sinhala)
* New translations simple_form.en.yml (Sinhala)
* New translations activerecord.en.yml (Sinhala)
* New translations devise.en.yml (Sinhala)
* New translations doorkeeper.en.yml (Sinhala)
* New translations en.json (Cornish)
* New translations en.json (Kannada)
* New translations devise.en.yml (Kannada)
* New translations simple_form.en.yml (Scottish Gaelic)
* New translations activerecord.en.yml (Scottish Gaelic)
* New translations devise.en.yml (Scottish Gaelic)
* New translations doorkeeper.en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Asturian)
* New translations activerecord.en.yml (Asturian)
* New translations devise.en.yml (Asturian)
* New translations simple_form.en.yml (Aragonese)
* New translations activerecord.en.yml (Aragonese)
* New translations devise.en.yml (Aragonese)
* New translations doorkeeper.en.yml (Aragonese)
* New translations simple_form.en.yml (Occitan)
* New translations activerecord.en.yml (Occitan)
* New translations devise.en.yml (Occitan)
* New translations doorkeeper.en.yml (Occitan)
* New translations activerecord.en.yml (Kurmanji (Kurdish))
* New translations doorkeeper.en.yml (Kurmanji (Kurdish))
* New translations simple_form.en.yml (Sorani (Kurdish))
* New translations devise.en.yml (Sorani (Kurdish))
* New translations doorkeeper.en.yml (Sorani (Kurdish))
* New translations en.json (Igbo)
* New translations en.json (Corsican)
* New translations simple_form.en.yml (Corsican)
* New translations activerecord.en.yml (Corsican)
* New translations devise.en.yml (Corsican)
* New translations doorkeeper.en.yml (Corsican)
* New translations en.json (Sardinian)
* New translations simple_form.en.yml (Sardinian)
* New translations activerecord.en.yml (Sardinian)
* New translations devise.en.yml (Sardinian)
* New translations doorkeeper.en.yml (Sardinian)
* New translations en.json (Sanskrit)
* New translations en.json (Kabyle)
* New translations simple_form.en.yml (Kabyle)
* New translations activerecord.en.yml (Kabyle)
* New translations devise.en.yml (Kabyle)
* New translations doorkeeper.en.yml (Kabyle)
* New translations en.json (Ido)
* New translations simple_form.en.yml (Ido)
* New translations activerecord.en.yml (Ido)
* New translations devise.en.yml (Ido)
* New translations doorkeeper.en.yml (Ido)
* New translations en.json (Taigi)
* New translations en.json (Silesian)
* New translations en.json (Standard Moroccan Tamazight)
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
* New translations activerecord.en.yml (Standard Moroccan Tamazight)
* New translations devise.en.yml (Standard Moroccan Tamazight)
* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)
* New translations en.json (Afrikaans)
* New translations en.json (Bulgarian)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Frisian)
* New translations en.json (Finnish)
* New translations en.json (Irish)
* New translations en.json (Hungarian)
* New translations en.json (Armenian)
* New translations en.json (Italian)
* New translations en.json (Georgian)
* New translations en.json (Lithuanian)
* New translations en.json (Macedonian)
* New translations en.json (Dutch)
* New translations en.json (Punjabi)
* New translations en.json (Chinese Traditional)
* New translations en.json (Urdu (Pakistan))
* New translations en.json (Vietnamese)
* New translations en.json (Tamil)
* New translations en.json (Bengali)
* New translations en.json (Marathi)
* New translations en.json (Croatian)
* New translations en.json (Kazakh)
* New translations en.json (Latvian)
* New translations en.json (Hindi)
* New translations en.json (Telugu)
* New translations en.json (English, United Kingdom)
* New translations en.json (Burmese)
* New translations en.json (Uyghur)
* New translations en.json (Tatar)
* New translations en.json (Malayalam)
* New translations en.json (Latin)
* New translations en.json (Bosnian)
* New translations en.json (Cornish)
* New translations en.json (Kannada)
* New translations en.json (Asturian)
* New translations en.json (Kurmanji (Kurdish))
* New translations en.json (Sorani (Kurdish))
* New translations en.json (Igbo)
* New translations en.json (Corsican)
* New translations en.json (Sardinian)
* New translations en.json (Sanskrit)
* New translations en.json (Kabyle)
* New translations en.json (Taigi)
* New translations en.json (Silesian)
* New translations en.json (Standard Moroccan Tamazight)
* New translations en.yml (French)
* New translations en.yml (Spanish)
* New translations en.yml (Arabic)
* New translations en.yml (Belarusian)
* New translations en.yml (Catalan)
* New translations en.yml (Czech)
* New translations en.yml (Danish)
* New translations en.yml (German)
* New translations en.yml (Greek)
* New translations en.yml (Frisian)
* New translations en.yml (Basque)
* New translations en.yml (Finnish)
* New translations en.yml (Hungarian)
* New translations en.yml (Italian)
* New translations en.yml (Japanese)
* New translations en.yml (Korean)
* New translations en.yml (Dutch)
* New translations en.yml (Norwegian)
* New translations en.yml (Polish)
* New translations en.yml (Portuguese)
* New translations en.yml (Russian)
* New translations en.yml (Slovak)
* New translations en.yml (Slovenian)
* New translations en.yml (Albanian)
* New translations en.yml (Swedish)
* New translations en.yml (Turkish)
* New translations en.yml (Ukrainian)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Vietnamese)
* New translations en.yml (Galician)
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Persian)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Bengali)
* New translations en.yml (Thai)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Kazakh)
* New translations en.yml (Estonian)
* New translations en.yml (Latvian)
* New translations en.yml (Malay)
* New translations en.yml (Welsh)
* New translations en.yml (Faroese)
* New translations en.yml (Esperanto)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Latin)
* New translations en.yml (French, Quebec)
* New translations en.yml (Sinhala)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Aragonese)
* New translations en.yml (Occitan)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Scots)
* New translations en.yml (Corsican)
* New translations en.yml (Sardinian)
* New translations en.yml (Ido)
* New translations simple_form.en.yml (Bulgarian)
* New translations simple_form.en.yml (Finnish)
* New translations simple_form.en.yml (Latin)
* New translations simple_form.en.yml (French, Quebec)
* New translations simple_form.en.yml (Kurmanji (Kurdish))
* New translations activerecord.en.yml (Frisian)
* New translations activerecord.en.yml (Latin)
* New translations devise.en.yml (Frisian)
* New translations devise.en.yml (Latin)
* New translations devise.en.yml (Kurmanji (Kurdish))
* New translations doorkeeper.en.yml (Bulgarian)
* New translations doorkeeper.en.yml (Frisian)
* New translations doorkeeper.en.yml (Hungarian)
* New translations doorkeeper.en.yml (Italian)
* New translations doorkeeper.en.yml (Vietnamese)
* New translations doorkeeper.en.yml (Latin)
* New translations en.json (Belarusian)
* New translations en.json (Catalan)
* New translations en.json (Danish)
* New translations en.json (Finnish)
* New translations en.json (Turkish)
* New translations en.yml (Belarusian)
* New translations en.yml (Catalan)
* New translations en.yml (Danish)
* New translations en.yml (Swedish)
* New translations en.yml (Turkish)
* New translations doorkeeper.en.yml (Danish)
* Normalize locale files
* New translations en.json (German)
* New translations en.json (Swedish)
* New translations en.json (Estonian)
* New translations en.json (Latvian)
* New translations en.json (Welsh)
* New translations en.yml (Hungarian)
* New translations en.yml (Polish)
* New translations en.yml (Latvian)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (Welsh)
* New translations activerecord.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations doorkeeper.en.yml (Czech)
* New translations doorkeeper.en.yml (Latvian)
* New translations doorkeeper.en.yml (Welsh)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Traditional)
* New translations en.json (Estonian)
* New translations en.yml (Swedish)
* New translations en.yml (Ukrainian)
* New translations en.yml (Chinese Traditional)
* New translations doorkeeper.en.yml (Italian)
* New translations doorkeeper.en.yml (Swedish)
* New translations doorkeeper.en.yml (Chinese Traditional)
* New translations en.json (Catalan)
* New translations en.json (Slovenian)
* New translations en.json (Faroese)
* New translations en.json (Asturian)
* New translations en.yml (Catalan)
* New translations en.yml (German)
* New translations en.yml (Slovenian)
* New translations en.yml (Faroese)
* New translations doorkeeper.en.yml (German)
* New translations doorkeeper.en.yml (Slovenian)
* New translations doorkeeper.en.yml (Faroese)
* New translations doorkeeper.en.yml (Ukrainian)
* New translations en.json (Greek)
* New translations en.yml (Danish)
* New translations en.json (Danish)
* New translations en.yml (Danish)
* New translations doorkeeper.en.yml (Danish)
* Normalize
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
|
|
|
|
|
|
|
|
|
|
|
|
* Add requested_by to relationship maps
* Display whether an account has requested to follow you on their profile
|
|
Co-authored-by: Effy Elden <effy@effy.space>
|
|
descriptions (#20923)
|
|
standard (#21262)
* Add sme, smj, and sma ISO-639-3 language codes
* Remove sme in ISO-639-3
|
|
Firstly, mailgun.com is now their domain. Secondly they are lots of providers to use; and sysadmins should be able to choose.
|
|
Fixes #17494
|
|
This brings the markup of the MediaItem component on par with the Item component from media_gallery.
Co-authored-by: Effy Elden <effy@effy.space>
|
|
* Update config.yml
* Update config.yml
|
|
|
|
There is an idempotency key generated by clients when authoring a post,
and stored in Redis, to ensure that if a user or client retries posting
the same status, we don't get a duplicate.
Hachyderm.io has been experiencing some filesystem and database
performance issues, causing database writes to be slow. This can mean
that there are successful posts, but the reverse proxy returns 504
Gateway Timeout before the idempotency status has been updated; users or
clients who retry (such as Tusky which retries automatically, see
tuskyapp/Tusky#2951) can re-try the same post with the same idempotency
key before it has actually been recorded in Redis, leading to duplicate
posts.
To address this issue, move all of the database updates after the
initial transaction that creates the status into the
`postprocess_status!` method, so we can insert the idempotency key
immediately after the status has been created, significantly reducing
the window in which the status could be created but the idempotency key
not yet stored.
Note: this has not yet been tested; I'm submitting this PR for
discussion and to offer to the Hachyderm.io admins to try out to fix the
multiple posting problem.
Co-authored-by: Brian Campbell <brcampbell@beta.team>
|
|
|
|
(#22135)
* Fix changing domain block severity not undoing individual account effects
Fixes #22133
* Add tests
|
|
* Update nvmrc to Node.js 16
* Update package.json minimum Node engine to 16
* Update README requirements to Node.js 16
* Update devcontainer Node.js version to 16
* Update devcontainer Dockerfile Node.js choices to LTS versions that are still in support/maintenance
* Pin CircleCI Node image to 16
* Fix YAML type issue
* Update CircleCI Node.js to 16.18 to match #22019
|
|
Fixes #22241
|
|
* Improve devcontainer for running tests
- Pull devcontainer post-create out into its own script
- Add asset precompilation
- Add test-mode asset precompilation (needed to run tests without error)
* Document Gemfile.lock re-checkout in devcontainer
|
|
* Display search popout at fixed screen position
* Attach search popout to search box
|
|
Fixes #18080
This keeps the `ui-base-lighter-color` but adds enough transparency so that text is more easily readable.
Tested in Firefox and Chrome.
|
|
When opening a page such as /web/timelines/home in a desktop browser, the
cursor was automatically placed in the textarea of the compose form.
When using the keyboard for navigation (using a browser plugin like vimium or
vim vixen, or just to hit 'space' to scroll down a page), you have remember to
leave the field before using that.
Since you only visit the page to write a new post some of the time, this PR
attempts to have nothing focused initially (and require the user to click or
e.g. use 'tab' to focus the textarea).
Tested:
* /web/timeslines/home no longer autofocuses the compose box
* pressing the 'n' hotkey still focuses the compose box
* clicking 'reply' for a post still focuses the compose box
* replying to a CW'ed post still focuses the compose box
* introducing the CW field still focuses the CW field
* introducing the CW field for a reply still focuses the CW field
* removing the CW field still focuses the compose box
* /web/statuses/new still autofocuses the compose box
fixes #15862
|
|
|
|
|
|
Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>
Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>
Co-authored-by: Effy Elden <effy@effy.space>
|
|
* Save avatar or header correctly if other one fails
* Fix test
|
|
|
|
|
|
|
|
Co-authored-by: meisam <meisam@noreply.codeberg.org>
|
|
ALLOWED_PRIVATE_ADDRESSES (#21926)
Fixes #20029
|
|
|
|
|
|
|
|
|
|
* fix(rubocop): update gems and add performance and rspec
fix(rubocop): update gems and add performance and rspec
- update present rubocop gems
- add rubocop-rspec and rubocop-performance gems
- move rubocop gems to gem group :development, :test in order to
make linting in a github action that runs with RAILS_ENV=test possible
* feat(rubocop): disable some annoyance RSpec cops
To mee these prooved to be more annoying than helpful.
If not agreed, they can be enabled any time.
* fix(rubocop): do not ignore spec/**/*
Because rubocop-rspec should lint the specs as well, and they
deserve to be readable in general. It is relevant code, after all.
* fix(rubocop): change ignore db/**/* to db/schema.rb
because rails cops do some lints for migrations.
E.g. reversable migrations linting and more.
* fix(rubocop): tune rules configs
Bunch of commits squashed:
fix(rubocop): enable Layout/LineLength cop
Because this project has code with line lenghts > 500 chars.
This is not good practice at all, so I strongly suggest to
change the practice in the future.
But allow heredoc, URI and comments to still be long lines
and make the default Max: 120 explicit, by repeating it in the
config. To me this max length seems reasonable. Perhaps
a bit more could be ok for some. But > 500 chars in one line
Seems to be way too long IMHO.
fix(rubocop): Metrics/CyclomaticComplexity Max to 12
The default is 7, perhaps quite strict. But 25 is too loose,
the rule becomes pointless like that.
fix(rubocop): AllCops ruby version, cacheing and more info
- fix the target ruby version from 2.5 to 3.0
- have the cop error messages to be more informative and helpful
- enable cacheing in /tmp
fix(rubocop): Metrics/AbcSize to 34 from 115
Rubocops default is 17. If the rule is at 115 is becomes
pointless.
fix(rubocop): Metrics/BlockLength improvements
- instead of ignoring tasks completely, ignore only the
long blocks that are specific to tasks (task, namespace)
- ignore also concern specific block methods (included, class_methods)
fix(rubocop): Metrics/ClassLength count heredoc array as one line
fix(rubocop): Metrics/MethodLength Max to 25
- the default is 10, but 65 is too loose, so perhaps 25?
fix(rubocop): Metrics/ModuleLength array and heredoc count as one
fix(rubocop): Metrics/PerceivedComplexity to 16 from 25
Rubocops default is 8, so how about only doubling that, instead
of > than tripple it?
fix(rubocop): enable Style/RedundantAssignment
Because I think that this rule would never really hurt,
but improve code quality and readability.
fix(rubocop): enable Style/RescueStandardError
I think everyone that ever had to debug what this can bring
will hopefully agree that this rule totally makes sense.
In the super rare exeptions where this is totally needed,
it can be excluded by disabling comment in that place.
fix(rubocop): Metrics/ParameterLists add explicit defaults and some excludes
|
|
* Use Rails tag API to build RSS feed for spoilers and polls
While the previous method did not contain a bug or a potential issue,
the tag API can be very resilient against future problems and reduces the
amount of manual management of the escape status of the content.
I've added tests to ensure that the formatting is broken and still
escapes control characters correctly.
* this seems cleaner and passes
* Incorporate feedback by moving the br to its own line and using the tag helper over the string constant for the br tag itself
* whoops, tag helper doesn't use a self-closing tag
|
|
s3-us-east-1.amazonaws.com does not exist.
Co-authored-by: Effy Elden <effy@effy.space>
|
|
Co-authored-by: Effy Elden <effy@effy.space>
|
|
|
|
The smaller border is difficult to see for some users, especially
when the browser window was thinner, and so the unread border is at the
very left edge of the window.
|
|
* Fix remaining plain %time to %time.formatted
* Add %time.relative-formatted to client format dates on the current day
* Add missing comma dangle to formats
* Use client side message format instead of the server
* Add fallback message to relatve_format.today
* Remove unused translation key and fix js lint issue
Co-authored-by: Effy Elden <effy@effy.space>
|
|
* Add localization for new admin scopes
* run bundle exec i18n-tasks normalize
|
|
enviroment -> environment
|
|
* `FormattedMessage` must be used directly
* rollback
|
|
* Adding 12 hours option for polls
Adding 12 hours option for polls
* Adding 12 hours option for polls
Missing > on a line
|
|
* Try unhiding search label.
* Use aria-label. Remove label as empty labels are useless.
* Remove addition of package-lock.json.
|