allow add of keys with array

This will allow adding multiple keys using array (http://www.codeigniter.com/user_guide/database/forge.html#adding-keys). Only if user wants, he can use the table columns to set a primary key by setting second parameter as TRUE.

This needs a changelog entry, and if the documentation suggests that it is already supported, then it should be a bugfix one.

Didn't really like the changelog entry (and its place - it should be appended to the list, not prepended), so I cherry-picked your first commit and added the message myself.
Thanks for the effort.

Thank you.

This was reverted because it actually broke functionality ... see the commit I referenced above and issue #4173.


Gift Feature throws error when posting in Chat

When adding a new DIV to MAM Chat, MAM+ reads it and thinks it is a normal chat line and tries to process it in two places (watchShoutbox and watchShoutboxReply). This will throw an error due to not being able to process the text.
Fix is to add checker for our MAM+ IDs to those functions.
Plan is to generalize ID check to "mp_" so future features can also post without worry.
Will take care of this in same feature update as #103 when finalized.

This might already be fixed unless I happened to miss something. If you've made the same tiny change as me there likely won't be a conflict anyway.

Looks like you did a release while I had my eye off the ball. You fixed the first instance of this, but not the second instance in release 4.2.8. I would also like to generalize it a bit more than you did with:
if(/^mp_/.test(Util.nodeToElem(node).getAttribute("id")!)){ 							return; 						}
I will need to re-merge your latest with my latest and then do PR when you have a Develop branch open for me.

Forgot to close this with a commit message, oops.


Add ExecutionResult $extensions

Add ExecutionResult $extensions to follow https://facebook.github.io/graphql/#sec-Response-Format

What is the point of ExecutionResult extensions? They don't seem to be referenced anywhere in the codebase?

The specs says that extensions:

entry is reserved for implementors to extend the protocol however they see fit, and hence there are no additional restrictions on its contents...

In my use case it help me send some warnings without breaking graphql protocol.


does not need write access

Q
A

🐛 Bug fix?
no

🚀 New feature?
no

⚠ Deprecations?
no

❌ BC Break
no

🔗 Related issues
#105

❓ Documentation
yes

Description
Just documentation update to fix the issue after testing it successfully locally.

Hmm we have an issue with CircleCI, an option was preventing run on forked PR.
Could you make a small update to trigger a new CI build ? I can merge as it but we need to make it work for future contributions.

Hmm we have an issue with CircleCI, an option was preventing run on forked PR.
Could you make a small update to trigger a new CI build ? I can merge as it but we need to make it work for future contributions.

Could you make a small update to trigger a new CI build ? I can merge as it but we need to make it work for future contributions.

Nevermind about this ☝🏻 , just fixed the CI issue on our side with a test PR.

Could you make a small update to trigger a new CI build ? I can merge as it but we need to make it work for future contributions.

Nevermind about this ☝🏻 , just fixed the CI issue on our side with a test PR.

@all-contributors please add @bertux for doc


Backend Permissions

Is there a way to give users permission to the gallery without having to give them SuperUser permission.

Thanks for this feedback. Kindly inform me if you face any more issues. Good day!


gitu: 0.15.0 -> 0.16.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/altsem/gitu/releases.
meta.description for gitu is: A TUI Git client inspired by Magit
meta.homepage for gitu is: https://github.com/altsem/gitu
meta.changelog for gitu is: https://github.com/altsem/gitu/blob/v0.16.0/CHANGELOG.md
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.16.0 with grep in /nix/store/yvdj99yki1hvpamcwvy43gxr9ay8r42p-gitu-0.16.0
found 0.16.0 in filename of file in /nix/store/yvdj99yki1hvpamcwvy43gxr9ay8r42p-gitu-0.16.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
gitu

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yvdj99yki1hvpamcwvy43gxr9ay8r42p-gitu-0.16.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gitu https://github.com/r-ryantm/nixpkgs/archive/76dc25db0df502bc4d3977c92ae05e422160f9ae.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/76dc25db0df502bc4d3977c92ae05e422160f9ae#gitu

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yvdj99yki1hvpamcwvy43gxr9ay8r42p-gitu-0.16.0
ls -la /nix/store/yvdj99yki1hvpamcwvy43gxr9ay8r42p-gitu-0.16.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

gitu

Maintainer pings
cc @evanrichter for testing.

AppKit is needed for Darwin build, see updated PR: #304467


Release/0.9.0

Coverage increased (+16.6%) to 96.858% when pulling 5ed5d748d0fbf02c22fc170c645ca0ae89b9dd88 on release/0.9.0 into a2c50de16afa32a6fa4ee46d83c2be2b70dbee44 on master.


Intercom enabled for all free users, in all private pages

This closes CartoDB/cartodb-central/issues/1377
@MariaCheca CR this, please.

@javitonino CR this, please. Scope changed in the last issue comment.


Build with babel 6

Build with babel 6.
Tested with rollup, babel 6, decorators-legacy

awesome! 🎉  I prefer the single line re-export instead of the more verbose two step process, so if you could switch it back, this otherwise will be good to go.

Hi, I prefer the single line too, but after babel process the file can not be read properly from rollup.

@peterdenev can you clarify? Are you saying that consumers of the CJS output, using rollup, have some sort of error? what error?

babel 6 compile the single line import/export like this:
//...
var _override = require('./override');

Object.defineProperty(exports, 'override', {
  enumerable: true,
  get: function get() {
    return _interopRequireDefault(_override).default;
  }
});
//...

and the result can not be read properly from export variable.
Old babel 5 (your current version) compiles to something like:
//...
var _override = require('./override');
exports.override = _interopRequire(_override);
//...

If we make the import and export separated the compiled (babel 6) will be like:
//...
var _override = require('./override');
var _override2 = _interopRequireDefault(_override);
//...

As you see the result will be more like the current version and it is clearer.
So the problem is not in the rollup, so the babel transformation.
If you have other questions, just ask.

It's my understanding that you must use rollup-plugin-commonjs with CJS modules you import. So it seems like the problem is that it's not currently smart enough to autodetect these because they're not simple exports.foo = value. Instead, people would need to explicitly declare the expected exports via namedExports config.
If this is all true, it's quite a bummer. I'd really rather not sacrifice our code quality to work better with rollup users, which I imagine is a fairly small set of users. That said, I'm not writing it off outright. We'd want a heft comment inside that file explaining why we're not directly re-exporting, otherwise I'll forget or someone else will come along and change it unknowingly.
I'll also take a look at the rollup-plugin-commonjs source to see if it can be trivially fixed to support this case. No promises, but at first glance, with an ast it should be fairly easy to programmatically detect--but there may be a good reason it doesn't yet.

I might be more inclined to output an ES modules-only build, that rollup can use directly instead of the CJS modules build.

OK. Let's leave the main loader file as in the origin one. I will investigate my case externally.

Thanks again for this PR! We ended up going with #106 since it had the ES modules stuff as well. I really appreciate you taking the time though!


Router lazy loading page is 404

I searched for "vue webpack code splitting" with Google and the following link was the second result:
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjf6YHW6KrbAhWFsaQKHRpuBqcQFgg1MAE&url=https%3A%2F%2Frouter.vuejs.org%2Fen%2Fadvanced%2Flazy-loading.html&usg=AOvVaw1Tev6PekQWN6-hmsurPn7D
However, the link is 404. So it should either be restored or not indexed at all.

Thanks for reporting this! 🙂 I just opened up an issue for this on the Vue Router repo.


This is my first work done

The work was to create models for Appointments, VoiceLogs and Translations and it has succesfully been done.
I tried to create a Readme file for the explanation of the code and the differents relations but i was unable, so i think here will be better.
Here is the explanation of the Models
Language: Represents the languages supported for translations, Contains a unique code and a name.
Appointment: Represents user-clinic appointments, has a foreign key relationship with the User model, indicating that each appointment belongs to a user, Contains fields for clinic_name, appointment_date, and optional notes.
VoiceLog: Represents logs of voice commands, Also has a foreign key relationship with the User model.
Contains fields for the command, timestamp, and optional metadata (stored as JSON).
Translation: Represents translations for multilingual support.Has a foreign key relationship with the Language model.
Contains fields for the key (the text to translate) and its corresponding value (the translated text).
Relationships Overview
User → Appointments:
Type: One-to-Many
Description: Each user can have multiple appointments. The Appointment model has a foreign key (user) that links to the User model, indicating that each appointment belongs to a specific user.
User → VoiceLogs:
Type: One-to-Many
Description: Each user can have multiple voice logs. The VoiceLog model has a foreign key (user) that links to the User model, indicating that each voice log is associated with a specific user.
Language → Translations:
Type: One-to-Many
Description: Each language can have multiple translations. The Translation model has a foreign key (language) that links to the Language model, indicating that each translation corresponds to a specific language.
Guys i hope the explanation is Clear , for more details contact me through my whatsapp number after sending a MOMO 😂

The work was to create models for Appointments, VoiceLogs and Translations and it has succesfully been done.
I tried to create a Readme file for the explanation of the code and the differents relations but i was unable, so i think here will be better.
Here is the explanation of the Models
Language: Represents the languages supported for translations, Contains a unique code and a name.
Appointment: Represents user-clinic appointments, has a foreign key relationship with the User model, indicating that each appointment belongs to a user, Contains fields for clinic_name, appointment_date, and optional notes.
VoiceLog: Represents logs of voice commands, Also has a foreign key relationship with the User model.
Contains fields for the command, timestamp, and optional metadata (stored as JSON).
Translation: Represents translations for multilingual support.Has a foreign key relationship with the Language model.
Contains fields for the key (the text to translate) and its corresponding value (the translated text).
Relationships Overview
User → Appointments:
Type: One-to-Many
Description: Each user can have multiple appointments. The Appointment model has a foreign key (user) that links to the User model, indicating that each appointment belongs to a specific user.
User → VoiceLogs:
Type: One-to-Many
Description: Each user can have multiple voice logs. The VoiceLog model has a foreign key (user) that links to the User model, indicating that each voice log is associated with a specific user.
Language → Translations:
Type: One-to-Many
Description: Each language can have multiple translations. The Translation model has a foreign key (language) that links to the Language model, indicating that each translation corresponds to a specific language.
Guys i hope the explanation is Clear , for more details contact me through my whatsapp number after sending a MOMO 😂

You don't need to write all of that. We will use from ur code in the commit section


Update Composer dependencies (2024-03-27-00-10)

Visual regression test passed!
View the visual regression test report


Plot mixes Y and X values when there are only two points per lineplot

When the lineplot is created and there are only two points in the line, the library mixes xvalues and yvalues (it takes x1 and y1 from x[] and x2 and y2 from y[] instead of x1,x2 from x[] and y1,y2 from y[])
I discovered this with a plot that looked like this:
		public class TestPlot {
			public static void main(String[] argv){
				Plot2DPanel plot = new Plot2DPanel();
				double[] xVals1={1.439552797E12};
				double[] yVals1={78.01681253978265};
				plot.addLinePlot("group1",xVals1, yVals1);

				double[] xVals2={1.439547397E12,1.439549977E12};
				double[] yVals2={132.63444272447055,123.83742313295052};
				plot.addLinePlot("group2",xVals2, yVals2);

				double[] xVals3={1.439547337E12,1.439552977E12};
				double[] yVals3={125.65397959192407,77.27720607952492};
				plot.addLinePlot("group4",xVals3, yVals3);

				double[] xVals4={1.439547397E12,1.439548177E12,1.439548297E12};
				double[] yVals4={129.3471436797041,133.2500131743693,149.82183519985475};
				plot.addLinePlot("group5",xVals4, yVals4);

				double[] xVals6={1.439547877E12,1.439548657E12};
				double[] yVals6={72.8865784844678,71.04753151587994};
				plot.addLinePlot("group9",xVals6, yVals6);

				plot.addLegend(plot.NORTH);
				plot.setToolTipText("DATA");
				JFrame frame = new JFrame("Demo data");
				frame.setContentPane(plot);
				frame.setSize(800, 600);
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.setVisible(true);
			}
		}

And the result is completely wromd due to x and y totally different scales:

This is very disrturbing and looks like a bug.

It is a BUG. The code "convertXY(X,Y)" of Plot2DCanvas may cause the bug.

Yes I also figured out. The fact is the convertXY is also used for arrays of X,Y values, as the arrays have 2 points it is converting as arrays of X,Y values.


Add a Codacy badge to README.rst

Codecov Report

Merging #184 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #184   +/-   ##
=======================================
  Coverage   99.52%   99.52%
=======================================
  Files          12       12
  Lines         633      633
  Branches       76       76
=======================================
  Hits          630      630
  Misses          3        3

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 ee18116...03c13bd. Read the comment docs.


Missing Configuration file -> Fails to run any command

🐞 Bug Report
Affected Command
All commands
Is this a regression?
No , the issue always existed
Description and Minimal Reproduction
The installation process (make install) copies this configuration.toml file and paste it in $HOME/.edgex-cli/ folder.
But we are doing this if we firstly cole the project and instal/build it from source.
The released executable tar files contain just the edgex-cli executable with License and Attribution.txt  files -> on clean system, this executable fails to run any command because of:
Error occurred while parsing /home/difince/.edgex-cli/configuration.toml: open /home/difince/.edgex-cli/configuration.toml: no such file or directory
🔥 Exception or Error

Error occurred while parsing /home/difince/.edgex-cli/configuration.toml: open /home/difince/.edgex-cli/configuration.toml: no such file or directory

🌍  Your Environment
Deployment Environment:
EdgeX Version:
Anything else relevant?

It is easy enough to include the configuration.toml file into the tar ball by modifying the Makefile.
We could either put it in a res sub-directory in the tar ball by making a change such as below for each of the architecture targets:
tar -czvf ${ARTIFACT_ROOT}/$(BINARY)-mac-$(VERSION).tar.gz Attribution.txt LICENSE res/configuration.toml -C ${ARTIFACT_ROOT} $(BINARY)-mac
But there still remains an installation step of copying it over to the $HOME/.edgex-cli directory.
Would need to add that to the README file on how to install or an additional install script to be packaged in the tarball.
Snap version needs edit too.

It is easy enough to include the configuration.toml file into the tar ball by modifying the Makefile.
We could either put it in a res sub-directory in the tar ball by making a change such as below for each of the architecture targets:
tar -czvf ${ARTIFACT_ROOT}/$(BINARY)-mac-$(VERSION).tar.gz Attribution.txt LICENSE res/configuration.toml -C ${ARTIFACT_ROOT} $(BINARY)-mac
But there still remains an installation step of copying it over to the $HOME/.edgex-cli directory.
Would need to add that to the README file on how to install or an additional install script to be packaged in the tarball.
Snap version needs edit too.

The hash codes mentioned in snap yaml would need to change
In addition need to create the .edgex-cli directory and copy configuration.tml there, basically editing line 72
install -DT "./res/configuration.toml" "$SNAPCRAFT_PART_INSTALL/res/configuration.toml"

The hash codes mentioned in snap yaml would need to change
In addition need to create the .edgex-cli directory and copy configuration.tml there, basically editing line 72
install -DT "./res/configuration.toml" "$SNAPCRAFT_PART_INSTALL/res/configuration.toml"


Ignore reports generated when running tests.

Gradle creates a report directory. Ignore all files in this directory when scanning project files.

@ioana-blue can you take a look at travis, it looks like your PR failed in the build.
Don't see a clear reason why your PR will cause that.

I'm restarting the travis build to see what happens

merged with c84524096f7167baf3c933b17b3b66f6566437b4


Pilot : submit for external review crashes when it's currently in review or already approved

I'm using Pilot::BuildManager.new.distribute(config) directly in my Fastfile. Not sure if this is bad practice but it was my best way to reuse code from Pilot and not re-implement everything myself using spaceship.
There's a problem with how pilot is handling the submit for external review part. Here is the current timeline of events :

Submit a beta for a new build train.

The call for client.submit_testflight_build_for_review! is working.
However the call build_train.update_testing_status! throws an error "This build could not be used for external testing because the build is not approved." This is a valid error, however it should probably be catched in some way and shown to the user as a warning.

The previous beta that was sent to review is either currently in review or approved.

The call for client.submit_testflight_build_for_review! is not working and instead a error is thrown "ITC.response.error.INVALID_REQUEST" (can't submit a build to review if it's already in review)
The call build_train.update_testing_status! is not called at all since an error is thrown before.

Proposed solution :

Add attributes in Spaceship::Tunes::Build for betaState and internalState. Current values I've seen are "inactive", "submitForReview", "waiting", "active".  I'm missing the in review and approved state.
pilot should take into account this value to either not send the build to review, or not send to beta testers if the build is not approved.

I can do a pull request. Just wanted to discuss it first.

@gcamp I think these make sense as changes. Can you submit a lightweight PR to address this first in spaceship? And then ask in that PR about Pilot? We really appreciate you working with us 👍 Thanks!

I've also run into this workflow problem. The beta app review can take 24-48 hours so it's unreasonable to keep pilot running in the background like we currently do while waiting for the build to be processed.
I agree once we have the right information coming from Spaceship, we can provide a cleaner exit code for pilot. Then it will be up to the user to run pilot distribute once they get an email notification that their build has been approved by beta app review.
On the other hand, nothing is really stopping us from keeping pilot running for a day or so while waiting for the review so maybe we can make this an advanced feature for those who are running pilot on a build machine that stays connected all the time anyway.

Still on my todo list, sorry for the delay

Still on my todo list, sorry for the delay

When will this issue be resolved? I really hope it can be fixed as soon as possible. Thanks!!!

I've got something that lets pilot upload and submit to external testflight, and before attempting to turn on the external distribution will check the status of the build to see if it is possible or not. This will prevent the "This build could not be used for external testing because the build is not approved." error.


ember-cli-update to 2.17

I should be able to get the tests passing in 1.13 but it makes me wonder at what point we should drop support for 1.13 here given that 3.0 will be out here in a couple of months???

Sorry, merged #190 instead since it was latest version. Sorry about not following up with this.

No problem!


 make host property configurable on the container element.

Summary
make host property configurable, the host property is used by the internal solid event delegation logic.
making the host configurable
can open up the ability to:

stop internal event delegation from propagating
redirect delegation/propagating to a different host

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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 88.859%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1257

Relevant Lines:
1344

💛  - Coveralls


ImportError

ImportError                               Traceback (most recent call last)
/tmp/ipykernel_44/2814842752.py in <cell line: 2>()
1 # prepare Task structure for this exercise
----> 2 from excmanager.Task import Exercise
3 exc = Exercise(9)
4 #task1 = Task( exc, "9.1")
5 #subtask = SubTask( task1, "a", points = 3)
ImportError: cannot import name 'Exercise' from 'excmanager.Task' (/opt/conda/lib/python3.9/site-packages/excmanager/Task.py)

This only happens in the dbis-nbgrader environment if the docker environment is not rebuild


Docker Swarm Cannot Binding Port 80

this is my situation :
i have 3 server that has docker installed
i'm using docker server / client using this version
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   60ccb22
 Built:        Thu Feb 23 10:57:47 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   60ccb22
 Built:        Thu Feb 23 10:57:47 2017
 OS/Arch:      linux/amd64
 Experimental: false

for standalone swarm, i  set it like this :
Server1 : as a swarm master & consul only
/etc/default/docker
DOCKER_OPTS="-H tcp://<IP_ADDRESS>:8000 -H unix:///var/run/docker.sock --storage-driver=aufs"

and running consul with :
docker run -d --name=consul -p <IP_ADDRESS>:8300:8300 -p <IP_ADDRESS>:8400:8400 -p <IP_ADDRESS>:8500:8500 -p <IP_ADDRESS>:8301:8301 -p <IP_ADDRESS>:8302:8302 progrium/consul -server -node swarm-master -bootstrap-expect 1 -advertise <IP_ADDRESS>

running swarm with:
docker run -d --name=swarm -p <IP_ADDRESS>:2375:2375 swarm:1.1.0 manage --replication --advertise <IP_ADDRESS>:2375 --discovery-opt kv.path=docker/nodes consul://<IP_ADDRESS>:8500

Server2 : as node
/etc/default/docker
DOCKER_OPTS=" --label nama=main -H unix:///var/run/docker.sock -H <IP_ADDRESS>:2375 --cluster-store=consul://<IP_ADDRESS>:8500 --cluster-advertise=<IP_ADDRESS>:2375"

Server3 : as node
/etc/default/docker
DOCKER_OPTS="--label nama=anak -H unix:///var/run/docker.sock -H <IP_ADDRESS>:2375 --cluster-store=consul://<IP_ADDRESS>:8500 --cluster-advertise=<IP_ADDRESS>:2375

docker info from Server 1
Containers: 26
 Running: 0
 Paused: 0
 Stopped: 26
Images: 55
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 2
 master: <IP_ADDRESS>:2375
  └ Status: Healthy
  └ Containers: 18
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 440 MiB / 1.019 GiB
  └ Labels: executiondriver=<not supported>, kernelversion=3.13.0-98-generic, nama=main, operatingsystem=Ubuntu 14.04.5 LTS, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2017-03-22T11:09:06Z
 minion1: <IP_ADDRESS>:2375
  └ Status: Healthy
  └ Containers: 8
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 1.019 GiB
  └ Labels: executiondriver=<not supported>, kernelversion=3.13.0-98-generic, nama=anak, operatingsystem=Ubuntu 14.04.5 LTS, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2017-03-22T11:09:00Z
Plugins:
 Volume:
 Network:
Swarm:
 NodeID:
 Is Manager: false
 Node Address:
Kernel Version: 3.13.0-100-generic
Operating System: linux
Architecture: amd64
CPUs: 2
Total Memory: 2.038 GiB
Name: 861240efb93f
Docker Root Dir:
Debug Mode (client): false
Debug Mode (server): false
WARNING: No kernel memory limit support
Experimental: false
Live Restore Enabled: false

now the problem is : i can't binding port 80 on my server 2 (<IP_ADDRESS>) form my swarm master
this is the error that i get when i run the container
#Swarm master (<IP_ADDRESS>)
docker run -d -p 80:8000 -e "constraint:nama==main" jwilder/whoami

docker: Error response from daemon: unable to find a node that satisfies nama==main.
See 'docker run --help'.

if the port i set to 801 for example, the container can run, idk why the port 80 are used.
and if i change the "constraint:nama==anak" , it can be run without problem (the container will run to Server 3 (<IP_ADDRESS>)
i already check using netstat command that i didn't find any process that using port 80.
why i post this issues, because if i run it manually from Server 2(<IP_ADDRESS>) using
#Server 2 (<IP_ADDRESS>)
docker run -d -p 80:8000 -e "constraint:nama==main" jwilder/whoami

it's works, so i didn't know why it's cannot be run from swarm master
(i already rebooted all of them, restarting all of them, and recreate container for swarm and consul but it didn't help)
thanks,

@auzty Is there any container already use port 80 on Server2? Note that Swarm considers a port be used by a container even the container is in stopped state. You may remove all the stopped containers from Server2 with docker rm $(docker ps -aq). Then retry the swarm command with constraint.

wow , thanks  @dongluochen , i wil close this issues, after i remove my stopped container on Server 2 it's works, i assume if i didn't see it on netstat so the port are free,


Receiving protobuf data triggers a kafka unknown error

version:
kafka: 1.1.0
sarama-cluster: 2.1.15
sarama:1.22.1
topic: A,  string data
eg:
producer
>a
>b
>c

topic: B,  protobuf byte data  (cannal read binlog data send to kafka https://github.com/alibaba/canal)
eg:
  *��
mysql-bin.000001ǟ�. *UTF-80��ɷ-8B
                                 rupiah_loanJuser_loan_planP�Xb

kafka-console-consumer customer A、B: no any errors
topic A customer:  no any errors
topic B customer errors:
//Every 3 seconds print this:
Errors kafka: error while consuming rupiah_loan_user_loan/0: kafka server: Unexpected (unknown?) server error.

code
	config := cluster.NewConfig()
	config.Consumer.Return.Errors = true
	config.Consumer.Offsets.Initial = sarama.OffsetOldest

	customer, err := cluster.NewConsumer([]string{app.Cfg.App.GetString("KAFKA_BROKER_LIST")}, "dev.test", []string{"credit_data_plus_topic","rupiah_loan_user_loan_plan"}, config)
	if err != nil {
		fmt.Println("kafaka启动失败")
	}
	for {
		select {
		case noti := <-customer.Notifications():
			fmt.Printf("noti: %v\n", noti)
		case err := <-customer.Errors():
			fmt.Printf("errors:%v\n", err)
		case msg := <-customer.Messages():
			fmt.Println(msg.Topic, msg.Offset)
		default:
			time.Sleep(time.Second * 1)
			fmt.Println("间隔1s")
		}
	}

log:
rupiah_loan_user_loan_plan 208
rupiah_loan_user_loan_plan 210
rupiah_loan_user_loan_plan 212
rupiah_loan_user_loan_plan 214
rupiah_loan_user_loan_plan 216
rupiah_loan_user_loan_plan 218
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
rupiah_loan_user_loan_plan 220
rupiah_loan_user_loan_plan 222
rupiah_loan_user_loan_plan 224
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
rupiah_loan_user_loan_plan 226
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
..........

But when I restart the program, it will be consumed from beginning to end.
However, if config.Consumer.Offsets.Initial is configured as sarama.OffsetNewest, a piece of data is consumed and the error is always reported.
like this
#  go run main.go
rupiah_loan_user_loan_plan 250
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
^Csignal: interrupt

# go run main.go
rupiah_loan_user_loan_plan 260
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.
errors:kafka: error while consuming rupiah_loan_user_loan_plan/0: kafka server: Unexpected (unknown?) server error.

Using other libraries to solve the problem

I also meet this problem


Automatic Transport.stop() after start()

feature request
I am sorry in case this is a duplicate or I might have missed the doc or previous issues.
It seems when you call Tone.Transport.start() on non-loop parts, it will not stop automatically, nor did I find callbacks to that.
Not sure if the only solution is to predict when it would stop and call Transport.stop()

I just want to make sure it's the best practice to stop with clear mind.
Thanks a lot for immediate response.


Allow '--realm' to be specified in install options

Allow a custom kerberos realm to be specified in
ipa-server-install-options with the --realm argument.
This can be useful when configuring a kerberos realm different from
the IPA host's domain name; e.g. the IPA server is
ipa.int.example.com, but the kerberos realm is EXAMPLE.COM

Oops, I'll submit this against the master branch.  Apologies.


expand_dims erases named dim in the array's coordinates

Code Sample, a copy-pastable example if possible
# %%
import xarray as xa
import numpy as np

n = np.zeros((3, 2))

data = xa.DataArray(n, dims=['y', 'x'], coords={'y':range(3), 'x':range(2)})

data = data.assign_coords(z=xa.DataArray(np.arange(6).reshape((3, 2)),
                                         dims=['y', 'x']))

print('Original Data')
print('=============')
print(data)

# %%
my_slice = data[0, 1]
print("Sliced data")
print("===========")
print("z coordinate remembers it's own x value")
print(f'x = {my_slice.z.x}')

# %%

expanded_slice = data[0, 1].expand_dims('x')
print("expanded slice")
print("==============")
print("forgot that 'z' had 'x' coordinates")
print("but remembered it had a 'y' coordinate")
print(f"z = {expanded_slice.z}")
print(expanded_slice.z.x)

Output:
Original Data
=============
<xarray.DataArray (y: 3, x: 2)>
array([[0., 0.],
       [0., 0.],
       [0., 0.]])
Coordinates:
  * y        (y) int32 0 1 2
  * x        (x) int32 0 1
    z        (y, x) int32 0 1 2 3 4 5
Sliced data
===========
z coordinate remembers it's own x value
x = <xarray.DataArray 'x' ()>
array(1)
Coordinates:
    y        int32 0
    x        int32 1
    z        int32 1
expanded slice
==============
forgot that 'z' had 'x' coordinates
but remembered it had a 'y' coordinate
z = <xarray.DataArray 'z' ()>
array(1)
Coordinates:
    y        int32 0
    z        int32 1
AttributeError: 'DataArray' object has no attribute 'x'

Problem description
The coordinate used to have an explicit dimension.
When we expanded the dimension, that information should not be erased.
Note that information about other coordinates are maintained.
The challenge
The coordinates probably have fewer dimensions than the original data. I'm not sure about xarray's model, but a few challenges come to mind:

is the relative order of dimensions maintained between data in the same dataset/dataarray?
Can coordinates have MORE dimensions than the array itself?

The answer to these two questions might make or break If not, then this becomes a very difficult problem to solve since we don't know where to insert this new dimension in the coordinate array.
Output of xr.show_versions()

xa.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.6.6.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 79 Stepping 1, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en
LOCALE: None.None
xarray: 0.10.7
pandas: 0.23.1
numpy: 1.14.3
scipy: 1.1.0
netCDF4: 1.4.0
h5netcdf: 0.6.1
h5py: 2.8.0
Nio: None
zarr: None
bottleneck: 1.2.1
cyordereddict: None
dask: 0.18.1
distributed: 1.22.0
matplotlib: 2.2.2
cartopy: None
seaborn: None
setuptools: 39.2.0
pip: 9.0.3
conda: None
pytest: 3.7.1
IPython: 6.4.0
sphinx: 1.7.5

Thanks for the very clear report!
I believe this is intentional behavior here. Let me try to clarify how xarray determines coordinates for a variable like expanded_slice.z. Xarray requires that dimensions of coordinates are a subset of dimensions for a DataArray. So when you pull out a coordinate from a DataArray, the rule xarray uses for determining coordinates on the new DataArray object is to include every coordinate from the original DataArray for which all dimensions still exist on new DataArray.
More specifically, let's look at what expanded_slice looks like:
<xarray.DataArray (x: 1)>
array([0.])
Coordinates:
    y        int64 0
  * x        (x) int64 1
    z        int64 1

expanded_slice.z is a scalar DataArray, since z is a scalar:
<xarray.DataArray 'z' ()>
array(1)
Coordinates:
    y        int64 0
    z        int64 1

The coordinate x from expanded_slice is lost, because it goes along the x dimensions which is not found on expanded_slice.z.
To answer your specific questions:

is the relative order of dimensions maintained between data in the same dataset/dataarray?

No, not necessarily. It's possible to define coordinates with different dimension order than the DataArray itself (although this isn't recommended). For example:
>>> xarray.DataArray(np.zeros((2, 2)), dims=['x', 'y'], coords={'foo': (('y', 'x'), np.zeros((2, 2)))})
<xarray.DataArray (x: 2, y: 2)>
array([[0., 0.],
       [0., 0.]])
Coordinates:
    foo      (y, x) float64 0.0 0.0 0.0 0.0
Dimensions without coordinates: x, y

Can coordinates have MORE dimensions than the array itself?

No, this isn't allowed by xarray's data model.

@shoyer thank you for the quick response. I gave a really simplistic example, but my_slice is also technically scalar, but contains information that it has many non-dimensional coordinates. It is still able to understand that it should expand along those dimensions. and retain their values.
z should understand that it needs to keep its value for that non-dimensional coordinate when it gets promoted to a dimensional coordinate.
I'm not convinced that this is the expected behaviour. The xarray structure seems to understand that the coordinates have coordinates (though read below I think there is a bug there too).
Something else peculiar that I found was:
Before slicing, y doesn't have additional coordinates:

data['y']
Out[38]:
<xarray.DataArray 'y' (y: 3)>
array([0, 1, 2])
Coordinates:
  * y        (y) int32 0 1 2

but after slicing:
data[{'x':1}]['y']
Out[39]:
<xarray.DataArray 'y' (y: 3)>
array([0, 1, 2])
Coordinates:
  * y        (y) int32 0 1 2
    x        int32 1
    z        (y) int32 1 3 5

All of a sudden, y has inherited all of the coordinates from the top level array.

@shoyer I feel like this solution: https://github.com/hmaarrfk/xarray/pull/1/files#diff-921db548d18a549f6381818ed08298c9R2144
That solution moves the insertion to the "dataset level", then uses list comprehension to create the right order for the arrays contained within the dataset.
should work, but when I try it, xarray won't even issue the repr
Traceback (most recent call last):

  File "C:\Users\Mark\Miniconda3\envs\owl\lib\site-packages\IPython\core\formatters.py", line 702, in __call__
    printer.pretty(obj)

  File "C:\Users\Mark\Miniconda3\envs\owl\lib\site-packages\IPython\lib\pretty.py", line 400, in pretty
    return _repr_pprint(obj, self, cycle)

  File "C:\Users\Mark\Miniconda3\envs\owl\lib\site-packages\IPython\lib\pretty.py", line 695, in _repr_pprint
    output = repr(obj)

  File "c:\users\mark\git\xarray\xarray\core\formatting.py", line 66, in __repr__
    return ensure_valid_repr(self.__unicode__())

  File "c:\users\mark\git\xarray\xarray\core\dataset.py", line 1190, in __unicode__
    return formatting.dataset_repr(self)

  File "c:\users\mark\git\xarray\xarray\core\formatting.py", line 455, in dataset_repr
    summary.append(coords_repr(ds.coords, col_width=col_width))

  File "c:\users\mark\git\xarray\xarray\core\formatting.py", line 350, in coords_repr
    summarizer=summarize_coord, col_width=col_width)

  File "c:\users\mark\git\xarray\xarray\core\formatting.py", line 332, in _mapping_repr
    summary += [summarizer(k, v, col_width) for k, v in mapping.items()]

  File "c:\users\mark\git\xarray\xarray\core\formatting.py", line 332, in <listcomp>
    summary += [summarizer(k, v, col_width) for k, v in mapping.items()]

  File "c:\users\mark\git\xarray\xarray\core\formatting.py", line 279, in summarize_coord
    coord = var.variable.to_index_variable()

  File "c:\users\mark\git\xarray\xarray\core\variable.py", line 406, in to_index_variable
    encoding=self._encoding, fastpath=True)

  File "c:\users\mark\git\xarray\xarray\core\variable.py", line 1624, in __init__
    type(self).__name__)

