Commit Graph

1555 Commits (dependabot/npm_and_yarn/runtime/electron-41.0.3)

Author SHA1 Message Date
Dave Page 6296016b67
Fix an issue where LLM responses are not streamed or rendered properly in the AI Assistant. #9734
* Address CodeRabbit review feedback for streaming and SQL extraction.

- Anthropic: preserve separators between text blocks in streaming to
  match _parse_response() behavior.
- Docker: validate that the API URL points to a loopback address to
  constrain the request surface.
- Docker/OpenAI: raise LLMClientError on empty streams instead of
  yielding blank LLMResponse objects, matching non-streaming behavior.
- SQL extraction: strip trailing semicolons before joining blocks to
  avoid double semicolons in output.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Address remaining CodeRabbit review feedback for streaming and rendering.

- Use distinct 3-tuple ('complete', text, messages) for completion events
  to avoid ambiguity with ('tool_use', [...]) 2-tuples in chat streaming.
- Pass conversation history from request into chat_with_database_stream()
  so follow-up NLQ turns retain context.
- Add re.IGNORECASE to SQL fence regex for case-insensitive matching.
- Render MarkdownContent as block element instead of span to avoid
  invalid DOM when response contains paragraphs, lists, or tables.
- Keep stop notice as a separate message instead of appending to partial
  markdown, preventing it from being swallowed by open code fences.
- Snapshot streamingIdRef before setMessages in error handler to avoid
  race condition where ref is cleared before React executes the updater.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address CodeRabbit review feedback for streaming providers and history.

- Fix critical NameError: use self._api_url instead of undefined API_URL
  in anthropic and openai streaming _process_stream() methods.
- Match sync path auth handling: conditionally set API key headers in
  streaming paths for both anthropic and openai providers.
- Remove unconditional temperature from openai streaming payload to
  match sync path compatibility approach.
- Add URL scheme validation to OllamaClient.__init__ to prevent unsafe
  local/resource access via non-http schemes.
- Guard ollama streaming finalizer: raise error when stream drops
  without a done frame and no content was received.
- Update chat.py type hint and docstring for 3-tuple completion event.
- Serialize and return filtered conversation history in the complete
  SSE event so the client can round-trip it on follow-up turns.
- Store and send conversation history from NLQChatPanel, clear on
  conversation reset.
- Fix JSON-fallback SQL render path: clear content when SQL was
  extracted without fenced blocks so ChatMessage uses sql-only renderer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix missing closing brace in NLQChatPanel switch statement.

Adding block scoping to the error case introduced an unmatched brace
that prevented the switch statement from closing properly, causing
an eslint parse error.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix missing compaction module and SQL extraction test.

- Replace compaction module imports with inline history deserialization
  and filtering since compaction.py is on a different branch.
- Add rstrip(';') to SQL extraction test to match production code,
  fixing double-semicolon assertion failure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix SQL extraction test expected values after rstrip(';') change.

The rstrip(';') applied to each block before joining means single
blocks and the last block in multi-block joins no longer have
trailing semicolons. Update expected values to match.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Strictly guard Ollama stream: raise if no terminal done frame received.

