Apostrophe + Docker = Happy Developers and Happy Production

Greetings,
I have been working with Docker for quite some time now. I absolutely love Apostrohpe and am amazed with it's power, ease of use and yes power :) .
I believe that implementing Docker with Apostrophe will streamline the productivity of developers in the community that work with Apostrophe because it will create a seamless workflow for production to live. As well as allow a developer to work on their apostrophe project without having to install local software or dependencies to get up and running quickly with Apostrophe.
With that being said currently stagecoach doesn't support docker at the moment, and I believe that maybe extending stagecoach with a set of docker commands would give a great backwards compatible option to those whom are wanting to take advantage of this.
Please let me know if this is something that could be considered.
I'd be happy to dive in and start the process.
-V/R
Ryan
-P.S. not to mention the ability to quickly spin up an apostrophe 0.5 edition , or 0.6 and forward editions with a single command. And the ability to automate the runtime environment as well as run nodemon directly inside the docker container to watch for files on your local machine. Port allocation, separation of core updates and project only updates. The list goes on.

Hi Ryan! Thanks for reaching out. I'm excited about this possibility and
I'm not the only one.
Since we're not big Docker users in-house at the moment I'm curious how you
see Docker fitting into the picture. Would you use a Docker container to
create the server as a persistent critter and then keep deploying to it
with Stagecoach to update the actual node app? You could do that with
Stagecoach as it stands now, probably. Or would you be using Docker to
instantiate a wholly new Node/MongoDB/etc. VM environment on each
deployment of the site? That would be significantly different, certainly.
On Tue, Jul 26, 2016 at 1:42 PM, Ryan Watts<EMAIL_ADDRESS>wrote:

Greetings,
I have been working with Docker for quite some time now. I absolutely love
Apostrohpe and am amazed with it's power, ease of use and yes power :) .
I believe that implementing Docker with Apostrophe will streamline the
productivity of developers in the community that work with Apostrophe
because it will create a seamless workflow for production to live. As well
as allow a developer to work on their apostrophe project without having to
install local software or dependencies to get up and running quickly with
Apostrophe.
With that being said currently stagecoach doesn't support docker at the
moment, and I believe that maybe extending stagecoach with a set of docker
commands would give a great backwards compatible option to those whom are
wanting to take advantage of this.
Please let me know if this is something that could be considered.
I'd be happy to dive in and start the process.
-V/R
Ryan
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/punkave/apostrophe/issues/619, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9ffNJOKs2pwO8L4pBGydY9mGoiqnqks5qZkcPgaJpZM4JVZ4x
.

--
*THOMAS BOUTELL, *SUPPORT LEAD
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Hey Ryan, just wanted to jump and echo Tom's excitement around exploring this. At this moment, we're especially keen to explore how Apostrophe can improve support for other platforms and tools that will help streamline developer workflows. It would be great to learn more about some specific use cases that you're seeing on your end.

Hi Gentleman,
Thank you for sharing the excitement. I've been working with Docker for at least 2 years now and have watched it evolve over the years. There is an unprecedented list of approaches we could take to use Docker. I'll try to explain a couple different scenarios below. Ideally you can have different approaches depending on the team or group of developers workflow as well as how you want to structure the system is completely up to you but there are definitely some best practices.
If I repeat a few things that are known please forgive me but it's easier to start with the basics in regards to concept before diving into the details.
First there are the different bits that make up docker.
Docker Image Think of the image as a base structure for your application. This can be anything from a very minimal ubuntu image, all the way to a centos image with pre-configured settings and software that you know for sure you'll need within your application or any application that will be inheriting this image.
Docker Container The container is just a shell that runs on top of the image and runs your application. You can pass environment settings such as a port, volume mappings to keep data persistent on your local machine or server.
Linking Containers In the instance of Apostrophe we know for a fact that we need imagemagick and we need mongodb. We could easily include image magick within the base or Apostrophe image since we know this is where the main application will live. However we could  start a mongodb container with a specified port , and connect our apostrophe-site container to the mongodb container without having to install mongodb directly to the server.

I always stress the importance of using volume mappings for persistent data. Never Ever run a mongodb container in production without mapping the data folder within the container somewhere on the host. If for what ever reason the container fails, or you upgrade the base image of a container and inadvertently blitz the container, with a volume mapping you'll never lose your data.

Docker Compose Think of Docker Compose as the Director of the band. Docker compose can be used to deploy clusters of different containers together to streamline all the bits that are needed for one application. Rather than starting up mongodb, then individually starting our site, as well as any other container we may need "let's say nginx for example". By defining a few settings in docker-compose.yml file at the root of your project. You can run the command docker-compose up  and it will build the images needed for each service, and deploy them simultaneously to get the project up and running.
Now for the fun stuff.
For Apostrophe here is what I propose.

Create a Dockerfile at the root of the apostrophe project. Think of the best base machine typically ubuntu, and write install commands within the Dockerfile for installing things like imagemagick, etc.
Expose the port that apostrophe typically will run on should the user mistakenly forget to define a port at least the image will automatically expose the port. In most cases it's ok to do 3000 or 80.
Now create a docker-compose.yml and or a docker-compose-prod.yml files. Major difference between production and non production files are flags that you would want to run in a production environment for instance changing the volume mapping to a specific location in production where that location may not exist on local running with priveleged =true , which allows the container to have access and make changes on the host as if it were the user directly making those changes. and many others.

I would be happy to start the Dockerfile and yml files to get things running. Where stagecoach would come into play is rather than completely re-writing stagecoach we could give a docker name space so sc-docker some command. The sc-docker would be a wrapper for the docker commands that i've described above. Could detect the dockerfile and yml files in the folder. Personally I really like the way stagecoach orchestrates on the server as it is. Maybe rather than running the individual processes directly on the server we could have docker containers spin up and point to which ever site was deployed for stagecoach and rather than running forever the container would utilize the files from that stagecoach path to run the application.

Also it is very beneficial to have tags, or releases/branches when auto generating Dockerfiles. So I could create an image that will check for an environment variable such as apos-version: 0.5 Then use that environment variable to clone the proper tag or branch from apostrophe should the user want to start an application with an older version or migrate their existing workflow to the Docker solution.

https://github.com/rwatts3/apostrophe-docker

Also I see the main benefit for using Docker in the future is the fact that You guys at Punkave can control dependencies and specifics to the project via the Docker approach. How many issues come up where someone had a specific version of node running, or they didn't want image magick or prefered graphicsmagick or had some port collision they weren't aware of. If you can prebake the ideal environment and allow them to focus on code. This will be best for them.
We could create a apostrophe-docker-sandbox repo, Where there are two folders modules, appfiles and app.js with the docker configuration maybe even db to persist the local mongodb data. Then everything from Apostrophe Core can stay in core within the container. Since we are fetching the files and running the setup, there would be no need for the files to be outside of the box, but if they wanted to they could easily set a mount point to another folder and have the files pull down to their local as well.

I'm really interested to see what you come up with here... we are focused
on finishing 2.0.0, which will be npm published in the next few weeks;
checkout the unstable branches...
https://github.com/punkave/apostrophe-documentation/tree/unstable
https://github.com/punkave/apostrophe/tree/unstable
If you were to get creative with Docker you'd want to base it on those
branches.
Also there's the apostrophe-cli module to consider:
https://github.com/punkave/apostrophe-cli
We'd love to pave the road for those who want to use Docker.
On Wed, Jul 27, 2016 at 11:48 AM, Ryan Watts<EMAIL_ADDRESS>wrote:

Also I see the main benefit for using Docker in the future is the fact
that You guys at Punkave can control dependencies and specifics to the
project via the Docker approach. How many issues come up where someone had
a specific version of node running, or they didn't want image magick or
prefered graphicsmagick or had some port collision they weren't aware of.
If you can prebake the ideal environment and allow them to focus on code.
This will be best for them.
We could create a apostrophe-docker-sandbox repo, Where there are two
folders modules, appfiles and app.js with the docker configuration maybe
even db to persist the local mongodb data. Then everything from Apostrophe
Core can stay in core within the container. Since we are fetching the files
and running the setup, there would be no need for the files to be outside
of the box, but if they wanted to they could easily set a mount point to
another folder and have the files pull down to their local as well.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/punkave/apostrophe/issues/619#issuecomment-235628925,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fVSR0n6mUMKWu00fkNaU20KRgVkQks5qZ32_gaJpZM4JVZ4x
.

--
*THOMAS BOUTELL, *SUPPORT LEAD
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

