Commit Graph

890 Commits (master)

Author SHA1 Message Date
Rohit Bhati 1590df8dfd
Change the stop/terminate icon at all the places for better UX. #8473 2025-03-07 11:26:13 +05:30
Akshay Joshi b59495603a 1) By Default 'Open in a new tab?' should be false.
2) Updated version for release v9.1
3) Updated the release note
2025-02-25 16:50:45 +05:30
Yogesh Mahajan 636821f2ac
Added an option to open the file in a new tab within the query tool. #1235 2025-02-21 14:45:41 +05:30
Aditya Toshniwal a0ddfad655
Fixed an issue where deleting rows in the query tool would delete all rows in the table when 'Select All Remaining Rows' was used. #8460 2025-02-18 17:34:24 +05:30
Yogesh Mahajan 740a50680e
Fix the following SonarQube issues:
1. Do not use the Array index in keys
2. Visible, non-interactive elements with click handlers must have at least one keyboard listener.
3. Add replacement fields or use a normal string instead of an f-string.
4. Add a parameter to the parent lambda function
2025-02-13 11:56:10 +05:30
Akshay Joshi eb7c3ef361 Workspace Layout Update - Enhanced Query Tool and PSQL Behaviour:
With these changes, the Query Tool and PSQL tabs will now open in the same active workspace where the action is initiated.
2025-02-11 15:36:03 +05:30
Akshay Joshi efd0dd2ac0 1) Fixed an issue where selecting all rows and copying using shortcut only, the first attempt fails to copy.
2) Fixed an issue where a single row is copied first and then clicked on "Select All", the previously copied row's highlight color changes.
3) Fixed an issue where non-shared servers are visible in the Existing Servers list on the Welcome page and New Connection dialog.
2025-02-05 10:26:51 +05:30
Anil Sahoo e7888c5265
Fixed an issue where the server without a saved password did not persist the user's latest filter dialog input after disconnection. #6044 2025-01-30 11:10:25 +05:30
Akshay Joshi 1607875a08 Fixed issues for Workspaces:
1) Unable to add ad-hoc server with External Database.
2) Server list not updating when password is saved on the Welcome page.
3) Icons for Query Tool and PSQL missing on the Welcome page.
4) Error when removing connection parameters.
2025-01-29 17:14:25 +05:30
Akshay Joshi 22b7ae6cdc 1) Fixed an issue where loadingText message is not shown in SchemaView.
2) Fixed SonarQube Bugs and Code Smells.
2025-01-24 13:58:21 +05:30
Anil Sahoo 133a59c71b
Fixed an issue where filter dialog save fails when the PostgreSQL server/database connection is lost. #6044 2025-01-22 10:06:56 +05:30
Aditya Toshniwal 1216f075ce
Fixed an issue where PSQL tool is not opening if database name have HTML characters in the name. #8365 2025-01-17 14:53:24 +05:30
Rohit Bhati de6fbe7725
Fixed a button focus issue found while testing the dialog button changes. #6513 2025-01-08 17:22:11 +05:30
Aditya Toshniwal 6dab60d9e4 Fixed an issue where copying query tool output cell is not working if any SQL text is selected. #8273
Rebase react-data-grid fork to latest.
2025-01-03 14:03:33 +05:30
Akshay Joshi 964d211260 Copyright updated for 2025 2025-01-01 11:26:42 +05:30
Rohit Bhati 7a9a45b065
Fixed an issue where tooltip on a dropdown button is blocking access to dropdown menu. #8255 2025-01-01 10:31:48 +05:30
Rohit Bhati bcd6f3f429
Fix a formatting issue in View/Edit tool generated SQL where some filters are applied. #8254 2024-12-30 11:56:24 +05:30
Akshay Joshi 185e0f61e2
Close the connection and delete adhoc server if all it's Query tool and PSQL connections are closed. 2024-12-17 17:57:25 +05:30
Aditya Toshniwal e84f4cd35b Fix an issue where view/edit tool is not opening in workspace layout.
Fixed few other theme related issues.
2024-12-17 17:03:37 +05:30
Akshay Joshi fe6e21a08b
Enhanced pgAdmin 4 with support for Workspace layouts. #7708 2024-12-16 14:52:56 +05:30
Rohit Bhati 621a48c642
More fixes related to query tool prompting for unsaved changes when there are no changes. #8127 2024-12-05 19:03:31 +05:30
Aditya Toshniwal bd2a484c2f
Added support for adding tags on a server node. #8192 2024-12-05 12:18:26 +05:30
Aditya Toshniwal 256d1e55c8 Fixed an issue where doing Ctrl/Cmd+C on a selected text in a cell editor of data output in the query tool copied the complete text. #8157 2024-12-04 11:32:01 +05:30
Yogesh Mahajan 190574b3af
Fix issues more scenarios related to crypt key missing on backend server restart. #8065 2024-11-29 12:05:46 +05:30
Aditya Toshniwal 657b0f82ec
Fixed an issue where query tool throws syntax error if a newly added row is untouched and saved. #8028
Fixed an issue where auto-width of wide columns in data output is incorrectly calculated. #8158
2024-11-28 14:18:13 +05:30
Aditya Toshniwal 88e515093c
Show auto-complete column names in filtered rows dialog of table and filter options of view/edit data tool. #3751
Allow setting NULL ordering for columns in view/edit data filter dialog. #3317
2024-11-28 10:13:57 +05:30
Pravesh Sharma 9ef5a53790
Add a user preference to enable/disable alternating row background colors in the data output of query tool. #8134
Fixed some theme related issues.
2024-11-27 11:23:13 +05:30
Aditya Toshniwal ea693396b8
Update MUI from v5 to v6 2024-11-25 16:36:21 +05:30
Khushboo Vashi f4cba74bf6 Fixed an issue where querying a foreign table gives the error 'ForeignTableCommand' object has no attribute 'auto_commit'. #7384 2024-11-25 14:40:26 +05:30
Aditya Toshniwal f23fe38e0b Update release notes. 2024-11-21 10:59:08 +05:30
Rohit Bhati 321366489d
Fixed an issue where query tool should show results and messages only from the last executed query. #8010
Fixed an issue where query tool should not prompt for unsaved changes when there are no changes. #8127
2024-11-21 10:52:43 +05:30
Anil Sahoo 8be65ceb7b
Fixed an issue related to the query tool update connection after the server disconnected from the object explorer. #7865 2024-11-19 15:44:40 +05:30
Aditya Toshniwal c5d5fbdafd Fixed an issue where Ctrl/Cmd + A was not selecting all data in query tool data grid. #5099 2024-11-14 16:56:03 +05:30
Aditya Toshniwal 00d3aaa1fd Refactor menu building code to support sub-menus of any depth 2024-11-14 13:36:42 +05:30
Aditya Toshniwal f9d881ffa6 Fix GUI test cases failing because of previous commit 2024-11-08 18:09:39 +05:30
Aditya Toshniwal 6fcc4ae6a2 More fixes for issues found while testing query tool pagination changes. #1780 2024-11-08 15:48:24 +05:30
Aditya Toshniwal 3417186df7 Fix issues found while testing pagination changes. #1780 2024-11-07 18:02:39 +05:30
Pravesh Sharma 4d7fc8be52
Resolved issues reported during testing of #7655. 2024-10-18 13:05:59 +05:30
Pravesh Sharma 5d008f0525
Fixed an issue where the query tool was crashing when an empty geometry was being rendered. #7655 2024-10-17 14:13:40 +05:30
Aditya Toshniwal b0d4200aa0
Few UX improvements in query tool pagination. #1780 2024-10-15 16:25:39 +05:30
Rohit Bhati b649094d36
Fix the issue where rows do not retain shading when scrolling. #8013 2024-10-10 15:19:24 +05:30
Rohit Bhati 509c696aa3
Fixed an issue where the copy shortcut was not working in the Query Tool data grid. #7920 2024-10-09 17:06:51 +05:30
Rohit Bhati d736f4266c
Fixed an issue where default EOL in the query tool should be based on the OS. #7393 2024-10-03 17:29:58 +05:30
Aditya Toshniwal c6d7a0a8da
Add missing eslint React rules and fix the linter errors. 2024-10-01 16:32:04 +05:30
Aditya Toshniwal 6322674d98
Replace infinite scrolling with pagination in query tool data output for better UX and performance. #1780 2024-10-01 14:47:12 +05:30
Rohit Bhati f8fb78be11
1) Alternate the background color of rows to enhance readability. #2874
2) Make the background color for the serial number and header cells distinct. #7863
2024-10-01 12:21:44 +05:30
Pravesh Sharma f0ecc95ca9
Fixed an issue to allow the Enter key to save data in the result grid text editor. #5307 2024-09-27 12:18:07 +05:30
Rohit Bhati 0e63914ab3
Fixed an issue where the copy shortcut CTRL +C was not working in the Query Tool data grid. #7920 2024-09-27 12:17:21 +05:30
Rohit Bhati 4cb0f87dfd
Added support for auto-detecting and setting the End-of-line character (LF/CRLF) in the query tool editor. #7393 2024-09-24 16:39:08 +05:30
Anil Sahoo 38d4728333
Fixed an issue where the query is not getting executed after giving a password and connecting to the server on the not saved password server. #6502 2024-09-18 20:55:29 +05:30
Ashesh Vashi b0cd028ff8
Fixed an issue introduced due to reloading of the tree due to changes in particular preferences (#7942)
* Fix an issue - when the object browser tree is being recreated due to reloading for changes in some of the preferences. Tree object returns object from the previous instance as 'selected', but - it does not have the 'treeNodeInfo' available. In this special case - we would consider that there is no node selected at that particular moment, and pass information accordingly.

* Fixed 'New Connection' dialog issue after connecting a disconnected server.

* Disable the 'Add' button in the GridHeader with form, when 'canAdd'
flag is set to false.

* Convert the access path to string array for correct comparision.

* Check the access path type before comparison.
When language is 'c', set the 'code' block read-only.

* Enabled 'Strict' control for EPAS >= 95
2024-09-18 20:55:01 +05:30
Anil Sahoo a361fd94ff
Fixed an issue where the query gets executed automatically when the query tool opened using Create Script, Schema Diff. 2024-09-18 07:47:20 +05:30
Ashesh Vashi 315d1a40a4
Fixes issues #7884
* Introduced a 'exclude' option in the 'Field' to exclude it from the
change completely. Use the option 'exclude' to add field
'notNullColumns', which will be excluded from the data, but - can be
used to force rerender the 'Not Null Columns' select control on
change of it.

* Fixed the linter issue

* Rerender the cell as well, when dependent changes values. (#7884)

* Listen for the depenent changes even for the non-visible controls

* Use 'useRef' on every rendering to avoid the React 'Something wrong' page
2024-09-16 17:55:43 +05:30
Ashesh Vashi 5e96f0fd61
Fixes the Variable Schema UI issues and InlineView bug reported in #7884
* Show the icon for the 'Reset' button. (Reference #7884)

* Reload the server list after connecting to a server in the 'New
connection' dialog (QueryTool). (Reference: #7884)

* Pass the grid path during the bulk update (click on a radio action)

* Don't assign the cell value to the 'rowValue' variable.

* Don't rely on the 'optionsLoaded' for setting the variable types as it
is loaded asynchronously, and variable types data may not be available
while rendering the 'value' cell. (Fixes #7884)

* Fixed a type while checking for the 'inline-group'. fixes (#7884)

* 'vnameOptions' can be a Promise function too, hence - taken care accrodingly.

* Introduced a parameter 'reloadOnDepChanges' in the BaseSchemaUI field
to force reload the control on value change for one of the
dependencies.

* Reload on the components in case of dependent value changes.

* Introduced 'useSchemaStateSubscriber', which generates a state
subscriber mananager instance. It helps multiple subscribers in a
single control as we could have multiple subscribe within a control.
(For example - value, options, errors, etc).

* Fixed all the issues reported (#7884)
2024-09-16 00:04:37 +05:30
Ashesh Vashi e21911b1c6
All the issues are fixed reported in #7884
* Show the icon for the 'Reset' button. (Reference #7884)

* Reload the server list after connecting to a server in the 'New
connection' dialog (QueryTool). (Reference: #7884)

* Pass the grid path during the bulk update (click on a radio action)

* Don't assign the cell value to the 'rowValue' variable.
2024-09-11 12:21:41 +05:30
Ashesh Vashi e9af0c3226
Improved the extendability of the SchemaView and DataGridView. (#7876)
Restructured these modules for ease of maintenance and apply the single
responsibility principle (wherever applicable).

* SchemaView

 - Split the code based on the functionality and responsibility.
 - Introduced a new View 'InlineView' instead of using the
   'nextInline' configuration of the fields to have a better, and
   manageable view.
 - Using the separate class 'SchemaState' for managing the data and
   states of the SchemaView (separated from the 'useSchemaState'
   custom hook).
 - Introduced three new custom hooks 'useFieldValue',
   'useFieldOptions', 'useFieldError' for the individual control to
   use for each Schema Field.
 - Don't pass value as the parameter props, and let the
   'useFieldValue' and other custom hooks to decide, whether to
   rerender the control itself or the whole dialog/view. (single
   responsibility principle)
 - Introduced a new data store with a subscription facility.
 - Moving the field metadata (option) evaluation to a separate place
   for better management, and each option can be defined for a
   particular kind of field (for example - collection, row, cell,
   general, etc).
 - Allow to provide custom control for all kind of Schema field.

* DataGridView

 - Same as SchemaView, split the DataGridView call into smaller,
   manageable chunks. (For example - grid, row, mappedCell, etc).
 - Use context based approach for providing the row and table data
   instead of passing them as parameters to every component
   separately.
 - Have a facility to extend this feature separately in future.
   (for example - selectable cell, column grouping, etc.)
 - Separated the features like deletable, editable, reorder,
   expandable etc. cells using the above feature support.
 - Added ability to provide the CustomHeader, and CustomRow through the
   Schema field, which will extend the ability to customize better.
 - Removed the 'DataGridViewWithHeaderForm' as it has been achieved
   through providing 'CustomHeader', and also introduced
   'DataGridFormHeader' (a custom header) to achieve the same feature
   as 'DataGridViewWithHeaderForm'.
2024-09-09 14:27:31 +05:30
Anil Sahoo 8bae604129
Fix the query tool restore connection issue on the server disconnection from the left side object explorer. #6502 2024-09-02 15:06:11 +05:30
Pravesh Sharma c0b6c8726e
Add a home button to the geometry viewer to set original zoom level when the viewer was opened. #2046 2024-08-14 11:09:28 +05:30
Aditya Toshniwal 57e72ce598 Fixed bugs found when testing react-data-grid upgrade changes. #7705 2024-08-13 13:00:52 +05:30
Aditya Toshniwal c6e7ce03cc
Upgrade react-data-grid fork to latest and change pgAdmin accordingly. #7705 2024-07-31 19:12:36 +05:30
Akshay Joshi 0511554db9 The following issues have been fixed:
1) White screen issue after closing the Macro dialog.
2) Schema Diff database and schema selection issue.
3) CSV download issue.
2024-07-24 12:54:20 +05:30
Rohit Bhati 8030bc708b
Add support for highlighting selection matches in the query editor. #7530 2024-07-18 17:51:20 +05:30
Pravesh Sharma bfcdcdc4f1
Add a precautionary check for the query tool connection cursor to fix the error 'NoneType' object has no attribute '_query'. #7660 2024-07-18 14:24:50 +05:30
Anil Sahoo 5c5b61c4db
Fixed an issue where paste operation in query tool data grid should skip bytea columns and put the value as NULL instead. #3199 2024-07-09 10:33:29 +05:30
Aditya Toshniwal 760e38293c Fix issues found during Electron testing. #7494
Fix application crash when using users dialog. #7607
2024-07-08 19:24:29 +05:30
Aditya Toshniwal dcfef154ce
- Set the browser target to ES6 and reduce the JS bundle size considerably
- Upgrade ESLint to v9.x and migrate the .eslintrc.js file to make it work
2024-07-04 18:25:47 +05:30
Khushboo Vashi 4f415f9768
Added support for viewing PostgreSQL Server Logs in Text, CSV and JSON formats. #3981 2024-07-03 16:17:29 +05:30
Rohit Bhati 22cdb86aab
Fix issue with missing new added records in download file. #5345 2024-07-02 11:48:13 +05:30
Aditya Toshniwal f8fa1cf6d6
- Fix few SonarQube issues.
- Cleanup NW.js related stuff.
2024-07-02 10:34:30 +05:30
Aditya Toshniwal 91eb60a363
Replace pgAdmin NW.js container with Electron container. #7494 2024-07-01 11:27:42 +05:30
Aditya Toshniwal 9279393dcd Add missing files from last commit. #7593 2024-06-19 17:57:34 +05:30
Yogesh Mahajan 95ffd1b9a1
More fixes for issues reported while testing changes related to makeStyle JSS changes and auto-theme. #7363 2024-06-19 11:54:18 +05:30
Akshay Joshi 0452828cc7 1) Change the cursor to a pointer for JSON editor toolbar buttons.
2) Remove the extra scrollbar in JSON editor.
3) Set the focus on the PSQL tool.
2024-06-18 16:42:17 +05:30
Akshay Joshi 2b04f3ca1d Fixed incorrect handling of the code smell for the reject API call 2024-06-17 18:22:38 +05:30
Yogesh Mahajan b0e7847962
Fixed bugs found while testing makeStyles JSS changes. #7363 2024-06-17 15:45:40 +05:30
Akshay Joshi 5866da8194 Fixed SonarQube code smells. 2024-06-13 18:48:02 +05:30
Aditya Toshniwal ad34ee2699 Fixed new line indentation in query editor and add a user preference to disable it. #7295 2024-06-13 18:06:13 +05:30
Aditya Toshniwal e03d65d547
Fixed an issue where query tool shortcuts for find/replace are not working. #7555 2024-06-13 17:26:47 +05:30
Pravesh Sharma b5c8692f34
Fixed an issue where resizable data editors in query tool should not be allowed to resize beyond the app window bounds. #7241 2024-06-13 14:07:44 +05:30
Akshay Joshi dea5335ce5 Fixed the following SonarQube code smells:
1) Do not use the Array index in keys.
2) Import from the same module should be merged.
3) Mutable variables should not be exported.
4) Variables should not be initialized to undefined.
5) startswith or endswith method should be used.
6) Unwrap this unnecessarily grouped subpattern.

