549 Commits

Author SHA1 Message Date
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
2f495006ea 1) Fixed an issue where the server shows disconnected on the Welcome page, even after the password was provided.
2) Updated the release notes and version information.
2025-02-03 14:26:57 +05:30
Akshay Joshi
d5101b7568 1) Disable PSQL Workspace in Server mode.
2) Fixed an issue where empty binary path throwing an error instead of proper error message.
2025-01-30 17:59:18 +05:30
Akshay Joshi
228156d0b6 1) Fixed an issue where the ad-hoc server with SSH Tunnel repeatedly prompted for the password.
2) Fixed an issue where the SSH Tunnel password was not being saved in the External Database if its encoded length exceeded 64 characters.
3) 'Save Password' check box should be hidden for SSH Tunnel password on the Welcome page.
2025-01-29 19:43:23 +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
Akshay Joshi
684818def1 Ensure that the Server List on the Welcome page is refreshed only when there are changes in the Object Explorer. 2025-01-23 14:51:39 +05:30
Aditya Toshniwal
168aaa227a Update the server list on welcome page when workspace is changed to get the latest server connection info. #7708 2025-01-20 18:45:51 +05:30
Rohit Bhati
1be0ff13db Update prop on confirmDelete to fix TypeError. #6513 2025-01-17 14:53:51 +05:30
Akshay Joshi
bac50e10f0 1) Fixed an issue where User Language is not getting changed.
2) Fixed an issue where Import/Export Server menu is disabled.
3) Update few JavaScript dependencies.
2025-01-07 13:55:02 +05:30
Akshay Joshi
eb517e6df8 Fixed following issues for Workspace:
1. On the welcome page, the Password should be cleared when the user/db is changed.
2. Added a spinner when we tried to connect to the existing remote server.
3. Details should be cleared when we select the existing server but cancel when it asks for the password.
4) Return from the chageWorkspace function if clicking on the same workspace button multiple times.
2025-01-02 13:24:13 +05:30
Akshay Joshi
964d211260 Copyright updated for 2025 2025-01-01 11:26:42 +05:30
Akshay Joshi
e011ad02a5 Remove console log 2024-12-18 18:43:04 +05:30
Akshay Joshi
fdf5d12196 1) Fixed schema diff workspace button is disabled for the first tab.
2) Adhoc servers should connect with service file and open the Query/PSQL tool.
2024-12-18 18:19:13 +05:30
Rohit Bhati
8af25ba0c1 Change button labels and color in delete confirmation dialog for all objects to improve UX. #6513 2024-12-18 17:25:36 +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
Aditya Toshniwal
3417186df7 Fix issues found while testing pagination changes. #1780 2024-11-07 18:02:39 +05:30
Ashesh Vashi
441cc57bb8 Don't show 'Types of objects' for the 'Cluster' operation. Fixes #7884 2024-09-18 07:48:09 +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
Aditya Toshniwal
57e72ce598 Fixed bugs found when testing react-data-grid upgrade changes. #7705 2024-08-13 13:00:52 +05:30
Ashesh Vashi
52af8d3e49 Introduce custom React Hook useSchemaState to simplify SchemaView component. #7776
Changes include: 
- Simplify current SchemaView code
- Add ability to reuse the schema data & state management implementation outside the SchemaDialogView component.
- Further split components in small and manageable separate files.
- Removed the 'DepListenerContext' context as there was no need for separate context.
- Added a reload functionality in the 'useSchemaState'
- Changes in feature tests.
2024-08-02 09:59:01 +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
Yogesh Mahajan
1eb07608e9 Ensure processes related notifiers disappears. #7219 2024-07-17 13:07:52 +05:30
Pravesh Sharma
a06c13623d Fixed an issue where theme preview under theme options was broken in pgAdmin server mode. #7626 2024-07-16 10:25:48 +05:30
Khushboo Vashi
6b012193e3 Pin Psycopg Binary packages to 3.1.19 for the ARM64 MacOS platform wheel packages. 2024-07-10 17:43:13 +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
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
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
31a91409a0 Fixed incorrect sorting of size in statistics tab. #7542 2024-06-19 18:27:43 +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
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
Yogesh Mahajan
6357672387 Provide an option to set the theme based on the OS theme. #5932 2024-06-12 16:18:37 +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
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
29a526626f Fixed an issue where the size displayed as 'NaN B' for all databases in the statistics tab. #7524 2024-06-03 17:10:11 +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
Khushboo Vashi
f4761f55f7 Fixed Multi-Factor Authentication bypass vulnerability (CVE-2024-4215). #7425 2024-04-29 13:41:02 +05:30
Pravesh Sharma
7c6fdcb12e Disabled auto-fill on password fields. #2410 2024-04-29 11:44:17 +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
Khushboo Vashi
fbbbfe22dd Fixed a remote code execution issue in the validate binary path (CVE-2024-3116). #7326 2024-04-01 11:34:01 +05:30
Aditya Toshniwal
ace73ebb60 Added support for viewing Log Based Clusters. #7216
Co-authored-by: Akshay Joshi <akshay.joshi@enterprisedb.com>
2024-03-28 12:19:34 +05:30