Commit Graph

2559 Commits

Author SHA1 Message Date
Yogesh Mahajan
dd6f6cf1af
Support OIDC in OAuth2 authentication. #7839 2024-09-16 08:36:54 +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
Yogesh Mahajan
d3d1eb3355
Fixed issue of migrating tunnel password with new master password mechanism. #7076 2024-09-09 17:38:22 +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
Yogesh Mahajan
306269af5d
Fix issues found while testing keyring changes. #7076 2024-09-02 19:32:25 +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
445e89576b
Fixed an issue where users could not use pgAdmin if they did not have access to the management database. #7571 2024-08-30 12:13:47 +05:30
Yogesh Mahajan
c4dc839d7c
Fix issue found while testing keyring related changes. #7076 2024-08-28 11:46:04 +05:30
Yogesh Mahajan
1257ec9969
Revamp the current password saving implementation to keyring and reducing repeated OS user password prompts. #7076
The new implementation will store the master password in the keyring instead of storing each and every server password separately. The master password will be used to encrypt/decrypt server password when storing in the pgAdmin config DB.
2024-08-22 16:44:57 +05:30
Ashesh Vashi
8cf316b853
Fixed some of the issues reported due to introduction of the custom hook 'useSchemaState'. #7776 2024-08-19 09:53:00 +05:30
Rohit Bhati
81d8ea56f8
Fix server heartbeat logging error after deleting the server. #7540 2024-08-07 14:32:48 +05:30
Rohit Bhati
5d7ec14076
Fixed delete object(shortcut key) affecting both text and Object Explorer items. #7683 2024-08-01 11:48:16 +05:30
Pravesh Sharma
2e878a3fb2
Fixed an issue where the REVOKE statement in the create script was throwing an error if the role contained special characters. #7737 2024-08-01 11:34:00 +05:30
Rohit Bhati
19237fe247
Fixed an issue where delete object(shortcut key) affecting both text and Object Explorer items. #7683 2024-07-31 11:25:08 +05:30
Aditya Toshniwal
026292f07b Fix tab focus issue when closing query tool using keyboard shortcut. #6572 2024-07-23 17:02:39 +05:30
Rohit Bhati
b173fda116
Fix tab focus issue while deleting multiple tabs using shortcut key. #6572 2024-07-22 11:32:26 +05:30
Rohit Bhati
8030bc708b
Add support for highlighting selection matches in the query editor. #7530 2024-07-18 17:51:20 +05:30
Rohit Bhati
9ee896aac4
Add a keyboard shortcut to close active tab panel. #6572 2024-07-17 18:19:36 +05:30
Yogesh Mahajan
e028ebc152
Ensure pgadmin does not try to connect to the server if saved password is not available. #7679 2024-07-16 17:46:40 +05:30
Anil Sahoo
30051f3257
Fixed an issue where Reassign/Drop Owned dialog not opening for Role. #7663 2024-07-16 17:42:16 +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
Akshay Joshi
576dc55615
Fixed the permission denied issue for functions of the pgstattuple extension when accessing statistics with a non-admin user. #7035 2024-07-02 11:47:43 +05:30
Aditya Toshniwal
f8fa1cf6d6
- Fix few SonarQube issues.
- Cleanup NW.js related stuff.
2024-07-02 10:34:30 +05:30
Aditya Toshniwal
3bb9f0ba8c
Remove support for Python 3.7 as Debian 10 is EOL. 2024-07-01 12:39:12 +05:30
Aditya Toshniwal
91eb60a363
Replace pgAdmin NW.js container with Electron container. #7494 2024-07-01 11:27:42 +05:30
Pravesh Sharma
4457a6a6a1
Updated to the latest version of the Notistack library. #7501 2024-07-01 11:26:45 +05:30
Akshay Joshi
3be2221948 Ensure that pgAdmin 4 is compatible with PostgreSQL v17. #7537 2024-06-27 13:18:26 +05:30
Akshay Joshi
3e7a220225 Fixed an issue where the schema diff incorrectly marked tables as different due to schema-qualified trigger functions in the trigger definitions. #7523 2024-06-20 16:55:38 +05:30
Aditya Toshniwal
9026f46220 Fixed an issue where object explorer toolbar button not showing shortcut in the tooltip.#7316 2024-06-20 11:31:11 +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
Rohit Bhati
1ba9f005a7
Ensure that user should be able to clear comments in RLS Policy. 2024-06-17 18:11:57 +05:30
Yogesh Mahajan
b0e7847962
Fixed bugs found while testing makeStyles JSS changes. #7363 2024-06-17 15:45:40 +05:30
Anil Sahoo
a946c70869
Fixed an issue where changing a column name should reflect in all the constraints in table object dialog and ERD table dialog. #7476 2024-06-17 14:07:45 +05:30
Akshay Joshi
5866da8194 Fixed SonarQube code smells. 2024-06-13 18:48:02 +05:30
Akshay Joshi
ab01dde2ba Fixed RESQL test case. 2024-06-12 18:46:12 +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
Rohit Bhati
288fd7ed12
Add support for comments on RLS policy object. #7414 2024-06-12 17:18:55 +05:30
Aditya Toshniwal
056aff4742 Revert the changes done for removing support for Python 3.7 2024-06-12 16:23:27 +05:30
Akshay Joshi
df2f3460f0 Fix the following SonarQube code smells:
1) Use the "RegExp.exec()" method instead.
2) Remove parameter form or provide default value.
3) Extract this nested ternary operation into an independent statement.
4) Replace this character class by the character itself.
5) Unnecessary use of conditional expression for default assignment.
6) Prefer using an optional chain expression instead, as it's more concise and easier to read.
2024-06-11 18:07:22 +05:30
Yogesh Mahajan
fff192eb95
Ensure that a user can connect to a server using SSL certificates and identity files from a shared storage. #7306 2024-06-11 14:48:11 +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
Aditya Toshniwal
de712b0805 - Update JS packages.
- Remove support for Python 3.7 as Debian 10 is EOL.
2024-06-07 14:17:22 +05:30
Aditya Toshniwal
b1f70b02ff Update object explorer icons for EPAS and replication related nodes 2024-05-27 12:29:38 +05:30
Pravesh Sharma
36a71dc7fa
1. Fixed an issue where resetting the password from the password reset link was not working. #7500
2. Fixed an issue where the recover password button was enabled even when no email id was provided. #7487
2024-05-24 13:18:05 +05:30
Ahmad
5c30695d66
Fixed Typos 2024-05-23 12:52:41 +05:30
Akshay Joshi
6c7bc1c815 Ensure that Schema Diff does not indicate a table as different when the trigger names are the same but the trigger function body is different. #5762 2024-05-21 16:04:25 +05:30