Additionally, addressed many other SonarQube rules.
2024-06-12 18:09:06 +05:30
Akshay Joshi 8857f0d179 Fix SonarQube code smells:
1) String literals should not be duplicated.
2) Prefer using an optional chain expression instead, as it's more concise and easier to read.
3) Expected the Promise rejection reason to be an Error.
2024-06-10 18:04:32 +05:30
Rohit Bhati 85d4473af4
Disable the query tool editor input if any SQL is being loaded to prevent users from typing. #6357 2024-06-06 18:06:49 +05:30
Yogesh Mahajan cc999ae5a5
Remove the usage of MUI makeStyles as it doesn't support React 18. #7363 2024-06-06 17:13:12 +05:30
Akshay Joshi a46f99d360 1) Partially fixed the issue with inserting characters at the end of the line by setting 'Underline query at cursor?' to false by default.
2) Update release note.
2024-06-04 18:18:16 +05:30
Pravesh Sharma b5b0538fe3
Fixed an issue where canceling a query without privilege does not display any message on query tool. #7480 2024-05-31 11:19:44 +05:30
Anil Sahoo 6690b16f8a
Added support for executing the query at the cursor position in the query tool. #6841 2024-05-27 16:11:59 +05:30
Akshay Joshi 16b9b103a2 Resolved the intermittent issue with macros not displaying in the macros dialog. 2024-05-27 15:56:02 +05:30
Rohit Bhati 4e3ec91d23
Added support for the 'Add to macros' feature and fixed various usability issues. #4735 2024-05-24 15:30:31 +05:30
Ahmad 5c30695d66
Fixed Typos 2024-05-23 12:52:41 +05:30
Aditya Toshniwal dd45f06d50
Added support for viewing PGD Clusters. #7215 2024-05-20 16:54:49 +05:30
Aditya Toshniwal 5ec6faff13
Upgrade react-table from v7 to v8. #7419 2024-05-07 16:31:04 +05:30
Aditya Toshniwal b85d8c1446
Changes in Query Tool, Debugger, and ERD Tool shortcuts to remove the use of Accesskey which will allow them to be customized. #7192 2024-05-06 11:15:44 +05:30
Khushboo Vashi f4761f55f7 Fixed Multi-Factor Authentication bypass vulnerability (CVE-2024-4215). #7425 2024-04-29 13:41:02 +05:30
Khushboo Vashi f88c89f3eb Fixed an issue when closing the materialized view data second tab; it raises the error that the 'MViewCommand' object has no attribute 'auto_commit'. 2024-04-26 15:53:15 +05:30
Khushboo Vashi 10ba029980 Fixed an issue where connection to the database is not automatically re-established after connectivity drop. #7372 2024-04-24 14:37:33 +05:30
Khushboo Vashi 84c024f6fa Fixed an issue when closing the view data second tab; it raises the error that the 'ViewCommand' object has no attribute 'auto_commit'. #7384 2024-04-23 14:45:15 +05:30
Yogesh Mahajan f0185fbe7f
Fix issues reported while testing MUI5 library update. 2024-04-17 17:31:55 +05:30
Akshay Joshi 30d2d1b23e Fixed the following code smells:
1) useState call is not destructured into value + setter pair.
2) A fragment with only one child is redundant.
3) Unnecessary '.apply()' and '.call()'.
4) Expected the Promise rejection reason to be an Error.
2024-04-09 19:18:56 +05:30
Yogesh Mahajan 102e0a9839
- Update MUI v4 to v5
- Remove the SCSS dependency completely and use MUI for theming.
- Update - date-fns, @date-io, notistack. Remove - popper.js, sass-loader.
- Cleanup webpack config.
- Port PSQL tool to use MUI themes instead of SCSS theme.
- Theme change will reflect realtime without refreshing pgAdmin.
2024-04-09 08:21:14 +05:30
Akshay Joshi edec9adbfb
Fixed SonarQube code smell 'Unnecessary use of boolean literals in conditional expression'. 2024-04-08 17:19:51 +05:30