Commit Graph

327 Commits (0cb75bdcabffa691828d4c2a9798070dd639456c)

Author SHA1 Message Date
Akshay Joshi 59649ca42c 1) Enable the 'Configure' and 'View log' menu option when the server taking longer than usual time to start.
2) When an error occurs from the backend, the configure window opens and if the user has changed the setting
   of the port, it won't take any effect as we have retrieved the value of the port at the start of the runtime.
3) Added logic to identify the specified fixed port is already in use. Throw the error before starting the pgAdmin server.

Fixes #5751
2020-08-25 18:01:27 +05:30
Akshay Joshi e3b1ef0b80 Update version for release. 2020-08-17 17:29:19 +05:30
Akshay Joshi 099fea15ae Fixed code smells in runtime code reported by SonarQube. 2020-07-29 18:26:41 +05:30
Akshay Joshi 510dd5c047 1) Fixed pgAdmin hang issue when the user clicks on 'View Log' menu option.
2) Fixed some code smell in runtime code.
2020-07-29 15:31:38 +05:30
Dave Page 5820b9521e Make sure the version check is compatible with older versions of Qt 2020-07-29 09:36:27 +01:00
Dave Page 46ba0310fa Make the runtime configuration dialog non-modal. Fixes #5490
Major refactoring of the runtime code, Specifically:
  - Move the bulk of the core code from main() into a new Runtime class.
  - Break up the mass of code that was main() into a number of relatively simple functions.
  - Make the Configuration dialog synchronous so the Log dialog can be properly viewed.
  - Enable/disable menu options at the right time.
  - Remove support for Qt < 5.0.
  - Remove the application name constant and hardcode the name to simplify the code.
  - Improve log messages.
  - Replace the sdbm hashing with Qt's MD5 hashing.
2020-07-28 16:13:05 +05:30
Akshay Joshi c0e30c93e5 Update version for release. 2020-07-20 16:18:36 +05:30
Dave Page 13d2f9131d Replace the runtime themes with ones that don't have sizing issues. Fixes #5554 2020-07-17 15:31:04 +05:30
Dave Page e6edf40048 Refactor server request code by removing some duplicated code in the runtime and improves some of the debug logs. 2020-07-11 16:59:26 +05:30
Dave Page dd38fed6e0 Use ISO8601 date format in the runtime startup log. 2020-07-11 16:47:36 +05:30
Dave Page 5ac656c638 Refactor config loading/saving for the runtime config dialog to avoid code duplication. 2020-07-11 16:41:31 +05:30
Dave Page 6855ac1d5e Use QStandardPaths::AppLocalDataLocation in the runtime to determine where to store runtime logs. Fixes #5414 2020-07-11 16:32:08 +05:30
Dave Page e0fa4a6cb2 Fix typo. Fixes #5517 2020-07-02 09:32:31 +01:00
Akshay Joshi 18b3cc2683 Initialize pointer variables with Q_NULLPTR. 2020-06-23 14:23:28 +05:30
Akshay Joshi c2268c82ee Update version for release. 2020-06-22 17:42:46 +05:30
Akshay Joshi cf64e2c97c Fixed runtime issues reported by SonarQube. 2020-06-16 14:53:40 +05:30
Akshay Joshi a23fad0ba8 Tidy up some code to keep SonarQube happy. 2020-06-15 12:12:19 +01:00
Dave Page 9468c16233 Update hint test to use a modern Python version. 2020-05-27 11:36:03 +01:00
Akshay Joshi 1347c89d61 Update version for release. 2020-05-25 17:11:12 +05:30
Akshay Joshi 8a06a836f4 Ensure that pgAdmin4 should be compiled with older OSX SDK's. 2020-05-12 17:22:22 +05:30
Dave Page 46d186a49f Show the startup log as well as the server log in the runtime's log viewer. Fixes #5489 2020-05-07 11:01:02 +01:00
Dave Page 7164c677de UI layout tweaks. 2020-05-07 10:39:28 +01:00
Dave Page 94bd1f1680 Cleanup Python detection in the runtime project file. Fixes #5444 2020-05-04 10:20:51 +01:00
Dave Page 109051e1d5 Remove Python 2 support from the desktop runtime
refs #5443
2020-04-30 13:04:09 +05:30
Dave Page e8a4b46ba1 Another attempt at fixing the 'do we need the --embed flag for Python' problem.
This change looks at the output from python-config --help (which may go
to stderr or stdout), and if it includes --embed, adds it to the later
call to get the libs string.
2020-04-29 16:19:54 +01:00
Dave Page 97be3d8179 Don't rely on python-config sending the help message to stderr, as older versions seem to use stdout. 2020-04-29 15:49:16 +01:00
Dave Page 505956d1fa OK, another attempt at this as it fails on non-Linux non-Python 3.8. 2020-04-29 14:29:47 +01:00
Dave Page f7ef86dced Sigh. Remove extraneous closing bracket. It's always a bracket. 2020-04-29 14:04:32 +01:00
Dave Page 3138f36e05 Fix the runtime build with Python 3.8 on Linux 2020-04-29 13:55:53 +01:00
Akshay Joshi 50a423b142 Update version for release. 2020-04-27 21:23:51 +05:30
Dave Page d5bfc726c0 Ignore the pre-compiled resources. 2020-04-24 14:56:46 +01:00
Neel Patel ee29e64039 Fixed Mac OSX build by adding the prefix in qrc file. 2020-04-14 20:23:32 +05:30
Dave Page 41be5479af Added dark mode support for the configuration dialog on Windows/macOS runtime. Fixes #4292
Detects dark mode at server start and styles the runtime accordingly.

