Add GitHub Actions workflow to run markdown-link-check

Artichoke already incorporates this tool in the Rakefile as the
release:markdown_link_check task, but it is slow and doesn't get
regularly run.
Incorporate this into CI such that links are checked on every PR that
touches markdown files and on a weekly cron with the same cadence as the
audit workflow.

FILE: ./bin/linux/README.md
[✖] https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz → Status: 0 Error: ESOCKETTIMEDOUT
    at ClientRequest.<anonymous> (/usr/local/lib/node_modules/markdown-link-check/node_modules/request/request.js:816:19)
    at Object.onceWrapper (node:events:509:28)
    at ClientRequest.emit (node:events:390:28)
    at TLSSocket.emitRequestTimeout (node:_http_client:763:9)
    at Object.onceWrapper (node:events:509:28)
    at TLSSocket.emit (node:events:402:35)
    at TLSSocket.Socket._onTimeout (node:net:501:8)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7) {
  code: 'ESOCKETTIMEDOUT',
  connect: false
}

2 links checked.

ERROR: 1 dead links found!
[✖] https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz → Status: 0

I get this locally too. I think it's because the archive is huge.


Lost Fund Submission option

Describe the Bug
the Fund Submission button doesn't appear on profiles, only vouching options
Expected Behavior
The option should appear for profiles with less than 100% deposit
Screenshots

Device and Browser Information
All browsers

hi! just commenting here to be updated about the evolution of this fix...


Unable to push SonarQube analysis overview to Stash: Unable to post a comment to . Received 400 with message Bad Request

The automated reviews were working fine until last week.
I confirmed that sonarqube user belongs to correct crowd group , not sure why we are receiving error 400  as shown below
Request DefaultHttpRequest(chunked: false)
build   21-Mar-2016 15:51:43    POST /rest/api/1.0/projects/ABC/repos/abc/pull-requests/45/comments HTTP/1.1
build   21-Mar-2016 15:51:43    Content-Type: application/json
build   21-Mar-2016 15:51:43    Content-Length: 932
build   21-Mar-2016 15:51:43    Connection: keep-alive
build   21-Mar-2016 15:51:43    Host: xxx.xyz.com:7990
build   21-Mar-2016 15:51:43    Authorization: Basic c29uYXJxdWJlOnNvbmFycXViZQ==
build   21-Mar-2016 15:51:43    Accept: /
build   21-Mar-2016 15:51:43    User-Agent: AHC/1.0
build   21-Mar-2016 15:51:43
build   21-Mar-2016 15:51:43    Response DefaultHttpResponse(chunked: true)
build   21-Mar-2016 15:51:43    HTTP/1.1 400 Bad Request
build   21-Mar-2016 15:51:43    Server: Apache-Coyote/1.1
build   21-Mar-2016 15:51:43    X-AREQUESTID: @NRVL0Ux951x13983647x1
build   21-Mar-2016 15:51:43    X-ASEN: SEN-2307067
build   21-Mar-2016 15:51:43    X-AUSERNAME: sonarqube
build   21-Mar-2016 15:51:43    X-AUSERID: 12393
build   21-Mar-2016 15:51:43    Cache-Control: no-cache, no-transform
build   21-Mar-2016 15:51:43    Vary: X-AUSERNAME,Accept-Encoding
build   21-Mar-2016 15:51:43    Transfer-Encoding: chunked
build   21-Mar-2016 15:51:43    Content-Type: application/json;charset=UTF-8
build   21-Mar-2016 15:51:43    X-Content-Type-Options: nosniff
build   21-Mar-2016 15:51:43    Date: Mon, 21 Mar 2016 20:51:23 GMT
build   21-Mar-2016 15:51:43    Connection: close
build   21-Mar-2016 15:51:43
build   21-Mar-2016 15:51:43    [DEBUG] [15:51:43.013] Closing Channel [id: 0x900d6bde, /<IP_ADDRESS>:52404 => xxx.xxx.com/<IP_ADDRESS>:7990]
build   21-Mar-2016 15:51:43    [DEBUG] [15:51:43.013] Channel Closed: [id: 0x900d6bde, /<IP_ADDRESS>:52404 :> xxx.xyx.com/<IP_ADDRESS>:7990] with attribute INSTANCE
build   21-Mar-2016 15:51:43    [ERROR] [15:51:43.013] Unable to push SonarQube analysis overview to Stash: Unable to post a comment to abc#45. Received 400 with message Bad Request.
build   21-Mar-2016 15:51:43    [DEBUG] [15:51:43.013] Exception stack trace
build   21-Mar-2016 15:51:43    org.sonar.plugins.stash.exceptions.StashClientException: Unable to post a comment to abc#45. Received 400 with message Bad Request.
Thanks
Ravi.

https://developer.atlassian.com/static/rest/stash/3.11.3/stash-rest.html#idp1448560
400 (Bad Request) 	One or more of the required parameters or attributes:
were missing from the request;
incorrectly formatted; or
inappropriate in the given context.
I guess there is something wrong with one of the new violation to be pushed as comment. Investigation to be done

Yes i understand. But on another project there is only change to a pom file and i was expecting Sonarqube review as no new issues found instead a 400 error is thrown.  Do you see any setup issue ?
Ravi

What can be considered:

new Stash version
new SonarQube version
new violation
new Quality Gate

@RaviFIS Maybe try turning on Stash debug logging?

@RaviFIS Could you provide us the body of the request and response? Maybe using wireshark etc.

We have probably similar issue where rule squid:S1451 tries to add comment on line "0" and the BitBucket server replies: "0 is not a valid line number. Diff lines start from 1."

I have opened a PR for this: #96

Fair enough, #96 should fix this and will be available in the next release.


Make tab(\t) a valid whitespace character.

Some prefer to use tab for indentation.

Where are your tests?

People who use tabs are heathens! OK, not really. I like this change. :smile:
Can you add some tests? You can just add new test files to the root of the test directory. Mainly I just want to see that it (1) handles tabs are a separator between tokens, and (2) can handle skipping over a mixture of tabs and spaces (which is the issue @ryanplusplus methods above).
Thanks!

Sorry this fell through the cracks for a while. It's merged now. Thank you!
If you'd like, you're more than welcome to send me a pull request to add yourself to the AUTHORS file. :grinning:


Release - 0.3.0

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


chore(deps): update azuremonitor/containerinsights/ciprod docker tag to v3.1.23

This PR contains the following updates:

Package
Update
Change

azuremonitor/containerinsights/ciprod
patch
3.1.22 -> 3.1.23

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
Because you closed this PR without merging, Renovate will ignore this update (3.1.23). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.


feat: allow cli to accept options

Currently cli doesn't accept any options but for improved DX it will be a good idea to allow cli to accept initial command line options. This PR adds this feature to the cli. Choices whose initial options were passed will be skipped and won't be asked.
for e.g. if the --ts option is passed it enquirer won't prompt for lang.
npx remix-pwa --ts

Options
--typescript, --ts    ->    Create project with typescript template
--no-typescript, --no-ts  -> Create project with javascript template
--install       ->              Install the dependencies after creating.
--no-install       ->       Skip the installation process
--cache         ->         Preferred `Caching Strategy` for the service worker. Either `jit` or `pre`
--features, --feat    ->    remix-pwa features user wants to include should be wrapped as a string e.g. 'sw, manifest, push'
- 'sw' for Service Workers
- 'manifest' for Web Manifest
- 'push' for Push Notifications
- 'utils' for PWA Client Utilities
- 'icons' for Development Icons
--dir          ->           The location of Remix `app` directory
--help, -h        ->        Print help message
--version, -v     ->        Print the CLI version

Niceee!!! :+1:
I would review it first thing tomorow :rocket:


Support branch push as a trigger for propose-downstream

Requested by @pbrezina
Some users want to trigger the propose-downstream workflow on each commit to a specified branch.
TODO:

[ ] Mark the handler to support the commit trigger (via reacts_to).

https://github.com/packit/packit-service/blob/639c39422155fedc296892dcd5c2a90791be6797/packit_service/worker/handlers/distgit.py#L101-L107

[ ] Make sure the handler is run only for a specified branch.

See the CoprBuildHandler for inspiration: https://github.com/packit/packit-service/blob/639c39422155fedc296892dcd5c2a90791be6797/packit_service/worker/handlers/copr.py#L115-L127

[ ] Make sure it takes the correct state of the repository. (Including the spec-version. There might be some code that makes sense only to release.)
[ ] Provide a feedback via commit-statuses. (e.g. Task accepted, Sync in progress, PRs created)

It would be nice to create a table with the PR links in the check run description.

[ ] Document this feature.

We did not prioritize this in over a year so I am going to close.
You can always push a tag in the branch that will trigger the propose-downstream process.


ISPN-12946 CloudEventsIntegrationIT fails because of rate limit

https://issues.redhat.com/browse/ISPN-12946
Use Kafka image from quay.io

didn't work:
Caused by: java.lang.IllegalStateException: Failed to verify that image 'quay.io/confluentinc/cp-kafka:5.4.3' is a compatible substitute for 'confluentinc/cp-kafka'. This generally means that you are trying to use an image that Testcontainers has not been designed to use. If this is deliberate, and if you are confident that the image is compatible, you should declare compatibility in code using the asCompatibleSubstituteFor method. For example:

@pruivo I haven't considered the possibility, but it looks like the quai.io/confluentinc/cp-kafka does not exist :)
I pushed an update that uses the Strimzi test-container image and it works, but for whatever reason starting the container takes ages.

