+2
-2
main.go
+2
-2
main.go
···
408
408
go func(i int, raw string) {
409
409
defer wg.Done()
410
410
411
-
post, _, _ := appbskyfeeddefs.PostView(ctx, raw, sl, cs, BSKYIMAGECDN_URL, viewer, false)
411
+
post, _, _ := appbskyfeeddefs.PostView(ctx, raw, sl, cs, BSKYIMAGECDN_URL, viewer, 2)
412
412
413
413
results[i].view = post
414
414
}(i, raw)
···
537
537
skeletonposts,
538
538
20,
539
539
func(ctx context.Context, raw *appbsky.FeedDefs_SkeletonFeedPost) (*appbsky.FeedDefs_FeedViewPost, error) {
540
-
post, _, err := appbskyfeeddefs.PostView(ctx, raw.Post, sl, cs, BSKYIMAGECDN_URL, viewer, false)
540
+
post, _, err := appbskyfeeddefs.PostView(ctx, raw.Post, sl, cs, BSKYIMAGECDN_URL, viewer, 2)
541
541
if err != nil {
542
542
return nil, err
543
543
}
+33
-9
shims/lex/app/bsky/feed/defs/embed.go
+33
-9
shims/lex/app/bsky/feed/defs/embed.go
···
2
2
3
3
import (
4
4
"context"
5
+
"fmt"
5
6
"log"
6
7
7
8
"github.com/bluesky-social/indigo/api/atproto"
···
24
25
}}
25
26
}
26
27
27
-
func PostView_Embed(ctx context.Context, postaturi string, feedPost *appbsky.FeedPost, sl *microcosm.MicrocosmClient, cs *microcosm.MicrocosmClient, imgcdn string, viewer *utils.DID) (*appbsky.FeedDefs_PostView_Embed, error) {
28
+
func PostView_Embed(ctx context.Context, postaturi string, feedPost *appbsky.FeedPost, sl *microcosm.MicrocosmClient, cs *microcosm.MicrocosmClient, imgcdn string, viewer *utils.DID, disableTripleNestedRecord int) (*appbsky.FeedDefs_PostView_Embed, error) {
29
+
log.Println("(PostView_Embed) hey its: " + postaturi + " at depth: " + fmt.Sprint(disableTripleNestedRecord))
28
30
if feedPost.Embed == nil {
29
31
return nil, nil
30
32
}
···
62
64
embedExternal := EmbedExternalViewExtractor(ctx, aturi, feedPost.Embed.EmbedExternal, sl, cs, imgcdn, viewer)
63
65
return embedExternal, nil
64
66
}
65
-
if feedPost.Embed.EmbedRecord != nil {
67
+
if feedPost.Embed.EmbedRecord != nil && disableTripleNestedRecord > 0 {
66
68
//return nil, nil
67
69
// sigh this is a big one
68
70
//embedType = "EmbedRecord"
···
91
93
});
92
94
*/
93
95
94
-
var record *appbsky.EmbedRecord_View_Record = EmbedRecordViewExtractor(ctx, feedPost.Embed.EmbedRecord.Record, sl, cs, imgcdn, viewer)
96
+
var record *appbsky.EmbedRecord_View_Record = EmbedRecordViewExtractor(ctx, feedPost.Embed.EmbedRecord.Record, sl, cs, imgcdn, viewer, disableTripleNestedRecord)
95
97
if record == nil {
96
98
return nil, nil
97
99
}
···
120
122
// EmbedRecordWithMedia_View *EmbedRecordWithMedia_View
121
123
}, nil
122
124
}
123
-
if feedPost.Embed.EmbedRecordWithMedia != nil {
125
+
if feedPost.Embed.EmbedRecordWithMedia != nil && disableTripleNestedRecord > 0 {
124
126
//return nil, nil
125
127
//embedType = "EmbedRecordWithMedia"
126
128
127
-
var record *appbsky.EmbedRecord_View_Record = EmbedRecordViewExtractor(ctx, feedPost.Embed.EmbedRecordWithMedia.Record.Record, sl, cs, imgcdn, viewer)
129
+
var record *appbsky.EmbedRecord_View_Record = EmbedRecordViewExtractor(ctx, feedPost.Embed.EmbedRecordWithMedia.Record.Record, sl, cs, imgcdn, viewer, disableTripleNestedRecord)
128
130
if record == nil {
129
131
return nil, nil
130
132
}
···
163
165
// }
164
166
}
165
167
if feedPost.Embed.EmbedRecordWithMedia.Media.EmbedExternal != nil {
166
-
embedExternal := EmbedExternalViewExtractor(ctx, aturi, feedPost.Embed.EmbedExternal, sl, cs, imgcdn, viewer)
168
+
embedExternal := EmbedExternalViewExtractor(ctx, aturi, feedPost.Embed.EmbedRecordWithMedia.Media.EmbedExternal, sl, cs, imgcdn, viewer)
167
169
embedmediaview = &appbsky.EmbedRecordWithMedia_View_Media{
168
170
// EmbedImages_View *EmbedImages_View
169
171
// EmbedVideo_View *EmbedVideo_View
···
275
277
}
276
278
}
277
279
278
-
func EmbedRecordViewExtractor(ctx context.Context, record *atproto.RepoStrongRef, sl *microcosm.MicrocosmClient, cs *microcosm.MicrocosmClient, imgcdn string, viewer *utils.DID) *appbsky.EmbedRecord_View_Record {
280
+
func EmbedRecordViewExtractor(ctx context.Context, record *atproto.RepoStrongRef, sl *microcosm.MicrocosmClient, cs *microcosm.MicrocosmClient, imgcdn string, viewer *utils.DID, disableTripleNestedRecord int) *appbsky.EmbedRecord_View_Record {
279
281
if record == nil {
280
282
log.Println("[EmbedRecord_View_Record] no record *(????)")
281
283
return nil
···
296
298
return notFoundRecordEmbed(aturi.String())
297
299
}
298
300
299
-
postView, _, err := PostView(ctx, aturi.String(), sl, cs, imgcdn, viewer, true)
301
+
postView, _, err := PostView(ctx, aturi.String(), sl, cs, imgcdn, viewer, disableTripleNestedRecord-1)
300
302
if err != nil {
301
303
log.Println("[EmbedRecord_View_Record] postview failed")
302
304
return notFoundRecordEmbed(aturi.String())
···
312
314
// }
313
315
314
316
// lexicontypedecoder := &util.LexiconTypeDecoder{Val: &postRecord}
317
+
//var has string /*image | video | external*/
318
+
319
+
var embeds []*appbsky.EmbedRecord_ViewRecord_Embeds_Elem
320
+
if postView.Embed != nil {
321
+
if postView.Embed.EmbedImages_View != nil {
322
+
embeds = []*appbsky.EmbedRecord_ViewRecord_Embeds_Elem{
323
+
{
324
+
EmbedImages_View: postView.Embed.EmbedImages_View,
325
+
},
326
+
}
327
+
}
328
+
if postView.Embed.EmbedVideo_View != nil {
329
+
//has = "video"
330
+
}
331
+
if postView.Embed.EmbedExternal_View != nil {
332
+
embeds = []*appbsky.EmbedRecord_ViewRecord_Embeds_Elem{
333
+
{
334
+
EmbedExternal_View: postView.Embed.EmbedExternal_View,
335
+
},
336
+
}
337
+
}
338
+
}
315
339
316
340
return &appbsky.EmbedRecord_View_Record{
317
341
// EmbedRecord_ViewRecord *EmbedRecord_ViewRecord
···
323
347
// Cid string `json:"cid" cborgen:"cid"`
324
348
Cid: postView.Cid,
325
349
// Embeds []*EmbedRecord_ViewRecord_Embeds_Elem `json:"embeds,omitempty" cborgen:"embeds,omitempty"`
326
-
Embeds: nil,
350
+
Embeds: embeds,
327
351
// IndexedAt string `json:"indexedAt" cborgen:"indexedAt"`
328
352
IndexedAt: postView.IndexedAt,
329
353
// Labels []*comatproto.LabelDefs_Label `json:"labels,omitempty" cborgen:"labels,omitempty"`
+9
-6
shims/lex/app/bsky/feed/defs/postview.go
+9
-6
shims/lex/app/bsky/feed/defs/postview.go
···
3
3
import (
4
4
"context"
5
5
"encoding/json"
6
+
"fmt"
7
+
"log"
6
8
7
9
"github.com/bluesky-social/indigo/api/agnostic"
8
10
comatproto "github.com/bluesky-social/indigo/api/atproto"
···
18
20
"tangled.org/whey.party/red-dwarf-server/shims/utils"
19
21
)
20
22
21
-
func PostView(ctx context.Context, postaturi string, sl *microcosm.MicrocosmClient, cs *microcosm.MicrocosmClient, imgcdn string, viewer *utils.DID, disableEmbed bool) (*appbsky.FeedDefs_PostView, *appbsky.FeedPost, error) {
23
+
func PostView(ctx context.Context, postaturi string, sl *microcosm.MicrocosmClient, cs *microcosm.MicrocosmClient, imgcdn string, viewer *utils.DID, disableTripleNestedRecord int) (*appbsky.FeedDefs_PostView, *appbsky.FeedPost, error) {
24
+
log.Println("(PostView) hey its: " + postaturi + " at depth: " + fmt.Sprint(disableTripleNestedRecord))
22
25
aturi, err := syntax.ParseATURI(postaturi)
23
26
if err != nil {
24
27
return nil, nil, err
···
41
44
return nil, nil, err
42
45
}
43
46
var postView_Embed *appbsky.FeedDefs_PostView_Embed
44
-
if !disableEmbed {
45
-
postView_Embed, err = PostView_Embed(ctx, postaturi, &postRecord, sl, cs, imgcdn, viewer)
46
-
if err != nil {
47
-
postView_Embed = nil
48
-
}
47
+
//if !disableTripleNestedRecord {
48
+
postView_Embed, err = PostView_Embed(ctx, postaturi, &postRecord, sl, cs, imgcdn, viewer, disableTripleNestedRecord)
49
+
if err != nil {
50
+
postView_Embed = nil
49
51
}
52
+
//}
50
53
51
54
profile, _, _ := appbskyactordefs.ProfileViewBasic(ctx, repoDID, sl, imgcdn)
52
55