Patch modified by: Neel Patel
2020-04-13 13:22:00 +05:30
Neel Patel 9c93e93cb4 Make the configuration window in runtime to auto-resize. Fixes #4864 2020-04-13 13:09:26 +05:30
Dave Page 4da327088c Added an option to prevent a browser tab being opened at startup. Fixes #5353 2020-04-03 19:43:00 +05:30
Dave Page e26a9a25d5 Fixed compilation warnings while building pgAdmin. Fixes #5351 2020-04-03 19:23:32 +05:30
Akshay Joshi 002fdb33fc Update version for release. 2020-03-30 17:39:33 +05:30
Akshay Joshi 43451fd3f0 Update version for release. 2020-03-02 17:28:20 +05:30
Akshay Joshi 1f0728b7d1 Update version for release. 2020-02-03 17:13:05 +05:30
Akshay Joshi 195e9663da Update version for release. 2020-01-06 17:55:41 +05:30
Dave Page 01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
Dave Page 8cb239abcb Rename some internal environment variables that could conflict with Kubernetes. Fixes #4999. 2019-12-13 10:42:43 +05:30
Akshay Joshi 4a87b1387a Update version for release. 2019-12-09 18:05:09 +05:30
Akshay Joshi 8a03c42bd4 Update version for release. 2019-11-12 08:20:43 +05:30
Akshay Joshi d7b1e2cd9c Update version for release. 2019-10-15 14:27:56 +05:30
Akshay Joshi e64d6edc73 Update version for release. 2019-09-17 11:06:58 +05:30
Akshay Joshi 5c8aefc01e Update version for release 2019-08-20 10:26:49 +05:30
Akshay Joshi b4d9fea83d Update version for release 2019-07-23 10:40:51 +05:30
Akshay Joshi 252429df50 Update version for release 2019-06-28 09:40:31 -04:00
Akshay Joshi 173acd46a5 Update version for release 2019-06-25 01:44:21 +05:30
Akshay Joshi 969a2961fe Update version for release. 2019-06-01 14:19:28 +05:30
Akshay Joshi 8851cb0704 Update version for release 2019-05-28 12:09:33 +05:30
Akshay Joshi 991fe3d797 Update version for release. 2019-04-30 10:49:49 +05:30
Akshay Joshi ceb0e39e14 Update version for release 2019-04-08 18:31:51 +05:30
Akshay Joshi 7f23f729c6 Update version for release. 2019-04-01 15:19:25 +05:30
Akshay Joshi 28555b387f Update version for release 2019-03-04 17:35:55 +05:30
Akshay Joshi 9a758f8fd3 Update version for release. 2019-02-04 18:04:33 +05:30
Dave Page 08cf2c8310 Ensure we set the fixed port options properly when configuring following an error. 2019-01-23 12:12:16 +00:00
Akshay Joshi 8b135f2932 Update message catalog and version for release. 2019-01-11 23:34:24 +05:30
Aditya Toshniwal d361e604c1 Further style tweaks. 2019-01-07 16:03:54 +05:30
Dave Page d6778aa915 Bump version prior to 4.0 2019-01-04 10:53:10 +00:00
Aditya Toshniwal 6e5b54eb1a Increase default startup timeout and give progressive messages when things are slow. 2019-01-02 11:57:33 +00:00
Murtuza Zabuawala e23d307c56 Update copyright notices for 2019 2019-01-02 15:54:12 +05:30
Dave Page 3448465e82 Defione Q_NULLPTR for Qt 4. 2018-12-06 11:08:17 +00:00
Dave Page 72a2db53c3 Use Q_NULLPTR instead of nullptr as some of our older build machines don't support C++ 11. 2018-12-06 10:40:49 +00:00
Dave Page 5cfe0ef115 Use C++ style casts. 2018-12-06 10:36:57 +00:00
Dave Page 312bcbc83f Use nullptr instead of NULL or 0. 2018-12-06 10:30:07 +00:00
Dave Page 566ff7b609 Use nullptr instead of NULL or 0. 2018-12-06 10:24:52 +00:00
Dave Page 45cd17af84 Use nullptr instead of NULL or 0. 2018-12-06 10:17:47 +00:00
Dave Page f2773354c8 Remove blank messages from the Qt project file as they don't work on newer versions of QMake and aren't needed anyway. 2018-12-06 09:50:21 +00:00
Akshay Joshi 527e084ef7 Bump version number for release 2018-11-26 15:35:26 +05:30
Akshay Joshi d97431cb4f Bump version number for release. 2018-10-29 22:29:07 +05:30
Dave Page c092495b7a Bump version number for release. 2018-10-01 10:25:19 +01:00
Akshay Joshi 6a46e43567 Ensure the runtime can startup properly if there are wide characters in the logfile path on Windows. Fixes #3464 2018-09-18 15:08:31 +01:00
Akshay Joshi 003889f15e Added null checks and some more startup logs for runtime 2018-09-17 15:16:48 +05:30
Akshay Joshi 026969e3d1 Add a startup logger to the runtime to aid with debugging. 2018-09-14 14:41:52 +01:00
Dave Page 61f00a0cbb Update versions for 3.3. 2018-09-03 10:11:34 +01:00
Akshay Joshi 7479467a54 Update version and message catalog for release. 2018-08-06 16:15:11 +05:30
Dave Page cb9fffc7de Remove comment that's not really needed any more. 2018-07-20 16:56:03 +01:00
Dave Page a86604160a Allow the user to specify a fixed port number in the runtime to aid cookie whitelisting etc. Fixes #3506 2018-07-19 12:54:53 +01:00
Dave Page 2ce41e77f2 Add a menu option to the runtime to copy the appserver URL to the clipboard. Fixes #3510 2018-07-19 11:32:40 +01:00
Akshay Joshi 7f7feee8c1 Added keyboard shortcut for 'pgAdmin4' menu. 2018-07-17 18:52:06 +05:30
Dave Page a49923dba2 Add hints for the config options. 2018-07-17 12:18:37 +01:00
Akshay Joshi 765a88addf Support running on systems without a system tray. Fixes #3316 2018-07-17 12:10:35 +01:00
Dave Page 0c6e80f64d Improve sizing on Linux 2018-07-11 13:31:19 +01:00
Dave Page f04b2e33b5 Prep for 3.1 release. 2018-06-26 11:13:46 +01:00
Anthony DeBarros a6ee27cf25 s/shutdown/shut down/ 2018-06-08 08:45:02 +01:00
Akshay Joshi 5f0799714d Cleanup Python 3 server startup code. Fixes #3277 2018-05-31 10:07:08 -04:00
Akshay Joshi 252a9b265b Ensure server cleanup on exit only happens if the server actually started up. Fixes #3277 2018-05-11 09:33:09 +01:00
Dave Page c68848e7f3 Ensure the runtime core application is setup before trying to access any settings. Fixes #3333 2018-05-08 09:54:33 +01:00
Dave Page 4f79f00d61 One day I'll remember to update the version everywhere... 2018-05-04 14:13:57 +01:00
Dave Page 92ba055d66 Fix compiler warning. 2018-04-27 13:27:37 +01:00
Akshay Joshi 8232f26882 Avoid a crash in the runtime if there are spaces in the users username. Fixes #3227 2018-04-11 13:34:21 +01:00
Rahul Soshte e467ffcfe4 Add a couple of files for git to ignore. 2018-04-11 09:58:44 +01:00
Dave Page 9464e04cf8 Ignore generated file 2018-04-09 16:31:29 +01:00
Dave Page 60c44e8f79 Fix issue seen with older versions of GCC. 2018-03-21 14:49:39 +00:00
Dave Page 80b29a85cc Secure runtime temp files. 2018-03-21 11:27:59 +00:00
Maxim Zakharov 54b1a79cb6 Sporadically crashes on Windows when exit. Fixes #3177
1) Shutdown the python server properly.
  2) Disabled "Shutdown server" menu till server is not successfully started.

