pgadmin-org / pgadmin4

pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
https://www.pgadmin.org
Other
2.37k stars 625 forks source link

File open dialog does not show files if there is no dot extension #5610

Open sudeep-quantelai opened 1 year ago

sudeep-quantelai commented 1 year ago

Just upgraded to Ubuntu 22.04.1 LTS and pgadmin v6.17. When I click on the file open dialog files don't show up even if the 'All files' option is chosen. The only files that show up are the ones that have any kind of a dot followed by an extension. My files dont have an extension (Which is another pet peeve - Why cant pgadmin save files with a default .SQL extension like it used to). So any files without a dot extension will not be shown.

Steps to reproduce the behavior:

  1. Create a couple of files with no extension
  2. Clock on the Open File icon
  3. Only files with an extension is shown. Files with no extension are not shown.

pgadmin settings

ALLOW_SAVE_PASSWORD = True ALLOW_SAVE_TUNNEL_PASSWORD = False APP_COPYRIGHT = "Copyright (C) 2013 - 2022, The pgAdmin Development Team" APP_ICON = "pg-icon" APP_NAME = "pgAdmin 4" APP_RELEASE = 6 APP_REVISION = 17 APP_SUFFIX = "" APP_VERSION = "6.17" APP_VERSION_EXTN = ('.css', '.js', '.html', '.svg', '.png', '.gif', '.ico') APP_VERSION_INT = 61700 APP_VERSION_PARAM = "ver" AUTHENTICATION_SOURCES = ['internal'] AUTO_DISCOVER_SERVERS = True AZURE_CREDENTIAL_CACHE_DIR = "/home/sidamin/.pgadmin/azurecredentialcache" CA_FILE = "/usr/pgadmin4/web/cacert.pem" CHECK_EMAIL_DELIVERABILITY = False CHECK_SESSION_FILES_INTERVAL = 24 CHECK_SUPPORTED_BROWSER = True COMPRESS_LEVEL = 9 COMPRESS_MIMETYPES = ['text/html', 'text/css', 'text/xml', 'application/json', 'application/javascript'] COMPRESS_MIN_SIZE = 500 CONFIG_DATABASE_URI = "" CONSOLE_LOG_FORMAT = "%(asctime)s: %(levelname)s %(name)s: %(message)s" CONSOLE_LOG_LEVEL = 30 CONTENT_SECURITY_POLICY = "default-src ws: http: data: blob: 'unsafe-inline' 'unsafe-eval';" COOKIE_DEFAULT_DOMAIN = None COOKIE_DEFAULT_PATH = "/" DATA_DIR = "/home/sidamin/.pgadmin" DEBUG = False DEFAULT_BINARY_PATHS = {'pg': '/usr/bin', 'ppas': ''} DEFAULT_SERVER = "127.0.0.1" DEFAULT_SERVER_PORT = 5050 DESKTOP_USER = "pgadmin4@pgadmin.org" EFFECTIVE_SERVER_PORT = 45467 ENABLE_BINARY_PATH_BROWSING = False ENABLE_PSQL = True ENHANCED_COOKIE_PROTECTION = True FILE_LOG_FORMAT = "%(asctime)s: %(levelname)s %(name)s: %(message)s" FILE_LOG_LEVEL = 30 HELP_PATH = "../../../share/docs/en_US/html/" IS_WIN = False KERBEROS_CCACHE_DIR = "/home/sidamin/.pgadmin/krbccache" KRB_APP_HOST_NAME = "127.0.0.1" KRB_AUTO_CREATE_USER = True KRB_KTNAME = "" LANGUAGES = {'en': 'English', 'zh': 'Chinese (Simplified)', 'cs': 'Czech', 'fr': 'French', 'de': 'German', 'it': 'Italian', 'ja': 'Japanese', 'ko': 'Korean', 'pl': 'Polish', 'pt_BR': 'Portuguese (Brazilian)', 'ru': 'Russian', 'es': 'Spanish'} LDAP_ANONYMOUS_BIND = False LDAP_AUTO_CREATE_USER = True LDAP_BASE_DN = "" LDAP_BIND_FORMAT = "{LDAP_USERNAME_ATTRIBUTE}={LDAP_USERNAME},{LDAP_BASE_DN}" LDAP_BIND_USER = None LDAP_CA_CERT_FILE = "" LDAP_CERT_FILE = "" LDAP_CONNECTION_TIMEOUT = 10 LDAP_DN_CASE_SENSITIVE = False LDAP_KEY_FILE = "" LDAP_SEARCH_BASE_DN = "" LDAP_SEARCH_FILTER = "(objectclass=*)" LDAP_SEARCH_SCOPE = "SUBTREE" LDAP_SERVER_URI = "ldap://:" LDAP_USERNAME_ATTRIBUTE = "" LDAP_USE_STARTTLS = False LOGIN_ATTEMPT_FIELDS = ['password'] LOGIN_BANNER = "" LOG_FILE = "/home/sidamin/.pgadmin/pgadmin4.log" LOG_ROTATION_AGE = 1440 LOG_ROTATION_MAX_LOG_FILES = 90 LOG_ROTATION_SIZE = 10 MAIL_DEBUG = False MAIL_PORT = 25 MAIL_SERVER = "localhost" MAIL_USERNAME = "" MAIL_USE_SSL = False MAIL_USE_TLS = False MASTER_PASSWORD_REQUIRED = True MAX_LOGIN_ATTEMPTS = 3 MAX_QUERY_HIST_STORED = 20 MAX_SESSION_IDLE_TIME = 60 MFA_EMAIL_SUBJECT = None MFA_ENABLED = False MFA_FORCE_REGISTRATION = False MFA_SUPPORTED_METHODS = ['email', 'authenticator'] MODULE_BLACKLIST = ['test'] NODE_BLACKLIST = [] OAUTH2_AUTO_CREATE_USER = True OAUTH2_CONFIG = [{'OAUTH2_NAME': None, 'OAUTH2_DISPLAY_NAME': '', 'OAUTH2_CLIENT_ID': None, 'OAUTH2_CLIENT_SECRET': None, 'OAUTH2_TOKEN_URL': None, 'OAUTH2_AUTHORIZATION_URL': None, 'OAUTH2_API_BASE_URL': None, 'OAUTH2_USERINFO_ENDPOINT': None, 'OAUTH2_SCOPE': None, 'OAUTH2_USERNAME_CLAIM': None, 'OAUTH2_ICON': None, 'OAUTH2_BUTTON_COLOR': None}] ON_DEMAND_RECORD_COUNT = 1000 OVERRIDE_USER_INACTIVITY_TIMEOUT = True PG_DEFAULT_DRIVER = "psycopg2" PROXY_X_FOR_COUNT = 1 PROXY_X_HOST_COUNT = 0 PROXY_X_PORT_COUNT = 1 PROXY_X_PREFIX_COUNT = 0 PROXY_X_PROTO_COUNT = 1 SECURITY_EMAIL_SENDER = "no-reply@localhost" SECURITY_EMAIL_SUBJECT_PASSWORD_CHANGE_NOTICE = "Your password for pgAdmin 4 has been changed" SECURITY_EMAIL_SUBJECT_PASSWORD_NOTICE = "Your pgAdmin 4 password has been reset" SECURITY_EMAIL_SUBJECT_PASSWORD_RESET = "Password reset instructions for pgAdmin 4" SECURITY_EMAIL_VALIDATOR_ARGS = {'check_deliverability': False} SEND_FILE_MAX_AGE_DEFAULT = 31556952 SERVER_MODE = False SESSION_COOKIE_DOMAIN = None SESSION_COOKIE_HTTPONLY = True SESSION_COOKIE_NAME = "pga4_session" SESSION_COOKIE_SAMESITE = "Lax" SESSION_COOKIE_SECURE = False SESSION_DB_PATH = "/home/sidamin/.pgadmin/sessions" SESSION_EXPIRATION_TIME = 7 SESSION_SKIP_PATHS = ['/misc/ping'] SETTINGS_SCHEMA_VERSION = 34 SHOW_GRAVATAR_IMAGE = True SQLALCHEMY_TRACK_MODIFICATIONS = False SQLITE_PATH = "/home/sidamin/.pgadmin/pgadmin4.db" SQLITE_TIMEOUT = 500 STORAGE_DIR = "/home/sidamin/.pgadmin/storage" STRICT_TRANSPORT_SECURITY = "max-age=31536000; includeSubDomains" STRICT_TRANSPORT_SECURITY_ENABLED = False SUPPORT_SSH_TUNNEL = True TEST_SQLITE_PATH = "/home/sidamin/.pgadmin/test_pgadmin4.db" THREADED_MODE = True UPGRADE_CHECK_ENABLED = True UPGRADE_CHECK_KEY = "pgadmin4" UPGRADE_CHECK_URL = "https://www.pgadmin.org/versions.json" USER_INACTIVITY_TIMEOUT = 0 WEBSERVER_AUTO_CREATE_USER = True WEBSERVER_REMOTE_USER = "REMOTE_USER" WEB_SERVER = "Python" WTF_CSRF_HEADERS = ['X-pgA-CSRFToken'] X_CONTENT_TYPE_OPTIONS = "nosniff" X_FRAME_OPTIONS = "SAMEORIGIN" X_XSS_PROTECTION = "1; mode=block"

