Skip to content

Implement user authentication, email flows, and dashboard UI enhancements#9

Merged
hasnaintypes merged 37 commits intomainfrom
develop
Mar 12, 2026
Merged

Implement user authentication, email flows, and dashboard UI enhancements#9
hasnaintypes merged 37 commits intomainfrom
develop

Conversation

@hasnaintypes
Copy link
Owner

This pull request focuses on improving documentation and developer experience for the project, including a major rewrite of the README.md, enhancements to environment variable guidance, and updates to CI workflows to use pnpm instead of npm. The branding is also updated throughout the repository from "Sendable.ai" to "Sendable". The most important changes are summarized below:

Documentation and Branding Updates

  • Completely rewrote and reorganized the README.md for clarity, including a new project overview, tech stack, environment variable table, improved setup instructions, and updated security/contributing sections. Branding changed from "Sendable.ai" to "Sendable".
  • Updated CONTRIBUTING.md to reflect the new branding and improved language. [1] [2]
  • Updated welcome messages in GitHub Actions workflows to use the new branding. [1] [2]

Developer Experience Improvements

  • Overhauled .env.example to provide clearer instructions, grouped variables by theme, and added comments for easier setup and deployment.

CI Workflow Modernization

  • Updated .github/workflows/ci.yml to use pnpm for dependency installation, linting, type checking, and build steps, replacing npm and npx commands. This ensures consistency with the project's package manager and improves performance. [1] [2] [3]

M-Subhan-Ali and others added 30 commits March 4, 2026 00:13
…up, password reset, and 2FA verification components.
… add an email verification page, and establish a GitHub Actions CI workflow, while removing the npm lock file.
…p and email verification UI, and configure a GitHub Actions CI workflow.
…on, OTP, magic links, and password reset with corresponding email templates and UI.
…d Sendable logo; update global styles

- Added SVG icons for Google Calendar, Gmail, MS Outlook, and Slack.
- Included a PNG logo for Sendable.
- Updated global CSS styles to enhance theme variables and shadow effects.
- Improved dark and light mode color schemes for better accessibility.
…ialog components for user account management
… Footer with theme toggle and updated styles
…d SecuritySection components for user settings management
…update pricing, hero, and final CTA sections for better user experience
…hance dashboard layout with skeleton loading states
- Changed font from Manrope to Inter in layout.tsx for better typography.
- Updated metadata title and added icon for branding.
- Wrapped children in TooltipProvider and added Toaster for enhanced user experience.
- Refactored NotFound component styles to use new color scheme and improved accessibility.
- Updated Home page background and imported Footer from new path.
- Introduced a new page for dynamic MDX content handling in `src/app/docs/[[...mdxPath]]/page.tsx`.
- Created a custom layout for documentation in `src/app/docs/layout.tsx`, including a navbar and footer.
- Added CSS styles for a blurred navbar effect in `src/app/docs/docs.css`.
- Adjusted the settings page tab positioning in `src/app/(auth)/settings/page.tsx`.
…components

- Added semicolons to the end of statements for consistency.
- Reformatted code to ensure consistent spacing and indentation.
- Updated import statements to follow a uniform style.
- Enhanced readability by ensuring consistent use of curly braces and parentheses.
- Minor adjustments to comments for clarity.
…nents, and improve error handling in email services
hasnaintypes and others added 2 commits March 7, 2026 21:32
feat: implement dashboard layout, settings system, and documentation infrastructure
@hasnaintypes hasnaintypes self-assigned this Mar 11, 2026
@@ -1,85 +1,111 @@
import { components } from "../_generated/api";
"use node";

Check warning

Code scanning / CodeQL

Unknown directive Warning

Unknown directive: 'use node'.

Copilot Autofix

AI 7 days ago

To fix the problem, we need to eliminate the unknown directive so that the code either uses a valid directive or no directive at all. Since "use node" has no effect and is misleading, we should replace it with a valid and useful directive. The standard, widely supported directive is "use strict";, which opts the file into strict mode and can help catch various errors without changing the external API of the module.

