Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tGLSk-002OzL-NH for pgadmin-hackers@arkaria.postgresql.org; Wed, 27 Nov 2024 17:04:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tGLSj-00H1DX-Dj for pgadmin-hackers@arkaria.postgresql.org; Wed, 27 Nov 2024 17:04:25 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tGLSj-00H1DP-51 for pgadmin-hackers@lists.postgresql.org; Wed, 27 Nov 2024 17:04:25 +0000 Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tGLSf-004MIs-Ua for pgadmin-hackers@postgresql.org; Wed, 27 Nov 2024 17:04:24 +0000 Received: by mail-lf1-x129.google.com with SMTP id 2adb3069b0e04-53ded167ae3so2532976e87.0 for ; Wed, 27 Nov 2024 09:04:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin.org; s=google; t=1732727061; x=1733331861; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=nlSoJlu+zKVg5b0vWZ667hKb07nULDKjwB224oyr2Vo=; b=BFlrsFU4aF/oIuvFRQKP2aNtnvwdFVd8z5oZP/gN6j7a0agz0DS87eOaCUSWG7eS7z 0HqGUAeLhoDJdLBWBC0YYANdsQNgx/VMzkZ4A/mWPEhLPmtLdeH4Kj8NerlM5IpUUy7q oq4WDJ8vy8H5fL23d7I7mZhUpmVr241rKViOuma1OzxfobfHoreNapJBOT+95wjJ65t/ PpUBMAo4e5CP0Rw8F4p4E8FsedsMV9Utwb3HgIY601v6c782ze/KwKtHK0kJntux8iKA IJSMak/bvDHaOrl21aojOzqZi+b/xygpQLSz38isiLPcvxMspqS5TOedAHuux27pPgMG tOBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732727061; x=1733331861; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nlSoJlu+zKVg5b0vWZ667hKb07nULDKjwB224oyr2Vo=; b=SxeyU3Wdj8r9pQe37H/PjZR1xvZr4lF9lJt530SdwXgTnxmlr9LZimv6WqVOUKXZkL 8Dj5iTc9h153dktEbMuGYrDrlu+Xzew7ewKoijtpSuKVNfqXYlrPI1tqUVE/BPVFm2hF rEe+9WYuxwcLN6O0QdJ+1FvSKlsuMpDSLezYjU5HSWzZhvloNdV9FG9kdLQw5zzyKg27 2flhJEBwG3oJm1Eo7JWYIoz6V8qPbf3eoJlcCkvIK8TYS5URVSbz9b2x0GPTPNx6zdaK pr2ejfK6vLUWjiM/MNOicEavmgNVy+6fmR89yNG32IHY8YjAADDXaIbLX+IjOe4YWm7P WSPA== X-Gm-Message-State: AOJu0YyA9oLxFc5NnzEXAGzFP0l0Wht9nob4h0FpAPVpqwrYOt4OhgwD R6zMsbXA6Q0aMLyCNRNl2u0hnT1GKTMtbbPaWOoFIkrbGxijcWdMPYrtCD7bSMyjMdy/87L8w+e u/77U6maRMcqXg0dZIyQIW/C8Ui6R4n8WkCsFeNWsz8H/wphwxw== X-Gm-Gg: ASbGnctEcjNydOO79J7bWLaSdxb5UKaoYUPIQjoYa+GqHgHAe8lVjy7Rr1X/g31umW6 7VAe71t5eGcZhsKYOnIzFmZOFk4XtAUAR X-Google-Smtp-Source: AGHT+IEY2SIKMiH0CGV2f9Bl8M5KB0YZZxCitJHHxnZJw2NWT+KC9K3CJNmvWUlHztoyRpYFm0at6zS4BgiicSD+QOU= X-Received: by 2002:a05:6512:398f:b0:53d:e077:deed with SMTP id 2adb3069b0e04-53df011220amr2167371e87.52.1732727060766; Wed, 27 Nov 2024 09:04:20 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Dave Page Date: Wed, 27 Nov 2024 17:04:09 +0000 Message-ID: Subject: Re: Require suggestions on feature #5766 To: Anil Sahoo Cc: pgadmin-hackers Content-Type: multipart/alternative; boundary="000000000000f342840627e7f4cc" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000f342840627e7f4cc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi! On Wed, 27 Nov 2024 at 07:58, Anil Sahoo wrote: > Hi Dave/Team, > > I am currently working on the auto-update feature of pgAdmin 4 desktop > application, #5766 . > > > As we are using Electron for shipping our desktop application, I have gon= e > through some possible ways we can implement the auto update of the app. > > I found 2 most popular ways, that are > > 1. *Use builtin electron=E2=80=99s autoUpdater* (Uses the Squirrel fra= mework & > Available for Mac, Windows) > 2. *Use electron-builder and electron-updater packages *(Available for > Mac, Windows and Linux systems) > > *Linux systems:* > > > - Builtin Electron=E2=80=99s autoUpdater support is not available. > - electron-builder and electron-updater can be used, but need to > change the whole build process. Also most apps like VS code, Chrome, e= tc > does not support auto-update of apps on linux systems. > > We should not try to auto-update on Linux, because we're using the platform native packaging and auto-updating will cause nasty problems with that. > *Mac systems:* > > - We can use the builtin Electron=E2=80=99s autoUpdater to add auto-up= date > feature to macOs systems, It is simple and easy to configure. We need = a > minor modification in our build process i.e. as we are supporting Inte= l and > Apple silicon chips, deployment url will have 2 zip files and each zip= file > will hold the build for arm64 and x86_64. > - electron-builder and electron-updater can be used. With this, we > have to change the whole build process. > > *Windows systems:* > > - We can use the builtin Electron=E2=80=99s autoUpdater to add auto-up= date > feature to windows systems, Here also we need to change our build proc= ess. > Electron=E2=80=99s docs recommend using electron-winstaller or electro= n forge to > create the installer and some extra changes are needed in the deployme= nt > server. > - electron-builder and electron-updater can be used. With this, we > have to change the whole build process. > > As Electron's builtin autoUpdater is easy to use so for now we can move > with the auto-update of the pgAdmin app on macOs systems as it requires > minimal changes. > That certainly sounds like the better option. A couple of questions: - What changes are required in the deployment server? We are very limited here, as we deploy through the postgresql.org infrastructure. - Whilst the docs (for Windows) recommend using electron-winstaller or electron forge, can you confirm one of them *must* be used? Our current installer is pretty standard in the way it works, so I'm curious to know if we would actually need to change technology for a specific reason. Thanks! --=20 Dave Page pgAdmin: https://www.pgadmin.org PostgreSQL: https://www.postgresql.org pgEdge: https://www.pgedge.com --000000000000f342840627e7f4cc Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi!

