Vagrant package repo/ppa

It'd be great if there were a package repo I could add to my system so that vagrant updates would happen automagically.
Obviously not an urgent requirement ;)
Keep up the good work!

+1

+1

:+1:

+1

+1

+1

+1

+1

Okay so :
https://gist.github.com/gboddin/d3fa7e386868a0862b81
Apt source line :
deb http://oraw.waro.be/vagrant deb main
Not signed, so you know :)
The mentioned script is ran everyday at midnight, so you get daily updates
regards,

@gboddin cool stuff! :+1:
(although an official repo would be ideal of course) :wink:

That's an improvement but still. hashicorp uses bintray which already provides debian repositories.

Yeah well, considering the amount of +1, let's assume they just don't care about making their product widely available.
That's okay, I just did it to ease the life of the devs working with it, but for me Vagrant is now depcrecated, slow, and not community focused (let's say dead).
Make a proper source code, it'll build wherever you want, the fact that it needs that kind of hacks says it all for me.
Period.

Thanks @gboddin :)

@gboddin You're welcome to that opinion, and I'm glad you found value out of Vagrant while you could!
We don't base our roadmap on "+1"s and the count is not a good indicator of features that are necessary vs. features that are nice. What is necessary is fixing bugs wherever possible, improving platform support (host, guest, hypervisor), and adding features that the community requests. Note our very active and long CHANGELOG: https://github.com/mitchellh/vagrant/blob/master/CHANGELOG.md
Distribution isn't Vagrant's priority right now, in that you're correct. Our downloads per month are still growing at a staggering rate, so distribution clearly isn't a short term problem. But stability, platform support, and specific features are.
The reason this issue is still open is because we intend to do it one day, but work is prioritized based on immediate need vs. time issue is opened or "+1 count".
So for the remainder of folks in this issue who have decided that Vagrant is still useful despite the fact we don't provide a proper Debian repo, thank you, your patience is appreciated, and we continue to work towards making Vagrant the best it can be with important bug fixes and improvements.

@mitchellh  Isn't this issue a low hanging fruit since you already use bitry which provides debian repositories?

I think it's an important features, being able to be up to date with the latest version and with security fixes, also :
If you make distribution without that FPM thingy wide available, you'll get more developer involved with the project, for ... fixing bugs, improvements.
Also your download per month would growth with a repo. Most of the time, I discard solutions not providing update facilities, if there's another one covering the need.
I might be the only one, but so you know where your beardy linux users might be hidding ;)
Btw, I gave the code to generate a generic repo, all you need now is to sign it with your own gpg key when you make a new release ;) (and tell people to trust that gpg key in APT).

@gboddin Thank you for your efforts, and I'm sorry the powers that be aren't taking advantage of what you have provided.
@mitchellh Your post bothers me.  I think you have done nothing but be annoying.
"Distribution isn't Vagrant's priority"  did you really think any of us couldn't figure that out?
"we intend to do it one day" is empty words given this issue has been open for 3 years.
"distribution clearly isn't a short term problem" is simply wrong, and you are being rude to the group of people here saying "it is a problem."
"community requests"  - what does that mean?

@mitchellh if this issue, comments in it and all of the "+1" do not qualify as a community request, please, tell me, what will qualify as such?

@ivan-kolmychek  Run OSX ;)

@gboddin I personaly have no problems with obtaining fresh vagrant version, as I said before, but now I'm interested - what exactly is considered "ommunity request". Before @mitchellh comment I was quite sure, that github issue with alot of followers qualifies as one. =)

I think the difficulty of providing a correct source package is what's holding them back.
Also, I have the feeling that Vagrant is most widely used by OSX users/developpers.
One plus the other makes it easy to deny this issue with non-sense terminology ("like community requests", blah ...).
 It'll just deliver the debs you're currently providing and keep everyone up to date.
Whatever ...

Guys, this is out of hand and inappropriate. Yes, this is low hanging fruit and a nice benefit for devs on debian-family systems. No, that does not make the attitudes presented here appropriate.
That said, it would be nice to get this issue resolved. It seems like bintray would be the best option for this, since it (as others have mentioned) is already being used for the packages. Is there some way we can help test/implement this?

@troyready
I don't know about bintray but :

Or bintray is like debian/ubuntu and require source-packages to build a repo
Or vagrant's team doesn't want to click the checkbox

Does that summarize our frustration enough (especially when people say the same thing than you over and over again without any result for 2 full years, and without any return from @mitchellh  on the why is it so hard to do it at bintray) ?
I'm really confuzzled on how an almost-devops software has so much trouble with that, especially when there are solutions providen ...

@gboddin As far as I can tell from their documentation they don't require source packages.

Before I saw @gboddin's post, I created my own repository. It's using a slightly different technique, and actually signs the files. There's any number of ways this can be done; my choice of tools was entirely arbitrary and dictated primarily by what I got to work first. The deb packages are downloaded from bintray and served locally; it might even be possible to set up a redirect so they're downloaded directly from bintray, though I have no idea how apt would react to that.
Instructions for adding the repository to your computer: http://vagrant-deb.linestarve.com/
This only took a couple of hours to set up, and seems to work well. It's just serving static files, so hosting it on S3 would be very easy. I intend to continue supporting this until an official repository becomes available, at which point I'll set up appropriate redirects to point there instead.

@wolfgang42 Thank you very much! much appreciated!!
I'll also put in my +1 for an official repo :-)

+1

+1

+1

+1

+1

+1 for an official repo

+1

+1

Ubuntu 15.04 includes a package for vagrant 1.6, which should make this less pressing.

That's more a testament to how badly this is needed, Ubuntu 15.04 has only been released this month and it's already pretty far behind (1.7.2 is the latest vagrant version vs. 1.6 on Ubuntu 15.04)
additionally, very few Ubuntu users are going to be on 15.04 since it's not LTS

@arnt this issue was opened 3 years (~ 6 releases of Ubuntu) ago and, considering how the discussion goes, it can easily stay unresolved for another few years, so, I suggest you to not hope that Ubuntu will ship an actual version for a long time - it never does. ;)

@ivan-kolmychek http://packages.ubuntu.com/vivid/vagrant says the currently shipping version is 1.6.5. This should be recent enough for me at least (I need vagrant-libvirt).

@arnt v. 1.6.5 was released Sep 5, 2014. So, Ubuntu 15.04, which was just released, already contains more than half a year old version. That is even more interesting if you consider that half a year is a time between "regular" Ubuntu releases.

Ubuntu 15.04 is supposed to mostly contain packages dating from between the 14.10 freeze in late August 2014 and the 15.04 freeze in late February 2015, so that sounds reasonable enough. Unless Vagrant changed significantly between September 2014 and February 2015?

+1. If you're already building a deb, a signed PPA isn't that much to ask for is it?

+1

Actually a PPA can be quite a bit more work than a .deb. For example, you cannot take liberties with versions and dependencies when you build for a PPA, since the actual building is done on Canonical's servers.
I've no idea what the concrete problem is with Vagrant though.

The Vagrant team doesn't want (or doesn't have the resources) to make quality packages that adhere to the Debian Policy Manual, they'd rather produce the hack-job we see today.  Honestly, I think a better solution would be for the Vagrant team to stop releasing binary packages of any kind, just like most other projects.  Then the distributions will all package their own properly, and hopefully a team of kind volunteers will step up to maintain a PPA with more recent versions (based on the existing Debian/Ubuntu package), as people already have here on this thread.

Ppa won't need to adhere to debían policy and I think is most people's minimum expectation.

@hackel: I'd point out that the people here on this thread who are maintaining a PPA have not made quality packages that adhere to the Debian Policy Manual. Instead, we've simply stuck a wrapper repository around the Vagrant team's very own "hack-job packages", to allow apt do the job it was intended for: updating packages automatically.
The feasibility of this has been proven, as evidenced by the two independent setups (@gboddin's http://oraw.waro.be/vagrant and my own http://vagrant-deb.linestarve.com, both of which were set up with a minimum of effort), and all we're waiting for at this point is for the Vagrant team to take our code, spend an hour or two setting it up with S3, and put a link to the resulting repository on the downloads page.

@wolfgang42 I'm curious. There are ubuntu packages that comply with the entire policy manual. Why did you based your repo around the hack rather than on Canonical's build scripts from its compliant packages? (I understand that some people may like the hack better than what the debian policy says, but you sound as if you prefer the compliant packages, hence the question.)

@arnt The are no ubuntu packages that comply with the entire policy manual.

@gboddin What problems are there with https://packages.debian.org/experimental/vagrant ?
(They're not Canonical's build scripts, BTW! They were made by Laurent Bigonville and Antonio Terceiro.)
@wolfgang42 I am aware of that, and that is a shame.  Basing any Vagrant repo/PPA off of the package I linked above would be ideal.
The /opt/vagrant/embedded directory should not exist, and really bothers me.  It's 115M of duplicated dependencies!  This is why we need proper Debian packages that use system-installed dependencies.  Notice that the package I linked to is only 332.6 kB as opposed to 67.3 MB for the crappy package released by the Vagrant team.

@hackel
This is what's wrong :
https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=vagrant;dist=unstable
And I expect the list to be incomplete.

@gboddin I'm not seeing any policy violation issues here, am I not seeing something?  Of course packages will occasionally have bugs that need to be fixed.  It sounds like the Vagrant team, while producing an excellent product, didn't have a clue about software distribution or package management, and so initially made their code tightly coupled to their own packaging scheme, causing many of these issues.  These issues need to be corrected.
The Debian 1.7.2 package is working quite well for me on Ubuntu 14.10 so far.

@hackel Awesome them.
I don't know the heart of Vagrant, dev implication on such things made be switch product anyway, but here for eg, I can see minified jquery stuff (just reading the list of bugs). Debian has a jquery package to it have to be used.
To whoever started this package, it seems they did a good job decoupling Vagrant. I would say good luck keeping the otherwise hard-deps in sync with what's available in Debian repo's :')
Tips to anyone wanting to contrib to debian packages :
sudo apt-get install devscripts
dget http://http.debian.net/debian/pool/main/v/vagrant/vagrant_1.7.2+dfsg-2.dsc
Will checkout the package skel and prepare the build-dir.

@arnt: I had several goals in mind:
Partly it was because, much as I prefer compliant packages, I've never actually figured out how to build one. (The Debian package-building system is, IMHO, far too complex. Arch packages can do almost everything that .deb packages can, and they're far simpler to build.)
The main reason, though, was that I was trying to build something that the Vagrant team could get behind and begin using with a minumum of effort. The current packaging system doesn't provide a properly built source package, and it doesn't seem likely that they'll get one in the near future. However, they're already building the packages, and putting them in a repo is three commands, to be run at the end of the build:
aptly repo add vagrant-deb .
aptly snapshot create vagrant-$VERSION from repo vagrant-deb
aptly publish snapshot -gpg-key=$GPG_KEY vagrant-$VERSION