Initial patch sent by Maxim, modified by Akshay Joshi.
2018-03-15 13:26:24 +05:30
Dave Page 8a56eb9cd0 Fix stupid thinko 2018-02-19 17:06:01 +00:00
Dave Page df667bff53 Python 3 fix for the runtime. 2018-02-19 16:30:43 +00:00
Dave Page 2706d9cd8e Bump the version to 3.0, per discussion on the mailing lists 2018-02-05 15:38:20 +00:00
Dave Page 7192a2b675 Rewrite the runtime as a tray-based server which can launch a web browser. Fixes #3086 2018-02-05 15:32:14 +00:00
Dave Page 89821c0d19 Update copyright notices for 2018. 2018-01-05 10:42:50 +00:00
Neel Patel 90f5af8902 Avoid a potential crash when downloading. Fixes #2964 2017-12-19 12:20:01 +00:00
Dave Page 005abab7c4 Runtime version update 2017-12-18 11:13:28 +00:00
Neel Patel 8cc1a007b5 Ensure we can download large files and keep the user informed about progress. Fixes #2829. Fixes #2491. Fixes #2715 2017-11-20 14:43:34 +00:00
Neel Patel 96df3147d6 Check and attempt to fir the registry on Windows, if the text/css type is misconfigured. Fixes #2716 2017-11-15 16:33:24 +00:00
Neel Patel 8a4b2ea953 Confirm with the user before exiting the runtime. Fixes #2443 2017-11-07 20:10:55 -05:00
Dave Page f195b18f2d Ship with pre-configured paths that can work in both Server and Desktop modes out of the box. Fixes #2662
Ship the web code using server mode with appropriate paths by default and enable the runtime to override the mode, and force into desktop changing the appropriate paths to user-specific ones.

