spc-pleroma/lib/pleroma
Mark Felder 0ac010ba3f Replace custom fifo implementation with Exile
This is for streaming media to ffmpeg thumbnailer. The existing implementation relies on undocumented behavior.

Erlang open_port/2 does not officially support passing a string of a file path for opening. The specs clearly state you are to provide one of the following for open_port/2:

    {spawn, Command :: string() | binary()} |
    {spawn_driver, Command :: string() | binary()} |
    {spawn_executable, FileName :: file:name_all()} |
    {fd, In :: integer() >= 0, Out :: integer() >= 0}

Our method technically works but is strongly discouraged as it can block the scheduler and dialyzer throws errors as it recognizes we're breaking the contract and some of the functions we wrote may never return.

This is indirectly covered by the Erlang FAQ section "9.12 Why can't I open devices (e.g. a serial port) like normal files?"
https://www.erlang.org/faq/problems#idm1127
2024-01-22 10:13:17 -05:00
..
activity Pleroma.Activity.Queries: fix dialyzer error 2024-01-20 16:01:32 -05:00
captcha Fix some more typos 2023-12-28 00:17:04 +01:00
chat Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
config Fix some more typos 2023-12-28 00:17:04 +01:00
conversation Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
docs Fix invalid type 2024-01-20 17:05:55 -05:00
ecto_type Dialyzer: fix pattern match coverage 2024-01-20 17:56:32 -05:00
emails Revert "EmailTest: use config mock" 2023-12-12 19:35:19 +04:00
emoji Fetch count before downloading the pack and use that as page size 2024-01-07 17:07:50 +03:00
gopher
gun Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
helpers Replace custom fifo implementation with Exile 2024-01-22 10:13:17 -05:00
http Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
instances Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
mfa
migration_helper
migrators Fix invalid type 2024-01-20 17:13:27 -05:00
object Handle 401s as I have observed it in the wild 2023-12-28 23:09:33 -05:00
password
reverse_proxy
search Fix some more typos 2023-12-28 00:17:04 +01:00
telemetry Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
tesla/middleware
tests
upload Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
uploaders Fix invalid type 2024-01-20 17:29:27 -05:00
user Fix some more typos 2023-12-28 00:17:04 +01:00
web Use config to control loading of custom modules 2024-01-20 18:43:53 -05:00
workers Merge branch 'handle_object_fetch_failures' into 'develop' 2024-01-19 18:43:00 +00:00
activity.ex
announcement.ex
announcement_read_relationship.ex
application.ex Credo 2024-01-20 19:39:13 -05:00
application_requirements.ex Pleroma.ApplicationRequirements: fix dialyzer errors 2024-01-20 16:10:11 -05:00
bookmark.ex Fix invalid typespec references to Ecto.Changeset.t() 2024-01-20 16:47:50 -05:00
caching.ex
captcha.ex
chat.ex FlakeId.Ecto.CompatType.t() does not exist 2024-01-20 16:36:01 -05:00
clippy.ex
config.ex
config_db.ex Fix invalid typespec references to Ecto.Changeset.t() 2024-01-20 16:47:50 -05:00
constants.ex Allow local user to have group actor type 2023-12-27 12:27:37 -05:00
conversation.ex
counter_cache.ex
data_migration.ex
delivery.ex
ecto_enums.ex
emoji-test.txt
emoji.ex Add missing type Pleroma.Emoji.t() 2024-01-20 17:08:18 -05:00
filter.ex
following_relationship.ex
formatter.ex Fix mentioning punycode domains when using Markdown 2023-10-16 21:35:25 -04:00
frontend.ex
gun.ex
hashtag.ex
healthcheck.ex
html.ex
http.ex Fix following redirects with Finch 2023-12-29 00:50:50 -05:00
instances.ex These functions in Pleroma.Instances should be defdelegates to Pleroma.Instances.Instance 2023-12-27 12:44:16 -05:00
job_queue_monitor.ex
jwt.ex
keys.ex
list.ex
logging.ex
maintenance.ex Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
maps.ex
marker.ex
mfa.ex
moderation_log.ex
notification.ex
object.ex Remove Fetcher.fetch_object_from_id!/2 2023-12-26 14:20:35 -05:00
object_tombstone.ex
otp_version.ex
pagination.ex
password_reset_token.ex
prom_ex.ex Switch to PromEx for prometheus metrics 2023-11-13 15:34:59 -05:00
registration.ex
release_tasks.ex Dialyzer: fix pattern match coverage 2024-01-20 17:58:47 -05:00
repo.ex Switch to PromEx for prometheus metrics 2023-11-13 15:34:59 -05:00
report_note.ex Fix invalid typespec references to Ecto.Changeset.t() 2024-01-20 16:47:50 -05:00
reverse_proxy.ex Fix invalid types 2024-01-20 17:37:27 -05:00
scheduled_activity.ex ScheduledActivity: Use config mocking 2023-12-12 12:48:55 +04:00
search.ex
signature.ex ActivityPub.make_user_from_ap_id/1 fetches the whole actor object including updating the public key for us 2023-12-10 13:22:55 -05:00
stats.ex
thread_mute.ex
upload.ex Fix invalid type 2024-01-20 17:28:54 -05:00
user.ex Use config to control loading of custom modules 2024-01-20 18:43:53 -05:00
user_invite_token.ex Fix invalid typespec references to Ecto.Changeset.t() 2024-01-20 16:47:50 -05:00
user_note.ex
user_relationship.ex
utils.ex
web.ex
xml_builder.ex