ValueError: IndexVariable objects must be 1-dimensional

@shoyer Thank you for your first detailed response. It definitely took me a while to understand all the intricacies of your words.
In fact, if you do use a Dataset, as opposed to a DataArray, you are able to expand dims for multiple simultaneous arrays together.
For my particular case, a Dataset is probably more appropriate, but I liked the fact that the DataArray had one of the sets as the main set and that I could do math on that one.
Here is an example showing how if you use a Dataset, the behaviour I expect is obtained:
# %%
import xarray as xa
import numpy as np

n = np.zeros((3, 2))

data = xa.DataArray(n, dims=['y', 'x'], coords={'y':range(3), 'x':range(2)})

z=xa.DataArray(np.arange(6).reshape((3, 2)),
               dims=['y', 'x'])

my_set = xa.Dataset({'mydata':data, 'z':z})

print('Original Data')
print('=============')
print(my_set)

# %%
my_slice = my_set[{'x': 0, 'y':1}]
print("Sliced data")
print("===========")
print("z coordinate remembers it's own x value")
print(f'x = {my_slice.z.x}')

# %%

expanded_slice = my_slice.expand_dims('x')
print("expanded slice")
print("==============")
print("forgot that 'z' had 'x' coordinates")
print("but remembered it had a 'y' coordinate")
print(f"z = {expanded_slice.z}")
print(expanded_slice.z.x)