Concretely, in convex/auth/helpers.ts, adjust line 1 so that the directive prologue becomes "use strict";. No other code changes are necessary, and no imports or additional definitions are required. This preserves the idea that the author wanted a directive at the top of the file, while making it a valid one that improves safety and is compatible with existing functionality.

Suggested changeset 1
convex/auth/helpers.ts

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/convex/auth/helpers.ts b/convex/auth/helpers.ts
--- a/convex/auth/helpers.ts
+++ b/convex/auth/helpers.ts
@@ -1,4 +1,4 @@
-"use node";
+"use strict";
 
 import { components, api } from "../_generated/api";
 import authSchema from "../betterAuth/schema";
EOF
@@ -1,4 +1,4 @@
"use node";
"use strict";

import { components, api } from "../_generated/api";
import authSchema from "../betterAuth/schema";
Copilot is powered by AI and may make mistakes. Always verify output.
@@ -1,86 +1,193 @@
"use node";

Check warning

Code scanning / CodeQL

Unknown directive Warning

Unknown directive: 'use node'.

Copilot Autofix

AI 7 days ago

In general, to fix an “Unknown directive” problem, either correct the directive string to a valid, intended directive (e.g., change "usestrict" to "use strict") or remove it if no directive is needed. Here, "use node" is not a standard directive and there is no evidence elsewhere in the snippet that the code depends on a special directive. The safest fix that preserves functionality is to remove this stray directive line entirely rather than guessing at an alternative.

Specifically, in convex/emails/email.tsx, remove line 1 containing "use node"; so that the file begins directly with the import statements. No additional imports, methods, or definitions are needed: this change only deletes a no‑op expression statement and silences the CodeQL warning without altering runtime behavior.

Suggested changeset 1
convex/emails/email.tsx

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/convex/emails/email.tsx b/convex/emails/email.tsx
--- a/convex/emails/email.tsx
+++ b/convex/emails/email.tsx
@@ -1,5 +1,3 @@
-"use node";
-
 import "../polyfills";
 import VerifyEmail from "./templates/VerifyEmail";
 import MagicLinkEmail from "./templates/MagicLink";
EOF
@@ -1,5 +1,3 @@
"use node";

import "../polyfills";
import VerifyEmail from "./templates/VerifyEmail";
import MagicLinkEmail from "./templates/MagicLink";
Copilot is powered by AI and may make mistakes. Always verify output.
@@ -0,0 +1,95 @@
"use node";

Check warning

Code scanning / CodeQL

Unknown directive Warning

Unknown directive: 'use node'.

Copilot Autofix

AI 7 days ago

To fix this problem, we should eliminate the misleading/invalid directive-like string literal "use node"; at the top of the file. Since "use node" has no semantics in JavaScript/TypeScript, removing it will not change how the code executes. The intent of indicating that this file uses Node-only APIs is already captured by the comment block, so no replacement directive is required.

Concretely, in convex/lib/logger.ts, delete line 1 containing "use node"; and the now-superfluous blank line that follows, so the file starts directly with the documentation comment (/** Logger utility for Convex backend.). No new imports, methods, or definitions are needed.

Suggested changeset 1
convex/lib/logger.ts

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/convex/lib/logger.ts b/convex/lib/logger.ts
--- a/convex/lib/logger.ts
+++ b/convex/lib/logger.ts
@@ -1,5 +1,3 @@
-"use node";
-
 /**
  * Logger utility for Convex backend.
  *
EOF
@@ -1,5 +1,3 @@
"use node";

/**
* Logger utility for Convex backend.
*
Copilot is powered by AI and may make mistakes. Always verify output.
@vercel
Copy link

vercel bot commented Mar 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sendable Ready Ready Preview, Comment Mar 12, 2026 4:49am

@github-actions
Copy link

github-actions bot commented Mar 11, 2026

Dependency Review Summary

The full dependency review summary was too large to display here (2022KB, limit is 1024KB).

Please download the artifact named "dependency-review-summary" to view the complete report.

View full job summary

@hasnaintypes hasnaintypes merged commit e991d8c into main Mar 12, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants