Builder looks for  conf.py not  only in doc/docs and top-level, but also in directory named 'docker' .

Here is my own notes written in RST
https://github.com/tuxknight/notes

It contains a conf.py in top-level directory and each sub-directory has its own conf.py .
According to the strategy metioned in  official document , the builder will look for conf.py  first in  doc/docs and then default to top-level documentation.
But in my case, it chooses the wrong conf.py which is in a directory named ‘docker' .
It could fix by setting the location of 'conf.py' as 'conf.py' . But it really wired that the builder chose the 'docker/confi.py' for default.

I think the main usecase for readthedocs is to support a documentation for a software package which lives sidebyside to it. So it assumes that the docs reside in a directory in the repository.
However the exact logic to find the conf.py is to search first inside of directories called doc, or docs. That does not exist in your case. So it searches the whole project. If there would only be one conf.py everything would work. But you have multiple onces in the repo, so it tries to prioritize one.
The way to do is to see if a path includes the substring doc, and docker does match that :) That's why it's behaving a little strange in your case.
Please add the path to the conf.py that you want to use for building on readthedocs in the admin panel.


Installation through Ansible fails

While installing via Ansible, it hangs at task "aeon-ztp-server : copy aeon-ztp source files over" for very long
TASK [aeon-ztp-server : create aeonztp directories] ****************************
ok: [<IP_ADDRESS>] => (item=logs)
ok: [<IP_ADDRESS>] => (item=run)
ok: [<IP_ADDRESS>] => (item=packages)

TASK [aeon-ztp-server : copy aeon-ztps directories over] ***********************
ok: [<IP_ADDRESS>] => (item=aeon_ztp/bin)
ok: [<IP_ADDRESS>] => (item=etc)
ok: [<IP_ADDRESS>] => (item=vendor_images)
ok: [<IP_ADDRESS>] => (item=downloads)
ok: [<IP_ADDRESS>] => (item=docs)

TASK [aeon-ztp-server : copy aeon-ztp source files over] ***********************

It takes very long to complete this task.
For me the run fails at task "aeon-ztp-server : copy installer files onto aeon-ztps"
TASK [aeon-ztp-server : Remove aeon-ztp source directory] **********************
changed: [<IP_ADDRESS>]

TASK [aeon-ztp-server : sudoers for aeon ZTP helper scripts] *******************
changed: [<IP_ADDRESS>]

TASK [aeon-ztp-server : copy installer files onto aeon-ztps] *******************
<EMAIL_ADDRESS>password:
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": false, "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no -o Port=22' --rsync-path=\"sudo rsync\" --exclude \".*\" --out-format='<<CHANGED>>%i %n%L' \"/Users/nitinkr/Coding/aeon-ztps/install\" \"xxxx@<IP_ADDRESS>:/usr/local/lib/aeon-ztps-installer\"", "failed": true, "msg": "Warning: Permanently added '<IP_ADDRESS>' (RSA) to the list of known hosts.\r\nsudo: unable to resolve host aeon-ztps\nsudo: no tty present and no askpass program specified\nrsync: connection unexpectedly closed (0 bytes received so far) [sender]\nrsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9]\n", "rc": 12}
	to retry, use: --limit @/Users/nitinkr/Coding/aeon-ztps/install/via-ansible.retry

PLAY RECAP *********************************************************************
<IP_ADDRESS>                : ok=37   changed=18   unreachable=0    failed=1

The copy aeon-ztp source files task took around 5 min for me. Not ideal, but it does complete successfully. We can add a warning to the task description that will let users know that the task is a long running one.
As far as the failure to copy the files, I noticed that you're being prompted for a password for that task. I have never seen that before. How are you running the installer? I assume you're not using Vagrant.

@bobbywatson3 I am not using Vagrant. I am running this playbook on my mac laptop and installing things on separate ubuntu 16.04 (VM in lab).

Since you are being prompted for a password, have you tried both the SSH password, and the sudo password? It looks like an authentication issue. Can you run the playbook with "-vvv" to see more verbose output?

Below is the debug log
TASK [aeon-ztp-server : copy installer files onto aeon-ztps] *******************
task path: /Users/nitinkr/Coding/aeon-ztps/install/roles/aeon-ztp-server/tasks/main.yml:109
Using module file /Library/Python/2.7/site-packages/ansible/modules/core/files/synchronize.py
<<IP_ADDRESS>> ESTABLISH LOCAL CONNECTION FOR USER: nitinkr
<<IP_ADDRESS>> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo $HOME/${USER}/tmp/ansible-tmp-1490250998.44-139848561641521 `" && echo ansible-tmp-1490250998.44-139848561641521="` echo $HOME/${USER}/tmp/ansible-tmp-1490250998.44-139848561641521 `" ) && sleep 0'
<<IP_ADDRESS>> PUT /var/folders/ld/ll3dhzsn39vg_5sv54n7k4m00010p0/T/tmplh5UXW TO /Users/nitinkr/nitinkr/tmp/ansible-tmp-1490250998.44-139848561641521/synchronize.py
<<IP_ADDRESS>> EXEC /bin/sh -c 'chmod u+x /Users/nitinkr/nitinkr/tmp/ansible-tmp-1490250998.44-139848561641521/ /Users/nitinkr/nitinkr/tmp/ansible-tmp-1490250998.44-139848561641521/synchronize.py && sleep 0'
<<IP_ADDRESS>> EXEC /bin/sh -c '/usr/bin/python /Users/nitinkr/nitinkr/tmp/ansible-tmp-1490250998.44-139848561641521/synchronize.py; rm -rf "/Users/nitinkr/nitinkr/tmp/ansible-tmp-1490250998.44-139848561641521/" > /dev/null 2>&1 && sleep 0'
<EMAIL_ADDRESS>password:
fatal: [<IP_ADDRESS>]: FAILED! => {
    "changed": false,
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no -o Port=22' --rsync-path=\"sudo rsync\" --exclude \".*\" --out-format='<<CHANGED>>%i %n%L' \"/Users/nitinkr/Coding/aeon-ztps/install\" \"regress@<IP_ADDRESS>:/usr/local/lib/aeon-ztps-installer\"",
    "failed": true,
    "invocation": {
        "module_args": {
            "_local_rsync_path": "rsync",
            "_substitute_controller": false,
            "archive": true,
            "checksum": false,
            "compress": true,
            "copy_links": null,
            "delete": false,
            "dest": "regress@<IP_ADDRESS>:/usr/local/lib/aeon-ztps-installer",
            "dest_port": 22,
            "dirs": false,
            "existing_only": false,
            "group": null,
            "links": null,
            "mode": "push",
            "owner": null,
            "partial": false,
            "perms": null,
            "private_key": null,
            "recursive": null,
            "rsync_opts": [
                "--exclude \".*\""
            ],
            "rsync_path": "\"sudo rsync\"",
            "rsync_timeout": 0,
            "set_remote_user": true,
            "src": "/Users/nitinkr/Coding/aeon-ztps/install",
            "ssh_args": null,
            "times": null,
            "verify_host": false
        }
    },
    "msg": "Warning: Permanently added '<IP_ADDRESS>' (RSA) to the list of known hosts.\r\nsudo: unable to resolve host aeon-ztps\nsudo: no tty present and no askpass program specified\nrsync: connection unexpectedly closed (0 bytes received so far) [sender]\nrsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9]\n",
    "rc": 12
}
	to retry, use: --limit @/Users/nitinkr/Coding/aeon-ztps/install/via-ansible.retry

PLAY RECAP *********************************************************************
<IP_ADDRESS>                : ok=37   changed=28   unreachable=0    failed=1

Also if I try to run below command directly, get the error
nitinkr-mba13:install nitinkr$ sudo rsync /usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no -o Port=22' --rsync-path=\"sudo rsync\" --exclude \".*\" --out-format='<<CHANGED>>%i %n%L' \"/Users/nitinkr/Coding/aeon-ztps/install\" \"regress@<IP_ADDRESS>:/usr/local/lib/aeon-ztps-installer\"
<EMAIL_ADDRESS>password:
Permission denied, please try again.
<EMAIL_ADDRESS>password:
Permission denied, please try again.
<EMAIL_ADDRESS>password:
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9]

It looks like the user "regress" does not have the correct privileges. Our playbooks assume that they are being run by "admin" which has all of the correct permissions setup on the target VM as part of the playbook. If they are run inside vagrant, using the vagrant up command, they are run as the vagrant user which is also configured with the correct permissions.
Can you try running the playbook using admin/admin for username and password?

Updated my previous comment.

I am fine as of now. As the installation got completed. @bobbywatson3 I am trying to add Juniper's ZTP support to this framework, with my very limited knowledge of ZTP. Whom can I write to in case of any basic queries? Or do you want me to raise the issue for such newbie queries?

Right now github issues are our best way of tracking questions. Please feel free to ask no matter how newbie you feel they may be.
I'm going to be writing a guide on how to add support for additional network operating systems to aeon-ztps within the next couple of weeks.
I'll close out this issue. Please create another if you have any more questions.


Metadata schema spike

From Bess:

Getting the current definition of the metadata schema
Creating an object with that metadata schema
Updating to a new definition of the metadata schema

Connected to

#50

I suggest we complete our review of my Presentation Layer Core Functionality slide deck, and then begin this spike. It will be a natural progression.

Closing in favor of:

#60


Remove ukwelcomes campaign

This was a hardcoded campaign and not managed in Publisher. This will soon be redirected to "/set-up-business". This allows us to clean up the CampaignController.
For https://govuk.zendesk.com/agent/tickets/1569381
To be merged and deployed after Tuesday 24/01/2017

Trello

TODO:

figure out if anything needs to be done in the content-store/publishing-api [Update: see @cbaines comment below]

After https://github.com/alphagov/frontend/pull/1195 is merged:

[x] Delete Campaign Controller + tests

Thanks @cbaines, was going to look at this again as part of https://trello.com/c/KCyghhGM/511-retire-campaign-format in our backlog, but will see if I get time before then to re-review this :)

Still looks good :tada:


API 1.15 - Exec#start returns 200 when Exec instance does not exist

I came across this when working on the Ruby docker-api gem. If you attempt to start a random Exec instance the response will be a 200. Shouldn't this be a 404?
https://gist.github.com/tduffield/21a64cd272962b4345fe

@tduffield can you make sure this is still an issue with the latest version of docker, thanks

Confirmed exec start returns 404 now. Closing.


Feat:Search Resturents

Describe the feature
User/Students can search resturents based on resturent names
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Can you please assign this to me.

@hustlerZzZ Assign it to mer sir
It's been 2 months since this issue was created i don't think contributor is working on this issue


Appverif in pipeline template

Optionally allow app verifier run in build_all_flavors

/azp run

/azp run Azure-C-Build-Tools-Gate


change share path is not successful.

Ubantu:18.04
docker:24.0.2
python3.8
cvat server version:2.6
hi,guys.
I want to create share path on CVAT, and according to the prompts, I created Docker-Compose. override. yml .and edit it.
Run `Docker Compose  up - d ' has been in the Recreate state for about 20 minutes.
please help me.
Step:
git clone https://github.com/opencv/cvat