But isn't Apostrophe more of a dependency than an actual "app"? By its very nature it would require some sort of demo or additional code to even test. I'm wondering what this image will contain.
I suppose there are also images like the Docker PHP image, which is designed to be used as a base image for your PHP projects. But with the nature of Node, it is a trivial task to just use a standard Node base image and include Apostrophe in the project dependencies.
If there were to be an image for Apostrophe, I imagine it would ideally be dead simple.
FROM node
RUN apt-get install image magic

The above is just a guess. Give or take a few apt packages.
Better yet would be a Dockerfile included in Apostrophe's scaffolding tools so you can build an image for your own site. Assuming we release an Apostrophe base image, that might look like
FROM apostrophe/apostrophe:latest
COPY . /app

I don't think it makes sense to start up Mongo and all that stuff inside the same image as the app server. The best practice is usually to keep only one process running per container. Spinning up the whole ecosystem could be done with docker-compose, or (my preference) Dokku.
Side note: how do we separate dev from production settings typically in Apostrophe? Do we keep them in separate files or just have a complex app.js? For Docker we probably want to pass the Mongo URI as an environment variable in production.

These are all good questions. Let me ask a naive question of my own: isn't
Docker mostly about getting system services in place, setting the stage as
it were? Is it worth blowing away the container on every deploy of the
site, or should Docker just be used to create the permanent environment and
stagecoach used for ordinary deploys after that, unless a move to another
environment is desired?
As for separate containers, you can separate mongodb from node, as long as
you don't introduce a lot of latency between them — that would really kill
performance with Apostrophe. The file system is another story... by default
Apostrophe expects to be able to store media files on disk in a durable
manner, I'm not sure how that impacts things (or doesn't) with Docker.
However you can configure Apostrophe to use S3 or something compatible
instead.
On Wed, Sep 7, 2016 at 2:18 AM, Alex Gleason<EMAIL_ADDRESS>wrote:

But isn't Apostrophe more of a dependency than an actual "app"? By its
very nature it would require some sort of demo or additional code to even
test. I'm wondering what this image will contain.
I suppose there are also images like the Docker PHP image, which is
designed to be used as a base image for your PHP projects. But with the
nature of Node, it is a trivial task to just use a standard Node base image
and include Apostrophe in the project dependencies.
If there were to be an image for Apostrophe, I imagine it would ideally be
dead simple.
FROM node
RUN apt-get install image magic
The above is just a guess. Give or take a few apt packages.
Better yet would be a Dockerfile included in Apostrophe's scaffolding
tools so you can build an image for your own site. Assuming we release an
Apostrophe base image, that might look like
FROM apostrophe/apostrophe:latest
COPY . /app
I don't think it makes sense to start up Mongo and all that stuff inside
the same image as the app server. The best practice is usually to keep only
one process running per container. Spinning up the whole ecosystem could be
done with docker-compose, or (my preference) Dokku.
Side note: how do we separate dev from production settings typically in
Apostrophe? Do we keep them in separate files or just have a complex
app.js? For Docker we probably want to pass the Mongo URI as an environment
variable in production.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/punkave/apostrophe/issues/619#issuecomment-245185865,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fRYUxlFIQYoWUhhni5wzmLSWPfZMks5qnldSgaJpZM4JVZ4x
.

--
*THOMAS BOUTELL, *SUPPORT LEAD
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Typically Docker containers contain "apps", or they define a base image for an app to inherit from.
myclientsite.com might be one Docker image. It's done this way so you can rest assured that the site will function without any extra configuration, and it's sandboxed so you can destroy it without harming other software on the server. It is worth every site having its own image because images are constructed out of the equivalent of git commits, so if you base two images on the same image the system will compress them.
Btw I live like three blocks from Punk Ave, would be cool to meet up if you have time. I'm coming from Wagtail and pretty excited about Apostrophe.

The image would more so be treated as the "Ideal " environment that apostrophe needs to run smoothly for all operating systems.
I would see the image containing a directory of "apps" , with npm, node, imagemagick, and forever already installed with the recommended versions. There could even be a production image , or services image that contains nginx, and mechanic. Then we would use docker-compose to point our local directory to the apps directory inside the container generated from the image.
I would suggest having two different docker compose files one for production and one for local. The production environment would use forever.
A docker namespace in the stagecoach module could be used as a wrapper for docker compose commands. So if you wanted to deploy mongodb, nginx/mechanic, and your application. You would still copy your app directory to the native server , then point your docker container to that directory and use this as the base of your application with all of the prerequisites installed within the container/image layer.

How can we know the "ideal environment"?

I Agree with @boutell to help reduce the latency , create a link between your node container, and the mongo container and have them talk directly to each other.

I usually determine the ideal environment based on the instructions of what the application or service is suggesting.
So if Punkave is recommending a specific node version, with a specific version of npm, and a specific version of imagemagick. You would set your image up to contain that specific environment. If they say Apostrophe runs best on ubuntu 14 vs. centos , then you would use either one of those operating systems as your base. It really depends on the installation instructions of Apostrophe.

@alexgleason I like the idea of using a Dockerfile for continioius deployment in a production environment. It totally makes since. In the Meteor community a lot of devs use an image that contains something like a base tag, an onbuild tag, as well as a production and or dev tag. If you were to deploy using the onbuild tag. It could contain instructions to use the base image , and build the app by copying the local source directly to the container, and using that rather than pointing to code on the production server.
The base container could be used to hold all of apostrophe's code.
One of the benefits I see using docker is the fact, that you can keep common modules that you share accross multiple clients in one docker instance. And share them accross different sites. These could be private modules that you wish to not share publicly with the community.

@boutell You could define a local mount , for the file storage. I would even recommend having the entire code stored on the server just as it already does with stagecoach, for persistence. The only thing docker would do, is look for the code in the upload path. And house all of the prerequisites for apostrophe. I would say we can start with taking the manual steps in production and building the image/container based on that. Then just leave the source as you are already doing it.

That makes sense.
So would we still use sc-deploy as we do now for deployment of each new
update of the site, to an existing container? Or would the entire business
rebuild (with some optimizations, I gather, that make that fast...) on each
deploy? What happens to durable files like public/uploads?
On Wed, Sep 7, 2016 at 11:11 AM, Ryan Watts<EMAIL_ADDRESS>wrote:

I usually determine the ideal environment based on the instructions of
what the application or service is suggesting.
So if Punkave is recommending a specific node version, with a specific
version of npm, and a specific version of imagemagick. You would set your
image up to contain that specific environment. If they say Apostrophe runs
best on ubuntu 14 vs. centos , then you would use either one of those
operating systems as your base. It really depends on the installation
instructions of Apostrophe.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/punkave/apostrophe/issues/619#issuecomment-245312447,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fdn3UaQFOjYtPYFx8qrqe8p4GP03ks5qntQegaJpZM4JVZ4x
.

--
*THOMAS BOUTELL, *SUPPORT LEAD
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Would love to see someone take a rough and ready pass at this so we can
experiment with that!
On Wed, Sep 7, 2016 at 11:19 AM, Ryan Watts<EMAIL_ADDRESS>wrote:

@boutell https://github.com/boutell You could define a local mount ,
for the file storage. I would even recommend having the entire code stored
on the server just as it already does with stagecoach, for persistence. The
only thing docker would do, is look for the code in the upload path. And
house all of the prerequisites for apostrophe. I would say we can start
with taking the manual steps in production and building the image/container
based on that. Then just leave the source as you are already doing it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/punkave/apostrophe/issues/619#issuecomment-245315208,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fcNLoEGQhkR6Q7dddwl_KvbXPM52ks5qntYdgaJpZM4JVZ4x
.

--
*THOMAS BOUTELL, *SUPPORT LEAD
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Truthfully I am a huge fan of sc-deploy and I think it does it's job just fine.
May be we can introduce a docker flag --docker or a docker name to accomplish this task.
I also submitted an issue to the stagecoach repo about possibly submitting a PR to allow stagecoach to work on all platforms.
I've written a few cli tools using node and shelljs. Maybe this could be a good option to introduce the docker commands, while maintaining the existing sc-deploy logic.

Durable files like public/uploads could be stored in a volume on the server, and included within the container by using a volume argument. This ensures when the container is torn down and rebuilt, so long as you point to that same directory the files will be persistent.
Some in the docker community recommend using data containers to store things like that. I advise against it because a data container an be destroyed the same way any other container is destroyed. For things like this or persistent mongodb data it's always a good idea to map it directly to the server.

Wanted to share this,
A first crack at making stagecoach able to run on any operating system, which will be the foundation for the docker options and deployment.
This is running on windows. Still a good deal to go.

