MongoDB integration in phundament problem

Hi all,
I'm doing a private project with Phundament, and I need to integrate MongoDB in it. While I can succesfully use in local envroinment, the dockerized version say to me this:
PHP Fatal Error 'yii\base\ErrorException' with message 'Class 'MongoClient' not found'
In my Dockerfile I have:
RUN apt-get update && apt-get install -y libxslt-dev libxslt1.1 libssl-dev php5-mongo
RUN pecl install mongo && docker-php-ext-enable mongo
and if I do docker-compose up:
appfpm_1     | [24-Nov-2015 08:25:09] WARNING: [pool www] child 9 said into stderr: "2015-11-24 08:25:09 [<IP_ADDRESS>][-][78f4d96c3884bf0ba9e29d664d97679e][error][yii\base\ErrorException:1] exception 'yii\base\ErrorException' with message 'Class 'MongoClient' not found' in /app/vendor/olomedia/yii2-olodoc/components/OlodocHelpers.php:15"

Do you have yii2-mongodb installed in the dockerized version in composer.json and composer.lock?
You may need to build the Docker images again with make docker-build and also update your local installation (vendor is usually a host-volume in development) with make app-install.

I've trying what you told me, but the problem persist. I'm trying to find where the problem could be but with Docker is not easy as a local installation..

Looks like MongoClient is deprecated, see http://php.net/manual/de/class.mongoclient.php
I think this one gets installed http://php.net/manual/de/set.mongodb.php
I don't know from the top of my head how to install the old client. Are you using yii2-mongodb?

yes I'm using yii2-mongodb.
I'm sorry to not have seen the deprecation note, but if the library is not supported anymore, why local version of my app works and not the dockerized version?

Could you compare your phpinfo() dockerized vs. local outputs, especially the version of the PHP mongo-extension.
I haven't used mongo lately, so I am more guessing than really knowing what's the problem.

It's really strange.. I'm seeing that in the dockerized version the mongo extension is not loaded but that's really strange because the installation is completed  succesfully. At this point is clear that the problem is that the container can't find the extension, and to me is a big problem because I've tried to make it work :/

How did you check?
I added your lines for testing and was able to see mongo-db, at least with php -i | grep mongo on CLI.

I tried these lines in my Dockerfile:
RUN apt-get update && apt-get install -y libxslt-dev libxslt1.1 libssl-dev
RUN pecl install mongo
RUN docker-php-ext-enable mongo

Result via Yii2 debug panel:

I'm trying to remove the php5-mongo from apt and test again.
Yesterday I've checked with the Debug Bar inside the dockerized app.

Ah! So I think it's missing in the fpm container.
We're working on a setup with a combined fpm+cli image:
Here's the current version: https://hub.docker.com/r/phundament/php-one/
And this is the source: https://git.hrzg.de/phundament/docker-php-one
Could you try to depend on this image:
FROM phundament/php-one:5.6-fpm

And you need to build your CLI and FPM container then ... or use a docker-compose.yml like this*
appphp:
  # should be replaced with image, eg. <project_name>_appsrc
  build: .
  # host-volume for local development
  volumes:
    - '.:/app'
  links:
    - 'mongo:mongo'
    - 'mariadb:DB'

appnginx:
  image: phundament/nginx-one:1.9
  links:
    - 'appphp:PHPFPM'
  # host-volume for local development
  volumes:
    - '.:/app'
  ports:
    - '80'

mongo:
  image: mongo
  restart: always

(*) untested

I've tested your docker-compose version and I think it's the right way to solve this problem. Now I'm pretty sure that the container is generated with the Mongo driver installed, but now I've another problem: the container doesn't communicate between each others.
appphp:
  # should be replaced with image, eg. <project_name>_appsrc
  build: .
  # host-volume for local development
  volumes:
    - '.:/app'
  links:
    - 'mongodb:mongo'
    - 'mariadb:DB'

# The nginx server for serving static files directly
appnginx:
  image: phundament/nginx-one:1.9
  links:
    - 'appphp:PHPFPM'
  # host-volume for local development
  volumes:
    - '.:/app'
    #- 'build/nginx/run.sh:/root/run.sh'
  ports:
    - '80'
  environment:
    VIRTUAL_HOST: '~^dev\.myapp\.'

# Data Services
# -------------
mariadb:
  image: tutum/mariadb:10.1
  ports:
    - '3309:3306'
  environment:
    MARIADB_PASS: secretadmin

Check /etc/hosts inside the container.
Mongo should be available in the PHP by "virtual host" mongo, the alias of the link.

I'm trying to getting it works, now on docker-compose up docker say to me that:
appnginx_1   | 2015/11/26 08:15:01 [emerg] 7#7: host not found in upstream "phpfpm" in /etc/nginx/nginx.conf:53
appnginx_1   | nginx: [emerg] host not found in upstream "phpfpm" in /etc/nginx/nginx.conf:53

Do you have a link like below in your docker-compose.yml?
 links:
    - 'appphp:PHPFPM'

Can you post your docker-compose.yml and docker version?

# container to run one-off commands - a dockerized shell
appphp:
  # should be replaced with image, eg. <project_name>_appsrc
  build: .
  # host-volume for local development
  volumes:
    - '.:/app'
  links:
    - 'mongodb:MONGODB'
    - 'mariadb:DB'
  command: 'sh src/run.sh'

# The nginx server for serving static files directly
appnginx:
  image: phundament/nginx-one:1.9
  # host-volume for local development
  volumes_from:
    - 'pagesphp'
  links:
    - 'appphp:PHPFPM'
    #- 'build/nginx/run.sh:/root/run.sh'
  ports:
    - '80'
  environment:
    VIRTUAL_HOST: '~^dev\.myapp\.'

# Data Services
# -------------
mariadb:
  image: tutum/mariadb:10.1
  ports:
    - '3309:3306'
  environment:
    MARIADB_PASS: secretadmin
#  volumes:
#    - ./environment/mariadb/data:/var/lib/mysql

mongodb:
  image: mongo:latest
  volumes:
    - '.:/app'
  ports:
    - "27017:27017"
    - "28017:28017"
  command: 'mongod --rest --httpinterface --storageEngine wiredTiger'

You're missing a host-volumes for nginx:
appnginx:
  image: phundament/nginx-one:1.9
  volumes:
    - '.:/app'

I'm sorry I forgot to edit the post, I've added it after I've posted here. Still don't work.
Now I'm trying the Ambassador pattern to fix the "circular import" error between  appphp and appnginx

Which docker and docker-compose version do you use?

Sorry, my mind reject the first time you asked to me, here the version of docker and docker-compose:
$ docker -v
Docker version 1.9.1, build a34a1d5

$ docker-compose -v
docker-compose version: 1.5.1

I think that I've solved the problem right now, but not with the docker-compose.yml that you've posted here, but with the old one..
appfpm:
  image: phundament/php:5.6-fpm-4.4.1-dev
  # host-volume for local development
  volumes:
    - '.:/app'
  links:
    - 'mariadb:DB'
    - 'mongodb'
  command: bash -c "pecl install mongo && docker-php-ext-enable mongo && /bin/bash /root/run-phundament.sh"

look at "command:" where i've inserted the command to install the mongo driver for php, than in my .env
MONGO_HOST = ${MONGODB_1_PORT_27017_TCP_ADDR}
MONGO_PORT = ${MONGODB_1_PORT_27017_TCP_PORT}

just like Phundament do for MariaDB. Do you think that it is an elegant way to solve this problem?

It delayes your startup quite a bit.
A better solution would be to build a custom fpm image.
That's the reason why we decided to combine cli and fpm back in the one image again (php-one).
You could still try this (we did this with older projects), see also https://github.com/phundament/app/issues/187#issuecomment-159568668
Use FROM phundament/php-one:5.6-fpm in your Dockerfile or the latest tag 4.5.3, phundament/php-one should be compatible to phundament/php.
Use build: . instead of image for appcli and appfpm in docker-compose.yml
Add this to the Dockerfile:
RUN pecl install mongo && docker-php-ext-enable mongo

Could you give this a try, I am pretty sure it will work.

# Phundament 4 - Local Development Stack
# ======================================

# Application services
# --------------------

# container to run one-off commands - a dockerized shell
appcli:
  # should be replaced with image, eg. <project_name>_appsrc
  build: .
  # host-volume for local development
  volumes:
    - '.:/app'
  links:
    - 'appnginx:WEB'
    - 'mariadb:DB'
    - 'mongodb'
  command: 'sh src/run.sh'

# The php-fpm server for interpreting php code
appfpm:
  build: .
  # host-volume for local development
  volumes:
    - '.:/app'
  links:
    - 'mariadb:DB'
    - 'mongodb'
  command: bash -c "pecl install mongo && docker-php-ext-enable mongo && /bin/bash /root/run-phundament.sh"

# The nginx server for serving static files directly
appnginx:
  image: schmunk42/nginx:1.9
  links:
    - 'appfpm:PHPFPM'
    - 'mariadb:DB'
    - 'mongodb'
  # host-volume for local development
  volumes:
    - '.:/app'
    #- 'build/nginx/run.sh:/root/run.sh'
  ports:
    - '80'
  environment:
    VIRTUAL_HOST: '~^dev\.myapp\.'

# Build-container with CLI and source-code
appsrc:
  build: .
  command: 'tail -f /dev/null'
  # host-volume for local development
  volumes:
    - '.:/app'
    - '/home/sum/.ssh:/root/.ssh'

# Data Services
# -------------
mariadb:
  image: tutum/mariadb:10.1
  ports:
    - '3309:3306'
  environment:
    MARIADB_PASS: secretadmin
#  volumes:
#    - ./environment/mariadb/data:/var/lib/mysql

mongodb:
  image: mongo:latest
  volumes:
    - '.:/app'
  ports:
    - "27017:27017"
    - "28017:28017"
  command: 'mongod --rest --httpinterface --storageEngine wiredTiger'

rabbit_mng:
  image: rabbitmq:management
  volumes:
   - '.:/app'
  ports:
    - "15672:15672"
    - "25672:25672"
    - "5672:5672"
    - "4369:4369"

Dockerfile
FROM phundament/php-one:5.6-fpm-4.5.3

# Clean eventually orphaned files and remove installation source
RUN rm -rf /app/src /app/web /app-src && \
    mkdir -p /root/.ssh

ADD .ssh /root/.ssh
RUN ls -la /root/.ssh

# Prepare container
# /!\ Note: Please add your own API token to config.json
# Phundament comes with a public token for your convenince which may hit the GitHub rate limit
ADD ./build/container-files/ /

# install linux package and php ext
RUN apt-get update && apt-get install -y libxslt-dev libxslt1.1 libssl-dev
RUN pecl install mongo && docker-php-ext-enable mongo && docker-php-ext-install xsl sockets && docker-php-ext-configure bcmath && docker-php-ext-install bcmath