export CVAT_HOST=<YOUR_DOMAIN>

export ACME_EMAIL=<YOUR_EMAIL>

docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'

docker compose up -d

Then, I tried to set the share path.
vim  docker-compose.override.yml

 cvat_server:
    volumes:
      - cvat_share:/home/django/share:ro
  cvat_worker_import:
    volumes:
      - cvat_share:/home/django/share:ro
  cvat_worker_export:
    volumes:
      - cvat_share:/home/django/share:ro
  cvat_worker_annotation:
    volumes:
      - cvat_share:/home/django/share:ro

volumes:
  cvat_share:
    driver_opts:
      type: none
      device: /data/labelshare
      o: bind
services:

run
docker compose - up -d

However, it was not successful.
I want to set the share path to /data/labelshare .how do?please help me.

@seasenzzr000 try stopping cvat containers, deleting the cvat_cvat_share volume and start again

@seasenzzr000 try stopping cvat containers, deleting the cvat_cvat_share volume and start again

Thank you very much for the help you provided. CVAT is an excellent project. I have successfully configured the docker-compose.override.yml file.
I have deployed SAM and YOLOv7.
However, I encountered an issue where the shared path disappeared after running the command . Could you please advise on how to proceed?
docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d

After running .the shared path disappeared.
Even after adding , it still doesn’t work.  --build

@seasenzzr000 you have to include your override file
docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml -f docker-compose.override.yml up -d


Slice source code instead of generating it for EM fixes

Summary
This PR fixes the bug where the generated fix for EM* rules would replace a
triple-quoted (f-)string with a single-quoted (f-)string. This changes the
semantic of the string in case it contains a single-quoted string literal. This
is especially evident with f-strings where the expression could contain another
string within it. For example,
f"""normal {"another"} normal"""

Test Plan
Add test case for triple-quoted string and update the snapshots.
fixes: #6988
fixes: #7736

Current dependencies on/for this PR:

main

PR #7746   👈

This comment was auto-generated by Graphite.


[Bug] AWS environment variable for region is wrongly set

Describe the bug
A clear and concise description of what the bug is.
process.env.AWS_DEFAULT_REGION is set to config.profile in various places.
To Reproduce
These misconfigurations can be found under:

bin/build.js
bin/check.js
bin/exports.js
bin/launch.js
bin/name.js
website/config/webpack.config.js

Expected behavior
process.env.AWS_DEFAULT_REGION should be set to config.region instead
Please complete the following information about the solution:

Version: 5.5.1

Screenshots
If applicable, add screenshots to help explain your problem (please DO NOT include sensitive information).

@sleepwithcoffee Thanks for your report, we will investigate and get back to you

Fixed in v6.0.0


Native review for shutej/rfc3339

The relevant repository is here.
This module provides a few utility functions to make working with RFC3339 formatted dates and times more pleasant.

The native review pipeline is stalled. That's probably not news to you, but I wanted to leave a note on all the open reviews. I cannot speak for everyone, but as one of the reviewers I just want to speak up and say that I will not be doing more reviews. The warning about publishing native packages has changed, and Evan has mentioned multiple times in different places that one of his priorities for 0.17 is improving this process. So I'm going to wait for that. I'm sorry we cannot move forward with publishing your library, but my experience is that even if we review and approve it, it will become stuck waiting for Evan to whitelist it.

Sorry to keep this in limbo for so long. I am moving towards the plan outlined here and discussed a bit further in the 0.17 announcement.
I think you should do as much as possible in Elm. If there are parts that are impossible, bring them up on the mailing list or on slack and they should probably be added into the core library in Time or Date


Troubles with correct coordinate transformation when capturing a selection as image

I try to capture a part of an image as base64 png (canvas.toDataURL).
To this end, I use the selection plugin and work with the onSelection event.
The rect from the event is transformed from image coordinates to appropriate canvas coordinates. Here I use
let nxy = viewer.world.getItemAt(0).imageToWindowCoordinates(new OpenSeadragon.Point(rect.x, rect.y));
let nwh = viewer.world.getItemAt(0).imageToWindowCoordinates(new OpenSeadragon.Point(rect.width, rect.height));

to get the transformed coordinates. With these I create e new canvas and use the canvas.getContext('2d').drawImage function to get the cropped portion of the tiled image.
Finally, the toDataURL function of this canvas is used. For details on the image portion topic see e.g. https://stackoverflow.com/a/34244421/2870069.
I do not use the viewport transformation functions as I work with a sequential multi-image.
The issue now is that if I use the initial view I get an image which is slightly of vertically. If I start to zoom the portion of the image moves around the canvas in a not so obvious way.
I just wonder, if I took the wrong transformation functions to define the selection.
Thanks alot!
Btw. I just recently stumbled across OpenSeadragon when looking for a way to handle large image data and was really impressed by the performance of the tool! Many thanks!

Not sure how far off things are in your case. But I have implemented something similar for Annotorious and that seems to match the selection ok. Here's the code I'm using:
https://github.com/recogito/annotorious-openseadragon/blob/main/src/util/ImageSnippet.js

@rsimon thanks for your code! I'll have a look at it.
In the mean time I also discovered picturae/openseadragonselection/issues/40 which seems like more of less the same issue. Unfortunately this is still open.
Grüße aus Favoriten!

Ah - I wasn't aware of this issue. Without knowing how the rect is computed, it's hard to tell what's going on that code.
But, yes, it's tricky ;-) There are multiple coordinate systems involved, and there are multipe ways to get there. In my case:

I started with the bounds of the selection in the browser. (The selection is also rendered as an SVG shape, so I can get the bounds via .getBoundingClientRect();
Offsetting that with the bounding client rect of the OSD canvas gets you x/y offsets relative to the OSD canvas
Important: the OSD canvas has different height and width attributes set than it's physical width/height on the screen, you need to account for that (see kx, ky factors in my code).

The advantage in there is you don't need to deal with OSD's internal viewport coordinate system, nor the original base image coordinate system. It's just about the coordinates of your shape relative to the browser.

Grüße aus Favoriten!

:-D Grüße aus Meidling!

Your approach works perfectly! Now I create an overlay using the addOverlay function from openseadragen (so they handle the transformation for me) and get the bounds of the created div to be used with your code.
I have no idea what's wrong with the original approach, but I'm fine with the current solution.
Thanks again!


Feature Request

It would be great if it could be updated to Sweet Alert 2, which allows for HTML instead of just text inside the alert.

Never Mind.  It's been a long day...


Problem with pytorch

in  lstm_genre_classifier_pytorch.py file
model.hidden = model.init_hidden() actually does not work.
Beacause model has no attribute 'hidden'
if you print model.hidden in every batch,you will find it's always [[0,0,...]]
model.hidden has no relation with the actual model. It's just something you define every epoch.
So it's always a stateful LSTM.

Thank you for the comment!! Can I invite you to submit a PR with your proposed solution? And maybe some context/explanation why init_hidden() isn't working. For example, was it deprecated, is there a bug in pytorch, did I use it incorrectly?

model.hidden = model.init_hidden() isn't working because 'LSTM'  object originally has no attibute 'hidden'.
hidden used in methodforward has no relation to model.hidden.
see https://pytorch.org/docs/stable/generated/torch.nn.LSTM.html?highlight=lstm#torch.nn.LSTM
since you  do not provide (h_0, c_0) in lstm_out, hidden = self.lstm(input), both h_0 and c_0 will default to zero every batch.
so lstm won't be stateful between epochs, not even between batches(I said it's always stateful when I first commented, which is wrong, I apologize).
I've submited a PR(romove some unnecessary code and a solution to keep lstm stateful between batches), hope you'll see it.

Thank you for this, re-reading your initial comment, I was initially thinking "if there's no hidden propagation between batches" that's stateless, but we want stateful. I've fully read your comments and clarification. Thank you very much for this. I'm still learning PyTorch and I see I have some details to master! Merging your PR now. Apologies for the very long delay, it's been interesting times 🙇


Reconsider tag name scheme for RTD

Using umbrella-0.20.0 did not kick off a stable docs build on RTD. From their documentation, a stable build is only done when a semver-valid tag is pushed:

You should push a tag for each version of your project. These tags should be numbered in a way that is consistent with semantic versioning. This will map to your stable branch by default.

I tried to force it to rebuild but it stuck with the last valid tag at 4d66524a57d73742b5fe1f4ca571b305031ea5d2.

To add more context, the link I gave above actual says they expect the tag to be PEP 440 compliant. We can check for said compliance via the packaging package.
Essentially the only extra pieces outside of x.y.z allowed are: dev version (integer), epoch value (should not use), local / build metadata (anything we want), post and pre release (must be integer).
So the only real place to sneak in the package name is in the local part.

To see some valid and invalid (according to PEP 440) version (hence tag) names:
>>> import json
>>> from packaging.version import Version
>>> v = Version('0.20.1')
>>> print(json.dumps(v._version.__dict__, indent=2, sort_keys=True))
{
  "dev": null,
  "epoch": 0,
  "local": null,
  "post": null,
  "pre": null,
  "release": [
    0,
    20,
    1
  ]
}
>>> v = Version('0.20.1+datastore')
>>> print(json.dumps(v._version.__dict__, indent=2, sort_keys=True))
{
  "dev": null,
  "epoch": 0,
  "local": [
    "datastore"
  ],
  "post": null,
  "pre": null,
  "release": [
    0,
    20,
    1
  ]
}
>>> Version('0.20.1-datastore')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/dhermes/Desktop/venv/local/lib/python2.7/site-packages/packaging/version.py", line 202, in __init__
    raise InvalidVersion("Invalid version: '{0}'".format(version))
packaging.version.InvalidVersion: Invalid version: '0.20.1-datastore'

What about 0.20.1+1234, where 1234 is essentially a build number?

Yeah that's also valid. But the reason for tags is to do releases of each subpackage with a tag. Check out https://github.com/GoogleCloudPlatform/google-cloud-node/releases to see what I'm talking about.
Hence we want a PEP 440 valid tag (so RTD is happy) but we also want to put info in the tag that tells us which version to release.

