Commit Graph

63 Commits (master)

Author SHA1 Message Date
Akshay Joshi e4f17e5a6c Ensure that pgAdmin 4 is compatible with PG/EPAS v18. #8828 2025-07-08 18:34:39 +05:30
Aditya Toshniwal 1e0e9c4f7d
1) Open preferences in a new tab instead of a dialog for better user experience. #6743
2) Add a search box to enable searching within the preferences tab. #2864
2025-06-12 19:03:54 +05:30
Yogesh Mahajan 68e559c613
Added support to preserve the workspace, query windows, and pgAdmin state during an abrupt shutdown or restart. #3319 2025-06-05 16:50:38 +05:30
Pravesh Sharma b6e1223e88
Fixed an issue where the result grid slowed down when any column contained a large amount of data. #6510 2025-05-21 18:57:47 +05:30
Khushboo Vashi 8031c35160
Fixed an issue where the debugger hangs when stepping into nested function/procedure. #8443 2025-04-03 19:20:28 +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
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 964d211260 Copyright updated for 2025 2025-01-01 11:26:42 +05:30
Akshay Joshi fe6e21a08b
Enhanced pgAdmin 4 with support for Workspace layouts. #7708 2024-12-16 14:52:56 +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 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
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
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 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 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
Akshay Joshi 5866da8194 Fixed SonarQube code smells. 2024-06-13 18:48:02 +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
Aditya Toshniwal 5ec6faff13
Upgrade react-table from v7 to v8. #7419 2024-05-07 16:31:04 +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
Aditya Toshniwal d3ede3151a
Upgrade CodeMirror from version 5 to 6. #7097 2024-02-21 11:15:25 +05:30
Akshay Joshi 740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +05:30
Aditya Toshniwal 862f101772
Significant changes to use ReactJS extensively.
1. Replace the current layout library wcDocker with ReactJS based rc-dock. #6479
2. Have close buttons on individual panel tabs instead of common. #2821
3. Changes in the context menu on panel tabs - Add close, close all and close others menu items. #5394
4. Allow closing all the tabs, including SQL and Properties. #4733
5. Changes in docking behaviour of different tabs based on user requests and remove lock layout menu.
6. Fix an issue where the scroll position of panels was not remembered on Firefox. #2986
7. Reset layout now will not require page refresh and is done spontaneously.
8. Use the zustand store for storing preferences instead of plain JS objects. This will help reflecting preferences immediately.
9. The above fix incorrect format (no indent) of SQL stored functions/procedures. #6720
10. New version check is moved to an async request now instead of app start to improve startup performance.
11. Remove jQuery and Bootstrap completely.
12. Replace jasmine and karma test runner with jest. Migrate all the JS test cases to jest. This will save time in writing and debugging JS tests.
13. Other important code improvements and cleanup.
2023-10-23 17:43:17 +05:30
Aditya Toshniwal 5981f4bd13 In GUI tests, do not try to set the binary path in preferences if it is blank 2023-10-09 12:42:52 +05:30
Akshay Joshi 9ab36b0269 Fixed PEP8 2023-07-27 18:18:39 +05:30
Akshay Joshi b4e6d8c6d7 1) Fixed feature tests failed due to maintenance changes.
2) Update release note.
2023-07-27 18:15:36 +05:30
Akshay Joshi a460644ae8
1) Added support for SYSTEM, CONCURRENTLY and TABLESPACE options in REINDEX. #6381
2) Added new/missing options to the VACUUM command. #6397
3) Added SKIP_LOCKED and BUFFER_USAGE_LIMIT option to Analyze command. #6415
2023-07-27 17:34:25 +05:30
Akshay Joshi 58cd21686b Handle the intermittent failure for query tool test. 2023-07-13 19:03:16 +05:30
Akshay Joshi 251bf05692 Fixed the following SonarQube code smells:
1) Do not use Array index in keys.
2) Unnecessary escape character.
3) Rename this local variable to match the regular expression ^[_a-z][a-z0-9_]*$
4) Remove the unused local variable.
2023-06-12 18:44:31 +05:30
Yogesh Mahajan cad4c6b8af
Fix feature tests for the database versions 11, 12 and 13, broken due to multirange data types support. 2023-05-15 11:42:17 +05:30
Khushboo Vashi 2a22cf077c
Fix circular reference error for the multirange data types in the query tool. #6221
Add support for the multirange data types.
2023-05-10 10:32:47 +05:30
Yogesh Mahajan 64d5457e2b
Try to fix feature test failures happening due to error occurring while deleting test databases.
* Try to fix feature test failures happening due to error occurring while deleting test databases.

* Updated ON_DEMAND_ROW_COUNT to ON_DEMAND_RECORD_COUNT missed in #3275.
2023-04-13 17:25:12 +05:30
Yogesh Mahajan 33953e9119
Fixed intermittent error "Connection Lost" shown while connecting to database. 2023-03-31 16:17:04 +05:30
Yogesh Mahajan a607ab2d94
Another try to fix role related feature tests. 2023-03-29 13:48:54 +05:30
Aditya Toshniwal 9924fae378
Nomenclature changes:
1. Rename "Properties..." context menu option of object to "Edit Object...".
2. Rename "Browser" tree to "Object Explorer". #4734
2023-03-28 22:20:14 +05:30
Yogesh Mahajan 97bd417ea8
Fixed intermittent failures for the role related feature tests. 2023-03-27 11:51:28 +05:30
Yogesh Mahajan 3de2e625b5
Fix feature test failures caused due to invalid binary path. 2023-03-15 18:54:22 +05:30
Yogesh Mahajan 48f2e2744c
Fixed feature tests failures occurred due to psycopg3 changes. 2023-03-14 17:51:14 +05:30
Yogesh Mahajan 026334a71a
Removed logging added for feature test failure. Added more assets to avoid false failures. 2023-02-13 11:58:54 +05:30
Yogesh Mahajan ff877d6e91
Added logging for feature test failure on jenkins job. 2023-02-10 12:39:42 +05:30
Nikhil Mohite 0a7d9a69f7
Ensure the correct child node is selected on the expansion of the collection node. 2023-01-05 17:30:30 +05:30
Yogesh Mahajan 3841bc5253
Fixed feature test failures occurring due to tree changes. 2023-01-04 10:44:22 +05:30
Akshay Joshi 98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +05:30
Aditya Toshniwal 5c34c10d4e
- Move pgadmin4-treeview to pgAdmin main repo.
- Use react based context menu for browser tree. #5615.
- Fix feature tests failure.
2023-01-02 10:51:13 +05:30
Aditya Toshniwal ff9daec5ec
Rewrite pgAdmin main menu bar to use React. #5615 2022-12-22 14:25:18 +05:30