Output:
Original Data
=============
<xarray.Dataset>
Dimensions:  (x: 2, y: 3, z2: 0)
Coordinates:
  * y        (y) int64 0 1 2
  * x        (x) int64 0 1
  * z2       (z2) float64
Data variables:
    mydata   (y, x) float64 0.0 0.0 0.0 0.0 0.0 0.0
    z        (y, x) int32 0 1 2 3 4 5
Sliced data
===========
z coordinate remembers it's own x value
x = <xarray.DataArray 'x' ()>
array(0, dtype=int64)
Coordinates:
    y        int64 1
    x        int64 0
expanded slice
==============
z = <xarray.DataArray 'z' (x: 1)>
array([2])
Coordinates:
    y        int64 1
  * x        (x) int64 0
<xarray.DataArray 'x' (x: 1)>
array([0], dtype=int64)
Coordinates:
    y        int64 1
  * x        (x) int64 0

Finishing up this line of though: without the assumption that the relative order of dimensions is maintained across arrays in a set, this feature is impossible to implement as a neat function call. You would have to specify exactly how to expand each of the coordinates which can get pretty long.
I wrote some code, that I think should have worked if relative ordering was a valid assumption:
Here it is for reference https://github.com/hmaarrfk/xarray/pull/1
To obtain the desired effect, you have to expand the dimensions of the coordinates individually:
import xarray as xr
import numpy as np

