@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,370 +1,124 @@
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>Reset password</title>
9
7
  <meta
10
- name="format-detection"
11
- content="telephone=no, date=no, address=no, email=no"
8
+ name="description"
9
+ content="We received a request to reset the password for the account @{{handle}}."
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
+ >We received a request to reset the password for the account @{{handle}}.<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
+ >Reset password</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"
69
+ >We received a request to reset the password for the account<!-- -->
70
+ <span
71
+ style="color:hsl(211, 99%, 53%)"
72
+ >@<!-- -->{{handle}}<!-- -->.</span></p><code
73
+ 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"
74
+ >{{token}}</code>
75
+ <p
76
+ 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"
77
+ >To choose a new password, please enter the code above in
78
+ the app along with your new password.</p>
75
79
  <table
76
80
  align="center"
77
- role="presentation"
81
+ width="100%"
78
82
  border="0"
79
- cellpadding="0"
80
- cellspacing="0"
81
- style="width: 100%; max-width: 600px; margin: 0 auto;"
83
+ cellPadding="0"
84
+ cellSpacing="0"
85
+ role="presentation"
86
+ style="padding-top:24px"
82
87
  >
83
88
  <tbody>
84
89
  <tr>
85
- <td
86
- style="line-height: 24px; font-size: 16px; margin: 0;"
87
- align="left"
88
- >
90
+ <td>
91
+ <hr
92
+ style="width:100%;border:none;border-top:1px solid #eaeaea;margin:0"
93
+ />
89
94
  <table
90
- class="s-10 w-full"
91
- role="presentation"
92
- border="0"
93
- cellpadding="0"
94
- cellspacing="0"
95
- style="width: 100%;"
95
+ align="center"
96
96
  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
97
  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
- >Reset your password</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
- <h5
169
- class="text-teal-700"
170
- style="color: #13795b; padding-top: 0; padding-bottom: 0; font-weight: 500; vertical-align: baseline; font-size: 20px; line-height: 24px; margin: 0;"
171
- align="left"
172
- >We received a request to reset the
173
- password for the account:
174
- {{identifier}}</h5>
175
- <table
176
- class="s-5 w-full"
177
- role="presentation"
178
- border="0"
179
- cellpadding="0"
180
- cellspacing="0"
181
- style="width: 100%;"
182
- width="100%"
183
- >
184
- <tbody>
185
- <tr>
186
- <td
187
- style="line-height: 20px; font-size: 20px; width: 100%; height: 20px; margin: 0;"
188
- align="left"
189
- width="100%"
190
- height="20"
191
- >
192
- &#160;
193
- </td>
194
- </tr>
195
- </tbody>
196
- </table>
197
- <table
198
- class="hr"
199
- role="presentation"
200
- border="0"
201
- cellpadding="0"
202
- cellspacing="0"
203
- style="width: 100%;"
204
- >
205
- <tbody>
206
- <tr>
207
- <td
208
- 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;"
209
- align="left"
210
- >
211
- </td>
212
- </tr>
213
- </tbody>
214
- </table>
215
- <table
216
- class="s-5 w-full"
217
- role="presentation"
218
- border="0"
219
- cellpadding="0"
220
- cellspacing="0"
221
- style="width: 100%;"
222
- width="100%"
223
- >
224
- <tbody>
225
- <tr>
226
- <td
227
- style="line-height: 20px; font-size: 20px; width: 100%; height: 20px; margin: 0;"
228
- align="left"
229
- width="100%"
230
- height="20"
231
- >
232
- &#160;
233
- </td>
234
- </tr>
235
- </tbody>
236
- </table>
237
- <div class="space-y-3">
238
- <p
239
- class="text-gray-700"
240
- style="line-height: 24px; font-size: 16px; color: #4a5568; width: 100%; margin: 0;"
241
- align="left"
242
- >Reset code:</p>
243
- </div>
244
- <table
245
- class="s-2 w-full"
246
- role="presentation"
247
- border="0"
248
- cellpadding="0"
249
- cellspacing="0"
250
- style="width: 100%;"
251
- width="100%"
252
- >
253
- <tbody>
254
- <tr>
255
- <td
256
- style="line-height: 8px; font-size: 8px; width: 100%; height: 8px; margin: 0;"
257
- align="left"
258
- width="100%"
259
- height="8"
260
- >
261
- &#160;
262
- </td>
263
- </tr>
264
- </tbody>
265
- </table>
266
- <table
267
- class="card"
268
- role="presentation"
269
- border="0"
270
- cellpadding="0"
271
- cellspacing="0"
272
- style="border-radius: 6px; border-collapse: separate !important; width: 100%; overflow: hidden; border: 1px solid #e2e8f0;"
273
- bgcolor="#ffffff"
274
- >
275
- <tbody>
276
- <tr>
277
- <td
278
- style="line-height: 24px; font-size: 16px; width: 100%; margin: 0;"
279
- align="left"
280
- bgcolor="#ffffff"
281
- >
282
- <table
283
- class="card-body"
284
- role="presentation"
285
- border="0"
286
- cellpadding="0"
287
- cellspacing="0"
288
- style="width: 100%;"
289
- >
290
- <tbody>
291
- <tr>
292
- <td
293
- style="line-height: 24px; font-size: 16px; width: 100%; margin: 0; padding: 20px;"
294
- align="left"
295
- >
296
- <h4
297
- class="fw-900"
298
- style="padding-top: 0; padding-bottom: 0; font-weight: 900 !important; vertical-align: baseline; font-size: 24px; line-height: 28.8px; margin: 0;"
299
- align="left"
300
- >{{token}}</h4>
301
- </td>
302
- </tr>
303
- </tbody>
304
- </table>
305
- </td>
306
- </tr>
307
- </tbody>
308
- </table>
309
- <table
310
- class="s-2 w-full"
311
- role="presentation"
312
- border="0"
313
- cellpadding="0"
314
- cellspacing="0"
315
- style="width: 100%;"
316
- width="100%"
317
- >
318
- <tbody>
319
- <tr>
320
- <td
321
- style="line-height: 8px; font-size: 8px; width: 100%; height: 8px; margin: 0;"
322
- align="left"
323
- width="100%"
324
- height="8"
325
- >
326
- &#160;
327
- </td>
328
- </tr>
329
- </tbody>
330
- </table>
331
- <div class="space-y-3">
332
- <p
333
- class="text-gray-700"
334
- style="line-height: 24px; font-size: 16px; color: #4a5568; width: 100%; margin: 0;"
335
- align="left"
336
- >To choose a new password, please
337
- enter the above "reset code" in
338
- the app along with your new
339
- password.</p>
340
- </div>
341
- </td>
342
- </tr>
343
- </tbody>
344
- </table>
345
- </td>
346
- </tr>
347
- </tbody>
348
- </table>
349
- <table
350
- class="s-10 w-full"
98
+ cellPadding="0"
99
+ cellSpacing="0"
351
100
  role="presentation"
