Hi Nilesh, Andreas et al. We spoke about this in the Debian med videoconference. In summary, Nilesh noted he will likely be able to downgrade node-sockjs-client to 1.5.2. Upgrading r-cran-shiny is currently blocked by r-cran-bslib which can't be updated until a font issue is sorted.
I think it would still be fair to proceed with the shiny-server package because the end user can easily update shiny in R by running update.packages(), if they are not already on the latest shiny. I have made some of the changes in my previous email to the node-shiny-server git, could I be granted access to the science team salsa, so I can push them for your review? My username is ericeb (I currently only have access to the R package team). Thanks for considering, Eric On Sat, Apr 2, 2022 at 1:28 PM Eric Brown <[email protected]> wrote: > > Hi Nilesh et al., > > (Sorry Nilesh for the duplicate emails, I sent some to you alone > accidentally). > > Good news, I finally figured it out. It's an issue with the updated > version of node-sockjs-client (1.6.0). The 1.5.2 version that upstream > uses seems to work. > > So to summarize, after installing these are the changes made to get > shiny-server working: > > sudo apt install node-sockjs-client > sudo mkdir /usr/lib/shiny-server/node_modules > sudo ln -s /usr/share/nodejs/sockjs-client/ > /usr/lib/shiny-server/node_modules/ > sudo ln -s /usr/share/nodejs/shiny-server-client/ > /usr/lib/shiny-server/node_modules/ > sudo cp /usr/lib/shiny-server/node_modules/sockjs-client/dist/sockjs.min.js > /usr/lib/shiny-server/node_modules/sockjs-client/dist/sockjs.min.js.backup > sudo curl > https://raw.githubusercontent.com/jcheng5/sockjs-client/main/dist/sockjs.min.js > -o /usr/lib/shiny-server/node_modules/sockjs-client/dist/sockjs.min.js > > However, note that one of my apps did not work properly until I > updated the R package shiny in R (to 1.7.1) which is newer than the > current debian package (1.5), so we should likely update r-cran-shiny > when shiny-server gets uploaded. > > And to use the examples: > > sudo mkdir /srv/shiny-server > sudo ln -s -r /usr/lib/shiny-server/samples/* /srv/shiny-server > > And to enable logging: > > The shiny-server.service file is missing the instruction to log. > Compare the line [1] in our version vs. [2] in version included in the > upstream repo. When [1] is replaced with [3] and the file > /var/log/shiny-server.log is created, logging works properly. Probably > we can replace shiny-server.service with the upstream version > (https://github.com/rstudio/shiny-server/blob/master/config/systemd/shiny-server.service). > > [1] ExecStart=/usr/bin/shiny-server > [2] ExecStart=/usr/bin/env bash -c 'exec > /opt/shiny-server/bin/shiny-server >> /var/log/shiny-server.log 2>&1' > > [3] ExecStart=/usr/bin/env bash -c 'exec > /usr/lib/shiny-server/bin/shiny-server >> /var/log/shiny-server.log > 2>&1' > > Then, as far as I can see, it's all working! > > > A number of node-sockjs-client's dependencies were updated between > 1.5.2 and current 1.6.0 so the underlying issue may be an out of date > dependency, or some other change that upstream shiny-server has not > yet adjusted to. Is there a workaround for this, e.g. to ship the > 1.5.2 sockjs.js and sockjs.min.js files along with shiny-server as a > patch, until upstream adopts 1.6.0? > > Best, > Eric > > On Wed, Mar 30, 2022 at 5:14 AM Nilesh Patra <[email protected]> wrote: > > > > Hi Eric, > > > > On Sun, Mar 27, 2022 at 06:18:49PM +0530, Nilesh Patra wrote: > > > > > 3. update outdated node-shiny-server-client to latest upstream > > > > > > > > Seems a wise thing to do. > > > > > > I have done so. > > > > > > @Eric, if you can try with the newer versions of these packages to check > > > if your > > > second app looks better, that'd be much appreciated. > > > If it is, then rest stuff should be relatively easy to fix. > > > > Did you get a chance to test it with updated versions of the packages? > > I was planning to proceed to finalise this package according to the > > feedback. > > > > Let me know. > > > > Regards, > > Nilesh > > > > -- > Eric Brown MD MSc FRCPC > For encryption, OpenPGP public key available on request. -- Eric Brown MD MSc FRCPC For encryption, OpenPGP public key available on request.

