Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0d23965
getqoutauser (#1713)
MrgSub Jul 11, 2025
4af9d17
fix(docs): update locale file path (#1675)
Kaseax Jul 11, 2025
a85622d
fix: hide the remove option for single connection (#1655)
abhix4 Jul 11, 2025
0590ff7
fix: replace # with {count} in en.json (#1650)
abhix4 Jul 11, 2025
b519d09
fix: (Mobile) Bottom blank area in mail-list (#1651)
samrathreddy Jul 11, 2025
3ceab96
fix: (Mobile UI) Inconsistent filter placeholder text visibility on m…
samrathreddy Jul 11, 2025
a12810b
disallow last conn del (#1716)
MrgSub Jul 11, 2025
5b2d76a
prefetch email html (#1719)
MrgSub Jul 11, 2025
414a44d
feat: update translations via @LingoDotDev (#1717)
github-actions[bot] Jul 13, 2025
3bb42e5
better ai (#1724)
MrgSub Jul 13, 2025
1ec8ce2
fix: mail display avatar (#1702)
ahmetskilinc Jul 13, 2025
70a232b
Overflow scrollbar hidden from mail content now (#1726)
Fahad-Dezloper Jul 14, 2025
6b2c04a
fix: alignment of inputs in settings/general (#1725)
retrogtx Jul 14, 2025
816279b
fix/ai-chat-example-query-buttons-and-hover (#1440)
Fahad-Dezloper Jul 14, 2025
b4b9dd8
feat: add counter for drafts, sent, archive (#1734)
retrogtx Jul 15, 2025
35bf6df
feat: add a way to evaluate llms for our usecase against our prompts …
retrogtx Jul 15, 2025
8d7bb25
dvorak for rene (#1738)
MrgSub Jul 15, 2025
bf42f9c
privacy-fix (#1739)
nizzyabi Jul 16, 2025
aa694e9
mcp-prep (#1740)
MrgSub Jul 16, 2025
f003c9b
feat: update translations via @LingoDotDev (#1741)
github-actions[bot] Jul 16, 2025
99fcc71
dub (#1671)
nizzyabi Jul 16, 2025
a216b83
Email Sequence (React Email) (#1633)
nizzyabi Jul 16, 2025
d70d34e
translate (#1742)
MrgSub Jul 16, 2025
d920ff6
fix deployment (#1746)
MrgSub Jul 16, 2025
e5eebbc
disable staging loop (#1747)
MrgSub Jul 16, 2025
d9db7a4
feat: update translations via @LingoDotDev (#1743)
github-actions[bot] Jul 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ When implementing new features, follow these guidelines:

1. **Add English Source Strings**

- Place all user-facing text in `apps/mail/locales/en.json`
- Place all user-facing text in `apps/mail/messages/en.json`
- Organize strings according to the existing structure
- Use descriptive, hierarchical keys that identify the feature and context
- Example: `"pages.settings.connections.disconnectSuccess": "Account disconnected successfully"`
Expand Down
2 changes: 1 addition & 1 deletion .github/TRANSLATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Here's an example of our i18n.json configuration:
},
"buckets": {
"json": {
"include": ["apps/mail/locales/[locale].json"]
"include": ["apps/mail/messages/[locale].json"]
}
}
}
Expand Down
1 change: 1 addition & 0 deletions apps/mail/app/(routes)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { CommandPaletteProvider } from '@/components/context/command-palette-con

import { Outlet } from 'react-router';


export default function Layout() {
return (
<CommandPaletteProvider>
Expand Down
3 changes: 2 additions & 1 deletion apps/mail/app/(routes)/settings/connections/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,8 @@ export default function ConnectionsPage() {
<Button
variant="ghost"
size="icon"
className="text-muted-foreground hover:text-primary ml-4 shrink-0"
className="text-muted-foreground hover:text-primary ml-4 shrink-0"
disabled={data.connections.length === 1}
>
<Trash className="h-4 w-4" />
</Button>
Expand Down
18 changes: 9 additions & 9 deletions apps/mail/app/(routes)/settings/general/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ const TimezoneSelect = memo(
variant="outline"
role="combobox"
aria-expanded={open}
className="md:w-46 flex !h-9 w-full items-center justify-start rounded-md hover:bg-transparent"
className="flex !h-9 w-full items-center justify-start rounded-md hover:bg-transparent"
>
<Clock className="mr-2 h-4 w-4 flex-shrink-0" />
<span className="truncate">{field.value}</span>
Expand Down Expand Up @@ -196,11 +196,11 @@ export default function GeneralPage() {
control={form.control}
name="language"
render={({ field }) => (
<FormItem className="w-full">
<FormLabel className="flex">{m['pages.settings.general.language']()}</FormLabel>
<FormItem className="w-full md:w-[200px]">
<FormLabel className="text-sm font-medium">{m['pages.settings.general.language']()}</FormLabel>
<Select onValueChange={field.onChange} defaultValue={field.value}>
<FormControl>
<SelectTrigger className="flex w-full flex-row justify-start hover:bg-transparent md:w-36">
<SelectTrigger className="flex w-full flex-row justify-start hover:bg-transparent">
<Globe className="mr-2 h-4 w-4" />
<SelectValue placeholder={m['pages.settings.general.selectLanguage']()} />
</SelectTrigger>
Expand All @@ -220,8 +220,8 @@ export default function GeneralPage() {
control={form.control}
name="timezone"
render={({ field }) => (
<FormItem className="w-full">
<FormLabel className="flex">{m['pages.settings.general.timezone']()}</FormLabel>
<FormItem className="w-full md:w-[200px]">
<FormLabel className="text-sm font-medium">{m['pages.settings.general.timezone']()}</FormLabel>
<TimezoneSelect field={field} />
</FormItem>
)}
Expand All @@ -231,8 +231,8 @@ export default function GeneralPage() {
control={form.control}
name="defaultEmailAlias"
render={({ field }) => (
<FormItem className="w-full">
<FormLabel className="!mb-1 flex flex-row items-center gap-1">
<FormItem className="w-full md:w-[280px]">
<FormLabel className="!mb-1 flex flex-row items-center gap-1 text-sm font-medium">
{m['pages.settings.general.defaultEmailAlias']()}{' '}
<Tooltip>
<TooltipTrigger asChild>
Expand All @@ -245,7 +245,7 @@ export default function GeneralPage() {
</FormLabel>
<Select onValueChange={field.onChange} value={field.value || ''}>
<FormControl>
<SelectTrigger className="flex w-full flex-row justify-start hover:bg-transparent md:w-[300px]">
<SelectTrigger className="flex w-full flex-row justify-start hover:bg-transparent">
<Mail className="mr-2 h-4 w-4" />
<SelectValue
placeholder={m['pages.settings.general.selectDefaultEmail']()}
Expand Down
5 changes: 5 additions & 0 deletions apps/mail/app/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import { m } from '@/paraglide/messages';
import { ArrowLeft } from 'lucide-react';
import superjson from 'superjson';
import './globals.css';
import { Analytics as DubAnalytics } from '@dub/analytics/react';


const getUrl = () => import.meta.env.VITE_PUBLIC_BACKEND_URL + '/api/trpc';

Expand Down Expand Up @@ -82,6 +84,9 @@ export function Layout({ children }: PropsWithChildren) {
<body className="antialiased">
<ServerProviders connectionId={connectionId}>
<ClientProviders>{children}</ClientProviders>
<DubAnalytics domainsConfig={{
refer: "mail0.com"
}} />
</ServerProviders>
<ScrollRestoration />
<Scripts />
Expand Down
Loading