https://github.com/rwatts3/stagecoach/tree/stagecoach2

Here's a Dockerfile that will work with any Apostrophe project.
FROM node:6.5.0

# Create app directory
RUN mkdir -p /app
WORKDIR /app

# Bundle app source
COPY . /app
RUN npm install

EXPOSE 3000
CMD [ "npm", "start" ]

Just include it as Dockerfile in the base of your project and run docker build -t punkave/test-project . to build the image. Make sure npm run start runs the server, because this relies on it. I also recommend including a .dockerignore file to prevent unnecessary files from being copied into the image.
At this point it's really up to you to configure it and bring it up depending on how you set up MongoDB. But the following steps can get you started.
Start by including environment variables to connect to Mongo in your app.js.
    'apostrophe-db': {
      uri: 'mongodb://' + process.env.MONGODB_PORT_27017_TCP_ADDR + ':' + process.env.MONGODB_PORT_27017_TCP_PORT + '/mydb'
    },

Then rebuild the image, pull the Mongo image, run the Mongo image, and then run the the Apostrophe image you just built, linking it to the Mongo image.
$ docker build -t punkave/test-project .
$ docker pull mongo
$ docker run -d --name apos-test-db mongo
$ docker run --link=apos-test-db:mongodb -p 3000:3000 punkave/test-project

If you run into problems or these instructions aren't clear enough, see this guide to using Docker with MongoDB and Node.
The Dockerfile is really simple. The Node app it bases its image from even has ImageMagick already so that's not a concern.
A really opinionated official Apostrophe Dockerfile could look like this:
FROM node:6.5.0

EXPOSE 3000
CMD [ "npm", "start" ]

While the project Dockerfiles look like this:
FROM punkave/apostrophe:latest

# Create app directory
RUN mkdir -p /app
WORKDIR /app

# Bundle app source
COPY . /app
RUN npm install

Again, having an Apostrophe Dockerfile seems kind of pointless when it needs literally no extra dependencies? It might be good just as a placeholder alone, and with a good readme attached. But I'm not sure it's worth obfuscating the Node image just to call it something different.

Well, Docker supports uploading images with arbitrary tags. Tags represent variations in the image, like different versions or different configurations. If different versions of Apostrophe require different Node versions or dependencies then it might be worth it.
For instance, perhaps a user can do this:
FROM punkave/apostrophe:0.5

or this:
FROM punkave/apostrophe:2.0.0

So, in that sense maybe it could be worth having dead-simple Dockerfiles as proxies.

Closing this because we have a Docker tutorial:
http://apostrophecms.org/docs/tutorials/howtos/docker.html
Feel free to open new issues for improvements, additions, etc. Didn't want this to get too unwieldy.


fix userguide

section 6.4 queue to showqueue

Pull Request Test Coverage Report for Build 1238

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.86%

Totals

Change from base Build 1235:
0.0%

Covered Lines:
3381

Relevant Lines:
4705

💛  - Coveralls


vm-test-run-boot-bios-usb blocker

Describe the bug
Build failure on hydra release-20.09
https://hydra.nixos.org/build/131059528
(blocker)
To Reproduce
https://hydra.nixos.org/build/131059528
Expected behavior
Screenshots
Additional context
Notify maintainers
@edolstra @fpletz
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
 - nixosTests.boot.biosUsb
# a list of nixos modules affected by the problem
module:

Seems like an unreliable test. Removed channel blocker severity.

again...
hb50yfz3yvpqhs956ya1hvw2z6qfycmb-vm-test-run-boot-bios-usb.drv.log

Please keep this label only for when its currently blocking, as these items are shown on status.nixos.org.

Aand it's back, on 20.09

This is a flaky test, but not a channel blocker. nixos-20.09 advanced a day ago:

Some differences in the log
-: bad log from previous comment
+: successful log from local build
This error seems closest to the root cause.
[messy bootloader output, redacted]
-machine # Loading /boot/initrd...CHS: Error 0c00 reading sector 81301 (40/10/32)
-machine # EDD: Error 0c00 reading sector 81301
-machine # CHS: Error 0c00 reading sector 82605 (40/31/13)
-machine # EDD: Error 0c00 reading sector 82605
-machine # ok
-machine # cProbing EDD (edd=off to disable)... ock[   ] Linux version.81 (nixbld@localhost) (gcc version.0 (GCC)) #1-NixOS SMP Wed Dec 2 07:49:57 UTC 2020
+machine # Loading /boot/initrd...ok
+machine # Probing EDD (edd=off to disable)... ok[   ] Linux version.85 (nixbld@localhost) (gcc version.0 (GCC)) #1-NixOS SMP Mon Dec 21 12:27:07 UTC 2020
 machine # [   ] Command line: [redacted]

A subsequent error seems to be about a fallback that doesn't work. In the successful log, no ramdisk is "detected", presumably because the virtual usb drive became the root filesystem.
probably less relevant log
-machine # [   ] RAMDISK: gzip image found at block 0
-machine # [   ] RAMDISK: incomplete write (14052 != 32768)
-machine # [   ] write error
-machine # [   ] List of all partitions:
-machine # [   ] 0100            4096 ram0
-machine # [   ]  (driver?)
-[more of the same, redacted]
-machine # [   ] No filesystem could mount root, tried:
+machine # [   ] Freeing unused kernel image memory: 1552K
+machine # [   ] Write protecting the kernel read-only data: 16384k
+machine # [   ] Freeing unused kernel image memory: 2012K
+machine # [   ] Freeing unused kernel image memory: 1924K
+machine # [   ] Run /init as init process
+machine #
+machine # <<< NixOS Stage 1 >>>
+[test continues as normal]

diff command
canon(){ sed -e 's/ [0-9]*[.][0-9]*//g'; }; diff -U3 --color=always <(canon <~/Downloads/6m5q895jfljzd662wz9yiz66vsc3kxmy-vm-test-run-boot-bios-usb.drv.log) <(canon </tmp/nri21z7knvx3zkdxzip88376m178gy6m-vm-test-run-boot-bios-usb.drv.log) | less -R

Some differences in the log
-: bad log from previous comment
+: successful log from local build
This error seems closest to the root cause.
[messy bootloader output, redacted]
-machine # Loading /boot/initrd...CHS: Error 0c00 reading sector 81301 (40/10/32)
-machine # EDD: Error 0c00 reading sector 81301
-machine # CHS: Error 0c00 reading sector 82605 (40/31/13)
-machine # EDD: Error 0c00 reading sector 82605
-machine # ok
-machine # cProbing EDD (edd=off to disable)... ock[   ] Linux version.81 (nixbld@localhost) (gcc version.0 (GCC)) #1-NixOS SMP Wed Dec 2 07:49:57 UTC 2020
+machine # Loading /boot/initrd...ok
+machine # Probing EDD (edd=off to disable)... ok[   ] Linux version.85 (nixbld@localhost) (gcc version.0 (GCC)) #1-NixOS SMP Mon Dec 21 12:27:07 UTC 2020
 machine # [   ] Command line: [redacted]

A subsequent error seems to be about a fallback that doesn't work. In the successful log, no ramdisk is "detected", presumably because the virtual usb drive became the root filesystem.
probably less relevant log
-machine # [   ] RAMDISK: gzip image found at block 0
-machine # [   ] RAMDISK: incomplete write (14052 != 32768)
-machine # [   ] write error
-machine # [   ] List of all partitions:
-machine # [   ] 0100            4096 ram0
-machine # [   ]  (driver?)
-[more of the same, redacted]
-machine # [   ] No filesystem could mount root, tried:
+machine # [   ] Freeing unused kernel image memory: 1552K
+machine # [   ] Write protecting the kernel read-only data: 16384k
+machine # [   ] Freeing unused kernel image memory: 2012K
+machine # [   ] Freeing unused kernel image memory: 1924K
+machine # [   ] Run /init as init process
+machine #
+machine # <<< NixOS Stage 1 >>>
+[test continues as normal]

diff command
canon(){ sed -e 's/ [0-9]*[.][0-9]*//g'; }; diff -U3 --color=always <(canon <~/Downloads/6m5q895jfljzd662wz9yiz66vsc3kxmy-vm-test-run-boot-bios-usb.drv.log) <(canon </tmp/nri21z7knvx3zkdxzip88376m178gy6m-vm-test-run-boot-bios-usb.drv.log) | less -R

Again.
x4n2vxfgclx1zzprfkmr265g6q6rrxkc-vm-test-run-boot-bios-usb.drv.txt
This issue may have selection bias because I only check 20.09.