On Wed, 27 Nov 2024 at 07:58, Anil Sahoo <anil.sahoo@enterprisedb.com&g= t; wrote:

Hi Dave/Team,

I am currently working on the auto-up= date feature of pgAdmin 4 desktop application, #5766.


As we are using Electron= for shipping our desktop application, I have gone through some possible wa= ys we can implement the auto update of the app.

I found 2 most popular ways, that are

  1. Use builtin electron= =E2=80=99s autoUpdater (Uses the Squirrel framework & Available for= Mac, Windows)
  2. Use electron-builder= and electron-updater packages=C2=A0(Available for Mac, Windows and Lin= ux systems)

Linux systems:

  • Builtin Elec= tron=E2=80=99s autoUpdater support is not available.
  • electron-build= er and electron-updater can be used, but need to change the whole build pro= cess. Also most apps like VS code, Chrome, etc does not support auto-update= of apps on linux systems.=C2=A0
We should not try to auto-update on Linux, because we'r= e using the platform native packaging and auto-updating will cause nasty pr= oblems with that.
=C2=A0
<= div dir=3D"ltr">

Mac systems:

<= ul>
  • We can use the builtin Electron=E2=80=99s autoUpdater to add auto-update= feature to macOs systems, It is simple and easy to configure. We need a mi= nor modification in our build process i.e. as we are supporting Intel and A= pple silicon chips, deployment url will have 2 zip files and each zip file = will hold the build for arm64 and x86_64.
  • electron-builder a= nd electron-updater can be used. With this, we have to change the whole bui= ld process.=C2=A0
  • Windows systems:<= /p>

    • We can use the builtin Electron=E2=80=99s autoUpdater to add auto-up= date feature to windows systems, Here also we need to change our build proc= ess. Electron=E2=80=99s docs recommend using electron-winstaller or electro= n forge to create the installer and some extra changes are needed in the de= ployment server.
    • electron-builder and electron-updater can b= e used. With this, we have to change the whole build process.=C2=A0

    As Electron's builti= n autoUpdater is easy to use so for now we can move with the auto-update of= the pgAdmin app on macOs systems as it requires minimal changes.

    =

    That certainly sounds like the= better option. A couple of questions:

    - What chan= ges are required in the deployment server? We are very limited here, as we = deploy through the postgresql.org inf= rastructure.

    - Whilst the docs (for Windows) recom= mend using electron-winstaller or electron forge, can you confirm one of th= em *must* be used? Our current installer is pretty standard in the way it w= orks, so I'm curious to know if we would actually need to change techno= logy for a specific reason.

    Thanks!
    =C2= =A0
    --
    --000000000000f342840627e7f4cc--