well, somehow, I can find it
docker pull quay.io/confluentinc/cp-kafka:5.4.3
5.4.3: Pulling from confluentinc/cp-kafka
290431e50016: Pulling fs layer
7ec8f1cbc52d: Download complete
2e4268618b5d: Pulling fs layer
708285f10926: Download complete
95501030aa9b: Waiting
a26f4effffdb: Waiting
6aa5a7b6ed06: Waiting

you have a mirror here: https://quay.io/repository/cloudservices/cp-kafka

Updated to use the quay.io/cloudservices/cp-kafka mirror

integrated! thanks @danberindei !


This is test incident for final changes

This is a schueduled test incident [start_datetime:1706073600] [end_datetime:1706074200]


./install.sh fails on arm64

The /install.sh script fails which building the wheel for pynacl on arm64 machines.
  aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/batesste/chiadog/venv/include -I/usr/include/python3.8 -Ibuild/temp.linux-aarch64-3.8/include -c build/temp.linux-aarch64-3.8/_sodium.c -o build/temp.linux-aarch64-3.8/build/temp.linux-aarch64-3.8/_sodium.o
  build/temp.linux-aarch64-3.8/_sodium.c:50:14: fatal error: pyconfig.h: No such file or directory
     50 | #    include <pyconfig.h>
        |              ^~~~~~~~~~~~
  compilation terminated.
  error: command 'aarch64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for pynacl
Failed to build pynacl
ERROR: Could not build wheels for pynacl which use PEP 517 and cannot be installed directly

A clear and concise description of what the bug is and how it can be reproduced.
git clone on an arm64 machine (I was working on an AWS Graviton-2 based VM).
. ./install
Environment:

OS: Ubuntu 20.04
Python version: 3.8
PIP version: 21.1.1
Chia version: 1.1.5

This was due to a missing package dependency. Perhaps this needs to be added to the install script?
sudo apt install python3-dev

I recently had a similar problem with additional package dependency problems, and I solved it. See here: https://github.com/martomi/chiadog/issues/148

Thanks, I have a branch ready for this that adds the following line to the install.sh file
# Install dev tools
sudo apt-get update
sudo apt-get install libpython3-dev build-essential -y


[SPARK-16879][SQL] unify logical plans for CREATE TABLE and CTAS

What changes were proposed in this pull request?
we have various logical plans for CREATE TABLE and CTAS: CreateTableUsing, CreateTableUsingAsSelect, CreateHiveTableAsSelectLogicalPlan. This PR unifies them to reduce the complexity and centralize the error handling.
How was this patch tested?
existing tests

cc @liancheng @gatorsmile  @yhuai @rxin

Test build #63176 has started for PR 14482 at commit a11d122.

Test build #63176 has finished for PR 14482 at commit a11d122.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63176/
Test FAILed.

is it a MIMA issue? Although I moved the SaveMode class, it's still in same package.

SaveMode is a public API. We cannot move it to catalyst.

Test build #63209 has started for PR 14482 at commit 108e385.

Test build #63211 has started for PR 14482 at commit ec47911.

cc @gatorsmile , IIRC, you have some PRs about error handling. After this PR, we can have a centre place for basic error handling, is it good enough for all the error cases you found?

Test build #63209 has finished for PR 14482 at commit 108e385.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class CreateTable(tableDesc: CatalogTable, mode: SaveMode, query: Option[LogicalPlan])
case class PreprocessDDL(conf: SQLConf) extends Rule[LogicalPlan]

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63209/
Test FAILed.

Test build #63211 has finished for PR 14482 at commit ec47911.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class CreateTable(tableDesc: CatalogTable, mode: SaveMode, query: Option[LogicalPlan])
case class PreprocessDDL(conf: SQLConf) extends Rule[LogicalPlan]

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63211/
Test FAILed.

Test build #63218 has started for PR 14482 at commit 7c670b7.

Test build #63219 has started for PR 14482 at commit 2662bf1.

Test build #63218 has finished for PR 14482 at commit 7c670b7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63218/
Test FAILed.

Test build #63219 has finished for PR 14482 at commit 2662bf1.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63219/
Test FAILed.

Test build #63221 has started for PR 14482 at commit 8db79e4.

Test build #63221 has finished for PR 14482 at commit 8db79e4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63221/
Test FAILed.

Test build #63226 has started for PR 14482 at commit 8f53cf2.

Test build #63227 has started for PR 14482 at commit 2933c58.

Test build #63226 has finished for PR 14482 at commit 8f53cf2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63226/
Test FAILed.

Test build #63227 has finished for PR 14482 at commit 2933c58.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63227/
Test PASSed.

@cloud-fan I just went over my related PRs. Two of them are contained, and thus I closed them. The other three are not covered. Please feel free to let me know what are the best way to deal with the remaining three. Thanks!

@gatorsmile how about keep working on them after this PR is merged?

Test build #63256 has started for PR 14482 at commit f49ef22.

@cloud-fan Sure, will do. Thanks!

Test build #63256 has finished for PR 14482 at commit f49ef22.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63256/
Test PASSed.

LGTM - merging to master. Thanks!


Stooge sort

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Implemented Stooge Sort in JavaScript
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
Closes: #4540

Kindly review @HarshCasper :)

Please make an issue here and raise a PR, for an article as part of our Docs repository: https://github.com/TesseractCoding/NeoAlgo-Docs
It would be much appreciated. Thanks!


Add Lite2, TV Station Basic, Hub

Thanks!

https://github.com/AlexxIT/YandexStation/releases/tag/v3.17.0


Feature/protocol flow

Codecov Report

Merging #771 into master will decrease coverage by 0.27%.
The diff coverage is 6.81%.

@@            Coverage Diff             @@
##           master     #771      +/-   ##
==========================================
- Coverage   26.26%   25.99%   -0.28%
==========================================
  Files         155      155
  Lines        2966     3005      +39
  Branches      394      401       +7
==========================================
+ Hits          779      781       +2
- Misses       1964     1994      +30
- Partials      223      230       +7

Impacted Files
Coverage Δ

...s/MultiCreateTransaction/MultiCreateTransaction.js
0% <0%> (ø)
:arrow_up:

src/containers/Screen/screen.js
0% <0%> (ø)
:arrow_up:

src/store/store.js
14.54% <8%> (-2.9%)
:arrow_down:

src/components/tx/SendTx/SignTx/SignTxForm.js
21.73% <9.09%> (-9.04%)
:arrow_down:

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 4e85bde...84ca6be. Read the comment docs.


Update link to youtube vide for "To learn more about the details on the media path that is chosen..."

Consider updating the YouTube video reviewing media flows to the more recent Ignite 2018 session at https://www.youtube.com/watch?v=1tmHMIlAQdo

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 43c84773-337e-9df7-7fbd-fc9d94280711
Version Independent ID: 223a78a0-67fd-8b96-be3f-153bb400101b
Content: Microsoft Teams Online Call Flows
Content Source: Teams/microsoft-teams-online-call-flows.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@officedocsbot assign @scanum

@d1bjo0 Thank you for pointing this out and helping improve MS docs.  I'll have a look and have the changes implemented soonest.

@d1bjo0 Thank you for submitting this feedback.
From our understanding, the issue has been resolved and Lindsay has updated the link. If you feel it hasn't been resolved please re-open this issue.

@officedocsbot close


Plugin installation via composer installes outdated dependencies

PHP Version
8.3
Shopware Version
6.6
Affected area / extension
Platform(Default)
Expected behaviour
When I install the Pickware DHL plugin via composer in my Shopware 6 store, I expect composer to install exactly the dependencies which were provided in the plugin's release zip.
Actual behaviour
When I install the Pickware DHL plugin via composer in my Shopware 6 store, composer installs an outdated version the pickware/shipping-bundle dependency. In the latest release (3.2.4) of Pickware DHL, the pickware/shipping-bundle dependency did not include the following directory /src/Resources/app/storefront/src. However, when I install Pickware DHL using composer, the vendor folder contains said outdated files: vendor/pickware/shipping-bundle/src/Resources/app/storefront/src.
When inspecting the vendor directory of the Pickware DHL plugin itself, is is clear that this is not intended since the src directory is missing from vendor/store.shopware.com/pickwaredhl/vendor/pickware/shipping-bundle/src/Resources/app/storefront.
How to reproduce
Reproducing this bug is very easy:

Execute docker run --rm -p 80:80 dockware/play:latest in a terminal to quickly set up a clean Shopware 6 installation (assuming docker is already installed on your machine).
Attach a terminal session to the newly created docker container.
Set up the installation of plugins via composer via this tutorial
Remove the /var/www/composer.lock file and the /var/www/vendor directory a the root for a clean composer installation.
Execute composer require store.shopware.com/pickwaredhl

Now, the directory
/var/www/vendor/pickware/shipping-bundle/src/Resources/app/storefront/src
should not be present, (the same way it is not present in /var/www/vendor/store.shopware.com/pickwaredhl/vendor/pickware/shipping-bundle/src/Resources/app/storefront
) but it is.

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-38110
[created from NEXT-38110, comment 491600]

We realized that we changed the content of the pickware/shipping-bundle dependency in the latest Pickware DHL plugin release due to a new build process step without increasing it's version and we assume that the outdated files are present because Shopware ignores dependencies with versions it already knows. Therefore, I am closing this issue with this comment.


Click Nation Link from Ajax Report Issue