I'm not sure how to make it any less difficult than that.
In addition, the packages in my repo are the ones on the Vagrant download page, which makes filing bugs against Vagrant simpler: the bug report can say "this bug is reproducible with the .deb package from the Vagrant download page" rather than "this bug is reproducible with some random .deb package that someone built."

+1 for the great explanation and practicality @wolfgang42

@wolfgang42
Thanks to you I now have to spend time checking what that aptly thing can do !
Not cool man !
( thanks in disguise ;) )

To anyone it concerns, I'm dropping/deleting the "deb http://oraw.waro.be/vagrant deb main" repository ;)
Regards,

+1 for proper package repo

+1

+1

+1

(I apologise to all for this message in advance!)
Please refrain from adding "+1" comments to this or ANY other bug report.  There is a "Subscribe" option which allows your interest to be registered, keeps you updated with new comments, and doesn't spam the rest of us  with your interest.    Thanks again to everyone who has actually contributed their time and effort to solving this problem, and those who have added insightful commentary.

For those using Ansible to bootstrap local systems, feel free to use my gist that gets the latest x86_64 version of vagrant and installs it:
https://gist.github.com/peterfarrell/d55ce25612e4988c083e
Otherwise, even VirtualBox these days has an official apt repo (Yes, Oracle).
+1 (I added insightful information for those looking automate installing vagrant with ansible)

Hi all,
Thank you for all the comments. It's very clear this is something the community is interested in, but unfortunately it is not currently a high-priority item. We are going to explore packagecloud (as suggested), since none of us are super experienced in setting up or managing PPAs. While I understand that "it's easy" and we can just "follow this guide", unfortunately that is not a sustainable, long-term solution. Spending time building and maintaining that repo takes valuable development time away from the engineers who work on Vagrant. While the existing process (download and unzip) isn't very "debian-like", it does work, is easily scriptable, and gives us the flexibility of quick releases behind a CDN.
If packagecloud proves to be a viable solution, we will start publishing all our official packages there (in addition to our existing website downloads) :smile:.

—
Reply to this email directly or view it on GitHub
https://github.com/mitchellh/vagrant-installers/issues/12#issuecomment-123211026
.

+1

For anybody who scrolled to the bottom, http://vagrant-deb.linestarve.com/ is the only unofficial repo that still appears to be up. Yes, this is still broken, if you want proper updates on Debian family systems you'll need to trust @wolfgang42.

At the time of writing, Ubuntu 14.04 LTS ships with Vagrant 1.7.2 which doesn't recognize Virtualbox 5 as a valid provider (fixed in 1.7.4). The cleanest way to work around this problem is to install Virtualbox 4.3 from officilal repositories, which still resolves any DKMS module problems found in the Ubuntu virtualbox packages.

In case somebody wants to integrate the new releases api for populating own repos , it works for me like this:
curl -s https://releases.hashicorp.com/vagrant/index.json | jq --raw-output '.versions | to_entries | max_by(.key) | .value.builds | .[] | select(.arch=="x86_64") | select(.os=="debian") | .url '

Very nice, @artem-sidorenko. I'm looking at other Hashicorp projects and I see that Consul has a release candidate for a future version out, which comes up in your query as the top result. So I added a filter step (the with_entries line) to get rid of anything matching /-rc[0-9]+$. Possibly there's a safer way to match, but in any case:
curl -s https://releases.hashicorp.com/vagrant/index.json \
    | jq --raw-output \
        '.versions
        | with_entries(select(.key | test("-rc[0-9]+$") | not))
        | to_entries
        | max_by(.key)
        | .value.builds[]
        | select(.arch=="x86_64")
        | select(.os=="debian")
        | .url'

@artem-sidorenko Thanks! I've just updated my repo to use the new API.
With this API it also becomes very easy to add other Hashicorp projects to the repository; I've filed wolfgang42/vagrant-deb#3 and will get around to it eventually if someone doesn't beat me to it.

http://vagrant-deb.linestarve.com is currently down... Any reason why HashiCorp wouldn't just provide an official repository?

@teohhanhui http://vagrant-deb.linestarve.com is back up again. My entire web server was down, Apache apparently didn't come back up after an upgrade.
Check @sethvargo's  comment above for HashiCorp's reasons for not currently providing a repository.

Is there anything the community can do to help resolve this issue? The lack of a PPA means that Ubuntu users either have to use an old version of Vagrant (e.g. 1.8.1 doesn't work with Homestead) or download the latest version from the Vagrant website and then have to update manually (there doesn't seem to be an announce list for new versions either so you have to remember to check the downloads page every so often).

To co-exist with the existing infrastructure, one possibility is as follows:

Install reprepro using sudo apt-get install -y reprepro
Generate signing key using gpg2 (see guide from DigitalOcean which has separate master and signing keys)
Run the script below with the .deb files in the current directory (need to change the key IDs to values generated in above step).
transfer the debian/ directory to the CDN.

#!/bin/bash

SIGNING_KEY="12345678"
PUBLIC_KEY="1234567890123456789012345678901234567890"
KEYSERVER="keyserver.ubuntu.com"
REPO_URL="https://releases.hashicorp.com/debian"

rm -fr debian/
mkdir -p debian/conf
echo ask-passphrase > debian/conf/options
cat > debian/conf/distributions <<END
Codename: hashicorp
Components: extra
Architectures: i386 amd64
SignWith: $SIGNING_KEY
END
reprepro -b debian/ includedeb hashicorp *.deb
cat > repo/setup.sh <<END
sudo apt-get install -y apt-transport-https
sudo apt-key adv --keyserver $KEYSERVER --recv $PUBLIC_KEY
echo "deb $REPO_URL hashicorp extra | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt-get update
END
rm -fr debian/conf debian/db

Someone above posted a guide with aptly, but I find reprepro easier to use when you simply have to create a repository from .deb packages generated by fpm. Either way, I do hope some solution gets implemented...

@ashkulz you can turn existing debs to apt repository even without any special tools (almost)
The point is that this issue is not on the high-priority list :-(

Coincident (mostly) with the release of Vagrant 2.0, I've completely rewritten the code behind vagrant-deb.linestarve.com. This new version generates the repository directly from the HashiCorp releases page and provides redirects to the actual packages.
This has a number of benefits:

Package files will be downloaded directly from HashiCorp, alleviating concerns about tampering.
Increased integrity verification: the SHA256 in the Packages file comes directly from their API, and the signature of the SHA256SUMS file is now checked against the HashiCorp GPG key.
I can publish every version of Vagrant, not just the ones that fit on my disk.
I've also enabled HTTP Strict Transport Security on the domain (currently with a low max-age in case something goes wrong).

I've tested these changes fairly thoroughly, but if you have any problems please file an issue or send me an email so I can look into it.

Still no official repo in 2019? WHY?

Because Arch linux rules the world, That's why! To be serious I still don't have nay sane ide why is it so hard to build repo.

FWIW I once worked at a similar company with similar problem, and this task would most likely have fallen to me. The task isn't particularly hard, but it's a thing that needs to be done, and it's a kind of thing where you need expertise in a field quite far from the usual work, or else you'll get hounded by the peanut gallery. You probably will be hounded anyway, because someone will disagree with whatever you do, but if you're not an expert those people will be factually right, and that's a problem.
Hashicorp will have no shortage of other things to do. That's how life is with opensource users.

@arnt: is it possible for you to elaborate on what the gotchas can be? I'm in a similar position for a project I maintain.

Making a package repo involves leaving your own code and writing something "in" debian's codebase, based on and using debian's idioms. The documentation isn't too good, as usual. Learning how to do good work in a new codebase takes time.
There may be binary choices where both alternatives have drawbacks. If so, you may assume that one of the issue reporters disagrees with whatever you do and will try to engage you in a long discussion. Deep debian expertise helps with that, but acquiring that expertise also takes a lot of time.
So this is a simple task that may be assumed to take a lot of time.
In my case we had haters. (I have an email from Richard Stallman wishing for my personal bankruptcy.) AFAICT Hashicorp doesn't struggle with that kind of crap, but I don't know you. You (@ashkulz) may have that problem, in which case I feel sorry for you. It's important that the haters aren't factually right. The customers and would-be customers mustn't hear the haters be factually right. Making newbie mistakes is a bad idea.
Further, it's acceptable to do work that benefits the free users and doesn't affect the customers. The customers don't mind that. But if the new repo introduces stability problem for existing customer sites, that's a major problem.
Sorry about this digression. Please send me mail if you want to continue the digression.

sidenote: you don't need deep packaging expertise if you're using tools like https://www.aptly.info/

There is an updated PPA here https://launchpad.net/~tiagohillebrandt/+archive/ubuntu/vagrant

@BassemN - thank you very much, but this is not "official", is it? I already have a long list of several repos for different projects that start to be abandoned because the positively engaged maintainer will go on with different things, looses interest, whatever. It is really very appreciated that people take on this and do the work of hashicorp, but I still would like to have an official repo maintained by the company that produces this software, signed with a key by that company.
Also I do not want to maintain a repo myself, for same reasons.

@supersexy you could send email to<EMAIL_ADDRESS>and ask for a quote, you know. It's a commercial establishment, they'll provide services for pay.

With the introduction of Official HashiCorp Linux Repository, this issue should've been resolved I think?
https://www.hashicorp.com/blog/announcing-the-hashicorp-linux-repository

@unicell vagrant is not added yet to the HashiCorp Linux Repository

@BassemN Seems readily available already.
$  apt-cache madison vagrant
   vagrant |   2.2.10-4 | https://apt.releases.hashicorp.com focal/main amd64 Packages
   vagrant |      2.2.9 | https://apt.releases.hashicorp.com focal/main amd64 Packages

@unicell thank you :+1:


Error while launching the browser

node:events:505
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT <IP_ADDRESS>:443
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16)
Emitted 'error' event on ClientRequest instance at:
    at TLSSocket.socketErrorListener (node:_http_client:454:9)
    at TLSSocket.emit (node:events:527:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  errno: -4039,
  code: 'ETIMEDOUT',
  syscall: 'connect',
  address: '<IP_ADDRESS>',
  port: 443
}

playwright?


YBK-183: Garbage collector deletes active ledgers present in zookeeper