# Setup an array with coordinates
n = np.arange(1, 13).reshape(3, 2, 2)
coords={'y': np.arange(1, 4),
        'x': np.arange(1, 3),
        'xi': np.arange(2)}
# %%
z = xr.DataArray(n[..., 0]*2, dims=['y', 'x'])
a = xr.DataArray(n, dims=['y', 'x', 'xi'], coords={**coords, 'z': z})

sliced = a[0]
print("The original xarray")
print(a.z)
print("The sliced xarray")
print(sliced.z)

# %%
expanded = sliced.expand_dims('y', 0)
expanded['z'] = expanded.z.expand_dims('y', 0)
print(expanded)


chore: update chart and dependencies versions

Update Chart.yaml to version 2.1.2 and operator dependency to 2.0.20. Update values.yaml with new versions for services in v2.0 and v2.1.

The pre-commit does not pass


Possible to add "Amiga Addict magazine Top 100" in Charts section for next release please?

Hi guys. Issue 11 of Amiga Addict magazine listed the attached Top 100 Amiga games of all time as a pull-out poster.
I hoped you may be able to add this to the AmigaVision AGS menu if possible please? It would be really cool to have a current mag that's in the shops have their chart in, along with a bit of information on the magazine alongside.
Website is https://www.addict.media

I'm not sure how these lists get made (if you do them, or the community submit them) so I'm happy to help make the files etc if needed. Apologies also for posting this in "Issues" - let me know if there is a better way to contact you.
I hope you like the idea.
Many thanks.