Per @tseaver, we'd like the tags to start with datastore-* etc., but that may be a non-starter for making RTD happy.

So this might be the wrong question but what if the subpackages had their own docs and the umbrella package just linked to the other subpackages docs?
Then versions/tags can be treated normally for each subpackage right?

Then versions/tags can be treated normally for each subpackage right

That would mean entirely different source trees / GitHub projects, which has been disallowed?

What if the subpackages had their own docs and the umbrella package just linked to the other subpackages docs?

@daspecster That would be ideal in a sense, but it would almost require separate repositories for each API.

Looks like it might be possible? https://github.com/rtfd/readthedocs.org/issues/1554

I'm somewhat :-1: on this as well. Essentially, the same reason we want a single place for filing issues, we want a single place for documentation (I realize the inherent contradiction since we have gh-pages and RTD docs).

ISTM that having separate RTD projects for each API might be the Right Thing(TM):  each PyPI page would point there, for instance.  The "master" docs would then include only the overview stuff, with intersphinx links to the separate projects.

I think I'd be OK with that. I don't think that gets us around the stable / PEP 420 issue.

This is made moot by #2810, since we'll be disabled the stable tag on RTD


api design: atomic vs non-atomic txn funcs

for the sake of simplicity and onboarding new users without introducing tooo many new terms,
is there a way we can combine the atomic and non-atomic txn methods?
or do we not care abt this so much? @youraerials @lanidelrey

I like it as it is, but my preference is lightly held!

k just bookmarking to talk about tuesday / next week sometime

I don't think onboarding is the issue here, as anyone using algonautjs will be deep enough in Algorand to have probably read this documentation.
BUT I do agree there's an opportunity for improvement and DRYness here. I haven't given this too much thought, but I think this would be the goal:
// calls sendTransaction() automatically
const result = await algonaut.optInAsset(1234567);

// the same method, without async, returns an unsigned transaction
const result = await algonaut.sendTransaction([
  algonaut.optInAsset(1234567),
  algonaut.optInAsset(2345678)
]);

That said, I don't think this is super high priority. It's a very consistent pattern as it is. And it will probably require some significant refactoring and JS magic.


Reassignment throws error in calculate_cos_solar_zenith_angle_integrated

The Bug
While attempting to use calculate_cos_solar_zenith_angle_integrated via xr.apply_ufunc as in:
integralCzaEaHour = [xr.apply_ufunc(thermofeel.calculate_cos_solar_zenith_angle_integrated, ds.lat, ds.lon, time.dt.year,
    time.dt.month, time.dt.day, time.dt.hour, 0, 1) for time in ds.time]

