Commit Graph

1921 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
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
b173fda116
Fix tab focus issue while deleting multiple tabs using shortcut key. #6572 2024-07-22 11:32:26 +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
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
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
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
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
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
b1f70b02ff Update object explorer icons for EPAS and replication related nodes 2024-05-27 12:29:38 +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
Aditya Toshniwal
dd45f06d50
Added support for viewing PGD Clusters. #7215 2024-05-20 16:54:49 +05:30
Pravesh Sharma
afc28d95cf
1. Disable ERD for system Catalogs. #5849
2. Disable Debugger for system catalogs. #6060
3. Fixed an issue where the keyboard shortcut for launching the debugger from Object Explorer was not working.
2024-05-08 15:29:01 +05:30
Aditya Toshniwal
5ec6faff13
Upgrade react-table from v7 to v8. #7419 2024-05-07 16:31:04 +05:30
RohitBhati8269
3e6bd29198
Enhance the Delete dialog by highlighting the names of the objects to be deleted in bold. #7411 2024-05-07 11:56:50 +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
f724578463 Fixed API test cases for exec/call procedure. 2024-04-26 13:01:35 +05:30
Akshay Joshi
92bb931b0a Fixed an issue where incorrect select/exec scripts were generated for functions/procedures. #7334 2024-04-25 17:24:02 +05:30
Pravesh Sharma
fd65f1b644
Fixed all input boxes in pgAdmin to show browser auto-fill only where it is relevant. #2410 2024-04-24 11:27:08 +05:30
Akshay Joshi
9f6ddd3cf9 Fixed violates check constraint issue when creating a pgAgent schedule. #7390 2024-04-23 17:27:11 +05:30
Pravesh Sharma
0d1e3f36e1
Revert "Fixed an issue where function arguments were getting enclosed in double quotes if written in upper case. #7222"
This reverts commit fc4b419987.
2024-04-17 11:33:25 +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
Pravesh Sharma
fc4b419987
Fixed an issue where function arguments were getting enclosed in double quotes if written in upper case. #7222 2024-04-04 16:48:00 +05:30
Akshay Joshi
475e3689f7 Added the new columns last_seq_scan and last_idx_scan from the pg_stat_all_tables and pg_stat_all_indexes tables respectively to the Statistics tab. #6728 2024-04-04 16:39:12 +05:30