aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/application.ex
AgeCommit message (Collapse)Author
2022-10-08Merge branch 'release/2.4.4' into mergeback/2.4.4Tusooa Zhu
2022-09-04Merge branch 'fix/federation-context-issues' into 'develop'tusooa
Fix reply context fixing (Pleroma replies to Misskey threads) and removal of context objects See merge request pleroma/pleroma!3717
2022-09-03Merge branch 'from/upstream-develop/tusooa/edits' into 'develop'Haelwenn
Editing Closes #1429, #2859, and #2288 See merge request pleroma/pleroma!3678
2022-08-19Execute session disconnect in backgroundTusooa Zhu
2022-08-15Migrations: delete contexts with BaseMigratorHélène
Due to the lengthiness of this task, the migration has been adapted into a BaseMigrator migration, running in the background instead.
2022-07-14Allow higher amount of restarts for Pleroma.Repo during testingfloatingghost
This was done by floatingghost as part of a bigger commit in Akkoma. See <https://akkoma.dev/AkkomaGang/akkoma/src/commit/37ae047e1652c4089934434ec79f393c4c839122/lib/pleroma/application.ex#L83>. As explained in <https://ihatebeinga.live/objects/860d23e1-dc64-4b07-8b4d-020b9c56cff6> > there are so many caches that clearing them all can nuke the supervisor, which by default will become an hero if it gets more than 3 restarts in <5 seconds And further down the thread > essentially we've got like 11 caches (https://akkoma.dev/AkkomaGang/akkoma/src/commit/37ae047e1652c4089934434ec79f393c4c839122/lib/pleroma/application.ex#L165) > then in test we fetch them all (https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/test/support/data_case.ex#L50) and call clear on them > so if this clear fails on any 3 of them, the pleroma supervisor itself will die How it fails? > idk maybe cachex dies, maybe :ets does a weird thing > it doesn't log anything, it just consistently dies during cache clearing so i figured it had to be that > honestly my best bet is locksmith and queuing > https://github.com/whitfin/cachex/blob/master/lib/cachex/actions/clear.ex#L26 > clear is thrown into a locksmith transaction > locksmith says > >If the process is already in a transactional context, the provided function will be executed immediately. Otherwise the required keys will be locked until the provided function has finished executing. > so if we get 2 clears too close together, maybe it locks, then doesn't like the next clear?
2022-06-09Fix incorrectly cached content after editingTusooa Zhu
2022-02-25Copyright bump for 2022Sean King
2021-12-15Application: Actually start finch if it's neededLain Soykaf
2021-12-15Application, dependencies: prepare for finchLain Soykaf
2021-06-01More confusingly named legacy chat code renamed to shoutMark Felder
2021-06-01Ensure we actually start ShoutChannelMark Felder
2021-05-31Merge remote-tracking branch 'pleroma/develop' into cycles-base-urlAlex Gleason
2021-05-31Deprecate Pleroma.Web.base_url/0Alex Gleason
Use Pleroma.Web.Endpoint.url/0 directly instead. Reduces compiler cycles.
2021-03-12[#3213] Background migration infrastructure refactoring.Ivan Tashkinov
Extracted BaseMigrator and BaseMigratorState.
2021-02-23Merge remote-tracking branch 'remotes/origin/develop' into ↵Ivan Tashkinov
feature/object-hashtags-rework # Conflicts: # lib/pleroma/application.ex # lib/pleroma/config.ex
2021-02-22[#2534] Earlier init of Pleroma.Web.Endpoint (must be started prior to ↵Ivan Tashkinov
Pleroma.Web.Streamer).
2021-02-11Merge remote-tracking branch 'remotes/origin/develop' into ↵Ivan Tashkinov
feature/object-hashtags-rework # Conflicts: # CHANGELOG.md # lib/mix/tasks/pleroma/database.ex # lib/pleroma/web/templates/feed/feed/_activity.rss.eex
2021-02-04Standardize the way we capture and use Mix.env()Mark Felder
2021-01-21Merge remote-tracking branch 'remotes/origin/develop' into ↵Ivan Tashkinov
feature/object-hashtags-rework # Conflicts: # CHANGELOG.md
2021-01-21use proper namingAlexander Strizhakov
for MediaProxyWarmingPolicy in ConcurrentLimiter
2021-01-21configurable limits for ConcurrentLimiterAlexander Strizhakov
Pleroma.Web.RichMedia.Helpers & Pleroma.Web.MediaProxy
2021-01-13Merge remote-tracking branch 'remotes/origin/develop' into ↵Ivan Tashkinov
feature/object-hashtags-rework
2021-01-13[#3213] Prototype of data migrations functionality / HashtagsTableMigrator.Ivan Tashkinov
2021-01-13Bump Copyright to 2021Haelwenn (lanodan) Monnier
grep -rl '# Copyright © .* Pleroma' * | xargs sed -i 's;Copyright © .* Pleroma .*;Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>;'
2020-11-23Search: Save detected pg version in a persistent term.lain
2020-11-23Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into websearchlain
2020-11-20Linting.lain
2020-11-20Application: Save postgres version in the environmentlain
2020-11-20start limiters in mix tasksAlexander Strizhakov
2020-11-19Merge branch 'oban-jobs-to-simple-tasks' into 'develop'feld
Moving some background jobs into simple tasks Closes #1790 See merge request pleroma/pleroma!3129
2020-11-17Remove FedSocketsrinpatch
Current FedSocket implementation has a bunch of problems. It doesn't have proper error handling (in case of an error the server just doesn't respond until the connection is closed, while the client doesn't match any error messages and just assumes there has been an error after 15s) and the code is full of bad descisions (see: fetch registry which uses uuids for no reason and waits for a response by recursively querying a ets table until the value changes, or double JSON encoding). Sometime ago I almost completed rewriting fedsockets from scrach to adress these issues. However, while doing so, I realized that fedsockets are just too overkill for what they were trying to accomplish, which is reduce the overhead of federation by not signing every message. This could be done without reimplementing failure states and endpoint logic we already have with HTTP by, for example, using TLS cert auth, or switching to a more performant signature algorithm. I opened https://git.pleroma.social/pleroma/pleroma/-/issues/2262 for further discussion on alternatives to fedsockets. From discussions I had with other Pleroma developers it seems like they would approve the descision to remove them as well, therefore I am submitting this patch.
2020-11-11Moving some background jobs into simple tasksAlexander Strizhakov
- fetching activity data - attachment prefetching - using limiter to prevent overload
2020-10-31Add idempotency_key to the chat_message entity.eugenijm
2020-10-22[#3059] Fixed Phoenix 1.5 telemetry processing.Ivan Tashkinov
2020-10-17Merge remote-tracking branch 'remotes/origin/develop' into chore/elixir-1.11Ivan Tashkinov
2020-10-13Merge branch 'develop' into feature/gen-magicMark Felder
2020-10-13Merge branch 'develop' into chore/elixir-1.11Mark Felder
2020-10-13HTTPSecurityPlug module name and filenameAlexander Strizhakov
2020-10-13renaming ratelimiter supervisorAlexander Strizhakov
2020-10-09Merge branch 'develop' into feature/gen-magicMark Felder
2020-10-07Compatibility with phoenix_pubsub 2.0.0Mark Felder
2020-10-07@env is not usedMark Felder
2020-09-29[#3031] Refactoring: moved system commands checks to ApplicationRequirements.Ivan Tashkinov
2020-09-26Adjusted MediaProxyControllerTest to gracefully fail on missing ↵Ivan Tashkinov
dependencies. Installation docs update. Added ffmpeg/imagemagick checks to launch checks (if media preview proxy is enabled). Added documentation on installing optional media / graphics packages (imagemagick, ffmpeg, exiftool).
2020-09-18Federate data through persistent websocket connectionsSteven Fuchs
2020-09-10Merge branch 'develop' into feature/gen-magicMark Felder
2020-09-07removing Stats worker from Oban cron jobsAlexander Strizhakov
2020-09-02user agent if Endpoint is not started yetAlexander Strizhakov
2020-09-01application.ex: disable warnings_as_errors at runtimerinpatch
see changed files for rationale