When all level 3 nodes are deleted from a given level 2 node, the hasNext returns null which compels the bookkeeper to incorrectly GC the ledgers
Based on the position of the level 2 node either of the two can happen:-
a. If the level2 node is the first level2 node scanned (smallest number) then  the bookkeeper GCs all nodes herewith - Fixed in this PR
b. if level2 node is in the middle (not the first) the bookkeeper throws an exception - and GC activity stops altogether and those ledgers are never deleted - Needs to be analyzed and fixed
I am able to reproduce these scenarios manually - will see if I can add unit tests
@revans2

@jai1 This change does look good.  Are you going to address b?  Also this code is out in the Apache repo as well and needs to be addressed there too.  Do you have plans to put up a pull request there as well?

@revans2 - I don't have permissions to merge PRs on bookkeeper
I have raised a PR for fixing issue 2 (#23) but didn't get time to test it

Also this code is out in the Apache repo

Can you point me to the exact branch cause - I checked master and the code there doesn't use preload.


Add phpcs config file

close #29
copied from slim

Can you check that that Travis config has the same settings, please?

Coverage remained the same at 98.204% when pulling 4f3e424a1a6edd4c2fa4e638690af9e4b193b602 on copynpaste:phpcs into fe1819518bad631ed60c41e6c569fec2dedb7db2 on slimphp:master.

Coverage remained the same at 98.204% when pulling 4f3e424a1a6edd4c2fa4e638690af9e4b193b602 on copynpaste:phpcs into fe1819518bad631ed60c41e6c569fec2dedb7db2 on slimphp:master.

Travis should use the config now

Coverage remained the same at 98.204% when pulling f78bddd921c17898be642ed1f80f0f1a80a21bb9 on copynpaste:phpcs into fe1819518bad631ed60c41e6c569fec2dedb7db2 on slimphp:master.


Automatic herb watering system 🚿🌿👨🍳

Document the build of an automatic watering system for my kitchen garden herbs. The plan is to upgrade my existing watering solution and integrate it with Home Assistant with a friend who wants to do the same with his outdoor herbs.
Ingredients

Water container
5V water pump
D1 Mini controller running ESPHome
Soil moisture sensors
Low water circuit
Flower Care sensor
UV light
Home Assistant helpers and automation to drive watering schedule

Related: #174

This is my existing pump unit - https://www.amazon.co.uk/gp/product/B07PDM4KSC/

This is the UV light I brought which I will likely upgrade to something large that I can fit on the ceiling https://www.amazon.co.uk/gp/product/B07GB28WCH

Solar-powered watering system example https://twitter.com/zimmergren/status/1282599157732126721

https://www.amazon.co.uk/gp/product/B07GB28WCH

Food for thought: https://www.splitbrain.org/blog/2017-06/10-automated_plant_watering

Test Helpers and Automation
As this was all tested without the ESPHome node some fake entities were created so the automation could be created and tested. All fake entities need to be replaced. It assumes an ESPHome device would provide a moisture sensor and a relay/switch for the pump.
The automation has some //TODO items but two considerations or improvements are catching when the pump last ran. This is currently checked via the last_triggered attribute from the automation. I'm not sure if the state will persist after a reboot so worth considering leveraging a date_time helper. The other item is the time between runs, effectively a throttle to avoid the automation running multiple times. This is currently driven by an input_number helper and assumes the pump runs once a day. This is an area I'd like to spend a little more time on.

Automation
alias: 'Zone 1 Watering'

trigger:

  # When the moisture falls below the moisture low threshold.
  - platform: template
    value_template: "{{ states('input_number.fake_zone1_moisture') | int < states('input_number.fake_zone1_moisture_threshold') | int }}"

  # When the time matches the water at helper.
  - platform: template
    value_template: "{{ states('sensor.time') == (state_attr('input_datetime.fake_zone1_water_time1','timestamp') | int | timestamp_custom('%H:%M', False)) }}"

condition:

  condition: and
  conditions:

    # Only run once a day (86400 seconds in a day).
    # //TODO Consider using an input_datetime helper to avoid issues with Home Assistant restarts.
    # //TODO Move throttling time to a input_number help and allow the throttling to be changed in the UI [Done].
    # //TODO This might also need to be considered as a trigger too.
    - condition: template
      value_template: "{{ (as_timestamp(states.sensor.date_time.last_changed) - (as_timestamp(state_attr('automation.zone_1_watering','last_triggered')))) > (states('fake_zone1_time_between_watering') | int * 60) }}"

    # Watering must only occur whe the moisture is below the moisture low threshold.
    - condition: template
      value_template: "{{ states('input_number.fake_zone1_moisture') | int < states('input_number.fake_zone1_moisture_threshold') | int }}"

    # This automatic water enabled helper must be enabled for automatic watering to work.
    - condition: state
      entity_id: input_boolean.fake_zone1_enabled
      state: "on"

    # The pump should not be activated if the water is low.
    - condition: state
      entity_id: input_boolean.fake_zone1_water_available
      state: "on"

action:

  # Turn on the pump.
  - service: input_boolean.turn_on
    entity_id: input_boolean.fake_zone1_switch

  # Add a delay to allow the pump to work based on how long we want it to run for in the UI.
  - delay:
      seconds: "{{ states('input_number.fake_zone1_pump_run_time') | int }}"

  # Turn off the pump.
  - service: input_boolean.turn_off
    entity_id: input_boolean.fake_zone1_switch

  # //TODO check-in notification. Send notification to say the plants have been watered and their moisture level was 20% and is now 56%. Grow biggy grow! 🌻

# //TODO consider creating a secondary automation to send a notification/alert when the water is low.

# Tests
# 1. The automation should only work when "automatic watering enabled" and "Water Available" are both on.
# 1. The automation will only run after the duration "xxxx" has passed since it last ran.
# 1. The automation should trigger when the "Moisture Level" from the plant falls below the "Moisture Level Threshold" or the time matches "Water at".
# 1. The pump should only run for the duration set via "Pump Run Time".

input_boolean helpers
fake_zone1_enabled:
  name: Automatic Watering Enabled
  icon: mdi:watering-can

fake_zone1_switch:
  name: Pump
  icon: mdi:pump

fake_zone1_water_available:
  name: Water Available
  icon: mdi:water-off

input_number helpers
fake_zone1_moisture:
  name: Moisture Level
  min: 0
  max: 100
  step: 1
  unit_of_measurement: "%"
  mode: box

fake_zone1_moisture_threshold:
  name: Moisture Low Threshold
  min: 0
  max: 100
  step: 1
  unit_of_measurement: "%"

fake_zone1_pump_run_time:
  name: Pump Run Time
  min: 0
  max: 60
  step: 1
  unit_of_measurement: "seconds"

fake_zone1_time_between_watering:
  name: Minimum time between watering
  min: 0
  max: 1440
  step: 1
  unit_of_measurement: "minutes"
  mode: box

Failsafe
To avoid issues with overwatering I will replicate something I did for my air fresheners #151 and have ESPHome write to an input_datetime  helper in Home Assistant. This way regardless of how the pump is triggered it will record the last time it ran. Then logic can be added to ESPHome to avoid it running too often. If Home Assistant isn't available then it won't run to avoid over watering.

Here's input_date_time helper:
esph_austria_watering_d1_mini_triggered:     has_date: true     has_time: true

Here is the esphome config (d1_mini):
`substitutions:
system_name: austria_watering_d1_mini
friendly_name: Esph Austria Watering D1
esphome:
name: "esph_${system_name}"
platform: ESP8266
board: d1_mini
#Valid boards are d1, d1_mini, d1_mini_lite, d1_mini_pro, esp01, esp01_1m, esp07, esp12e, esp210, esp8285, esp_wroom_02, espduino, espectro, espino, espinotee, espresso_lite_v1, espresso_lite_v2, gen4iod, heltec_wifi_kit_8, huzzah, inventone, modwifi, nodemcu, nodemcuv2, oak, phoenix_v1, phoenix_v2, sparkfunBlynk, thing, thingdev, wifi_slot, wifiduino, wifinfo, wio_link, wio_node, xinabox_cw01.

wifi:
ssid: !secret ssid
password: !secret ssid_password
fast_connect: true
api:
ota:
time:

platform: homeassistant
id: homeassistant_time

captive_portal:
logger:
#level: VERY_VERBOSE
text_sensor:

platform: version
name: "esph_${system_name}_version"
on_value:
then:
- lambda: |-
ESP_LOGD("main", "The current version is %s", x.c_str());

switch:
relay / pump

platform: gpio
id: relay
restore_mode: ALWAYS_OFF
name: "${system_name} Relay"
pin:
number: D5 #GPIO14
inverted: True
platform: template
name: "${system_name} Relay2"
icon: "mdi:siren"
turn_on_action:

switch.turn_on: relay
delay: !lambda return (id(zone1_pump_run_time).state * 1000);
switch.turn_off: relay
homeassistant.service:
service: input_datetime.set_datetime
data_template:
#entity_id: "input_datetime.${system_name}_triggered"  #Did not work for some reason
entity_id: "input_datetime.esph_austria_watering_d1_mini_triggered"
datetime: !lambda return id(homeassistant_time).now().strftime("%Y-%m-%d %H:%M:%S");

binary_sensor:
#Breadboard Button

platform: gpio
id: button_switch
pin:
number: D2
#mode: INPUT_PULLUP
#inverted: TRUE
filters:

delayed_on_off: 200ms
on_press:
then:

switch.toggle: relay

sensor:

platform: homeassistant
name: "Pump Runtime"
entity_id: input_number.zone1_pump_run_time
id: "zone1_pump_run_time"

platform: wifi_signal
name: "esph_${system_name}_wifi_signal"
update_interval: 60s

platform: uptime
name: "esph_${system_name}_uptime"
update_interval: 60s

platform: adc
pin: A0
name: "esph_${system_name}_soil_moisture_v"
update_interval: 10s
unit_of_measurement: 'v'
icon: "mdi:water-percent"
accuracy_decimals: 2

platform: adc
pin: A0
name: "esph_${system_name}_soil_moisture"
update_interval: 10s
unit_of_measurement: '%'
icon: "mdi:water-percent"
accuracy_decimals: 2
filters:
James Reading:
0.63 = in water
1.1v = dry
lambda: |-
return (2.95 - x) * 100.0 / (2.95 - 1.1);
Bryan Reading:
0.44 = in water
0.84 = dry

lambda: |-
if (x > 0.7) {
return 0;
} else if (x < 0.4) {
return 100;
} else {
return (0.7-x) / (0.7-0.4) * 100.0;
}

`

#HomeAssistant input_datetime integration documentation - https://www.home-assistant.io/integrations/input_datetime/

#HomeAssistant input_number integration documentation - https://www.home-assistant.io/integrations/input_number/

Still not happy about manual button.  If button is pressed, it is not updating last watered date, so it is defeating the system.   Sure moisture readings would still be there.  Need to find a way to have the button action "Normal Pump" motion.

https://hometechhacker.com/how-home-assistant-runs-my-irrigation-controller/

https://github.com/brianhanifin/brianhanifin.com/blob/5c0c3d0b4bfb4c0d2448ff53c478ac6403c927eb/_posts/2020-02-13-diy-irrigation-controller-esphome-home-assistant.md

https://www.wikihow.com/Grow-Plants-With-Grow-Lights
https://en.wikipedia.org/wiki/Grow_light

[ ] For the grow light. This needs to run for ~5 hours a day to be effective. I need to do some research to understand the duration a little more but I want it to come on when the kitchen is not in use as the red/blue light is a little over-powering and it should only run during the day as plants still need to sleep.


[Event Request] Codeunit 5778 (Whse. Create Pick) - OnRun

We are using BC 14.0.35570.
In Codeunit 5778, in OnRun, we would like to take greater control of the WhseCreatePick report is run. Something like this would suffice:
OnRun(VAR Rec : Record "Whse. Worksheet Line")
OnBeforeWhseCreatePickRun(Rec, WhseCreatePick, CreatePickHandled); // New
IF NOT CreatePickHandled then begin // New
    WkshPickLine.COPY(Rec);
    WhseCreatePick.SetWkshPickLine(WkshPickLine);
    WhseCreatePick.RUNMODAL;
end; // New
IF WhseCreatePick.GetResultMessage THEN
  AutofillQtyToHandle(Rec);
CLEAR(WhseCreatePick);

With the event definition:
OnBeforeWhseCreatePickRun(VAR WkshPickLine : Record "Whse. Worksheet Line",var WhseCreatePick: Report "Create Pick",var Handled)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Add option for already indexed database

Hi, it could be possible to don't give raw protein fasta? I'm thinking the use of a huge db (refseq for example), and index the db everytime you use it is a little a waste of time. could you add the option to give the program an indexed db?
regards

@Sanrrone Interesting idea, thanks. We're currently overhauling the BackBLAST workflow in the develop branch and can potentially add this feature.
@LeeBergstrand What are your thoughts? Would be straightforward to add extra, optional flags for --subject_proteome_db and --query_proteome_db, for example.

@Sanrrone The latest release version on MASTER branch is designed to work with preformatted BLAST DB files for both the subject and query. See our python code for running BLAST.
https://github.com/LeeBergstrand/BackBLAST_Reciprocal_BLAST/blob/ee70ff9b8e1a7be55e828567280b22718bd3cb5d/BackBLAST.py#L55
See the use of the -db flag rather than the -subject flag.
@jmtsuji Dev. branch has been changed to use the -subject flag.
https://github.com/LeeBergstrand/BackBLAST_Reciprocal_BLAST/blob/cdaddc47936d8cb21cde183bbadee2fe30381cbc/BackBLAST.py#L58
@Sanrrone If you want to use an newer version just swap out -subject flag for the -db as a temporary solution.
@jmtsuji It wouldn't be that hard to add a CLI flag as you mentioned above. Probably just one flag to swap between FASTA search mode and BLASTDB search mode.

thanks you!


feat(config): add checks for partial parameters

This PR adds three more checks for partial config parameters:

Is the value size compatible with the bitmask?
Is the value size of all related partial params the same?
Is there a (unnecessary) non-partial config parameter with the same property as a partial one?

found a few errors along the way too.

found a few errors along the way too.

trying to not add to the list - so saw this, and it may be related?
But setting values (specifically  Configuration Values) via setValue(ValueID,Value) is that normal practice?
incorrectly aligns the value to 4 Bytes.
17:25:15.253 DRIVER » [Node 002] [REQ] [SendData]
                      │ transmit options: 0x25
                      │ callback id:      17
                      └─[ConfigurationCCSet]
                               parameter #:      31
                               reset to default: false
                               value size:       4
                               value:            6

When in fact, a particular  value might only be 1 byte.
the Configuration Report for a Develo Siren.
https://products.z-wavealliance.org/ProductManual/File?folder=&filename=Manuals/2308/MT02758_manual.pdf
17:25:15.320 DRIVER « [Node 002] [REQ] [ApplicationCommand]
                      └─[ConfigurationCCReport]
                               parameter #: 31
                               value size:  1
                               value:       0

Is there a reference to the value size, in the cache anywhere? - it could be used for setValue when targeting the Configuration class?
targeting the CCAPI isn't a problem of course  (and my preferred method) as its asks you for the size.

trying to not add to the list - so saw this, and it may be related?
But setting values (specifically  Configuration Values) via setValue(ValueID,Value) is that normal practice?
incorrectly aligns the value to 4 Bytes.
17:25:15.253 DRIVER » [Node 002] [REQ] [SendData]
                      │ transmit options: 0x25
                      │ callback id:      17
                      └─[ConfigurationCCSet]
                               parameter #:      31
                               reset to default: false
                               value size:       4
                               value:            6

When in fact, a particular  value might only be 1 byte.
the Configuration Report for a Develo Siren.
https://products.z-wavealliance.org/ProductManual/File?folder=&filename=Manuals/2308/MT02758_manual.pdf
17:25:15.320 DRIVER « [Node 002] [REQ] [ApplicationCommand]
                      └─[ConfigurationCCReport]
                               parameter #: 31
                               value size:  1
                               value:       0

Is there a reference to the value size, in the cache anywhere? - it could be used for setValue when targeting the Configuration class?
targeting the CCAPI isn't a problem of course  (and my preferred method) as its asks you for the size.

That is configured in the config files. You'll find them in packages/config/config/devices/...
The tricky part will be locating the correct file but you should be able to search for the device label.

That is configured in the config files. You'll find them in packages/config/config/devices/...
The tricky part will be locating the correct file but you should be able to search for the device label.

Oh and feel free to open new issues, this is most likely a bug.

Oh and feel free to open new issues, this is most likely a bug.

The config param size states its 4 - manual states 1.
how would you prefer this correction - raise a bug or PR?

All of the configuration, the data size is 1.

The config param size states its 4 - manual states 1.
how would you prefer this correction - raise a bug or PR?

All of the configuration, the data size is 1.

If you have figured it out, pr would be good.

If you have figured it out, pr would be good.

done - so we'll see ;-)

done - so we'll see ;-)


Local deployment under examples?

The local deployment is mentioned and linked in the text.
Would it be helpful to also add a link, text or folder to the examples folder, too?
For consitency reasons?

Do you mean this link?
https://github.com/FIWARE-Ops/data-space-connector?tab=readme-ov-file#examples

The link to local depolyment here:
https://github.com/FIWARE-Ops/data-space-connector?tab=readme-ov-file#deployment

So what is missing?

Actually my last comment was incorrect. So yes, I meant the examples folder.

But that's already linked in the section I mentioned

ok, true. not my best comment ever. will close it.


README: warn about using together with autopilot firmware

Issues like this could likely be avoided (or at least reduced) if the README mentioned that it's for direct control, and that it doesn't play nicely with other software trying to talk to the peripherals at the same time. It would likely also be helpful to mention MAVLink communication as a higher level interface for people who just want to talk to the autopilot.

@ES-Alexander  Can you check https://github.com/bluerobotics/navigator-lib/pull/67 ?


Disabled test still runs

I have a very simple test:
import org.testng.Assert;
import org.testng.annotations.Test;

@Test(enabled = false)
public class DisabledTest {
	@Test
	public void testMath() {
		Assert.assertEquals(2 + 2, 5, "Something is wrong");
	}
}

I run it with Gradle like ./gradlew test. I expect this one not to run, but it runs and fails the build. I've created a demo repo which shows the issue and debug output in README.md. I've tested TestNG version 6.8.8 and 6.9.10 - they both behave the same. Am I missing something?

Duplicate of https://github.com/cbeust/testng/issues/151


trying to share a picture from Riot to WHatsApp fails with file format not supported

steps: long press on a photo in Riot, select share, select WhatsApp -> whatsapp opens and shows the error 'format not supported'. Probably a problem on WA side who is limiting the file format but maybe we do sthg unexpected on our side?

Ok, thanks for reporting, I can reproduce the issue, by sharing with WhatsApp, with GMail, with anything actually.
I'm investigating

The decrypted media is deleted during the time you select an application to share with, because the application is going to background. If you're fast enough (< 4 s) to select the application and do other(s) step(s) before this third party application request the media (ex: select a group in WhatsApp), it works well.
I'm wondering how to fix this issue properly.


Bug report: Failing test on Windows

Description
spfx project externalize: covers all text report branches test fails on Windows, does not fail on Mac OS
Steps to reproduce
Follow path to awesome and run npm test
Expected result
All tests pass
Actual result
  7634 passing (18s)
  1 failing

  1) spfx project externalize
       covers all text report branches:

      AssertionError [ERR_ASSERTION]: 124 == 122
      + expected - actual

      -124
      +122

      at Context.<anonymous> (dist\o365\spfx\commands\project\project-externalize.spec.js:663:16)
      at processImmediate (internal/timers.js:439:21)