Truncated content from a dropped connection should not be treated as
a complete response, even if partial text was streamed. Always raise
when final_data is None, matching CodeRabbit's recommendation.
2026-03-17 11:41:57 +05:30
Dave Page da55da4d32
Replace misleading AI thinking messages with fun elephant-themed ones. #9702
The previous messages like "Vacuuming the catalog..." and "Analyzing
table statistics..." could be mistaken for actual database operations.
Replace them with clearly whimsical elephant-themed messages, expand
the pool to 32 messages, and consolidate them into a single shared
module with gettext() support.
2026-03-16 14:23:05 +05:30
Dave Page b3aa78c0a5
Added support for custom LLM provider URLs for OpenAI and Anthropic, allowing use of OpenAI-compatible providers such as LM Studio, EXO, and LiteLLM. #9703
- Add configurable API URL fields for OpenAI and Anthropic providers
- Make API keys optional when using custom URLs (for local providers)
- Auto-clear model dropdown when provider settings change
- Refresh button uses current unsaved form values
- Update documentation and release notes

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 12:08:55 +05:30
Aditya Toshniwal b78fc884e3 Fixed an issue in file dialog where rename was not working. #9651 2026-02-27 18:24:54 +05:30
Rohit Bhati caafc6bb1b
Fix broken checkbox selection in backup dialog objects tree. #9649 2026-02-27 17:01:11 +05:30
Dave Page f2756a3dcf
Core LLM integration infrastructure to allow pgAdmin to connect to AI providers. #9641
* Core infrastructure for LLM integration.
* Add support for a number of different AI generated reports on security, performance, and schema design on servers, databases, and schemas, as appropriate.
* Add a Natural Language AI assistant to the Query Tool.
* Add an AI Insights panel to the EXPLAIN tool in the Query Tool, to analyse and report on issues in query plans.
2026-02-17 17:16:06 +05:30
Akshay Joshi 31d1dbc697
Ensure that the tooltip is disabled for a password cell in a dialog grid. #9552 2026-01-22 15:15:13 +05:30
Anil Sahoo 0cac007970
Add new options like INHERIT and SET to the Role's membership tab. #6451 2026-01-20 11:53:32 +05:30
Aditya Toshniwal 7c36eaba90
Warn user of unsaved data output edits before page navigation. #8916 2026-01-14 18:20:52 +05:30
Aditya Toshniwal cc0377fb59 Code changes required by latest react-virtualized-auto-sizer package which was updated in the previous commit. 2026-01-05 17:10:28 +05:30
Aditya Toshniwal c6551145a3
Optimize checkbox selection logic in backup dialog objects tree. #9110 2026-01-05 16:18:57 +05:30
Aditya Toshniwal 04583fe8f0 Fixed an issue where data filter dialog removes newline character when sending SQL to the query tool. #9260 2026-01-05 15:01:54 +05:30
Akshay Joshi 52daa56a04 Copyright updated for 2026 2026-01-05 13:33:45 +05:30
Aditya Toshniwal 5dd07d5d4b Fixed an issue where double click to open a file in the file manager is not working. #9196 2025-12-15 13:28:00 +05:30
Dave Page 9c8df1ad3b
React string cleanup. 2025-12-01 16:18:27 +05:30
Anil Sahoo 14dec7e5ed
Add support for showing the column data type beside column name in the object explorer. #8968 2025-11-12 19:50:28 +05:30
Aditya Toshniwal 39b6f40482 Fix following issues:
1. Debian builds are failing after commiting changes for #9240.
2. Object explorer context menu shows "No objects selected" on preferences change.
2025-11-04 16:49:12 +05:30
Pravesh Sharma 48b4a8d448
Fixed an issue where the Select All option on the columns tab of import/export data was not working in languages other than English. #9233 2025-10-31 16:25:51 +05:30
Aditya Toshniwal 986ba41ba9
Added the ability to search for tables and automatically bring them into view in the ERD tool. #4306 2025-10-31 12:19:27 +05:30
Royston Shufflebotham 8d55e9a445
Add support for displaying detailed Citus query plans instead of 'Custom Scan' placeholder. #7885 2025-10-28 10:47:55 +05:30
Aditya Toshniwal 37a164cccb
- Rebase pgadmin-org/react-data-grid fork to latest.
- Fixed an issue where data output column resize is not sticking in Safari. #8504
2025-10-27 10:45:36 +05:30
Aditya Toshniwal 0a14db01be
Migrate pgAdmin UI to use React 19. #8676 2025-10-24 08:26:10 +05:30
Aditya Toshniwal 91ad54d17b Fixed an issue where query tool shortcut would trigger the callback twice. #9157 2025-10-14 14:33:17 +05:30
Anil Sahoo 5f22b4e2d2
Fixed following issues related to auto-update:
1. Fixed the issue where auto-update was not working for macOS x64 arch machines as pgadmin4 zip file name has x86_64 in it.
2. Improved error handling in the /upgrade_check API by replacing the static “Failed to check for update” message for Windows users with a dynamic error message.
3. Fixed the CSS issue affecting the close icon in the warning notifier.
4. Removed trailing periods from helper texts and notifier messages in the app’s auto-update workflow. #9133
2025-10-13 17:25:14 +05:30
Akshay Joshi f3567518d3
Added option to skip the password dialog when using an identity file. #6996
1. Don't ask for the SSH Tunnel or Database server password if it is already saved.
2. Modified the generic error message from the SSH Tunnel library.
2025-10-07 13:13:37 +05:30
Aditya Toshniwal 7ff3c4bbeb
Fixed an issue where shortcuts are not working as expected on multiple keyboard layouts. #9157 2025-09-17 11:34:15 +05:30
Akshay Joshi 3e66b6f7be
1) Added "MULTIRANGE_TYPE_NAME" option while creating a Range Type. #6394
2) Added "SUBSCRIPT" option while creating an External Type. #6395
2025-09-11 14:27:27 +05:30
Aditya Toshniwal 0de635cc4c
Fixed an issue where editor shortcuts fail when using Option key combinations on macOS, due to macOS treating Option+Key as a different key input. #9116 2025-09-01 16:21:03 +05:30
Aditya Toshniwal db87df8f82
Remove usage of BrowserFS as it is deprecated. #7448 2025-08-25 14:34:33 +05:30
Aditya Toshniwal 9d0ec04667
Add support for changing cursor blink rate within the editors. #8712 2025-08-18 12:34:31 +05:30
Yogesh Mahajan 7d0241008b
Ensure that disabling "Save Application State" in Preferences prevents tool data from being saved and stops it from being restored on application restart. #9067 2025-08-14 13:47:30 +05:30
Akshay Joshi 6aaf47ddb4 Fixed JavaScript test cases. Replace deprecated inputProps with slotProps. 2025-08-06 18:54:04 +05:30
Akshay Joshi 559c6cfa65
Added GENERIC_PLAN, MEMORY, SERIALIZE option to EXPLAIN/EXPLAIN ANALYZE command. #6456 2025-08-01 12:40:07 +05:30
Yogesh Mahajan 1f7fbb91f7
Ensure the scratch pad in the Query Tool is not restored after it is closed. #9007
Update the documentation for parameters that require file paths. #9008
2025-07-31 17:24:27 +05:30
Aditya Toshniwal 99b822e472
Add support for server tag-based filtering in the Object Explorer. #8917 2025-07-31 17:06:40 +05:30
Aditya Toshniwal b2ec3a5acc
Fixed an issue where pgAdmin failed to update the server connection status when the server was disconnected in the background and a refresh was performed on that server. #8149 2025-07-31 12:43:49 +05:30
Anil Sahoo 9eec4f5b8c
Add support for automatic updates in the pgAdmin 4 Desktop application on macOS. #5766 2025-07-31 11:30:19 +05:30
Pravesh Sharma 8a4eb4f8ad
Fixed an issue in Firefox where the query window would shift to the left after opening the history tab or selecting a column header in the results grid. #8756 2025-07-28 16:27:31 +05:30
Pravesh Sharma 62eb330423
Introduced an ‘Editor’ preferences category and migrated all editor related settings into it. #8861 2025-07-28 14:09:16 +05:30
Aditya Toshniwal c4f7a18ec5 Fixed following issues found while testing v9.6 candidate build:
1. Migration failed on Debian 11.
2. Menu shortcuts should not for opening search object and query tool when not in default workspace.