Yes, that certainly isn’t too hard. If you want to take a crack at it in the meantime, you can make a version of this file that lists them in this format:
https://github.com/amigavision/AmigaVision/blob/72741efee23623d590cae06e002e1f6e18d240d9/configs/Lists/Games-Charts.yaml#L212
I linked to the Amiga Power Top 100 section as it would be very similarly configured.


Error handling when returning undefined

Issue type:

:heavy_plus_sign: Feature request

Short description:
Functions that return undefined (e.g. function f() { return undefined; }, or function f() {} ) give a rather verbose error as follows when apply0ed;

It would be desireable to either have: a dedicated error for a function returning undefined, rather than a translation error occuring (e.g. 'error: function returned undefined instead of a value'); or for an explicit 'undefined' singleton to be the output instead of erroring, allowing for logic such as equals(f(), undefined) on the InDy side.

Thanks for the suggestion!


Search by checkboxes and 'undo' specific search

Hi,
I'm triying to adapt the list.js to multiple search filters, using data attributes and custom search inputs.
It's working ok, using select etc, but now I'm triying to use checkboxes, lets see it with an example.
http://codepen.io/anon/pen/yMQjbB
What I do is "on checkbox changed" re-run the entire checkbox search.
Things I need:
I need to "clear" the search before re-runing it.
I need to filter over already filtered values (not the already hidden ones). On the example, each search must be over the already searched values (checkbox X AND checkbox Y....)
Thank you