Note that this change will likely cause more advanced users to have to tweak configs.

RPMs will also need changes to create /var/lib/pgadmin and /var/log/pgadmin, owned by the webserver account.
2017-08-25 10:54:28 +01:00
Dave Page fb9eee47bd Bump the version number for 2.0. Let's get testing started ASAP! 2017-08-25 10:18:42 +01:00
Neel Patel deb5475b98 On certain linux operating systems, Qt application exits with an error
message such as 'X Error: BadDrawable'.

In order to resolve the issue, we need to let the Qt know not to load
the MIT-SHM extension.

Reference:
https://iwf1.com/quick-fix-one-kdes-common-xorg-errors-x-error-baddrawable/
2017-08-09 16:52:43 +05:30
Dave Page d04ac7656a Remove change made for debugging and committed in error. 2017-07-17 15:19:30 +01:00
Khushboo Vashi c546182789 Modify the runtime to use time-based timeouts rather than retry based. Fixes #2556
This allows for slow vs. fast connection failures (e.g. an active rejection vs. no response).
2017-07-17 15:17:58 +01:00
Neel Patel dc6a1936f5 Tidy up tab styling. Fixes #2557 2017-07-17 10:58:17 +01:00
Neel Patel dcc74af87b Stop tool buttons from changing their styling unexpectedly. Fixes #2559 2017-07-17 10:45:16 +01:00
Neel Patel 1fe0d51925 Prevent the tab bar being hidden when detached tabs are being closed. Fixes #2558 2017-07-17 10:14:40 +01:00
Mammoth Power de06e63334 Fix a compiler error with older compilers. 2017-07-11 17:22:20 +01:00
Dave Page 374bf79911 Fix proxy support with Qt 5.9+ 2017-07-11 11:48:13 +01:00
Neel Patel c93aa3810d Fix a compiler error with older compilers. 2017-07-11 09:14:53 +01:00
Dave Page ea5dfe23a0 Bump version numbers prior to release. 2017-07-10 14:56:20 +01:00
Neel Patel a21dad4c45 Fix runtime support under Qt4 2017-06-16 11:26:31 +01:00
Neel Patel 0056a94115 Add support for detachable tabs to the runtime.
This allows the Query Tool, Debugger and web browser tabs to be moved to different monitors as desired.