Duplicate of https://github.com/NixOS/nixpkgs/issues/15690.


Change REMIND region definitions from ISO3 to list of countries

Closing and opening to re-trigger the tests


remove rancherd assets from the build process

issue: https://github.com/rancher/rancher/issues/33423

@jiaqiluo Can we also delete the rancherd related things from .drone.yml?
https://github.com/rancher/rancher/blob/e7045cac6dde4d0fe7fa31219217fa7b207e14e7/.drone.yml#L198-L214
https://github.com/rancher/rancher/blob/e7045cac6dde4d0fe7fa31219217fa7b207e14e7/.drone.yml#L308
https://github.com/rancher/rancher/blob/e7045cac6dde4d0fe7fa31219217fa7b207e14e7/.drone.yml#L329

@thedadams    rancherd is removed from from .drone.yml

@cbron @thedadams  Besides those two files, rancherD is also mentioned and used in multiple files under https://github.com/rancher/rancher/tree/master/cmd/rancherd and https://github.com/rancher/rancher/tree/master/scripts

@jiaqiluo I think the only one that should be removed is here: https://github.com/rancher/rancher/blob/d9ebb64616bacd2e9a1cfa35e95a914bf24fbd82/scripts/build#L6-L7
I don't think we should build rancherd anymore. If it turns out that we want to do that again, then we can add these lines back.


Add s2s user sync

The changes to get-started-with-prebid-server.md and prebidServer.md are are good, @pdezwart .
However, members.md is duplicative of https://github.com/prebid/prebid.github.io/pull/450

@bretg good catch, fixed!


TensofflowLite on Andoid: Didn't find op for builtin opcode 'CONV_2D' version '2'

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes, I am using custom Flutter plugin for Firebase Custom model
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOS
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: Samsun S10 / Emulator
TensorFlow installed from (source or binary): tf-nightly
TensorFlow version (use command below): 1.14
Python version: 3.7
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
Android library fails to load InceptionV3 model converted to TFLite.
E/CustomCompatChecker(15099): The model is INCOMPATIBLE. It may contain unrecognized custom ops, or not FlatBuffer format: java.lang.IllegalArgumentException: Internal error: Cannot create interpreter: Didn't find op for built-in opcode 'CONV_2D' version '2'
Describe the expected behavior
Model loaded. Simple models, or not optimized work.
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.

Convert TF InceptionV3 to TFLite (with optimization for size)
Load model to Android device - fails sometimes not finding a matching model or the error above.
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

You need a newer version of TensorFlow Lite, at least 1.14.0, which was just published this past week (https://bintray.com/google/tensorflow/tensorflow-lite/1.14.0).


Admin section issue

Hi!

Environment

Python version:  Python 3.6.5
NetBox version:  2.4.4 (moved from different server from version: 2.3.1)

Steps to Reproduce
The page https://netbox.domain.local/admin/ shows error:
<class 'django.template.exceptions.TemplateDoesNotExist'>
django_rq/index.html

Expected Behavior
Get control panel

Observed Behavior

Thank you.

Thank you for your interest in NetBox. GitHub issues are intended for reporting reproducible bugs and requesting features, and must be submitted using the template provided here. For general discussion, questions, or assistance with installation issues, please post to our mailing list.

Hello,
@jeremystretch
we are also facing this issue. The problem is with having django_rq installed but webhooks disabled. This happens when using the Docker container from Nine.ch. In this container the django_rq is always installed, but you can still disable the webhooks backend.
So when webhooks are disabled in the settings.py you have these lines (from 161):
# Only load django-rq if the webhook backend is enabled
if WEBHOOKS_ENABLED:
    INSTALLED_APPS.append('django_rq')

And in the netbox/admin.py you have this (from line 25):
# Modify the template to include an RQ link if django_rq is installed (see RQ_SHOW_ADMIN_LINK)
try:
    import django_rq
    admin_site.index_template = 'django_rq/index.html'
except ImportError:
    pass

I think a good fix for this would be to check in admin.py if the setting WEBHOOKS_ENABLED is true.
Kind regards
Tobias

Upgrade to 2.4.7


Update to pdb 0.3 to use its offset mapping code. Fixes #1

Also remove the now-unnecessary PE handling code.

This compiles locally but I don't know how to actually test it. :)

Thank you!! I've tested this and it's working. I will land an update to the instructions on top of this.


Update direct3d-12-video-overview.md

Fix broken links - redid the 'Related topics' list to properly use the dl/dt tags and make the links actually clickable. (Now follows the style of other files in this folder like dxva-hd.md )

@Spruill-1 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


feat(Renovate): Add manager for MegaLinter config

Add a regex manager so Renovate automatically bumps the version of the base MegaLinter configs extended in downstream repositories.

I escaped the literal periods this time to keep . from matching any character.


Use folder names that match the archive name (Windows)

Summary

The AdoptOpenJDK release archives for Windows all use the same folder name, and the folder name does not match the archive name. This means that, if we extract multiple releases into the same directory, then they will conflict with each other. I would therefore suggest using the same folder name inside the archive as the archive is named:

Steps to reproduce

Use 7-Zip's "Extract Here" context menu command with multiple different AdoptOpenJDK builds. This will result in conflicting directories, as several archives contain the same "jdk-11.0.8+10" folder inside.
Workaround: You can avoid this problem by extracting to a directory named for the archive, but then you get multiple nested folders (e.g. OpenJDK11U-jdk_x64_windows_hotspot_11.0.8_10\jdk-11.0.8+10).
Expected results
Actual results
Triaging info
Java version:

What is your operating system and platform?

How did you install Java?

Did it work before?

Did you test with other Java versions?

@douph1 Is this a build or installer issue?

Extremely similar issue to https://github.com/AdoptOpenJDK/openjdk-build/issues/1066

This is a build issue. It concerns the ZIP files, not the MSIs.

I close this one because it's a duplicate.


WARN: [********] error - Connection reset by peer - IOException (...)

Hi,
After I've upgraded to the latest version, I constantly get my tracking device disconnected from server
2017-05-03 23:13:13  WARN: [********] error - Connection reset by peer - IOException (...)
2017-05-03 23:13:13  INFO: [********] disconnected

Any idea of what is going on there ?
Device : gt02_mt62600_v1.1 2015.12.26
Traccar server version : 3.11
Thanks
PS : Java version upgrade / restarting traccar server or the device didn't solve the issue.

It means device has disconnected from the server.

Hi @tananaev
Obvious :) . But could this "connection reset" be generated by the app ?
I've  checked the network ... and doesn't seems to be a network issue. There is no Loss between the server and the device and the ping response is constant.
The only thing that I didn't verified is the device itself. But this will be strange, because I didn't touch the device for few weeks and the place where is mounted is hidden and secured.
Anyway .. I will check the device and I will come back with an update.

It cannot be generated by server, if that's what you are asking. As I said, it means that device has disconnected from the server, not the other way around.


[BEAM-9577] Artifact v2 support for uber jars.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Still trying to figure out why the test fails on jenkins but passes locally, but other than that it should be ready to be looked at again.


mpi4py (2.0.0) is not compatible with h5py (2.5.0)

The mpi4py.mpi_c has changed to mpi4py.libmpi, so cause the imcompatibility. Current solution is switch to the old version of mpi4py (1.3.x) or make changes in h5py.  See discussion at https://github.com/rdhyee/h5py/commit/f2e3f132fdc1c2308b74e8428c063ac6a8118439#diff-c9e1291e5e01f0f5e0a484dccaf67cf6L28

Thanks for letting us know. This has to be fixed on the h5py side. I'll put a link to this issue in the pyasd docs.

Hi Lion,
That's is the issue we found recently when we use pip to install mpi4py. I think they recently put the version 1.3.1 to 2.0.0 but h5py is not aware of that.
Should we put a issue on h5py website?

Should we put a issue on h5py website?

If they are not aware of it then definitely!

Hi Lion,
I saw the h5py group just update the h5py to be compatible with mpi4py 2.0.0.
See here please.
https://github.com/h5py/h5py/commit/364a77403199087168786234554f459e7d985063
Can you conform at you end that it is running?

I tried and this works with pyasdf :-)


Blade Mastery is broken v2

After the latest change to the Blade Mastery feat it appears you do not lose the +1 ac after unequipping a bladed weapon.

by design. it became a +1 passive.

But isn't it supposed to just be +1 passive while having a bladed weapon equipped?


Is there a plan to enable virtualization on the windows-2019 image?