I had an issue using this version of Gauntlet. Clicking a nation link from the Ajax Report would not work. The URL would change but the page, as viewable, would not.
https://github.com/libcord-tech/gauntlet/releases/tag/nightly-2023-07-11-2327

Sorry, I'm not quite sure what you mean by the ajax report — do you have a link to the page?

This was the page that I used:
https://www.nationstates.net/page=ajax2/a=reports/view=region.artificial_solar_system/filter=move+member+endo


⚠ Quirk Club Argentina (API endpoint) has degraded performance

In 2a4c06e, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 12366 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in 3ae3df2.


Added file limit

https://github.com/MicrosoftDocs/office-docs-powershell/issues/3834

Docs Build status updates of commit 236bf7b:
:clock10: Full build: the average full build time is 11 min(s) 52 sec(s), this is based on the last 884 build(s) for this repository.

Docs Build status updates of commit 236bf7b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/policy-and-compliance-dlp/Set-DlpKeywordDictionary.md
:white_check_mark:Succeeded
View (exchange-ps)

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

Docs Build status updates of commit 197305a:
:clock10: Full build: the average full build time is 11 min(s) 52 sec(s), this is based on the last 888 build(s) for this repository.

Docs Build status updates of commit 197305a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/policy-and-compliance-dlp/Set-DlpKeywordDictionary.md
:white_check_mark:Succeeded
View (exchange-ps)

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

Docs Build status updates of commit cc49dd8:
:clock10: Full build: the average full build time is 11 min(s) 52 sec(s), this is based on the last 893 build(s) for this repository.

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

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/policy-and-compliance-dlp/Set-DlpKeywordDictionary.md
:white_check_mark:Succeeded
View (exchange-ps)

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


ChartJS 2.0: Chart not displayed for time series chart where first value is null

I've created a fiddle (my first one ever) here to display the issue.
The only thing that changes in the second canvas is that the first value is not null but 0.
I've used version 2.0.0-beta2 in this example.
Is this a bug or should I configure something differently?

Tried this using the latest v2.0-dev branch. This is the result https://jsfiddle.net/ygq31eh4/1/

It only work if first value on array is not null :/

It only work if the first value in array is not null:/


Automate the configuration of social apps

Issue #37

Current coverage is 98.09% (diff: 100%)

Merging #39 into dev will not change coverage

@@                dev        #39   diff @@
==========================================
  Files             8          8
  Lines           105        105
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            103        103
  Misses            2          2
  Partials          0          0

Powered by Codecov. Last update 68fefa5...a7fde52

Should we delete the branch?

I think so


Licensing final fixes / touches for 2.0.0

None of the fixes here are hard blockers for the release.
This PR contains the following fixes for licenses:

0ecc467 excludes the bundled NOTICE / LICENSE pulled in from Kafka. The contents in those are misleading, since it cites a binary dependency on jersey, but this is neither reflected in the dependency graph, nor are any jersey files bundled. The approach here follows how flink-sql--kafka-connector treats this specific case.
b4927f1 and 34991df makes sure that we do not have any duplicate license files under the name LICENSE.txt / license.txt pulled in. This is ok, since all non-ASLv2 licenses are manually included under the META-INF/licenses directory.
e18030f This is actually a NOTICE file merging issue that should be fixed upstream in the Flink Kinesis connector. We're applying the fix here before it is fixed upstream.

These should be backported to release-2.0.

I think Robert have a valid point to not remove parts of the javax.annotation license (sorry for pointing in the wrong direction earlier).
Other than that, +1 to these changes.

Thanks a lot for the prompt reviews, merging this to master and release-2.0.


Can You add a way to use more than 5 lvls on disciplines? [FEATURE]

It would be amazing to build, play with ancient cainites...

Disciplines can now go above 5 if you have low enough generation


Attempt to fix CI build error

We are seeing this error in the build, this PR attempts to solve this error.
* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not resolve com.github.jk1:gradle-license-report:latest.release.
     Required by:
         project :
      > No matching variant of com.github.jk1:gradle-license-report:2.2 was found. The consumer was configured to find an API of a library compatible with Java 8, preferably in the form of class files, preferably optimized for standard JVMs, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6' but:
          - Variant 'apiElements' capability com.github.jk1:gradle-license-report:2.2 declares an API of a library, packaged as a jar, and its dependencies declared externally:

closing our since this change doesn't work for the repos that uses the plug-in.


test(infra): test the path resoltion error variants

This change is

#2210  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Remove DMA move operations - [merged]

In GitLab by @perarnau on Mar 25, 2019, 16:28
Merges remove-dma-move -> master
moving data behind a pointer is not the intended way of using AML, and is known for being slower than copy operations on most devices. Removing support for it from the library will enable us to implement more functionalities in a straightforward way.

In GitLab by @perarnau on Mar 26, 2019, 09:44
added 6 commits
cc4c4190...6c2c6cdb - 4 commits from branch mastere04522e9 - [refactor] remove move operation from DMAf8c0ce7d - [refactor] remove now useless binding abstraction
Compare with previous version
By Swann Perarnau on 2019-03-26T14:44:22 (imported from GitLab project)

In GitLab by @perarnau on Mar 25, 2019, 23:40
added 1 commit
a01ebae5 - [fix] remove file from configure output
Compare with previous version
By Swann Perarnau on 2019-03-26T04:40:34 (imported from GitLab project)

In GitLab by @perarnau on Mar 26, 2019, 10:00
mentioned in commit 36bc84c17e30312d789da30f5f6d2bf82a82d6dc
By Swann Perarnau on 2019-03-26T15:00:27 (imported from GitLab project)

In GitLab by @perarnau on Mar 25, 2019, 23:54
added 1 commit
cc4c4190 - [fix] leftover binding usage
Compare with previous version
By Swann Perarnau on 2019-03-26T04:54:37 (imported from GitLab project)

In GitLab by @perarnau on Mar 26, 2019, 09:45
enabled an automatic merge when the pipeline for f8c0ce7d2232c58bb71574537989993e1c374259 succeeds
By Swann Perarnau on 2019-03-26T14:45:01 (imported from GitLab project)

In GitLab by @perarnau on Mar 26, 2019, 10:00
merged
By Swann Perarnau on 2019-03-26T15:00:27 (imported from GitLab project)

In GitLab by @perarnau on Aug 6, 2019, 13:56
mentioned in commit 36bc84c17e30312d789da30f5f6d2bf82a82d6dc


Added iterables in flatten to item list

From my viewpoint it's required to return lists also as a separated list.
If possible please take the change to next release so that i can use it via pip in my project :-)

I'm going to tweak this slightly, to create two separators. I just want to be sure we're not relying on the "." separator anywhere else in the code.

@frruit Would you like me to add your name to the Contributors, or just ffruit?

@frruit I've merged the changed and tweaks to master. Can you test off the master branch and make sure this works as your expected? I added a second separator for lists, so we don't affect the existing behavior for other data types. If it is all good, I'll get this released to PyPI.

@FlipperPA if you want then please add me as a contributor. My name is Franjo Rupcic and thanks for the offer.
I cannot test it currently because i'm on vacation and my laptop is not with me. From my viewpoint you can release it because it's enhancement but i'll give you more feedback when i'm start to work again with it. At the moment I think that the user of you mixin class should be able to overwrite the seperator from outside the library. Something like the configuration of the filename via the mixin class.


quilt: Add option for TLS-encrypted GRPC communication

Should someone other than @Baisang look at this since it's a big PR, and he's busy with Yelp?
I'd like @kayousterhout or @ejj to look over this as well anyways, since it changes a lot of code.

I can look at this


json query to db is missing CORS headers but query to _memory has them

this request to the _memory endpoint returns a response with the right CORS headers:
https://labordata.bunkum.us/_memory.json?sql=select+'hello'%3B
but this query to a database endpoint, does not.
https://labordata.bunkum.us/nlrb.json?sql=select+'hello'%3B
That endpoint should redirect to a hashed url like,
https://labordata.bunkum.us/nlrb-8eeb4a3.json?sql=select+'hello'%3B
which does have the right CORS headers. I think the issue is that the 302 response does not have the right CORS headers.
This is preventing an Observable page like https://observablehq.com/@fgregg/petitions-for-representation-certification-elections-fi to fetch the data.

Yup:
~ % curl -i 'https://labordata.bunkum.us/_memory.json?sql=select+%27hello%27%3B'
HTTP/2 200
date: Thu, 24 Mar 2022 03:15:34 GMT
content-type: application/json; charset=utf-8
cache-control: max-age=5
referrer-policy: no-referrer
access-control-allow-origin: *
access-control-allow-headers: Authorization
access-control-expose-headers: Link

Compared to:
{"ok": true, "database": "_memory", "query_name": null, "rows": [["hello"]], "truncated": false, "columns": ["'hello'"], "query": {"sql": "select 'hello';", "params": {}}, "error": null, "private": false, "allow_execute_sql": true, "query_ms": 1.1404910001147073}%                                                                                ~ % curl -i 'https://labordata.bunkum.us/nlrb.json?sql=select+%27hello%27%3B'
HTTP/2 302
date: Thu, 24 Mar 2022 03:16:09 GMT
content-type: text/html
location: /nlrb-8eeb4a3.json?sql=select+'hello'%3B
x-cloud-trace-context: 85c98763279631b912ddf6c8526bc299;o=1
cf-cache-status: BYPASS


2.5.0 Release Prep

Coverage remained the same at 88.068% when pulling 6aa19738b33a0ce4c0d193e3dc907d48b2e38885 on trevor-vaughan:2.5.0_release_prep into 055d8a52b251ed08684b1af3714bdb213661978c on hercules-team:master.