# Install application packages, if there are changes the composer files
ADD ./composer.lock ./composer.json /app/
RUN /usr/local/bin/composer install --prefer-dist --optimize-autoloader

# Add application code
ADD version /app/version
ADD .env-dist /app/.env
ADD yii Dockerfile docker-compose.yml /app/
ADD web /app/web
ADD src /app/src

# Create folder writable by the application (non-persistent data)
RUN mkdir -p /app/web/assets /app/runtime && \
    chmod 777 /app/web/assets /app/runtime

ERROR: Cannot start container 9228d3eacc01e0531cc52ab1a338081e513dcabf5de1d63f4e7dd365e3cea458: Cannot link to a non running container: /pages_appfpm_1 AS /pages_appnginx_1/pages_appfpm_1

Replace
  command: bash -c "pecl install mongo && docker-php-ext-enable mongo && /bin/bash /root/run-phundament.sh"

with
  command: bash -c "pecl install mongo && docker-php-ext-enable mongo && /bin/bash /root/run.sh"

in appfpm

It works also in this way! :) Should I consider this issue closed? How can I send you a virtual coffee to thank you?

You're welcome ;)


Enable access to remote's LAN

I want to be able to forward "local ip addresses" requests, such as <IP_ADDRESS> to the
outline server, so that I'm able to access the remote LAN. This is useful because enables me to access some services running on my server without having to expose ports to the public.
I've tried erasing everywhere on source where I found 192.168.x.x but it did not work.
Do you consider this a feature that could be implemented? I'm also happy if you point me in the direction of the source file I have to edit in able to achieve that. I'm using it on Linux with Electron.

Hi @thalst, we err on the side of safety by protecting server's private addresses. This is why even though you have enabled your client to proxy the 192.168.x.x block, the server is not allowing the requests to go through.
If you understand the security implications, you can rebuild your Outline server by modifying the target IP validator in outline-ss-server.

Hi @thalst, we err on the side of safety by protecting server's private addresses. This is why even though you have enabled your client to proxy the 192.168.x.x block, the server is not allowing the requests to go through.
If you understand the security implications, you can rebuild your Outline server by modifying the target IP validator in outline-ss-server.

Hi! Thanks for the answer. I'm actually using shadowsocks itself as the server. Should I modify it?
Thiago Santos	[v8cfu]
Graduando em Engenharia Elétrica---------------------------------------------------------------
Tel: +55 (31) 9 8962-9302	Universidade Federal de São João del-Rei
youtube icontwitter icon
tsantos.com.br
On January 20, 2021 at 19:42 GMT, alalamav<EMAIL_ADDRESS>wrote:
Hi @thalst, we err on the side of safety by protecting server's private addresses. This is why even though you have enabled your client to proxy the 192.168.x.x block, the server is not allowing the requests to go through.
If you understand the security implications, you can rebuild your Outline server by modifying the target IP validator in outline-ss-server.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi! Thanks for the answer. I'm actually using shadowsocks itself as the server. Should I modify it?
Thiago Santos	[v8cfu]
Graduando em Engenharia Elétrica---------------------------------------------------------------
Tel: +55 (31) 9 8962-9302	Universidade Federal de São João del-Rei
youtube icontwitter icon
tsantos.com.br
On January 20, 2021 at 19:42 GMT, alalamav<EMAIL_ADDRESS>wrote:
Hi @thalst, we err on the side of safety by protecting server's private addresses. This is why even though you have enabled your client to proxy the 192.168.x.x block, the server is not allowing the requests to go through.
If you understand the security implications, you can rebuild your Outline server by modifying the target IP validator in outline-ss-server.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I'm actually using shadowsocks itself as the server. Should I modify it?

Do you mean shadowsocks-libev? If I remember correctly, it allows inbound LAN proxying.
On the client side, make sure you recompile and re-install the linux routing service. Otherwise your change to enable proxying the 192.168.x.x block won't take effect.

I'm actually using shadowsocks itself as the server. Should I modify it?

Do you mean shadowsocks-libev? If I remember correctly, it allows inbound LAN proxying.
On the client side, make sure you recompile and re-install the linux routing service. Otherwise your change to enable proxying the 192.168.x.x block won't take effect.

Exactly. Shadowsocks-libev allows that. I've made it work with their client. Anyway, could you give me some instructions about the file which I have to modify before compiling, and how to re-install linux routing service?

I believe this is the file? If this doesn't work, Alberto can confirm:
https://github.com/Jigsaw-Code/outline-client/blob/38cc535c8ffe3ee4580d9bc776d7d5c3fd0bf785/third_party/shadowsocks-libev/acl/server_block_local.acl

I believe this is the file? If this doesn't work, Alberto can confirm:
https://github.com/Jigsaw-Code/outline-client/blob/38cc535c8ffe3ee4580d9bc776d7d5c3fd0bf785/third_party/shadowsocks-libev/acl/server_block_local.acl

Have you ever figured out how to access LAN with the Outline client?

Hello,
Try this. In Windows proxy configuration, set the bypass addresses to fit
your needs. I've managed to do that with the shadowsocks client, but should
be the same.
Best,
Em sex, 13 de ago de 2021 08:00, Florian Jensen @.***>
escreveu:

Have you ever figured out how to access LAN with the Outline client?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Jigsaw-Code/outline-client/issues/939#issuecomment-898375295,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGEJ5P4UWP7IGD3RHG4OAY3T4T3MDANCNFSM4WJI2AOA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

I created 2 VPNs (two diffrent VPS servers). First I launched Outline (client). Then I launched OpenVPN (client). Got a local network - but without internet access))) but the local network works)))))))))

@chibikru I did the same and got Local Network connectivity, but I would like to reroute Internet traffic through Outline -> OpenVPN -> Internet, have you tried this, come up with a solution ? Adding in "redirect-gateway def1" in my ovpn file doesn't seem to work as it would with just a OpenVPN -> Internet.


Facelift: New Welcome Banner + Revised design of the login page

Welcome-Banner: Based on Issue #598, a Welome-Banner was designed/ developed for the homepage.

Sidenav: The Sidenav has been extended by a footer containing the latest version of the OWASP Juice Shop. This replaces the previous tooltip, which was in the Navbar.

Navbar: Minor adjustments. On the one hand the search field and the accompanying text were reduced, on the other hand several attributes (fxHide and fxShow) were adjusted.

Login Page: Revised design. Beside an adapted layout/ design also smaller adjustments were carried out. These are especially related to usability.

Hi @MarcRler, can you please resolve the conflicts from rebasing with develop on your end? Thanks!

Awesome!!!


FEAT: Adding Flip Attack

Description

Adding Flip attack
Paper found here: https://arxiv.org/html/2410.02832v1

Tests and Documentation

Unit tests added
Doc page added

Thanks for your attention to our paper!!
And thank you for adding our attack method to this amazing repo.


Unify reviewers mention into one comment - 19