Environment
Windows 10, PowerShell, 2.7.0, Node v12.10.0

As it fails on the assert.equal(emptyReport.length, 122); we could either add an or clause to check for 124 as well. Looks like a difference in how windows handles empty spaces/tabs vs how Mac/Linux handles them?
We also now have some failing tests on how slashes are handled (/ vs ) but will create a separate issue for that.

@appieschot as this failing test is also present in #1544, lets close this and manage the work to fix the tests in one issue 👍🏻


Feat: Add gruvbox light variant

We have light and dark versions of Solarized, so perhaps it's a good idea to add the light version for Gruvbox?

You're wellcome to make a pull request . Instructions are given here


Update datamodel-MYSQL-knul.mdx

Fix error

Please also provide the same named relation directive on the relation field

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


User/luigonza/experimental features update protocol handler platforms

Updates supported platforms for URL Protocol Handlers

Docs Build status updates of commit f027aa3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/progressive-web-apps-chromium/experimental-features/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 49fa77d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/progressive-web-apps-chromium/experimental-features/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

#sign-off offline and merged.


Unable to create QnA Maker KB with new bot creation flow

Describe the bug
Unable to create QnA Maker knowledge base in new bot creation flow.
Version
The main branch as of October 20, 2020.
Browser

[x] Chrome

OS

[x] Windows

To Reproduce
Steps to reproduce the behavior:

Go to Composer Home page and select + New
Select Create from knowledge base (QnA Maker), then select Next
Enter values for Name, Description, and Location, then select Next
Was unable to see the Create new knowledge base form

Expected behavior
After step 3, users should be able to see the following QnA Maker KB creation form. Then users should be able to enter some values in the form and create their QnA Maker knowledge base.