Reactions to short messages, when the sender name is long, is misaligned (nightly build)

This probably occurs because the reaction is applied on top of the name layer, and if the name is longer than the actual text, the reaction floats at the end of the name instead of at the end of the text

My branch. Reverted name layer overlay in favor of how we used to do it. It is how iMessage actually does it, and it solves our issue


Update the document

I found a word misspelled in the document.

@JSlife23 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@JSlife23 Thank you for signing the Contributor License Agreement!


page.evaluate_script throws Capybara::NotSupportedByDriverError

Using capybara 1.0.1 & capybara-webkit 0.6.1, I can't evaluate any js. I know this was supported in the past.
  page.evaluate_script("false").should be_false
  # => Capybara::NotSupportedByDriverError

∴ uname -a
Linux maynard 2.6.38-11-generic #48-Ubuntu SMP Fri Jul 29 19:02:55 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

@jferris I have the same problem with this code:
Failure/Error: page.find('#get_coupon').trigger(:click)
Capybara::NotSupportedByDriverError
And in spec_helper:
Capybara.javascript_driver = :webkit
I can't figure out what to do with this and testing javascript. I'm just stuck. No docs or google searches have helped me and I've been blocked for over 2 hours over just getting one test to understand my intentions

@joemsak are you using cucumber? Did you tag your scenario as @javascript?

Sorry. I FINALLY got it. It was so hard to understand...
TURNS OUT: You still have to use the :js => true flag, it's not enough to just set the driver in spec_helper
This wasn't very clear, I thought :js => true was for Selenium.

All the docs around this miss the fact that a newbie doesn't even know to use :js => true. I was clued in by a railscast on rSpec and Capybara with Selenium

If you'd like to submit a pull request to change the README based on your
experiences, that would be helpful.

Thanks, I just did!

:js => true
fixed this for me.

@nfriend21 I'm really new to this. Where does :js => true go in your files?

@schulmanworks https://github.com/teamcapybara/capybara#using-capybara-with-rspec

@schulmanworks - it goes in your describe block, like this:
describe 'Something', :type => :feature, :js => true do
it 'does something' do
# code to test something
end
end


add errno flag for bash command which can filter the bash command retval

I have implemented the command func like sudo ./ecapture bash --err 100 and it's result like this
with err flag

I will implement this func in kernel


do CDF inversion methods have to be public?

@chrisb83, @mdhaber, @tirthasheshpatel I had completely missed the API changes to add NumericalInverseHermite and other public classes listed in http://scipy.github.io/devdocs/reference/stats.html#random-variate-generation-cdf-inversion. Was that discussed on the mailing list, and do these things have to be public?
My impression is that it's a complex API that is quite unlike other APIs in scipy.stats. They take distribution objects that are not the regular stats distributions:
An instance of a class with pdf and dpdf methods.
It looks to me at first glance that this should be private infrastructure which supports improved RVS generation in the regular distribution classes?

Ah I found gh-14600 which is related. There's too much there and in linked PR for me to digest right now. The functionality looks great, but the API (even just the class names) seems like it's in need of making more uniform, unifying under a single class, or making private.

Was that discussed on the mailing list

I sent this mail in the mailing lists that briefly discusses the API while working on gh-14215. There were no comments/objections so I and @chrisb83 decided to merge the PR.

and do these things have to be public?

Yes, the point of providing multiple generators is to let the user choose the appropriate one to sample from a non-standard distribution not present in scipy.stats.

My impression is that it's a complex API that is quite unlike other APIs in scipy.stats. They take distribution objects that are not the regular stats distributions:

They do support the regular scipy.stats distributions but there are three reasons why they don't integrate well:

Some generators require the derivative of the PDF which is not present in scipy.stats distributions.
As UNU.RAN calls the distribution functions (like pdf, dpdf, cdf) in a non-vectorized manner, the cost of evaluating the vectorized pdf and cdf methods of scipy.stats distributions is too high. Moreover, these methods have a costly validation step which further increases the computation cost unnecessarily. This makes setup and sometimes sampling significantly slow.
Some generators don't require the normalizing contact of the PDF method. So, setup and sampling are faster with distributions that don't compute the normalizing constant for each call to the PDF method.

This is why the use of scipy.stats distributions is discouraged in the documentation. This does make the API atypical and harder to use but I and @chrisb83 have worked on several tutorials and detailed API documentation that hopefully assuage this complexity.

It looks to me at first glance that this should be private infrastructure which supports improved RVS generation in the regular distribution classes?

Apart from speeding up the RVS method, another primary use of this API is to sample from distributions not present in scipy.stats. That is why a public API makes sense.

but the API (even just the class names) seems like it's in need of making more uniform, unifying under a single class, or making private

I and @chrisb83 did discuss providing a higher-level function or a class that unifies the functionality but observed that it is as easy or easier to just call the constructor of the generator we want to use.

Hi Ralph,
making these methods public was the main purpose of the GSoC project (https://summerofcode.withgoogle.com/projects/#5912428874825728):

The goal of this project is to provide an object-oriented interface for methods present in UNU.RAN to sample from univariate continuous and discrete distributions using NumPy’s BitGenerator as the Uniform Random Number Sampler (URNG).

I am pretty sure the scope of the project was also discussed on the mailing list. I hope there was no misunderstanding.
While these methods are indeed relatively advanced, they provide some very useful functionality and let the user have full control of the parameters. I think @tupui already mentioned that there is demand for such methods in the QMC community.
Improving the sampling of the existing distributions in rv_continuous is on our TODO list. In addition to the difficulties described by Tirth, it also requires more thought about how to integrate this: for example, if you want to sample a Gamma distribution with different shape parameters, e.g. [0.5, 1.8], you need two generators (one for each shape parameter). Depending on the value of the parameter, you might even need different methods to create the generator (e.g., maybe NumericalInversePolynomial for one and NumericalInverseHermite for the other). And for unfrozen distributions, you probably cannot use this approach anyways since it is not clear how to store the generators and creating them from scratch every time will be very inefficient.

Thanks for the feedback and pointers @tirthasheshpatel, @chrisb83 and @tupui! I apologize not grasping this till now - Tirth's GSoC project was so productive that I was't able to follow along much beyond trying to help with some of the integration aspects.
I'll try to find some time to go through the tutorials in detail. Maybe it's a matter of naming, or of a unifying class - not sure yet. It's just that the API looks a little off (sorry if that's vague), and something like stats.NumericalInversePolynomial is not a great name - there's no connection to random sampling, without more context I'd think this is more related to numpy.polynomial or scipy.interpolate.

Hmm, NumericalInverseHermite is already released in 1.7.0 (https://github.com/scipy/scipy/pull/13319). The name isn't great, but at least its signature is easy to understand:
def __init__(self, dist, *, tol=1e-12, max_intervals=100000)

Some of the newer classes have way too many parameters, e.g.:
TransformedDensityRejection(dist, mode=None, center=None, *, domain=None, c=- 0.5,
                            construction_points=30, variant='ps', use_dars=True,
                            max_squeeze_hat_ratio=0.99, max_intervals=100, guide_factor=2, random_state=None)

@rgommers if you have time, could you let us know your thoughts on how to proceed with gh-14717 (NaiveRatioUniforms) and gh-14703 (NumericalInverseHermite). We recently asked about these PRs on the mailing list. Tirth and I planned to get them into the 1.8.0 release. Thank you!

I think there's two main options:

I also think the other option of moving the methods in a stats.sampling submodule would be better than trying to unify the classes.

At a minimum we should figure out which are the ones that have the most influence over algorithm performance, and move the rest to a method_options keyword to hide them to some extent. Better would be to get rid of as many as possible.

Agreed.

For 1.8.0, should we try to move the less important ones to a dictionary method_options as an temporary solution?

I think if we do this, we would be stuck with method_options for backward compatibility. Let's see what UNU.RAN authors say. I think, meanwhile, Runuran seems like a good guide to which parameters the authors consider more influential. Even if we end up with fewer parameters, we can change that later but not vice versa. I will look into which parameters Runuran methods provide and change the API accordingly. Does that sound good, @chrisb83 @rgommers?

For QMC, what I don't like with the current direction this is taking is that from a user perspective you don't know which class can handle QMC. qrvs is only available for now in NumericalInverseHermite. @chrisb83 @tirthasheshpatel is this intentional or just an omission (in cases where we could have qrvs)?

We could provide qrvs for inversion methods. The reason we didn't do this is there's already a lot to figure out about the API and UI. Also, we can always add more features later on but would be stuck with a UI due to backward compatibility.

Even if we end up with fewer parameters, we can change that later but not vice versa. I will look into which parameters Runuran methods provide and change the API accordingly. Does that sound good, @chrisb83 @rgommers?

This sounds good to me, the reasoning seems correct. Some parameters may be permanently hidden because they don't do much or are too hard to interpret, others can be re-enabled later.

I also think the other option of moving the methods in a stats.random_sampling submodule would be better than trying to unify the classes.

Looks like we're on the same page here then. Maybe now is a good time to make a separate proposal on the mailing list about this, to ensure everyone agrees this is the way to go?

rvs_ratio_uniforms seems to be a problem as well, it does a very similar thing to NaiveRatioUniforms as far as I can tell from the docs - it should probably also be deprecated

Yes,  NaiveRatioUniforms offers the same functionality as a special case using the common interface that Tirth implemented .We  initially wanted to deprecate rvs_ratio_uniforms after adding NaiveRatioUniforms. We then decided to wait since the former is still faster (about 6x if I remember correctly). We can still deprecate it right away in my view. For a lot of distributions, NumericalInverseHermite or NumericalInversePolynomial offer faster alternatives.

I am starting to shift all the methods to a new subsubmodule. I was thinking of naming it sampling so these methods can be imported from scipy.stats.sampling. @rgommers Does that sound good?

On one hand this seems like a good idea to make this submodule, but then we could argue that QMC could be part of it since it's also about sampling.
On the other hand, do we want users to have a submodule for that? I thought maybe this would be integrated in the distribution API. Although both things are not incompatible.
Before doing anything, what would you said about discussing the future of the module in general and what we want it to look like. This would help us answer this question. What about we make a call or something like that with all people interested in stats?

sampling doesn't seem unreasonable. random_sampling could work too, to be more explicit. It'd be good to ping on the mailing list to get enough input.

On the other hand, do we want users to have a submodule for that? I thought maybe this would be integrated in the distribution API. Although both things are not incompatible.

That was my initial feedback in this issue, but after the discussion I think @tirthasheshpatel and @chrisb83 made convincing arguments for why it does not fit into the stats distributions.

Before doing anything, what would you said about discussing the future of the module in general and what we want it to look like.

See gh-14600 for the current plan for UNU.RAN based sampling methods. That's the current scope, so the question is if there's more or not.

That was my initial feedback in this issue, but after the discussion I think @tirthasheshpatel and @chrisb83 made convincing arguments for why it does not fit into the stats distributions.

My understanding was that the functionalities would be useful for experts so it might be interesting to make them public. But this could also be part of the distributions. I will have another read 😅

See gh-14600 for the current plan for UNU.RAN based sampling methods. That's the current scope, so the question is if there's more or not.

Yes I am more talking in general for scipy.stats.

sampling doesn't seem unreasonable. random_sampling could work too, to be more explicit. It'd be good to ping on the mailing list to get enough input.

We thought sampling might be enough since stats should already imply "random" :) Let's ask on the mailing list @tirthasheshpatel could you take care of that?