[Auto generated]
Number: [#19]

github-gitlab-webhook-server: Closing issue for PR: Unify reviewers mention into one comment.
PR was closed.


Initialization of AdvancedNoise.Examples.TimeBasedNoise

Since AdvancedNoise.Sources.TimeBasedNoise with useAutomaticLocalSeed=false calls impureRandomInteger in when initial(), a new value is assigned to localSeed for each event iteration of the initialization, leading to new event steps and so on. It is not clear how this is supposed to terminate with consistent initial conditions. It might be tool issue with handling impure functions at initialization time, but any help is appreciated. Thank you!

According to my understanding, the when-clause is only executed once per event iteration. The consistent localSeed is thus the one from the first and only call to impureRandomInteger, as would be the case, e.g., for the reinit operator.
This would be different from an if-clause, which would be evaluated in each and every loop (or step) of the event iteration.
Compare https://www.modelica.org/documents/ModelicaSpec33.pdf, Sections 8.3.4-8.3.6.

There are tools that execute the when clause more than once.
I checked why initialization with MSL Noise  of v3.2.2 works but AdvancedNoise fails and rediscovered my own issue modelica/Modelica#1917 that was fixed by @MartinOtter with https://github.com/modelica/Modelica/issues/1917#issuecomment-272681226.
I'd propose to modify the localSeed the same way as the MSL Noise, that is making localSeed a fixed-false parameter with an initial equation
 AdvancedNoise 1.0.0/Sources/TimeBasedNoise.mo | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/AdvancedNoise 1.0.0/Sources/TimeBasedNoise.mo b/AdvancedNoise 1.0.0/Sources/TimeBasedNoise.mo
index 5d934ab..b4b00e4 100644
--- a/AdvancedNoise 1.0.0/Sources/TimeBasedNoise.mo
+++ b/AdvancedNoise 1.0.0/Sources/TimeBasedNoise.mo
@@ -115,11 +115,9 @@ block TimeBasedNoise
       annotation(Dialog(tab="Advanced",group = "Initialization",enable=enableNoise and not useAutomaticLocalSeed));

   // Generate the actually used local seed
-  discrete Integer localSeed "The actual localSeed";
-equation
-  when initial() then
+  final parameter Integer localSeed(fixed = false) "The actual localSeed";
+initial equation
     localSeed = if useAutomaticLocalSeed then impureRandomInteger(globalSeed.id_impure) else fixedLocalSeed;
-  end when;

 public
     parameter Modelica.SIunits.Time startTime = 0.0

Do you think this would be a sound contribution?

I don't see any downside. I even consider it more elegant. But I could be missing something. Maybe @fvanderlinden, @tobolar or @MartinOtter can cross-check?

If you check the comments and revision history of modelica/Modelica#1917 you will see that the proposed solution was not found at once but was developed with some evolution when tested across different tools. So it should be safe to apply same idea.

Any news on this?

I have checked the https://github.com/modelica/Modelica/issues/1917 and it seem to me to be fine.

Any news on this when the fix can be expected?

Any news on this when the fix can be expected?

I could proceed after Modelica Conference, i.e. by end of Mai.

@tbeu please check if the solution works for you now.

Thank you, @tobolar! Finally works in SimulationX.


Adapter transfer assistant

Assistant that the user can see:

Github Login (done when logged in in developer portal)
Enter adapter name (or chosse from list)
Enter npm login credentials
Enter telegram/discord name and/or email. One of them has to be given for getting in contact with the developer.

Background tasks:

transfer ownership of Github repo to community
adjust paths
transfer npm packet to community
add team developers to packet
invite to telegram group
invite to discord
add user to contact list (private repo?), where only administrators has access to
additional tasks?

Updated the first comment


Fixed incorrect getTranslationY() javadoc comment

getTranslationY() comment should refer to 'y' not 'x'

Thanks for the report.  I've applied the fix and will be updated in the docs on the next release.


nixos/man: prevent duplication of options

Description of changes
libxslt 1.1.35 fixed conflict resolution for templates to match the specification. This uncovered a bug in docbook-xsl (https://github.com/docbook/xslt10-stylesheets/issues/240), which causes option names to be duplicated into the option descriptions.
Until it is resolved upstream, let’s fix the conflict by ambiguity by moving the link to a different element.
Fixes: https://github.com/NixOS/nixpkgs/issues/166304

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Thanks for tackling this!
I can confirm this resolves the reported issue.  Although not quite out of the woods yet.
I'm not familiar with docbook really ("what other impact might moving this have?"), so instead of trying to sort that went and diff(oscope)d the manuals (man/html/epub) before and after.
And unfortunately this also changes the HTML and epub manuals.
The HTML one seems visually fine (although options are now blue instead of the red-ish 'code' styling), but comparing with old manual, there are lots of differences like this:
334c334
<                 boot.loader.grub.device to
---
>                 boot.loader.grub.device to
341c341
<                 boot.loader.systemd-boot.enable
---
>                 boot.loader.systemd-boot.enable

So it seems we're now generating a nested  for options now ($optionname)?
The epub manual diffoscope appears to be the same sort of change, I haven't looked more closely.
For now, just reporting what I found.  No answers/solutions yet :innocent: .

Weird, building the manual with nix-build nixos/release.nix -A manualHTML.x86_64-linux and looking at result/share/doc/nixos/options.html, I see only single link:

Weird, building the manual with nix-build nixos/release.nix -A manualHTML.x86_64-linux and looking at result/share/doc/nixos/options.html, I see only single link:

Wow I wasn't sure how this was possible (some impurity from somewhere?) until realized: I was comparing the index.html's while you compared the options.html.  Only you mentioned which you compared and I didn't :innocent: .
With this detail realized, I agree options.html only has the one link.  index.html has the change I mentioned, however.
And comparing against the manual before this, options.html has a change as well:
Before:
appstream.enable

After:
appstream.enable

Which changes the manual visually and makes each option a link to itself (same page, but with anchor for that option).  This actually seems like reasonable or even desirable behavior for me-- it helps easily create links to options if you're browsing and want to share.
Anyway, mostly want to make sure we like the new output! :+1:

Oh, that makes sense, the xrefs will transclude the target element contents by default.

--- a/nixos/lib/make-options-doc/options-to-docbook.xsl
+++ b/nixos/lib/make-options-doc/options-to-docbook.xsl
@@ -22,11 +22,13 @@
         <xsl:for-each select="attrs">
           <xsl:variable name="id" select="concat('opt-', str:replace(str:replace(str:replace(str:replace(attr[@name = 'name']/string/@value, '*', '_'), '<', '_'), '>', '_'), ':', '_'))" />
           <varlistentry>
-            <term xlink:href="#{$id}">
-              <xsl:attribute name="xml:id"><xsl:value-of select="$id"/></xsl:attribute>
-              <option>
-                <xsl:value-of select="attr[@name = 'name']/string/@value" />
-              </option>
+            <term>
+              <link xlink:href="#{$id}">
+                <xsl:attribute name="xml:id"><xsl:value-of select="$id"/></xsl:attribute>
+                <option>
+                  <xsl:value-of select="attr[@name = 'name']/string/@value" />
+                </option>
+              </link>
             </term>

             <listitem>

But that does not work either:

Don't know what gentext to create for xref to: "link"

I applied a patch to the stylesheets that should resolve the issue. Limiting scope to the manual to avoid stdenv rebuild.

Thanks!!


get decorated Date

how can i get the decorated date???

There is no way of getting the decorated date as there can be multiple ones. You can get selectedDate(s) or currentDate. This feature is not in the roadmap as we don't see any use for it. Feel free to answer if you need more information.


Introduce atom.directory-searcher service v0.1.0.

The contract for a provider for the atom.directory-searcher service
is defined by the spec of the DefaultDirectorySearcher.
This modifies Workspace::scan() to use the appropriate DirectorySearcher
for each member of atom.project.getDirectories() when scanning the workspace
for files that match the specified regex.

@maxbrunsfeld I updated the code and tests so that a DirectorySearcher must return a DirectorySearch object that has the following methods:

then()
onDidMatch()
onDidError()
onDidSearchPaths()
cancel()

Admittedly, I need to update all of the docs in default-directory-search.coffee, but I wanted to make sure you were OK with this API before I invested in that.

Looks good to me. Thanks @bolinfest.

I just rebased because apparently my previous stack of diffs would not have merged cleanly because of the update to spec/task-spec.coffee.

@maxbrunsfeld This fixes/amends the tests as we discussed.

Rebased.

Looks great. I'd say let's :ship: tomorrow.

Thanks @maxbrunsfeld: sounds great!

@kevinsawicki all good by you?

@maxbrunsfeld @kevinsawicki I just rebased this on top of HEAD:master.

:rocket: Thanks @bolinfest!

Hey @bolinfest, we need to back this out for today's release, because it broke some specs in the find-and-replace. It looks like something to do with canceling? Can you take a look at these? We can re-merge shortly.
 ResultsModel
   cancelling a search
     it populates the model with all the results, and updates in response to changes in the buffer
       Expected spy unknown to have been called.
         at [object Object].<anonymous> (/private/var/lib/jenkins/workspace/atom/node_modules/find-and-replace/spec/results-model-spec.coffee:125:30)
         at process._tickCallback (node.js:367:9)
     it populates the model with all the results, and updates in response to changes in the buffer
       Expected spy unknown to have been called. (spec/results-model-spec.coffee:136:30)


Add ability to import from TreeStats

Almost done here. Need to support lum XP and extra skill credits

This seems to work nicely. Only thing I couldn't figure out was lum and skill credits because the way AC serialized these makes it impossible to know how to fill in the planner.
For auras, multiple auras effect the same thing so we'd have to guess. I don't want to.
For bonus skill credits, same thing.


Ignore Emacs lock files from visualising

Hi,
could you please consider patch to ignore files whose names begins with .# because are most likely Emacs lock files that Clerk might try to visualize on MS-Windows as described in #22?
I've introduce the first unit test to test the same (happy to remove if you think is too much or you have other plans for unit testing).
Lastly, I've changed git:/ to https:/ in deps, since these are likely to cause unexpected blocking issues on MS-Windows (see https://github.com/nextjournal/viewers/pull/30 for a description).
I've also added Emacs temp files ending with ~ in.gitignore.
Also upgraded shadow-cljs version to 2.16.7 to solve issue with gitlibs when they are stored on a separate drive than the project (see https://github.com/thheller/shadow-cljs/issues/966 for the details).
Please feel free to scrutinize.
Thanks.
Closes #22.

@ikappaki Thanks for all this Windows QA and patches! None of the primary developers uses Windows, so this is very helpful. :) We'll take a look at your patches early this coming week.

Hi @ikappaki,
Thanks a lot for your PR! I've made some small changes: we do indeed have other plans for tests, so I've moved them to comments for now. Also io.github.nextjournal/cas is currently still private so I've reverted your change here.
Please give main a spin and let me know if everything works for you on windows now, thanks a lot!

Please give main a spin and let me know if everything works for you on windows now, thanks a lot!

Hi @mk, thanks for the merge! Tested to be working fine now.


[FEATURE]: Option to classify Tracks automatically in Folders like ArtistNameFolder->AlbumNameFolder->Tracks

Which tool
tidal-gui
Describe the feature
Hello, like the title said i like to have the possibility to automatically classify Tracks when they are downloaded  in differents Folders like: ArtistNameFolder -> AlbumFolder -> Tracks. Even if you dowload a playlist like: PaylistNameFolder->ArtistNameFolder -> AlbumFolder -> Track.
I don't know if it is already possible and in that case i would thank you if you let me know how. But if it doesn't possible i like to see this feature. Thank you !
Add screenshots
No response

Do you want to make sure that you download things into Artist/Album/ folders even if you provide a playlist URL?
If so, just set the usePlaylistFolder settings in ~/.tidal-dl.json to false.

Hi,
Config app as the picture shared by me and click on OK


Calling subscribe in a render fn clashes with reagent optimizations

Sorry for bumping an ancient thread, but I couldn't find anywhere more appropriate to discuss this.
We still can't just subscribe willy-nilly in form-1 components, because Reagent makes assumptions about the difference between render and re-render, and no amount of caching by re-frame can fix this. The only situation where it works correctly is in the (admittedly extremely common) special case where all logical branches of the render fn derefs the same, constant set of subscriptions (and this relies on caching to work without memory leaks a.k.a. zombie subscriptions).
The reason is that only the initial render, where mount happens, listens for signal derefs, and only the case when the identity of the component (not its arguments) changes triggers unmount, cleanup and remount.
As a consequence, this is wrong:
(defn bad-component
  [foo?]
  (if foo?
   ;; The mounted component will react only to the sub made in the inital render, and any other sub made in the
   ;; lifetime wil become a zombie at the end of bad-component's lifecycle.
    @(rf/subscribe [:sub/bar])
    @(rf/subscribe [:sub/baz])))

And so is this:
(defn another-bad-component
  [x]
  ; when x changes after the component is mounted, the original sub becomes a zombie,
  ; and the component will stop reacting.
  @(rf/subscribe [:sub/foo x]))

The above statements are consistent with logic and my own testing, and are evident by the copious amount of my blood on the floor from papercuts from re-frame.
I've made a quite nice generic solution for this problem, but I just wanted to ask here if I'm missing something before I open source it as a tiny lib.

Originally posted by @mortenschioler in https://github.com/day8/re-frame/issues/218#issuecomment-1802008225

Hey @mortenschioler, thanks for bringing this up. I'd be very interested to merge your fix, if you can provide it.
Any notes you have on the reagent implementation are also welcome. Do you think there's anything to be done upstream?
I think this very problem may have come up in our prod work, though we didn't pursue a generic solution. I did make a repro. I supposed this had to do with reagent's render impl, but didn't narrow down the exact cause.

On the other hand, I tried out your example components, but couldn't reproduce any bad behavior so far. Could you change my app to make the bug appear?
Also, just in case.. you're using the latest release versions of re-frame & reagent,  right?

Thanks for the reply! I wasn't actually expecting any. Will provide you with a re-creation of the issues that I'm seeing. I'll be terribly embarassed if I turned out to be wrong :see_no_evil:
My deps are re-frame 1.3.0 (recently superseded by 1.4.0) and reagent 1.2.0, even though re-frame 1.3.0 actually provides reagent 1.0.0. In other words
reagent/reagent 1.2.0
cljsjs/react 17.0.2-0.2-0
cljsjs/react-dom 17.0.2-0 :use-top
  X cljsjs/react 17.0.2-0 :use-top
re-frame/re-frame <IP_ADDRESS> :use-top
  X reagent/reagent 1.0.0 :use-top

No worries. We're doing science, so it's good to be wrong.

Thanks for the understanding. I still don't understand how this happened, but I was just straight-up wrong:
https://github.com/mortenschioler/rf-sub-issue-repro
Somehow I had this behavior in my own code (which is confidential cause it's for work). I had this persistent issue with staleness I didn't understand, so I made a hypothesis that checked out with what I saw very consistently, and when what I could gather from the Reagent source made this logical, I just jumped the gun. The posted examples confirmed my suspicion, but I tested them sort of inside of my app instead of with a clean slate, which was dumb. When I really boiled it down removing some surrounding stuff I couldn't reproduce it, either.
The dependencies in my work code and the repro are the same, so the problem must be in my work code, probably in my view code, perhaps forgetting to deref something or whatever, or maybe in my subscription code. It's weird.
Good thing for me is now I can go figure out what's up with my own code and hopefully just adopt naïve form-1 subscriptions everywhere, which was a realy pain to not be able to do.
Sorry for taking your time and thanks for taking up the issue so promptly!

Might be worth your time to study the other repro, because this is a demonstrable problem with subscriptions and control flow which could be affecting your prod code. Basically, (when @a @b). You'd expect b to not run in some cases, and with regular reagent atoms it works how you'd expect. With subscriptions, b seems to run even when @a evals false.


Adding a 'stdlib' of anti-patterns fixes

Something that quantified code (will shutdown in october) was trying to achieve, was a tool that could detect bad python code and rewrite it for you. Writing patterns involved using their DSL but with undebt, we can write them in python!
They had a rather sizeable list of anti-patterns:

https://www.quantifiedcode.com/knowledge-base/

Do you imagine the undebt repository as a place for a 'stdlib' of python code fixups that it could run automatically on a code base, based on the above anti-patterns?  We could start to port the anti-patterns into grammar definitions.

@lwm Yeah! That sounds like exactly the sort of thing that undebt would be great at. You're welcome to submit a PR for adding any of the above patterns to undebt/examples as long as you also include tests in tests/examples.

@evhub Great! I'll start to play with them and add as I go. If you don't mind, I'll keep this issue open to track my progress and also for visibility for anyone who wants to join.

@lwm Sounds good!

@lwm I had this same thought on seeing this release. Have you started on your idea?

@thundergolfer
Not yet. Something coming soon. Please feel free to start as well and we can sync along the way! The more the merrier!

Oh, another idea related to this, once there are more patterns.
We could write a new linter for pylama, which plugs directly into pytest.
Then you'd get py.test --undebt and something cool would happen.

@lwm good idea!
I'm going to plug Yelp a little here (not biased at all 😛), but #40 allows undebt to be used as a pre-commit hook (also a yelp project). So you can run undebt to prevent code smells and the like from ever being committed! (which I think you'll agree qualifies as "something cool happening" :) )


Website Fails to Redirect to /login on Launch

Bug Report: Website Fails to Redirect to /login on Launch
Describe the bug
When launching the website on the root route (/), it is expected to automatically redirect to the /login page. However, the website remains on the root route and does not navigate to the login page, leaving the user on a blank or incorrect screen.
To Reproduce
Steps to reproduce the behavior:

Launch the webapp and access the root route (/).
Observe that the website does not redirect to /login as expected.

Expected behavior
Upon launching the website at the root route, it should automatically redirect to the /login page for user authentication.
Screenshots

Additional context
This issue disrupts the user flow, as users must manually navigate to /login to access the authentication page.

can you assign this to me

@rajkumardongre Ok, go for it👍


brainf*ck implementation?

+1, interested in a brainf**k implementation

Doesn't have networking

+1

Aint gonna work, no HTTP requests, JSON parsing, file I/O, downloading images

amazing idea

@MalcolmReed-ent exactly. we make our own stdio lib for file i/o, http and JSON parsing in Brainf***

that would be awesome


Per-translation-unit variable indexing

Originally posted by @ForNeVeR in https://github.com/ForNeVeR/Cesium/pull/617#discussion_r1740190291
Currently, we have a global static counter, CurrentIndex in the Cesium.CodeGen.Contexts.VariableInfo record.
https://github.com/ForNeVeR/Cesium/blob/f1b5204e9d1f0869ed8c4ee0caf3c3e41ad6a5a9/Cesium.CodeGen/Contexts/VariableInfo.cs#L7-L11
I'd like to have some sort of indexing that's tied to the translation unit.
Such a counter is too error-prone: it will easily overflow on 2 billion variables constructed in a single compilation session. Moreover, this construct makes it impossible to copy a VariableInfo.

I think if put CurrentIndex into FunctionScope that would work.

Yep, most likely it will.


Warning for implicitly exposing classes via increased subclass visibility.

Consider a package of two Java classes.
class Foo {}

public final class Bar extends Foo {}

Bar implicitly exposes its supertype Foo.
Kotlin's compiler errors when trying to do this.
Could Error Prone check for this in Java? Perhaps Error Prone could offer to make the Foo type public and add a package-private Foo constructor in the above case.

Could you clarify what you mean by "implicitly exposes its supertype?"  This seems like a common pattern when you have package-private skeleton implementations with full public implementations, which seems like an actively desirable pattern.

I would think anything listed on the class declaration of a public type would be public API.
What do the JavaDocs look like? Do they list the hidden supertypes of the exposed type, or does the JavaDoc report that Object is the only supertype? (I can look it up if nobody knows offhand.)
On an API design note, it seems inverted to have an abstraction as an implementation detail and an implementation as an API. But, that's tangential to my issue.

@NightlyNexus Guava's com.google.common.graph package uses this idiom, and IIRC the package-private types that the applicable public types extend from are not included in the Guava Javadocs.
For example, the public interfaces Graph and ValueGraph extend from package-private interface BaseGraph, and BaseGraph isn't exposed to users of Guava or mentioned in the Guava JavaDocs.

Yeah, I think you're right.
And, https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.4.4 informs me that changing out hidden supertypes wouldn't break binary compatibility because the linkage would still be in tact.
I suppose the Kotlin compiler is strict here to enforce a design pattern or for concerns with references in inlined code.

Going to close. I think it's weird style (but who am I? :P) but perhaps not a correctness problem in Java.
Thanks for the explanations!

I suppose it's neat that Kotlin disallows this sort of type extension. I agree that the style is weird, and I also think it can easily cause confusion from a reader's perspective, but it seems to me that Guava's graphs package makes ingenious use of it to share common method signatures across different interfaces, so I'm personally half-okay with it. :)


