pgadmin4 icon indicating copy to clipboard operation
pgadmin4 copied to clipboard

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

Open sudeep-quantelai opened this issue 2 years ago • 12 comments

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 = "[email protected]" 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 = "<KRB5_KEYTAB_FILE>" 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 = "<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 = "<Search-Base-DN>" LDAP_SEARCH_FILTER = "(objectclass=*)" LDAP_SEARCH_SCOPE = "SUBTREE" LDAP_SERVER_URI = "ldap://:" LDAP_USERNAME_ATTRIBUTE = "<User-id>" 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 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"

sudeep-quantelai avatar Dec 05 '22 18:12 sudeep-quantelai

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.

adityatoshniwal avatar Dec 06 '22 04:12 adityatoshniwal

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 .

sudeep-quantelai avatar Dec 06 '22 05:12 sudeep-quantelai

@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 avatar Dec 06 '22 05:12 adityatoshniwal

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

adityatoshniwal avatar Dec 06 '22 05:12 adityatoshniwal

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 avatar Dec 06 '22 06:12 sudeep-quantelai

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: @.***>

sudeep-quantelai avatar Dec 06 '22 06:12 sudeep-quantelai

@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.

adityatoshniwal avatar Dec 06 '22 07:12 adityatoshniwal

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

sudeep-quantelai avatar Dec 06 '22 07:12 sudeep-quantelai

@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?

adityatoshniwal avatar Dec 06 '22 08:12 adityatoshniwal

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

anilsahoo20 avatar Apr 30 '24 08:04 anilsahoo20

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

pravesh-sharma avatar Jul 03 '24 08:07 pravesh-sharma

I have raised the issue with Electron.

Update:

I have raised a new issue.

pravesh-sharma avatar Jul 10 '24 06:07 pravesh-sharma