adityatoshniwal commented 1 year ago

Hi @sudeep-quantelai,

It looks you are using pgAdmin desktop. pgAdmin just opens the native file dialog of the OS. pgAdmin does not have any control on what is shown on the native file dialog. Can you confirm you're using pgAdmin desktop app, along with screenshot?

Thanks.

sudeep-quantelai commented 1 year ago

Yes, I am using pgadmin desktop but looks like All files uses a . filter. I am using Linux. There is no issue in the OS file browser. I can see all the files there. If I add a .SQL extension to all the files they show up. If a file does not have an extension it does not show up. Looks like pgadmin defines 'All files' as .

adityatoshniwal commented 1 year ago

@sudeep-quantelai The "All Files" option is added by OS. I tested on Ubuntu 22 and it works fine for me. Attached is the screenshot.

image
adityatoshniwal commented 1 year ago

@sudeep-quantelai This looks like an issue with your Ubuntu, may be try restarting it once. Closing the issue for now.

sudeep-quantelai commented 1 year ago

I tried starting Ubuntu and still the same behavior. Other applications also have an All Files function but they dont have this issue. I tried gedit and the All files there has no issue. pgadmin seems to have the issue. The All Files seems to have a *.* filter which means it expects a . in the file name.

See screenshots here. First folder with gedit. 3 files shown with All Files filter Screenshot from 2022-12-06 01-42-28