I would like to use a windows image with the capability of using docker with linux containers but Hyper-V cannot be enabled on the windows-2019 image

Hi @paziz001,
currently, we do not have any plans to enable virtualization on Windows, but we are keeping in mind this feature as we have already received such requests.
Closing it as a duplicate of https://github.com/actions/virtual-environments/issues/183.
Please, let us know if you need any other assistance.
Thank you.


Delete filtering contigs on _ in --karyotype

Hey,
I've deleted the line! This means any contig name will be accepted.
I've also move the target override
[target.x86_64-apple-darwin]
rustflags = ["-C", "link-arg=-mmacosx-version-min=10.12"]

From Cargo.toml to config.toml. See https://doc.rust-lang.org/cargo/reference/config.html.
This won't make any noticable difference during compilation, but will get rid of the
warning: unused manifest key: target.x86_64-apple-darwin.rustflags

warning during compilation!
Thanks man,
Rory

Great, thank you! I will make a new release soon.


Invalid default specified for postcssOptions.config

Documentation Is:
https://github.com/webpack-contrib/postcss-loader#config

[ ] Missing
[ ] Needed
[X] Confusing
[ ] Not Sure?

Please Explain in Detail...

https://github.com/webpack-contrib/postcss-loader#config specifies the default is undefined which isn't really true - if the value is undefined then https://github.com/webpack-contrib/postcss-loader/blob/master/src/index.js#L40 assumes true.
Your Proposal for Changes
Change the default in documentation from undefined to true

I would also suggest to highlight a recommendation to set postcssOptions in webpack config with config: false as a performance optimization. In one of my builds it seems doing this has helped me to decrease build time from 42->38 seconds (~10k TS and PostCSS modules). My postcss config was rather heavy (a func, not just an object, plugin factory, not plugin instances etc.).

Hello, yes, you are right, let's do it, do you want to send a PR?

PR created: #627


Fix code scanning alert - Incomplete string escaping or encoding

Description
Sanitizing untrusted input is a common technique for preventing injection attacks such as SQL injection or cross-site scripting. Usually, this is done by escaping meta-characters such as quotes in a domain-specific way so that they are treated as normal characters.
However, directly using the string replace method to perform escaping is notoriously error-prone. Common mistakes include only replacing the first occurrence of a meta-character, or backslash-escaping various meta-characters but not the backslash itself.
In the former case, later meta-characters are left undisturbed and can be used to subvert the sanitization. In the latter case, preceding a meta-character with a backslash leads to the backslash being escaped, but the meta-character appearing un-escaped, which again makes the sanitization ineffective.
Even if the escaped string is not used in a security-critical context, incomplete escaping may still have undesirable effects, such as badly rendered or confusing output.
References
OWASP Top 10: A1 Injection.
npm: sqlstring package.
Common Weakness Enumeration: CWE-20.
Common Weakness Enumeration: CWE-80.
Common Weakness Enumeration: CWE-116.
Tracking issue for:

[x] https://github.com/KaygusuzAbdal/juice-shop/security/code-scanning/46

