diff options
author | 2024-06-26 15:01:16 +0000 | |
---|---|---|
committer | 2024-06-26 16:01:16 +0100 | |
commit | 21bb324156f582e918a097ea744e52fc21b2ddf4 (patch) | |
tree | 50db5cfd42e26224591f59ff62de14a3715677b5 /internal/media/types.go | |
parent | [docs] restructure federation section (#3038) (diff) | |
download | gotosocial-21bb324156f582e918a097ea744e52fc21b2ddf4.tar.xz |
[chore] media and emoji refactoring (#3000)
* start updating media manager interface ready for storing attachments / emoji right away
* store emoji and media as uncached immediately, then (re-)cache on Processing{}.Load()
* remove now unused media workers
* fix tests and issues
* fix another test!
* fix emoji activitypub uri setting behaviour, fix remainder of test compilation issues
* fix more tests
* fix (most of) remaining tests, add debouncing to repeatedly failing media / emojis
* whoops, rebase issue
* remove kim's whacky experiments
* do some reshuffling, ensure emoji uri gets set
* ensure marked as not cached on cleanup
* tweaks to media / emoji processing to handle context canceled better
* ensure newly fetched emojis actually get set in returned slice
* use different varnames to be a bit more obvious
* move emoji refresh rate limiting to dereferencer
* add exported dereferencer functions for remote media, use these for recaching in processor
* add check for nil attachment in updateAttachment()
* remove unused emoji and media fields + columns
* see previous commit
* fix old migrations expecting image_updated_at to exists (from copies of old models)
* remove freshness checking code (seems to be broken...)
* fix error arg causing nil ptr exception
* finish documentating functions with comments, slight tweaks to media / emoji deref error logic
* remove some extra unneeded boolean checking
* finish writing documentation (code comments) for exported media manager methods
* undo changes to migration snapshot gtsmodels, updated failing migration to have its own snapshot
* move doesColumnExist() to util.go in migrations package
Diffstat (limited to 'internal/media/types.go')
-rw-r--r-- | internal/media/types.go | 76 |
1 files changed, 57 insertions, 19 deletions
diff --git a/internal/media/types.go b/internal/media/types.go index 6e7727cd5..cea026b98 100644 --- a/internal/media/types.go +++ b/internal/media/types.go @@ -61,47 +61,85 @@ const ( TypeEmoji Type = "emoji" // TypeEmoji is the key for emoji type requests ) -// AdditionalMediaInfo represents additional information that should be added to an attachment -// when processing a piece of media. +// AdditionalMediaInfo represents additional information that +// should be added to attachment when processing a piece of media. type AdditionalMediaInfo struct { - // Time that this media was created; defaults to time.Now(). + + // Time that this media was + // created; defaults to time.Now(). CreatedAt *time.Time - // ID of the status to which this media is attached; defaults to "". + + // ID of the status to which this + // media is attached; defaults to "". StatusID *string - // URL of the media on a remote instance; defaults to "". + + // URL of the media on a + // remote instance; defaults to "". RemoteURL *string - // Image description of this media; defaults to "". + + // Image description of + // this media; defaults to "". Description *string - // Blurhash of this media; defaults to "". + + // Blurhash of this + // media; defaults to "". Blurhash *string - // ID of the scheduled status to which this media is attached; defaults to "". + + // ID of the scheduled status to which + // this media is attached; defaults to "". ScheduledStatusID *string - // Mark this media as in-use as an avatar; defaults to false. + + // Mark this media as in-use + // as an avatar; defaults to false. Avatar *bool - // Mark this media as in-use as a header; defaults to false. + + // Mark this media as in-use + // as a header; defaults to false. Header *bool - // X focus coordinate for this media; defaults to 0. + + // X focus coordinate for + // this media; defaults to 0. FocusX *float32 - // Y focus coordinate for this media; defaults to 0. + + // Y focus coordinate for + // this media; defaults to 0. FocusY *float32 } // AdditionalEmojiInfo represents additional information // that should be taken into account when processing an emoji. type AdditionalEmojiInfo struct { - // Time that this emoji was created; defaults to time.Now(). + + // ActivityPub URI of + // this remote emoji. + URI *string + + // Time that this emoji was + // created; defaults to time.Now(). CreatedAt *time.Time - // Domain the emoji originated from. Blank for this instance's domain. Defaults to "". + + // Domain the emoji originated from. Blank + // for this instance's domain. Defaults to "". Domain *string - // URL of this emoji on a remote instance; defaults to "". + + // URL of this emoji on a + // remote instance; defaults to "". ImageRemoteURL *string - // URL of the static version of this emoji on a remote instance; defaults to "". + + // URL of the static version of this emoji + // on a remote instance; defaults to "". ImageStaticRemoteURL *string - // Whether this emoji should be disabled (not shown) on this instance; defaults to false. + + // Whether this emoji should be disabled (not + // shown) on this instance; defaults to false. Disabled *bool - // Whether this emoji should be visible in the instance's emoji picker; defaults to true. + + // Whether this emoji should be visible in + // the instance's emoji picker; defaults to true. VisibleInPicker *bool - // ID of the category this emoji should be placed in; defaults to "". + + // ID of the category this emoji + // should be placed in; defaults to "". CategoryID *string } |