@atproto/pds 0.4.58 → 0.4.60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/actor-store/repo/sql-repo-reader.d.ts.map +1 -1
  3. package/dist/actor-store/repo/sql-repo-reader.js +2 -5
  4. package/dist/actor-store/repo/sql-repo-reader.js.map +1 -1
  5. package/dist/api/app/bsky/actor/getProfile.d.ts.map +1 -1
  6. package/dist/api/app/bsky/actor/getProfile.js +2 -9
  7. package/dist/api/app/bsky/actor/getProfile.js.map +1 -1
  8. package/dist/api/app/bsky/actor/getProfiles.d.ts.map +1 -1
  9. package/dist/api/app/bsky/actor/getProfiles.js +2 -6
  10. package/dist/api/app/bsky/actor/getProfiles.js.map +1 -1
  11. package/dist/api/app/bsky/feed/getActorLikes.d.ts.map +1 -1
  12. package/dist/api/app/bsky/feed/getActorLikes.js +2 -9
  13. package/dist/api/app/bsky/feed/getActorLikes.js.map +1 -1
  14. package/dist/api/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  15. package/dist/api/app/bsky/feed/getAuthorFeed.js +2 -9
  16. package/dist/api/app/bsky/feed/getAuthorFeed.js.map +1 -1
  17. package/dist/api/app/bsky/feed/getFeed.d.ts.map +1 -1
  18. package/dist/api/app/bsky/feed/getFeed.js +2 -1
  19. package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
  20. package/dist/api/app/bsky/feed/getPostThread.d.ts.map +1 -1
  21. package/dist/api/app/bsky/feed/getPostThread.js +12 -14
  22. package/dist/api/app/bsky/feed/getPostThread.js.map +1 -1
  23. package/dist/api/app/bsky/feed/getTimeline.d.ts.map +1 -1
  24. package/dist/api/app/bsky/feed/getTimeline.js +2 -6
  25. package/dist/api/app/bsky/feed/getTimeline.js.map +1 -1
  26. package/dist/api/com/atproto/repo/getRecord.js +1 -1
  27. package/dist/api/com/atproto/repo/getRecord.js.map +1 -1
  28. package/dist/api/com/atproto/server/requestPasswordReset.js +1 -1
  29. package/dist/api/com/atproto/server/requestPasswordReset.js.map +1 -1
  30. package/dist/config/config.d.ts +9 -0
  31. package/dist/config/config.d.ts.map +1 -1
  32. package/dist/config/config.js +10 -1
  33. package/dist/config/config.js.map +1 -1
  34. package/dist/config/env.d.ts +6 -1
  35. package/dist/config/env.d.ts.map +1 -1
  36. package/dist/config/env.js +8 -1
  37. package/dist/config/env.js.map +1 -1
  38. package/dist/context.d.ts +6 -2
  39. package/dist/context.d.ts.map +1 -1
  40. package/dist/context.js +55 -11
  41. package/dist/context.js.map +1 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/lexicon/lexicons.d.ts +77 -0
  46. package/dist/lexicon/lexicons.d.ts.map +1 -1
  47. package/dist/lexicon/lexicons.js +86 -3
  48. package/dist/lexicon/lexicons.js.map +1 -1
  49. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +16 -0
  50. package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
  51. package/dist/lexicon/types/app/bsky/actor/defs.js +9 -1
  52. package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
  53. package/dist/lexicon/types/app/bsky/actor/profile.d.ts +1 -0
  54. package/dist/lexicon/types/app/bsky/actor/profile.d.ts.map +1 -1
  55. package/dist/lexicon/types/app/bsky/actor/profile.js.map +1 -1
  56. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +13 -2
  57. package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
  58. package/dist/lexicon/types/app/bsky/feed/defs.js +21 -1
  59. package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
  60. package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts +1 -0
  61. package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  62. package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts +2 -0
  63. package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts.map +1 -1
  64. package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts +2 -0
  65. package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts.map +1 -1
  66. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +2 -0
  67. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  68. package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
  69. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts +3 -0
  70. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
  71. package/dist/mailer/index.d.ts +1 -1
  72. package/dist/mailer/index.d.ts.map +1 -1
  73. package/dist/mailer/index.js.map +1 -1
  74. package/dist/mailer/templates/confirm-email.js +1 -1
  75. package/dist/mailer/templates/confirm-email.js.map +2 -2
  76. package/dist/mailer/templates/delete-account.js +1 -1
  77. package/dist/mailer/templates/delete-account.js.map +2 -2
  78. package/dist/mailer/templates/plc-operation.js +1 -1
  79. package/dist/mailer/templates/plc-operation.js.map +2 -2
  80. package/dist/mailer/templates/reset-password.js +1 -1
  81. package/dist/mailer/templates/reset-password.js.map +2 -2
  82. package/dist/mailer/templates/update-email.js +1 -1
  83. package/dist/mailer/templates/update-email.js.map +2 -2
  84. package/dist/pipethrough.d.ts +26 -26
  85. package/dist/pipethrough.d.ts.map +1 -1
  86. package/dist/pipethrough.js +328 -228
  87. package/dist/pipethrough.js.map +1 -1
  88. package/dist/read-after-write/util.d.ts +13 -5
  89. package/dist/read-after-write/util.d.ts.map +1 -1
  90. package/dist/read-after-write/util.js +37 -22
  91. package/dist/read-after-write/util.js.map +1 -1
  92. package/package.json +16 -15
  93. package/src/actor-store/repo/sql-repo-reader.ts +3 -6
  94. package/src/api/app/bsky/actor/getProfile.ts +3 -17
  95. package/src/api/app/bsky/actor/getProfiles.ts +3 -15
  96. package/src/api/app/bsky/feed/getActorLikes.ts +3 -19
  97. package/src/api/app/bsky/feed/getAuthorFeed.ts +3 -17
  98. package/src/api/app/bsky/feed/getFeed.ts +3 -1
  99. package/src/api/app/bsky/feed/getPostThread.ts +16 -23
  100. package/src/api/app/bsky/feed/getTimeline.ts +3 -14
  101. package/src/api/com/atproto/repo/getRecord.ts +1 -1
  102. package/src/api/com/atproto/server/requestPasswordReset.ts +1 -1
  103. package/src/config/config.ts +21 -1
  104. package/src/config/env.ts +20 -2
  105. package/src/context.ts +62 -17
  106. package/src/index.ts +1 -0
  107. package/src/lexicon/lexicons.ts +92 -3
  108. package/src/lexicon/types/app/bsky/actor/defs.ts +25 -0
  109. package/src/lexicon/types/app/bsky/actor/profile.ts +1 -0
  110. package/src/lexicon/types/app/bsky/feed/defs.ts +38 -2
  111. package/src/lexicon/types/app/bsky/feed/getAuthorFeed.ts +1 -0
  112. package/src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts +2 -0
  113. package/src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts +2 -0
  114. package/src/lexicon/types/tools/ozone/moderation/defs.ts +2 -0
  115. package/src/lexicon/types/tools/ozone/moderation/queryStatuses.ts +3 -0
  116. package/src/mailer/index.ts +1 -1
  117. package/src/mailer/templates/confirm-email.hbs +106 -336
  118. package/src/mailer/templates/delete-account.hbs +110 -346
  119. package/src/mailer/templates/plc-operation.hbs +107 -338
  120. package/src/mailer/templates/reset-password.d.ts +1 -1
  121. package/src/mailer/templates/reset-password.hbs +108 -344
  122. package/src/mailer/templates/update-email.hbs +107 -337
  123. package/src/pipethrough.ts +489 -233
  124. package/src/read-after-write/util.ts +58 -32
  125. package/tests/account-deletion.test.ts +1 -1
  126. package/tests/account.test.ts +2 -2
  127. package/tests/email-confirmation.test.ts +2 -2
  128. package/tests/plc-operations.test.ts +1 -1
  129. package/tests/proxied/proxy-catchall.test.ts +255 -0
  130. package/tests/proxied/proxy-header.test.ts +31 -1