See gh-14600 for the current plan for UNU.RAN based sampling methods. That's the current scope, so the question is if there's more or not.

Note that for now, we just plan to add SimpleRatioUniforms on top of the functionality we already implemented. Then we should have good coverage of different methods to create generators for most univariate / discrete distributions. We will also think about how to better integrate the methods into rv_continuous to speed up some of the rvs methods but that will take some more time.

could you take care of that?

Sure, I will write to the mailing list tomorrow.


NginX-1.1.15 compatible tag

Can you add new tag with last commit?

Yes, good idea.
I just pushed a v0.8.4 adding compatibility with nginx 1.1.5.


Allow canenter and canexit to be strings

I ran into a problem when using this library in a project of mine that has multiple wizards. I refactored much of my wizard code to allow me to loop through steps defined in my controller (using ng-repeat). However, I couldn't dynamically set the "canenter" or "canexit" attributes of the "wz-step" directive. I did the following in my project and it seems to be working perfectly!
Example:
// In my controller
$scope.wizardSteps = {
      step1: {
        title: 'Step 1', description: 'This is Step 1',
        renderFile: 'path/to/file/step1.html'
      },
      step2: {
        title: 'Step 2', description: 'This is Step 2',
        renderFile: 'path/to/file/step2.html', enterCallback: 'doSomethingUseful()'
      }
};

$scope.doSomethingUseful = function() {
  // Do stuff and return a promise as I normally would for a canenter callback
};

// View (this is Slim since I'm using a Rails app)
wizard[current-step='currentStep']
  wz-step[ng-repeat='(stepIdentifier, step) in wizardSteps' wz-title='{{ step.title }}' canenter='step.enterCallback']
    // Other code shared between all steps
    div[ng-include='step.renderFile' ng-if='step.renderFile']

@Tybot204 awesome thank you, do you think you could add a unit test to test canenter and canexit with strings? Thank you for contributing, projects like this couldn't exist without people like you!

@jacobscarter Unit tests have been written and are passing! I also added a compatible version of Karma to the package.json. It is required to run tests, but wasn't being installed through npm install previously.
Also seems running tests went ahead and compiled the library. I included the compiled version here, but I can remove it if you'd like to do that yourself after merging.

@Tybot204 sorry merging another PR made this one have conflicts, could you please rebase one more time for me?

@jacobscarter Conflicts have been resolved and all tests are still passing.

@jacobscarter would you like me to fix the Codacy errors? I followed the format of the code that was already there, but both tests and the original canenter / canexit methods can be refactored a bit.

@Tybot204  Don't worry about the codacy errors, feel free to fix but you dont have to, can you please remove build files from your PR, we only want the src/ files, this will fix merge conflicts as well.

@jacobscarter PR is rebased and doesn't include the build files.

@Tybot204 I am going to rebase this again and make a new PR off a branch in this repo with your changes so that it can get the latest build config for the CI tooling.


Return objects total count

I would like to organize a pagination on my page. I can pass parameters limit and skip with query. But, when I receive a response I don't recieve total count of records, although this field is returned folowing by CD API.
I can get all records and then make a slice, but it's a bad practice.
I propose to return total count with objects list.
For example:
...
>>> client.entries({'limit':10, 'skip': 20})
{
  "items": [
    <Entry[2PqfXUJwE8qSYKuM0U6w8M] id='6dbjWqNd9SqccegcqYq224'>,
    ...
  ],
  "total": 2564
}

For now,  I have to make additional request to Content Management API with parameter limit=0 and get total count from response.

Hey @n-elloco,
Sounds like a valid point,
I will wrap Arrays with an object so that you can have this metadata available.
Cheers

Hello @dlitvakb
Thank you very much. Great job.


Dynamically add tags

I want to use select2 multiple tags option that are fetch by ajax. Below select field I want to list mostly used ones. On click it should be added to select2. Something like https://select2.github.io/examples.html#programmatic (set to California and Alabama) but it's not working with tags and ajax.
If I append element to select $(".select2").append("<option value='predefined' data-select2-tag='true'>predefined</option>"); all ajax functionality is disapearing - not working anymore

I figured it out.

@piernik How did you do that?


Include the prices in the tests

This patch allows testing the most important KiCost feature: getting the costs.
To achieve it I'm adding a fake web server that can pretend to be KitSpace's server, but using recorded responses.
In this way we can reproduce the transactions over and over.
The patch also allows to record the transactions and make the currency exchange rates reproducible.

Hi @hildogjr !
This PR is in progress, but I want you to take a look at what I'm doing and tell me your opinion.
The main idea is to test KiCost a little bit better. I think the current regression tests are unacceptable. They are too naive and only a minimal part of the functionality is really tested.
This patch tries to cover more functionality.

At this point the patch seems to be usable.
We just need to extend it to all the tests.
BTW: I don't understand the purpose of each test. It looks like a random collection of fuzzy tests. The tests should be named in a way that we know what's their purpose. Like I did for tests like multipart and variant.
With the current names if a test fails we don't know what it means.

Question: query_part_info reeceives distributors as argument, but this value is completly ignored.
Even more confusing: FIELDS_CAT (and DISTRIBUTORS) are created from distributor_dict. Then the code computes distributors to remove the distributors not supported by KitSpace API. But the query creation is done with the first two.
Is quite confusing.

Hi @hildogjr !
Now the patch seems to be fully functional. All tests can be run with price. I collected 3.2 MiB of queries covering all the tests.
In the process I made the code much more reproducible.
Note that 32bbfcab174ed4fcca4b9a18219c40f8adab782b fixes a problem with subparts.
I made a lot of changes to the KitSpace API, most of them to make the output consistent, but some of them to make the code more clear.
The fake webserver is working quite well, so we can test reproducible values and really fast.

Question: query_part_info reeceives distributors as argument, but this value is completly ignored.

KiCost have the capability of "create local virtual distributor" ("hard coding" the price into the an specific filed of the part into the schematic, by using DIST_NAME:pricing = 1:USDxx.xx ; 10:USDxxx, which also allow the alpha3 currency name). This feature use the file dist_local_tempalte.py and the function query_part_info(foo) uses the query_part_info name argument as this virtual distributor name.
This is an attempt to generate a general distributors template https://github.com/xesscorp/KiCost/issues/386: dist_local_template.py and api_partinfo_kitspace.py are in use, api_octopart.py may work but need code change at line 95 of kicost.py to call (in the road map of KiCost I would like to make the new APIs/scrap/local module addition more transparent to programmers, see line 37 of distributors/__init__.py). api_octopart.py was kept from older version to users that have big server request quantity (it was the first API written, before Kitspace).

Even more confusing: FIELDS_CAT (and DISTRIBUTORS) are created from distributor_dict. Then the code computes distributors to remove the distributors not supported by KitSpace API. But the query creation is done with the first two.
Is quite confusing.