Fixes #1344
2017-06-16 09:57:19 +01:00
Khushboo Vashi 3a5fda44e4 Add a shortcut (Ctrl/Cmd + 0 (zero)) to the runtime to allow the zoom level to be reset. Fixes #2485 2017-06-13 10:21:51 +01:00
Dave Page dea850b503 Tune startup retry loop - try 50 times, with a 100ms pause between each attempt. 2017-06-11 14:38:22 +01:00
Dave Page ef4b8e8c1c Another minor perf tweak for the runtime. 2017-06-11 14:34:49 +01:00
Dave Page f0d287588a Couple of minor performance tweaks. Tests on my Windows VM show a consistent 30% startup time reduction. 2017-06-11 13:56:49 +01:00
Neel Patel 6e24cb038a Ensure the runtime works correctly if a Windows user has a proxy server enabled. 2017-05-30 13:17:07 +01:00
Dave Page f0e78309cb Bump version in preparation for release. 2017-05-15 12:25:28 +01:00
Neel Patel 07b06348ab While building runtime with QtWebEngine, we found 2 compilation errors which were introduced in a previous commit in runtime:
We set "setNetworkAccessManager" in WebEnginePage which was only required for Webkit so removed that statement.
"triggerAction" on WebPage is only required for Qt > 5 with WebKit only. Not required for WebEngine so added that condition.
2017-05-15 11:29:14 +01:00
Neel Patel 3ed00d3be7 1) Fixed compilation issue with QT4.
2) Make trigger action 'RequestClose' backword compatible with annulen webkit.
2017-05-10 13:34:39 +05:30
Neel Patel d0e9c82fea Fixes #2328
1) Fixed issue of opening Query Tool and Debugger in new Tab with QT 5.8 and annulen webkit
 2) Moved unload event of window from javascript files to html.
 3) Change alertify messages for debugger.
 4) Closed all connections created by debugger. Previously only one connection has been closed.