@@ -1,362 +1,122 @@
1
- <html>
1
+ <html dir="ltr" lang="en">
2
+
2
3
  <head>
3
- <!-- Compiled with Bootstrap Email version: 1.3.1 --><meta
4
- http-equiv="x-ua-compatible"
5
- content="ie=edge"
6
- />
4
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
7
5
  <meta name="x-apple-disable-message-reformatting" />
8
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Confirm your email</title>
9
7
  <meta
10
- name="format-detection"
11
- content="telephone=no, date=no, address=no, email=no"
8
+ name="description"
9
+ content="To confirm your email, enter the code provided in the app."
12
10
  />
13
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
14
- <style type="text/css">
15
- body,table,td{font-family:Helvetica,Arial,sans-serif
16
- !important}.ExternalClass{width:100%}.ExternalClass,.ExternalClass
17
- p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass
18
- div{line-height:150%}a{text-decoration:none}*{color:inherit}a[x-apple-data-detectors],u+#body
19
- a,#MessageViewBody
20
- a{color:inherit;text-decoration:none;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit}img{-ms-interpolation-mode:bicubic}table:not([class^=s-]){font-family:Helvetica,Arial,sans-serif;mso-table-lspace:0pt;mso-table-rspace:0pt;border-spacing:0px;border-collapse:collapse}table:not([class^=s-])
21
- td{border-spacing:0px;border-collapse:collapse}@media screen and
22
- (max-width: 600px){.w-full,.w-full>tbody>tr>td{width:100%
23
- !important}*[class*=s-lg-]>tbody>tr>td{font-size:0
24
- !important;line-height:0 !important;height:0
25
- !important}.s-2>tbody>tr>td{font-size:8px !important;line-height:8px
26
- !important;height:8px !important}.s-5>tbody>tr>td{font-size:20px
27
- !important;line-height:20px !important;height:20px
28
- !important}.s-10>tbody>tr>td{font-size:40px !important;line-height:40px
29
- !important;height:40px !important}}
30
- </style>
31
11
  </head>