Screenshots

Additional context

I can repro the issue as well. and after the QnA bot creation failure, new bot can not be created as well.


nixos-generate-config produces network configuration that times out when interface is removed

The issue is that nixos-generate-config produces a hardware-configuration.nix that includes this:
  # The global useDHCP flag is deprecated, therefore explicitly set to false here.
  # Per-interface useDHCP will be mandatory in the future, so this generated config
  # replicates the default behaviour.
  networking.useDHCP = false;

  networking.interfaces.enp3s0.useDHCP = true;
  networking.interfaces.wlp1s0f0u4.useDHCP = true;

(each active interface gets its own useDHCP). Previously networking.useDHCP was enabled by default.
But, there is no guarantee that enp3s0 & wlp1s0f0u4 will always be available! Consider a laptop with an external USB-C to ethernet adapter connected; this interface will be removed when the user disconnects from ethernet. Another situation is when a USB Wi-Fi Adapter is used, but the USB port is changed (this changes u index I believe). The problem is either that:

an old interface no longer exists and you get stuck waiting for "network-addresses-en*" or "network-addresses-wl*" to finish (or timeout at 1m 30s) as part of network-setup.service.
a new interface appears which does not have useDHCP set (and the user doesn't really know how to set it).

A workaround provided by @lheckerman is to just use a wildcard like:
{
    systemd.network.networks."99-en-dhcp" = {
      matchConfig.Name = "en*";
      networkConfig.DHCP = "yes";
    };
    systemd.network.networks."99-wl-dhcp" = {
      matchConfig.Name = "wl*";
      networkConfig.DHCP = "yes";
    };
}

although it sounds like this does not work with scripted networking (https://github.com/NixOS/nixpkgs/pull/69302#issuecomment-752055980).

The relevant code is in https://github.com/NixOS/nixpkgs/blob/e71df047a0e0244a6b84bba506d0284fd093deb5/nixos/modules/installer/tools/nixos-generate-config.pl#L570-L586
First discussed in https://github.com/NixOS/nixpkgs/pull/69302. Opening as an issue here for better visiblity.

For the systemd-networkd-based solution, I'd suggest adding dhcpV4Config.RouteMetric = 1025; for wl* so that ethernet is preferred if available.
Related: #10001 #75515

Another situation is when a USB Wi-Fi Adapter is used, but the USB port is changed (this changes u index I believe).

I painfully confirmed that this is true.

Another situation is when a USB Wi-Fi Adapter is used, but the USB port is changed (this changes u index I believe).

I painfully confirmed that this is true.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/persistent-network-interfaces-nixos-and-usb-wifi-dongles-how-can-i-get-all-three-to-play-nicely/13587/5

FYI, for anyone looking for a quick solution to the annoying timeout on boot when ethernet adapter is unplugged, you could just use network manager instead of configuring your interface in configuration.nix:
enable network manager
networking.networkmanager.enable = true;
and comment out/delete
networking.interfaces.enp0s20f0u1.useDHCP = true
(enp0s2ofou1 being the network interface name assigned to my ethernet adapter)
This stopped the 90 sec time out on boot for me.

still relevant


Original language + English Dub

Hey, great guide but can you create a CF for this scenario?
Like the movies/tv release which have both Original dub and English dub then it will get grabbed?

I can do that but be aware that, as far as I know, aside from the German scene there are almost no countries/languages where it is common to have dual language releases.
So the question is, are you sure such releases even exist? If yes can create the CF


SDK for Xamarin Android and Xamarin IOS

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [X] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

NaN

Any log messages given by the failure

NaN

Expected/desired behavior

NaN

OS and Version?

IOS 12

Versions

Any Version

Mention any other details that might be useful
Is there any SDK for xamarin ios and xamarin android? Because it seems not possible to use the C# Version for them at the moment (The only available C# is windows)
https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/

it is going to happen ;)
unfortunately no ETA - there is going to be support for more platforms and languages..., more Linux, Android support (x86 etc), and additional support for MacOS and iOS


Allow attaching container volumes to multiple app instances

NOTE: multi-attach only make sense for container volumes (zconfig.Format_CONTAINER) right now, since they are mounted on the host and can thus be shared with multiple QEMU quests over 9P. Other formats are not supported, but there is also no warning if trying to multi-attach them.
IMPLEMENTATION DETAILS: Instead of having single VolumeRefConfig and VolumeRefStatus per volume, we'll have a single VolumeRefConfig/Status pair per "link", connecting app instance to an attached volume, where a link is a tuple of volume unique ID and app instance ID.
Further we simplify the volume reference counting by counting the number of known reference objects instead of summing the reference counts. This allows us to get rid of the reference count field in VolumeConfig, VolumeRefCount and VolumeRefStatus, only keeping it in VolumeStatus.

Trying to wrap my head around the changes in here.
The assumption until now was, each volume is a single "thing", that can be one of:

unattached to a workload
attached to a workload
the basis of a workload (e.g. root disk or container filesystem), which is a different kind of attached

Each volume thus had a VolumeConfig and VolumeStatus.
The changes is that each volume now has the options of:

unattached to a workload
attached to 1 or more workloads
the basis of a workload (e.g. root disk or container filesystem), which is a different kind of attached

Ah, I see. The VolumeConfig and VolumeStatus are unchanged, as those reference the volume itself. What is changed is the VolumeRefConfig and VolumeRefStatus, which are the state of the refcount for a volume by UUID.
Actually, now that I think about it, why did we have a refcount before at all? If it could only attach or not (boolean), then when would the refcount ever be higher than 1? Which leads me to think that maybe it was possible to be multi-attached before?

Instead of having single VolumeRefConfig and VolumeRefStatus per volume, we'll have a single VolumeRefConfig/Status pair per "link", connecting app instance to an attached volume, where a link is a tuple of volume unique ID and app instance ID.

What is that "link"? Is it a separate object? Or do you just mean that VolumeRefConfig/Status is the link, and contains within it the app instance ID and volume ID? In other words, if not for the mess of renaming, we could rename VolumeRefConfig/Status as VolumeAppAttachmentConfig/Status?

Further we simplify the volume reference counting by counting the number of known reference objects instead of summing the reference counts.
This allows us to get rid of the reference count field in VolumeConfig, VolumeRefCount and VolumeRefStatus, only keeping it in VolumeStatus

Not sure I understand this. Do you mean, e.g. if we have 3 VolumeRefConfig/Status "link pairs", then by definition, the ref count is 3?

@deitch

Actually, now that I think about it, why did we have a refcount before at all? If it could only attach or not (boolean), then when would the refcount ever be higher than 1?

Before we used to have refcounts all over the place - in VolumeConfig, VolumeStatus, VolumeRefConfig and VolumeRefStatus. Some of those could just take values 0 to 1 and others could climb higher, but by looking at the code one couldn't really figure out what the possible values were.
In the new version only VolumeStatus has a refcount which is the sum of all references to the volume (VolumeConfig (0 or 1) + the number of VolumeRefConfigs (0 or multiple)). If refcount goes down to 0 - the volume is safe to delete, if refcount is > 0 that means something is using it.

Do you mean, e.g. if we have 3 VolumeRefConfig/Status "link pairs", then by definition, the ref count is 3?

So in this example the VolumeStatus.RefCount should be 4 (= 1 VolumeConfig + 3 VolumeRefConfigs). Of course due to race conditions it can be lower than 4 while the configs are being created etc.

Which leads me to think that maybe it was possible to be multi-attached before?

Yes, it was possible, but had it's limitations: for example since there was only one VolumeRefConfig per volume, there was only one VolumeRefConfig.MountDir per volume - so if you try to mount the same volume at different locations in different applications - it would fail.

Or do you just mean that VolumeRefConfig/Status is the link, and contains within it the app instance ID and volume ID?

Exactly, VolumeRefConfig/Status contains the information binding a volume and the application it's attached to together (volume ID and app instance ID as well as mountDir). This way VolumeConfig/Status is responsible for describing the volume itself, while VolumeRefConfig/Status is responsible for describing the connection (or attachment if you will) of a volume to a particular app instance. Before we had one VolumeRefConfig to describe the attachment of a volume to all app instances.

For example can be those changes related to RefCounter, VolumeId and VolumeKey split for clarity?
@rouming I removed the changes related to UniqueVolumeID since I found out that GenerationCounters are not really used for volumes and I will try to remove them in another PR anyway. However I don't think the other changes can be separated well.

Also, I noticed a strange event flow that I expected @christoph-zededam to fix before. But it is most probably not related to the PR. The VM state changes during snapshot creation go like ONLINE -> HALING -> BOOTING, instead of ONLINE -> HALTING -> HALTED -> BOOTING.

@OhmSpectator Note that you might not be able to observe all such intermediate state changes from outside of the micro service and from the controller. In this case I suspect the zedmanager plus domainmgr sets the state to booting immediately when domainmgr reports it as halted. Did you try to observe this from the controller or by looking at app instance status?
FWIW the downloading to downloaded to verifying to verified to creating_volume to created_volume might not show the downloaded and verified states externally for the same reason if an immediate state transition. Details depend on where.the publish calls are done plus how quickly zedagent manages to send the info messages to the controller. If the latter is slow there will be more opportunities for compressing out state transitions since newer info supercedes older


Controllers 🚀 and routing 🗺

IN This PR I present Implementation of Controllers 🚀 and routing 🗺:
Below are some of my implementations as well as going over the project requirements 🤝 .
Requirements

All linters 🔍 should pass.
Use GitFlow 🌊.
Do NOT use rails generate scaffold command.
Each URL you should have a route, action in the correct controller, view file with message
View files should include only placeholders written in plain HTML

Achievements

Setup ruby workflow and linters 🔍. ✅
use GitFlow 🌊.✅
Do NOT use rails generate scaffold command.✅
Each URL you should have a route, action in the correct controller, view file with message.✅
View files should include only placeholders written in plain HTML.✅

Conclusion
I look forward to hearing 👂  from you The CR in terms of what can be better implemented 👨💻  for the project.
Thankyou!.  🙇

Thank you  for the great review @gemmen29 👍


TEAMNADO-6178: Remove travis builds

These are no longer needed now that we are on the containerized build

LGTM!


Apply directive has no effect

I'm trying out Vite + Windi CSS and it seems to work other than my @apply directive not having any effect.
Here's the file with my directive in the <style> block. Rendered output is like this:

Is there further configuration needed, such as which CSS should be compiled, or some place I need to locate directives?

It does work for index.html, you will need to move it to a separate CSS file and import it.

I separated my CSS into a separate file and tried these:

linking to the file  from the page <head>
using @import  in a <style> block in the <head>
importing from main.js

None of these approaches are making my @apply directive work. What am I doing wrong?

Just pull down your code and fired up without any changes, I think it works as expected.

I switched to a different machine, pulled the repo down, fired it up, and it still doesn't work. 🤷   I'm going to start a fresh new Vite project and see if that changes anything for me.

Can you run DEBUG=vite-plugin-windicss:* npm run dev and share the logs with me? Thanks

Here you go:
❯ DEBUG=vite-plugin-windicss:* npm run dev

><EMAIL_ADDRESS>dev
> vite

  vite-plugin-windicss:glob globs [ 'index.html', 'src/**/*.{html,vue,md,pug,jsx,tsx,svelte}' ] +0ms
  vite-plugin-windicss:config {} +0ms

 ⚡ Vite dev server running at:

  > Local:    http://localhost:3000/
  > Network:  http://<IP_ADDRESS>:3000/

  ready in 124ms.

  vite-plugin-windicss:glob files [ '/Users/jpwain/git/testo/index.html' ] +1s
  vite-plugin-windicss:detect classes Set(13) {
  'en',
  'viewport',
  'stylesheet',
  'text/css',
  'style.css',
  'prose-lg',
  'app',
  'module',
  'bg-pink-200',
  'p-4',
  'text-xl',
  'cooldiv',
  'text-sm'
} +0ms
  vite-plugin-windicss:detect tags Set(9) {
  'html',
  'body',
  'div',
  'head',
  'meta',
  'link',
  'title',
  'style',
  'script'
} +0ms
  vite-plugin-windicss:compile compiled 4 classes +0ms
  vite-plugin-windicss:compile [ 'bg-pink-200', 'p-4', 'text-xl', 'text-sm' ] +0ms
  vite-plugin-windicss:transform:css<EMAIL_ADDRESS>+0ms

Sorry, I still can not repro it, you can have a look at your browser console to see if anything been blocked?

I've encountered the same/similar issue.
Repro: https://bitbucket.org/kh-JDA/crguide-vue3/src/windi/

@bux you didn't have WindiCSS setup properly, please read the guide in README.

@antfu I've read and applied all in the guide to the letter (except for removing the postcss config because I use postcss-nested)
Changes: https://bitbucket.org/kh-JDA/crguide-vue3/commits/22ca0bcdc9308b8c8a07523c2837e0817c70ba45
But still apply is not working unfortunately.

@bux I can see it's applied

@antfu I can't get it to work. I tried deleting and reinstalling "node_modules". No success.
I also checked if maybe building it on windows could have been a problem and used a wsl2 debian distro but even there "apply" is not applied.
I now will try it with a fresh vite install.

@antfu even on a fresh vite install apply is not getting applied. I even tried switching to node v15.9.0.
Fresh vite install test repo: https://github.com/bux/windi-test
Do you want me to test something in particular?

@bux Is this expected?

Maybe you can show me the logs you have with vite --debug

vite-debug.log
vite-plugin-windicss.debug.log
I hope this helps.

@antfu I tried with v0.4.9 but the problem still occurs.

I can't repro on my side

yeah, I know, that's a mighty annoying situation for every dev 😄

Still happens on v0.9.4 sadly.

We have tested out on Windows, but we still can not reproduce it. Can you try with the latest version and provide the log of DEBUG=vite-plugin-windicss:* vite with it again. Thank you!

@antfu Testing with v0.10.2 but still @apply is not being "applied".

I can't reproduce this anymore with v0.15.10 and node v14.17.0.

That's great!


File 01_cifar10_tinyvgg.ipynb comma problem

4. Train the model on CPU and MPS device (GPU)
Hello, I think This part "model": model.class.name,  # Add a comma here, need to add a comma.
  # Create results dict
results = {
    "machine": MACHINE,
    "device": device,
    "dataset_name": DATASET_NAME,
    "epochs": NUM_EPOCHS,
    "batch_size": BATCH_SIZE,
    "image_size": IMAGE_SIZE[0],
    "num_train_samples": len(train_data),
    "num_test_samples": len(test_data),
    "total_train_time": round(total_train_time, 3),
    "time_per_epoch": round(total_train_time/NUM_EPOCHS, 3),
    "model": model.__class__.__name__,  # Add a comma here
    "test_accuracy": model_results["test_acc"][-1]
}

I hit the same issue when trying the benchmark, and also added the comma in my version.
I've proposed a PR for the change. Hope that helps.


Classifier RESTful API

AS AN ADMIN
I WANT all of these APIs to exist
SO THAT integrations can be done quick and easy and information exchanged easily

[ ] #54
[ ] #55
[ ] #56
[ ] #57
[ ] #58
[ ] #80

@vaunapuu marking this as wontfix as we have all of our functionalities as separate REST endpoints. Every single one of them.
Regarding Jira, Exchange and DHS, these should be covered within #82.

PS! DHS is not covered in #82


Update python anaconda/miniconda to use common script

This PR updates the Anaconda and Miniconda definitions to use the common script.  It uses the new approach for doing this outlined in #462.
It otherwise follows the same steps to avoid unexpected impacts.

@brettcannon No worries! Vacation is important. :) Thanks for the review.


