Skip to content
Documentation GitHub
Development Guides

Verifying Dependabot Updates

This guide covers how to verify Dependabot PRs and handle common issues with dependency updates.

Quick Verification Checklist

When reviewing a Dependabot PR, run the following verification steps:

Terminal window
# 1. Rust verification
cargo build --all
cargo test
cargo clippy
# 2. TypeScript/Node verification
pnpm typecheck
pnpm lint
pnpm test
# 3. Frontend integration tests (if UI-related dependencies changed)
pnpm --filter inklings-desktop-tests exec playwright test

For major version bumps, also review the dependency’s changelog for breaking changes.

Risk Assessment by Dependency Type

Rust Dependencies (Medium Risk)

DependencyRisk LevelWhat to Check
rusqliteMediumQuery/transaction API changes, parameter binding syntax
rusqlite_migrationMediumMigration builder API, schema versioning
serde / serde_jsonLowUsually backward compatible
dirsLowPath resolution functions
tauriHighPlugin APIs, command signatures, window management
spectaMediumType generation output format

JavaScript/TypeScript Dependencies (Lower Risk)

DependencyRisk LevelWhat to Check
reactMediumDeprecated lifecycle methods, StrictMode behavior
viteMediumConfig format, plugin API changes
@tiptap/*MediumExtension APIs, node/mark definitions
@tauri-apps/*HighIPC API changes, plugin interfaces
oxlintLowRun lint to verify no new violations
typescriptLow-MediumCheck for stricter type checking
playwrightLowTest API changes, locator syntax

Common Issues and Solutions

Rust: rusqlite Breaking Changes

Symptom: Compilation errors in query or transaction handling.

Common fixes:

// params![] macro syntax changes
// Old: params![value1, value2]
// New: Still params![value1, value2] but check for &str vs String handling
// Transaction API changes
// Check conn.transaction() returns and SavepointBehavior

Rust: Tauri v2 API Changes

Symptom: Command handler signatures don’t match, plugin initialization fails.

Common fixes:

  • Check #[tauri::command] macro requirements
  • Verify State extraction patterns
  • Review window/webview API changes

TypeScript: React Breaking Changes

Symptom: Runtime warnings, double-mount issues in development.

Common fixes:

  • StrictMode now intentionally double-invokes lifecycle methods in dev
  • Check for deprecated patterns like componentWillMount
  • Update ref patterns if using forwardRef

TypeScript: TipTap Extension Changes

Symptom: Editor extensions fail to load or render incorrectly.

Common fixes:

  • Verify extension option interfaces haven’t changed
  • Check node/mark schema definitions
  • Review addNodeView return type requirements

TypeScript: oxlint Rule Changes

Symptom: New lint errors appear after update.

Common fixes:

  • Run pnpm lint to see all violations
  • Either fix the code or update oxlint config to disable new rules
  • Use /* oxlint-disable <rule> */ for targeted suppression

Post-Update Verification

After merging a Dependabot PR:

  1. Run the full CI pipeline - Ensure all checks pass
  2. Test locally - Run pnpm dev and verify basic functionality
  3. Check type generation - Run pnpm generate:types if Rust types changed
  4. E2E smoke test - Run a subset of E2E tests for critical paths

Handling Failed Updates

If a Dependabot update fails verification:

  1. Check the changelog for migration guides
  2. Search issues on the dependency’s GitHub repo
  3. Pin the current version if an immediate fix isn’t available
  4. Create a follow-up issue to track the manual migration

Automated Dependency Management

Dependabot is configured to:

  • Create PRs for security updates automatically
  • Group minor/patch updates when possible
  • Target the main branch for all updates

Review .github/dependabot.yml to adjust update schedules or grouping rules.

Was this page helpful?