Fixed by replacing return contains(str, element.replace(/"/g, '\\"')) code fragment with return contains(str, JSON.stringify(element))


Win16 NE format support for 16-bit function names/prototypes

I'm trying to reverse engineer a suit of 16-bit Windows apps that mainly use the NE format.
I have successfully loaded them into the project with their dependent DLLs (after some renaming to remove the extension!).
My next problem is that I cannot get the decompiler to recognise the proper function names/prototypes even though I have them in header files from my old MSVC 1.51 installation which I've tried to load both directly (which fails - the internal compiler isn't happy) and indirectly (as suggested by issue "Simplify C header parser #1197)", but I'm still unable to get the function prototypes to load into the decompiler for the dependent DLLs.
I was hoping that by using gcc to parse the Microsoft header files the resulting output would import and then it would work, but it doesn't!  Am I missing something?

Also, the in-built "Create Export Symbol Files" option doesn't seem to work here either.

I've subsequently determined that these NE files were created by "Borland C++".  I don't have a version of that compiler!
I can see references to Borland C++ in Ghidra, but not 16-bit.  Is anyone out there working on this?

I've also determined that it seems to not support far pointers either.  I was unable to set the LibMain function call up correctly, unless I'm doing something ele wrong!
Can anyone help me out here?

@Wall-AF, sorry this slipped through the cracks.  Do you think this can be closed/replaced with other, more specific issues that' you've created?

I still think it's valid as there needs some fid files created for those compilers that generated Windows NE applications.  I've created some, but in no way would my creations be deemed anywhere near complete!  Plus could do with a better mechanism to create these in the first place!
Also unsure if the near/far(/huge) pointer issues may need fixing first!

Ok.  I am addressing the Create Export Symbol Files aspect of this.  That option should currently only be available on the PeLoader.

Ok. I am addressing the Create Export Symbol Files aspect of this. That option should currently only be available on the PeLoader.

It may be appropriate to add the suggested fix in #2233, that I believe was missed, at the same time.


Feature Request: Support Hidden Networks

I use hidden networks and frequently have to return devices I purchase on Amazon because they can't imagine connecting to something that doesn't appear on a Wi-Fi scan.   So not supporting hidden networks certainly has precedent.
However the antennas in many of these M5Stack devices are not great.  Their Wi-Fi scans miss a ton of nearby networks, so perhaps it would still be helpful, even for normals, to be able to type in an SSID to connect to.

Added this possibility into the Beta Release.. you can install using the web flasher
https://bmorcelli.github.io/M5Stick-Launcher/
Can you test it for me? It will scan the networks and the last option (above return to menu) will be "Hidden SSID", where you can type the network SSID and then the Passworkd


Which actions are needed for adding new languages ?

Hi @rampaa, thank you very much for the works!
I plan to extend JL to other languages e.g. Korean / Chinese. Apart from the Yomitan-format dictionary, do you think I would need to make any other changes to JL default setting ?

You can disable the following options:
Preferences->Main Window->Capture text from clipboard/WebSocket only if it has Japanese characters
Preferences->Main Window->Disable lookups for non-Japanese characters
Preferences->Popup->Disable lookups for non-Japanese characters
That said, JL is intended exclusively for "Japanese->Any Language" lookups, not for "Any Language->Any Language" lookups and I have no intention of changing the scope of JL to support other languages. As a result, some functionalities of JL will not work for other languages, e.g., JL will not be able to deconjugate other languages unless you code the support for those languages yourself.


Regression: Rule ID has disappeared from the popup.

This change happens at d98bfd60fcbb1be6112bcd6b1e9a4fc9eab318f9.
It's inconvenient to me if I cannot check the rule ID in the popup.
Because we use the rule ID to disable rules with eslint-disable directives.
I don't want to open problems tab to check it since I have opened terminal pane always...

This is actually a bug in VS Code. Code now renders the diagnostic code (which is the rule id) consistently in the UI but there was a bug in the Hover that prevented this. It is already fixed in Insider and will be available in next stable.

Thank you for the pointed out!


make sure Enter works properly on code child blocks

Is this issue still happening?

we have temporarily stopped supporting code blocks


Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-flags.aar (com.google.android.gms:play-services-flags:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement.aar (com.google.android.gms:play-services-measurement:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-sdk.aar (com.google.android.gms:play-services-measurement-sdk:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact firebase-auth-interop.aar (com.google.firebase:firebase-auth-interop:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact firebase-analytics.aar (com.google.firebase:firebase-analytics:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-impl.aar (com.google.android.gms:play-services-measurement-impl:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-tasks.aar (com.google.android.gms:play-services-tasks:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact firebase-core.aar (com.google.firebase:firebase-core:16.0.8)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-api.aar (com.google.android.gms:play-services-measurement-api:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact firebase-common.aar (com.google.firebase:firebase-common:16.1.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-stats.aar (com.google.android.gms:play-services-stats:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-base.aar (com.google.android.gms:play-services-base:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-stats.aar (com.google.android.gms:play-services-stats:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-base.aar (com.google.android.gms:play-services-base:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-base.aar (com.google.android.gms:play-services-base:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:16.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-base.aar (com.google.android.gms:play-services-base:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-stats.aar (com.google.android.gms:play-services-stats:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-v4.aar (com.android.support:support-v4:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-v4.aar (com.android.support:support-v4:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-fragment.aar (com.android.support:support-fragment:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-fragment.aar (com.android.support:support-fragment:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-fragment.aar (com.android.support:support-fragment:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact animated-vector-drawable.aar (com.android.support:animated-vector-drawable:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-ui.aar (com.android.support:support-core-ui:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-ui.aar (com.android.support:support-core-ui:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-ui.aar (com.android.support:support-core-ui:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-ui.aar (com.android.support:support-core-ui:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-utils.aar (com.android.support:support-core-utils:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-utils.aar (com.android.support:support-core-utils:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-utils.aar (com.android.support:support-core-utils:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-utils.aar (com.android.support:support-core-utils:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-utils.aar (com.android.support:support-core-utils:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-vector-drawable.aar (com.android.support:support-vector-drawable:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-vector-drawable.aar (com.android.support:support-vector-drawable:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-vector-drawable.aar (com.android.support:support-vector-drawable:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-media-compat.aar (com.android.support:support-media-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-media-compat.aar (com.android.support:support-media-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact loader.aar (com.android.support:loader:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact loader.aar (com.android.support:loader:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact viewpager.aar (com.android.support:viewpager:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact drawerlayout.aar (com.android.support:drawerlayout:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact coordinatorlayout.aar (com.android.support:coordinatorlayout:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-core-utils.aar (com.android.support:support-core-utils:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact customview.aar (com.android.support:customview:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact customview.aar (com.android.support:customview:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact customview.aar (com.android.support:customview:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:16.4.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact asynclayoutinflater.aar (com.android.support:asynclayoutinflater:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact animated-vector-drawable.aar (com.android.support:animated-vector-drawable:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact firebase-measurement-connector.aar (com.google.firebase:firebase-measurement-connector:17.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact play-services-basement.aar (com.google.android.gms:play-services-basement:16.2.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact versionedparcelable.aar (com.android.support:versionedparcelable:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact versionedparcelable.aar (com.android.support:versionedparcelable:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact cursoradapter.aar (com.android.support:cursoradapter:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact cursoradapter.aar (com.android.support:cursoradapter:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact runtime.aar (android.arch.lifecycle:runtime:1.1.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact documentfile.aar (com.android.support:documentfile:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact print.aar (com.android.support:print:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact viewmodel.aar (android.arch.lifecycle:viewmodel:1.1.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact viewmodel.aar (android.arch.lifecycle:viewmodel:1.1.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact interpolator.aar (com.android.support:interpolator:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact interpolator.aar (com.android.support:interpolator:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-fragment.aar (com.android.support:support-fragment:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact livedata-core.aar (android.arch.lifecycle:livedata-core:1.1.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact runtime.aar (android.arch.core:runtime:1.1.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact fresco.aar (com.facebook.fresco:fresco:1.10.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact imagepipeline-okhttp3.aar (com.facebook.fresco:imagepipeline-okhttp3:1.10.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact drawee.aar (com.facebook.fresco:drawee:1.10.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact imagepipeline.aar (com.facebook.fresco:imagepipeline:1.10.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact customview.aar (com.android.support:customview:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact imagepipeline-base.aar (com.facebook.fresco:imagepipeline-base:1.10.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact customview.aar (com.android.support:customview:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact slidingpanelayout.aar (com.android.support:slidingpanelayout:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact fbcore.aar (com.facebook.fresco:fbcore:1.10.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact firebase-database-collection.aar (com.google.firebase:firebase-database-collection:16.0.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact soloader.aar (com.facebook.soloader:soloader:0.6.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact swiperefreshlayout.aar (com.android.support:swiperefreshlayout:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact runtime.aar (android.arch.core:runtime:1.1.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact livedata.aar (android.arch.lifecycle:livedata:1.1.1)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact localbroadcastmanager.aar (com.android.support:localbroadcastmanager:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact support-compat.aar (com.android.support:support-compat:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact cursoradapter.aar (com.android.support:cursoradapter:28.0.0)
Executing transform IdentityTransform -> ExtractAarTransform -> AarTransform on artifact firebase-common.aar (com.google.firebase:firebase-common:16.1.0)
Skipping task ':app:compileReleaseRenderscript' as it is up-to-date.
:app:compileReleaseRenderscript (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.006 secs.
:app:checkReleaseManifest (Thread[Task worker for ':' Thread 2,5,main]) started.

> Task :app:checkReleaseManifest UP-TO-DATE
Skipping task ':app:checkReleaseManifest' as it is up-to-date.
:app:checkReleaseManifest (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.0 secs.
:app:generateReleaseBuildConfig (Thread[Task worker for ':' Thread 2,5,main]) started.

> Task :app:generateReleaseBuildConfig UP-TO-DATE
Skipping task ':app:generateReleaseBuildConfig' as it is up-to-date.
:app:generateReleaseBuildConfig (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 0.001 secs.
:app:bundleReleaseJsAndAssets (Thread[Task worker for ':' Thread 2,5,main]) started.

> Task :app:bundleReleaseJsAndAssets
Task ':app:bundleReleaseJsAndAssets' is not up-to-date because:
  Task has failed previously.
Starting process 'command 'cmd''. Working directory: D:\Project File\MonitoringPanelSurya Command: cmd /c node node_modules/react-native/cli.js bundle --platform android --dev false --reset-cache --entry-file index.js --bundle-output D:\Project File\MonitoringPanelSurya\android\app\build\generated\assets\react\release\index.android.bundle --assets-dest D:\Project File\MonitoringPanelSurya\android\app\build\generated\res\react\release
Successfully started process 'command 'cmd''
The system cannot find the path specified.
warning: the transform cache was reset.
Loading dependency graph, done.
info Writing bundle output to:, D:\Project File\MonitoringPanelSurya\android\app\build\generated\assets\react\release\index.android.bundle
info Done writing bundle output
info Copying 6 asset files
info Done copying assets

> Task :app:bundleReleaseJsAndAssets FAILED
:app:bundleReleaseJsAndAssets (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 43.551 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:bundleReleaseJsAndAssets'.
> Process 'command 'cmd'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 45s
13 actionable tasks: 1 executed, 12 up-to-date

To Reproduce

cd ./android && ./gradlew assembleRelease
Expected Behavior

A generated apk at the end.
Environment

React Native Environment Info:
System:
OS: Windows 10
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 2.26 GB / 7.86 GB
Binaries:
npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-182.5<IP_ADDRESS>14842

@ilomon10  Did you bundle your app  before get production apk ?

Have you managed to make it work? I tried fresh project on RN 0.59.5 and couldn't reproduce that. I'm gonna close this, as there are no more people reporting the same, but feel free to post more info and maybe a repro so someone can have a look :)

@ilomon10 Did you bundle your app before get production apk ?

@nazrdogan  how to bundle? i already follow this docs
@thymikee i think it get error after i adding react-native-firebase on my project


Document various potential fallback/double download patterns

It would be great to reduce the recommended markup patterns to a small numbered handful that we all agree on, write unit tests to match, and then make a simple chart with checkmarks so devs can see the pros and cons of each, and choose quickly.

Into this idea. See: #438.

+1 (very important)

@aFarkas, @wilto, @baloneysandwiches, can we have a quick discussion to organize these before heading into the docs?
As far as I remember, here are our markup patterns:
Mutilated IMG pattern

Remove the srcset and src on the fallback image
Fixes the Flash Of Wrong Image™ on safari
Prevents the image from displaying on android

Empty gif pattern

Use src="data:image/gif;base64,R0lGODlhAQABAAAAADs=" for a src
Allows for "no image" to be shown when using <picture>
Adds a little markup

Anti Double download pattern

Use srcset instead of src on the fallback image
Could prevent the default image from showing up if the JS fails?

IE9 picture pattern

Use MS IE conditionals to wrap <source> elements in a <video> element
Extra markup if you don't need IE9 support

I think we should simply just use the predefined markups pattern without describing.
In case we have srcset x or srcset w, we simply use the "Anti Double download pattern" and only use srcset.

And in case of art direction we use the "Mutilated IMG pattern":
<picture>

  <source srcset="large.jpg" media="(min-width: 1200px)">
  <source srcset="small.jpg" >

</picture>

And maybe in the gotcha docs, we can inform people about the "Mutilated IMG pattern" in combination with ```srcset`` and the width descriptor (useful against double download in iOS8):
<picture>

  <source srcset="large.jpg 1440w, small.jpg 960w" sizes="(max-width: 1280px) 100vw, 1280px">

</picture>


Fixing flaky tests in LambdaSQLTest.java

This test fixes flakiness in the following tests in com.mybatisflex.coretest.LambdaSqlTest

com.mybatisflex.coretest.LambdaSqlTest#test04
com.mybatisflex.coretest.LambdaSqlTest#test05

When run using the Nondex plugin, these tests fail with the following error -
[ERROR]   LambdaSqlTest.test05:133 expected:<SELECT
  ` ac `.` [id `,
  ` ac `.` user_name `,
  ` ac `.` birthday `,
  ` ac `.` sex `,
  ` ac `.` age `,
  ` ac `.` is_normal `,
  ` ac `.` is_delete] `,
  ` ar `.*
FROM
...> but was:<SELECT
  ` ac `.` [birthday `,
  ` ac `.` age `,
  ` ac `.` id `,
  ` ac `.` sex `,
  ` ac `.` user_name `,
  ` ac `.` is_delete `,
  ` ac `.` is_normal] `,
  ` ar `.*
FROM
...>

The root cause of this is because in code that fetches default columns for a provided class - com.mybatisflex.core.query.QueryMethods#defaultColumns, uses a list of column fields that internally uses java's class.getDeclaredFields method to fetch the appropriate list of columns - com.mybatisflex.core.table.TableInfoFactory#getColumnFields. As the order of the fields in class.getDeclaredFields is not deterministic, the test is failing due to ordering issues.
This PR fixes the test by sorting the columns after they are extracted from the class, and by refactoring the tests to check the columns in a sorted order.
After making this change, I have run the Nondex plugin over the mybatis-flex-core module, and have seen no impacts.
Thanks, please let me know if you have any further questions, or if any changes are required.

This modification will affect the generation order of sql fields.

Hi, thanks for the comment!
The issue that this fix is trying to address is that the generation order of SQL fields is not consistent in the first place.
Since com.mybatisflex.core.query.QueryMethods#defaultColumns, internally uses class.getDeclaredFields to get a list of columns, the order is occasionally jumbled, and hence, the tests mentioned above are failing.
This fix does change the order of the sql fields, but makes sure that they will always be consistently ordered.
Please let me know your thoughts, or if there is any confusion from my side!


mapclassify pooling on tsplot

Would be very useful to have mapclassify pooled classifiers on tsplot.
However, this seems to be on hold, as our plotting solution for tsplot has a bug where we can not retrieve the legend after it's created by the geopandas plotter.
See: https://github.com/lukelbd/proplot/issues/224

@AnGWar26 take a look at #265 which allows for pooled classification in the (renamed) plot_timeseries. I think that should resolve this issue, but it doesnt touch the legend at all, so not sure about the proplot issues you're running into
one thing that would be nice to improve on #265 would be to plot a single legend (maybe off to the side) rather than repeating the same one below for each ax

@knaaptime This seems like a great workaround for the problem that I was having! I'm glad to learn about the classification_kwds parameter in  the geopandas plotter, it seems like it's pretty useful.

agreed... i also didnt know about missing_kwds which is a nice recent addition. Do you want to keep this issue open while you work on the proplot legend? or should we close with #265 merged?

It seems like it would be a good idea to close this issue, as it seems to be solved to me, unless you'd like to move to a different solution for this in the future? I think the improvement you mentioned for #265 where we use a single legend shouldn't be too difficult.

ok lets open a separate issue for that


Added unban command

Issue #3

Added ability to unban user by ID
Added userNotBanned to errors.js

Thanks for contributing to my project!
Love your work, excellent job.
Feel free to suggest or open PRs with new commands, edits and additions.


Remove duplicate entries from database.json

Can you please retrigger the CI by sending an creating an empty commit? git commit -m "Retrigger CI" --allow-empty

sure thing

Perhaps, would make sense to turn database.json into a large default-exported object in database.ts, and rip the benefits of type checking?

Perhaps, would make sense to turn database.json into a large default-exported object in database.ts, and rip the benefits of type checking?

Well... I am just about done working on a CI tool that assists people in publishing Deno module denoify_ci. If you make this change that would mean that I have to rewrite the script that automates the submission of a PR to edit database.json.
It is not really your problem I know but I just mention it.

script that automates the submission of a PR to edit database.json

Could you point me to that one? I couldn't find it

script that automates the submission of a PR to edit database.json

Could you point me to that one? I couldn't find it

Yes thanks: https://github.com/garronej/github_actions_toolkit/blob/master/src/submit_module_on_deno_land.ts

Just to be clear, I'm not affiliated with deno team, just another contributor

It wouldn't require too much work to rewrite, IMO. Consider the approach of literally adding lines to the file.
Anyway, this has to be implemented first, and I doubt that it will pass the review 😄
P.S.: Just to be clear, I'm not affiliated with deno team, just another contributor

Agree


Don't error on minimal site config

Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

What are the relevant tickets?
Fixes #434
What's this PR do?
If the content page is neither a repeatable content listing nor a singleton, it will render a null rather than error.
I think it would be better to fix this in the validation somehow to enforce one or the other but I couldn't see how we could easily make yamale do that

Codecov Report

Merging #488 (e1659b6) into master (4987e0f) will decrease coverage by 2.80%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #488      +/-   ##
==========================================
- Coverage   90.49%   87.68%   -2.81%
==========================================
  Files         149       75      -74
  Lines        5104     3103    -2001
  Branches      748      362     -386
==========================================
- Hits         4619     2721    -1898
+ Misses        435      334     -101
+ Partials       50       48       -2

Impacted Files
Coverage Δ

static/js/util/incrementer.ts

static/js/pages/SitesDashboard.tsx

static/js/test_constants.ts

static/js/lib/urls.ts

static/js/constants.ts

static/js/components/SingletonsContentListing.tsx

static/js/lib/util.ts

static/js/components/SiteSidebar.tsx

static/js/components/forms/validation.ts

static/js/query-configs/websites.ts

... and 63 more

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 4987e0f...e1659b6. Read the comment docs.

Closing, going to solve this in the validation stage instead


FancyZone editor setting button can't actually launch settings due to z-index

Microsoft PowerToys version
0.61.1
Running as admin

[ ] Yes

Area(s) with issue?
FancyZones Editor
Steps to reproduce
In the editor, click the settings button.  Settings will launch UNDER the editor versus on top.
Fix is to remove setting button as there are multiple ways to get to settings.
@marypcbuk was the wonderful community member that flagged me.
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

This is hitting only Windows 11.
Working as expected on Windows 10 21H2.

Working as expected on Windows 10 21H2.

Same here on Win.10, with the side note that "as expected" only is true when the Settings windows is not visible. If it is already open (including minimized) then nothing happens at all.

we'd have to make the Settings window AoT to solve the edge cases. If we didn't do this solution, a user could click the editor overlay and then still lose settings.

@crutkas I believe there are plenty of other options, like explicitly set SW flags (like SW_SHOWNORMAL or SW_RESTORE) in code

we'd have to make the Settings window AoT to solve the edge cases

If the Settings window receives $WS_EX_TOPMOST after it's been called from the Color Picker Editor window (which also has topmost state) that's going to be another "conflict", making this whole situation more and more complicated. Please lean back and let's think of a logical solution.

Working as expected on Windows 10 21H2.

Same here on Win.10, with the side note that "as expected" only is true when the Settings windows is not visible. If it is already open (including minimized) then nothing happens at all.

Yes, this is the bug I originally reported and it happens on multiple Windows 10 versions on Arm and Intel systems leaving me with the impression that the Settings cog was broken or had no functionality (I'll document which Win 10 builds I've seen this on if helpful but I would not say this is working as expected on Windows 10 unless you expect it to be confusing!)

So, is this really an issue with Z-indices then? No it isn't. It's about the window state flags and setting focus to the window when it is shown.

Also: why is there a hardcoded condition in the window title in the first place? The title is translated in other languages...


feat: pin runtime pallet ids

PR makes sure that each pallet in runtime is assigned persistent id.
This makes sure that module ids are the same when a pallet is either removed or added.
I decided to group ids as follows:

starting at 0 - substrate related pallets
starting at 50 - parachain and xcm related stuff
stating at 100 - basilisk pallets and warehouse pallets
starting at 150 - orml
starting at 200 - testing stuff - pallets which are not present in basilisk, only in testing runtime

The reasons being:

allows quicker identify area of an error
allows adding new pallets to be together with related stuff
order is also important - therefore having some spaces prevents unwanted shifts in future.

Note that the order of pallets is important.
Eg.

Session must be after collator selection and prior to aura.
Asset registry must be before orml-tokens otherwise it can cause issue with existential deposit.

What about moving testing stuff to 250 or 300 and leaving some space for potential new groups? It's just an idea.

What about moving testing stuff to 250 or 300 and leaving some space for potential new groups? It's just an idea.

it is u8. max is 255.


Add deep linking support to IntentAndroid

Add a method to handle URLs registered to the app via an API similar to iOS,
IntentAndroid.popInitialURL();

Nice! Thanks for working on this!

@mkonicek Thanks. Waiting for the Dialog commit before I change anything here :D

@mkonicek I've updated the PR using getCurrentActivity() implemented in c06efc0831b9156ee6261d7ddd2086ed87cbc0aa.
However, the current activity is only set on onResume, so it's not available while calling getConstants method, to have a consistent API between iOS and Android we need that. I've added a method to set the current activity and added the code to the generator to set the activity in onCreate. It's backward compatible, but if someone wants the deep linking feature, and has created the project with the old template, he'll need to manually add the code required.
I'm not sure if it's the best approach though. Please have a look and lemme know.
cc @foghina

Just pinged @foghina, thanks for the patience. Many PRs in the queue and branch cut..

I don't like exposing setActivity on ReactInstanceManager.Builder. This sets the expectation that the activity will never change, but in fact, it can change. This is why it's called getCurrentActivity() and not getActivity(). Also, exposing the intent URL as a constant furthers this assumption and will break when you change activities without recreating the ReactContext.
Since the JS API is only similar but not identical and since the JS API is a function call anyway (IntentAndroid.popInitialURL()), you can easily rewrite it to call into a native method, instead of reading a native constant. Then all the changes in ReactInstanceManager and co. become unnecessary.
Exposing constants has bitten us in the past (see screen size), they should only be used for things that are really constant.

@foghina @mkonicek Should I change this to a function getInitialURL which takes a callback then?
Note that this then diverges from the iOS API. Any thoughts on what should we do in the cross platform module?

@foghina @mkonicek Changed to use a callback instead of a constant to get initial URl.

@facebook-github-bot shipit

@satya164 heads-up: patch failed internally because we don't mirror website/, so I had to remove the changes to that folder. Once this lands and is synced back you'll have to reapply your changes to website/. Sorry :(

@foghina No probs. I'll send another PR with the website changes :)


Install flow issue

(flow) E:\CoTV\flow>python setup.py develop
D:\Anaconda\envs\flow\lib\site-packages\setuptools\dist.py:510: InformationOnly: Normalizing '0.5.0.dev' to '0.5.0.dev0'
self._validate_version(self.metadata.version)
running develop
D:\Anaconda\envs\flow\lib\site-packages\setuptools\command\develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
    ********************************************************************************
    Please avoid running ``setup.py`` and ``easy_install``.
    Instead, use pypa/build, pypa/installer or other
    standards-based tools.

    See https://github.com/pypa/setuptools/issues/917 for details.
    ********************************************************************************

!!
easy_install.initialize_options(self)
D:\Anaconda\envs\flow\lib\site-packages\setuptools_distutils\cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
    ********************************************************************************
    Please avoid running ``setup.py`` directly.
    Instead, use pypa/build, pypa/installer or other
    standards-based tools.

    See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
    ********************************************************************************

!!
self.initialize_options()
running egg_info
writing flow.egg-info\PKG-INFO
writing dependency_links to flow.egg-info\dependency_links.txt
writing requirements to flow.egg-info\requires.txt
writing top-level names to flow.egg-info\top_level.txt
reading manifest file 'flow.egg-info\SOURCES.txt'
adding license file 'LICENSE.md'
writing manifest file 'flow.egg-info\SOURCES.txt'
running build_ext
error: [WinError 2] The system cannot find the file specified

Hi, if you have an issue in Flow Installation, Local Installation of Flow may be helpful to successfully install the Flow, first then run CoTV.
Have you tried pip install -e .? Does it work?
python setup.py develop # if the conda install fails, try the next command to install the requirements using pip
pip install -e . # install flow within the environment

I also provide the CoTV docker image, please try it following the instruction: README: Virtual installation.
BTW, My Ubuntu version is Ubuntu 20.04.2 LTS.


Add version-specific tarball URL specification to all SPDs

Fixes https://github.com/ACCESS-NRI/spack_packages/issues/24

Hi @echus, What about mom5's SPD?

Also, can the url declaration be removed now that url_for_version() is being added?

Hi @echus, What about mom5's SPD?

It has already been merged in https://github.com/ACCESS-NRI/spack_packages/issues/22 without review.

@harshula it appears removing the url declaration causes concretisation to fail if a branch name is specified, so I'll leave it in.

Also, can the url declaration be removed now that url_for_version() is being added?

Has this been answered?

Also, can the url declaration be removed now that url_for_version() is being added?

Has this been answered?

I'm using MOM5 to test this currently. At the moment it's failing to concretize if a branch is specified regardless of spack_packages version, so I'm chasing down that bug first.

Also, can the url declaration be removed now that url_for_version() is being added?

Has this been answered?

I'm using MOM5 to test this currently. At the moment it's failing to concretize if a branch is specified regardless of spack_packages version, so I'm chasing down that bug first.

Issue fixed here

@harshula have tested this now and it appears to not cause any installation issues. I'll merge after you have a chance to look over it just in case I missed something.

Well done for tracking down the syntax change!


'restore-snapshot' got lost from bash completions

it is missing in the later versions of ddev - I've searched the file "ddev_bash_completion.sh" in ddev_linux.v1.12.0.tar.gz and ddev_linux.v1.11.2.tar.gz

Fixed in v1.13


add example:kubernetes easy-kubernetes-pod-etc-hosts-aliases

This pull request related to task 072 create Pod and add some hostAliases easy-kubernetes-pod-etc-hosts-aliases

It has a conflict. Solve it, please.


Wrong use of Syntax in README.md section

Description
Under This Project is a part of the following Open Source Program section in README.md . In place of alt text in markdown syntax , we have  tag . Take a look:
[](https://crosswoc.ieeedtu.in/)
It's also  negatively effecting SEO .
I want to replace image tag with  Cross Winter of Code . Take a look:
![Cross Winter of Code](https://crosswoc.ieeedtu.in/)
I will really like to work on this issue under LGMSOC

@Rishabhraghwendra18 got for it

@Rishabhraghwendra18 The image of CrossWoC is not there in README.md kindly add it

@Rishabhraghwendra18 The image of CrossWoC is not there in README.md kindly add it

Sorry I didn't see that . I have made a fresh PR . Please check whether it's now working or not.


blightmud: 3.5.0 -> 4.0.0

Description of changes

Change log can be found at https://github.com/Blightmud/Blightmud/releases/tag/v4.0.0.
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)
[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 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.

already updated to 4.0.0 in https://github.com/NixOS/nixpkgs/pull/190388


Zimperium: Fixed Pkg

Zimperium: Fixed Pkg

Azure Sentinel to Microsoft Sentinel
Required items, please complete
Change(s):

Azure Sentinel to Microsoft Sentinel
Reason for Change(s):

Azure Sentinel to Microsoft Sentinel
Version Updated:

N/A

Testing Completed:

N/A

Checked that the validations are passing and have addressed any issues that are present:

N/A

@v-dvedak
Zimperium fixed pkg with v. 2.0.1 from "Azure Sentinel' to "Microsoft Sentinel".

Duplicate PR. Sorry.


anormal ram consumption

Hello, today i was working normally in a shellscript project and at a moment the machine freeze have to force restart, so looking which process is affecting me, i found that is shellcheck:

My Env:
OS: openSUSE Tumbleweed
VSCode: 1.80.1
ShellCheck extension: v0.33
my project:

reinstall the extesion looks like solve the issue.

 By default the extension re-runs the shellcheck binary on every keystroke.
You can tweak this behavior to trigger only on save, if your files are very big and your computer can't handle them well.

my files size are of 12k to 150k, but reinstall solve the issue, thanks.


feat(lifecycle-operator): add Helm value for DORA metrics port

Allow user to specify metrics port via environment variable KEPTN_DORA_METRICS_PORT
which defaults to 2222 if not present.
To verify, I deployed to cluster and ran
curl http://<pod-ip>:<metric-port>/metrics
curl http://<service-ip>:<metric-port>/metrics

Both showed successful reply
Fixes #2541

Thanks for the contribution @ahmedavid @prakrit55 !! 🎉


[platform] Do not use current_platform in global namespace

Once platform pluggable supported, use current_platform in global namespace is dangerous. Because it's hard to guarantee that  current_platform is initialized correctly when it's used in global namespace. It'll lead unexpected problem and is hard to debug.
This PR drop the current_platform usage in global namespace in most place.
There is a place which will be fixed in next PR for easier review.

HAS_TRITON

No need now, see: https://github.com/vllm-project/vllm/pull/11602