The example was updated. Now I reset the search just searching with an empty string. But Would be great to have a "resetSearch" or "clearSearch" method.
No I just need the search to be over the already filtered elements, instead of the entire list.

Well, again, found this for reset the searh. Updated example.
https://github.com/javve/list.js/commit/37edc1b98bf63a684d633f29e2f52106c21eaf7d

It seems that using filters is the way to go http://codepen.io/anon/pen/VpVNpz

The final version. With a checkbox (using AND to check for data attributes containing all values) and a selector (wich filters only over already filtered values).
http://codepen.io/anon/pen/bqQyKp


Fix Gitian deterministic build

Currently Gitian does not produce deterministic builds for Windows binaries.

Dibs :smile:

I've started on this, and decided to add the changes to this PR #461 since they are very related
I needed the updated /depends to update the gitian setup as well.

@aguycalled
So far I've gotten this result from windows build based on patch-5 PR #461
USE_DOCKER=1 ./bin/gbuild -j8 --commit navcoin-core=patch-5 --url navcoin-core=https://github.com/mxaddict/navcoin-core.git ../navcoin-core/contrib/gitian-descr
iptors/gitian-win.yml
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0
Unpacking objects: 100% (5/5), done.
From https://github.com/mxaddict/navcoin-core
   9baeff4..448dc89  patch-5    -> patch-5
