diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index e65992b9..00000000
--- a/.dockerignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.git
-.next
-node_modules
-dist
diff --git a/.eslintrc.json b/.eslintrc.json
index f18343c6..3ddc2ba6 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -2,11 +2,12 @@
"root": true,
"extends": ["xmtp-web"],
"parserOptions": {
- "project": "./tsconfig.eslint.json"
+ "project": "./tsconfig.json"
},
"rules": {
"no-plusplus": "off",
"jsx-a11y/media-has-caption": "off",
+ "@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-misused-promises": [
"error",
{
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 65cfe8ee..62a03d8e 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,3 +1,2 @@
-# Global rule:
* @xmtp-labs/web
-*.md @jhaaaa
+*.md @fabriguespe
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index 16ff1158..00000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ""
-labels: bug
-assignees: bhavya2611
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Device and browser:**
-Please provide details about the device and browser where the bug occurs.
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 00000000..9e3be59d
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,28 @@
+name: Report a bug
+description: Report a bug to share an issue you're experiencing.
+title: "Bug: "
+labels: bug
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for taking the time to report a bug. Community contributions like yours are key to the development and adoption of XMTP. Review the following guidelines for reporting a bug:
+ - Include 1 bug per issue. Creating 1 issue per bug will make it easier to assign and track progress on bugs.
+ - Check [existing issues](https://github.com/xmtp-labs/xmtp-inbox-web/issues) to see if your issue has already been reported.
+ - Ensure that the bug is not security-related and can safely be disclosed publicly on GitHub. For information about how to report a security issue, see [Security policy](https://github.com/xmtp-labs/xmtp-inbox-web/security/policy).
+ - Follow the [XMTP code of conduct](https://github.com/xmtp-labs/xmtp-inbox-web/blob/main/CODE_OF_CONDUCT.md).
+ - type: textarea
+ id: bug-description
+ attributes:
+ label: Describe the bug
+ description: Provide a clear and concise description of the issue. Attach screenshots, if applicable.
+ - type: textarea
+ id: expected-behavior
+ attributes:
+ label: Expected behavior
+ description: Provide a clear and concise description of the behavior you expected. Attach screenshots, if applicable.
+ - type: textarea
+ id: reproduce
+ attributes:
+ label: Steps to reproduce the bug
+ description: Provide a clear and concise description of how to reproduce the bug, including any relevant environment details such as SDK version, browser, OS, and device.
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 00000000..d54dc5b7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Have questions about how to build with XMTP?
+ url: https://community.xmtp.org/
+ about: Ask your question and learn with the community in the XMTP Community Forums.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 674e2aa1..00000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ""
-labels: enhancement
-assignees: bhavya2611
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe designs you've considered**
-A clear and concise description/screenshots of any designs you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 00000000..446b22e8
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,33 @@
+name: Request a feature
+description: Create a feature request to suggest an idea or enhancement.
+title: "Feature request: "
+labels: enhancement
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for taking the time to request a feature. Community contributions like yours are key to the development and adoption of XMTP. Review the following guidelines for requesting a feature:
+ - Include 1 feature request per issue. Creating 1 issue per request will make it easier to explore and assign a priority to a request.
+ - Check [existing issues](https://github.com/xmtp-labs/xmtp-inbox-web/issues) to see if the feature has already been requested.
+ - Ensure that the feature is not security-related and can safely be disclosed publicly on GitHub. For information about how to report a security issue, see [Security policy](https://github.com/xmtp-labs/xmtp-inbox-web/security/policy).
+ - Follow the [XMTP code of conduct](https://github.com/xmtp-labs/xmtp-inbox-web/blob/main/CODE_OF_CONDUCT.md).
+ - type: textarea
+ id: problem-description
+ attributes:
+ label: Is your feature request related to a problem?
+ description: Provide a clear and concise description of the problem to be solved.
+ - type: textarea
+ id: solution
+ attributes:
+ label: Describe the solution to the problem
+ description: Provide a clear and concise description of what you want to happen to solve the problem.
+ - type: textarea
+ id: usecases
+ attributes:
+ label: Describe the uses cases for the feature
+ description: Provide a clear and concise description of the use cases the feature unlocks.
+ - type: textarea
+ id: details
+ attributes:
+ label: Additional details
+ description: Add any other details about your feature request. Attach screenshots, if applicable.
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
new file mode 100644
index 00000000..3e8d098f
--- /dev/null
+++ b/.github/workflows/checks.yml
@@ -0,0 +1,69 @@
+name: Code Checks
+
+on: [pull_request]
+
+jobs:
+ format:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: ".node-version"
+ cache: "npm"
+ - name: Install dependencies
+ run: npm ci
+ - name: Check code format
+ run: npm run format:check
+
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: ".node-version"
+ cache: "npm"
+ - name: Install dependencies
+ run: npm ci
+ - name: Lint
+ run: npm run lint
+
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: ".node-version"
+ cache: "npm"
+ - name: Install dependencies
+ run: npm ci
+ - name: Run tests
+ run: npm run test
+
+ typecheck:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: ".node-version"
+ cache: "npm"
+ - name: Install dependencies
+ run: npm ci
+ - name: Check types
+ run: npm run typecheck
+
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: ".node-version"
+ cache: "npm"
+ - name: Install dependencies
+ run: npm ci
+ - name: Build
+ run: npm run build
diff --git a/.github/workflows/cypress.yml b/.github/workflows/e2e-tests.yml
similarity index 61%
rename from .github/workflows/cypress.yml
rename to .github/workflows/e2e-tests.yml
index a02986fe..2f08de7f 100644
--- a/.github/workflows/cypress.yml
+++ b/.github/workflows/e2e-tests.yml
@@ -7,15 +7,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
+ uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
with:
- node-version: 18.14.0
+ node-version-file: ".node-version"
cache: "npm"
- # Install NPM dependencies, cache them correctly
- # and run all Cypress tests
- name: Cypress run
- uses: cypress-io/github-action@v5
+ uses: cypress-io/github-action@v6
with:
build: npm run build
start: npm run dev
diff --git a/.github/workflows/fmt-check.yml b/.github/workflows/fmt-check.yml
deleted file mode 100644
index 2e4093b5..00000000
--- a/.github/workflows/fmt-check.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Code Format Checks
-
-on: [pull_request]
-
-jobs:
- eslint:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: 18.14.0
- cache: "npm"
- - name: Run Code Format Check
- run: |
- npm install
- npm run fmt:check
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
deleted file mode 100644
index 064e1175..00000000
--- a/.github/workflows/lint.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Lint Checks
-
-on: [pull_request]
-
-jobs:
- eslint:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: 18.14.0
- cache: "npm"
- - name: Run Lint
- run: |
- npm install
- npm run lint
diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml
deleted file mode 100644
index 43a80390..00000000
--- a/.github/workflows/publish-docker.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Publish Docker
-on:
- push:
- branches:
- - main
- - dev
-env:
- BUILD_CONTAINER_IMAGE: xmtplabs/xmtp-inbox-web:latest
-jobs:
- publish:
- runs-on: ubuntu-latest
- steps:
- - uses: docker/setup-buildx-action@v1
- - uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
- - uses: actions/checkout@v3
- - run: docker/build
- env:
- INFURA_ID: ${{ secrets.DEV_INFURA_ID }}
- - run: docker/push
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
deleted file mode 100644
index 99e75adc..00000000
--- a/.github/workflows/tests.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Unit Tests
-
-on: [pull_request]
-
-jobs:
- jest-and-cypress-components:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: 18.14.0
- cache: "npm"
- - name: Run Tests
- run: |
- npm install
- npm test
diff --git a/.gitignore b/.gitignore
index 2446cbbb..78507bb7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,7 +35,9 @@ composer.lock
*.swp
*.swo
.projectile
-.vscode
+.vscode/*
+!.vscode/extensions.json
+!.vscode/settings.json
.history
*.vsix
*.tmproj
@@ -58,5 +60,4 @@ dist
# Environment
.env*
-!docker/.env.default
diff --git a/.node-version b/.node-version
new file mode 100644
index 00000000..3c5535cf
--- /dev/null
+++ b/.node-version
@@ -0,0 +1 @@
+18.19.1
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 00000000..3c5535cf
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+18.19.1
diff --git a/.prettierignore b/.prettierignore
index d9486678..e83d5fbd 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1 +1,2 @@
/.reflame.config.jsonc
+CODEOWNERS
diff --git a/.prettierrc b/.prettierrc
index 529c3e1c..b7329173 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -14,5 +14,6 @@
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "all",
- "useTabs": false
+ "useTabs": false,
+ "plugins": ["prettier-plugin-packagejson"]
}
diff --git a/.storybook/main.ts b/.storybook/main.ts
deleted file mode 100644
index 0e00779f..00000000
--- a/.storybook/main.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import type { StorybookConfig } from "@storybook/react-vite";
-
-const config: StorybookConfig = {
- stories: ["../src/component-library/**/*.stories.@(js|jsx|ts|tsx|mdx)"],
- addons: [
- "@storybook/addon-links",
- "@storybook/addon-essentials",
- "@storybook/addon-interactions",
- ],
- framework: {
- name: "@storybook/react-vite",
- options: {},
- },
- docs: {
- autodocs: true,
- },
-};
-
-export default config;
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
deleted file mode 100644
index 39ff7339..00000000
--- a/.storybook/preview.tsx
+++ /dev/null
@@ -1,60 +0,0 @@
-import "../src/globals.css";
-
-import i18n, { initialize, supportedLocales } from "../src/helpers/i18n";
-import React, { useEffect, useState } from "react";
-import { I18nextProvider } from "react-i18next";
-import type { Decorator } from "@storybook/react";
-
-const withI18next: Decorator = (story, context) => {
- const [initialized, setInitialized] = useState(false);
-
- const { locale } = context.globals;
-
- useEffect(() => {
- const initI18n = async () => {
- await initialize();
- setInitialized(true);
- };
- initI18n();
- }, []);
-
- useEffect(() => {
- i18n.changeLanguage(locale);
- }, [locale]);
-
- return initialized ? (
-
{t("consent.new_message_request_description")}
+{t("consent.new_message_request_description")}
-For mobile-friendly chat:
diff --git a/src/component-library/components/OnboardingStep/OnboardingStep.stories.tsx b/src/component-library/components/OnboardingStep/OnboardingStep.stories.tsx deleted file mode 100644 index 84a1b12d..00000000 --- a/src/component-library/components/OnboardingStep/OnboardingStep.stories.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import type { ComponentStory, ComponentMeta } from "@storybook/react"; - -import { OnboardingStep } from "./OnboardingStep"; - -export default { - title: "OnboardingStep", - component: OnboardingStep, - argTypes: {}, -} as ComponentMeta