12
+ <div
13
+ style="display:none;overflow:hidden;line-height:1px;opacity:0;max-height:0;max-width:0"
14
+ >To confirm your email, enter the code provided in the app.<div
15
+ > ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏ ‌​‍‎‏</div>
16
+ </div>
17
+
32
18
  <body
33
- class="bg-light"
34
- style="outline: 0; width: 100%; min-width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: Helvetica, Arial, sans-serif; line-height: 24px; font-weight: normal; font-size: 16px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; margin: 0; padding: 0; border-width: 0;"
35
- bgcolor="#f7fafc"
19
+ style="padding:12px;padding-bottom:40px;background-color:hsl(211, 20%, 95.3%)"
36
20
  >
37
21
  <table
38
- class="bg-light body"
39
- valign="top"
40
- role="presentation"
22
+ align="center"
23
+ width="100%"
41
24
  border="0"
42
- cellpadding="0"
43
- cellspacing="0"
44
- style="outline: 0; width: 100%; min-width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: Helvetica, Arial, sans-serif; line-height: 24px; font-weight: normal; font-size: 16px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; margin: 0; padding: 0; border-width: 0;"
45
- bgcolor="#f7fafc"
25
+ cellPadding="0"
26
+ cellSpacing="0"
27
+ role="presentation"
28
+ style="max-width:37.5em"
46
29
  >
47
30
  <tbody>
48
- <tr>
49
- <td
50
- valign="top"
51
- style="line-height: 24px; font-size: 16px; margin: 0;"
52
- align="left"
53
- bgcolor="#f7fafc"
54
- >
31
+ <tr style="width:100%">
32
+ <td>
55
33
  <table
56
- class="container"
34
+ align="center"
35
+ width="100%"
36
+ border="0"
37
+ cellPadding="0"
38
+ cellSpacing="0"
57
39
  role="presentation"
40
+ style="padding-top:24px;padding-bottom:24px"
41
+ >
42
+ <tbody>
43
+ <tr>
44
+ <td><img
45
+ alt="Bluesky"
46
+ src="https://bsky.social/about/images/email/email_logo_default.png"
47
+ style="display:block;outline:none;border:none;text-decoration:none;width:110px;margin:0 auto"
48
+ /></td>
49
+ </tr>
50
+ </tbody>
51
+ </table>
52
+ <table
53
+ align="center"
54
+ width="100%"
58
55
  border="0"
59
- cellpadding="0"
60
- cellspacing="0"
61
- style="width: 100%;"
56
+ cellPadding="0"
57
+ cellSpacing="0"
58
+ role="presentation"
59
+ style="padding:24px;padding-bottom:16px;border-radius:12px;background-color:#FFFFFF"
62
60
  >
63
61
  <tbody>
64
62
  <tr>