nanobind: leaked 1 types! causes cocotb to delete results.xml file

Hello, I found out about APyTypes at Orconf and I though it would be great to use it with cocotb! Unfortunately I ran into this error when running a simple cocotb test bench that uses APyTypes: https://github.com/JamesTimothyMeech/APyTypes-Test/blob/main/test/test.py. Is there anything that I am obviously doing wrong here?
james@james-Laptop-13th-Gen-Intel-Core:~/Desktop/APyTypes-Test/test$ make
rm -f results.xml
make -f Makefile results.xml
make[1]: Entering directory '/home/james/Desktop/APyTypes-Test/test'
mkdir -p sim_build/rtl
/usr/bin/iverilog -o sim_build/rtl/sim.vvp -D COCOTB_SIM=1 -s tb -I/home/james/Desktop/APyTypes-Test/test/../src -f sim_build/rtl/cmds.f -g2012   /home/james/Desktop/APyTypes-Test/test/../src/project.v /home/james/Desktop/APyTypes-Test/test/tb.v
rm -f results.xml
MODULE=test TESTCASE= TOPLEVEL=tb TOPLEVEL_LANG=verilog \
         /usr/bin/vvp -M /home/james/.local/lib/python3.10/site-packages/cocotb/libs -m libcocotbvpi_icarus   sim_build/rtl/sim.vvp
     -.--ns INFO     gpi                                ..mbed/gpi_embed.cpp:76   in set_program_name_in_venv        Did not detect Python virtual environment. Using system-wide Python interpreter
     -.--ns INFO     gpi                                ../gpi/GpiCommon.cpp:101  in gpi_print_registered_impl       VPI registered
     0.00ns INFO     cocotb                             Running on Icarus Verilog version 11.0 (stable)
     0.00ns INFO     cocotb                             Running tests with cocotb v1.8.0 from /home/james/.local/lib/python3.10/site-packages/cocotb
     0.00ns INFO     cocotb                             Seeding Python random module with<PHONE_NUMBER>
     0.00ns INFO     cocotb.regression                  Found test test.test_project
     0.00ns INFO     cocotb.regression                  running test_project (1/1)
     0.00ns INFO     cocotb.tb                          Start
     0.00ns INFO     cocotb.tb                          Reset
VCD info: dumpfile tb.vcd opened for output.
 90000.00ns INFO     cocotb.tb                          Test project behavior
110000.00ns INFO     cocotb.regression                  test_project passed
110000.00ns INFO     cocotb.regression                  **************************************************************************************
                                                        ** TEST                          STATUS  SIM TIME (ns)  REAL TIME (s)  RATIO (ns/s) **
                                                        **************************************************************************************
                                                        ** test.test_project              PASS      110000.00           0.00   70784511.23  **
                                                        **************************************************************************************
                                                        ** TESTS=1 PASS=1 FAIL=0 SKIP=0             110000.00           0.08    1308077.84  **
                                                        **************************************************************************************

nanobind: leaked 1 types!
 - leaked type "apytypes._apytypes.APyFloat"
nanobind: leaked 53 functions!
 - leaked function "__add__"
 - leaked function "cast_to_half"
 - leaked function ""
 - leaked function "__gt__"
 - leaked function ""
 - leaked function ""
 - leaked function ""
 - leaked function "__rmul__"
 - leaked function "is_identical"
 - leaked function ""
 - leaked function ""
 - ... skipped remainder
nanobind: this is likely caused by a reference counting issue in the binding code.
make[1]: *** [/home/james/.local/lib/python3.10/site-packages/cocotb/share/makefiles/simulators/Makefile.icarus:95: results.xml] Aborted (core dumped)
make[1]: *** Deleting file 'results.xml'
make[1]: Leaving directory '/home/james/Desktop/APyTypes-Test/test'
make: *** [/home/james/.local/lib/python3.10/site-packages/cocotb/share/makefiles/Makefile.inc:40: sim] Error 2

Thanks for trying out APyTypes and reporting the issue!
We've recently tried to add an example using APyTypes and cocotb and ran into a similar issue, see #530.
It is indeed a quite strange thing happening as we are, as far as we know, using pretty standard nanobind-bindings.
So no, you are not doing anything obviously wrong. It seems like you can hide the issue (to some extent) by importing apytypes inside the test, but that will still give a similar output in case of failure...

Looking a bit more into it (a very quick Google search that is...), it seems like this may be related to type-information leaking and that there is a pretty simple fix available. We will try that in #530.

Reading a bit further, this seems to relate to us using a static variable in the C code and the Python typing library interacting in a way that leads to a minor reference leak multiplying when using an external library as type information. A fix should be included in Python 3.12, but we will of course try to fix it on our side to work with other versions as well (and hopefully get rid of those dreaded static variables that also prevents fully thread-safe execution, using different contexts in different threads).

Just tested with Python 3.12 and the issue persists unfortunately, so the investigation continues.

It seems like there is an issue with nanobind (that we use for the Python/C++-bindings) and cocotb, where cocotb shuts down the Python process, but somehow nanobind still finds remaining data. We created a very minimal C++-extension and just importing the class triggers this.
However, importing the module doesn't, so a workaround for now is to do import apytypes and then use apytypes.APyFixed etc.
We'll try to figure out if this is primarily a cocotb or nanobind issue and report a bug, but most likely the maintainers should communicate with each other to see if there is a good way to solve this.
From an APyTypes perspective we will most likely disable this leakage check for the builds, but run it in some tests. (We also run valgrind to check for leaks.)

Thanks for submitting this issue, @JamesTimothyMeech! We have now been able to fix it. I'll try to make a 0.2.2 patch release sometime today with the patch included.

Thanks, I installed from git and it seems to work on my end!