--- Building for bionic amd64 ---
Stopping target if it is up
Making a new image copy
Starting target
Checking if target is up.
Preparing build environment
Updating apt-get repository (log in var/install.log)
Installing additional packages (log in var/install.log)
Upgrading system, may take a while (log in var/install.log)
Creating package manifest
Creating build script (var/build-script)
Running build script (log in var/build.log)
Grabbing results from target
Grabbing cache from target
Generating report
b1dd88cdd8bf09af2539d0b345e647129d8fd55c92b6d824b6ecc53efd531028  navcoin-4.6.0-win.tar.gz
8ea47d64a1d286f3db44f8a4220bde6b9da4d615845328d77b6f77f827440c1d  navcoin-4.6.0-win32-debug.zip
81eb9973c247bd57ec5b15eff79bb8f65173dc06c72cdd9e82303ddb791be50a  navcoin-4.6.0-win32-setup-unsigned.exe
961ae253683dd413fe543a7cffe71a1638923d8716903e848ee76be012877a34  navcoin-4.6.0-win32.zip
2ad73c0f07f37f8cbb0466042e09686d63924c8b66421bd65a01c82c329696dd  navcoin-4.6.0-win64-debug.zip
92503574bcf91178777cc81ea86b2d91b037c0fab2a3d1e17696e3809620dd23  navcoin-4.6.0-win64-setup-unsigned.exe
7f5a6950561e83a82f0351431a92d7c73c89e6fbfb6484278fa0c0462a0d7280  navcoin-4.6.0-win64.zip
0f5b9baeb0c3abe2972924ad469c07d181d7f1d04f58761af125ab822b160e72  src/navcoin-4.6.0.tar.gz
a97d7446ce3c4ac4b065027b7c5616e131018c3fcc65cc8f4f7674343fe8a82a  navcoin-win-4.0.0-res.yml
Done.