65
- <td
66
- align="center"
67
- style="line-height: 24px; font-size: 16px; margin: 0; padding: 0 16px;"
68
- >
69
- <!--[if (gte mso 9)|(IE)]>
70
- <table align="center" role="presentation">
71
- <tbody>
72
- <tr>
73
- <td width="600">
74
- <![endif]-->
63
+ <td>
64
+ <h1
65
+ style="font-size:26px;letter-spacing:0.25px;color:#000000;font-family:-apple-system, BlinkMacSystemFont, &#x27;Roboto&#x27;, &#x27;Oxygen&#x27;, &#x27;Ubuntu&#x27;, &#x27;Cantarell&#x27;, &#x27;Fira Sans&#x27;, &#x27;Droid Sans&#x27;, &#x27;Helvetica Neue&#x27;, sans-serif;margin:0px 0px;line-height:1.0"
66
+ >Confirm your email</h1>
67
+ <p
68
+ style="font-size:16px;line-height:1.4;margin:0px 0px;letter-spacing:0.25px;color:hsl(211, 24%, 34.2%);font-family:-apple-system, BlinkMacSystemFont, &#x27;Roboto&#x27;, &#x27;Oxygen&#x27;, &#x27;Ubuntu&#x27;, &#x27;Cantarell&#x27;, &#x27;Fira Sans&#x27;, &#x27;Droid Sans&#x27;, &#x27;Helvetica Neue&#x27;, sans-serif;padding-top:12px;padding-bottom:12px;padding-right:32px"
69
+ >To confirm this email for your account, please enter the
70
+ code below in the app.</p><code
71
+ style="display:block;padding:16px;border-radius:8px;border-width:1px;border-style:solid;background-color:hsl(211, 20%, 95.3%);border-color:hsl(211, 20%, 85.89999999999999%);font-size:14px;letter-spacing:0.25px;font-family:monospace;text-transform:lowercase"
72
+ >{{token}}</code>
73
+ <p
74
+ style="font-size:14px;line-height:1.4;margin:0px 0px;letter-spacing:0.25px;color:hsl(211, 20%, 53%);font-family:-apple-system, BlinkMacSystemFont, &#x27;Roboto&#x27;, &#x27;Oxygen&#x27;, &#x27;Ubuntu&#x27;, &#x27;Cantarell&#x27;, &#x27;Fira Sans&#x27;, &#x27;Droid Sans&#x27;, &#x27;Helvetica Neue&#x27;, sans-serif;padding-top:12px"
75
+ >If you didn&#x27;t request an email confirmation, you can
76
+ safely ignore this email.</p>
75
77
  <table
76
78
  align="center"
77
- role="presentation"
79
+ width="100%"
78
80
  border="0"
79
- cellpadding="0"
80
- cellspacing="0"
81
- style="width: 100%; max-width: 600px; margin: 0 auto;"
81
+ cellPadding="0"
82
+ cellSpacing="0"
83
+ role="presentation"
84
+ style="padding-top:24px"
82
85
  >
83
86
  <tbody>
84
87
  <tr>
85
- <td
86
- style="line-height: 24px; font-size: 16px; margin: 0;"
87
- align="left"
88
- >
88
+ <td>
89
+ <hr
90
+ style="width:100%;border:none;border-top:1px solid #eaeaea;margin:0"
91
+ />
89
92
  <table
90
- class="s-10 w-full"
91
- role="presentation"
92
- border="0"
93
- cellpadding="0"
94
- cellspacing="0"
95
- style="width: 100%;"
93
+ align="center"
96
94
  width="100%"
97
- >
98
- <tbody>
99
- <tr>
100
- <td
101
- style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;"
102
- align="left"
103
- width="100%"
104
- height="40"
105
- >
106
- &#160;
107
- </td>
108
- </tr>
109
- </tbody>
110
- </table>
111
- <table
112
- class="card"
113
- role="presentation"
114
95
  border="0"