If I remember correctly this was just a "band aid" fix, removing it was necessary to not create errors on spreadsheet creation.
@set-soft thanks by the wonderful improvements on test and code revisions, I am checking your work now. @devbisme / @xesscorp (KiCost's creator) may consider grant so maintenance privileges of the repository to @set-soft.

I have invited @set-soft to be a collaborator. Thanks for making these improvements, and thanks to @hildogjr for continuing to drive the project forward.


Is it possible use fixture methods?

Test Cafe allows set creds or/and page url for all fixture. How can I call httpAuth method?
fixture `My fixture`
    .page `http://example.com`
    .httpAuth({
        username: 'username',
        password: 'Pa$$word',

        // Optional parameters, can be required for the NTLM authentication.
        domain:      'CORP-DOMAIN',
        workstation: 'machine-win10'
    });

Hey @maximkoev!
Actually, no. But please refer to #27 on how to handle your particular use case.


Use multi-stage build to reduce image size

Issue #, if available: N/A
Description of changes: Use multi-stage build to reduce the image size. Reducing image size from 1.2GiB to 653MiB.
REPOSITORY        TAG       IMAGE ID        CREATED           PLATFORM       SIZE         BLOB SIZE
rtspdockertest    latest    d34fbf828bfb    24 hours ago      linux/arm64    1.2 GiB      494.1 MiB   // original
rtsp-slim         latest    b82b0ef5ba7b    10 minutes ago    linux/arm64    653.1 MiB    292.4 MiB   // reduced

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@disa6302 I've fixed where you commented and removed packages not required for building SDK.


Auto rebuilds

New approach to replace the didn't-work-properly live reloading system. The new approach is equivalent to how VS auto-rebuilds ASP.NET when you edit a .cs file and then begin a new HTTP request to the site.
Currently this only supports VS for Windows, and in other scenarios doesn't auto-rebuild. But the design allows for additional IRebuildService implementations such as VS for Mac (and arguably "command line", though I'm not sure that's a good idea because builds are not fast that way).

FYI Steve working on fixes for the two issues I pointed out.

Rerunning travis, looks like a transient selenium failure

Thanks for the updates @rynowak - that looks great. Now merged.


Update README.md

- What this PR does and why is it needed

- Special notes for reviewers

- How to verify it

- Description for the changelog

Can one of the admins verify this patch?

test-dpu

test-dpu

test-dpu


FocusLost not working

I've installed vitality.vim and I can see that it's working as far as the cursor bar is concerned. However the file is not saved when I switch away from my iTerm.
Am I doing something wrong?

It works!
But only after I've closed all tmux sessions (just a new session didn't do the trick) and exited iTerm2 completely.
Thanks a lot!

FYI - I issued a pull request to add some documentation about this. Please see #30


RF implementation with GPU acceleration

For now, the file Simulator.jl has a dummy function run_spin_excitation_parallel that has to be developed. It is inserted in the function run_sim2D_times_iter (to be renamed):
@showprogress for p ∈ parts
    if is_RF_on(seq, t[p])
        M0 = run_spin_excitation_parallel(obj, seq, t[p]; M0)
    else
        S[p], M0 = run_spin_precession_parallel(obj, seq, t[p]; M0)
    end
end

The function run_spin_excitation_parallel is already implemented, but can be faster.


Issue with HomeBridge.local:9000

Describe Your Problem:
when I go to homebridge.local:9000 I land on an Alexa page but then when I click the link it takes me to the App Store listing for the Alexa app.  It’s already installed so I click the open button; the app opens but without any context of what I was trying to do. I do have my Amazon account set up with google authenticator .
Logs:
It’s just the standard logs you see during initial setup.

Plugin Config:
Attached

Screenshots:

Environment:

Plugin Version: v2.1.2
Homebridge Version:  homebridge -V?
Node.js Version: node -v20.10.0

-->
NPM Version:
Operating System: Raspbian GNU/Linux Bullseye (11)

@davewehr can you try a different browser or, better yet, use a computer to visit homebridge.local:9000? Let me know if using a computer helps.

Accidentally closed - apologies

If that doesn’t work, the next option is listed here under the section called Alexa login errors or Failed to initialize connection to Alexa. Please try the step using an incognito window with JavaScript disabled.

One more thought, you have Homebridge.local with a capital H as the client host. I have seen issues where this needs to exactly match the url and capital letters can cause issues.

I did try using both my iPad and my MacBook.
I do see that you made another suggestion in a subsequent email, so I’ll try that and respond to that message with the outcome.
Thanks!

On Feb 7, 2024, at 9:14 AM, Joey Hage @.***> wrote:
@davewehr https://github.com/davewehr can you try a different browser or, better yet, use a computer to visit homebridge.local:9000? Let me know if using a computer helps.

I used Chrome Incognito mode and made sure Javascript was disabled. When I went to home bridge.local:7000 (that’s the current proxy setting on the plugin) it says
“You need to enable JavaScrib to run this app.”
￼
Also as you can see in the screenshot, I have tried using a lowercase “h” after confirming that’s what appears in my address bar when I am on the home bridge web UI.
Please advise, and thank you in advance for your help.

On Feb 7, 2024, at 9:18 AM, Joey Hage @.***> wrote:
If that doesn’t work, the next option is listed here https://github.com/joeyhage/homebridge-alexa-smarthome?tab=readme-ov-file#common-issues under the section called Alexa login errors or Failed to initialize connection to Alexa. Please try the step using an incognito window with JavaScript disabled.

FYI make sure homebridge.local is resolvable by a DNS lookup.  Otherwise use the IP in both the plugin configuration AND in your browser.

Thank you for your help, I was able to get it to authenticate using the IP addresses instead of the hostname.
Now I have a new problem, where it finds the devices and they all show up on the accessories tab, but I am not able to turn things on or off.
I confirmed that I am able to control the devices in the Alexa app.
Any ideas on where to start troubleshooting this new problem?

On Feb 11, 2024, at 12:20 PM, George Talusan @.***> wrote:
FYI make sure homebridge.local is resolvable by a DNS lookup. Otherwise use the IP in both the plugin configuration AND in your browser.
—
Reply to this email directly, view it on GitHub https://github.com/joeyhage/homebridge-alexa-smarthome/issues/105#issuecomment-1937814534, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5VAKWKLHGZFIDLUYO2YFLYTD4XVAVCNFSM6AAAAABCJ5B2CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZXHAYTINJTGQ.
You are receiving this because you were mentioned.

Everything worked fine, but after a restart the cookie renew doesnt work anymore. I get the error Proxy-Error: Error: getaddrinfo ENOTFOUND www.amazon.com

I’m not sure how to interpret that as a next step for resolving my problem. Please advise.

On Feb 14, 2024, at 1:59 PM, tradeverik @.***> wrote:
Everything worked fine, but after a restart the cookie renew doesnt work anymore. I get the error Proxy-Error: Error: getaddrinfo ENOTFOUND www.amazon.com http://www.amazon.com/
—
Reply to this email directly, view it on GitHub https://github.com/joeyhage/homebridge-alexa-smarthome/issues/105#issuecomment-1944419109, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5VAKSCQNW2LX7BLDKK36DYTUCR7AVCNFSM6AAAAABCJ5B2CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBUGQYTSMJQHE.
You are receiving this because you were mentioned.

I’m not sure how to interpret that as a next step for resolving my problem. Please advise.
…
On Feb 14, 2024, at 1:59 PM, tradeverik @.***> wrote: Everything worked fine, but after a restart the cookie renew doesnt work anymore. I get the error Proxy-Error: Error: getaddrinfo ENOTFOUND www.amazon.com http://www.amazon.com/ — Reply to this email directly, view it on GitHub <#105 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5VAKSCQNW2LX7BLDKK36DYTUCR7AVCNFSM6AAAAABCJ5B2CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBUGQYTSMJQHE. You are receiving this because you were mentioned.

@davewehr could you please enable debug logging for the plugin in the plugin settings and restart homebridge? You should see more information and hopefully some error messages. That will help me pinpoint the issue.

I got it to work, thank you for your help!

On Feb 15, 2024, at 1:20 PM, Joey Hage @.***> wrote:
I’m not sure how to interpret that as a next step for resolving my problem. Please advise.
… x-msg://4/#
On Feb 14, 2024, at 1:59 PM, tradeverik @.***> wrote: Everything worked fine, but after a restart the cookie renew doesnt work anymore. I get the error Proxy-Error: Error: getaddrinfo ENOTFOUND www.amazon.com http://www.amazon.com/ http://www.amazon.com/ — Reply to this email directly, view it on GitHub <#105 (comment) https://github.com/joeyhage/homebridge-alexa-smarthome/issues/105#issuecomment-1944419109>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5VAKSCQNW2LX7BLDKK36DYTUCR7AVCNFSM6AAAAABCJ5B2CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBUGQYTSMJQHE. You are receiving this because you were mentioned.
@davewehr https://github.com/davewehr could you please enable debug logging for the plugin in the plugin settings and restart homebridge? You should see more information and hopefully some error messages. That will help me pinpoint the issue.
—
Reply to this email directly, view it on GitHub https://github.com/joeyhage/homebridge-alexa-smarthome/issues/105#issuecomment-1946850741, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5VAKWFKMI3O3VZAFXW6OLYTZGVTAVCNFSM6AAAAABCJ5B2CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBWHA2TANZUGE.
You are receiving this because you were mentioned.

I’m not sure if this is a plugin issue, but I have a set of 4 lamps that keep changing their brightness to 3%.
I can update the brightness in the Alexa app, and it’ll revert.
I can update the brightness in Google Home app, and it’ll revert.
I can update the brightness in Apple Home, and it’ll revert.
If I disable the plugin and adjust the brightness, it will NOT revert.
Any ideas?

On Feb 15, 2024, at 2:35 PM, Dave Wehr @.***> wrote:
I got it to work, thank you for your help!