USE_DOCKER=1 ./bin/gbuild -j8 --commit navcoin-core=patch-5 --url navcoin-core=https://github.com/mxaddict/navcoin-core.git ../navcoin-core/contrib/gitian-descriptors/gitian-win.yml
--- Building for bionic amd64 ---
Stopping target if it is up
Making a new image copy
Starting target
Checking if target is up.
Preparing build environment
Updating apt-get repository (log in var/install.log)
Installing additional packages (log in var/install.log)
Upgrading system, may take a while (log in var/install.log)
Creating package manifest
Creating build script (var/build-script)
Running build script (log in var/build.log)
Grabbing results from target
Grabbing cache from target
Generating report
b1dd88cdd8bf09af2539d0b345e647129d8fd55c92b6d824b6ecc53efd531028  navcoin-4.6.0-win.tar.gz
8ea47d64a1d286f3db44f8a4220bde6b9da4d615845328d77b6f77f827440c1d  navcoin-4.6.0-win32-debug.zip
81eb9973c247bd57ec5b15eff79bb8f65173dc06c72cdd9e82303ddb791be50a  navcoin-4.6.0-win32-setup-unsigned.exe
961ae253683dd413fe543a7cffe71a1638923d8716903e848ee76be012877a34  navcoin-4.6.0-win32.zip
2ad73c0f07f37f8cbb0466042e09686d63924c8b66421bd65a01c82c329696dd  navcoin-4.6.0-win64-debug.zip
92503574bcf91178777cc81ea86b2d91b037c0fab2a3d1e17696e3809620dd23  navcoin-4.6.0-win64-setup-unsigned.exe
7f5a6950561e83a82f0351431a92d7c73c89e6fbfb6484278fa0c0462a0d7280  navcoin-4.6.0-win64.zip
0f5b9baeb0c3abe2972924ad469c07d181d7f1d04f58761af125ab822b160e72  src/navcoin-4.6.0.tar.gz
a97d7446ce3c4ac4b065027b7c5616e131018c3fcc65cc8f4f7674343fe8a82a  navcoin-win-4.0.0-res.yml

Here is the docker setup process:
# Installed docker
git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/mxaddict/navcoin-core.git
cd gitian-builder
bin/make-base-vm --docker --arch amd64 --suite bionic
docker run --name=gitian-target -d base-bionic-amd64:latest
USE_DOCKER=1 ./bin/gbuild -j8 --commit navcoin-core=patch-5 --url navcoin-core=https://github.com/mxaddict/navcoin-core.git ../navcoin-core/contrib/gitian-descriptors/gitian-win.yml

I did another build again today and seems windows builds now have same hashes after build :smile:
--- Building for bionic amd64 ---
Stopping target if it is up
Making a new image copy
Starting target
Checking if target is up.
Preparing build environment
Updating apt-get repository (log in var/install.log)
Installing additional packages (log in var/install.log)
Upgrading system, may take a while (log in var/install.log)
Creating package manifest
Creating build script (var/build-script)
Running build script (log in var/build.log)
Grabbing results from target
Grabbing cache from target
Generating report
b1dd88cdd8bf09af2539d0b345e647129d8fd55c92b6d824b6ecc53efd531028  navcoin-4.6.0-win.tar.gz
8ea47d64a1d286f3db44f8a4220bde6b9da4d615845328d77b6f77f827440c1d  navcoin-4.6.0-win32-debug.zip
81eb9973c247bd57ec5b15eff79bb8f65173dc06c72cdd9e82303ddb791be50a  navcoin-4.6.0-win32-setup-unsigned.exe
961ae253683dd413fe543a7cffe71a1638923d8716903e848ee76be012877a34  navcoin-4.6.0-win32.zip
2ad73c0f07f37f8cbb0466042e09686d63924c8b66421bd65a01c82c329696dd  navcoin-4.6.0-win64-debug.zip
92503574bcf91178777cc81ea86b2d91b037c0fab2a3d1e17696e3809620dd23  navcoin-4.6.0-win64-setup-unsigned.exe
7f5a6950561e83a82f0351431a92d7c73c89e6fbfb6484278fa0c0462a0d7280  navcoin-4.6.0-win64.zip
0f5b9baeb0c3abe2972924ad469c07d181d7f1d04f58761af125ab822b160e72  src/navcoin-4.6.0.tar.gz
a97d7446ce3c4ac4b065027b7c5616e131018c3fcc65cc8f4f7674343fe8a82a  navcoin-win-4.0.0-res.yml
Done.

OSX build:
--- Building for bionic amd64 ---
Stopping target if it is up
Making a new image copy
Starting target
Checking if target is up.
Preparing build environment
Updating apt-get repository (log in var/install.log)
Installing additional packages (log in var/install.log)
Upgrading system, may take a while (log in var/install.log)
Creating package manifest
Creating build script (var/build-script)
Running build script (log in var/build.log)
Grabbing results from target
Grabbing cache from target
Generating report
a17a8c7e189d2d2ccd3a118b8e8ec2c94ef000d544d4ce38b848bfeb48291479  navcoin-4.6.0-osx-unsigned.dmg
2414813efd2099031da4ba35928851d3ab0739cce01f73cf4998b6476c0e5bb2  navcoin-4.6.0-osx-unsigned.tar.gz
1f1963bf3e69cd634e7448582e312ff6ddc0b3116311b05f884f49a6a201de0c  navcoin-4.6.0-osx64.tar.gz
0f5b9baeb0c3abe2972924ad469c07d181d7f1d04f58761af125ab822b160e72  src/navcoin-4.6.0.tar.gz
c415a774db05bc11d9dca5ab15cfd6d870b27ea1288732ca53b1cb0eeb3a3584  navcoin-osx-4.0.0-res.yml
Done.

OSX confirmed with a second build:
a17a8c7e189d2d2ccd3a118b8e8ec2c94ef000d544d4ce38b848bfeb48291479  navcoin-4.6.0-osx-unsigned.dmg
2414813efd2099031da4ba35928851d3ab0739cce01f73cf4998b6476c0e5bb2  navcoin-4.6.0-osx-unsigned.tar.gz
1f1963bf3e69cd634e7448582e312ff6ddc0b3116311b05f884f49a6a201de0c  navcoin-4.6.0-osx64.tar.gz
0f5b9baeb0c3abe2972924ad469c07d181d7f1d04f58761af125ab822b160e72  src/navcoin-4.6.0.tar.gz
c415a774db05bc11d9dca5ab15cfd6d870b27ea1288732ca53b1cb0eeb3a3584  navcoin-osx-4.0.0-res.yml

Paid a31754d23dec948beed7b9f3bff1a9b613c2a5f01a5f9c65702e39750be9ab75