I get the following error:
ValueError: non-broadcastable output operand with shape (571,1) doesn't match the broadcast shape (571,1440)
The Solution
An answer to a related stack overflow question suggests eliminating the += operator, as in changing a += b to a = a + b. Sure enough, when I change line 316 in thermofeel.py from integral += w[n] * calculate_cos_solar_zenith_angle( to integral = integral + w[n] * calculate_cos_solar_zenith_angle(, everything works as expected. The stack overflow answer includes an explanation as to why.

@tlmquintino Will do! Is it ok for me to change all instances of a += b and similar to a = a + b and similar? Or should I just apply the fix to calculate_cos_solar_zenith_angle_integrated? I know I got the error for two different thermofeel functions but I can't remember what the other was and haven't yet tested all of them.

@jarataraj sorry for the late reply, I've been traveling.
Yes please do go ahead and I think it makes sense doing that substitution everywhere.

this is now fixed as part of the code moved to another python module (earthkit-meteo) and the rest of the fixed was added directly to develop branch.


Enable experimental packaging test permanently

@larioj please add info on what a developer needs to make these tasks pass in the README. Can you also remove the envvar from the CIs please?

@tamarrow The CI is updated. I could link this: https://docs.mesosphere.com/1.9/administration/installing/custom/configuration-parameters/
and point the audience to the cosmos_config parameters staged_package_storage_uri and package_storage_uri.
Would that be fine?
There is a blog post that goes into detail about enabling the features. But sadly that is not live yet. And will not be for a while.

@larioj Is there an open version equivalent?

@tamarrow An open version equivalent of what? The link? The parameters? The blog post?

the doc link. The one you posted is for the Enterprise version, but this is an open repo :)

@tamarrow Yes https://dcos.io/docs/1.9/administration/installing/custom/configuration-parameters/


Use justify-between instead of w-1/2.

With Termwind v1.7, instead of using w-1/2 and text alignment we can take advantage of the justify-between helper.
💪

Ah, you've already made a PR here! Nice, thanks!


[fix] [broker] fix duplicate calculation for msgRateIn and msgThroughputIn in replication PROM metric

Fixes #15060
Motivation
See #15060
Modifications
Keep the replication metric calculation algorithms same as org.apache.pulsar.broker.service.persistent.PersistentTopic#getStats

Verifying this change

[x]  Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation
Check the box below and label this PR (if you have committer privilege).
Need to update docs?

[x] no-need-doc

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@RobertIndie @Technoboy- @gaozhangmin Could you please help review? Thanks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

Hi @HQebupt
This issue's root cause looks like we add msgRateIn and msgThroughputIn status twice. the code is shown below:
Position 1:
https://github.com/apache/pulsar/blob/a4c4aea993aabab5231d4136b7eba366bee9e778/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java#L187-L194
Position 2:
https://github.com/apache/pulsar/blob/a4c4aea993aabab5231d4136b7eba366bee9e778/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java#L252-L265
I think we can delete one and add a test to verify if the result is correct.
Please let me know what you think, thanks.

@HQebupt Easily, can we just remove these code?
topic.getProducers().values().forEach(producer -> {
     if (producer.isRemote()) {
         AggregatedReplicationStats replStats = stats.replicationStats
                 .computeIfAbsent(producer.getRemoteCluster(), k -> new AggregatedReplicationStats());

         replStats.msgRateIn += producer.getStats().msgRateIn;
         replStats.msgThroughputIn += producer.getStats().msgThroughputIn;
     }

@gaozhangmin @mattisonchao It will cause the org.apache.pulsar.broker.service.persistent.PersistentTopic#getStats algorithm to be inconsistent with this, if you delete one of them.  So it is better to keep them same.
PersistentTopic#asyncGetStats Position 1:
https://github.com/apache/pulsar/blob/14e5a92be04de6e45cbabbfd977a07ef4159e5b8/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java#L1863-L1881
PersistentTopic#asyncGetStats Position 2:
https://github.com/apache/pulsar/blob/14e5a92be04de6e45cbabbfd977a07ef4159e5b8/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java#L1906-L1922


add type hints

That should support code maintenance and documentation in the future.
In our case of subclasses we probably need TypeVar and Generic.
Here's an example:
from abc import ABC, abstractmethod
from typing import TypeVar, Generic

T = TypeVar('T')

class A(ABC, Generic[T]):
    @abstractmethod
    def method(self, input: T) -> T:
        pass

class B(A[int]):
    def method(self, input: int) -> int:
        # Implement the method specifically for ints
        pass

class C(A[float]):
    def method(self, input: float) -> float:
        # Implement the method specifically for floats
        pass

In this example, A is an abstract base class and uses a type variable T. It declares an abstract method method that takes an argument of type T and returns a value of type T. B and C inherit from A, specializing T to int and float respectively. Each of them implements method for their respective types.
This approach ensures that the subclasses B and C will work with the specific types you want (int and float respectively), while maintaining the generality of the base class A.
If we want to ensure that A should only be instantiated with certain types, we can add constraints to the TypeVar:
T = TypeVar('T', int, float)

With this, T can only be int or float, and trying to create a class that inherits from A[str] for example, would result in a type error.

fixed by #91


test-branch/execute-job/quoted-authorization/9669bf23-d935-4f98-b85e-64cee781dfee

PR for testing f084e22643565b34dc698cece0abe9e83374bf42

/canonical/self-hosted-runners/run-workflows f084e22643565b34dc698cece0abe9e83374bf42


Create test PR. Do not merge!

Thank you for contributing to harp.gl!
Before requesting a pull request, please remember to check the following documents:

contribution guidelines
coding style

If you are adding new functionality we would highly appreciate if you can describe what is the capability you are adding and even better if you can add some examples. Please also remember to add tests for it.
CI Check
Our bots will check whether your PR can be directly integrated into the mainline. We have some internal integration tests running on the background, our bots will inform you of the next steps and someone from our team will take a look and help if needed!
And please do not forget to sign-off your commit! You can read more about DCO here. But, in short, you just need to use git commit -s or append --signoff when you are committing to the repo.
Happy contributing!

Test comment


Install latest CU for existing VMs / Images in WSLab

Hi, great tool!
I use WSLab for several environments but the images and VMs have always the patch status for the initial phase.
It is possible to update all existing VMs / Images in the WSLab environment? I find only the script to download the latest CU and install this in the initial phase (create image) on step 2.
Possible Solution:
Create a further script to update the images and / or the associated VMs.

Yup, I was thinking the same. I'll do it :). Should be relatively easy.

I added this script https://github.com/microsoft/WSLab/blob/dev/Tools/PatchParentDisks.ps1 ... it will be downloaded with 1_prereqs.ps1. Please give it a try! As usual, right-click and run with powershell...

Tested, works :). Closing.

Great! Thanks!

You're welcome. Let me know how it works!


Update english locale to be durham centric

twitter shares, facebook shares, and a slew of other text is SF-centric. Update for Durham:
https://github.com/codefordurham/adopt-a-drain/blob/production/config/locales/en.yml

Sent a pull request to change everything to Durham info. Waiting for pull request to be confirmed


Bounds issue in insertAt

https://github.com/google/btree/blob/be84af90a1f71c9eeac820a4cdacb863122396d6/btree.go#L204
I'm curious if this bounds issue is important? I'm using this implementation as a learning opportunity for Go and ran into this while studying the code.
The check whether the index is less than the length seems like it would prevent an unnecessary copy. But instead, this would result in a bounds error when attempting to set the item.

Hey, joeandraverde,
What we're doing here is making space to insert an item into our array.  Given an array of:
[a, b, c, d, e]
We want to add an item at position i=2.  So, we:

grow the array so it can fit one more element, by appending a nil element to the end https://github.com/google/btree/blob/be84af90a1f71c9eeac820a4cdacb863122396d6/btree.go#L203

[a, b, c, d e, nil]

move the elements [2:4] over one, to make space, by copying copy(s[2+1:], s[2:]) which copies from s[2:] into s[2+1:], with https://github.com/google/btree/blob/be84af90a1f71c9eeac820a4cdacb863122396d6/btree.go#L205

[a, b, c, c, d, e]

overwrite the element at [2] with our new value 'x', with https://github.com/google/btree/blob/be84af90a1f71c9eeac820a4cdacb863122396d6/btree.go#L207

[a, b, x, c, d, e]
The one caveat to all of this is that, in cases where we're "inserting" at the end of the list, step 2 isn't necessary and in fact causes panics.  If, for example, len(s) == 3 and we want to insert at 3 (also known as just appending to the end, steps 1 and 3 above work fine, but step 2 fails because it tries to copy(s[4:], s[3:]), and s[4:] is out of range for a len(s)==3 array.
Your comment "The check whether the index is less than the length seems like it would prevent an unnecessary copy" is correct, but it's not the API we need to provide.  This implementation needs to be able to insert anywhere in the list, including at the end (where len(s) == i).
Hope that helps!

Let me clarify by example:
package main

type node struct {}

type children []*node

func (s *children) insertAt(index int, n *node) {
	*s = append(*s, nil)
	if index < len(*s) {
		copy((*s)[index+1:], (*s)[index:])
	}
	(*s)[index] = n
}

func main() {
	example := make(children, 10)

	// this would insert at the end, expanding the array. OK
	// length == 10, max index == 9, new index == 10 (expanding the array)
	//example.insertAt(10, &node{})

	// bounds ERROR
	// length == 10, max index == 9, new index == 11 (overshooting the array that gets expanded by 1)
	example.insertAt(11, &node{})
}

The if statement you've highlighted actually assumes that the passed-in index is correctly <= len(example), and it differentiates between:
func main() {
  example := make(children, 10)
  example.insertAt(10, &node{})  // if is false, no need to copy stuff
  example.insertAt(5, &node{})  // if is true, we're writing in the middle of the list so need to move the stuff after the index
}


Some names for imported symbols from MFC120.dll do not update

Describe the bug
The program has multiple .dll files, among them is UnivUI.dll, mfc120.dll, msvcr120.dll. UniUI.dll is a dll directly related to a program, it imports some functions from mfc120.dll and msvcr120.dll.
PDB was loaded for mfc120, it was autoanalysed and symbols were applied for names inside mfc120.
Same was done for msvcr120.dll.
When looking at pointers to external function for mfc120.dll names are present as Ordinal_xxxx, however for msvcr120 all names were updated.
I've found post related to similar issue https://www.reddit.com/r/ghidra/comments/hmea8i/apply_pdbdefined_symbols_for_a_dll_to_the/
To Reproduce
Steps to reproduce the behavior:

Import mfc120.dll, load pdb, autoanalyse, names should be updated
Import msvcr120.dll, load pdb, autoanalyse, names should be updated
Import UnivUI.dll, autoanaluse.
Names for msvcr120 are updated, names for mfc120 are Ordinals

Expected behavior
Names for imported functions from mfc120.dll should be updated and present as they are inside analysed mfc120 iteself.
Screenshots
From inside UnivUI.dll impors of mfc120.dll:

From inside mfc120.dll same oridnal_10083:

From inside UnivUI.dll  impors of msvcr120.dll:

From inside msvcr120.dll:

Attachments
Archive with those dlls
dlls in question.zip
Environment (please complete the following information):

OS: Win 11 Home Edition 23H2
Java Version: 20.0
Ghidra Version: 11.1.2
Ghidra Origin: official github release

Relates to #6392?


Azure cosmos upsert - Autogeneration of ID before upsert (Question)

Hey Team,
Consider a scenario where there’s a container created with partition key as /id. A JSON doc like the below is being upserted.
{
foo: "bar"
}
Expectation: Since the JSON document doesn't have any "id" field. The upsert method should generate the unique ID and create the document in the cosmos container as below
{
foo: "bar",
id: a new uuid()
}
But right now the upsert method rejects the document stating the partition key /id is not present.
However the create method accepts a JSON document without any ID and auto generates and inserts it. This is because the create method attempts to get the partition key after the ID is generated. like below

The upsert method should also be updated to generate ID first if not present and then attempt to get the partition key.

Note: The above behaviour happens only if the partition key is set to "/id" and for users relying on auto generation of "id" field. Probably not the recommended way.
I'll be happy to make the changes if you find the case valid.

Fixed

Reopening this issue. Will close this once PR is merged.


[WYSIWYG] Cannot copy/paste images from OneNote

Version: 1.29.0
Commit: 0f5cfdc2c8c2433028842e16dc5ac1a65da24292
Date: 2021-05-15T01:09:31.644Z
VS Code: 1.53.0
Electron: 11.2.2
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 20.5.0

duplicate from #14051


soc: imxrt: Fix flexspi xip configuration issue

Fix flexspi xip configuration issue regarding code relocation due to order of kconfig defaults being sourced
The flexspi setup was not being relocated to an on chip location
Also remove rt1060 conf file in flash common test which changes the code relocation location to RAM, just keep as ITCM for all M7 which as of now all have ITCM from NXP with flexspi.
intended to fix #77895

@decsny , this fix works
*** Booting Zephyr OS build v3.7.0-1854-g9012476178ce ***
Running TESTSUITE flash_driver
===================================================================
Test will run on device is25wp064@0
START - test_flash_erase
 PASS - test_flash_erase in 0.019 seconds
===================================================================
START - test_flash_fill
 PASS - test_flash_fill in 0.023 seconds
===================================================================
START - test_flash_flatten
 PASS - test_flash_flatten in 0.019 seconds
===================================================================
START - test_flash_page_layout
start_offset=0x622000   size=4096       index=1570
page_count=2048
 PASS - test_flash_page_layout in 0.006 seconds
===================================================================
START - test_read_unaligned_address
 PASS - test_read_unaligned_address in 0.046 seconds
===================================================================
TESTSUITE flash_driver succeeded

------ TESTSUITE SUMMARY START ------

SUITE PASS - 100.00% [flash_driver]: pass = 5, fail = 0, skip = 0, total = 5 duration = 0.113 seconds
 - PASS - [flash_driver.test_flash_erase] duration = 0.019 seconds
 - PASS - [flash_driver.test_flash_fill] duration = 0.023 seconds
 - PASS - [flash_driver.test_flash_flatten] duration = 0.019 seconds
 - PASS - [flash_driver.test_flash_page_layout] duration = 0.006 seconds
 - PASS - [flash_driver.test_read_unaligned_address] duration = 0.046 seconds

------ TESTSUITE SUMMARY END ------

===================================================================
PROJECT EXECUTION SUCCESSFUL


jekyll serve - configuration file issue

I get a LoadError when I try to serve. - I'm on Win 8 - require: cannot load such file -- jekyll-assets (loadError).

@mslfire Looks like you're missing some ruby requirements. I'm relatively unfamiliar with development on Windows machines, but could you paste your full error here?


Remove unused namespaces from junit-report.xsl

This pull request derives from #332. So needs to be handled after that.

src/reporter/junit-report.xsl has unused namespace declarations. This pull request removes them.
No specific test. JUnit report is already covered by Bats and the end-to-end test.

@cirulls
Merged this. This is more like an internal cleanup than a bug fix.


CVE-2007-4559 Patch

Patching CVE-2007-4559
Hi, we are security researchers from the Advanced Research Center at Trellix. We have began a campaign to patch a widespread bug named CVE-2007-4559. CVE-2007-4559 is a 15 year old bug in the Python tarfile package. By using extract() or extractall() on a tarfile object without sanitizing input, a maliciously crafted .tar file could perform a directory path traversal attack. We found at least one unsantized extractall() in your codebase and are providing a patch for you via pull request. The patch essentially checks to see if all tarfile members will be extracted safely and throws an exception otherwise. We encourage you to use this patch or your own solution to secure against CVE-2007-4559. Further technical information about the vulnerability can be found in this blog.
If you have further questions you may contact us through this projects lead researcher Kasimir Schulz.

Hi @miguelgfierro: just a random heads up that this fix for path traversal in tar.extractall is insufficient. You can read more information about it here: https://github.com/python/cpython/issues/74453#issuecomment-1500321322


Add timing calculation and plot in notebook

This commit adds timing calculations cell to notebook
Signed-off-by: Sudhakar M K<EMAIL_ADDRESS>

Looks fine to me


Investigate flaky unit tests failing intermittently after vscode source refresh

There are a handful of unit tests failing intermittently in the canary builds that need to be investigated.  I'll use this issue to keep a list of these tests and provide status on fixing, disabling, etc.
Initial list of tests to investigate:
TerminalLinkManager
    getLinks and open recent link
      ✔ should return web links in order
      1) should return web links in order

DefaultConfiguration
    ✔ configuration default overrides are read from environment
    1) configuration default overrides are read from environment

Getting Started Markdown Renderer
    ✔ renders theme picker markdown with images
    1) renders theme picker markdown with images

A couple other ones...
1) Buffer Content Tracker
       should cap the size of the cached lines, removing old lines in favor of new lines:

 2) Buffer Content Tracker
       should cap the size of the cached lines, removing old lines in favor of new lines:

I've tried to disable the suites I'm seeing failing in the canary builds to understand if this xterm issue is isolated to a handful suites, and to try to stabilize the canary & PR builds.  https://github.com/microsoft/azuredatastudio/pull/23535.  This doesn't seem like a good long-term fix so will continue to investigate after looking at some other issues.

This PR disables an additional suite for the same issue https://github.com/microsoft/azuredatastudio/pull/23539.

This is one more suite impacted by this issue https://github.com/microsoft/azuredatastudio/pull/23545.

One more test suite https://github.com/microsoft/azuredatastudio/pull/23550.

One more https://github.com/microsoft/azuredatastudio/pull/23557

The xterm glyph issue keeps popping up during other suites, so I'm going to stop disabling them.  Though I will keep the above mentioned one disabled while investigating the builds are significantly more stable w/o them.

Additional suites that .failed in canary yesterday https://github.com/microsoft/azuredatastudio/pull/23589

A few more tests with similar error:

PreferencesService
✔ options are preserved when calling openEditor

options are preserved when calling openEditor
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

CredentialsService - web
✔ Gets null for no service or a different service

Gets null for no service or a different service
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

CredentialsService - web
✔ Delete removes the value

Delete removes the value
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

CredentialsService - web
✔ Gets correct value for credential

Gets correct value for credential
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ errors cases - parse errors

errors cases - parse errors
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ remove a user keybinding

remove a user keybinding
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ errors cases - did not find an array