On Feb 15, 2024, at 1:20 PM, Joey Hage @.***> wrote:
I’m not sure how to interpret that as a next step for resolving my problem. Please advise.
… x-msg://4/#
On Feb 14, 2024, at 1:59 PM, tradeverik @.***> wrote: Everything worked fine, but after a restart the cookie renew doesnt work anymore. I get the error Proxy-Error: Error: getaddrinfo ENOTFOUND www.amazon.com http://www.amazon.com/ http://www.amazon.com/ — Reply to this email directly, view it on GitHub <#105 (comment) https://github.com/joeyhage/homebridge-alexa-smarthome/issues/105#issuecomment-1944419109>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5VAKSCQNW2LX7BLDKK36DYTUCR7AVCNFSM6AAAAABCJ5B2CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBUGQYTSMJQHE. You are receiving this because you were mentioned.
@davewehr https://github.com/davewehr could you please enable debug logging for the plugin in the plugin settings and restart homebridge? You should see more information and hopefully some error messages. That will help me pinpoint the issue.
—
Reply to this email directly, view it on GitHub https://github.com/joeyhage/homebridge-alexa-smarthome/issues/105#issuecomment-1946850741, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO5VAKWFKMI3O3VZAFXW6OLYTZGVTAVCNFSM6AAAAABCJ5B2CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBWHA2TANZUGE.
You are receiving this because you were mentioned.

This should be resolved as of v2.2.0


After ~100 scans, this error was generate without apparent interference from anybody.
|       195 | 18:14:29.6 |  -6.946775 |              -6.946775 |  -6.551830 |              -6.551835 |<PHONE_NUMBER> |<PHONE_NUMBER> |
|       196 | 18:14:32.0 |  -6.946570 |              -6.946575 |  -6.551635 |              -6.551635 |<PHONE_NUMBER> |<PHONE_NUMBER> |
|       197 | 18:14:34.0 |  -6.946375 |              -6.946375 |  -6.551435 |              -6.551435 |<PHONE_NUMBER> |<PHONE_NUMBER> |
|       198 | 18:14:36.2 |  -6.946175 |              -6.946175 |  -6.551230 |              -6.551235 |<PHONE_NUMBER> |<PHONE_NUMBER> |
|       199 | 18:14:38.1 |  -6.945980 |              -6.945975 |  -6.551025 |              -6.551035 |<PHONE_NUMBER> |<PHONE_NUMBER> |
+-----------+------------+------------+------------------------+------------+------------------------+-------------------+-------------------+
|   seq_num |       time |   nanop_bx | nanop_bx_user_setpoint |   nanop_tx | nanop_tx_user_setpoint | fccd_stats1_total | fccd_stats5_total |
+-----------+------------+------------+------------------------+------------+------------------------+-------------------+-------------------+
|       200 | 18:14:40.5 |  -6.945750 |              -6.945775 |  -6.550840 |              -6.550835 |<PHONE_NUMBER> |<PHONE_NUMBER> |
|       201 | 18:14:43.3 |  -6.945555 |              -6.945575 |  -6.550645 |              -6.550635 |<PHONE_NUMBER> |<PHONE_NUMBER> |
+-----------+------------+------------+------------------------+------------+------------------------+-------------------+-------------------+
generator d2scan ['9c9350'] (scan num: 76741)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/epics/ca.py in put(chid, value, wait, timeout, callback, callback_data)
   1353             try:
-> 1354                 data[0] = value
   1355             except TypeError:

TypeError: an integer is required (got type bytes)

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
/home/xf23id1/Beamline/ScienceComm/2017_03_ZP/20170320_night.py in <module>()
     28     olog('Scan {}: optics position = [{:.5f}, {:.5f}] (ZP, OSA)'.format(
     29          (db[-1].get('start').get('scan_id')+1), nanop.ty.user_readback.value, nanop.by.user_readback.value))
---> 30     RE(d2scan(nanop.bx,-0.02,0.02,nanop.tx,-0.02,0.02,200))
     31     nap(1)
     32     movr([nanop.by,nanop.ty],[-0.001,-0.001])

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    596                     # it (unless it is a canceled error)
    597                     if exc is not None:
--> 598                         raise exc
    599
    600             if raise_if_interrupted and self._interrupted:

/opt/conda_envs/collection-17Q1.0/lib/python3.5/asyncio/tasks.py in _step(***failed resolving arguments***)
    237                 # We use the `send` method directly, because coroutines
    238                 # don't have `__iter__` and `__next__` methods.
--> 239                 result = coro.send(None)
    240             else:
    241                 result = coro.throw(exc)

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
   1002             self.log.error("Run aborted")
   1003             self.log.error("%r", err)
-> 1004             raise err
   1005         finally:
   1006             # Some done_callbacks may still be alive in other threads.

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    900                         resp = self._response_stack.pop()
    901                         try:
--> 902                             msg = self._plan_stack[-1].send(resp)
    903                         # We have exhausted the top generator
    904                         except StopIteration:

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/spec_api.py in d2scan(time, md, *args)
    451         relative_inner_product_scan)
    452
--> 453     return (yield from inner(gs.DETS, num, *(args[:-1]), md=md))
    454
    455 gs.SUB_FACTORIES['d2scan'] = [setup_livetable,

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in subs_wrapper(plan, subs)
    928
    929     return (yield from finalize_wrapper(_inner_plan(),
--> 930                                         _unsubscribe()))
    931
    932

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in finalize_wrapper(plan, final_plan, pause_for_debug)
   1023     cleanup = True
   1024     try:
-> 1025         ret = yield from plan
   1026     except GeneratorExit:
   1027         cleanup = False

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in _inner_plan()
    925     def _inner_plan():
    926         yield from _subscribe()
--> 927         return (yield from plan)
    928
    929     return (yield from finalize_wrapper(_inner_plan(),

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in configure_count_time_wrapper(plan, time)
   1664     if time is None:
   1665         # no-op
-> 1666         return (yield from plan)
   1667     else:
   1668         return (yield from finalize_wrapper(plan_mutator(plan, insert_set),

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in fly_during_wrapper(plan, flyers)
   1381     plan1 = plan_mutator(plan, insert_after_open)
   1382     plan2 = plan_mutator(plan1, insert_before_close)
-> 1383     return (yield from plan2)
   1384
   1385

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    188                     continue
    189                 else:
--> 190                     raise ex
    191         # if inserting / mutating, put new generator on the stack
    192         # and replace the current msg with the first element from the

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    141             ret = result_stack.pop()
    142             try:
--> 143                 msg = plan_stack[-1].send(ret)
    144             except StopIteration as e:
    145                 # discard the exhausted generator

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    188                     continue
    189                 else:
--> 190                     raise ex
    191         # if inserting / mutating, put new generator on the stack
    192         # and replace the current msg with the first element from the

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    141             ret = result_stack.pop()
    142             try:
--> 143                 msg = plan_stack[-1].send(ret)
    144             except StopIteration as e:
    145                 # discard the exhausted generator

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in monitor_during_wrapper(plan, signals)
   1323     plan1 = plan_mutator(plan, insert_after_open)
   1324     plan2 = plan_mutator(plan1, insert_before_close)
-> 1325     return (yield from plan2)
   1326
   1327

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    188                     continue
    189                 else:
--> 190                     raise ex
    191         # if inserting / mutating, put new generator on the stack
    192         # and replace the current msg with the first element from the

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    141             ret = result_stack.pop()
    142             try:
--> 143                 msg = plan_stack[-1].send(ret)
    144             except StopIteration as e:
    145                 # discard the exhausted generator

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    188                     continue
    189                 else:
--> 190                     raise ex
    191         # if inserting / mutating, put new generator on the stack
    192         # and replace the current msg with the first element from the

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    141             ret = result_stack.pop()
    142             try:
--> 143                 msg = plan_stack[-1].send(ret)
    144             except StopIteration as e:
    145                 # discard the exhausted generator

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in baseline_wrapper(plan, devices, name)
   1713         return (yield from plan)
   1714     else:
-> 1715         return (yield from plan_mutator(plan, insert_baseline))
   1716
   1717

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    188                     continue
    189                 else:
--> 190                     raise ex
    191         # if inserting / mutating, put new generator on the stack
    192         # and replace the current msg with the first element from the

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    141             ret = result_stack.pop()
    142             try:
--> 143                 msg = plan_stack[-1].send(ret)
    144             except StopIteration as e:
    145                 # discard the exhausted generator

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/spec_api.py in inner_spec_plan(md, *args, **kwargs)
    243                    gs.MD_TIME_KEY: time}
    244             _md.update(md or {})
--> 245             return (yield from func(*args, md=_md, **kwargs))
    246         return inner_spec_plan
    247     return outer

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in relative_inner_product_scan(detectors, num, per_step, md, *args)
   2689                                               per_step=per_step, md=_md))
   2690
-> 2691     return (yield from inner_relative_inner_product_scan())
   2692
   2693

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in reset_positions_wrapper(plan, devices)
   1616
   1617     return (yield from finalize_wrapper(plan_mutator(plan, insert_reads),
-> 1618                                         reset()))
   1619
   1620

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in finalize_wrapper(plan, final_plan, pause_for_debug)
   1023     cleanup = True
   1024     try:
-> 1025         ret = yield from plan
   1026     except GeneratorExit:
   1027         cleanup = False

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    125             # if we have a stashed exception, pass it along
    126             try:
--> 127                 msg = plan_stack[-1].throw(exception)
    128             except Exception as e:
    129                 # if we catch an exception,

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in relative_set_wrapper(plan, devices)
   1566     plan = plan_mutator(plan, insert_reads)
   1567     plan = msg_mutator(plan, rewrite_pos)
-> 1568     return (yield from plan)
   1569
   1570

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in msg_mutator(plan, msg_proc)
    263                 ret = None
    264                 continue
--> 265             ret = yield msg
    266         except StopIteration as e:
    267             return e.value

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    213         try:
    214             # yield out the 'current message' and collect the return
--> 215             inner_ret = yield msg
    216         except GeneratorExit:
    217             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    213         try:
    214             # yield out the 'current message' and collect the return
--> 215             inner_ret = yield msg
    216         except GeneratorExit:
    217             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    213         try:
    214             # yield out the 'current message' and collect the return
--> 215             inner_ret = yield msg
    216         except GeneratorExit:
    217             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    213         try:
    214             # yield out the 'current message' and collect the return
--> 215             inner_ret = yield msg
    216         except GeneratorExit:
    217             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    213         try:
    214             # yield out the 'current message' and collect the return
--> 215             inner_ret = yield msg
    216         except GeneratorExit:
    217             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    213         try:
    214             # yield out the 'current message' and collect the return
--> 215             inner_ret = yield msg
    216         except GeneratorExit:
    217             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    951                         # exceptions (coming in via throw) can be
    952                         # raised
--> 953                         response = yield from coro(msg)
    954                     # special case `CancelledError` and let the outer
    955                     # exception block deal with it.

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/run_engine.py in _unstage(self, msg)
   1874         if not hasattr(obj, 'unstage'):
   1875             return []
-> 1876         result = obj.unstage()
   1877         # use `discard()` to ignore objects that are not in the staged set.
   1878         self._staged.discard(obj)

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/ophyd/device.py in unstage(self)
    510             logger.debug("Setting %s back to its original value: %r)", self.name,
    511                          val)
--> 512             set_and_wait(sig, val)
    513             self._original_vals.pop(sig)
    514         devices_unstaged.append(self)

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/ophyd/utils/epics_pvs.py in set_and_wait(signal, val, poll_time, timeout, rtol, atol)
    390         rtol = signal.rtolerance
    391
--> 392     signal.put(val)
    393     expiration_time = ttime.time() + timeout if timeout is not None else None
    394     current_value = signal.get()

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/ophyd/signal.py in put(self, value, force, connection_timeout, use_complete, **kwargs)
    873                 use_complete = self._put_complete
    874
--> 875             self._write_pv.put(value, use_complete=use_complete, **kwargs)
    876
    877         old_value = self._setpoint

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/epics/pv.py in put(self, value, wait, timeout, use_complete, callback, callback_data)
    342                       wait=wait, timeout=timeout,
    343                       callback=callback,
--> 344                       callback_data=callback_data)
    345
    346     def __putCallbackStub(self, pvname=None, **kws):

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/epics/ca.py in wrapper(*args, **kwds)
    417                                                         name(chid), timeout))
    418