Same folder in pgadmin. Only filenames with extensions are shown. Screenshot from 2022-12-06 01-43-33

So not sure you should be closing this issue yet as this seems to be an issue isolated to pgadmin

sudeep-quantelai commented 1 year ago

Please see comment with screenshot in GitHub. This seems to be affecting pgadmin only and not other apps that use the same dialog.

On Tue, Dec 6, 2022 at 12:51 AM Aditya Toshniwal @.***> wrote:

Closed #5610 https://github.com/pgadmin-org/pgadmin4/issues/5610 as not planned.

— Reply to this email directly, view it on GitHub https://github.com/pgadmin-org/pgadmin4/issues/5610#event-7962621848, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANEO5SIPAET4ICY2EY2B5HLWL3H5FANCNFSM6AAAAAASUTGWHQ . You are receiving this because you were mentioned.Message ID: @.***>

adityatoshniwal commented 1 year ago

@sudeep-quantelai Can you try this solution - https://askubuntu.com/a/1003889? As I mentioned, pgAdmin does not add the All Files option. It is added by the OS. And I am not able to reproduce it.

sudeep-quantelai commented 1 year ago

I tried the workarounds suggested and still same behavior. I hear you about the dialog being from the OS but pgadmin has a hook into the OS to get the dialog. Here is the same folder from Firefox. No issues with Firefox either. pgadmin is the only app with this issue.

Screenshot from 2022-12-06 02-08-39

adityatoshniwal commented 1 year ago

@sudeep-quantelai That's strange. I tested pgAdmin on my Ubuntu 22 and file manager is working fine. I am reopening it for now. @FaharAbbasRizvi Can you please verify once?

anilsahoo20 commented 4 months ago

It is reproducible in Deb 12 with pgAdmin 4 v8.6 candidate build.

pravesh-sharma commented 1 month ago

Tested on the latest snapshot build and the issue is still reproducible. Tested on Ubuntu 22.04

pravesh-sharma commented 1 month ago

I have raised the issue with Electron.

Update:

I have raised a new issue.