{
  "path": "/3m664kxn3xk2h",
  "site": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/site.standard.publication/3lppk75kw7k26",
  "$type": "site.standard.document",
  "title": "Notifications in Leaflet",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "New in Leaflet: notifications! We've been adding more social features, like subscribing to publications and comments on posts, but til now haven't had a good way to follow these interactions."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "We now have a notification page! With in-app notifications for:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "comments on your posts"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "replies to comments you make"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "new follows of your publications"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 133,
                    "byteStart": 100
                  },
                  "features": [
                    {
                      "uri": "https://leaflet.pub/notifications",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "When logged in, you'll see a notifications link (bell icon) from your homepage, which takes you to: https://leaflet.pub/notifications"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "⁂ ⁂ ⁂"
            },
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignCenter"
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreigswilw6uzzeoudgsu352bvc4d66vzva3l6fgp7wg7jw7h63xb6zm"
                },
                "mimeType": "image/png",
                "size": 102442
              },
              "aspectRatio": {
                "width": 434,
                "height": 132
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 35,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ]
                }
              ],
              "plaintext": "default state, no new notifications"
            },
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignCenter"
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreicyii4lig4272pajy7x3m2hjryor64y5cy3oiups6outjyddgn6tq"
                },
                "mimeType": "image/png",
                "size": 101307
              },
              "aspectRatio": {
                "width": 424,
                "height": 134
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 26,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ]
                }
              ],
              "plaintext": "new, unread notifications!"
            },
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignCenter"
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "⁂ ⁂ ⁂"
            },
            "alignment": "lex:pub.leaflet.pages.linearDocument#textAlignCenter"
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Here's what they look like (with our home theme at least!)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreib5fodu5as3lndan2dxveyohxtfrpxpcgatt6va6ooyzd5fw7y43i"
                },
                "mimeType": "image/png",
                "size": 54503
              },
              "aspectRatio": {
                "width": 1276,
                "height": 128
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreidsw35ve3zemequphjdrd6dtc6ga6du3zufhji2ksnodffb7t6z4y"
                },
                "mimeType": "image/png",
                "size": 133451
              },
              "aspectRatio": {
                "width": 1278,
                "height": 326
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Notifications are in-app to start, but we'd like to add other channels! Bluesky DM? Email? Handwritten on a gently falling leaf?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "We have a few other things in mind for notifications (and in some cases new Leaflet features!) that might be cool:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "@-mentions, if people tag you in a post or comment (could include a way to mention publications too)"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "follow publications (like the YouTube bell, to get notified on new activity from a pub)"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "backlinks, when other posts quote or link to yours"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Let us know in the comments if you have other ideas or suggestions for anything that'd improve the notifications experience here!"
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreigitfh3ns75tsc346yq7asd64o7gngkpkte5yizzvtzep42tqtxym",
    "uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3m664tfipsk2m"
  },
  "description": "Lab Notes 015: we now have in-app notifications for post comments, replies, and new publication subscribers",
  "publishedAt": "2025-11-21T20:26:45.294Z"
}