352
- border="0"
353
- cellpadding="0"
354
- cellspacing="0"
355
- style="width: 100%;"
356
- width="100%"
101
+ style="padding-top:16px;vertical-align:middle"
357
102
  >
358
- <tbody>
359
- <tr>
360
- <td
361
- style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;"
362
- align="left"
363
- width="100%"
364
- height="40"
365
- >
366
- &#160;
103
+ <tbody style="width:100%">
104
+ <tr style="width:100%">
105
+ <td data-id="__react-email-column">
106
+ <p
107
+ 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"
108
+ ><a
109
+ href="https://bsky.app"
110
+ 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"
111
+ target="_blank"
112
+ >Bluesky</a>, the social internet</p>
367
113
  </td>
114
+ <td
115
+ data-id="__react-email-column"
116
+ style="width:24px"
117
+ ><img
118
+ alt="🦋"
119
+ src="https://bsky.social/about/images/email/email_mark_dark.png"
120
+ style="display:block;outline:none;border:none;text-decoration:none;width:24px"
121
+ /></td>
368
122
  </tr>
369
123
  </tbody>
370
124
  </table>
@@ -372,19 +126,29 @@
372
126
  </tr>
373
127
  </tbody>
374
128
  </table>
375
- <!--[if (gte mso 9)|(IE)]>
376
- </td>
377
- </tr>
378
- </tbody>
379
- </table>
380
- <![endif]-->
381
129
  </td>
382
130
  </tr>
383
131
  </tbody>
384
132
  </table>
133
+ <table
134
+ align="center"
135
+ width="100%"
136
+ border="0"
137
+ cellPadding="0"
138
+ cellSpacing="0"
139
+ role="presentation"
140
+ style="height:500px"
141
+ >
142
+ <tbody>
143
+ <tr>
144
+ <td></td>
145
+ </tr>
146
+ </tbody>
147
+ </table>
385
148
  </td>
386
149
  </tr>
387
150
  </tbody>
388
151
  </table>
389
152
  </body>
153
+
390
154
  </html>