Add the version of genqlient to the generated code

Summary:
Craig suggested this; it seems plausibly useful although of course it
will cause some churn in the generated file as well.  And it's easy to
do from Go's automatically added module metadata.  Luckily, something
about how that works means that even when you're on a locally-tagged
commit, in tests the version is (devel), so hopefully this won't cause
any problems for them.
Test plan:
make check

@StevenACoffman, I figured I'd put this up as a PR to discuss since it's so easy, but I wanted to check: do you think this is a good idea, a bad idea, or what?  I don't know what's standard here; I'm not attached to this change but if it seems helpful I'm happy to merge it.

Oy, apparently it doesn't work right in the github action.  I'll have to see if I can find a way to override that to work right.

The test failures is just that the expectations and the results are a little of sync:
        // Code generated by github.com/Khan/genqlient version <unknown>, DO NOT EDIT.

vs:
        // Code generated by github.com/Khan/genqlient version (devel), DO NOT EDIT.

It's a fairly common thing. For instance, https://github.com/deepmap/oapi-codegen/ puts:
// Package api provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/deepmap/oapi-codegen version (devel) DO NOT EDIT.

So outside of genqlient itself (like in an application that uses genqlient as a library and as a tool) I think you could do this:
//go:generate go run github.com/Khan/genqlient -ldflags="-X generate.version $(go list -m -f '{{ .Version }}' github.com/Khan/genqlient)"

Inside of genqlient, as in when you are building a binary, the main module contains no version information for that command, so you would need something like:
TZ=UTC git --no-pager show \
>   --quiet \
>   --abbrev=12 \
>   --date='format-local:%Y%m%d%H%M%S' \
>   --format="%cd-%h"

But I think it would be better to call out to the Go tools somehow to get it.

Ah ha!
The thing with pseudo-versions is that it's just an encoding for a particular revision in a VCS (not just Git).

Pseudo-versions may refer to revisions for which no semantic version tags are available. They may be used to test commits before creating version tags, for example, on a development branch.

So to have a pseudo-version, to begin with you must refer to a revision. The tip of the master branch might good enough, therefore:
go list -f '{{.Version}}' -m example.com/mymodule@master

Notice the syntax module@version, which allows you to choose a specific revision, hence, get the corresponding pseudo-version.
So to build the binary with the injected version like @csilvers suggested:
go build -ldflags="-X generate.version $(go list -f '{{.Version}}' -m github.com/Khan/genqlient@$(git rev-parse HEAD))" -o mytool ./main.go

Or:
go build -ldflags="-X generate.version $(go list -f '{{.Version}}' -m github.com/Khan/genqlient@main)" -o mytool ./main.go

See https://github.com/Khan/genqlient/pull/129 where I continued our adventures by updating the expectations and Makefile according to my comments above.

I think the discussion here is getting too complicated.  I looked at what a few other libraries do and:

oapi-codegen -v and in its "code generated by" line does exactly what this PR does
golangci-lint version does something similar
gqlgen version uses a hardcoded version
I think we should take one of those approaches; I lean towards the former but I can see advantages both ways.  (Optionally we could set it up in such a way that you can override it via ldflags; it's unclear to me how well either approach handles untagged versions.  But I don't think that should be the primary mechanism for release versions.)

The only problem with this approach as it stands is the tests, which apparently somehow get (devel) locally and <unknown> in github actions.  I think the best approach there is to just add a (possibly undocumented) option to omit the version, and use that in most of our tests, which don't really benefit from this behavior.  I can take a look at doing that sometime (but maybe not today).

1.18 adds simpler ways to do this!


fix merge bugs

Codecov Report

Merging #1209 (1be0b3e) into master (3c854d0) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #1209      +/-   ##
==========================================
- Coverage   47.17%   47.17%   -0.01%
==========================================
  Files         198      198
  Lines       15160    15174      +14
==========================================
+ Hits         7152     7158       +6
- Misses       7076     7084       +8
  Partials      932      932

Impacted Files
Coverage Δ

catalog/rocks/entry_catalog.go
15.70% <0.00%> (-0.14%)
:arrow_down:

graveler/committed/manager.go
0.00% <0.00%> (ø)

graveler/graveler.go
42.45% <0.00%> (-1.12%)
:arrow_down:

catalog/mvcc/cataloger_create_entry.go
94.73% <0.00%> (-5.27%)
:arrow_down:

catalog/mvcc/cataloger_create_repository.go
62.96% <0.00%> (+3.70%)
:arrow_up:

config/logger.go
75.00% <0.00%> (+10.71%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3c854d0...1be0b3e. Read the comment docs.

Codecov Report

Merging #1209 (1be0b3e) into master (3c854d0) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #1209      +/-   ##
==========================================
- Coverage   47.17%   47.17%   -0.01%
==========================================
  Files         198      198
  Lines       15160    15174      +14
==========================================
+ Hits         7152     7158       +6
- Misses       7076     7084       +8
  Partials      932      932

Impacted Files
Coverage Δ

catalog/rocks/entry_catalog.go
15.70% <0.00%> (-0.14%)
:arrow_down:

graveler/committed/manager.go
0.00% <0.00%> (ø)

graveler/graveler.go
42.45% <0.00%> (-1.12%)
:arrow_down:

catalog/mvcc/cataloger_create_entry.go
94.73% <0.00%> (-5.27%)
:arrow_down:

catalog/mvcc/cataloger_create_repository.go
62.96% <0.00%> (+3.70%)
:arrow_up:

config/logger.go
75.00% <0.00%> (+10.71%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3c854d0...1be0b3e. Read the comment docs.


Fixes #724 - removes extra space after comma

Fixes #724 - removes extra space after comma in physical address.

@monfresh Ready for review and merge. If you know a way to do this in haml without the   that would be more ideal.

This was bug was introduced when you fixed haml-lint offenses in this commit :smile:
The solution is to use string interpolation for the city comma:
%span{ itemscope: '', itemtype: 'http://schema.org/PostalAddress', itemprop: 'address' }
  %span.street-address{ itemprop: 'streetAddress' }><
    = superscript_ordinals(street_address_for(location.address))
  - if lines == 2
    %br
  - else
    ,

  %span.city{ itemprop: 'addressLocality' }
    #{location.address.city},

  %span.state{ itemprop: 'addressRegion' }
    = location.address.state

  %span.zipcode{ itemprop: 'postalCode' }
    = location.address.postal_code

Also, could you please add a test for this, making sure that it fails first so we can catch this in the future.

@monfresh Added an edit. How's it look? Thx!

Looks good, mate!


Implement AudioExtractor Interface class

The AudioExtractor abstract class (interface) needs to be implemented. The following abstract methods are needed:
get(source) - gets the audio of a specific source (url, file, ...)
Results will be merged onto branch feature/autio-extraction, where the audio extraction feature is developed.

First implementation finished, Merged together with refractor/30-implement-audio-dataclass and refractor/26-implement-file_extractor-audioextractor-class onto feature branch feature/audio-extraction. In "testing_extraction.py" is an example usage.

Implemented


OpenAI Azure streaming does not work

I have no problem using generateText through Azure, but using streamText with the same parameters has been consistently reporting errors. Aren't the parameters of these two methods supposed to be the same?
 const textStream = await streamText(
    new OpenAIChatModel({
        api: new AzureOpenAIApiConfiguration({
            apiKey: process.env.AZURE_OPENAI_API_KEY,
            resourceName: process.env.AZURE_OPENAI_API_INSTANCE_NAME,
            deploymentId: process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME,
            apiVersion: process.env.AZURE_OPENAI_API_VERSION,
        }),
        model: "gpt-3.5-turbo",
    }), [
    OpenAIChatMessage.system("You are a story writer. Write a story about:"),
    OpenAIChatMessage.user("A robot learning to love"),
]);

Error:
'Error: JSONParseError: JSON parsing failed: Text: {"id":"","object":"","created":0,"model":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"choices":[]}.\n' +
      'Error message: [\n' +
      '  {\n' +
      '    "received": "",\n' +
      '    "code": "invalid_literal",\n' +
      '    "expected": "chat.completion.chunk",\n' +
      '    "path": [\n' +
      '      "object"\n' +
      '    ],\n' +
      '    "message": "Invalid literal value, expected \"chat.completion.chunk\""\n' +
      '  }\n' +
      ']\n' +
      '    at AIService.streamText (/Users/popmart/song/src/acs/apps/server/dist/main.js:32952:19)\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)'

Resolved with v0.74.1


pull request for e2e test at 11/25/2016 06:26:04

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Router.go encodes my parameter

Router.go('templateName', {param_one: '@name'}); -> the link becomes /templateName/%40name. How to prevent this?

That's how urls work, the literal characters : / @ etc. have specific meaning in a url so you can't just have them in plain text, they have to be encoded. When you get the value back from Iron Router via Router.current().params.param_one it will convert back automatically. If you're doing something else you can use decodeURIComponent like:
var someParam = "%40name";
console.log(decodeURIComponent(someParam));
// @name

I have a similar problem.
I have a list of tags like:
tag/window+empty+server
is there a way I can force the + to not be url encoded when I use Router.go


RuntimeError('Attempting to deserialize object on a CUDA '

I have installed both the repo and cloned the RAFT repo and downloaded the models.
Modified script.py to update folders and connect to my 9090 SD port.
I did a first test using and it renders the first frame of output.mp4 but then it stops and I get the following errors in the SD-CN-Animation console and Stable Diffusion UI console.

I have a 3060 12Gb VRAM, using -xformers --medvram --port 9090 --api
This is the SD-CN-Animation script console output. (I've included the SD output below as well.)
Thanks in advance.
C:\Users\---\AI\SD-CN-Animation>python [script.py](https://script.py/)

OpenCV: FFMPEG: tag 0x5634504d/'MP4V' is not supported with codec id 12 and format 'mp4 / MP4 (MPEG-4 Part 14)'

OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v'

1%|█▌ | 1/99 [00:09<16:06, 9.87s/it]

Traceback (most recent call last):

File "C:\Users\\---\\AI\SD-CN-Animation\[script.py](https://script.py/)", line 234, in <module>

_, alpha_mask, warped_styled = RAFT_estimate_flow_diff(prev_frame, frame, prev_frame_styled)

File "C:\Users\\---\\AI\SD-CN-Animation\[script.py](https://script.py/)", line 100, in RAFT_estimate_flow_diff

RAFT_model.load_state_dict(torch.load(args.model))

File "C:\Users\\---\\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\[serialization.py](https://serialization.py/)", line 789, in load

return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)

File "C:\Users\\---\\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\[serialization.py](https://serialization.py/)", line 1131, in _load

result = unpickler.load()

File "C:\Users\\---\\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\[serialization.py](https://serialization.py/)", line 1101, in persistent_load

load_tensor(dtype, nbytes, key, _maybe_decode_ascii(location))

File "C:\Users\\---\\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\[serialization.py](https://serialization.py/)", line 1083, in load_tensor

wrap_storage=restore_location(storage, location),

File "C:\Users\\---\\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\[serialization.py](https://serialization.py/)", line 215, in default_restore_location

result = fn(storage, location)

File "C:\Users\\---\\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\[serialization.py](https://serialization.py/)", line 182, in _cuda_deserialize

device = validate_cuda_device(location)

File "C:\Users\\---\\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\[serialization.py](https://serialization.py/)", line 166, in validate_cuda_device

raise RuntimeError('Attempting to deserialize object on a CUDA '

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

Here is the SD output

Error running process: C:\Users\---\AI\AUTO\extensions\sd-webui-controlnet\scripts\[controlnet.py](https://controlnet.py/)

Traceback (most recent call last):

File "C:\Users\---\AI\AUTO\modules\[scripts.py](https://scripts.py/)", line 417, in process

script.process(p, *script_args)

File "C:\Users\---\AI\AUTO\extensions\sd-webui-controlnet\scripts\[controlnet.py](https://controlnet.py/)", line 629, in process

unit = self.parse_remote_call(p, unit, idx)

File "C:\Users\---\AI\AUTO\extensions\sd-webui-controlnet\scripts\[controlnet.py](https://controlnet.py/)", line 541, in parse_remote_call

unit.enabled = selector(p, "control_net_enabled", unit.enabled, idx, strict=True)

AttributeError: 'str' object has no attribute 'enabled'

100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:05<00:00, 1.83it/s]

Total progress: 50it [13:36, 4.54s/it]

you want to run the script in the venv while sd is running

you want to run the script in the venv while sd is running

Oh check! So, I should copy the SD-CN-Animation folder inside SD venv?


app title in recents menu - "Flutter Demo"

Ah thanks for the issue, looks like I forgot to edit the name here

@Techno-Disaster see #5


Separate out internal-use-only protos

Our protos currently include some messages that are meant to be used internally only. In particular, I'm thinking of EtcdJobInfo and EtcdPipelineInfo in pps.proto, though there may be others as well. These should be separated out to their own proto files, since they unnecessarily bloat the size of client bindings.

I think auth.GetAuthToken() may be another example of this (see #3869)

We generally do have very segregated protos, with only external ones in src/client the Etcd* ones are an exception because they're forms of other protos that are stored in etcd, and as such any time you add a field to the Etcd version of the proto you need to add the same field to the other public facing protos. For this reason I think it makes sense to keep these as an exception, since it adds overhead to have to switch between 2 files to do this (and most editors don't have jump to definition for protos), and I think having them in the proto file is probably not that big a cost to pay.
I'm going to close this because I think we basically are doing this with the exception of Etcd* protos which are a conscious exception we're making, but feel free to reopen if you think there are other places we could change this.

@jdoliner I'm guessing you already considered this, but heads up that this makes autogenerated client libraries a little less ergonomic, because there's some messages/structs/objects exposed that shouldn't actually be used.

There's a few more messages/gRPC functions that appear to be private as well, so resurrecting this:

PFS' BuildCommit
PPS' ActivateAuth and CreateJob


Investigate timeout issues

This is one of two things probably:

Big chunky assets
Neos Cloud slowing down over the weekends or whatever

For now we can raise the timeout, expose that as a user setting.
But ideally we'd retry these.

It's definitely during the weekends (Fridays and Saturdays) where the Neos Cloud experiences too many 429s and slowdowns. I and @bontebok were monitoring this when it first started, but I gradually stopped (may still want to do that to see if it is getting worse).
Anyway, raising the timeout and adding retries can help with this. I would lean more towards retries as you do have assets in a job-like class right now. It would not be too difficult to retry and push the job back in the queue as long as you have something where the job will terminate and discarded after a number of retries.

Ok i've doubled the timeouts for now, will do retries via another issue


Incorrect API key provided: sess-xxx************xxxx

Describe the bug
A clear and concise description of what the bug is.
There was a problem

in the Dalle2 constructor you need to change the xxxxx to your personal bearer key. you can find a tutorial how to get it in the readme. hope this help ❤

in the Dalle2 constructor you need to change the xxxxx to your personal bearer key. you can find a tutorial how to get it in the readme. hope this help ❤

Thank you for your reply


shift document down 50px from the top to make headway for top responsive menu bar

resolved, added top: 50px!important to the , add id="body" to the body tag to create a stronger selector and may be able to remove !important after that


Two classes are generated when referencing within a schema

I have a schema like this
{
    "id": "Test",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {

    "myobjectas": {
        "type": "array",
        "items": {
            "name": "myobjecta",
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                }
            }
        }
    }
    ,

    "myobjectbs": {
        "type": "array",
        "items": {
            "name": "myobjectb",
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                }
            }
        }
    },

    "AnotherObjects" : {
        "type" : "object",
        "properties" : {
            "attribute1" : {
                "type" : "string"
            },
            "attribute2" : {
                "type" : "string"
            },
          "myobjectbs" : {
            "type" : "object",
            "$ref" : "#/properties/myobjectbs"
            }
          }
        }
    }

    }
}