2017-05-09 13:03:44 +05:30
Dave Page 0c435154ac Adjust windows resources so they work consistently. 2017-04-10 15:15:15 +01:00
Dave Page 665ec46052 Fix application icon in mingw builds. 2017-04-10 14:29:53 +01:00
Dave Page fdf292964b Bump version numbers for release. 2017-04-10 14:24:46 +01:00
Dave Page ee17c77093 Ignore some MinGW related build files. 2017-04-03 20:59:42 +01:00
Dave Page e7cee870a7 Mingw32 compatibility fixes 2017-04-03 12:58:08 +01:00
Maxim Zakharov 4e16345257 Add support for proxies in the runtime. Fixes #2301 2017-03-29 12:17:16 -04:00
Dave Page 87bbb5ef2c Revert to the old, arguably broken code for QT4 port selection, as QT4 doesn't support TCP socket binding as QT5 does. 2017-03-29 11:33:55 -04:00
Dave Page 44ce8985e0 Fix typo in variable name. 2017-03-28 08:55:38 -04:00
Dave Page 688c810300 Add header that seems to be needed with Python 3. 2017-03-28 08:41:38 -04:00
Maxim Zakharov 72548a99e1 Fix usage of QString::toUtf8(). Fixes #2299
Desktop runtime has a couple bugs using already freed memory supplied to embedded python leading to occasional crashes and failures to start maintenance processes (VACUUM, ANALYZE, REINDEX, CLUSTER).

This is caused by incorrect usage of QString::toUtf8() which returns newly created QByteArray which is automatically destroyed once closing context; e.g.
Py_SetPythonHome(pythonHome.toUtf8().data());
2017-03-28 08:26:16 -04:00
Dave Page ea6d97c49d Add a couple of headers that Qt 5.8 seems to be more picky about, and fix the free port check to use TCP not UDP 2017-03-26 21:02:15 -04:00
Ashesh Vashi 7767c085c3 Resolved an issue finding the python interpreter on *nix systems, and
Windows 2008 R2 (32 bit), while running the pgAdmin 4 as runtime for
the PostgreSQL one click installers.

- Found a typo in runtime code, we were appending the path using ';' on
  *nix systems too. We should have used ':', and that did not allow the
  os.environ['PATH'] to identify the correct path of the python
  interpreter under the 'venv' directory.

- On Windows 2008, it was not honouring the environment variables, set
  under the Qt application (e.g. pgAdmin4.exe runtime), in the python
  application. (e.g. pgAdmin4.py). We will need to assume that - the
  python interpreter resides under the 'venv' directory outside the
  'bin' directory.

- Also, on windows 2008, it was setting PYTHONHOME environment variable
  to the full path of the pgAdmin4.exe, we need to reset it to 'venv'
  directory, if we find the python interpreter under it.

Thanks Murtuza Zabuawala for tips, and help.
2017-03-10 21:19:06 +05:30
Dave Page 063177155e Bump version prior to release. 2017-03-06 15:35:08 +00:00
Dave Page 6696b3c316 Authenticate the runtime to the server. Fixes #2228 2017-03-06 14:53:49 +00:00
Dave Page 5a7a82b4e9 Simplify runtime startup polling, and increase retries to 30.
Ensure the splash screen is hidden before showing errors.
2017-02-27 10:49:47 +00:00
Dave Page 2ebd256307 Fix startup complete tests to ensure we properly poll the server for completed startup. Fixes #2192 2017-02-26 11:52:42 +00:00
Dave Page d9ddd64a8b Qt 5.8 seems to generate an additional header we should ignore. 2017-02-16 11:27:14 +00:00
Dave Page 40f2520fa6 Add comment to note command line qmake usage. 2017-02-13 12:08:36 +00:00
Dave Page 88aac7a4c9 Update the runtime build to allow users to force building with QtWebKit in Qt5, instead of QtWebEngine. 2017-02-13 11:44:53 +00:00