-
Notifications
You must be signed in to change notification settings - Fork 4
feat(open-in-deepnote): button in toolbar #153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(open-in-deepnote): button in toolbar #153
Conversation
📝 WalkthroughWalkthroughAdds a Sequence DiagramsequenceDiagram
actor User
participant VSCode
participant Handler
participant FS as FileSystem
participant Import as ImportClient
participant Browser
User->>VSCode: Click "Open in Deepnote"
VSCode->>Handler: handleOpenInDeepnote()
rect rgb(230,240,255)
Note over Handler: Determine context (notebook vs text editor)
Handler->>Handler: inspect activeNotebookEditor / activeTextEditor
end
rect rgb(245,235,220)
Note over Handler: Save before upload
alt notebook active
Handler->>VSCode: execute global save
else text editor active and dirty
Handler->>VSCode: save active editor
end
VSCode-->>Handler: save result
end
rect rgb(235,255,235)
Note over Handler: Validate and read file
Handler->>FS: stat URI
FS-->>Handler: metadata
Handler->>FS: readFile
FS-->>Handler: contents
end
rect rgb(255,250,230)
Note over Handler: Import and upload
Handler->>Import: initImport()
Import-->>Handler: upload token/info
Handler->>Import: uploadFile(contents)
Import-->>Handler: upload result with URL
end
Handler->>Browser: openExternal(URL)
Browser-->>User: Deepnote opens in browser
Possibly related PRs
Suggested reviewers
Pre-merge checks❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (4)**/!(*.node|*.web).ts📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.unit.test.ts📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.{test,spec}.ts📄 CodeRabbit inference engine (.github/instructions/typescript.instructions.md)
Files:
🧬 Code graph analysis (1)src/notebooks/deepnote/openInDeepnoteHandler.node.unit.test.ts (2)
🔇 Additional comments (1)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #153 +/- ##
======================================
Coverage 72% 73%
======================================
Files 548 548
Lines 43061 43272 +211
Branches 5252 5256 +4
======================================
+ Hits 31337 31590 +253
+ Misses 9984 9942 -42
Partials 1740 1740
🚀 New features to boost your workflow:
|
* feat(open-in-deepnote): button in toolbar * chore: fix tests
…lete) (#88) * feat: Set up a custom renderer for data frames. * wip * feat: Implement deepnote big number chart support and renderer * refactor: Clean up debug logs and improve big number block conversion handling * feat: Pass block metadata to cell outputs for renderer to access * feat: Set up a custom renderer for data frames. * wip * add the table state. * page size handling * add page navigation * Generate Python code before executing the cell. * clean up * pr feedback. * Update build/esbuild/build.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: Support Deepnote input blocks * feat: Move DEEPNOTE_VSCODE_RAW_CONTENT_KEY into constants file * feedback * feat: Add Deepnote input blocks converters * refactor: Remove debug logs and refine metadata parsing in Deepnote converters * feat: Add chart big number converter tests * Reformat test code * Refactor ChartBigNumberBlockConverter tests to use deepStrictEqual for assertions * Remove debug console.log * docs and metadata changes. * fix: Spread operator object fallback * Merge remote-tracking branch 'origin/chris/display-data-frames' into tomaskislan/grn-4762-support-big-number-blocks * use the latest blocks package. * add the packages permission * simplify execution flow. * remove copyright header * clean up the code * revert controller changes * pr feedback * pr feedback * fix the tests * guard metadata spread against undefined. * fix: Merge cleanup * More merge cleanup * Fix test * feat: Add big number chart json config execution support * feat: Add commands to add Deepnote SQL block and big number chart * fix: Enhance error handling for big number metadata parsing and improve chart big number renderer logic * refactor: Simplify chart big number renderer by directly rendering to the element and improve cleanup logic for unmounting components * Fix import * fix: Change deepnote_big_number_comparison_type to string type for better flexibility * fix: Remove constants, accidentaly added to wrong branch * Update package.json * feat: Add new commands for SQL and Big Number Chart blocks * feat: Update command titles and add SQL block functionality * Fix imports * fix: Fix imports * fix: Remove unused code * feat: Add support for new input blocks in Deepnote, including text, textarea, select, slider, checkbox, date, date range, file, and button blocks * feat(big-number): Integrate react-error-boundary for error handling and enhance big number output rendering * Update test snapshots * feat: Update input create default values to match those in deepnote app Signed-off-by: Tomas Kislan <tomas@kislan.sk> * feat: Add support for project notebook management (create, rename, delete) Signed-off-by: Tomas Kislan <tomas@kislan.sk> * feat: Localize commands, extract notebook creation logic to reuse in methods Signed-off-by: Tomas Kislan <tomas@kislan.sk> * feat: Extract command ids into separate config files Signed-off-by: Tomas Kislan <tomas@kislan.sk> * refactor: Improve notebook renaming logic in DeepnoteExplorerView Signed-off-by: Tomas Kislan <tomas@kislan.sk> * refactor: Remove lowercase logic from notebook names checks Signed-off-by: Tomas Kislan <tomas@kislan.sk> * test: Implement DeepnoteExplorerView tests Signed-off-by: Tomas Kislan <tomas@kislan.sk> * fix: Fix spell check Signed-off-by: Tomas Kislan <tomas@kislan.sk> * test: Change assertion Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Revert "fix: Fix spell check" This reverts commit 8becf4e. * Revert "test: Change assertion" This reverts commit fe81891. * fix: Fix spellcheck Signed-off-by: Tomas Kislan <tomas@kislan.sk> * fix: Fix test yaml Signed-off-by: Tomas Kislan <tomas@kislan.sk> * test: Update assertions Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Change version assertion from string to number * fix: Fix version type in deepnote project unit test * refactor: Reuse promptForNotebookName in rename command, simplify createAndAddNotebookToProject function Signed-off-by: Tomas Kislan <tomas@kislan.sk> * fix: Exclude current name from validation when renaming notebook Signed-off-by: Tomas Kislan <tomas@kislan.sk> * fix: Sort imports Signed-off-by: Tomas Kislan <tomas@kislan.sk> * feat(open-in-deepnote): button in toolbar (#153) * feat(open-in-deepnote): button in toolbar * chore: fix tests * fix(warn-on-startup): move `jupyterViewVariables` view into the existing deepnote container (#148) * feat: Order projects and notebooks alphabetically. * fix: Don't recreate the tree. * fix test * fix dumb tests. * coderabbit feedback * more feedback --------- Signed-off-by: Tomas Kislan <tomas@kislan.sk> Co-authored-by: Christoffer Artmann <artgaard@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Lukas Šaltėnas <lukas.saltenas@gmail.com>
Summary by CodeRabbit
New Features
Improvements