Co-authored-by: Yogesh Mahajan <yogesh.mahajan@enterprisedb.com>
Co-authored-by: Pravesh Sharma <pravesh.sharma@enterprisedb.com>
2025-07-22 16:00:29 +05:30
Aditya Toshniwal fdc38f75f8 Update version for release v9.6 2025-07-21 15:34:04 +05:30
Aditya Toshniwal bec47845be Add support for showing pgAdmin shortcuts on Electron menus. #1923 2025-07-21 15:07:17 +05:30
Yogesh Mahajan 82730da392
Fixed following issues reported while testing application restore changes: #8901
1. Preserve updated tab titles on session restore
2. Ensure query tools opened via the 'Generate Script' are editable.
3. On restore, ensure the query content is correctly loaded into the query tool when it is opened from tools like ERD.
2025-07-17 16:28:57 +05:30
Rohit Bhati 770a0f27af
Ensure that keyboard shortcuts are displayed in tooltips, context menus, and the main menu. #1923 2025-07-16 17:51:26 +05:30
Yogesh Mahajan 1195f14327
Improved the application restore which includes: #8901
1. Leverage rc-dock layout to restore the application state.
2. Move the save and load file endpoints to the file manager module.
3. Ensure that the order and layout of tabs is maintained on restore.
4. Persist the changed title of tabs on restore.
2025-07-15 11:21:57 +05:30
Anil Sahoo 0ebf78ca61
Fixed an issue in the Search Objects tool where selecting a node occasionally selected an incorrect node. #8675 2025-07-10 15:37:31 +05:30
Khushboo Vashi f207818afa
Implemented a server-side cursor to enhance performance when retrieving large datasets. #5797 2025-07-02 12:47:01 +05:30
Yogesh Mahajan 51d3fe54f3
Ensure proper error message shown if any error occurs while restoring psql tool. 2025-06-27 13:35:24 +05:30
Pravesh Sharma 08d250e5ef
1. Fixed issues reported while testing changes for editor preferences. #2659
2. Updated preferences docs.
2025-06-19 16:09:39 +05:30
Yogesh Mahajan f07eabedbe
Ensure that restored query tool tabs display the correct title. #3319 2025-06-19 12:12:54 +05:30