Merge branch 'dev' of github.com:rowboatlabs/rowboat into dev

This commit is contained in:
tusharmagar 2026-01-20 11:18:59 +05:30
commit ac305bd62a
7 changed files with 36 additions and 64 deletions

View file

@ -11,7 +11,9 @@ module.exports = {
icon: './icons/icon', // .icns extension added automatically
appBundleId: 'com.rowboat.app',
appCategoryType: 'public.app-category.productivity',
osxSign: {},
osxSign: {
batchCodesignCalls: true,
},
osxNotarize: {
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_PASSWORD,
@ -39,10 +41,10 @@ module.exports = {
makers: [
{
name: '@electron-forge/maker-dmg',
config: {
config: (arch) => ({
format: 'ULFO',
name: 'Rowboat',
}
name: `Rowboat-${arch}`, // Architecture-specific name to avoid conflicts
})
},
{
name: '@electron-forge/maker-zip',
@ -61,7 +63,7 @@ module.exports = {
bucket: 'rowboat-desktop-app-releases',
region: 'us-east-1',
public: true,
folder: 'releases' // Creates structure: releases/darwin/arm64/files
folder: 'releases' // Creates structure: releases/darwin/{arch}/files (separate builds for arm64 and x64)
}
}
],
@ -153,9 +155,11 @@ module.exports = {
// This tells Electron where to find the entry point
// Note: No "type": "module" since we bundle as CommonJS for compatibility
// with dependencies that use dynamic require()
// Read version from source package.json (updated by CI from git tag)
const sourcePackageJson = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8'));
const packageJson = {
name: '@x/main',
version: '0.1.0',
version: sourcePackageJson.version,
main: 'dist-bundle/main.js',
};
fs.writeFileSync(
@ -220,9 +224,11 @@ module.exports = {
const packageJsonPath = path.join(appResourcesPath, 'package.json');
if (fs.existsSync(packageJsonPath)) {
console.log('Updating package.json...');
// Read version from source package.json (updated by CI from git tag)
const sourcePackageJson = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8'));
const packageJson = {
name: '@x/main',
version: '0.1.0',
version: sourcePackageJson.version,
main: 'dist-bundle/main.js',
// Note: No "type": "module" since we bundle as CommonJS
// No dependencies/devDependencies since everything is bundled

View file

@ -6,26 +6,26 @@
"scripts": {
"start": "electron .",
"build": "rm -rf dist && tsc",
"package": "electron-forge package",
"make": "electron-forge make",
"publish": "electron-forge publish"
"package": "electron-forge package --arch=arm64,x64 --platform=darwin",
"make": "electron-forge make --arch=arm64,x64 --platform=darwin",
"publish": "electron-forge publish --arch=arm64,x64 --platform=darwin"
},
"dependencies": {
"@x/core": "workspace:*",
"@x/shared": "workspace:*",
"chokidar": "^4.0.3",
"update-electron-app": "^3.0.0",
"update-electron-app": "^3.1.2",
"zod": "^4.2.1"
},
"devDependencies": {
"@types/node": "^25.0.3",
"electron": "^39.2.7",
"esbuild": "^0.24.2",
"@electron-forge/cli": "^7.11.1",
"@electron-forge/maker-deb": "^7.11.1",
"@electron-forge/maker-dmg": "^7.11.1",
"@electron-forge/maker-squirrel": "^7.11.1",
"@electron-forge/maker-zip": "^7.11.1",
"@electron-forge/publisher-s3": "^7.11.1"
"@electron-forge/cli": "^7.10.2",
"@electron-forge/maker-deb": "^7.10.2",
"@electron-forge/maker-dmg": "^7.10.2",
"@electron-forge/maker-squirrel": "^7.10.2",
"@electron-forge/maker-zip": "^7.10.2",
"@electron-forge/publisher-s3": "^7.10.2"
}
}

View file

@ -68,7 +68,7 @@ export function GraphView({ nodes, edges, isLoading, error, onSelectNode }: Grap
const hasCenteredRef = useRef(false)
const [viewport, setViewport] = useState({ width: 1, height: 1 })
const [pan, setPan] = useState({ x: 0, y: 0 })
const [zoom, setZoom] = useState(1)
const [zoom, setZoom] = useState(0.6)
const [hoveredNodeId, setHoveredNodeId] = useState<string | null>(null)
const [searchQuery, setSearchQuery] = useState('')
const [selectedGroup, setSelectedGroup] = useState<string | null>(null)
@ -501,7 +501,7 @@ export function GraphView({ nodes, edges, isLoading, error, onSelectNode }: Grap
style={{ backgroundColor: item.color, boxShadow: `0 0 0 1px ${item.stroke}` }}
/>
<span className="truncate">{item.label}</span>
{isSelected && <X className="ml-auto size-3 text-muted-foreground" />}
<X className={`ml-auto size-3 ${isSelected ? 'text-muted-foreground' : 'invisible'}`} />
</button>
)
})}

View file

@ -8,7 +8,7 @@ import { GoogleClientFactory } from './google-client-factory.js';
// Configuration
const SYNC_DIR = path.join(WorkDir, 'calendar_sync');
const SYNC_INTERVAL_MS = 60 * 1000; // Check every minute
const SYNC_INTERVAL_MS = 5 * 60 * 1000; // Check every 5 minutes
const LOOKBACK_DAYS = 14;
const REQUIRED_SCOPES = [
'https://www.googleapis.com/auth/calendar.readonly',

View file

@ -8,7 +8,7 @@ import { GoogleClientFactory } from './google-client-factory.js';
// Configuration
const SYNC_DIR = path.join(WorkDir, 'gmail_sync');
const SYNC_INTERVAL_MS = 60 * 1000; // Check every minute
const SYNC_INTERVAL_MS = 5 * 60 * 1000; // Check every 5 minutes
const REQUIRED_SCOPE = 'https://www.googleapis.com/auth/gmail.readonly';
const nhm = new NodeHtmlMarkdown();
@ -253,7 +253,7 @@ async function partialSync(auth: OAuth2Client, startHistoryId: string, syncDir:
}
async function performSync() {
const LOOKBACK_DAYS = 7; // Default to 7 days
const LOOKBACK_DAYS = 30; // Default to 1 month
const ATTACHMENTS_DIR = path.join(SYNC_DIR, 'attachments');
const STATE_FILE = path.join(SYNC_DIR, 'sync_state.json');

15
apps/x/pnpm-lock.yaml generated
View file

@ -51,29 +51,29 @@ importers:
specifier: ^4.0.3
version: 4.0.3
update-electron-app:
specifier: ^3.0.0
specifier: ^3.1.2
version: 3.1.2
zod:
specifier: ^4.2.1
version: 4.2.1
devDependencies:
'@electron-forge/cli':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1(encoding@0.1.13)(esbuild@0.24.2)
'@electron-forge/maker-deb':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@electron-forge/maker-dmg':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@electron-forge/maker-squirrel':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@electron-forge/maker-zip':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@electron-forge/publisher-s3':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@types/node':
specifier: ^25.0.3
@ -5901,6 +5901,7 @@ packages:
tar@6.2.1:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me
temp@0.9.4:
resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==}