Bluesky app fork with some witchin' additions 💫

Merge branch 'main' of https://github.com/bluesky-social/social-app

+30 -3
+30 -3
bskyweb/cmd/bskyweb/server.go
··· 458 458 return c.Render(http.StatusOK, "home.html", data) 459 459 } 460 460 461 + // Posts that include these labels will not have embeds passed to the metadata 462 + // template. 463 + var hideEmbedLabels = map[string]bool{ 464 + "nudity": true, 465 + "porn": true, 466 + "sexual": true, 467 + "sexual-figurative": true, 468 + "graphic-media": true, 469 + "self-harm": true, 470 + "sensitive": true, 471 + } 472 + 461 473 func (srv *Server) WebPost(c echo.Context) error { 462 474 ctx := c.Request().Context() 463 475 data := srv.NewTemplateContext() ··· 512 524 postView := tpv.Thread.FeedDefs_ThreadViewPost.Post 513 525 data["postView"] = postView 514 526 data["requestURI"] = fmt.Sprintf("https://%s%s", req.Host, req.URL.Path) 515 - if postView.Embed != nil { 516 - if postView.Embed.EmbedImages_View != nil { 527 + 528 + // If any undesirable labels are set, the embed will not be included in 529 + // metadata 530 + isEmbedHidden := false 531 + for _, label := range postView.Labels { 532 + isNeg := label.Neg != nil && *label.Neg 533 + if hideEmbedLabels[label.Val] && !isNeg { 534 + isEmbedHidden = true 535 + break 536 + } 537 + } 538 + 539 + if postView.Embed != nil && !isEmbedHidden { 540 + hasImages := postView.Embed.EmbedImages_View != nil 541 + hasMedia := postView.Embed.EmbedRecordWithMedia_View != nil && postView.Embed.EmbedRecordWithMedia_View.Media != nil && postView.Embed.EmbedRecordWithMedia_View.Media.EmbedImages_View != nil 542 + 543 + if hasImages { 517 544 var thumbUrls []string 518 545 for i := range postView.Embed.EmbedImages_View.Images { 519 546 thumbUrls = append(thumbUrls, postView.Embed.EmbedImages_View.Images[i].Thumb) 520 547 } 521 548 data["imgThumbUrls"] = thumbUrls 522 - } else if postView.Embed.EmbedRecordWithMedia_View != nil && postView.Embed.EmbedRecordWithMedia_View.Media != nil && postView.Embed.EmbedRecordWithMedia_View.Media.EmbedImages_View != nil { 549 + } else if hasMedia { 523 550 var thumbUrls []string 524 551 for i := range postView.Embed.EmbedRecordWithMedia_View.Media.EmbedImages_View.Images { 525 552 thumbUrls = append(thumbUrls, postView.Embed.EmbedRecordWithMedia_View.Media.EmbedImages_View.Images[i].Thumb)