The are 5 classes generated by this schema including (com.example.Myobjectb and com.example.Myobjectb_
AnotherObject.java use the list of Myobjectb_   while the top level has a list of Myobject
Should AnotherObject reuse the Myobjectb schema instead of generating a different class (only name is different)?

Yes, you're right, this both Test#myobjectbs and Test#AnotherObjects#myobjectbs should have the type List.
One solution to this is add javaType to myobjectb. It's a good idea to do this when you use refs.

The problem is we plan to share the schema with other teams and they want to use a different package names for all the schema,  the only way I can think of is to separate the myobjecta and myobjectb into different files and reference them in other array objects.

Is the best workaround to have one schema file per entity?

I'm having the same issue too. Is there any plan to fix this?

I think you should sepreate myobject as a new json and use $ref like these:
{   "id": "Test",   "$schema": "http://json-schema.org/draft-04/schema#",   "type": "object",   "properties": {     "myobjectas": {       "type": "array",       "items": {         "name": "myobjecta",         "type": "object",         "$ref": "my-object.json#definitions/myObject"       }     },     "myobjectbs": {       "type": "array",       "items": {         "name": "myobjectb",         "type": "object",         "$ref": "my-object.json#definitions/myObject"       }     },     "AnotherObjects": {       "type": "object",       "properties": {         "attribute1": {           "type": "string"         },         "attribute2": {           "type": "string"         },         "myobjectbs": {           "type": "object",           "$ref": "#/properties/myobjectbs"         }       }     }   } }
{   "$schema": "http://json-schema.org/draft-07/schema#",   "definitions": {     "myObject": {       "type": "object",       "properties": {         "value": {           "type": "string"         }       }     }   } }


Add language version search facet and language version column in versions tab

Description
This PR adds a Language Versions facet on the search page and a Language Versions column in the Versions tab for tools and workflows. The Language Versions facet allows users to filter for tools/workflows that contain files with the workflow language versions. Users can view the specific language versions of each entry version by looking at the Versions tab of the entry.
View PR https://github.com/dockstore/dockstore/pull/5295 for the webservice changes.
Note that our legacy tools can have more than one descriptor language (CWL & WDL). This PR only displays language versions in the Language Versions tab for legacy tools if the tool has one descriptor language to simplify things and because we plan to get rid of WDL tools and deprecate the legacy tool registration eventually (docs). From what I can tell, prod has < 10 legacy tools that are both CWL and WDL.
Language Versions facet:

Language Versions column in Versions tab:

Review Instructions

Register a workflow (make sure that the workflow language you use has language version parsing implemented because not all of them may be implemented yet; WDL is implemented so that's a safe bet).
Publish the workflow
Go to the search page and verify that there's a Language Versions facet for your workflow and that the language version corresponds to the language version in your workflow's descriptor.
Click on the workflow and navigate to the Versions tab. Verify that there's a Language Versions column and that it contains the correct language version for your workflow version.
Repeat a similar process for tools.

Issue
SEAB-5052
Security
If there are any concerns that require extra attention from the security team, highlight them here.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that your code compiles by running npm run build
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] If this is the first time you're submitting a PR or even if you just need a refresher, consider reviewing our style guide
[x] Do not bypass Angular sanitization (bypassSecurityTrustHtml, etc.), or justify why you need to do so
[x] If displaying markdown, use the markdown-wrapper component, which does extra sanitization
[x] Do not use cookies, although this may change in the future
[x] Run npm audit and ensure you are not introducing new vulnerabilities
[x] Do due diligence on new 3rd party libraries, checking for CVEs
[x] Don't allow user-uploaded images to be served from the Dockstore domain
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.
[x] Check whether this PR disables tests. If it legitimately needs to disable a test, create a new ticket to re-enable it in a specific milestone.

I haven't looked at the code yet, nor tried running it, but isn't this facet is going to behave a bit differently than others? In your example, a single workflow has both WDL 1.1 and 1.0 versions. Assuming your use case/screenshots in the description, if you select both facets, you will see one workflow in the search results, correct? It might be confusing, because you might expect to see 2 items visible.
Do we have any other facet that acts like this?
It's not necessarily wrong, I'm just trying to understand at this point, and I don't really have an alternative if it's so.

In your example, a single workflow has both WDL 1.1 and 1.0 versions. Assuming your use case/screenshots in the description, if you select both facets, you will see one workflow in the search results, correct? It might be confusing, because you might expect to see 2 items visible.
Do we have any other facet that acts like this?

I believe the Verified Platforms facet behaves in a similar manner. According to its tooltip, it Indicates which platform a tool or workflow (at least one version) was successfully run on.
For example, this workflow has two versions with different Verified Platforms, Dockstore CLI and Cromwell. If you select both Verified Platform facets, you would only see one workflow in the search results. This is an example search query for that workflow.

Do we have any other facet that acts like this?

I believe the Verified Platforms facet behaves in a similar manner. According to its tooltip, it Indicates which platform a tool or workflow (at least one version) was successfully run on.
For example, this workflow has two versions with different Verified Platforms, Dockstore CLI and Cromwell. If you select both Verified Platform facets, you would only see one workflow in the search results. This is an example search query for that workflow.

Thanks for clarifying! I did not know about those facets. Also, in hindsight, the use case I cited of mixed versions is rarely going to come up in any case.


Use train dataset for training dice-ml data interface

Signed-off-by: gaugup<EMAIL_ADDRESS>

thanks for catching this!


Bug (file selection)

File import doesn't allow selecting files although (.TCX file is shown).

This issue is fixed in #11


React Native 0.59.5 : Crash on app launch - Android. Uncaught TypeError: callback is not a function

React native app is working properly on development environment. But after output the app close automatically on launch.
{
"name": "xxxx",
"version": "1.0.1",
"private": true,
"rnpm": {
"assets": [
"./assets/fonts/",
"./assets/rules.html"
]
},
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"@react-native-community/netinfo": "^2.0.7",
"firebase": "^5.10.1",
"moment": "^2.24.0",
"native-base": "^2.12.0",
"react": "16.8.3",
"react-native": "0.59.5",
"react-native-calendar-strip": "^1.3.8",
"react-native-fbsdk": "^0.8.0",
"react-native-firebase": "^5.3.1",
"react-native-gesture-handler": "^1.1.0",
"react-native-google-signin": "^1.2.3",
"react-native-local-mongodb": "^2.2.9",
"react-native-render-html": "^4.1.2",
"react-native-timeago": "^0.4.0",
"react-native-webview": "^5.7.1",
"react-navigation": "^3.9.1"
},
"devDependencies": {
"@babel/core": "7.4.4",
"@babel/runtime": "7.4.4",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"metro-react-native-babel-preset": "0.53.1",
"react-test-renderer": "16.8.3"
},
"jest": {
"preset": "react-native"
}
}
React Native Environment Info:
System:
OS: Windows 10
CPU: (4) x64 Intel(R) Core(TM) i5-3437U CPU @ 1.90GHz
Memory: 852.26 MB / 5.87 GB
Binaries:
npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-182.5<IP_ADDRESS>64788
I have also tried  "react": "16.8.6" & "react-native": "^0.59.6". But same problem I am facing.

Here is example my code.
`export default Teachers = () => {
const [db, setDB] = useState(null);
const [state, setState] = useState({ isLoading: true, teachers: [] })
useEffect(() => {
	const unsubscribe = Firestore.collection('xxxxx').orderBy('order').onSnapshot(querySnapshot => {
		Database.app.remove({ metakey: 'teachers' }, { multi: true });
		const teachers = querySnapshot.docs.map(docTeacher => ({ ...docTeacher.data(), id: docTeacher.id, metakey: 'teachers' }));
		teachers.forEach(teacher => {
			Database.app.update({ id: teacher.id, metakey: 'teachers' }, teacher, { upsert: true }, () => setDB(Math.random()));
		});

	}, () => setDB(Math.random()));

	return () => unsubscribe();
}, []);

useEffect(() => {
	if (!db) return;
	Database.app.find({ metakey: 'teachers' }).sort({ order: 1 }).exec((err, teachers) => setState({ isLoading: false, teachers }));
}, [db])

const beforeContent = () => {
	if (state.isLoading) return <Loading />;
	if (!state.teachers.length) {
		return <MessageBox icon="chalkboard-teacher" title="No Teachers Found" />
	}
}

return (
	<Wrapper heading={{ title: 'Our Teachers' }}>
		<Content padder contentContainerStyle={{ flexGrow: 1 }}>Something here</Content>
	</Wrapper>
)

}`

I don't know how to solved this problem.


Get the ORDER-ID field

On a purchase notification, right now I get access to a "trans_receipt" field which doesn't seem to correlate to anything the customer sees or receives.
But in the Apple iTunes receipt - they do get an ORDER-ID field - would it be possible to get that field?

Hey @erjdriver , there is no such property. You can see all the available properties on iOS here. You can check what you receive in the transactionIdentifier field, but not sure if that is going to be the same as the Order ID.


JWT role invalidation

I'm trying to figure out how to deactivate (but not delete) user accounts. e.g. if an employee leaves.
First step will be adding an 'active' column to my users table.
Using this, you could check that the user is active when you fetch their user id:
create function core.current_setting_no_throw(s text) returns text
	language plpgsql as $$
	begin
		return current_setting(s);
	exception
		when undefined_object then return NULL;
	end
	$$;

create function core.postgrest_user() returns uuid
	language plpgsql as $$
	declare
		_id uuid;
	begin
		_id = core.current_setting_no_throw('postgrest.claims.user_id')::uuid;
		if _id is null then
			return null;
		elsif exists(select 1 from core.users where id = _id and active = false) then
			raise invalid_password using message = 'your user is inactive';
		end if;
		return _id;
	end
	$$;

However this does nothing to change/remove the role that is restored by postgrest from their JWT token.
Postgrest needs a way to jump in and validate a role/JWT before it's used.

Just mentioned this in the gitter, but check out https://github.com/begriffs/postgrest/issues/529 has a similar feel. I solved this for now by adding a database role for every user, then granting group membership to certain users. I can share some of the functions etc that I made to make the process of role creation etc manageable if that would be helpful. It just feels a bit awkward because of the whole role/cluster thing. But it does allow you to do individual GRANT/REVOKE for the users, so even if the employee doesn't leave but their permissions change it makes it easier. If your app isn't horribly large the role system should be a perfectly viable way of handling it. I still think that a hook before the SET ROLE statement would be useful for other reasons and make this a little cleaner, but this way definitely works.