115
- cellpadding="0"
116
- cellspacing="0"
117
- style="border-radius: 6px; border-collapse: separate !important; width: 100%; overflow: hidden; border: 1px solid #e2e8f0;"
118
- bgcolor="#ffffff"
119
- >
120
- <tbody>
121
- <tr>
122
- <td
123
- style="line-height: 24px; font-size: 16px; width: 100%; margin: 0;"
124
- align="left"
125
- bgcolor="#ffffff"
126
- >
127
- <table
128
- class="card-body"
129
- role="presentation"
130
- border="0"
131
- cellpadding="0"
132
- cellspacing="0"
133
- style="width: 100%;"
134
- >
135
- <tbody>
136
- <tr>
137
- <td
138
- style="line-height: 24px; font-size: 16px; width: 100%; margin: 0; padding: 20px;"
139
- align="left"
140
- >
141
- <h1
142
- class="h3"
143
- style="padding-top: 0; padding-bottom: 0; font-weight: 500; vertical-align: baseline; font-size: 28px; line-height: 33.6px; margin: 0;"
144
- align="left"
145
- >Confirm your Bluesky email</h1>
146
- <table
147
- class="s-2 w-full"
148
- role="presentation"
149
- border="0"
150
- cellpadding="0"
151
- cellspacing="0"
152
- style="width: 100%;"
153
- width="100%"
154
- >
155
- <tbody>
156
- <tr>
157
- <td
158
- style="line-height: 8px; font-size: 8px; width: 100%; height: 8px; margin: 0;"
159
- align="left"
160
- width="100%"
161
- height="8"
162
- >
163
- &#160;
164
- </td>
165
- </tr>
166
- </tbody>
167
- </table>
168
- <table
169
- class="s-5 w-full"
170
- role="presentation"
171
- border="0"
172
- cellpadding="0"
173
- cellspacing="0"
174
- style="width: 100%;"
175
- width="100%"
176
- >
177
- <tbody>
178
- <tr>
179
- <td
180
- style="line-height: 20px; font-size: 20px; width: 100%; height: 20px; margin: 0;"
181
- align="left"
182
- width="100%"
183
- height="20"
184
- >
185
- &#160;
186
- </td>
187
- </tr>
188
- </tbody>
189
- </table>
190
- <table
191
- class="hr"
192
- role="presentation"
193
- border="0"
194
- cellpadding="0"
195
- cellspacing="0"
196
- style="width: 100%;"
197
- >
198
- <tbody>
199
- <tr>
200
- <td
201
- style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; height: 1px; width: 100%; margin: 0;"
202
- align="left"
203
- >
204
- </td>
205
- </tr>
206
- </tbody>
207
- </table>
208
- <table
209
- class="s-5 w-full"
210
- role="presentation"
211
- border="0"
212
- cellpadding="0"
213
- cellspacing="0"
214
- style="width: 100%;"
215
- width="100%"
216
- >
217
- <tbody>
218
- <tr>
219
- <td
220
- style="line-height: 20px; font-size: 20px; width: 100%; height: 20px; margin: 0;"
221
- align="left"
222
- width="100%"
223
- height="20"
224
- >
225
- &#160;
226
- </td>
227
- </tr>
228
- </tbody>
229
- </table>
230
- <div class="space-y-3">
231
- <p
232
- class="text-gray-700"
233
- style="line-height: 24px; font-size: 16px; color: #4a5568; width: 100%; margin: 0;"
234
- align="left"
235
- >Confirmation code:</p>
236
- </div>
237
- <table
238
- class="s-2 w-full"
239
- role="presentation"
240
- border="0"
241
- cellpadding="0"
242
- cellspacing="0"
243
- style="width: 100%;"
244
- width="100%"
245
- >
246
- <tbody>
247
- <tr>
248
- <td
249
- style="line-height: 8px; font-size: 8px; width: 100%; height: 8px; margin: 0;"
250
- align="left"
251
- width="100%"
252
- height="8"
253
- >
254
- &#160;
255
- </td>
256
- </tr>
257
- </tbody>
258
- </table>
259
- <table
260
- class="card"
261
- role="presentation"
262
- border="0"
263
- cellpadding="0"
264
- cellspacing="0"
265
- style="border-radius: 6px; border-collapse: separate !important; width: 100%; overflow: hidden; border: 1px solid #e2e8f0;"
266
- bgcolor="#ffffff"
267
- >
268
- <tbody>
269
- <tr>
270
- <td
271
- style="line-height: 24px; font-size: 16px; width: 100%; margin: 0;"
272
- align="left"
273
- bgcolor="#ffffff"
274
- >
275
- <table
276
- class="card-body"
277
- role="presentation"
278
- border="0"
279
- cellpadding="0"
280
- cellspacing="0"
281
- style="width: 100%;"
282
- >
283
- <tbody>
284
- <tr>
285
- <td
286
- style="line-height: 24px; font-size: 16px; width: 100%; margin: 0; padding: 20px;"
287
- align="left"
288
- >
289
- <h4
290
- class="fw-900"
291
- style="padding-top: 0; padding-bottom: 0; font-weight: 900 !important; vertical-align: baseline; font-size: 24px; line-height: 28.8px; margin: 0;"
292
- align="left"
293
- >{{token}}</h4>
294
- </td>
295
- </tr>
296
- </tbody>
297
- </table>
298
- </td>
299
- </tr>
300
- </tbody>
301
- </table>
302
- <table
303
- class="s-2 w-full"
304
- role="presentation"
305
- border="0"
306
- cellpadding="0"
307
- cellspacing="0"
308
- style="width: 100%;"
309
- width="100%"
310
- >
311
- <tbody>
312
- <tr>
313
- <td
314
- style="line-height: 8px; font-size: 8px; width: 100%; height: 8px; margin: 0;"
315
- align="left"
316
- width="100%"
317
- height="8"
318
- >
319
- &#160;
320
- </td>
321
- </tr>
322
- </tbody>
323
- </table>
324
- <div class="space-y-3">
325
- <p
326
- class="text-gray-700"
327
- style="line-height: 24px; font-size: 16px; color: #4a5568; width: 100%; margin: 0;"
328
- align="left"
329
- >To confirm this email for your
330
- account, please enter the above
331
- code in the app.</p>
332
- </div>
333
- </td>
334
- </tr>
335
- </tbody>
336
- </table>
337
- </td>
338
- </tr>
339
- </tbody>
340
- </table>
341
- <table
342
- class="s-10 w-full"
96
+ cellPadding="0"
97
+ cellSpacing="0"
343
98
  role="presentation"