One more thing @JamesTimothyMeech! You might still get the leakage warning on the latest commit, but the simulator shouldn't crash anymore so you will have your results.xml file retained now. We're working on a fix for the leakage warning as well!

The (false) leakage warnings should be suppressed on the latest commit now, should that bother you.


Update Sparkle to 1.24.0

#1113 Sparkle 1.24.0 is compatible with Apple M1 (arm64).

Sorry for the delay. I'll try to merge this by end of week. There are a lot of files so just want to confirm on my end this is the same as the recent release.

Is there any way to tweak this to support arm64 as well? I've never done much with Sparkle, but it seems like this is going to be one of many impediments to supporting the new Apple chipsets.

@ichizok I can confirm this works to make MacVim master arm64 compile and run on M1 MacBook Air running macOS 11.1 Beta.

Ok merged. Sorry for the delay. But yes this should fix Apple Silicon building. The previous released Sparkle binary was not a universal binary, so when MacVim tries to build against it in a universal binary, it couldn't as there was not arm64 binary in Sparkle. The new version now supports that.

But, I still build failed macOS Catalina with Xcode 12.2.

I still need the patch to build macvim under homebrew. Weird.

Yeah Homebrew is a different issue that has to do with the way the formula works. This is more for fixing #1113 than #1115. I still need to resolve that.

Hello,
Is there any native build for downloading? I tried it with homebrew but it prompted I should install Xcode.
Thank you.

@netcaf No there is no native Apple Silicon / M1 build yet, but you can use the current release under Rosetta. Is there a reason why you need a native Apple Silicon build? From what I have tried, Rosetta performance is decent enough that it should not make too big an impact.
Apple Silicon build will come out probably after the upcoming release. If you use the binary release published in https://github.com/macvim-dev/macvim/releases the automatic updater will still work and upgrade you to Apple Silicon native builds in the future.
It's currently a little tricky to push out Apple Silicon builds due to lack of CI support.

I think the biggest issue is that if you’re using other arm64 binaries then macvim won’t pick those up. This means I need two versions of python3 installed, one for vim and one for MacVim.
~ Michael D. Stemle, Jr.

On Dec 4, 2020, at 19:40, Yee Cheng Chin<EMAIL_ADDRESS>wrote:

@netcaf No there is no native Apple Silicon / M1 build yet, but you can use the current release under Rosetta. Is there a reason why you need a native Apple Silicon build? From what I have tried, Rosetta performance is decent enough that it should not make too big an impact.
Apple Silicon build will come out probably after the upcoming release. If you use the binary release published in https://github.com/macvim-dev/macvim/releases the automatic updater will still work and upgrade you to Apple Silicon native builds in the future.
It's currently a little tricky to push out Apple Silicon builds due to lack of CI support hence the delay.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Yes that is correct. It does depend on where you get your Python from. For example the default Homebrew installation is still Rosetta based so if you are using that you would actually be getting the x86 version.

@netcaf No there is no native Apple Silicon / M1 build yet, but you can use the current release under Rosetta. Is there a reason why you need a native Apple Silicon build? From what I have tried, Rosetta performance is decent enough that it should not make too big an impact.
Apple Silicon build will come out probably after the upcoming release, so probably release 168. If you use the binary release published in https://github.com/macvim-dev/macvim/releases the automatic updater will still work and upgrade you to Apple Silicon native builds in the future.
It's currently a little tricky to push out Apple Silicon builds due to lack of CI support hence the delay.

@ychin  Thank you for the explanation. I have just got my MacBook m1 and is full of curiosity about the new experience. Macvim is my favorite app but it’s Ok I will try it with Rosetta.
Thank you all for your time.


sync: early chroot check

Note: it might be better to use a pacman_conf variable and use that for everything, instead of relying on the position of --config ... arguments.

I get this:
$ aur sync --chroot --database=myrepo cantata
Error:
    aur-chroot could not find a pacman.conf(5) file for container usage. Before
    using aur-chroot, make sure this file is created and valid. See OPTIONS in
    aur-chroot(1) for configuration details.

    The following file paths were checked:
        '/etc/aurutils/pacman-x86_64.conf'
        '/usr/share/devtools/pacman.conf.d/aurutils-x86_64.conf'

It seems that /etc/aurutils/pacman-myrepo.conf is not even checked, because --suffix myrepo is not sent to aur-chroot (only aur-build send this to aur-chroot apparently).

You should add chroot_args+=(--suffix "$db_name") somewhere :p

Even after these modifications, the suffix is still not transmitted to aur-chroot.

Oops sorry, I was using the old patch. It's working now ;)


Update to latest

As far as I can tell, all the changes affecting the moved/split files had already been merged, so this PR just brings the branch up-to-date with master, and includes a couple of very minor fixes and comments.
This will add all the commits from master to the branch; I assume we'll just squash it all down to one commit before merging back to master. How does that sound?

Aye, that sounds fine.
:+1:

Gonna let this build again for a couple more missing headers. Looks like the "restart" tests are still failing only in Travis, but I'll probably merge anyway if it otherwise looks good.

Ah, that must be what SD-1167 refers to.


Microsoft Phi-2 Support for PPO

Has anyone tried to make this work?

What's the issue here? #1058 should have been resolved.

https://github.com/huggingface/trl/issues/1058 -> use 'susnato/phi-2'


Feature/exclude metrics stats d common

Description
Excluding Metrics Stats D Common since it can't be resolved right now.
Issue
Ad hoc issue. Seems https://repo.maven.apache.org/maven2/com/readytalk/metrics-statsd-common/4.2.0/metrics-statsd-common-4.2.0.jar no longer works. Without local deps cached, builds will not compile.

merged in another PR


bugfix: optimize routes status unnecessary deepcopy.

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Part Fixes #4516

Release Notes: Yes/No

/retest

can you the memory diff before-after?

can you the memory diff before-after?

I think we should deal this after https://github.com/envoyproxy/gateway/issues/4498#issuecomment-2434213677


Clearly refer to each portion of CLI by annotated images

Context
Be more explicit about each described portion of the CLI. Unfortunately, we couldn't use a single image and annotate individual portions as the build result is only displayed after the build is done. In turn the WIP and progress bar disappear.
Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation including proper use of @since and @Incubating annotations for all public APIs

LGTM, I have reservations about the choice of output (with a deprecation warning), but I'll shut up about it :)

LGTM, I have reservations about the choice of output (with a deprecation warning), but I'll shut up about it :)

What's the problem with that? It is output that users would see as well in some form or another.


Added prompt counter to git gud explain

This commit also changes the behavior so now there is a >>> at the end.
It produces output like this:
"git gud explain" will help give you more context to the currrent level
Hit enter to read more.
>>> (1/7)
As long as you see the "
>>> (2/7)
", you are reading the explanation.
More text appears each time you hit enter, can once explanation finishes, you can type commands again.
>>> (3/7)
As you progress, "git gud" will guide you through the relevant commands in both "git" and "git gud".
>>> (4/7)
The first command we'll introduce you to is "git gud commit".
 "git gud commit" is a special command that does does three things.
  1) It creates a new file
  2) It adds that file to git
  3) It commits the new file
 Whenever git gud does something for you, it will let you know what actions/commands it is simulating.
>>> (5/7)
Now look below. Since there's no more "
>>> (6/7)
", we're back in the normal command line, and you can type in commands again.

To complete this level, commit twice using "git gud commit"
When you're done, run "git gud test" to see if you've completed this level.
>>> (7/7)

@sahansk2 What do you think of this behavior

@benthayer Yep, looks fine to me!


Add "with" and similar for include.

Context stacking ahoy!

Have added it for include... extracting the scope wrapping from for.
Now adding with should be much simpler.


Added tasks 148-160

Codecov Report
Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (c1f7e88) 93.82% compared to head (bc7c99a) 93.76%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #62      +/-   ##
==========================================
- Coverage   93.82%   93.76%   -0.06%
==========================================
  Files          64       69       +5
  Lines         874      930      +56
  Branches      182      190       +8
==========================================
+ Hits          820      872      +52
- Misses         20       21       +1
- Partials       34       37       +3

Files
Coverage Δ

src/main/ts/g0101_0200/s0148_sort_list/solution.ts
100.00% <100.00%> (ø)

...01_0200/s0152_maximum_product_subarray/solution.ts
100.00% <100.00%> (ø)

...3_find_minimum_in_rotated_sorted_array/solution.ts
100.00% <100.00%> (ø)

src/main/ts/g0101_0200/s0155_min_stack/solution.ts
90.00% <90.00%> (ø)

...s0160_intersection_of_two_linked_lists/solution.ts
88.00% <88.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

🎉


fix: reset _hasInputValue on programmatic input change (CP:14)

Description
Backports the following PRs:

https://github.com/vaadin/web-components/pull/5625

Part of https://github.com/vaadin/web-components/issues/5763

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Would it make sense to include https://github.com/vaadin/web-components/pull/5645 directly in this PR?

One test is failing on iOS Simulator and I can't understand why:
iOS Simulator iphone 10.3 ✖ test/events.html » events » has-input-value-changed event » without value » with user input » should be fired when clearing the user input with Esc

  expected false to be true
    <unknown> at   AssertionError at /components/chai/chai.js:5260:0
    <unknown> at           assert at /components/chai/chai.js:259:0
    <unknown> at        <unknown> at /components/chai/chai.js:597:0
    <unknown> at      addProperty at /components/chai/chai.js:3951:0
    <unknown> at        <unknown> at events.html:110:0


CCS not loading

Describe the bug
Going onto the CircuitVerse home page displays a broken web page, with no CSS loading. I originally thought this was a once off, but for the past week the same bug has occurred repeatedly. I have also tried a hard refresh, but that did not fix the issue.

To Reproduce
Steps to reproduce the behavior:

Go to https://circuitverse.org/

Expected behavior
The page should be properly formatted, with a visually pleasing aesthetic.
Desktop (please complete the following information):

OS: Windows 10 1803
Browser: Google Chrome Version 73.0.3683.86 (Official Build) (64-bit)

Are you working on this issue? (Yes/No)
No

Further revalations: Originally this would only affect the front page, now it affects all parts of the site. Even the simulator (much sadness)

Further information: My developer console states the following errors when loading any pages:
maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css:1 Failed to load resource: net::ERR_CONNECTION_RESET
bootstrap.min.js:1 Failed to load resource: net::ERR_CONNECTION_RESET
sign_in:109 Uncaught TypeError: Cannot read property 'hide' of null at sign_in:109

@jbox144 I tested it on the following configs many times and it worked fine every time :

OS : Ubuntu Gnome 16.04 LTS  Browser : Firefox Quantum 67.0b5 (64-bit)