I solved this for now by adding a database role for every user, then granting group membership to certain users.

For my original design I discussed this in the #postgresql irc room, and they said its a bad architecture from their perspective: something about how the user catalogue has locks around access and is shared between databases.
Not to mention, I think I ran into issues inheriting from a system catalogue; which makes adding extra user attributes error prone.

So I'm going to write this with the caveat that I'm not really using this for public signup, so it's a different sort of system, users will be added by specific classes of users that already exist. And in terms of user names, I just use the email directly, because that was good enough for me to start. You could, however, generate a random username for use internally when a new user signed up, insert it into the user table, wait until they confirm their email or something and then create the role. Hell, I don't see any reason you couldn't just use a uuid generated when they make their account. Especially if you wanted to be able to add multiple emails to login by. For me the single email was enough.
The user is always created in the anon user group, has no ability to login or do anything else really, the authenticator can switch to that role, but relies on a different user with ability to grant the roles available to your application to grant them membership in a role, but that should be limited in its scope. So I tried to limit the work that was happening as a superuser.
--as a superuser or user with CREATE ROLE ability:
CREATE OR REPLACE FUNCTION create_role( n_role_name TEXT) RETURNS void as $_$
DECLARE
    use_sql TEXT;
BEGIN
    use_sql := 'CREATE ROLE ' || quote_ident( n_role_name )||' WITH NOSUPERUSER NOCREATEROLE NOCREATEDB NOLOGIN NOBYPASSRLS NOREPLICATION IN ROLE anon;';
--should throw an error if someone tried to add permissions somehow, though quote_ident should help
    EXECUTE use_sql;

    use_sql := 'GRANT ' || quote_ident( n_role_name )|| 'TO authenticator;';
    EXECUTE use_sql;
    UPDATE auth.users SET role_created=true WHERE email=in_role_name;
END;
$_$ LANGUAGE plpgsql SECURITY DEFINER;
REVOKE ALL ON FUNCTION create_role (n_role_name TEXT) FROM public; --just to make sure
GRANT EXECUTE ON FUNCTION create_role (n_role_name TEXT) TO new_user_creator, administrator;
--assumes you have a role, perhaps a server that can create a new user and that the administrator can also do this.

Then we have a function that handles granting roles to the user, this isn't created as a superuser but just as the administrator of the database for the app, the administrator user has access to everything on the database for the application, but not for other databases. It also has access to the other roles that I've created specifically for the app, like a manager who can grant their role to other managers and field_tech to people in their company but not outside of it.

SET ROLE administrator;
CREATE OR REPLACE FUNCTION grant_helper(  n_role_grant user_type, n_role_name TEXT) RETURNS bool as $_$
BEGIN
    UPDATE auth.users SET role_type=n_role_grant WHERE email=n_role_name;
    RETURN true;
END;
$_$ LANGUAGE plpgsql SECURITY DEFINER;
REVOKE ALL ON FUNCTION grant_helper (n_role_grant user_type, n_role_name TEXT) FROM public; --just to make sure
GRANT EXECUTE ON FUNCTION grant_helper(n_role_grant user_type, n_role_name TEXT) TO  manager;

SET search_path TO auth, public;
CREATE OR REPLACE FUNCTION grant_role( n_role_grant user_type, n_role_name TEXT) RETURNS void as $_$
DECLARE
    use_sql TEXT;
BEGIN

    use_sql := 'GRANT ' || quote_ident( n_role_grant::text )||' TO ' || quote_ident( n_role_name )||';';
    EXECUTE use_sql;
    PERFORM auth.grant_helper(n_role_grant, n_role_name);
END;
$_$ LANGUAGE plpgsql ;
REVOKE ALL ON FUNCTION grant_role (n_role_grant user_type, n_role_name TEXT) FROM public; --just to make sure
GRANT EXECUTE ON FUNCTION grant_role (n_role_grant user_type, n_role_name TEXT) TO  manager;

You can easily make analogous functions for dropping roles or revoking permissions.
All this said, I don't think this is the best solution, using hooks would be much better eventually, there also should be better checks for whether the user exists before it's created or anything, but I sort of didn't care if it just errored in that case. There is likely a way to break this, I tried to make it hard, but probably isn't remotely perfect. So I'd listen to the folks at the postgres IRC-perhaps it could be done as a stopgap, but I wouldn't use it long term. I still think that adding some sort of hook/extension point to the PostgREST bit is a much more elegant way of doing things...and if there are thoughts on why this is horrible, please do let me know.

The master branch now supports a parameter called --pre-request. You give it the name of a schema-qualified stored procedure and it will call the procedure right after authentication but before the any data is fetched. This function can do anything it wants, including changing to another role or raising exceptions to stop the request.
If the built-in postgres permissions system isn't enough for your use case then this extra procedure should do the trick.


Safari/Chrome/Firefox should get points for drawFocusIfNeeded

…uses the old name for the API

Thanks for the PR!
I'm fixing this only in version 8, i'm not going to add any bug fixes for 6 and 7, because that will invalidate all existing test results.


Swapping VNodes doesn't update children

I'm not entirely sure with this one:
I'm taking a stream of a VNode (a subtree) and swap two of its children.
The children swap as expected (in the actual dom), but their children are not swapped. (They are correct in the vnode i give to the dom driver). I clone the object via Object.assign and construct a completely new child array, so the references are not equal.
Is this intended behavior and if so what should I do to change the behavior, or is this a bug in the vdom that optimizes over-agressivly?
Code to reproduce the issue:
Will follow
Expected behavior:
children of swapped children change positions in dom
Actual behavior:
the vdom modifies the parent attributes, so they seem to swap, but their children are not moved
Versions of packages used:
The newest versions of xstream, xstream-run and dom

Required follow up question: are you using key on each vnode?

No, is it needed to distingush nodes? I thought the algorithm would use a simple equality check.

There's no way the virtual DOM can disambiguate whether you want to just change the attributes of the two or if you want to swap the two. Unless with keys.

Ok, thanks, is this documented? I read the interfaces.ts file and a little comment there would be helpful.
Should I open a PR?

It's documented in snabbdom and also in React (keys are a known mechanism in all these virtual DOM libraries).


Incorrect simplified chinese fonts in PowerToys Run

Microsoft PowerToys version
0.86.0
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
PowerToys Run
Steps to reproduce

As shown in the screenshot, it can be seen from the character “门” that this font belongs to the “异体字”(variant form character) in Simplified Chinese. This usually occurs because the font used does not include the standard forms of Chinese characters. Common reasons include: prioritizing Japanese kanji fonts, or using traditional Chinese character fonts with Hong Kong or Taiwan character shapes. Simplified Chinese fonts that include standard character shapes include Microsoft YaHei, which is the default font in the Simplified Chinese environment for Windows.
The question is, why does PowerToys Run ignore the default Windows font and use a variant form? What is its font fallback rule?
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

It's a problem with Windows, it should be something wrong with the language in the user configuration, but I can't find it.
In short, after creating a new user, there is no problem in the new user.


Split fixtures

Hello,
I just split fixtures into multiples files. 😉

@abdounikarim we thank you this contribution ... but sadly we must close it without merging. The reason is that this Demo app follows the Symfony best practices strictly. Regarding fixtures, this is what we recommend:

So, we must keep the fixtures in a single file ... even if it's a slightly long class. Thanks for understanding 🙏


Support json and result as object

First off, thanks for the awesome provider, I nearly dabbled into learning Go to write one from scratch but maybe later for that :)
Before finding this provider, I made a hack like this:
data "external" "json_secrets" {
  program = ["ansible-vault", "view", "vars/secrets.json"]
}

This allows us to decrypt secrets in other formats than Yaml and one can refer to all secrets at once via data.external.secrets.result.<key> (no nesting allowed, but maybe not a problem usually). I wonder if it would make sense to have similar support in this provider too?

Hi @viesti,
We'll think about introduce executable in provider. This feature will resolve #49 too.
Best

Thanks for the reply!
I realized that I might not have communicated too well. I was thinking that there could be an attribute where the whole contents of the encrypted file would be present and that it would not go through Yaml parsing, allowing the content to be something else than Yaml. Maybe something like:
data "ansiblevault_path" "secrets" {
  path = "vars/secrets/secrets.json
}

resource "aws_db_instance" "my-db" {
  password = jsondecode(data.ansiblevault_path.secrets.contents).db_password
}

, where omitting the key attribute would instruct not to parse the content and the decrypted contents would be available via contents attribute.
BR,
Kimmo

No problem, I was thinking about introduce an abstract unmarshall content https://github.com/MeilleursAgents/terraform-provider-ansiblevault/blob/561b7274f939b89a9984f76acfebffe22ac987fb/pkg/vault/vault.go#L82 and introduce content-type

Sounds like a nice direction of further development :)

Hi all,
thanks for the provider!
I am also searching for something related to this thread:
### #Want to read all the keys from file at once:
data "ansiblevault_path" "path" {
provider  = ansiblevault.myconf
path = "./simple_vault_test.yaml"
}
#Usage, (example):
resource "azurerm_key_vault_secret" "secret" {
 for_each     = data.ansiblevault_path.path.key
 key_vault_id = azurerm_key_vault.key-vault.id
  name         = each.value.key
  value        = each.value.value
  tags         = var.tags
}
Will appreciate it a lot.
Thanks

Hi all,
thanks for the provider!
I am also searching for something related to this thread:
### #Want to read all the keys from file at once:
data "ansiblevault_path" "path" {
provider  = ansiblevault.myconf
path = "./simple_vault_test.yaml"
}
#Usage, (example):
resource "azurerm_key_vault_secret" "secret" {
 for_each     = data.ansiblevault_path.path.key
 key_vault_id = azurerm_key_vault.key-vault.id
  name         = each.value.key
  value        = each.value.value
  tags         = var.tags
}
Will appreciate it a lot.
Thanks


[CODE] Splitting in smaller files for organization

The current dahlia.py file is only about 400 lines of code but it is always nice to split code into small dedicated files.
Hence I propose something like the following:

constants.py for storing all the constants, especially the color maps that take a lot of space
legacy.py for dprint & dahlia legacy functions
maybe an utils.py to keep only the Dahlia class into dahlia.py?

Implemented already, thanks!


fix: request minified json when using the rest fallback

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

this ticket might be related to https://github.com/googleapis/nodejs-firestore/issues/2215 and why there is a huge memory spike.


hg19 genome

Can you please link the fasta and gtf files that are used when "hg19" is entered as the 'reference' input?