errors cases - did not find an array
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ edit a default keybinding to an empty array

edit a default keybinding to an empty array
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ errors cases - dirty

errors cases - dirty
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ add a new default keybinding

add a new default keybinding
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ add a new keybinding to unassigned keybinding

add a new keybinding to unassigned keybinding
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ edit an user keybinding

edit an user keybinding
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')
KeybindingsEditing
✔ remove a default keybinding
remove a default keybinding
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ add a new default keybinding using edit

add a new default keybinding using edit
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ edit a default keybinding to an empty file

edit a default keybinding to an empty file
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ edit a default keybinding in an existing array

edit a default keybinding in an existing array
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ errors cases - dirty

errors cases - dirty
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ add another keybinding

add another keybinding
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ remove a user keybinding

remove a user keybinding
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

KeybindingsEditing
✔ reset an edited keybinding

reset an edited keybinding
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

Workbench - TerminalInstance
TerminalLabelComputer
✔ should resolve to "" when the template variables are empty
1) should resolve to "" when the template variables are empty
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

FileDialogService
✔ Remote - open/save workspaces availableFilesystems

Remote - open/save workspaces availableFilesystems
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

FileDialogService
✔ Virtual - open/save workspaces availableFilesystems

Virtual - open/save workspaces availableFilesystems
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

FileDialogService
✔ Local - open/save workspaces availableFilesystems

Local - open/save workspaces availableFilesystems
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

ExtensionStorageMigration
✔ migrate extension storage when does not exist

migrate extension storage when does not exist
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

ExtensionStorageMigration
✔ migrate extension storage

migrate extension storage
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

PreferencesService
✔ options are preserved when calling openEditor

options are preserved when calling openEditor
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph')

I chatted with Daniel from the VS Code team (owns the xterm stuff there) and his suggestion for a temporary fix would be to set up the tests to use the DOM renderer instead like they do for their smoke tests : https://github.com/microsoft/vscode/blob/0c3fb42a1e31f63ec7f17906a19bbcebdbe8bb3e/test/smoke/src/areas/terminal/terminal-helpers.ts#L15-L17
I'll try to send out for a PR for that this week, but if anyone else had time feel free to take this up 😄

There have still been test failures in the canary builds after https://github.com/microsoft/azuredatastudio/pull/23770 was merged. @lewis-sanchez can you please take another look and disable these if needed?
Tests:

Buffer Content Tracker should cap the size of the cached lines, removing old lines in favor of new lines
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph') (/__w/1/s/node_modules/xterm-addon-canvas/lib/xterm-addon-canvas.js:1)
Buffer Content Tracker should refresh viewport with full scrollback
Error: Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph') (/__w/1/s/node_modules/xterm-addon-canvas/lib/xterm-addon-canvas.js:1)
DefaultConfiguration configuration default overrides are read from cache
Error:  Uncaught TypeError: Cannot read properties of undefined (reading 'getRasterizedGlyph') (/__w/1/s/node_modules/xterm-addon-canvas/lib/xterm-addon-canvas.js:1)

Before disabling, please see if these tests are using the config that you added in the previous PR. If that test config service isn't actually used by every test by default then we may need to find another solution to ensure that every test picks up the config.
If it is being used then we should probably revert the change - since it doesn't seem to actually solve the problem - and investigate other options (such as fixing xterm itself).


Support for splitting an experiment into more jobs than the backend limit

What is the expected behavior?
qiskit-experiments currently respects the backend's max_experiments property and will split up an experiment into multiple jobs if there are too many circuits. However, in some cases, this might result in more jobs than the backend allows to be submitted concurrently. It would be nice to support such a case easily. I think this would require a non-trivial change, but there has already been talk of a more advanced job scheduler which this request would fall into.
I think there might be a manual workaround of calling run multiple times with the same experiment while changing experiment options but I am not sure (I think some experiments might also assume certain options never change?).
See also this Slack discussion.

Though I imagine these sort of limitations are in place on providers for a reason and completely circumventing might be ill advised.

I don't think we are trying to circumvent the limitation here. I think the limit is in place to keep the amount of work that the job queuing system has to do manageable. When the backend service gives the estimated time to run for a job, it has to walk through the full queue of all submitted jobs and work out the order and run time of each which scales with the number of jobs in the queue. Also, the limit prevents users from filling up the queues for all the available backends simultaneously. A user can currently submit jobs in a loop with block_for_results and wait for them one by one, and what I was thinking here would not be much different than that.
Some options I can think of for addressing this are:

Add an option that calls job.wait_for_final_state() in the loop of backend.run() calls for split jobs. This wouldn't be the greatest experience but it would be a somewhat simple solution.
Submit the jobs in a background thread loop that waits appropriately before submitting later jobs. This would be a good user experience but complicated to implement.
Add an option for a job runner that the user could set to implement the last solution with the default being just to submit all the jobs in a loop. This puts the burden of implementing 2 on the user. If more advanced job scheduling is worked on somewhere else, maybe it could be used here.

I was just looking at the new qiskit_ibm_provider package and saw that it has some builtin support the feature described here:
https://github.com/Qiskit/qiskit-ibm-provider/blob/4bf36c96925be5bde8a5c40595c616743cb069d9/qiskit_ibm_provider/job/ibm_composite_job.py#L325-L349
So I think we can close this issue and leave this feature to the provider.


save color even if text doesn't exist yet for index

