Commit Graph

737 Commits (7a25da9b06aecdf7e187f8a4bd2d43ac6e4834d6)

Author SHA1 Message Date
Aditya Toshniwal 7a25da9b06
Add support for restoring plain SQL database dumps. #5871 2025-03-05 18:22:44 +05:30
Rohit Bhati 7bae1eb663
Added support for creating Directory nodes in EPAS. #8034 2025-03-03 18:45:21 +05:30
Yogesh Mahajan 39f92ffae4
Fixed GUI test cases failures on Github actions. 2025-02-18 14:44:32 +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
Pravesh Sharma 2fc65589c8
Add support for one to one relationship in the ERD tool. #5128 2025-02-10 14:40:20 +05:30
Yogesh Mahajan ebeb768a53
Ensure the double-click event is listened to even if the user clicks after the label. 2025-01-30 10:26:11 +05:30
Yogesh Mahajan 5ee0328063
Fix an error during logout from pgAdmin when using OAuth2 authentication with the query tool open. 2025-01-22 21:05:06 +05:30
Akshay Joshi 84a8a522e3
1) Fixed an issue where Default Privileges and Privileges not working correctly. #8369
2) Fixed <br/> tag visible issue.
2025-01-22 19:40:13 +05:30
Yogesh Mahajan 98f6b1ff12
Ensure the double-click event is not ignored in the browser tree. 2025-01-20 11:21:21 +05:30
Akshay Joshi 1934a75eee Updated Javascript packages. 2025-01-06 12:23:10 +05:30
Akshay Joshi 964d211260 Copyright updated for 2025 2025-01-01 11:26:42 +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 fe6e21a08b
Enhanced pgAdmin 4 with support for Workspace layouts. #7708 2024-12-16 14:52:56 +05:30
dependabot[bot] a5a5503821
Python dependency: Bump selenium in /web/regression 2024-11-28 10:53:29 +05:30
Aditya Toshniwal 042888f5d7
Fixed an issue where ERD auto-layout should: #6592 (#8167)
- Always generate right-angled links
- Switch port to Left/Right for the best link route.
2024-11-22 16:26:50 +05:30
Yogesh Mahajan 026c0d2389
Ensure the crypt key is retrieved correctly on backend server restart. #8065 2024-11-21 15:55:38 +05:30
Aditya Toshniwal 9a8d520abd Fix few issues found in menu rendering code and GUI test cases 2024-11-14 14:49:07 +05:30
Aditya Toshniwal 296befc881 Code refactoring at multiple places to improve re-usability 2024-11-14 14:16:38 +05:30
dependabot[bot] 2e098c487a
Python dependency: Bump selenium in /web/regression 2024-11-06 11:39:05 +05:30
Pravesh Sharma 2f4cae35bd
Updated the react-menu library from v2 to v4. #8061 2024-10-30 17:08:24 +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
Akshay Joshi b757d26933 1) Update JS and Python dependencies from Dependabot.
2) Added new release note file.
2024-09-23 16:33:20 +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
Akshay Joshi a0f7d0d50f Update JS and Python dependenies. 2024-08-29 10:35:51 +05:30
dependabot[bot] 6bf522da0f
Python dependency: Bump python-mimeparse in /web/regression
Bumps [python-mimeparse](https://github.com/falconry/python-mimeparse) from 1.6.0 to 2.0.0.
- [Release notes](https://github.com/falconry/python-mimeparse/releases)
- [Commits](https://github.com/falconry/python-mimeparse/compare/1.6.0...2.0.0)

---
updated-dependencies:
- dependency-name: python-mimeparse
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-27 11:38:30 +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
Aditya Toshniwal b00ea3cd99 Update release notes. 2024-08-14 11:12:30 +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
Akshay Joshi 636c224bd0
Updated JavaScript and Python packages according to Dependabot recommendations 2024-07-29 19:34:43 +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
Pravesh Sharma 10b2e91e29
Update react-diagrams library which is used in ERD to the latest version. #7644
Added patch for DataGridView failing when adding a new row.
2024-07-03 18:19:27 +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 3bb9f0ba8c
Remove support for Python 3.7 as Debian 10 is EOL. 2024-07-01 12:39:12 +05:30
dependabot[bot] 754cd223c1
Python dependency: Bump selenium in /web/regression
Bumps [selenium](https://github.com/SeleniumHQ/Selenium) from 4.21.0 to 4.22.0.
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases)
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.21.0...selenium-4.22.0)

---
updated-dependencies:
- dependency-name: selenium
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-27 13:23:57 +05:30
Aditya Toshniwal feb3093c6d
Automatically apply virtualization in the DataGridView of SchemaView if the schema contains only one collection. #7607 2024-06-27 13:21:18 +05:30
Akshay Joshi 3be2221948 Ensure that pgAdmin 4 is compatible with PostgreSQL v17. #7537 2024-06-27 13:18:26 +05:30
Aditya Toshniwal 007c4840c2
Fix failing feature tests 2024-06-18 14:02:23 +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 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
Aditya Toshniwal 056aff4742 Revert the changes done for removing support for Python 3.7 2024-06-12 16:23:27 +05:30
dependabot[bot] bc3052ed1b
Python dependency: Bump testtools from 2.7.1 to 2.7.2 in /web/regression
Bumps [testtools](https://github.com/testing-cabal/testtools) from 2.7.1 to 2.7.2.
- [Release notes](https://github.com/testing-cabal/testtools/releases)
- [Changelog](https://github.com/testing-cabal/testtools/blob/master/NEWS)
- [Commits](https://github.com/testing-cabal/testtools/compare/2.7.1...2.7.2)

---
updated-dependencies:
- dependency-name: testtools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-12 11:44:31 +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
Akshay Joshi b3cf9ce185 Unpin dnspython from 'regression/requirements.txt' as eventlet issue is fixed. 2024-06-07 17:52:46 +05:30
dependabot[bot] 18deb16e36
Python dependency: Bump pbr from 5.11.1 to 6.0.0 in /web/regression
Bumps [pbr](https://docs.openstack.org/pbr/latest/) from 5.11.1 to 6.0.0.

---
updated-dependencies:
- dependency-name: pbr
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-07 16:53:22 +05:30
dependabot[bot] bc1a2a0b4d
Python dependency: Bump selenium in /web/regression
Bumps [selenium](https://github.com/SeleniumHQ/Selenium) from 4.19.0 to 4.21.0.
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases)
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.19.0...selenium-4.21.0)

---
updated-dependencies:
- dependency-name: selenium
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-07 16:39:53 +05:30
dependabot[bot] c6739ebd6b
Python dependency: Bump dnspython from 2.3.0 to 2.6.1 in /web/regression
Bumps [dnspython](https://github.com/rthalley/dnspython) from 2.3.0 to 2.6.1.
- [Release notes](https://github.com/rthalley/dnspython/releases)
- [Changelog](https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst)
- [Commits](https://github.com/rthalley/dnspython/compare/v2.3.0...v2.6.1)

---
updated-dependencies:
- dependency-name: dnspython
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-06 18:11:47 +05:30