344
- border="0"
345
- cellpadding="0"
346
- cellspacing="0"
347
- style="width: 100%;"
348
- width="100%"
99
+ style="padding-top:16px;vertical-align:middle"
349
100
  >
350
- <tbody>
351
- <tr>
352
- <td
353
- style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;"
354
- align="left"
355
- width="100%"
356
- height="40"
357
- >
358
- &#160;
101
+ <tbody style="width:100%">
102
+ <tr style="width:100%">
103
+ <td data-id="__react-email-column">
104
+ <p
105
+ style="font-size:14px;line-height:1.4;margin:0px 0px;color:hsl(211, 20%, 53%);font-family:-apple-system, BlinkMacSystemFont, &#x27;Roboto&#x27;, &#x27;Oxygen&#x27;, &#x27;Ubuntu&#x27;, &#x27;Cantarell&#x27;, &#x27;Fira Sans&#x27;, &#x27;Droid Sans&#x27;, &#x27;Helvetica Neue&#x27;, sans-serif;letter-spacing:0.25px"
106
+ ><a
107
+ href="https://bsky.app"
108
+ style="color:hsl(211, 20%, 53%);text-decoration:none;text-decoration-line:underline;font-family:-apple-system, BlinkMacSystemFont, &#x27;Roboto&#x27;, &#x27;Oxygen&#x27;, &#x27;Ubuntu&#x27;, &#x27;Cantarell&#x27;, &#x27;Fira Sans&#x27;, &#x27;Droid Sans&#x27;, &#x27;Helvetica Neue&#x27;, sans-serif;margin:0px 0px;line-height:1.0;font-size:14px;letter-spacing:0.25px"
109
+ target="_blank"
110
+ >Bluesky</a>, the social internet</p>
359
111
  </td>
112
+ <td
113
+ data-id="__react-email-column"
114
+ style="width:24px"
115
+ ><img
116
+ alt="🦋"
117
+ src="https://bsky.social/about/images/email/email_mark_dark.png"
118
+ style="display:block;outline:none;border:none;text-decoration:none;width:24px"
119
+ /></td>
360
120
  </tr>
361
121
  </tbody>
362
122
  </table>
@@ -364,19 +124,29 @@
364
124
  </tr>
365
125
  </tbody>
366
126
  </table>
367
- <!--[if (gte mso 9)|(IE)]>
368
- </td>
369
- </tr>
370
- </tbody>
371
- </table>
372
- <![endif]-->
373
127
  </td>
374
128
  </tr>
375
129
  </tbody>
376
130
  </table>
131
+ <table
132
+ align="center"
133
+ width="100%"
134
+ border="0"
135
+ cellPadding="0"
136
+ cellSpacing="0"
137
+ role="presentation"
138
+ style="height:500px"
139
+ >
140
+ <tbody>
141
+ <tr>
142
+ <td></td>
143
+ </tr>
144
+ </tbody>
145
+ </table>
377
146
  </td>
378
147
  </tr>
379
148
  </tbody>
380
149
  </table>
381
150
  </body>
151
+
382
152
  </html>