Hi @v-mahughes ,
You may find the complete list of genome references used by Cellranger workflow at https://github.com/lilab-bcb/cumulus/blob/master/workflows/cellranger/index.tsv. The fasta and gtf files are inside the tarball.
To download the tarball you want to check, you may use gsutil command-line tool with requester pay feature (https://cloud.google.com/storage/docs/using-requester-pays#using).
Please let me know if you have any further question.
Sincerely,
Yiming

Are these the same genomes you use for dropseq as well?


[WIP] cmd/govim: demonstration of a balloon message

Demo: https://youtu.be/BPeGBGdtycw

This is superseded by #32


feat: twitter/instagram connect in new onboarding flow

Why
Right now printing the token in console. We need to do API call there!

Test Plan
Test Instagram connect and Twitter on onboarding screen. It should log tokens on console

@hirbod will merge when API endpoints are up. Would be easier to review.


shared memory crash fixes

Fix cases when shared memory allocated by first instance of applicaion being
overwritten by another instance attaching same shared memory segments.  It happens
in case when 'nginx' server is running, but configuration is updated and 'nginx -t'
is called in order to update configuration.  Shared memory segment gets overriten by
second instance of nginx, and any call to LogFile/SharedFile::find_handler() will
cause crash.
With this fix, every initialized block is being marked with feature specific signature
assuming that block in use already, and can't be re-used yet.  For second and later
application instances yet another ftok() code is adviced to use (via recursive call to
add_new_handler()).

Spent some time in attempts to make it working, but everything I have so far is the following message:
# nginx
nginx: [emerg] "proxy_pass" directive Failed to allocate shared memory (1): Invalid argument in /etc/nginx/nginx.conf:80

Configuration is pretty straightforward (3 server blocks with 6 locations in total, modsecurity is enabled in 3 locations with generic OWASP CRS v3.0.0).

strace(1) tail:
open("/var/log/modsec_audit.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 6
lseek(6, 0, SEEK_END)                   = 9612542
stat("/var/log/modsec_audit.log", {st_mode=S_IFREG|0644, st_size=9612542, ...}) = 0
stat("/var/log/modsec_audit.log", {st_mode=S_IFREG|0644, st_size=9612542, ...}) = 0
shmget(0x1001aa1, 96, IPC_CREAT|0666)   = -1 EINVAL (Invalid argument)
shmdt(0x56013b4b1ba0)                   = -1 EINVAL (Invalid argument)
close(6)                                = 0
gettid()                                = 5309
write(3, "2017/01/31 14:12:58 [emerg] 5309"..., 145) = 145
write(2, "nginx: [emerg] \"proxy_pass\" dire"..., 121nginx: [emerg] "proxy_pass" directive Failed to allocate shared memory (1): Invalid argument in /etc/nginx/nginx.conf:80) = 121

Hi @phantom-az,
Thank you for the patch!
The main reason why we have this shared memory was to avoid the logs be over-written by different process. In the fork perspective it was convenient to also share the file descriptor and other data that may be useful while writing the logs. But, the real crucial information that most be shared among the different process (and threads) is the critical section locking. It means that in practice we can remove all the other data which is not about the file name and/or the locking structure.
I made this patch, that may solve the issue:
https://github.com/SpiderLabs/ModSecurity/blob/v3/dev/parser/src/utils/shared_files.cc
Tell me if you have any concern about it.


Handle native context in setUrl

In order to be able to open deeplinks on iOS, I implemented a solution using xcrun simctl openurl command.

I guess we need to create a deeplink on https://github.com/appium/ios-test-app (something like testapp://sum?a=(integer)&b=(integer)) to test that.

@sa-spag yeah this is great. do you know how to create a deeplink scheme? would you mind doing it for TestApp?

@jlipps Yep, that's why I updated it using a build created from https://github.com/appium/ios-test-app/pull/16. Perhaps we could add https://github.com/appium/ios-test-app as a dependency and change the path here?

@sa-spag I think @imurchie made it this way because we were having trouble building the test app on CI, and so including it pre-built was easier. anyway, for now you've got the change here as well which is what's important. we can figure out what else to do later.

We can't just have the test app as a dev dependency because we need to run this repo in Travis using Xcope 7.3 and a recent change to the test app makes it impossible to build below 8.

Published in<EMAIL_ADDRESS>


Module "stream" has been externalized for browser compatibility and cannot be accessed in client code.

Describe the bug
import { Octokit } from "@octokit/rest";
When I introduce dependencies and use .The browser will say
Uncaught Error: Module "stream" has been externalized for browser compatibility and cannot be accessed in client code.
    at Object.get (browser-external:stream:3:11)
    at index.mjs:11:25

Reproduction
import { Octokit } from "@octokit/rest";
const octokit = new Octokit({
  baseUrl: 'https://api.github.com',
});
octokit.rest.repos.get({
        owner: 'vitejs',
        repo: 'vite',
      })

System Info
System:
    OS: macOS 11.5.2
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 258.38 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.17.3 - /usr/local/opt/node@14/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 6.14.13 - /usr/local/opt/node@14/bin/npm
  Browsers:
    Chrome: 93.0.4577.63
  npmPackages:
    vite: ^2.6.4

Used Package Manager
yarn
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

stream is a nodejs module, and Vite does not polyfill them by default. I'd suggest finding solutions on the web to shim it, or avoid the library if possible. Closing as intended behaviour.

try https://github.com/octokit/octokit.js.
@octokit/rest is built for node and relies on built-in node modules


I have installed khalti plugin as shown in documentation

This is giving me an error of khaltiLocalization.

So please lets have a look into this.

Hi @mohak8525 , you need to add KhaltiScope in the topmost widget of your app, above your main MaterialApp.

Closing for now. Please reopen if the issue still exists.


Clippy Pedantic Acceptable Commits

These are the commits which you said you would accept.
https://github.com/uutils/coreutils/pull/6720

^ tertsdiepraam

could you please merge the two last commits into the relevant commit?
git rebase -i origin/main
will help
thanks


problems with update-claim in batch mode

With
{"guid":"Q417654$8a1313ea-74ee-4ed5-a7ed-90c8aae09762","newValue":"InChi=1S/C19H22N2/c1-16-7-9-17(10-8-16)18(19-6-2-3-12-20-19)11-15-21-13-4-5-14-21/h2-3,6-12H,4-5,13-15H2,1H3/b18-11+"}
in tmp and
wd uc -b <tmp I get:
edit group: https://tools.wmflabs.org/editgroups/b/wikibase-cli/4ba4bc7ea38ad/
processing line 1: { "guid": "Q417654$8a1313ea-74ee-4ed5-a7ed-90c8aae09762", "newValue": "InChi=1S/C19H22N2/c1-16-7-9-17(10-8-16)18(19-6-2-3-12-20-19)11-15-21-13-4-5-14-21/h2-3,6-12H,4-5,13-15H2,1H3/b18-11+" }
old and new claim values can't be the same { oldValue: undefined, newValue: undefined }

A similar attempt with the line
Q417654$8A1313EA-74EE-4ED5-A7ED-90C8AAE09762 InChi=1S/C19H22N2/c1-16-7-9-17(10-8-16)18(19-6-2-3-12-20-19)11-15-21-13-4-5-14-21/h2-3,6-12H,4-5,13-15H2,1H3/b18-11+ gives
edit group: https://tools.wmflabs.org/editgroups/b/wikibase-cli/d2e5237510b47/
processing line 1: Q417654$8A1313EA-74EE-4ED5-A7ED-90C8AAE09762 InChi=1S/C19H22N2/c1-16-7-9-17(10-8-16)18(19-6-2-3-12-20-19)11-15-21-13-4-5-14-21/h2-3,6-12H,4-5,13-15H2,1H3/b18-11+
missing snak value { property: 'P234', value: undefined }

The format is the same as in the documentation so I'm quite surprised. Is batch uc possible at all?

Note the documentation says only the new value is needed. I tried with old and new value. First simple format:
ralf@ark:~/wikidata> wd uc -b -v <tt
edit group: https://tools.wmflabs.org/editgroups/b/wikibase-cli/a6a5371ff938a/
processing line 1: Q417654$8A1313EA-74EE-4ED5-A7ED-90C8AAE09762 1S/C19H22N2/c1-16-7-9-17(10-8-16)18(19-6-2-3-12-20-19)11-15-21-13-4-5-14-21/h2-3,6-12H,4-5,13-15H2,1H3/b18-11+ InChi=1S/C19H22N2/c1-16-7-9-17(10-8-16)18(19-6-2-3-12-20-19)11-15-21-13-4-5-14-21/h2-3,6-12H,4-5,13-15H2,1H3/b18-11+
invalid monolingualtext value { property: 'P1476', value: 'triprolidine' }

Note the statement is P234 not P1476. The other format:
ralf@ark:~/wikidata> wd uc -b -v <tt
edit group: https://tools.wmflabs.org/editgroups/b/wikibase-cli/d18a28a291187/
processing line 1: { "guid": "Q417654$8A1313EA-74EE-4ED5-A7ED-90C8AAE09762", "oldValue": "1S/C19H22N2/c1-16-7-9-17(10-8-16)18(19-6-2-3-12-20-19)11-15-21-13-4-5-14-21/h2-3,6-12H,4-5,13-15H2,1H3/b18-11+", "newValue": "InChi=1S/C19H22N2/c1-16-7-9-17(10-8-16)18(19-6-2-3-12-20-19)11-15-21-13-4-5-14-21/h2-3,6-12H,4-5,13-15H2,1H3/b18-11+" }
old and new claim values can't be the same { oldValue: undefined, newValue: undefined }

Actually, because of P1476 seems related to #128 . But note P1476 is not used by these items, at all.

which version of wikibase-cli are you using?

The P1476 comes from the reference (which apparently gets rewritten)!
ralf@ark:~/wikidata> wd --version
12.0.3

Confirmed this happens with 15.2.1 too.

I confirm uc batch works on items that don't have P1476 but only when I give four arguments: guid property oldValue newValue which needs to be changed in the documentation.

No sorry that's wrong. The two arguments work fine, as in docs. All the problems come from P1476.

There were 2 problems here:

one due to the wikibase-edit internal claim serialization, as identified in #128
one due to differences in case between the provided guid and the one returned by the Wikibase API, this should not be a problem anymore

Both problems have now been patched and published in v15.2.2, and I was able to do the edit you provided

It works. Many thanks!


FOUC Fix

Now will keep existing tags that are unchanged, instead of removing all and re-adding new.  Fixes #76
Thanks @lemonCMS

Going to add a unit test to illustrate this bug fix.  Please standby.


[tasks] add possibility to activate or deactivate task

Expected Behavior
Adding an activate and deactivate in tasks
"tasks": [
    {
      "type": "IncubateEggs",
      "active" : false,
      "config": {
        "longer_eggs_first": true
      }
    }
  ]

By default active is true if it's not given in options.
Actual Behavior
Task cannot be commented inside json file.
Steps to Reproduce
Other Information
OS:
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)

You can remove the task to disable it.