mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 17:42:25 -05:00
[feature] Clean up/uncache remote media (#407)
* Add whereNotEmptyAndNotNull * Add GetRemoteOlderThanDays * Add GetRemoteOlderThanDays * Add PruneRemote to Manager interface * Start implementing PruneRemote * add new attachment + status to tests * fix up and test GetRemoteOlderThan * fix bad import * PruneRemote: return number pruned * add Cached column to mediaattachment * update + test pruneRemote * update mediaTest * use Cached column * upstep bun to latest version * embed structs in mediaAttachment * migrate mediaAttachment to new format * don't default cached to true * select only remote media * update db dependencies * step bun back to last working version * update pruneRemote to use Cached field * fix storage path of test attachments * add recache logic to manager * fix trimmed aspect ratio * test prune and recache * return errwithcode * tidy up different paths for emoji vs attachment * fix incorrect thumbnail type being stored * expose TransportController to media processor * implement tee-ing recached content * add thoughts of dog to test fedi attachments * test get remote files * add comment on PruneRemote * add postData cleanup to recache * test thumbnail fetching * add incredible diagram * go mod tidy * buffer pipes for recache streaming * test for client stops reading after 1kb * add media-remote-cache-days to config * add cron package * wrap logrus so it's available to cron * start and stop cron jobs gracefully
This commit is contained in:
parent
100f1280a6
commit
07727753b9
424 changed files with 637100 additions and 176498 deletions
22
vendor/modernc.org/cc/v3/parser.go
generated
vendored
22
vendor/modernc.org/cc/v3/parser.go
generated
vendored
|
|
@ -313,6 +313,7 @@ var (
|
|||
dict.sid("__pragma_stdc"): PRAGMASTDC,
|
||||
dict.sid("__restrict"): RESTRICT,
|
||||
dict.sid("__restrict__"): RESTRICT,
|
||||
dict.sid("__signed"): SIGNED,
|
||||
dict.sid("__signed__"): SIGNED,
|
||||
dict.sid("__thread"): THREADLOCAL,
|
||||
dict.sid("__typeof"): TYPEOF,
|
||||
|
|
@ -2263,7 +2264,7 @@ func (p *parser) functionSpecifier(inline *bool) *FunctionSpecifier {
|
|||
// declarator:
|
||||
// pointer_opt direct-declarator attribute-specifier-list_opt
|
||||
func (p *parser) declarator(declare, isTypedefName bool, ptr *Pointer) *Declarator {
|
||||
if ptr == nil && p.rune() == '*' {
|
||||
if ptr == nil && (p.rune() == '*' || p.rune() == '^') {
|
||||
ptr = p.pointer()
|
||||
}
|
||||
r := &Declarator{IsTypedefName: isTypedefName, Pointer: ptr, DirectDeclarator: p.directDeclarator(nil)}
|
||||
|
|
@ -2488,9 +2489,21 @@ func (p *parser) directDeclarator(d *DirectDeclarator) (r *DirectDeclarator) {
|
|||
// pointer:
|
||||
// * type-qualifier-list_opt
|
||||
// * type-qualifier-list_opt pointer
|
||||
// ^ type-qualifier-list_opt
|
||||
func (p *parser) pointer() (r *Pointer) {
|
||||
if p.rune() == '^' {
|
||||
t := p.shift()
|
||||
var list *TypeQualifiers
|
||||
switch p.rune() {
|
||||
case ATTRIBUTE, CONST, RESTRICT, VOLATILE, ATOMIC:
|
||||
list = p.typeQualifierList()
|
||||
}
|
||||
|
||||
return &Pointer{Case: PointerBlock, Token: t, TypeQualifiers: list}
|
||||
}
|
||||
|
||||
if p.rune() != '*' {
|
||||
p.err("expected *")
|
||||
p.err("expected * or ^")
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
@ -2608,7 +2621,8 @@ func (p *parser) parameterDeclaration() *ParameterDeclaration {
|
|||
|
||||
func (p *parser) declaratorOrAbstractDeclarator(isTypedefName bool) (r Node) {
|
||||
var ptr *Pointer
|
||||
if p.rune() == '*' {
|
||||
switch p.rune() {
|
||||
case '*', '^':
|
||||
ptr = p.pointer()
|
||||
}
|
||||
switch p.rune() {
|
||||
|
|
@ -2766,7 +2780,7 @@ func (p *parser) typeName() *TypeName {
|
|||
// pointer
|
||||
// pointer_opt direct-abstract-declarator
|
||||
func (p *parser) abstractDeclarator(ptr *Pointer) *AbstractDeclarator {
|
||||
if ptr == nil && p.rune() == '*' {
|
||||
if ptr == nil && (p.rune() == '*' || p.rune() == '^') {
|
||||
ptr = p.pointer()
|
||||
}
|
||||
switch p.rune() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue