diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index c608f66000..0000000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: bug
-assignees: ''
-
----
-
-**Describe the bug**
-
-
-**To Reproduce**
-
-Steps to reproduce the behavior:
-
-1.
-
-**Expected behavior**
-
-
-
-**Screenshots**
-
-
-
-**Details**
-
- - Platform:
- - Platform version:
- - App version:
-
-**Additional context**
-
-
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000000..4f3041b40e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,67 @@
+name: "Bug Report"
+description: "Create a report for an issue you have experience in the app."
+labels: ["bug"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to report an issue you've found in the app! Before you submit this issue, please make
+ sure you've searched for similar issues that are already open and being tracked. If you find an open issue that
+ seems relevant to yours, it is best to leave a response there with your information instead of opening a new
+ issue, since it helps to consolidate the info in one place.
+ - type: textarea
+ attributes:
+ label: Steps to Reproduce
+ description: |
+ Please provide the steps that may reproduce the issue that you are experiencing. The more concise of a
+ reproduction that you provide, the easier it will be for us to identify the issue and fix it in a timely manner.
+ placeholder: |
+ 1. Go to '...'
+ 2. Click on '....'
+ 3. Scroll down to '....'
+ 4. See error
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Attachments
+ description: |
+ If possible, please provide any images or videos that may help us understand the issue you are experiencing.
+ validations:
+ required: false
+ - type: dropdown
+ attributes:
+ label: What platform(s) does this occur on?
+ multiple: true
+ options:
+ - iOS
+ - Android
+ - Web (Desktop)
+ - Web (Mobile)
+ validations:
+ required: true
+ - type: input
+ attributes:
+ label: Device Info
+ description: |
+ Please provide the device information that you are using when experiencing this issue. This can include the
+ device model, operating system version, and any other relevant information.
+ validations:
+ required: false
+ - type: input
+ attributes:
+ label: What version of the app are you using?
+ description: |
+ You can easily find this information by visting the Settings screen in the app, and tapping on the version info
+ at the bottom of the screen. All the relevant information will be copied to your clipboard, and you will be
+ able to share it here.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Additional Information
+ description: |
+ Please provide any additional information that you think may be helpful in identifying the issue you are
+ experiencing. This can include any error messages, logs, or other information that you think may be relevant.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/bug_report_fabric.yml b/.github/ISSUE_TEMPLATE/bug_report_fabric.yml
new file mode 100644
index 0000000000..83782bf69d
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report_fabric.yml
@@ -0,0 +1,72 @@
+name: "Bug Report - Fabric/New Architecture"
+description: "Create a bug report for builds using the New Architecture. If you are not sure what that means, don't use this template, and instead use the default bug report template."
+labels: ["bug", "fabric"]
+body:
+ - type: checkboxes
+ attributes:
+ label: You're running a build that uses the React Native New Architecture, right?
+ description: This template is specifically for issues related to builds that use the React Native New Architecture. If you are not sure what that means, this template is probably not relevant to you, and you should use the default Bug Report template.
+ options:
+ - label: I am running a build that uses the New Architecture
+ required: true
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to report an issue you've found in the app! Before you submit this issue, please make
+ sure you've searched for similar issues that are already open and being tracked. If you find an open issue that
+ seems relevant to yours, it is best to leave a response there with your information instead of opening a new
+ issue, since it helps to consolidate the info in one place.
+ - type: textarea
+ attributes:
+ label: Steps to Reproduce
+ description: |
+ Please provide the steps that may reproduce the issue that you are experiencing. The more concise of a
+ reproduction that you provide, the easier it will be for us to identify the issue and fix it in a timely manner.
+ placeholder: |
+ 1. Go to '...'
+ 2. Click on '....'
+ 3. Scroll down to '....'
+ 4. See error
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Attachments
+ description: |
+ If possible, please provide any images or videos that may help us understand the issue you are experiencing.
+ validations:
+ required: false
+ - type: dropdown
+ attributes:
+ label: What platform(s) does this occur on?
+ multiple: true
+ options:
+ - iOS
+ - Android
+ validations:
+ required: true
+ - type: input
+ attributes:
+ label: Device Info
+ description: |
+ Please provide the device information that you are using when experiencing this issue. This can include the
+ device model, operating system version, and any other relevant information.
+ validations:
+ required: false
+ - type: input
+ attributes:
+ label: What version of the app are you using?
+ description: |
+ You can easily find this information by visting the Settings screen in the app, and tapping on the version info
+ at the bottom of the screen. All the relevant information will be copied to your clipboard, and you will be
+ able to share it here.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Additional Information
+ description: |
+ Please provide any additional information that you think may be helpful in identifying the issue you are
+ experiencing. This can include any error messages, logs, or other information that you think may be relevant.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 0ac6b3c416..0000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: feature-request
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-
-
-
-**Describe the solution you'd like**
-
-
-
-**Describe alternatives you've considered**
-
-
-
-**Additional context**
-
-
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000000..f296e94360
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,45 @@
+name: "Feature Request"
+description: "Suggest an idea for the Bluesky app."
+labels: ["feature-request"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for submitting a feature request! Before you submit this request, please make sure you've searched for
+ similar requests that are already open and being tracked. If you find an open request that seems relevant to
+ yours, it is best to leave a response there with your information instead of opening a new request, since it
+ helps to consolidate the info in one place.
+ - type: textarea
+ attributes:
+ label: Describe the Feature
+ description: |
+ Please provide a detailed description of the feature you would like to see implemented in the app. The more
+ information you provide, the easier it will be for us to understand the feature you are requesting and to
+ implement it in a timely manner.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Attachments
+ description: |
+ If helpful, provide some images or videos of similar features in other apps that you think would be helpful
+ for us to understand the feature you are requesting, or places within the app that you think the feature belongs
+ in or is missing from.
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Describe Alternatives
+ description: |
+ If there are any alternative solutions or features that you think would be helpful to implement in place of the
+ feature you are requesting, please provide a description of those as well.
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Additional Context
+ description: |
+ If there is any additional context or information that you think would be helpful for us to know about the
+ feature you are requesting, please provide that information here.
+ validations:
+ required: false
diff --git a/.prettierignore b/.prettierignore
index 8ccbae2148..e107e129a4 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -15,3 +15,6 @@ android
ios
src/locale/locales
lib/react-compiler-runtime
+bskyweb/static
+coverage
+web-build
diff --git a/src/lib/strings/__tests__/email.test.ts b/__tests__/lib/email.test.ts
similarity index 100%
rename from src/lib/strings/__tests__/email.test.ts
rename to __tests__/lib/email.test.ts
diff --git a/app.config.js b/app.config.js
index fe65c4fde5..6b2bad9385 100644
--- a/app.config.js
+++ b/app.config.js
@@ -234,24 +234,8 @@ module.exports = function (config) {
'expo-font',
{
fonts: [
- // './assets/fonts/inter/Inter-Thin.otf',
- // './assets/fonts/inter/Inter-ThinItalic.otf',
- // './assets/fonts/inter/Inter-ExtraLight.otf',
- // './assets/fonts/inter/Inter-ExtraLightItalic.otf',
- // './assets/fonts/inter/Inter-Light.otf',
- // './assets/fonts/inter/Inter-LightItalic.otf',
- './assets/fonts/inter/Inter-Regular.otf',
- './assets/fonts/inter/Inter-Italic.otf',
- './assets/fonts/inter/Inter-Medium.otf',
- './assets/fonts/inter/Inter-MediumItalic.otf',
- './assets/fonts/inter/Inter-SemiBold.otf',
- './assets/fonts/inter/Inter-SemiBoldItalic.otf',
- './assets/fonts/inter/Inter-Bold.otf',
- './assets/fonts/inter/Inter-BoldItalic.otf',
- './assets/fonts/inter/Inter-ExtraBold.otf',
- './assets/fonts/inter/Inter-ExtraBoldItalic.otf',
- './assets/fonts/inter/Inter-Black.otf',
- './assets/fonts/inter/Inter-BlackItalic.otf',
+ './assets/fonts/inter/InterVariable.ttf',
+ './assets/fonts/inter/InterVariable-Italic.ttf',
],
},
],
diff --git a/assets/fonts/inter/InterVariable-Italic.ttf b/assets/fonts/inter/InterVariable-Italic.ttf
new file mode 100644
index 0000000000..ed674e77cb
Binary files /dev/null and b/assets/fonts/inter/InterVariable-Italic.ttf differ
diff --git a/assets/fonts/inter/InterVariable.ttf b/assets/fonts/inter/InterVariable.ttf
new file mode 100644
index 0000000000..2d4b47093a
Binary files /dev/null and b/assets/fonts/inter/InterVariable.ttf differ
diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go
index fd80a5ed14..54c5f075ac 100644
--- a/bskyweb/cmd/bskyweb/server.go
+++ b/bskyweb/cmd/bskyweb/server.go
@@ -255,6 +255,7 @@ func serve(cctx *cli.Context) error {
e.GET("/support/community-guidelines", server.WebGeneric)
e.GET("/support/copyright", server.WebGeneric)
e.GET("/intent/compose", server.WebGeneric)
+ e.GET("/intent/verify-email", server.WebGeneric)
e.GET("/messages", server.WebGeneric)
e.GET("/messages/:conversation", server.WebGeneric)
@@ -279,6 +280,7 @@ func serve(cctx *cli.Context) error {
// starter packs
e.GET("/starter-pack/:handleOrDID/:rkey", server.WebStarterPack)
+ e.GET("/starter-pack-short/:code", server.WebGeneric)
e.GET("/start/:handleOrDID/:rkey", server.WebStarterPack)
// ipcc
diff --git a/bskyweb/static/media/Inter-Black.66e9a87f1c921e844ed4.otf b/bskyweb/static/media/Inter-Black.66e9a87f1c921e844ed4.otf
deleted file mode 100644
index 44d1779af6..0000000000
Binary files a/bskyweb/static/media/Inter-Black.66e9a87f1c921e844ed4.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-BlackItalic.27b9f0ad06fd13a7b9da.otf b/bskyweb/static/media/Inter-BlackItalic.27b9f0ad06fd13a7b9da.otf
deleted file mode 100644
index 6fc475e415..0000000000
Binary files a/bskyweb/static/media/Inter-BlackItalic.27b9f0ad06fd13a7b9da.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-Bold.8d330503e1d034ad68de.otf b/bskyweb/static/media/Inter-Bold.8d330503e1d034ad68de.otf
deleted file mode 100644
index 58a38073e8..0000000000
Binary files a/bskyweb/static/media/Inter-Bold.8d330503e1d034ad68de.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-BoldItalic.bb17e63f9baa0d861a20.otf b/bskyweb/static/media/Inter-BoldItalic.bb17e63f9baa0d861a20.otf
deleted file mode 100644
index e67935aa5a..0000000000
Binary files a/bskyweb/static/media/Inter-BoldItalic.bb17e63f9baa0d861a20.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-ExtraBold.ff2581a193bf6b7e0b06.otf b/bskyweb/static/media/Inter-ExtraBold.ff2581a193bf6b7e0b06.otf
deleted file mode 100644
index 66cd95228c..0000000000
Binary files a/bskyweb/static/media/Inter-ExtraBold.ff2581a193bf6b7e0b06.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-ExtraBoldItalic.0e50b40728d24d40fdf4.otf b/bskyweb/static/media/Inter-ExtraBoldItalic.0e50b40728d24d40fdf4.otf
deleted file mode 100644
index f269814a64..0000000000
Binary files a/bskyweb/static/media/Inter-ExtraBoldItalic.0e50b40728d24d40fdf4.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-Italic.95778eb0c75dc956257e.otf b/bskyweb/static/media/Inter-Italic.95778eb0c75dc956257e.otf
deleted file mode 100644
index f78848b987..0000000000
Binary files a/bskyweb/static/media/Inter-Italic.95778eb0c75dc956257e.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-Medium.296aa2d65964269836b3.otf b/bskyweb/static/media/Inter-Medium.296aa2d65964269836b3.otf
deleted file mode 100644
index f44f89adac..0000000000
Binary files a/bskyweb/static/media/Inter-Medium.296aa2d65964269836b3.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-MediumItalic.0e57e17a6311368e2114.otf b/bskyweb/static/media/Inter-MediumItalic.0e57e17a6311368e2114.otf
deleted file mode 100644
index 1970f57214..0000000000
Binary files a/bskyweb/static/media/Inter-MediumItalic.0e57e17a6311368e2114.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-Regular.1f5ed03b6dd9fd1f9982.otf b/bskyweb/static/media/Inter-Regular.1f5ed03b6dd9fd1f9982.otf
deleted file mode 100644
index 2d0bd1d645..0000000000
Binary files a/bskyweb/static/media/Inter-Regular.1f5ed03b6dd9fd1f9982.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-SemiBold.2277990330981b8409bb.otf b/bskyweb/static/media/Inter-SemiBold.2277990330981b8409bb.otf
deleted file mode 100644
index 52c84550ba..0000000000
Binary files a/bskyweb/static/media/Inter-SemiBold.2277990330981b8409bb.otf and /dev/null differ
diff --git a/bskyweb/static/media/Inter-SemiBoldItalic.f62fea3df3a521d6c8a7.otf b/bskyweb/static/media/Inter-SemiBoldItalic.f62fea3df3a521d6c8a7.otf
deleted file mode 100644
index b725bfc883..0000000000
Binary files a/bskyweb/static/media/Inter-SemiBoldItalic.f62fea3df3a521d6c8a7.otf and /dev/null differ
diff --git a/bskyweb/static/media/InterVariable-Italic.55d6a3f35e9b605ba6f4.ttf b/bskyweb/static/media/InterVariable-Italic.55d6a3f35e9b605ba6f4.ttf
new file mode 100644
index 0000000000..ed674e77cb
Binary files /dev/null and b/bskyweb/static/media/InterVariable-Italic.55d6a3f35e9b605ba6f4.ttf differ
diff --git a/bskyweb/static/media/InterVariable.c9f788f6e7ebaec75d7c.ttf b/bskyweb/static/media/InterVariable.c9f788f6e7ebaec75d7c.ttf
new file mode 100644
index 0000000000..2d4b47093a
Binary files /dev/null and b/bskyweb/static/media/InterVariable.c9f788f6e7ebaec75d7c.ttf differ
diff --git a/bskyweb/templates/base.html b/bskyweb/templates/base.html
index 03686ef5c4..885d13d2a7 100644
--- a/bskyweb/templates/base.html
+++ b/bskyweb/templates/base.html
@@ -13,24 +13,8 @@
-
-
-
-
-
-
-
-
-
+
+