Commit Graph

5769 Commits

Author SHA1 Message Date
FloatingGhost bf7ff6a337 Put rich media processing in a Task
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-12-30 20:11:53 +00:00
floatingghost 9be6caf125 argon2 password hashing (#406)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #406
2022-12-30 02:46:58 +00:00
floatingghost a5e98083f2 Add link verification in profile fields (#405)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #405
2022-12-29 20:56:06 +00:00
FloatingGhost af7c3fab98 Do not crash on invalid atom in configDB
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-12-21 00:16:39 +00:00
Atsuko Karagi 4a78c431cf Simplified HTTP signature processing
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-19 20:41:48 +00:00
Atsuko Karagi e17c71a389 Respect restrict_unauthenticated in /api/v1/accounts/lookup 2022-12-19 20:32:16 +00:00
ilja c092fc9fd6 Add translation module for Argos Translate (#351)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Argos Translate is a Python module for translation and can be used as a command line tool.

This is also the engine for LibreTranslate, for which we already have a module.
Here we can use the engine directly from our server without doing requests to a third party or having to install our own LibreTranslate webservice (obviously you do have to install Argos Translate).

One thing that's currently still missing from Argos Translate is auto-detection of languages (see <https://github.com/argosopentech/argos-translate/issues/9>). For now, when no source language is provided, we just return the text unchanged, supposedly translated from the target language. That way you get a near immediate response in pleroma-fe when clicking Translate, after which you can select the source language from a dropdown.

Argos Translate also doesn't seem to handle html very well. Therefore we give admins the option to strip the html before translating. I made this an option because I'm unsure if/how this will change in the future.

Co-authored-by: ilja <git@ilja.space>
Reviewed-on: #351
Co-authored-by: ilja <akkoma.dev@ilja.space>
Co-committed-by: ilja <akkoma.dev@ilja.space>
2022-12-19 13:06:39 +00:00
FloatingGhost 3d546409b2 remove now-unused test
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-12-17 23:21:24 +00:00
FloatingGhost 52d8183787 drop admin scopes on create app instead of rejecting 2022-12-17 23:14:49 +00:00
FloatingGhost dcac8adb3d Add option to modify HTTP pool size
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-12-16 18:33:00 +00:00
FloatingGhost 584f99b69d fix markdown link
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-12-16 13:24:18 +00:00
FloatingGhost 372eea4e7c add changelog entry for custom emoji
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-16 13:20:48 +00:00
FloatingGhost 20e3cb2b25 fix csp-induced HTML match error
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
2022-12-16 12:19:24 +00:00
FloatingGhost ca70d42541 mix format
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-16 11:18:14 +00:00
FloatingGhost 48d302a60f allow disabling prometheus entirely
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-16 11:17:04 +00:00
FloatingGhost 6d8e4d5e05 add test for metrics controller
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-16 10:56:17 +00:00
FloatingGhost c2054f82ab allow users with admin:metrics to read app metrics
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-16 03:32:51 +00:00
FloatingGhost b8be8192fb do not allow non-admins to register tokens with admin scopes
this didn't actually _do_ anything in the past,
the users would be prevented from accessing the resource,
but they shouldn't be able to even create them
2022-12-16 03:25:14 +00:00
floatingghost 07a48b9293 giant massive dep upgrade and dialyxir-found error emporium (#371)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #371
2022-12-14 12:38:48 +00:00
duponin 3e9c0b380a
Return 413 when an actor's banner or background exceeds the size limit 2022-12-12 17:28:14 -05:00
duponin c9304962c3
Uploading an avatar media exceeding max size returns a 413
Until now it was returning a 500 because the upload plug were going
through the changeset and ending in the JSON encoder, which raised
because struct has to @derive the encoder.
2022-12-12 17:28:09 -05:00
FloatingGhost 77e9a52450 allow http AS profile in ld+json header
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-12-12 19:06:04 +00:00
FloatingGhost 9c71782861 Test removed HTTP adapter
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-11 23:50:31 +00:00
FloatingGhost f752126427 Remove quack, ensure adapter is finch
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-11 23:22:35 +00:00
FloatingGhost affc910372 Remove hackney/gun in favour of finch 2022-12-11 19:19:31 +00:00
FloatingGhost 68894089e8 Do not fetch anything from blocked instances
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-12-10 00:09:45 +00:00
FloatingGhost 739ed14f54 Revert "mandate published on notes"
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
This reverts commit e49b583147.
2022-12-09 20:59:26 +00:00
FloatingGhost e49b583147 mandate published on notes
ci/woodpecker/push/woodpecker Pipeline is pending Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
fixes #356
2022-12-09 20:27:54 +00:00
FloatingGhost f5a315f04c Add URL and code to :not_found errors
Ref #355
2022-12-09 20:13:31 +00:00
FloatingGhost 9db4c2429f Remove FollowBotPolicy 2022-12-09 19:59:27 +00:00
FloatingGhost 6f83ae27aa extend reject MRF to check if originating instance is blocked 2022-12-09 19:57:29 +00:00
ilja 1f863f0a36 Fix MRF policies to also work with Update
ci/woodpecker/pr/woodpecker Pipeline failed Details
Objects who got updated would just pass through several of the MRF policies, undoing moderation in some situations.
In the relevant cases we now check not only for Create activities, but also Update activities.

I checked which ones checked explicitly on type Create using `grep '"type" => "Create"' lib/pleroma/web/activity_pub/mrf/*`.

The following from that list have not been changed:
* lib/pleroma/web/activity_pub/mrf/follow_bot_policy.ex
    * Not relevant for moderation
* lib/pleroma/web/activity_pub/mrf/keyword_policy.ex
    * Already had a test for Update
* lib/pleroma/web/activity_pub/mrf/object_age_policy.ex
    * In practice only relevant when fetching old objects (e.g. through Like or Announce). These are always wrapped in a Create.
* lib/pleroma/web/activity_pub/mrf/reject_non_public.ex
    * We don't allow changing scope with Update, so not relevant here
2022-12-08 23:22:05 +01:00
ilja ce517ff4e5 Fix tagpolicy to also work with Update
ci/woodpecker/pr/woodpecker Pipeline is pending Details
Objects who got updated would just pass the TagPolicy, undoing the moderation that was set in place for the Actor.
Now we check not only for Create activities, but also Update activities.
2022-12-08 21:53:42 +01:00
sfr 7c4b415929 static-fe overhaul (#236)
ci/woodpecker/push/woodpecker Pipeline was successful Details
makes static-fe look more like pleroma-fe, with the stylesheets matching pleroma-dark and pleroma-light based on `prefers-color-scheme`.

- [x] navbar
- [x] about sidebar
- [x] background image
- [x] statuses
  - [x] "reply to" or "edited" tags
- [x] accounts
  - [x] show more / show less
  - [x] posts / with replies / media / followers / following
    - [x] followers/following would require user card snippets
  - [x] admin/bot indicators
- [x] attachments
  - [x] nsfw attachments
- [x] fontawesome icons
- [x] clean up and sort css
- [x] add pleroma-light
- [x] replace hardcoded strings

also i forgot
- [x] repeated headers

how it looks + sneak peek at statuses:
![](https://akkoma.dev/attachments/c0d3a025-6987-4630-8eb9-5f4db6858359)

Co-authored-by: Sol Fisher Romanoff <sol@solfisher.com>
Reviewed-on: #236
Co-authored-by: sfr <sol@solfisher.com>
Co-committed-by: sfr <sol@solfisher.com>
2022-12-07 11:20:53 +00:00
FloatingGhost b058df3faa Allow dashes in domain name search
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-12-06 10:57:10 +00:00
floatingghost d55de5debf Remerge of hashtag following (#341)
ci/woodpecker/push/woodpecker Pipeline was successful Details
this time with less idiot

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #341
2022-12-05 12:58:48 +00:00
floatingghost ec6bf8c3f7 revert 4a94c9a31e
ci/woodpecker/push/woodpecker Pipeline is pending Details
revert Add ability to follow hashtags (#336)

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #336
2022-12-04 20:04:09 +00:00
floatingghost 4a94c9a31e Add ability to follow hashtags (#336)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #336
2022-12-04 17:36:59 +00:00
floatingghost 6b882a2c0b Purge Rejected Follow requests in daily task (#334)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #334
2022-12-03 23:17:43 +00:00
floatingghost 8d6cc6cb65 Resolve follow activity from accept/reject without ID (#328)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #328
2022-12-02 11:12:37 +00:00
floatingghost db60640c5b Fixing up deletes a bit (#327)
ci/woodpecker/push/woodpecker Pipeline failed Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #327
2022-12-01 15:00:53 +00:00
floatingghost 0cfd5b4e89 Add ability to set a default post expiry (#321)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #321
2022-11-28 13:34:54 +00:00
FloatingGhost ee7059c9cf Spin off imports into n oban jobs
ci/woodpecker/push/woodpecker Pipeline is pending Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
2022-11-27 21:45:41 +00:00
FloatingGhost 5bb95256ee weirdly no, images should not have classes
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-11-26 21:15:10 +00:00
FloatingGhost c379618b34 Add tests, changelog entry
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
2022-11-26 20:52:49 +00:00
floatingghost e3085c495c fix tests broken by relay defaults changing (#314)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #314
2022-11-26 20:45:47 +00:00
Pleroma Consulting Services Buy Bitcoin NOW Real a90c45b7e9 Add Signed Fetch Statistics (#312)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Close #304.

Notes:
 - This patch was made on top of Pleroma develop, so I created a separate cachex worker for request signature actions, instead of Akkoma's instance cache. If that is a merge blocker, I can attempt to move logic around for that.
 - Regarding the `has_request_signatures: true -> false` state transition: I think that is a higher level thing (resetting instance state on new instance actor key) which is separate from the changes relevant to this one.

Co-authored-by: Luna <git@l4.pm>
Reviewed-on: #312
Co-authored-by: @luna@f.l4.pm <akkoma@l4.pm>
Co-committed-by: @luna@f.l4.pm <akkoma@l4.pm>
2022-11-26 19:22:56 +00:00
floatingghost 2fe1484ed3 http timeout config (#307)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Ref https://meta.akkoma.dev/t/increase-timeout-on-libretranslate-request-how/156/2

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #307
2022-11-24 12:27:16 +00:00
ave 1c4ca20ff7 Change follow_operation schema to use type BooleanLike (#301)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Changes follow_operation schema to use BooleanLike instead of :boolean so that strings like "0" and "1" (used by mastodon.py) can be accepted. Rest of file uses the same. For more info please see https://git.pleroma.social/pleroma/pleroma/-/issues/2999

(I'm also sending this here as I'm not hopeful about upstream not ignoring  it)

Co-authored-by: ave <ave@ave.zone>
Reviewed-on: #301
Co-authored-by: ave <ave@noreply.akkoma>
Co-committed-by: ave <ave@noreply.akkoma>
2022-11-24 11:27:01 +00:00
@r3g_5z@plem.sapphic.site 0e4c201f8d HTTP header improvements (#294)
ci/woodpecker/push/woodpecker Pipeline is pending Details
- Drop Expect-CT

Expect-CT has been redundant since 2018 when Certificate Transparency became mandated and required for all CAs and browsers. This header is only implemented in Chrome and is now deprecated. HTTP header analysers do not check this anymore as this is enforced by default. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect-CT

- Raise HSTS to 2 years and explicitly preload

The longer age for HSTS, the better. Header analysers prefer 2 years over 1 year now as free TLS is very common using Let's Encrypt.
For HSTS to be fully effective, you need to submit your root domain (domain.tld) to https://hstspreload.org. However, a requirement for this is the "preload" directive in Strict-Transport-Security. If you do not have "preload", it will reject your domain.

- Drop X-Download-Options

This is an IE8-era header when Adobe products used to use the IE engine for making outbound web requests to embed webpages in things like Adobe Acrobat (PDFs). Modern apps are using Microsoft Edge WebView2 or Chromium Embedded Framework. No modern browser checks or header analyser check for this.

- Set base-uri to 'none'

This is to specify the domain for relative links (`<base>` HTML tag). pleroma-fe does not use this and it's an incredibly niche tag.

I use all of these myself on my instance by rewriting the headers with zero problems. No breakage observed.

I have not compiled my Elixr changes, but I don't see why they'd break.

Co-authored-by: r3g_5z <june@terezi.dev>
Reviewed-on: #294
Co-authored-by: @r3g_5z@plem.sapphic.site <june@terezi.dev>
Co-committed-by: @r3g_5z@plem.sapphic.site <june@terezi.dev>
2022-11-20 21:20:06 +00:00
floatingghost e1e0d5d759 microblogpub federation fixes (#288)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #288
2022-11-18 11:14:35 +00:00
Haelwenn (lanodan) Monnier 3e0a5851e5 Set instance reachable on fetch
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-11-15 17:23:47 +00:00
floatingghost 2a1f17e3ed and i yoink (#275)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: Mark Felder <feld@feld.me>
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #275
2022-11-14 15:07:26 +00:00
floatingghost c1127e321b Add configurable timeline per oban job (#273)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Heavily inspired by https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3777

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #273
2022-11-13 23:55:51 +00:00
FloatingGhost ac0c00cdee Add media sources to connect-src if media proxy is enabled
ci/woodpecker/push/woodpecker Pipeline failed Details
2022-11-10 17:26:51 +00:00
FloatingGhost bab1ab5b6c strip \r and \r from content-disposition filenames 2022-11-10 11:54:12 +00:00
floatingghost cc6a076202 Include requested_by in relationship (#260)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #260
2022-11-10 03:16:32 +00:00
FloatingGhost 479aacb1b6 Add fallback for reports that don't have attached activities
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-11-08 11:01:47 +00:00
FloatingGhost a0b8e3c842 Don't mess with the cache on metadata update
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-11-08 10:39:01 +00:00
FloatingGhost 7bbaa8f8e0 automatically trim loading *. prefixes on domain blocks
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-11-07 22:33:18 +00:00
floatingghost 31ad09010e Fix regex usage in MRF (#254)
ci/woodpecker/push/woodpecker Pipeline is pending Details
fixes #235
fixes #228

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #254
2022-11-06 23:50:32 +00:00
floatingghost b7e8ce2350 Scrape instance nodeinfo (#251)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #251
2022-11-06 22:49:39 +00:00
FloatingGhost ccdf55acff Fix instance name in email test
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-11-04 18:42:12 +00:00
Thomas Citharel 4d0a51221a
Fix typo in CSP Report-To header name
ci/woodpecker/pr/woodpecker Pipeline failed Details
The header name was Report-To, not Reply-To.

In any case, that's now being changed to the Reporting-Endpoints HTTP
Response Header.
https://w3c.github.io/reporting/#header
https://github.com/w3c/reporting/issues/177

CanIUse says the Report-To header is still supported by current Chrome
and friends.
https://caniuse.com/mdn-http_headers_report-to

It doesn't have any data for the Reporting-Endpoints HTTP header, but
this article says Chrome 96 supports it.
https://web.dev/reporting-api/

(Even though that's come out one year ago, that's not compatible with
Network Error Logging which's still using the Report-To version of the
API)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-04 15:02:13 +01:00
floatingghost 9038da01cc Merge pull request 'Push.Impl: support edits' (#244) from norm/akkoma:push-support-edits into develop
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #244
2022-11-01 15:14:08 +00:00
floatingghost e44e147b54 Merge pull request 'fix flaky test_user_relationship_test.exs:81' (#240) from ilja/akkoma:fix_flaky_test_user_relationship_test.exs_81 into develop
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #240
2022-11-01 14:44:23 +00:00
floatingghost d5bbc3eeb2 Merge pull request 'fix flaky test filter_controller_test.exs:200' (#239) from ilja/akkoma:fix_flaky_filter_controller_test.exs_200 into develop
ci/woodpecker/push/woodpecker Pipeline is pending Details
Reviewed-on: #239
2022-11-01 14:42:43 +00:00
floatingghost 479542c692 Merge pull request 'fix flaky participation_test.exs' (#238) from ilja/akkoma:fix_erratic_participation_test into develop
ci/woodpecker/push/woodpecker Pipeline is pending Details
Reviewed-on: #238
2022-11-01 14:37:06 +00:00
ilja be5044f785 fix_flaky_transfer_task_test.exs (#237)
ci/woodpecker/push/woodpecker Pipeline is pending Details
There were async calls happening, so they weren't always finished when assert happened.

I also fixed some bugs in the erratic tests that were introduced when removing :shout.:shout is a key where restart is needed, and was changed in the test to use :rate_limit (which also requires a restart). But there was a bug in the syntax that didn't get caught because the test was tagged as erratic and therefor didn't fail. Here I fixed it.

During compilation, we had a warning `:logger is used by the current application but the current application does not depend on :logger` which is now fixed as well (see commit message for complete stacktrace).

Co-authored-by: Ilja <ilja@ilja.space>
Reviewed-on: #237
Co-authored-by: ilja <akkoma.dev@ilja.space>
Co-committed-by: ilja <akkoma.dev@ilja.space>
2022-11-01 14:31:29 +00:00
ilja f1dfd76b98 Fix rate_limiter_test.exs test "it restricts based on config values" (#233)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Fixes one of the 'erratic' tests

It used a timer to sleep.
But time also goes on when doing other things, so depending on hardware, the timings could be off.
I slightly changed the tests so we still test what we functionally want.
Instead of waiting until the cache expires I now have a function to expire the test and use that.

That means we're not testing any more if the cache really expires after a certain amount of time,
but that's the responsability of the dependency imo, so shouldn't be a problem.

I also changed `Pleroma.Web.Endpoint, :http, :ip` in the tests to `127.0.0.1`
Currently it was set to 8.8.8.8, but I see no reason for that and, while I assume that no calls
are made to it, it may come over as weird or suspicious to people.

Co-authored-by: Ilja <ilja@ilja.space>
Reviewed-on: #233
Co-authored-by: ilja <akkoma.dev@ilja.space>
Co-committed-by: ilja <akkoma.dev@ilja.space>
2022-11-01 14:25:54 +00:00
FloatingGhost 1bb8b76311 Fix tests in ldap registration
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-11-01 14:21:35 +00:00
marcin mikołajczak 6486211064
Push.Impl: support edits
ci/woodpecker/pr/woodpecker Pipeline failed Details
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-28 01:20:19 -04:00
Ilja 66a04cead3 Descriptions from exif data with only whitespeces are considered empty
ci/woodpecker/pr/woodpecker Pipeline is pending Details
I noticed that pictures taken with Ubuntu-Touch have whitespace in one of the fields
This should just be ignored imo
2022-10-23 14:46:22 +02:00
Ilja 338612d72b Use EXIF data of image to prefill image description
During attachment upload Pleroma returns a "description" field.

* This MR allows Pleroma to read the EXIF data during upload and return the description to the FE using this field.
    * If a description is already present (e.g. because a previous module added it), it will use that
    * Otherwise it will read from the EXIF data. First it will check -ImageDescription, if that's empty, it will check -iptc:Caption-Abstract
    * If no description is found, it will simply return nil, which is the default value
* When people set up a new instance, they will be asked if they want to read metadata and this module will be activated if so

There was an Exiftool module, which has now been renamed to Exiftool.StripLocation
2022-10-23 14:46:16 +02:00
ilja 3562eaeedc fix flaky test_user_relationship_test.exs:81
ci/woodpecker/pr/woodpecker Pipeline is pending Details
The problem was double. On the one hand, the function didn't actually return what was in the DB.
On the other hand the test was flaky because it used NaiveDateTime.utc_now() so test could fail or pass depending on a difference of microseconds.

Both are fixed now.
2022-10-23 13:31:01 +02:00
Ilja a59d310982 fix flaky test filter_controller_test.exs:200
ci/woodpecker/pr/woodpecker Pipeline is pending Details
2022-10-23 13:07:02 +02:00
ilja e6ceea3553 fix flaky participation_test.exs
ci/woodpecker/pr/woodpecker Pipeline is pending Details
It was tested if the updated_at after marking as "read" was equal as the updated_at at insertion, but that seems wrong.
Firstly, if a record is updated, you expect the updated_at to also update.
Secondly, the insert and update happen almost at the same time, so it's flaky regardless.

Here I make sure it has a much older updated_at during insert so we can clealy see the effect after update.
I also check that the updated_at is actually updated because I expect that this is the expected behaviour and it's also the current behaviour.
2022-10-23 12:33:31 +02:00
floatingghost f36d14818d Unilateral remove from followers (#232)
ci/woodpecker/push/woodpecker Pipeline was successful Details
from https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3647/

Co-authored-by: marcin mikołajczak <git@mkljczk.pl>
Co-authored-by: Tusooa Zhu <tusooa@kazv.moe>
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #232
2022-10-19 10:01:14 +00:00
floatingghost edf7d5089f Merge pull request 'Check that the signature matches the creator' (#230) from domain-blocks into develop
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #230
2022-10-14 11:41:34 +00:00
FloatingGhost 03662501c3 Check that the signature matches the creator
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
2022-10-14 11:48:32 +01:00
FloatingGhost cb9b0d3720 optimise notifications query
ci/woodpecker/push/woodpecker Pipeline is pending Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
2022-10-11 11:40:43 +01:00
floatingghost c6e63aaf6b Backend settings sync (#226)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #226
2022-10-06 16:22:15 +00:00
floatingghost b2aa82cee5 Fix false error in meilisearch index (#221)
ci/woodpecker/push/woodpecker Pipeline failed Details
the schema changed

https://docs.meilisearch.com/reference/api/documents.html#add-or-update-documents

this wasn't breaking anything, it would just report errors that were actually successes

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #221
2022-09-20 10:36:21 +00:00
Norm 561e1f2470 Make backups require its own scope (#218)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Pulled from https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3721.

This makes backups require its own scope (`read:backups`) instead of the `read:accounts` scope.

Co-authored-by: Tusooa Zhu <tusooa@kazv.moe>
Reviewed-on: #218
Co-authored-by: Norm <normandy@biribiri.dev>
Co-committed-by: Norm <normandy@biribiri.dev>
2022-09-19 17:31:35 +00:00
a1batross 77596a3021
User: search: exclude deactivated users from user search
ci/woodpecker/pr/woodpecker Pipeline is pending Details
This way we don't pollute search results with deactivated and deleted users
2022-09-15 21:21:06 -04:00
Tusooa Zhu 2aa8e66527 Fix User.get_or_fetch/1 with usernames starting with http 2022-09-11 20:29:05 +01:00
FloatingGhost b4261b0335 Use set of pregenerated RSA keys
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
Randomness is a huge resource sink, so let's just use
a some that we made earlier
2022-09-11 20:14:58 +01:00
Hélène 8683252fc5 Metadata/Utils: use summary as description if set
When generating OpenGraph and TwitterCard metadata for a post, the
summary field will be used first if it is set to generate the post
description.
2022-09-11 19:55:38 +01:00
Hélène 0b14f02ed2 User: generate private keys on user creation
This fixes a race condition bug where keys could be regenerated
post-federation, causing activities and HTTP signatures from an user to
be dropped due to key differences.
2022-09-11 19:54:37 +01:00
Hélène e88f36f72b ObjectView: do not fetch an object for its ID
Non-Create/Listen activities had their associated object field
normalized and fetched, but only to use their `id` field, which is both
slow and redundant. This also failed on Undo activities, which delete
the associated object/activity in database.

Undo activities will now render properly and database loads should
improve ever so slightly.
2022-09-11 19:52:59 +01:00
Norm a6d85003fe Remote interaction with posts (#198)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Grabbed from https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3587

Co-authored-by: Tusooa Zhu <tusooa@kazv.moe>
Reviewed-on: #198
Co-authored-by: Norm <normandy@biribiri.dev>
Co-committed-by: Norm <normandy@biribiri.dev>
2022-09-08 10:19:22 +00:00
floatingghost 2641dcdd15 Post editing (#202)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Rebased from #103

Co-authored-by: Tusooa Zhu <tusooa@kazv.moe>
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #202
2022-09-06 19:24:02 +00:00
FloatingGhost 6c80977b06 turn inlineQuotePolicy on by default
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-09-05 17:22:33 +01:00
FloatingGhost f6304cfd78 add extra tests for builder
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-09-05 01:24:40 +01:00
floatingghost 1b826eea54 Allow reacting with remote emoji when they exist on the post (#200)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #200
2022-09-04 23:31:41 +00:00
floatingghost 7a90d71e8d ensure .exs config is used before default (#197)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #197
2022-09-02 22:05:39 +00:00
floatingghost 8e4de118c1 Don't persist local undone follow (#194)
ci/woodpecker/push/woodpecker Pipeline was successful Details
same deal but backwards this time

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #194
2022-08-31 18:00:36 +00:00
floatingghost decbca0c91 add seperate source and dest entries in language listing (#193)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #193
2022-08-30 16:59:33 +00:00
floatingghost c3fde9577d Allow listing languages, setting source language (#192)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #192
2022-08-30 14:58:54 +00:00
floatingghost df39cab9c1 Automatic status translation (#187)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Fixes #115

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #187
2022-08-29 19:42:22 +00:00
Tusooa Zhu 95e4018c1a Disconnect streaming sessions when token is revoked
ci/woodpecker/push/woodpecker Pipeline was successful Details
Use Websockex to replace websocket_client

Test that server will disconnect websocket upon token revocation

Lint

Execute session disconnect in background

Refactor streamer test

allow multi-streams

rebase websocket change
2022-08-27 19:07:48 +01:00
floatingghost 772c209914 GTS: cherry-picks and collection usage (#186)
ci/woodpecker/push/woodpecker Pipeline is pending Details
https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3725?commit_id=61254111e59f02118cad15de49d1e0704c07030e

what is this, a yoink of a yoink? good times

Co-authored-by: Hélène <pleroma-dev@helene.moe>
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: #186
2022-08-27 18:05:48 +00:00
FloatingGhost 85137f591f Add ability to obfuscate domains in MRF transparency
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
2022-08-27 11:57:57 +01:00
floatingghost e4f2251e0f Add support for setting language in instance metadata (#183)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #183
2022-08-25 16:11:21 +00:00
floatingghost 618cf7ff7f reuse valid oauth tokens (#182)
ci/woodpecker/push/woodpecker Pipeline failed Details
Reviewed-on: #182
2022-08-25 14:37:51 +00:00
floatingghost 92ba2802fb generate-keys-at-registration-time (#181)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #181
2022-08-24 14:36:33 +00:00
FloatingGhost 8d7b63a766 Revert "Fix oauth2 (for real) (#179)"
ci/woodpecker/push/woodpecker Pipeline is pending Details
This reverts commit aa681d7e15.
2022-08-21 17:52:02 +01:00
floatingghost aa681d7e15 Fix oauth2 (for real) (#179)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Reviewed-on: #179
2022-08-21 16:24:37 +00:00
FloatingGhost b0130bfa7b Revert "oauth2 fixes (#177)"
ci/woodpecker/push/woodpecker Pipeline is pending Details
This reverts commit 429e2ac832.
2022-08-21 16:22:15 +01:00
floatingghost d72f9e39d9 add visibility check on quote (#178)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Reviewed-on: #178
2022-08-21 15:17:01 +00:00
floatingghost 429e2ac832 oauth2 fixes (#177)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Reviewed-on: #177
2022-08-21 14:46:52 +00:00
floatingghost e9f1897cfd parser MFM server-side (#172)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Reviewed-on: #172
2022-08-18 03:14:48 +00:00
floatingghost aaf78e2b52 only put linked mfm in source (#171)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #171
2022-08-17 09:35:11 +00:00
floatingghost 11ec9daa5b API compatibility with fedibird, frontend config (#163)
ci/woodpecker/push/woodpecker Pipeline failed Details
Reviewed-on: #163
2022-08-17 00:22:59 +00:00
floatingghost 37a1001b97 add finch outbound proxy support (#158)
ci/woodpecker/push/woodpecker Pipeline failed Details
Reviewed-on: #158
2022-08-14 23:13:49 +00:00
FloatingGhost 967c325b0d fix tests 2022-08-11 19:21:43 +01:00
FloatingGhost 366889f97c remove default emoji file
ci/woodpecker/push/woodpecker Pipeline is pending Details
2022-08-11 19:05:41 +01:00
floatingghost 1245141779 treat rejections in MRF as a reject in federator (#155)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #155
2022-08-08 15:47:57 +00:00
Hélène b3e4d81362 StatusView: implement pleroma.context field
This field replaces the now deprecated conversation_id field, and now
exposes the ActivityPub object `context` directly via the MastoAPI
instead of relying on StatusNet-era data concepts.
2022-08-07 20:48:08 +01:00
Hélène b9bb093600 StatusView: clear MSB on calculated conversation_id
This field seems to be a left-over from the StatusNet era.
If your application uses `pleroma.conversation_id`: this field is
deprecated.

It is currently stubbed instead by doing a CRC32 of the context, and
clearing the MSB to avoid overflow exceptions with signed integers on
the different clients using this field (Java/Kotlin code, mostly; see
Husky and probably other mobile clients.)

This should be removed in a future version of Pleroma. Pleroma-FE
currently depends on this field, as well.
2022-08-07 20:47:59 +01:00
floatingghost 62e179f446 make conversation-id deterministic (#154)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #154
2022-08-06 20:59:15 +00:00
floatingghost ec162b496b /notice signing checks on redirect (#150)
ci/woodpecker/push/woodpecker Pipeline is pending Details
Reviewed-on: #150
2022-08-05 19:31:32 +00:00
floatingghost 0ec3a11895 don't persist undo of follows (#149)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #149
2022-08-05 13:28:56 +00:00
Hélène c1e15ff6f8 Transmogrifier: fix reply context fixing
ci/woodpecker/push/woodpecker Pipeline is pending Details
ci/woodpecker/pr/woodpecker Pipeline is pending Details
Incoming Pleroma replies to a Misskey thread were rejected due to a
broken context fix, which caused them to not be visible until a
non-Pleroma user interacted with the replies.

This fix properly sets the post-fix object context to its parent Create
activity as well, if it was changed.
2022-08-04 12:57:48 +01:00
floatingghost 456c97fda9 Merge pull request 'remove unneeded function' (#143) from compile-fix into develop
ci/woodpecker/push/woodpecker Pipeline is pending Details
Reviewed-on: #143
2022-08-03 11:12:05 +00:00
FloatingGhost 359510eebc remove unneeded function
ci/woodpecker/push/woodpecker Pipeline is pending Details
ci/woodpecker/pr/woodpecker Pipeline is pending Details
2022-08-03 11:50:48 +01:00
Tusooa Zhu f08241c8ab
Allow users to create backups without providing email address
ci/woodpecker/pr/woodpecker Pipeline was successful Details
Ref: backup-without-email
2022-08-02 22:16:54 -04:00
floatingghost c9600dbbbf local-only-fixed (#138)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #138
2022-08-02 14:46:46 +00:00
floatingghost ca000f8301 Merge mrf_simple-reject with quarantine (#137)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #137
2022-08-02 14:19:24 +00:00
Joel Beckmeyer e26388a01c Support reaching user@sub.domain.tld at user@domain.tld (#134)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #134
Co-authored-by: Joel Beckmeyer <joel@beckmeyer.us>
Co-committed-by: Joel Beckmeyer <joel@beckmeyer.us>
2022-08-02 13:54:22 +00:00
floatingghost c3eea8dc7d expose bubble instances via nodeinfo (#136)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #136
2022-08-02 09:11:22 +00:00
floatingghost 19a27ff006 allow small/center tags in misskeymarkdown (#132)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #132
2022-08-01 12:46:52 +00:00
Yukkuri 38659e5610 Use uppercase HTTP HEAD method for media preview proxy request (#128)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #128
Co-authored-by: Yukkuri <iamtakingiteasy@eientei.org>
Co-committed-by: Yukkuri <iamtakingiteasy@eientei.org>
2022-07-30 21:58:14 +00:00
floatingghost 405406601f Fix emoji qualification (#124)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #124
2022-07-28 12:02:36 +00:00
floatingghost 2796a9acaf backend-i18n (#121)
ci/woodpecker/push/woodpecker Pipeline was successful Details
Reviewed-on: #121
2022-07-27 21:56:59 +00:00
floatingghost 645f0390bc Prepare for ubuntu22 murdering openssl (#120)
ci/woodpecker/push/woodpecker Pipeline failed Details
Reviewed-on: #120
2022-07-27 21:48:13 +00:00
floatingghost a3501cab86 ensure quote fetching obeys max thread distance (#119)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #119
2022-07-26 17:28:47 +00:00
FloatingGhost 0a55c37182 don't error out if the featured collection has a string ID
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/pr/release Pipeline was successful Details
ci/woodpecker/pr/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/pr/test Pipeline was successful Details
2022-07-26 15:08:35 +01:00
floatingghost 1f6deb0ef4 include local instance in bubble timeline (#117)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #117
2022-07-26 12:22:49 +00:00
floatingghost 90c4785b89 remove public post quarantine exception (#114)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #114
2022-07-26 11:09:13 +00:00
floatingghost 1419eee5df Quote posting (#113)
ci/woodpecker/push/docs Pipeline is pending Details
ci/woodpecker/push/release Pipeline is pending Details
ci/woodpecker/push/test Pipeline is pending Details
Reviewed-on: #113
2022-07-25 16:30:06 +00:00
floatingghost c4e9c4bc95 extend custom runtime system (#108)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #108
2022-07-24 16:42:43 +00:00
floatingghost 4c47992686 bugfix/follow-state (#104)
ci/woodpecker/push/docs Pipeline is pending Details
ci/woodpecker/push/release Pipeline is pending Details
ci/woodpecker/push/test Pipeline is pending Details
Reviewed-on: #104
2022-07-23 18:58:45 +00:00
floatingghost cb6e7359af add bubble timeline (#100)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #100
2022-07-22 14:55:38 +00:00
floatingghost 0c542e58aa Remove instrumentors (#98)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #98
2022-07-21 11:32:17 +00:00
FloatingGhost 0f132b802d purge chat and shout endpoints
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/pr/release Pipeline was successful Details
ci/woodpecker/pr/docs Pipeline was successful Details
ci/woodpecker/pr/test Pipeline was successful Details
2022-07-21 11:29:28 +01:00
floatingghost 07ea4d73e1 update mastofe paths (#95)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #95
2022-07-20 20:13:50 +00:00
FloatingGhost e35dced9c8 remove chat enabled feature
ci/woodpecker/push/docs Pipeline is pending Details
ci/woodpecker/push/release Pipeline is pending Details
ci/woodpecker/push/test Pipeline is pending Details
ci/woodpecker/pr/docs Pipeline is pending Details
ci/woodpecker/pr/release Pipeline is pending Details
ci/woodpecker/pr/test Pipeline is pending Details
2022-07-20 15:46:41 +01:00
floatingghost 729f45ccd2 purge ldap authenticator (#92)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #92
2022-07-20 12:49:13 +00:00
floatingghost dc9f66749c remove all endpoints marked as deprecated (#91)
ci/woodpecker/push/docs Pipeline is pending Details
ci/woodpecker/push/release Pipeline is pending Details
ci/woodpecker/push/test Pipeline is pending Details
Reviewed-on: #91
2022-07-20 12:00:58 +00:00
FloatingGhost cf0ad02ea9 Remove scrobbling support
ci/woodpecker/push/docs Pipeline is pending Details
ci/woodpecker/push/release Pipeline is pending Details
ci/woodpecker/push/test Pipeline is pending Details
2022-07-19 15:07:45 +01:00
FloatingGhost 85e2e64c82 fix resolution of GTS user keys
ci/woodpecker/push/docs Pipeline is pending Details
ci/woodpecker/push/release Pipeline is pending Details
ci/woodpecker/push/test Pipeline is pending Details
ci/woodpecker/pr/release Pipeline was successful Details
ci/woodpecker/pr/docs Pipeline was successful Details
ci/woodpecker/pr/test Pipeline was successful Details
2022-07-18 15:21:27 +01:00
floatingghost 54ed8760ff Merge branch 'from/upstream-develop/tusooa/server-announcements' into 'develop' (#85)
ci/woodpecker/push/docs Pipeline is pending Details
ci/woodpecker/push/release Pipeline is pending Details
ci/woodpecker/push/test Pipeline is pending Details
Reviewed-on: #85
2022-07-18 13:08:36 +00:00
floatingghost 5b4d77eaa7 maintenance: dependency upgrade (#81)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #81
2022-07-18 00:56:35 +00:00
Tusooa Zhu 4c5bc3e9f7 Pass remote follow avatar into media proxy
ci/woodpecker/pr/release Pipeline was successful Details
ci/woodpecker/pr/lint Pipeline was successful Details
ci/woodpecker/pr/test Pipeline failed Details
2022-07-12 15:44:38 -04:00
floatingghost 8215434c65 also resolve @full@tags in mfm (#62)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #62
2022-07-11 13:48:43 +00:00
floatingghost ff6c8455fb [#58] ensure all users are linked in MFM content (#61)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #61
2022-07-11 11:48:29 +00:00
floatingghost 5ad256f170 [#58] pre-link MFM content (#59)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #59
2022-07-10 17:06:25 +00:00
floatingghost 82fa766ed7 Remove precompiled javascript (#55)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #55
2022-07-08 13:03:18 +00:00
floatingghost bc6bfe383f Add configurable theme color (#53)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/release Pipeline failed Details
ci/woodpecker/push/test Pipeline failed Details
Reviewed-on: #53
2022-07-06 20:00:43 +00:00
floatingghost 364b6969eb Use finch everywhere (#33)
ci/woodpecker/push/lint Pipeline failed Details
ci/woodpecker/push/test unknown status Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #33
2022-07-04 16:30:38 +00:00
sfr 058bf96798 implement Move activities (#45)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #45
Co-authored-by: sfr <sol@solfisher.com>
Co-committed-by: sfr <sol@solfisher.com>
2022-07-04 16:29:39 +00:00
FloatingGhost 05081cd81b Add collection fetching module 2022-07-03 19:20:59 +01:00
FloatingGhost 0a3a552696 Add support for a `first` reference in pinned objects 2022-07-03 17:25:20 +01:00
FloatingGhost 4da9a12bf8 Add test for friendica featured collection 2022-07-03 16:59:12 +01:00
floatingghost a40bf8be5e Update eblurhash to a non-bugged version (#34)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #34
2022-07-02 14:05:32 +00:00
floatingghost 3f7c64f30b Fix broken attachments from owncast (#31)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #31
2022-07-01 11:14:55 +00:00
FloatingGhost 635a3c223a Add elasticsearch tests
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
2022-06-30 16:53:21 +01:00
FloatingGhost 1ecdb19de5 Refactor ES on top of search behaviour
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
2022-06-30 16:28:31 +01:00
Ekaterina Vaartis 09ea3bb694 Actually, unlisted posts are indexed 2022-06-29 20:49:45 +01:00
Ekaterina Vaartis 7aebff799b Fix meilisearch tests and jobs for oban 2022-06-29 20:49:45 +01:00
Ekaterina Vaartis c128798418 Rename Activity.Search to Search.DatabaseSearch 2022-06-29 20:49:44 +01:00
Ekaterina Vaartis 0769f06bd1 Style fixes 2022-06-29 20:49:00 +01:00
Ekaterina Vaartis 88891e9d76 Add tests for local post indexing for meilisearch 2022-06-29 20:48:29 +01:00
Hélène 8f140deb8f StealEmojiPolicy: fix String rejected_shortcodes
* rejected_shortcodes is defined as a list of strings in the
  configuration description. As such, database-based configuration was
  led to handle those settings as strings, and not as the actually
  expected type, Regex.
* This caused each message passing through this MRF, if a rejected
  shortcode was set and the emoji did not exist already on the instance,
  to fail federating, as an exception was raised, swiftly caught and
  mostly silenced.
* This commit fixes the issue by introducing new behavior: strings are
  now handled as perfect matches for an emoji shortcode (meaning that if
  the emoji-to-be-pulled's shortcode is in the blacklist, it will be
  rejected), while still supporting Regex types as before.
2022-06-29 20:47:45 +01:00
Ilja 661d0ba481 Also use actor_type to determine if an account is a bot in antiFollowbotPolicy 2022-06-29 20:47:44 +01:00
Tusooa Zhu 33d821256e Fix incorrect fallback when English is set to first language 2022-06-29 20:47:10 +01:00
Ilja e3107fee98 Fix eratic test for POST /api/pleroma/admin/reports/:id/notes
It retrieved two ReportNotes and then checked one of them. But the order isn't guaranteed, while the test tested on the content of the first ReportNote.

I made the test on the content more generic
2022-06-29 20:47:10 +01:00
Tusooa Zhu 2df25e6666 Support fallbacking to other languages 2022-06-29 20:47:10 +01:00
Tusooa Zhu fcfb5a4967 Lint 2022-06-29 20:47:10 +01:00
Tusooa Zhu 07bd35227a Support multiple locales from userLanguage cookie 2022-06-29 20:47:10 +01:00
Tusooa Zhu fa95bc8725 Support multiple locales formally
elixir gettext current does not fully support fallback to another language [0].
But it might in the future. We adapt it so that all languages in Accept-Language
headers are received by Pleroma.Web.Gettext. User.languages is now a comma-separated
list.

[0]: https://github.com/elixir-gettext/gettext/issues/303
2022-06-29 20:47:10 +01:00
Tusooa Zhu ff0bb3a3ac Add test for fallbacking to a general language 2022-06-29 20:47:10 +01:00
Tusooa Zhu ef73f61b07 Fallback to a variant if the language in general is not supported
For an example, here, zh is not supported, but zh_Hans and zh_Hant
are. If the user asks for zh, we should choose a variant for them
instead of fallbacking to default.

Some browsers (e.g. Firefox) does not allow users to customize
their language codes. For example, there is no zh-Hans, but only
zh, zh-CN, zh-TW, zh-HK, etc. This provides a workaround for
those users suffering from bad design decisions.
2022-06-29 20:47:10 +01:00
Tusooa Zhu 72bdb0640f Allow user to register with custom language 2022-06-29 20:46:51 +01:00
Tusooa Zhu 7726148472 Send emails i18n'd using backend-stored user language 2022-06-29 20:45:19 +01:00
Tusooa Zhu 4ed0a780b7 Fix digest test 2022-06-29 20:45:05 +01:00
Tusooa Zhu 775f997c40 Prefer userLanguage cookie over Accept-Language header in detecting locale
https://git.pleroma.social/pleroma/pleroma-meta/-/issues/60
2022-06-29 20:43:41 +01:00
Ilja 1048bc1bb9 Delete report notifs when demoting from superuser
When someone isn't a superuser any more, they shouldn't see the reporsts any more either.
Here we delete the report notifications from a user when that user gets updated from being a superuser to a non-superuser.
2022-06-29 20:43:41 +01:00
Ilja 8b843be03e Fix test get_user_apps/1
For some reason I had a test who suddenly failed, mix test test/pleroma/web/o_auth/app_test.exs:54. A user has a list of applications and this test adds them and then sees if the list it gets back is the same as the apps it added.

When I ran mix test a day before I didn't have this problem and when I pushed code today in a different MR, the pipeline succeeded (see https://git.pleroma.social/ilja/pleroma/-/jobs/205827), yet locally it failed. So it seems the test can sometimes succeed and sometimes fail, which makes it untrustworthy.

The failure I see is because the returned list is in reverse order. I assume that's not per sé wrong. You just want to know if the apps you added are actually there. I fixed the test by first ordering the lists before comparing.

AFAICT (and as far as that's relevant) the test got introduced in commit cb2a072e62
2022-06-29 20:43:41 +01:00
Sam Therapy 8de65de3b9 Add unicode 14 support
and add a test with a unicode 14 emoji
2022-06-29 20:43:41 +01:00
floatingghost 2342fface1 Add visibility check in context path (#26)
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
ci/woodpecker/push/release Pipeline was successful Details
Reviewed-on: #26
2022-06-29 09:33:57 +00:00
floatingghost e6cd61619f Purge SSH frontend (#23)
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
Reviewed-on: #23
2022-06-27 11:32:06 +00:00
FloatingGhost cac39ef817 Bugfix: standardise scheme for emoji reactions 2022-06-25 15:27:46 +01:00
FloatingGhost cad4ba2ab3 mix format
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
2022-06-22 17:20:55 +01:00
FloatingGhost 3928cecf6b ensure local statuses are not visible remotely
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline failed Details
ci/woodpecker/push/test unknown status Details
2022-06-22 17:06:40 +01:00
FloatingGhost 502382da45 cherry-pick security from upstream
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline failed Details
ci/woodpecker/push/test unknown status Details
2022-06-22 16:25:05 +01:00
sn0w f2f8b81fc4
Use mediaproxy for emoji notifications if enabled
ci/woodpecker/pr/lint Pipeline was successful Details
ci/woodpecker/pr/release Pipeline was successful Details
ci/woodpecker/pr/test Pipeline was successful Details
2022-06-17 14:27:22 +02:00
FloatingGhost af1bd3af59 mix format
ci/woodpecker/tag/release Pipeline is pending Details
ci/woodpecker/tag/lint Pipeline failed Details
ci/woodpecker/tag/test unknown status Details
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
2022-06-14 17:43:45 +01:00
FloatingGhost 6e1d9c63da allow %{source} dict in no_empty
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/tag/lint Pipeline was successful Details
ci/woodpecker/push/lint Pipeline failed Details
ci/woodpecker/push/test unknown status Details
ci/woodpecker/tag/test Pipeline was successful Details
ci/woodpecker/tag/release Pipeline was successful Details
2022-06-14 17:41:25 +01:00
FloatingGhost abefbcec64 Merge branch 'mfm' into develop
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
2022-06-14 16:25:47 +01:00
FloatingGhost 829ae13572 ensure tests pass
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline failed Details
ci/woodpecker/push/test unknown status Details
2022-06-14 16:24:03 +01:00
sn0w 60bfaed368
Allow reacting with emojis containing a number
ci/woodpecker/pr/lint Pipeline was successful Details
ci/woodpecker/pr/release Pipeline was successful Details
ci/woodpecker/pr/test Pipeline was successful Details
2022-06-14 11:47:09 +02:00
FloatingGhost 0f5bea2465 Add emoji_url to notifications to allow rendering
ci/woodpecker/push/release Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
Ref #5
2022-06-12 13:35:14 +01:00
FloatingGhost 2abf8c982e fix secret key failure
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/release Pipeline was successful Details
2022-06-11 16:48:04 +01:00
FloatingGhost 24bf8c3977 mix format
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/test Pipeline failed Details
ci/woodpecker/push/release unknown status Details
2022-06-11 16:14:31 +01:00
FloatingGhost 32fbd2e4e3 fix all tests
ci/woodpecker/push/lint Pipeline failed Details
ci/woodpecker/push/test unknown status Details
ci/woodpecker/push/release unknown status Details
2022-06-11 16:14:22 +01:00
FloatingGhost c3ed86cd1e fix emoji controller tests 2022-06-11 14:21:50 +01:00
FloatingGhost 142646426e fix emoji tests 2022-06-11 14:08:54 +01:00
FloatingGhost 0f6bece60d Merge remote-tracking branch 'origin/patch/readd-mastofe' into develop 2022-01-08 21:45:12 +00:00
FloatingGhost 0d012ebea1 Revert "Merge branch 'remove/mastofe' into 'develop'"
This reverts commit 6b3842cf50, reversing
changes made to 6b1282a829.
2022-01-08 21:44:37 +00:00
FloatingGhost 8cc6359a85 Merge remote-tracking branch 'upstream/bookwyrm-entities' into develop 2022-01-07 20:23:53 +00:00
FloatingGhost 25b4395830 just drop unknown tags 2022-01-07 20:14:04 +00:00
FloatingGhost 92d3742072 Merge remote-tracking branch 'upstream/bookwyrm-entities' into develop 2022-01-07 17:21:44 +00:00
FloatingGhost 9ee27fb5ec add bookwyrm entity tests 2022-01-07 17:17:18 +00:00
FloatingGhost 680c5d8d89 Add compatibility with bookwyrm's weird entities 2022-01-07 16:51:04 +00:00
Alex Gleason 2ae867842b
StreamerTest: tag erratic test 2021-12-31 10:29:50 -06:00
FloatingGhost 12a171844b Merge remote-tracking branch 'upstream/develop' into develop 2021-12-30 18:05:22 +00:00
marcin mikołajczak 746c9daa62 Merge remote-tracking branch 'pleroma/develop' into mastodon-lookup
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-28 16:27:27 +01:00
marcin mikołajczak f734579965 MastoAPI: Add `GET /api/v1/accounts/lookup`
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-28 16:11:17 +01:00
Alex Gleason 5c80d4087d
PleromaAPI.AppView: add test 2021-12-27 18:52:34 -06:00
Alex Gleason cb2a072e62
Apps: add test for get_user_apps/1 2021-12-27 18:29:03 -06:00
Alex Gleason 2e4a1c56c3
AppController: test creating with and without a user 2021-12-27 18:14:15 -06:00
Alex Gleason f5c3d45120
Merge remote-tracking branch 'origin/develop' into apps-api-endpoint 2021-12-27 18:01:25 -06:00
Alex Gleason d61a5515e6
ConnectionPoolTest: tag erratic test 2021-12-27 11:27:25 -06:00
Alex Gleason 479fc5fff8
EnsureStaffPrivilegedPlug: add tests 2021-12-27 10:39:59 -06:00
Alex Gleason 913141379c Merge branch 'profile-directory' into 'develop'
MastoAPI: Profile directory

See merge request pleroma/pleroma!3573
2021-12-26 02:35:17 +00:00
marcin mikołajczak de006443f0 MastoAPI: Profile directory 2021-12-26 02:35:17 +00:00
Alex Gleason 2c06eff519
Pleroma.Web.base_url() --> Endpoint.url() 2021-12-25 20:11:14 -06:00
Alex Gleason db2bf55e9b
Merge remote-tracking branch 'origin/develop' into notice-routes 2021-12-25 19:57:53 -06:00
Alex Gleason 73609211a4 Merge branch 'account-notes' into 'develop'
MastoAPI: Add user notes on accounts

See merge request pleroma/pleroma!3540
2021-12-25 01:41:12 +00:00
Alex Gleason b96a58ff28 Merge branch 'account-subscriptions' into 'develop'
MastoAPI: accept notify param in follow request

See merge request pleroma/pleroma!3555
2021-12-25 01:34:27 +00:00
Alex Gleason d9746ae4cb Merge branch 'from/develop/tusooa/2802-propagate-reject' into 'develop'
Handle Reject for already-accepted Follows properly

Closes #2766 and #2802

See merge request pleroma/pleroma!3568
2021-12-23 16:00:16 +00:00
Alex Gleason 9c1cb87eff Merge branch 'erratic-tests' into 'develop'
Skip erratic tests

See merge request pleroma/pleroma!3572
2021-12-22 04:14:31 +00:00
Alex Gleason 2ce7dae6de
Skip erratic tests 2021-12-21 22:04:15 -06:00
Alex Gleason b0d2b53934 Merge branch 'manifest' into 'develop'
Expose /manifest.json for PWA

Closes #882

See merge request pleroma/pleroma!3544
2021-12-19 18:18:59 +00:00
Alex Gleason 1ff9ffed83 Merge branch 'live-dashboard' into 'develop'
Add Phoenix LiveDashboard

See merge request pleroma/pleroma!3566
2021-12-19 17:35:14 +00:00
Alex Gleason e4f9cb1c1b
Merge remote-tracking branch 'origin/develop' into manifest 2021-12-19 11:33:10 -06:00
Alex Gleason bd853199d9 Merge branch 'v2-suggestions' into 'develop'
V2 suggestions

See merge request pleroma/pleroma!3547
2021-12-19 17:31:17 +00:00
Tusooa Zhu 8376e83f61
Lint 2021-12-17 16:52:50 -05:00
Tusooa Zhu 951d1592c7
Add test to ensure removed follower cease to have relationship with ex-followee
https://git.pleroma.social/pleroma/pleroma/-/issues/2802
2021-12-17 16:44:22 -05:00
Tusooa Zhu bfd870380c
Add test to ensure the blocked cease to have follow relationship to the blocker
https://git.pleroma.social/pleroma/pleroma/-/issues/2766
2021-12-17 14:44:28 -05:00
Tusooa Zhu 3d41ccc47b
Allow updating accepted follow activities in Web.ActivityPub.Utils.update_follow_state_for_all/2
Mastodon uses the Reject activity also for the purpose of removing
a follower, in addition to reject a follow request. We should
also update the original Follow activity in this case.
2021-12-17 14:17:51 -05:00
FloatingGhost 0c0ea169d4 Merge remote-tracking branch 'upstream/develop' into develop 2021-12-16 16:10:08 +00:00
Alex Gleason e1b89fe3aa
Merge remote-tracking branch 'origin/develop' into live-dashboard 2021-12-15 19:05:36 -05:00
Alex Gleason 29d80b39f2
Add Phoenix LiveDashboard
Co-authored-by: Egor Kislitsyn <egor@kislitsyn.com>
2021-12-15 19:05:27 -05:00
lain 6eb7d69e60 Merge branch 'delete-account-fix' into 'develop'
TwitterAPI: allow deleting one's own account with request body

Closes #2799 and #2746

See merge request pleroma/pleroma!3564
2021-12-15 21:26:45 +00:00
Alex Gleason 8672ad6b00
TwitterAPI: allow deleting one's own account with request body 2021-12-13 17:07:29 -05:00
FloatingGhost de60b1f3c1 make search provider configurable 2021-12-12 17:35:35 +00:00
Alex Gleason 938c95d75d VideoHandlingTest: remove nil values 2021-12-12 17:35:35 +00:00