This code from the linked forum post makes red text using this version of the library:
import board
import terminalio
from adafruit_matrixportal.matrixportal import MatrixPortal
matrixportal = MatrixPortal()
matrixportal.add_text(
    text_font=terminalio.FONT,
    text_position=(0, (matrixportal.graphics.display.height // 2) - 1),
    #text_color=0x3d1f5c,
    text_transform=None,
)
matrixportal.set_text_color(0xFF0000,0)
matrixportal.set_text(" AWAY",0)
while True:
    pass

It can still raise an exception if you try to use 1 or any larger index that doesn't exist yet. But it does seem to work correctly for this most basic use case.
Maybe it should check the length of self._text_color against the requested index and ignore values that are too large?

forgot to mention. Resolves: #43

I'm don't think this will work. The reason set_text() needs to be called first is because it creates all the new variables in the various lists. See https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/blob/master/adafruit_matrixportal/matrixportal.py#L193
A better way to do this may be to just raise an error that the index doesn't exist and suggest the user calls set_text() first.

Whoops, I meant the error should say to call add_text() first.

It looks like it needs to call add_text() and set_text() first before calling set_text_color().
I changed the library to raise an error if the user specifies an index that doesn't exist yet:
        if self._text[index]:
            color = self.html_color_convert(color)
            self._text_color[index] = color
            self._text[index].color = color
        else:
            raise IndexError(f"index {index} is out of bounds. Please call add_text() first.")

And then tried this code:
matrixportal = MatrixPortal()
matrixportal.add_text(

    text_font=terminalio.FONT,
    text_position=(0, (matrixportal.graphics.display.height // 2) - 1),
    #text_color=0x3d1f5c,
    text_transform=None,
)
# matrixportal.set_text(" AWAY",0)  # this allows it to work
matrixportal.set_text_color(0xFF0000,0)

but I get the index error being raised: IndexError: index 0 is out of bounds. Please call add_text() first.
I will tweak the wording to note that you need to call add_text() and set_text() first.

The latest commits undo the change to save the color and raise an exception with instructions for the user.
With the latest version the code from above will no longer show the red label, but does now raise an error instruction to the user how to correct it.

Ok, I think I understand better. The issue is that if self._text[index]: evaluates to False if the string is empty, which is why set_text needed to be set first. I was trying to check if the index existed. Maybe we should change it to something more like if 0 <= index <= len(self._text):

I tried like this:
        if 0 <= index <= len(self._text):
            color = self.html_color_convert(color)
            self._text_color[index] = color
            self._text[index].color = color  # <- line 260
        else:
            raise IndexError(
                "index {} is out of bounds. Please call add_text() and set_text() first.".format(
                    index
                )
            )

but now I get this error from the example above:
  File "code.py", line 13, in <module>
  File "/lib/adafruit_matrixportal/matrixportal.py", line 260, in set_text_color
AttributeError: 'NoneType' object cannot assign attribute 'color'

It's because the Text object is set to None until text is written to it. This should fix that:
        if 0 <= index < len(self._text_color):
            self._text_color[index] = self.html_color_convert(color)
            if self._text[index] is not None:
                self._text[index].color = self._text_color[index]
        else:
            raise IndexError(
                "index {} is out of bounds. Please call add_text() and set_text() first.".format(
                    index
                )
            )

Thank you. The newest commit implements those changes. I tested successfully on Matrix Portal with the above example code.


[YAML] Better logging.

Prints elements in a more universal format (json rather than BeamSchema_xxxx).
Also adds (basic!) options for log level and a message identifier.

This is feedback from the bug bash.

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

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @Polber


TypeScript 4.0 lib.d.ts updates

[ ] Ensure that PRs are merged in.
[ ] Sync with https://github.com/Microsoft/TSJS-lib-generator/

This is done.


tablefunc extension not available?

CREATE EXTENSION IF NOT EXISTS tablefunc;

Query 1 ERROR: ERROR:  could not open extension control file "/usr/share/postgresql14/extension/tablefunc.control": No such file or directory

tablefunc is in the supported list of built in extensions:
https://kb-managed.timescale.com/en/articles/2754991-supported-postgresql-extensions
Is the image missing a package or something perhaps?

I have the same issue with the two plugins I need for Teslamate. These plugins used to be included in PostgreSQL 12, but aren't anymore I read as of version 13. I checked: they are also not included in version 14.
create extension earthdistance;
"/usr/share/postgresql14/extension/earthdistance.control": No such file or directory
CREATE EXTENSION cube;
"/usr/share/postgresql14/extension/cube.control": No such file or directory
@Expaso The addons cube,earthdistance and tablefunc are amongst others included in postgresql14-contrib (see https://centos.pkgs.org/7/postgresql-14-aarch64/postgresql14-contrib-14.3-1PGDG.rhel7.aarch64.rpm.html )
Would it be possible to add the postgresql14-contrib, so we can enable these plugins? Would really appreciate this, because then I can disable my other PostgreSQL server and migrate Teslamate to your TimescaleDB addon.

Thank you guys!
I have pulled in the PR as I want to give the addon a new update.
I will close this issue once the beta-testing is done and I have released the new version.

New version released!
I'm closing this one!
For any follow up's, please open a new issue when needed.


Merge upstream

merge upstream
move to ts
remove reactivity transform
upgrade to pdfjs-dist v4
remove cjs build

Whoops sorry, this was meant to be merged into our fork. Eventually we'll come up with this again.


WebGPU support

This may be long term  but eventually, we will probably want to drop WebGL support in favor of WebGPU support: https://youtu.be/CCRI4TY1v08

wgpu's C API may be a good target as well.

Mozilla's WGPU can be found here or here.
Considering they both aim to implement a standard, the functionality provided by Dawn and WGPU is very similar. However, WGPU appears to support DirectX 11 as well as 12, which could be a nice bonus.

Also worth noting that many folks are hard at work on defining and implementing WGSL, which the cross-platform (yes, even Apple!) shading language WebGPU will adopt: https://gpuweb.github.io/gpuweb/wgsl.html

We definitely hope to add WebGPU support when it is ready. So you dont need to bother opening a new proposal.
Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!

WebGPU is now stable and enabled on default as of Chromium 113 https://developer.chrome.com/blog/webgpu-release/

See https://github.com/godotengine/godot-proposals/issues/6646


Add ACF number field float support for min and max field properties

I'm attempting to make a number field, however the number field does not support using floats as the min or max option.
It does however support this for the step option.
At this moment, creating a setup like this is therefore impossible:
$field = Number::make( _x( 'Some label', 'Fields', 'some-textdomain' ), 'some-field-name' )
	->min( 0.5 ) // Impossible
	->max( 1.5 ) // Impossible
	->step( 0.1 )
	->defaultValue( 1.0 )
	->required();

If you feel up for it, please submit a pull request changing the type hints from int to float.

Hi @vinkla
Yes, i've created the Pull request #121 for you and linked it to this Github Issue.

Released in https://github.com/vinkla/extended-acf/releases/tag/13.2.1


Update what-is link for linux installers

Pull Request Test Coverage Report for Build 787310118

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

Totals

Change from base Build 787275670:
0.0%

Covered Lines:
26261

Relevant Lines:
55098

💛  - Coveralls


PIP-215: Configurable Topic Compaction Strategy

Motivation
Currently, the Topic compaction logic implemented in TwoPhaseCompactor only compacts messages to the last one(with the same key).
Here, we want to configure Topic compaction with different strategies. For example, to support the Conflict State Resolution(Race Conditions) in PIP-192 (https://github.com/apache/pulsar/issues/16691), we need to compact messages with the first valid states.
Goal

Create another Topic compactor, StrategicTwoPhaseCompactor, where we can configure a compaction strategy,
TopicCompactionStrategy

Update the TableViewConfigurationData to load and consider the TopicCompactionStrategy when updating the internal key-value map in TableView.

Add TopicCompactionStrategy in Topic-level Policy to run StrategicTwoPhaseCompactor instead of TwoPhaseCompactor when executing compaction.

API Changes
public interface TopicCompactionStrategy<T> {

    /**
     * Returns the schema object for this strategy.
     * @return
     */
    Schema<T> getSchema();
    /**
     * Tests if the current message is valid compared to the previous message for the same key.
     *
     * @param prev previous message
     * @param cur current message
     * @return True if the prev to the cur message transition is valid. Otherwise, false.
     */
    boolean isValid(T prev, T cur);

    /**
     * Returns true if this strategy supports merge.
     * Warning: `merge` will make the topic compaction more complex(requiring more cpu and memory load),
     * as the compaction process needs to cache the previous messages to merge.
     */
    boolean isMergeEnabled();

    /**
     * Merges the prev and cur messages for the same key, if isValid() and isMergeEnabled() return true.
     *
     * @param prev previous message
     * @param cur current message
     * @return merged message
     */
    T merge(T prev, T cur);

    static TopicCompactionStrategy load(String topicCompactionStrategy) {
        if (topicCompactionStrategy == null) {
            return null;
        }
        try {
            //
            Class<?> clazz = Class.forName(topicCompactionStrategy);
            Object instance = clazz.getDeclaredConstructor().newInstance();
            return (TopicCompactionStrategy) instance;
        } catch (Exception e) {
            throw new IllegalArgumentException("Error when loading topic compaction strategy.", e);
        }
    }
}

public interface TableView<T> extends Closeable {

    /**
     * Performs the give action for each future entry in this map until action throws an exception.
     *
     * @param action The action to be performed for each entry
     */
    void listen(BiConsumer<String, T> action);

public class TableViewConfigurationData implements Serializable, Cloneable {
...
   + private String topicCompactionStrategy;

public class TableViewImpl<T> implements TableView<T> {

    private final TableViewConfigurationData conf;

...

    + private TopicCompactionStrategy<T> compactionStrategy;

    TableViewImpl(PulsarClientImpl client, Schema<T> schema, TableViewConfigurationData conf) {
...
       + this.compactionStrategy = TopicCompactionStrategy.load(conf.getTopicCompactionStrategy());

public class ReaderConfigurationData<T> implements Serializable, Cloneable {

    + private SubscriptionMode subscriptionMode = SubscriptionMode.NonDurable;

    + private SubscriptionInitialPosition subscriptionInitialPosition = SubscriptionInitialPosition.Latest;

public class CompactionReaderImpl<T> extends ReaderImpl<T> {

    ConsumerBase<T> consumer;
    private CompactionReaderImpl(PulsarClientImpl client, ReaderConfigurationData<T> readerConfiguration,
                                 ExecutorProvider executorProvider, CompletableFuture<Consumer<T>> consumerFuture,
                                 Schema<T> schema) {
        super(client, readerConfiguration, executorProvider, consumerFuture, schema);
        this.consumer = getConsumer();
    }

    public static <T> CompactionReaderImpl<T> create(PulsarClientImpl client, Schema<T> schema, String topic,
                                                     CompletableFuture<Consumer<T>> consumerFuture) {
        ReaderConfigurationData<T> conf = new ReaderConfigurationData<>();
        conf.setTopicName(topic);
        conf.setSubscriptionName(COMPACTION_SUBSCRIPTION);
        conf.setStartMessageId(MessageId.earliest);
        conf.setAutoUpdatePartitions(true);
        conf.setAutoUpdatePartitionsIntervalSeconds(30);
        conf.setReadCompacted(true);
        conf.setPoolMessages(true);
        conf.setSubscriptionMode(SubscriptionMode.Durable);
        conf.setSubscriptionInitialPosition(SubscriptionInitialPosition.Earliest);
        return new CompactionReaderImpl(client, conf, client.externalExecutorProvider(), consumerFuture, schema);
    }

   ...
    @Override
    public CompletableFuture<Message<T>> readNextAsync() {
        CompletableFuture<Message<T>> receiveFuture = consumer.receiveAsync();
        return receiveFuture;
    }
...
    public CompletableFuture<Void> acknowledgeCumulativeAsync(MessageId messageId, Map<String, Long> properties) {
        return consumer.doAcknowledgeWithTxn(messageId, CommandAck.AckType.Cumulative, properties, null);
    }
}

public class StrategicTwoPhaseCompactor extends TwoPhaseCompactor {
...
    public <T> CompletableFuture<Long> compact(String topic,
                                               TopicCompactionStrategy<T> strategy) {
        CompletableFuture<Consumer<T>> consumerFuture = new CompletableFuture<>();
        CompactionReaderImpl reader = CompactionReaderImpl.create(
                (PulsarClientImpl) pulsar, strategy.getSchema(), topic, consumerFuture);

        return consumerFuture.thenComposeAsync(__ -> compactAndCloseReader(reader, strategy), scheduler);
    }
...

pulsar-admin topicPolicies set-compaction-strategy options
pulsar-admin topicPolicies get-compaction-strategy options

Implementation
# Goal 1:
- Create another Topic compactor, `StrategicTwoPhaseCompactor`, where we can configure a compaction strategy,
 `TopicCompactionStrategy`

StrategicTwoPhaseCompactor will have two phases.
First Phase:
Using the CompactionReader<T>, instead of RawReader, it will iterate each message and compact messages with the same keys by following the isValid() and merge() if(mergeEnabled()) in  TopicCompactionStrategy.
The CompactionReader will be added to the pulsar-broker only(not in the pulsar-client).
Second Phase:
The compacted messages will be written to a ledger.
# Goal 2:
- Update the `TableViewConfigurationData` to load and consider the `TopicCompactionStrategy` when updating the internal key-value map in `TableView`.

When updating the internal key-value map, it will follow the same compaction logic defined in TopicCompactionStrategy .
# Goal 3:
- Add `TopicCompactionStrategy` in Topic-level Policy to run `StrategicTwoPhaseCompactor` instead of `TwoPhaseCompactor` when executing compaction.

When running the compaction, it will look up the TopicCompactionStrategy in the Topic-level Policy and run StrategicTwoPhaseCompactor, if configured. By default, it should run TwoPhaseCompactor.
Alternatives
N/A
Anything else?
No response

Raised a local-fork PR for the implementation reference: https://github.com/heesung-sn/pulsar/pull/12

Raised a PR to the apache/master branch. https://github.com/apache/pulsar/pull/18195

PIP Discussion email: https://lists.apache.org/thread/m721nc0vwzo3wxg0tv3tprfc6z7xs1tj
PIP Vote email: https://lists.apache.org/thread/6y8407pw4fv21n2n0cbrvsspg5tok0h7


Set Accessory Status?

If I reply to getAccessory even with "false" i.e. outlet status it still show as on. Same with contact sensors and switches. How do I correctly respond to the get queries? Or should I only respond if its "On", but then how do I set a false status if the control happens outside of homekit? I'm replying on "homebridge/to/set" with the current values. I just can't seem to get it to work.

let's look at the sample switch
topic: homebridge/from/get
payload: {"name": "flex_lamp", "characteristic": "On"}

When Homebridge-mqtt get an Accessory.getrequest from HomeKit it will immediately return the cached value to HomeKit and sends homebridge/from/get to the mqtt-broker. You can ignore it or  publish the actual value using homebridge/to/set.

I'm still having issues with this, if I reply to the call at all it sets the status of "On" to
"true".. Even if I sent "false" to "homebridge/to/set".

This works for me:

[{"id":"8e610acf.bf82f8","type":"mqtt in","z":"50b47628.1452b8","name":"","topic":"homebridge/from/get","qos":"2","broker":"8530eb60.3094f8","x":120,"y":1680,"wires":[["78205d54.b463c4"]]},{"id":"78205d54.b463c4","type":"json","z":"50b47628.1452b8","name":"","x":290,"y":1680,"wires":[["c7a91103.987d2"]]},{"id":"c0728aad.612498","type":"debug","z":"50b47628.1452b8","name":"","active":true,"console":"false","complete":"false","x":590,"y":1680,"wires":[]},{"id":"c7a91103.987d2","type":"switch","z":"50b47628.1452b8","name":"","property":"payload.name","propertyType":"msg","rules":[{"t":"eq","v":"flex_lamp","vt":"str"}],"checkall":"true","outputs":1,"x":430,"y":1680,"wires":[["c0728aad.612498","d27ae722.39b008"]]},{"id":"a465611.c7654a","type":"mqtt out","z":"50b47628.1452b8","name":"","topic":"homebridge/to/set","qos":"","retain":"","broker":"45395bbb.44f1c4","x":590,"y":1760,"wires":[]},{"id":"d27ae722.39b008","type":"template","z":"50b47628.1452b8","name":"true","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"name\":\"flex_lamp\",\"characteristic\":\"On\",\"value\":true}","x":390,"y":1760,"wires":[["a465611.c7654a"]]},{"id":"8530eb60.3094f8","type":"mqtt-broker","z":"50b47628.1452b8","broker":"<IP_ADDRESS>","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"45395bbb.44f1c4","type":"mqtt-broker","z":"50b47628.1452b8","broker":"<IP_ADDRESS>","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]

The example return always true so the logic must be expanded and return the value depending on your devise state.

I got it figured out! It took me a second to pick through the node red bit, I haven't used it at all in my projects and I wasn't familiar with the other stuff. I though I was missing a lot. I have my devices connect and initiate the mqtt connection and messages themselves. When I send the reply, the "value" is in "quotes". When I tested with mqtt broker without the quotes it started working right away as expected!


Data race in ipam.TestAllocatorClaim

In a doc PR, so unrelated to changes https://circleci.com/gh/weaveworks/weave/5345
git submodule update --init
sudo -E docker run  -ti \
	    -v /home/ubuntu/src/github.com/weaveworks/weave:/go/src/github.com/weaveworks/weave \
		-v /home/ubuntu/src/github.com/weaveworks/weave/.pkg:/go/pkg \
		-e GOARCH -e GOOS -e CIRCLECI -e CIRCLE_BUILD_NUM -e CIRCLE_NODE_TOTAL -e CIRCLE_NODE_INDEX -e COVERDIR -e SLOW \
		weaveworks/weavebuild COVERAGE= WEAVE_VERSION=git-324c1c00813a tests
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
make: Entering directory '/go/src/github.com/weaveworks/weave'

./tools/test -no-go-get

./ipam ./ipam/paxos ./ipam/space

INFO: 2016/04/12 10:34:45.270648 [allocator 01:00:00:01:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.274418 [allocator 01:00:00:01:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.274704 [allocator 02:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.386777 [allocator 00:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.387342 [allocator 01:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.390933 [allocator 01:00:00:02:00:00] Claim <IP_ADDRESS>/24 for b01df00d: address allocator still initializing; will try later.
INFO: 2016/04/12 10:34:45.424220 [allocator 01:00:00:02:00:00] Address <IP_ADDRESS>/24 claimed by abcdef - not in our range
==================

WARNING: DATA RACE

Read by goroutine 16:
  runtime.mapaccess1_fast64()
      /tmp/workdir/go/src/runtime/hashmap_fast.go:95 +0x0
  github.com/weaveworks/weave/testing/gossip.TestRouterClient.GossipUnicast()
      /go/src/github.com/weaveworks/weave/testing/gossip/mocks.go:169 +0x81
  github.com/weaveworks/weave/testing/gossip.(*TestRouterClient).GossipUnicast()
      <autogenerated>:1 +0xf6
  github.com/weaveworks/weave/ipam.(*Allocator).sendRingUpdate()
      github.com/weaveworks/weave/ipam/_test/_obj_test/allocator.go:868 +0x27d
  github.com/weaveworks/weave/ipam.(*Allocator).donateSpace()
      github.com/weaveworks/weave/ipam/_test/_obj_test/allocator.go:966 +0x501
  github.com/weaveworks/weave/ipam.(*Allocator).OnGossipUnicast.func1()
      github.com/weaveworks/weave/ipam/_test/_obj_test/allocator.go:597 +0x1ec
  github.com/weaveworks/weave/ipam.(*Allocator).actorLoop()
      github.com/weaveworks/weave/ipam/_test/_obj_test/allocator.go:729 +0x19d

Previous write by goroutine 14:
  runtime.mapdelete()
      /tmp/workdir/go/src/runtime/hashmap.go:511 +0x0
  github.com/weaveworks/weave/testing/gossip.(*TestRouter).Stop()
      /go/src/github.com/weaveworks/weave/testing/gossip/mocks.go:45 +0x1ce
  github.com/weaveworks/weave/ipam.stopNetworkOfAllocators()
      /go/src/github.com/weaveworks/weave/ipam/testutils_test.go:238 +0x32
  github.com/weaveworks/weave/ipam.TestAllocatorClaim()
      /go/src/github.com/weaveworks/weave/ipam/allocator_test.go:200 +0xadd
  testing.tRunner()
      /tmp/workdir/go/src/testing/testing.go:456 +0xdc

Goroutine 16 (running) created at:
  github.com/weaveworks/weave/ipam.(*Allocator).Start()
      github.com/weaveworks/weave/ipam/_test/_obj_test/allocator.go:123 +0x19a
  github.com/weaveworks/weave/ipam.makeNetworkOfAllocators()
      /go/src/github.com/weaveworks/weave/ipam/testutils_test.go:226 +0x3cb
  github.com/weaveworks/weave/ipam.TestAllocatorClaim()
      /go/src/github.com/weaveworks/weave/ipam/allocator_test.go:167 +0x54
  testing.tRunner()
      /tmp/workdir/go/src/testing/testing.go:456 +0xdc

Goroutine 14 (running) created at:
  testing.RunTests()
      /tmp/workdir/go/src/testing/testing.go:561 +0xaa3
  testing.(*M).Run()
      /tmp/workdir/go/src/testing/testing.go:494 +0xe4
  main.main()
      github.com/weaveworks/weave/ipam/_test/_testmain.go:188 +0x38d
==================
ERRO: 2016/04/12 10:34:45.430856 Dropping message
ERRO: 2016/04/12 10:34:45.431608 Dropping message
ERRO: 2016/04/12 10:34:45.432195 Dropping message
INFO: 2016/04/12 10:34:45.433074 [allocator 01:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.433278 [allocator 02:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.544793 [allocator 01:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.646264 [allocator 01:00:00:01:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.646760 [allocator 01:00:00:01:00:00] Shutdown
INFO: 2016/04/12 10:34:45.647600 [allocator 00:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.648127 [allocator 01:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.648626 [allocator 02:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.699653 [allocator 00:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.700070 [allocator 01:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.716420 [allocator 00:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.716889 [allocator 01:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.717393 [allocator 02:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.717918 [allocator 03:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:34:45.718344 [allocator 04:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:35:06.601588 [allocator 00:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:35:06.606747 [allocator 02:00:00:02:00:00] Initialising via deferred consensus
INFO: 2016/04/12 10:35:06.614587 [allocator 08:00:27:01:c3:9a] Initialising via deferred consensus
INFO: 2016/04/12 10:35:06.628121 [allocator 08:00:27:01:c3:9a] Initialising via deferred consensus
INFO: 2016/04/12 10:35:06.638211 [allocator 08:00:27:01:c3:9a] Initialising via deferred consensus
PASS

coverage: 60.2% of statements in github.com/weaveworks/weave/ipam, github.com/weaveworks/weave/common, github.com/weaveworks/weave/common/docker, github.com/weaveworks/weave/db, github.com/weaveworks/weave/ipam/paxos, github.com/weaveworks/weave/ipam/ring, github.com/weaveworks/weave/ipam/space, github.com/weaveworks/weave/net/address

Found 1 data race(s)

FAIL	github.com/weaveworks/weave/ipam	22.509s

ok  	github.com/weaveworks/weave/ipam/paxos	24.588s	coverage: 88.2% of statements in github.com/weaveworks/weave/ipam/paxos

ok  	github.com/weaveworks/weave/ipam/space	1.019s	coverage: 35.3% of statements in github.com/weaveworks/weave/ipam/space, github.com/weaveworks/weave/common, github.com/weaveworks/weave/net/address

Makefile:119: recipe for target 'tests' failed

make: *** [tests] Error 1

make: Leaving directory '/go/src/github.com/weaveworks/weave'

make: *** [tests] Error 2

cd $SRCDIR; COVERDIR=test/coverage make RM= tests returned exit code 2

There is no locking round the mock TestRouter, hence it cannot safely be used in a multi-goroutine context.  Previously it was not updated after the other goroutines were started, but #2149 introduced code to shut down the mock router, which causes such updates.


Test travis

Codecov Report

Merging #1980 into master will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1980      +/-   ##
==========================================
- Coverage    69.7%   69.65%   -0.05%
==========================================
  Files         824      824
  Lines       40305    40305
  Branches     5423     5423
==========================================
- Hits        28093    28073      -20
- Misses      10346    10360      +14
- Partials     1866     1872       +6

Impacted Files
Coverage Δ

...impl/dictionary/FloatOffHeapMutableDictionary.java
85.45% <0%> (-9.1%)
:arrow_down:

...kedin/pinot/core/util/SortedRangeIntersection.java
83.82% <0%> (-7.36%)
:arrow_down:

...impl/dictionary/DoubleOnHeapMutableDictionary.java
68.88% <0%> (-6.67%)
:arrow_down:

...e/impl/dictionary/LongOnHeapMutableDictionary.java
88.88% <0%> (-6.67%)
:arrow_down:

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
72.72% <0%> (-5.46%)
:arrow_down:

...inot/core/operator/docidsets/AndBlockDocIdSet.java
55.17% <0%> (-2.07%)
:arrow_down:

...linkedin/pinot/common/metrics/AbstractMetrics.java
75.39% <0%> (-1.59%)
:arrow_down:

...filter/SortedInvertedIndexBasedFilterOperator.java
78.37% <0%> (-1.36%)
:arrow_down:

...lix/core/realtime/PinotRealtimeSegmentManager.java
72.31% <0%> (-1.13%)
:arrow_down:

...inot/transport/netty/NettyTCPClientConnection.java
86.02% <0%> (-0.74%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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


Translation README in Persian language

Translation README in Persian language

Thank you so much for your input! I will approve this after #179 has been added 😄

Can you please change it to the new folder structure? 😃

Can you please change it to the new folder structure? 😃

Sure


Provide easy to use arguments parsing

It looks like Turtle does not provide arguments parsing facilities. I'd love to see something similar to optparse integrated in easy-to-use way into Turtle

@gleber I know that the end of the tutorial says:
"The turtle library does not yet provide support for command line argument parsing, but I highly recommend the optparse-applicative library for this purpose. A future release of this library might include a simplified interface to optparse-applicative."
I guess this issue could be a good place to have a discussion of what an easy-to-use way with optparse-applicative might be. I struggle to see how we can really improve upon the optparse-applicative example below, but maybe I'm unimaginitive ;)
data Sample = Sample
  { hello :: String
  , quiet :: Bool }

sample :: Parser Sample
sample = Sample
  <$> strOption
      ( long "hello"
     <> metavar "TARGET"
     <> help "Target for the greeting" )
  <*> switch
      ( long "quiet"
     <> help "Whether to be quiet" )

greet :: Sample -> IO ()
greet (Sample h False) = putStrLn $ "Hello, " ++ h
greet _ = return ()

main :: IO ()
main = execParser opts >>= greet
  where
    opts = info (helper <*> sample)
      ( fullDesc
     <> progDesc "Print a greeting for TARGET"
     <> header "hello - a test for optparse-applicative" )

The only thing that bugs me about optparse is that it is restricted to the String type. I am forced to convert everything to Text before I want to use it.


fix(fleet): Ignore public.ecr.aws overrides

What does this PR do?
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Ignore class definitions inside tests (do not count them as namespaces)

# 🐨
def test_issue_17681(): # 🐨
    class identity_func(Function): # 🐹

        def __new__(cls, *args, **kwargs): # 🐹
            return super(identity_func, cls).__new__(cls,  *args, **kwargs)

        def _eval_evalf(self, *args, **kwargs):
            return self.args[0].evalf(*args, **kwargs)

    assert floor(identity_func(S(0))) == 0 # 🐹
    assert get_integer_part(S(0), 1, {}, True) == (0, 0)
 # 🐹

When calling :TestNearest at hamster positions, the following invalid command gets launched:
pytest sympy/core/tests/test_evalf.py::identity_func

Only koala positions launch:
pytest sympy/core/tests/test_evalf.py::test_issue_17681

Hi. Thanks for the answer and creating this awesome plugin!
I expect  🐹 positions to result in the same test command as 🐨 position. This plugin sees class as a namespace defintion for tests. But this is only true if the test function inside a class not when a class is defined inside a function.


[BUG] - Incorrect check for query era compatiblity when submitting query to the node

Internal/External
Internal
Area
Other
Summary
This issue is visible when querying the node in the current era using query from an experimental era. We should expect a version mismatch error, but instead we are getting an unsupported query version error from an encoder. This is manifests as error like: https://github.com/input-output-hk/cardano-cli/issues/480
Steps to reproduce
Steps to reproduce the behavior:

Start node in Babbage (e.g. using mkfiles.sh)
Check supported node-to-client versions using:cardano-cli ping --query-versions -u ./socket-path

Result:Queried versions [NodeToClientVersionV16 42,NodeToClientVersionV15 42,NodeToClientVersionV14 42,NodeToClientVersionV13 42,NodeToClientVersionV12 42,NodeToClientVersionV11 42,NodeToClientVersionV10 42,NodeToClientVersionV9 42]

Use this version of cardano-cli https://github.com/input-output-hk/cardano-cli/commit/c50683fe91d98fb6ab12461902301df3b505e9cc
Run query available in Conway era:cardano-cli query stake-address-info --address stake_test1ur5607eh5mc4cljnked9vrlpuer7dqhkaju8sh8pqv755esy0dlft --testnet-magic 42

command results in an error thrown from ouroboros-consensus code:cardano-cli: ShelleyEncoderUnsupportedQuery (SomeSecond (GetFilteredVoteDelegatees (fromList [KeyHashObj (KeyHash "e9a7fb37a6f15c7e53b65a560fe1e647e682f6ecb8785ce1033d4a66")]))) ShelleyNodeToClientVersion7

Additional context
The defect was patched in the latest CLI version and the query is skipped now.
Analysis
The latest supported node-to-client protocol version v16 used in the query seem to support Conway query, but somehow ledger state (the node) uses earlier ShelleyNodeToClientVersion7, which results in the encoder error and prevents API code to catch the discrepancy.
Discussion on IOG slack: https://input-output-rnd.slack.com/archives/CDA6LUXAQ/p1701105474072019

Fixed with https://github.com/IntersectMBO/ouroboros-consensus/issues/862 and https://github.com/IntersectMBO/ouroboros-consensus/pull/863
See: https://github.com/IntersectMBO/cardano-api/pull/403#pullrequestreview-1804824842


Have a way to whitelist emails from the config

Great for use in staging environments
  whitelist_emails: System.get_env("WHITELIST_EMAILS") # if nil, [] or "" then it will allow all emails

Still need to figure out if this is best in core or if it should be something else


Template solution for construction of MAO

Let's start with the "avoid" items
Let's develop a template that will take
a. name (e.g., alcohol)
b. xref (if available, e.g., from ChEBI, http://www.ebi.ac.uk/chebi/searchId.do?chebiId=30879)
c. parent (one of the upper level terms that we have manually added to the mao-edit.owl file; or, one of the other terms in the csv file, e.g., fasting and prolonged fasting/starving)
Use a template to transform this information into OWL classes
Then import the file into the main mao/edit.owl file and check, Q/C it

This is now a duplicate. Will close.


px.scatter_map does not display

Describe the bug
From Discord.
"I am attempting to use a Plotly Scatter Map. When I render it, it shows a basic blank chart. I tried to follow the official Plotly tutorial and it does the same thing. I'll put a screenshot below shortly.
This is the code from the "Basic example with Plotly Express" https://plotly.com/python/tile-scatter-maps/"

Environment
HEAD
Code to reproduce
import pandas as pd
import plotly.express as px
df = px.data.carshare()
fig = px.scatter_map(df, lat="centroid_lat", lon="centroid_lon",     color="peak_hour", size="car_hours",
                  color_continuous_scale=px.colors.cyclical.IceFire, size_max=15, zoom=10)
fig

hey, this is actually due to plotly migrating from mapbox to maplibre. https://plotly.com/javascript/maplibre-migration/
I’ve verified that upgrading plotly.js to the latest version resolves this issue. Would you like me to open a PR for this?

hey @Light2Dark, thank would be awesome / very much appreciated, thank you!


TypeError: Cannot read property 'paths' of undefined

hi, inokawa!
First of all, I would like to thank you for providing a good box.
Howerver, There is an error in Run npm start and it does not work.
Is it my own problem?
Please check my error message.
TypeError: Cannot read property 'paths' of undefined
    at file:///home/runner/work/lang-box/lang-box/src/linguist.js:36:22
    at Array.forEach (<anonymous>)
    at parseOutput (file:///home/runner/work/lang-box/lang-box/src/linguist.js:21:20)
    at runLinguist (file:///home/runner/work/lang-box/lang-box/src/linguist.js:83:15)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async file:///home/runner/work/lang-box/lang-box/src/index.js:103:19
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: `node --experimental-modules --es-module-specifier-resolution=node src/index`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/runner/.npm/_logs/2021-03-27T09_02_37_963Z-debug.log
Error: Process completed with exit code 1.

Hi,
I couldn't judge what causes the error but I add guard to suppress the error.
Could you try it again please?

Hi,
It still doesn't work. TT

You have to use a if condition.
The guard will just transpile this
map[parsingLang]?.paths.push(line);

into this:
(_a = map[parsingLang]) === null || _a === void 0 ? void 0 : _a.paths.push(line);

which doesn't handle the case of map[parsingLang] being undefined...

@mskangg You have to re-generate your repo from the template or make the same edit in src/linguist.js !

@bokub Oh my mistake.. 😂 Thanks for catching my mistake.
My gist works well with your help. Thx bro!


[이번 해커톤 옷 잘 만들었네] 해커톤 앱 제출

제목
팀 앱 제출 2차
팀 이름
이번 해커톤 옷 잘 만들었네
팀 리포지토리
https://github.com/hackersground-kr/hg-good-tshirt

╰─ azd init -e good-tshirt

Initializing an app to run on Azure (azd init)

ERROR: environment already initialized to good-tshirt

╭─    ~/Desktop/tst2/hg-good-tshirt  on   master ?2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 1 ✘  at 05:48:53 
╰─ azd up

Packaging services (azd package)

  Packaging service hg-good-tshirt
  Packaging service hg-good-tshirt (Building Docker image)
  (x) Failed: Packaging service hg-good-tshirt

ERROR: error executing step command 'package --all': failed building service 'hg-good-tshirt': building container: hg-good-tshirt at .: building image: exit code: 1, stdout: , stderr: #0 building with "desktop-linux" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 207B done
#1 DONE 0.0s

#2 [internal] load metadata for docker.io/library/openjdk:17
#2 DONE 2.2s

#3 [internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.0s

#4 [1/2] FROM docker.io/library/openjdk:17@sha256:528707081fdb9562eb819128a9f85ae7fe000e2fbaeaf9f87662e7b3f38cb7d8
#4 DONE 0.0s

#5 [internal] load build context
#5 transferring context: 2B done
#5 DONE 0.0s

#6 [2/2] COPY build/libs/sodam-0.0.1-SNAPSHOT.jar sodam.jar
#6 ERROR: failed to calculate checksum of ref 356b7c38-19cb-4a89-9247-e69eea6e0ec5::mst8aj6r880aa4ml932c4eb19: "/build/libs/sodam-0.0.1-SNAPSHOT.jar": not found
------
 > [2/2] COPY build/libs/sodam-0.0.1-SNAPSHOT.jar sodam.jar:
------
Dockerfile:3
--------------------
   1 |     FROM openjdk:17
   2 |     ARG JAR_FILE=build/libs/sodam-0.0.1-SNAPSHOT.jar
   3 | >>> COPY ${JAR_FILE} sodam.jar
   4 |     ENTRYPOINT ["java","-jar","/sodam.jar"]
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 356b7c38-19cb-4a89-9247-e69eea6e0ec5::mst8aj6r880aa4ml932c4eb19: "/build/libs/sodam-0.0.1-SNAPSHOT.jar": not found

View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/mxzgu70lp8t7o65b4kcv1qlue

/invalid


Why VGG 16 and not ResNet ?

Hello ,Thank you for sharing the code of this great work
Why did you choose to use VGG16 as encoder instead of ResNet ?
Are you using Batch normalization ?
Another question how can we calculate the distance to the obstacles using the Lidar Points representation ?
Thank you

@asharakeh Thanks for the clarification! Have you tried using mobileNets for further accelerating?