--> 419         return fcn(*args, **kwds)
    420     wrapper.__doc__ = fcn.__doc__
    421     wrapper.__name__ = fcn.__name__

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/epics/ca.py in put(chid, value, wait, timeout, callback, callback_data)
   1354                 data[0] = value
   1355             except TypeError:
-> 1356                 data[0] = type(data[0])(value)
   1357             except:
   1358                 errmsg = "cannot put value '%s' to PV of type '%s'"

ValueError: invalid literal for int() with base 10: b'None'

BS is currently unable to perform any basic counting, RE(ct()) giving the same error.
Any idea of what this means? Please let me know.

I suspect a PV failed to read on stage and is now failing to re-set it.  Not obvious to me how you ended up with  b'None' though.
Use %debug to sort out which PV is broken, make sure it is fixed at the epics layer.
There may be some stale-state,  might have to restart.

Hi Tom,
thanks a lot.
Not hoping for a reply so late, I decided to restart BSUI and it fixed everything (but no debugging..).
After a while it complained that a detector (the fCCD, I imagine) was not staged properly
...
    955                     # exception block deal with it.

/opt/conda_envs/collection-17Q1.0/lib/python3.5/site-packages/bluesky/run_engine.py in _stage(self, msg)
   1857         if not hasattr(obj, 'stage'):
   1858             return []
-> 1859         result = obj.stage()
   1860         self._staged.add(obj)  # add first in case of failure below
   1861         yield from self._reset_checkpoint_state_coro()

/home/xf23id1/Beamline/ScienceComm/2017_03_ZP/20170321_dinner.py in stage(self)
    204             raise RuntimeError("Detector trigger mode must be Internal before scan is begun.")
    205         if self.cam.acquire.get() != 1:
--> 206             raise RuntimeError("Detector must in be acquire mode before scan is begun.")
    207         super().stage()
    208

RuntimeError: Detector must in be acquire mode before scan is begun.

I restarted another time and for the moment everything works.
Thank you again.

I think you are having communication issues with your IOCs again (that check in L205 is verifying that the camera is in the right state.   Either the write is not taking (and acquire mode is still 0) or the read is failing (and the get() is returning None).
Do you have a custom class in 20170321_dinner.py?  I would not have expected a stage method to report being defined there...

@tacaswell there is nothing to suggest that the IOC is not behaving as it should modulo the usual network problems, IOC load etc. As EPICS never actually guarantees a read succeeds why is BS balking in such a strange way when a read fails? Seems that it could be a little more fault tolerant?

@stuwilkins I don't necessarily see this as a bad failure. The staging process on your custom device class is trying to validate that the detector is ready to go, and it can't confirm that it is. You could add a more verbose error message ("... Either it's in the wrong state or its responses are not being received.") but I think you want to keep that error. I added that in the BL config, not in the ophyd or bluesky layer, so you can remove it if you don't think it is helpful.

Warning and second try instead, before compromizing the work of a whole
night?
Could this be considered an option??
Please let me know.
Claudio
On Mar 22, 2017 2:17 PM, "Dan Allan"<EMAIL_ADDRESS>wrote:

@stuwilkins https://github.com/stuwilkins I don't necessarily see this
as a bad failure. The staging process on your custom device class is trying
to validate that the detector is ready to go, and it can't confirm that it
is. You could add a more verbose error message ("... Either it's in the
wrong state or its responses are not being received.") but I think you want
to keep that error. I added that in the BL config, not in the ophyd or
bluesky layer, so you can remove it if you don't think it is helpful.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NSLS-II/Bug-Reports/issues/168#issuecomment-288491904,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKjlFsohy6lDmaUG95-NqYC5Tl5wAD3Tks5roWXKgaJpZM4Mkp08
.

That retry logic should live in the beamline code. See https://nsls-ii.github.io/bluesky/plans.html#how-plans-handle-exceptions


Roll Flutter Engine from fb5fed432e59 to eb372dbfa0de (16 revisions)

https://github.com/flutter/engine/compare/fb5fed432e59...eb372dbfa0de
2023-06-16<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from E5G7PwYbRA-u-ZJ9F... to -NW1eatBbmjvLaIcV... (flutter/engine#42915)
2023-06-16<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from FJPPnZP9EcGLQ0OZa... to fXVcR5tdj5wSd_OUz... (flutter/engine#42912)
2023-06-16<EMAIL_ADDRESS>Roll Skia from c29ecbe7fba7 to 9ab04a53b7be (1 revision) (flutter/engine#42910)
2023-06-16<EMAIL_ADDRESS>Roll Skia from 504a26e85fc6 to c29ecbe7fba7 (1 revision) (flutter/engine#42909)
2023-06-16<EMAIL_ADDRESS>Roll Skia from f0410a265d2b to 504a26e85fc6 (1 revision) (flutter/engine#42907)
2023-06-16<EMAIL_ADDRESS>Set xcode explicitly on mac builds with release_build. (flutter/engine#42898)
2023-06-16<EMAIL_ADDRESS>Fix prefer_final_in_for_each (flutter/engine#42899)
2023-06-16<EMAIL_ADDRESS>Roll Skia from abfa3505db23 to f0410a265d2b (1 revision) (flutter/engine#42904)
2023-06-16<EMAIL_ADDRESS>Remove release_build from clang_tidy build. (flutter/engine#42900)
2023-06-16<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from 53EjCyuRu91oFTBf2... to E5G7PwYbRA-u-ZJ9F... (flutter/engine#42897)
2023-06-15<EMAIL_ADDRESS>Revert "Roll Clang from 6d667d4b261e to 7f374b6902fa" (flutter/engine#42896)
2023-06-15<EMAIL_ADDRESS>Roll Skia from 2ab2678058a3 to abfa3505db23 (1 revision) (flutter/engine#42894)
2023-06-15<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from P7QA6bfO_Ij5dre7B... to FJPPnZP9EcGLQ0OZa... (flutter/engine#42892)
2023-06-15<EMAIL_ADDRESS>Roll Skia from 794b6f9240a8 to 2ab2678058a3 (6 revisions) (flutter/engine#42889)
2023-06-15<EMAIL_ADDRESS>Add deprecations to PlatformMessage stuff (flutter/engine#42580)
2023-06-15<EMAIL_ADDRESS>[Impeller] Joined obligatory vulkan swapchain submits (flutter/engine#42865)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from 53EjCyuRu91o to -NW1eatBbmjv
fuchsia/sdk/core/mac-amd64 from P7QA6bfO_Ij5 to fXVcR5tdj5wS
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC chinmaygarde@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Add domain option

It was supposed to be an implementation detail of Carlo, why do you want it there?

You mean, why I made the changes there or for which use case?

Is there a reason why this can't be merged?
Would be nice to prompt a user without "domain says"