OS : Ubuntu Gnome 16.04 LTS  Browser : Chromium Version 73.0.3683.75

It must be solved. But there is still problems in JS.

maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css:1 Failed to load resource: net::ERR_CONNECTION_RESET
bootstrap.min.js:1 Failed to load resource: net::ERR_CONNECTION_RESET
sign_in:109 Uncaught TypeError: Cannot read property 'hide' of null at sign_in:109

This is exactly why previously the CSS files were in the public folder instead of serving over CDN because sometimes CDN fails!

Probably your ISP is blocking CDN!!. Try different connection and retry

@tachyons, This was an issue long back as well, I resolved it simply by copying all the CSS/JS files into our own public folder. Anyway cloudflare caches things for us, so it shouldn't be much slower. I understand that this is not the ideal solution but what do you say?

@jbox144 Seems like you are using one adblock extension, Can you try after disabling the extension

Sorry for the late reply. As it turns out, it was just my adblock blocking the CSS (don't know why, it's been pretty good so far). Whitelisting circuitverse.org and hard reloading the page (shift+reload) fixed the issue, and I can now view CircuitVerse in all it's stylesheeted glory.
Thanks @tachyons for the fix!

@tachyons @jbox144 that is a good diagnosis but I think we cannot expect users to realize this and disable their adblock. We can leave it at this for now.


ValueError: Cannot cut empty array

Hi! Thank you for your wonderful tool.
However while starting training there seems to be an error and I can't figure it out how to solve this problem.

I'm currently using
scanpy 1.9.8
pandas 2.2.0
numpy 1.24.1
my data adata.X dataframes are all (array dtype=float32) format.
I'm considering this is due to some command changes depending on version.
Do you recommend specific versions of main tools?
Thank you in advance

I confimed ZENODO's preprocessed datasets works in this same conda environment. Any advice would be helpful.

Hi, thanks for you interest! I think that the gene names in your data do not match with specific gene name format from the Zenodo datasets. I updated the code and Zenodo files to make it easier with normal gene names. Can you see if it works with the new version?


Better support GithHub's user/org pages.

In addition to supporting project pages (which use the gh-pages branch of the same repo: username/projectname), GitHub also supports user/organization pages which use a separate repo at username/username.github.io which then is published at https://username.github.io (rather than https://username.github.io/projectname).  The problem arises from the fact that user/org pages use the master branch, which requires the repo which holds the built pages to be different than the repo that ghp-import needs to publish to.
Consider the following pseudo workflow:
cd project
build_docs --docs docs/ --out site

At this point, I am in the project repo, not the pages repo. If I do an ghp-import call, I will be pushing to the wrong repo.  So I tried setting up an extra remote:
git remote add pages https://github.com/username/username.github.io.git

Then if I run:
ghp-import -r pages -b master site

It pushes the contents of the site dir to the master branch of the pages repo and my site gets published. However, in the process it also skunks my project repo by adding the same commit to the master branch of the local repo.
Perhaps if there was an option to specify a local branch to use, that would resolve the issue:
ghp-import -r pages -b master --local-branch foo site

Then the commit would be committed to the foo branch (or whatever I choose to call it), which would then get pushed to the master branch of the pages remote.
I realize that a workaround exists today, by changing to the pages branch and then calling ghp-import, but I'd rather not have to do this:
cd ../pages-repo
ghp-import -r origin -b master ../project/site

Just to make sure I understand, you're attempting to publish docs from a project repo to a user/org GitHub pages repo?
ghp-import is definitely written to assume that the pages its publishing are related to the repo that contains them. I'm wondering if you shouldn't just write a Makefile target that does some sort of clone/cd/ghp-import dance for your particular case?
For the local branch suggestion I'm not sure I understand. You're thinking to make the commit on a local branch of some repo and then push from that branch to a diffrently named remote branch? Is that possible even? I guess there's probably a config to do the rename in there somewhere but that seems to be stretching the complexity bounds for something like ghp-import itself.

Or to rephrase that last paragraph, if that "push to differently named branch on remote" config option exists in git, then I'd suggest users set that config outside of ghp-import and then just use ghp-import's current branch options. I.e., something like:
$ git magic-config-command my-local-pages-branch remote:master # totally making this up
$ ghp-import -b my-local-pages-branch -r user-pages site/

You're thinking to make the commit on a local branch of some repo and then push from that branch to a diffrently named remote branch? Is that possible even?

I suppose its not. Not sure why I was thinking it was. Regardless, it seems like there has to be a more graceful way to handle this without the cd dance.

Don't take that the wrong way. It may be possible with some config settings. My only point there was that if that is the sort of required setup I'd make it a README entry vs supporting it directly in code. I just haven't had to ever investigate that particular aspect to know. If you do google around and find something let me know and we can figure out how best to approach it.
I'll leave this ticket open for awhile incase someone else has something similar and/or knows the proper incantations for making that happen.

Resolving this issue as it's been 3 years. Feel free to reopen if this is still a concern for you @waylan.


Implement effects for transactions: https://www.stellar.org/developer…

https://www.stellar.org/developers/horizon/reference/endpoints/effects-for-transaction.html

@david-pm Can you also add a closes #123 to your description so that when this merges we automatically close the issue?

gonna open another PR


After update to v5.6.0 youtube shortcodes are not working on my site

Describe the bug
After updating to v5.6.0 I noticed that the youtube shortcodes don't work as expected, see for example the following picture on my site:

The tiny square is actually the video and I can click it and it runs, but why is it so tiny?
Technical details:

Link to your GitHub project: https://github.com/wmutschl/mutschler.eu
Wowchemy Version (from your go.mod): v5.6.0
Hugo Version (run hugo version): 0.101.0
Browser/OS: Safari/Chrome on macOS
Wowchemy Template (e.g. Academic): Academic

Wowchemy does not have a Youtube shortcode. You can find the shortcodes that are maintained by Wowchemy contributors here: https://github.com/wowchemy/wowchemy-hugo-themes/tree/main/modules/wowchemy/layouts/shortcodes
Perhaps you were referring to one of Hugo's shortcodes? https://github.com/gohugoio/hugo/issues

By the way here is the solution: https://github.com/gohugoio/hugo/issues/10175#issuecomment-1214405526


x/mobile/cmd/gomobile: instructions appear to be broken for OSX with 1.12.9

The instructions here do not work for me on OSX with 1.12.9:
Gareths-MacBook-Pro-103:~ gareth$ go get golang.org/x/mobile/cmd/gomobile
go: finding golang.org/x/mobile/cmd/gomobile latest
go: finding golang.org/x/mobile/cmd latest
go: finding golang.org/x/mobile latest

Gareths-MacBook-Pro-103:~ gareth$ go get -d golang.org/x/mobile/example/basic
go: finding golang.org/x/mobile/example/basic latest
go: finding golang.org/x/mobile/example latest
go: finding golang.org/x/mobile latest

Gareths-MacBook-Pro-103:~ gareth$ gomobile build -target=android golang.org/x/mobile/example/basic
gomobile: cannot find package "golang.org/x/mobile/example/basic" in any of:
	/usr/local/go/src/golang.org/x/mobile/example/basic (from $GOROOT)
	/Users/gareth/go/src/golang.org/x/mobile/example/basic (from $GOPATH)

My gopath does not have src/golang.org/x/mobile/example/basic after this. Should it?
Building with go itself works however and the resulting binary executes successfully:
Gareths-MacBook-Pro-103:~ gareth$ go build golang.org/x/mobile/example/basic
go: finding golang.org/x/mobile/example/basic latest
go: finding golang.org/x/mobile/example latest
go: finding golang.org/x/mobile latest
# golang.org/x/mobile/app
darwin_desktop.m:51:1: warning: method possibly missing a [super prepareOpenGL] call [-Wobjc-missing-super-calls]

My gopath still does not have src/golang.org/x/mobile/example/basic after this, but it somehow builds successfully.
gomobile init also fails:
Gareths-MacBook-Pro-103:~ gareth$ gomobile init
gomobile: /usr/local/go/bin/go install golang.org/x/mobile/cmd/gobind failed: exit status 1
can't load package: package golang.org/x/mobile/cmd/gobind: cannot find package "golang.org/x/mobile/cmd/gobind" in any of:
	/usr/local/go/src/golang.org/x/mobile/cmd/gobind (from $GOROOT)
	/Users/gareth/go/src/golang.org/x/mobile/cmd/gobind (from $GOPATH)

Tried getting gobind:
Gareths-MacBook-Pro-103:~ gareth$ go get golang.org/x/mobile/cmd/gobind
go: finding golang.org/x/mobile/cmd/gobind latest
go: finding golang.org/x/mobile/cmd latest
go: finding golang.org/x/mobile latest

Still doesn't work. Tried installing gobind, and now have a gobind binary:
Gareths-MacBook-Pro-103:~ gareth$ gobind
2019/08/25 13:02:43 go [list -e -json -compiled=true -test=false -export=false -deps=true -find=false -tags  --]: exit status 1: go: cannot find main module; see 'go help modules'

Still doesn't work.
I'm new to Go and currently fighting very hard with the way it organises things which doesn't seem to make any sense to me (at all) yet, so it's quite likely that I'm simply missing something basic, no idea what though. Any ideas?
My environment for reference:
Gareths-MacBook-Pro-103:~ gareth$ go env
GOARCH="amd64"
GOBIN="/Users/gareth/go/bin"
GOCACHE="/Users/gareth/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/gareth/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/mn/nbstq9512pb9qx1k6x12ph5w0000gn/T/go-build322501253=/tmp/go-build -gno-record-gcc-switches -fno-common"

Can you list the output for go version as well as which go? I am unable to reproduce the build error on my system (same environment), so I would like to make sure that you do not have multiple installations of go on your system.

Thanks @smasher164, sure:
$ go version
go version go1.12.9 darwin/amd64
$ which go
/usr/local/go/bin/go

$ which gomobile
/Users/gareth/go/bin/gomobile

This is strange though:
$ gomobile version
gomobile version unknown: binary is out of date, re-install it

Rebuilding makes no difference.

Your go get is running in module mode (as demonstrated by the non-empty GOMOD variable in go env). However, the gomobile build command is running in GOPATH mode (as demonstrated by the error message mentioning GOPATH in the searched paths).

Module-mode support for gomobile is #27234.

CC @hyangah @steeve

Hello. Any news or at least workarounds on this? What steps are needed to make gobind workable in this situation?

Hello. Any news or at least workarounds on this? What steps are needed to make gobind workable in this situation?

Specifying GO111MODULE=off should solve the issue.

GO111MODULE=off go get -d golang.org/x/mobile/example/basic

Updated the wiki page.