Auto triggering tests bases on planning

ability to trigger multiple jobs base on the version specified in their planning.
for example if I have multiple jobs marked as planned for RC1, we should have a place to trigger all of those jobs with scylla_version as example: 2024.1.rc1

Per our discussion here's what we can implement for this:

A new type called "Release Plan"
The release plan will contain a set of tests and conditions for this release plan, such as:

Job that must be run
Which version should they be run with

The new release plan page should show the plan coverage and allow user to trigger all jobs within said plan with the specified version
All our current views (release & custom views) should support selecting a set of jobs and creating a release plan out of them
The release plan is distinct from assignee plan as of now (However that part should also be looked at at some point, as it is somewhat brittle. We could potentially rework assignee plans into release plans)
The release plan lifetime can be set to a specified date or can be indefinite

Per our discussion here's what we can implement for this:

A new type called "Release Plan"
The release plan will contain a set of tests and conditions for this release plan, such as:

Job that must be run
Which version should they be run with

The new release plan page should show the plan coverage and allow user to trigger all jobs within said plan with the specified version
All our current views (release & custom views) should support selecting a set of jobs and creating a release plan out of them
The release plan is distinct from assignee plan as of now (However that part should also be looked at at some point, as it is somewhat brittle. We could potentially rework assignee plans into release plans)
The release plan lifetime can be set to a specified date or can be indefinite

Not sure about binding a plan to a release
It would limit us if we start talking about plan that spans multiple release folders
Example, master duty that that would span on enterprise and OSS.
But then on the other han, copy a plan in that sense is somewhat irrelevant.
Maybe consider the ties to release optional

Maybe consider the ties to release optional

Hmm, indeed, that's a good point. My current idea only lists jobs, so untying those plans from a release is easy - we can basically do them the same as we do views, and for backlinks, e.g. viewing all plans that contain a specific release (master for example) we can store affected releases on a plan.

one more example of planning happening on master, regardless of a release, was tablets and raft topology.
for every major feature we might have some plans we want to execute before a release.
and we might have plan for staging as well, thing of a very complex SCT PR, we need to run all of artifacts tests at the same time ? (like I need few days ago)
one more idea to think about when designing plans, is plan that clones jobs. (not a first priority)

I have a set of test (by names / locations on master)
I want to clone them from master all into a folder in staging (or generate them from SCT code)
execute all of them with similar parameters

as reference code I'm using for such things (it's just triggering, not the cloning):
    for case, scylla_repo in [
        #('artifacts-ubuntu2204-test', latest_list),
        #('artifacts-ubuntu2004-arm-test', latest_list),
        #('artifacts-centos8-test', latest_repo),
        #('artifacts-rocky9-test', latest_repo),
        ('artifacts-debian10-arm-test', latest_list),
        #('artifacts-amazon2-arm-test', latest_repo),
        #('artifacts-amazon2-test', latest_repo),
        #('artifacts-ubuntu2004-fips-test', latest_list),
        #('artifacts-ubuntu2004-arm-test', latest_list),
        #('artifacts-ubuntu2404-test', latest_list),
        #('artifacts-ubuntu2404-arm-test', latest_list),
        #('artifacts-amazon2023-arm-test', latest_repo),
        #('artifacts-amazon2023-test', latest_repo),
        #('artifacts-amazon2023-offline_install-nonroot-test', ''),
        #('artifacts-amazon2023-offline_install-test', latest_repo),
        #('artifacts-centos9-arm-test', latest_repo),
        #('artifacts-centos9-selinux-test', latest_repo),
        #('artifacts-centos9-test', latest_repo),
        #('artifacts-centos9-web-test', latest_repo),
        ('artifacts-ubuntu2204-test' ,latest_list)
    ]:
        job_name = f'{folder}/{case}'
        job = JenkinsJobTrigger(job_name)
        job.update_scm(**repo_details)
        job.trigger_last({
            "gce_project": "gcp-sct-project-1",
            "scylla_version": '',
            "scylla_repo": scylla_repo,
            "email_recipients"<EMAIL_ADDRESS>            "nonroot_offline_install": "false",
            "unified_package": '',
            #"unified_package": 'https://downloads.scylladb.com/unstable/scylla/master/relocatable/2024-06-08T18:51:41Z/scylla-unified-6.1.0~dev-0.20240608.f4706be8a8c4.x86_64.tar.gz',
        })

Hmm, some sort of smart cloner would be nice in such case, so that you could specify config_files param that would append new files to each job instead of having to edit them manually / apply same to all of them

Hmm, some sort of smart cloner would be nice in such case, so that you could specify config_files param that would append new files to each job instead of having to edit them manually / apply same to all of them

That idea can be extended in lots of ways.
But we should start with the basis of it

@k0machi
what up with the triggering API, what is blocking that ?


Provisioning stuck at last screen

Hi,
The provisoning screen keep spinning after giving the wifi password. However, it's already successfull at the ESP32 side.
Here's my esp32 code and I use Security1, I use https://github.com/espressif/esp-idf/blob/v4.4.6/examples/provisioning/wifi_prov_mgr/main/app_main.c
I use android phone. Haven't tested on iOS yet.
THanks;

I'll take a look into this and let you know. It's true, things are a bit hectic with the end of the year coming up, so working on the package might be tricky in the near future. But rest assured, I'll prioritize it as soon as I can and get that fix out to you.
I'm very happy to hear that you are using an ESP32 and IDF, now your project is much more professional !!! :)

@garudaonekh
I apologize for the delay in resolving your issue. Unfortunately, I've been facing some health challenges lately.  I assure you I'll prioritize fixing your problem as soon as I'm able.
Do you have anything else to report?

Hi @garudaonekh !!
I believe I've found the issue!
To fully understand the problem, access the ESP32 configuration:
Execute the following command in your preferred terminal: idf.py menuconfig
Navigate to "Example Configuration."
You'll find the option "Max retries before resetting provisioning state machine." It was set to 5 in my case, but you can modify it.
This setting controls the number of attempts the ESP32 makes to connect to the Wi-Fi network after a failed, in my case, occurs an authentication failed in the esp32 side
I (30660) app: Disconnected. Connecting to the AP again... E (30670) wifi_prov_mgr: STA Disconnected E (30670) wifi_prov_mgr: Disconnect reason : 202 E (30670) wifi_prov_mgr: STA Auth Error E (30680) app: Provisioning failed! 	Reason : Wi-Fi station authentication failed 	Please reset to factory and retry provisioning I (34050) app: Disconnected. Connecting to the AP again... E (34060) wifi_prov_mgr: STA Disconnected E (34060) wifi_prov_mgr: Disconnect reason : 205 E (34060) wifi:sta is connecting, return error
Even though I sent the correct wifi settings, this error occurred on the esp32 side, so as I defined it in menuconfig, it will try to reconnect to the Wifi 5 times, but before that my code received a Status from the esp32 and that was a  WifiConnectionState. ConnectionFailed and that's why it goes to BleWifiConnectionFailedEvent and that calls disposeGettingStatusTimer, which cancels the timer to continue checking if it received a Status, so even if the esp32 tries to reconnect to Wi-Fi and is successful, the application will not receive this because currently it will only receive the first status event, this occurs with all events, "Connected", "Disconnected" and "Failed" event

Call the function to  dispose the Timer :

I'll fix this and get back to you.

@garudaonekh
I believe I've resolved the issue!
commit :   https://github.com/ogabrielinacio/esp_provisioning_ble/commit/f48727a8d7d9fbf524b4a4faa5ade1b6407960f2

This issue has been opened without response more than 6 months, I am going to close it. @garudaonekh, @ogabrielinacio think he resolves this issue with https://github.com/ogabrielinacio/esp_provisioning_ble/commit/f48727a8d7d9fbf524b4a4faa5ade1b6407960f2. If you still have the same issue, don't hesitate in opening this issue again.


stream menu demo guide

Let's wait for all missing links and examples to be completed before merging this to dev. This seems pretty complete as I just setup my home PC with the procedure without any problems.


[229] Fix pluralisation of profile headings

Changes in this PR:
Also fixed some inconsistent capitalisation and pluralisation.
Screenshots of UI changes:
Before

After

 Correct pluralisation on candidate profiles

Looks good, thanks @elliotcm 👍


tableCell missing from types

Expected behavior
index.d.ts should export tableCell function
Actual behavior
tableCell function is missing
Steps to reproduce

open types/taiko/index.d.ts
search for tableCell

Versions
node v12.16.1
taiko v1.0.16

Thanks for reporting, will add them soon

Thank you Nivedha for your prompt response!

Dear taiko team,
I had the opportunity to take a closer look at the topic.
I compared the functions declared in index.d.ts with the ones in taiko.metadata and I discovered that:

the following functions are exported by taiko.js, but they are missing from index.d.ts:

clearHighlights
color
getConfig
range
tableCell
timeField

A couple of functions are declared in index.d.ts, but are not exported from taiko.js:

intervalSecs
timeoutSecs

Additionally I tried to lint index.d.ts and got some warnings.
Now what... if you wish I can try to fix this, but it is somewhat invasive so I would like your ok before proceeding.
I am also trying to understand if it would be possible to introduce some testing or linting to avoid similar issues in the future (I am looking at dtslint and see if it can help).
What do you think?
Thanks
Filippo

This is so great to see the effort you have put to gather these details, we would be very much happy to review a PR.

Ok 😀
I will start with a small PR to try the process and proceed incrementally.
Thank you,

This issue was resolved with PR #1454


gopackagesdriver: incorrect assumptions around canonical labels

What version of rules_go are you using?
http_archive(
    name = "io_bazel_rules_go",
    sha256 = "6734a719993b1ba4ebe9806e853864395a8d3968ad27f9dd759c196b3eb3abe8",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.45.1/rules_go-v0.45.1.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.45.1/rules_go-v0.45.1.zip",
    ],
)

What version of Bazel are you using?
Build label: 6.4.0
Build target: bazel-out/darwin_arm64-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Oct 19 17:08:20 2023<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>

Does this issue reproduce with the latest releases of all the above?
Yes.
What operating system and processor architecture are you using?
MacCOS Arm64.
What did you do?
gopls does not work following the editor instructions here: https://github.com/bazelbuild/rules_go/wiki/Editor-and-tool-integration
It does work, however, if I comment out these lines in gopackagesdriver:
https://github.com/bazelbuild/rules_go/blob/f0e46ec3e1edf929ded5fa8fbf9e016fd08e57c8/go/tools/gopackagesdriver/packageregistry.go#L105-L109
Even with bazel 6.4.0, the aspect is still generating package IDs that are not in the new canonical form, e.g.:
$ cat bazel-bin/crypto/aesxcbc/aesxcbc.pkg.json  | jq '.'
{
  "ID": "//crypto/aesxcbc:aesxcbc",
  ...
}

Only once I switch the repo to using bzlmod do I see IDs generated in canonical form:
$ cat bazel-bin/crypto/aesxcbc/aesxcbc.pkg.json | jq '.'
{
  "ID": "@@//crypto/aesxcbc:aesxcbc",
  ...
}

TL;DR
I believe the assumption on when to expect canonical paths is wrong. IIUC, we currently expect them after bazel 6.0.0 however they do not appear to be used unless the repo is also migrated to bzlmod.

I'm running into the same issue, I'm also commenting out now! Using bazel 7.1.1.


Should Uni.onItemOrFailure propagate composite exceptions?

I checked UniOnItemOrFailure and all cases where CompositeException is being used make sense.


Added created/updated dates to product list grid

1. Why is this change necessary?
Related to this issue #2662 it could be helpful to see the created and updated date in product grid.
2. What does this change do, exactly?
Show optional createdAt and updatedAt columns in product list grid view.

3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Can you give me a status? @Haberkamp Or a hacktoberfest-accepted label :D

Done  @Haberkamp

Sorry, my explanation was unclear then. I meant removing the twig blocks itself. When creating new markup we don't add new twig blocks. For more information you can read this blog post here.

Oh ok, i missed that blog post..

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-23764
Please use this issue to track the state of your pull request.

Hey @PheysX thanks again for your contribution, your PR got merged! :tada: :blue_heart:


🍒 Cherry pick PR #4934 to staging 🍒

🍒 Cherry pick https://github.com/Expensify/App/pull/4934 to staging 🍒

🚀 Cherry-picked to staging by @roryabraham in version: 1.0.88-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by @roryabraham in version: 1.0.90-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


fix: Local storage service write permission

Fixes the Local storage service write permission implementation.
The Local Storage files don't require restricted permission (0o600) as the local storage writes publicly readable metadata files.
Only Private keys require security restriction permission.
Closes #183
Signed-off-by: Kairo de Araujo<EMAIL_ADDRESS>

@lukpueh review is welcomed 😃

Codecov Report
Base: 99.04% // Head: 99.42% // Increases project coverage by +0.37% :tada:

Coverage data is based on head (1308aed) compared to base (3dd3f36).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #184      +/-   ##
==========================================
+ Coverage   99.04%   99.42%   +0.37%
==========================================
  Files          12       12
  Lines         523      519       -4
==========================================
- Hits          518      516       -2
+ Misses          5        3       -2

Impacted Files
Coverage Δ

repository_service_tuf_worker/interfaces.py
100.00% <100.00%> (ø)

...itory_service_tuf_worker/services/storage/local.py
100.00% <100.00%> (+4.00%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Okay, merging.


Add last 3 actual calls for toBeCalledWith message

This PR continues from #918 and fixes #954 by adding the last 3 (or less) actual values that were called to the error message when using toBeCalledWith
Details:

If there are less or exactly 3 calls, it just shows the 3 calls comma separated
If there's exactly 4 calls, it appends and 1 other call to the message
If there's more than 4 calls, it appends and X other calls to the message (when X is the amount > 3)
The calls are sliced from the end of the calls array and the messages are reversed so they appear in "correct" order.

Tests included (plus 2 typo fixes in the same test file :neckbeard:)
Ping @cpojer

This is fantastic! I'll land it tomorrow :)
Should we also do this or something similar for lastCalledWith (and potentially factor the code out into a reusable piece)?

I was thinking about the lastCalledWith case, I think that the current implementation (of showing the last call only) is correct but I think that the message should be something like Wasn't called last with the expected values.\n instead of just Wasn't called with the expected values.\n for extra clarity (ditto for the [not called-message few lines below] (https://github.com/facebook/jest/blob/0c9d2b6e4af05f9d1b5addbf1b5a9e8703c77c7c/packages/jest-jasmine2/src/index.js#L176)).
Then again showing the last X calls could have some extra merit for debugging purposes for lastCalledWith too.

@facebook-github-bot import

Thanks for importing. If you are an FB employee go to Phabricator to review.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


10.0.19045.4291 need support

no

@a4081675 Can you upload termsrv.dll?

@a4081675您可以上传termsrv.dll吗？

termsrv.zip

Duplicate of #1004

RDPConf shows "ver. N/A"

Not a serviceable issue, contact chat in Telegram instead.


Optimize tile loading by clearing the queue on a re-draw

This is my first try to optimize the tile loading of OSD. Currently if you quickly scroll over a big document, all tiles are getting queued and the queue starts one job after another. If a imageLoaderLimit is set, it will start a maximum of X requests.
With this approach, all jobs that aren't started yet are getting out of the queue and re-queued by the viewer if they are still needed. I extended the imageLoader to call .abort() on all jobs before the queue gets cleared.
We tested this behaviour now for a day and could really notice a big difference. We tested it with 20Mbit, 1Mbit (it wasn't possible to read here without waiting 5 minutes) and 7Mbit connection and on all of them it was much better.
It will only work if the imageLoaderLimit is set, otherwise it will be ignored because the job starts immediatly. We have set it to 10 to test it.
What do you think about this approach?

Looks great! Seems ready to land...would you agree, @philipgiuliani, or was there more you wanted to do with it?

Hi, cool that you like it! Yes you can merge it of course, its ready!

:+1:

Thanks! If you have some ideas how i could optimize it even more, just tell me and i will try it out :)

Will do :)


Added error handling example KNTK-158

Please add ticket number to commit and MR description, not title

Please squash the commits.


Fix README syntax for install append

The line continuation needs to follow the opening quote.

@travisariggs thanks Travis


asobichannel.asobistore.jp

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and am willing to share it if required

Region
No response
Example URLs

Single video https://asobichannel.asobistore.jp/watch/uomnsvy2s
Channel https://asobichannel.asobistore.jp/channel/denonbu
Tab https://asobichannel.asobistore.jp/channel/denonbu?tab=video
Playlist/tag https://asobichannel.asobistore.jp/tag/k-qdvnjbd

Provide a description that is worded well enough to be understood
yt-dlp doesn't support downloading from asobichannel.asobistore.jp, it'll be great if yt-dlp adds support for asobichannel.asobistore.jp
There are some contents that require premium account to watch, sadly I don't have a premium account so I can't help in that regards. https://asobichannel.asobistore.jp/channel/denonbu?tab=premium
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://asobichannel.asobistore.jp/watch/uomnsvy2s']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [f10589e34] (pip)
[debug] Python 3.12.2 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 3.0.13 30 Jan 2024)
[debug] exe versions: ffmpeg n6.1.1-2-gbfacb66fc8-20240208 (setts), ffprobe n6.1.1-2-gbfacb66fc8-20240208
[debug] Optional libraries: Cryptodome-3.20.0, brotli-1.1.0, certifi-2023.11.17, mutagen-1.47.0, requests-2.31.0, sqlite3-3.43.1, urllib3-2.1.0, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1798 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)
[generic] Extracting URL: https://asobichannel.asobistore.jp/watch/uomnsvy2s
[generic] uomnsvy2s: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] uomnsvy2s: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://asobichannel.asobistore.jp/watch/uomnsvy2s
Traceback (most recent call last):
  File "C:\Users\yiss\scoop\apps\python\current\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1587, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yiss\scoop\apps\python\current\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1722, in __extract_info
    ie_result = ie.extract(url)
                ^^^^^^^^^^^^^^^
  File "C:\Users\yiss\scoop\apps\python\current\Lib\site-packages\yt_dlp\extractor\common.py", line 718, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yiss\scoop\apps\python\current\Lib\site-packages\yt_dlp\extractor\generic.py", line 2531, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://asobichannel.asobistore.jp/watch/uomnsvy2s

Already supported. Update to nightly/master builds.


feat: remove_exec_depend without self packages

Description

execute remove_exec_depend without self packages.
This is tested at https://github.com/tier4/autoware_launch/pull/317 and build-and-test-differential and build-and-test
for checking package.xml, debug code is added
https://github.com/autowarefoundation/autoware-github-actions/blob/5618759483847c575cf60abf98d653e12fb4ddf0/remove-exec-depend/action.yaml#L28

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

I'll close this PR because I can not imagine some workarounds...


Points width limited to 255px

As a mitigation, I'm gonna increase the limit, since the technical limitation of WebGL is not so strict, see https://webglstats.com/webgl/parameter/ALIASED_POINT_SIZE_RANGE
Technical implementation to increase the limit from 64 pixels to 255 pixels
Since we are using just 8 bits for the size I'm gonna change the step/interval between sizes, previously it was at a fixed rate of 0.25 pixels, now I'll change it to:
0.25 pixels from [0, 15] covered by [0, 64]
1 pixel from (15, 96] covered by [64, 128]
2 pixels from [96, 255] covered by [128, 208]
[208, 255] region would be uncovered.
Note: 64+32=96
cc: @rochoa
Further work
WebGL limits are not going to disappear soon, and saturating the size can be very confusing to the user. I think that some other thing should be done, like changing the color or the form (it doesn't need to be a circle) when the limit is reached.
We can render anything centered at any point within 255x255 pixels in a square. However, it would be technically complicated to animate it or to just throw a JS error to the user.
I think this isn't a priority, but, probably for the Next milestone, we could do something like this, it would require work from design and cartography though.
cc: @makella @arianaescobar

Yup, that last part is something that @makella and I can discuss after CARTOLocations if that's ok with you, @rochoa.

I just merged https://github.com/CartoDB/renderer-prototype/pull/251 This should increase the limit to 255, although I'm not confident in that it will work for many Macs with Retina displays. I think it's quite possible that these devices only work fine until 128 pixels.
It will be nice if someone could give me feedback about it.
If that's the case, then we may want to force a maximum of 128 pixels for everyone. :slightly_frowning_face:

I made a PoC in the saturated-point-size branch. I guess this looks too bad, although it shouldn't look very well because it's a way to alert the user.
Just in case you think this it's better than nothing.
cc: @arianaescobar @makella

Let's review after Locations.

Ideas for removing the limitation basing the point rendering on triangles:

Sources should pass point coordinates as an array, not as a Float32Array (since a second decoding pass must be done)
decodePoint should transform the array of point coordinates into a Float32Array with points repeated three times
Modify the vertex shader to use attribute vec2 featureID; as a way to indicate which of the three vertex of the triangle is each one. To change an internal normal use to apply the width


No more breaking changes (traits/profile collision)

Issue to track initial release requirement for no more breaking changes.

We will need pipeline checks for our PR process. @magnologan has done some initial work; that should be officially evaluated and merged as applicable.


gallery page to render images from IPFS

list all tokens from all owners
render an image snapshot from the canvas dump
i'm not sure all tokens support that
instead, if it's an enumerable token, then you index all tokens and that has owner and you can build an index on that in the next step
DCsan — Yesterday at 9:03 PM
how do we make an enumerable token?
since mappings aren't iterable afaik.
just store a big array of owner IDs ? not sure gas implications for that
tomo — Yesterday at 9:03 PM
it can be as easy as inheriting the erc721 enumerale contract
however we use Counters for tokenId so it may be just fine
Sri — Yesterday at 9:04 PM
its just returning the tokenId though
tomo — Yesterday at 9:07 PM
anyway, the basic method is you start with 0 and increment to token balance and fetch token info for each of those tokenIds
DCsan — Yesterday at 9:07 PM
sounds easy.
why do ppl make such a big deal out of that?
since tokenIds aren't a hash, they're just a index+

// prereqs
const node = await IPFS.create()
const cid = '/ipfs/Qmay7eKcsxZ5UkraAucEGtTsv6LzA5hn3P8JnQQcWaVwcN'

// load the raw data from js-ipfs (>=0.40.0)
let bufs = []
for await (const buf of node.cat(cid)) {
  bufs.push(buf)
}
const data = Buffer.concat(bufs)

var blob = new Blob([data], {type:"image/jpg"})
var img = document.getElementById("target") // the img tag you want it in
img.src = window.URL.createObjectURL(blob)

We don't actually have to fetch images from ipfs and it will be slower than rendering them from the token's data.

lowering to P2 as we can use rarible page to view... though it would be cool
and maybe not that hard if we do have images already to view


Setup data mining library

Import and setup the data mining library for learning algorithm

Succesfully set up the git submodule, however maven does not want to import the code that easily. We tried to use packaging pom with a module to the library, but it does not generate a deployable jar file anymore. If we would want to change packaging back to jar, the module should be imported differently.
An other possibility was specifying the dependency as system provided, however this will cause cross-platform issues due to '/' vs ''.
Currently looking into other options, such as maven repository (but requires a Nexus account of someone else) or just copy-paste the code into a subfolder/package.

Dang, it this would have been the nicest method, as it works out of the box for both developers and CI / Travis. However, Maven submodules are only allowed if the project packages to pom, and we want to package to jar. We have three options:

Move the MoodCat core into a subproject (/subfolder), introduce a parent project that packages to pom, and set the git module in the root (which also is a submodule). In this case the moodcat core can resolve the dependency automatically and package to a jar file.
Copy the library files to our source folders
Release the library on a private Maven repository. We have one for Devhub (where also the JPacman is hosted). In the future you could also consider deploying your framework to the Maven Central Repository, however, it would take a few days to become publicly available.


create per-project output bucket

create a per-project output bucket, as daisy does
print the junit output at the end

/lgtm


How to make Input data for FCN (Fully Convolutional Net) where input data size varies?

I am trying to run a FCN for my images of different shapes. I read in another thread to have my input like Input((1, None, None)), meaning that the image has one color channel and of unfixed size. The problem comes as I don't know how to format my input data. I now have them as list of numpy arrays and run the model by generator function, feeding one image at a time of numpy array type. but as I run it, Python gives following error:
ValueError: all the input array dimensions except for the concatenation axis must match exactly
Apply node that caused the error: Join(TensorConstant{1}, Reshape{4}.0, Elemwise{Composite{(i0 * (Abs(i1) + i2 + i3))}}.0)
Toposort index: 306
Inputs types: [TensorType(int8, scalar), TensorType(float32, 4D), TensorType(float32, 4D)]
Inputs shapes: [(), (1, 512, 8, 16), (1, 256, 9, 16)]
Inputs strides: [(), (262144, 512, 64, 4), (147456, 576, 64, 4)]
My generator function is
def my_generator():
tot = len(imgs_train) * 2
print('Total images in data set:', tot)
Xb = imgs_train * 2
Yb = imgs_mask_train * 2

for i in range(len(imgs_train)):
    Xb[i], Yb[i] = horz_flip(Xb[i],Yb[i],hor_p)
arr = np.random.permutation(tot)
# yield Xb[arr], Yb[arr]
batch_size = 1
k = 0
while k < tot:
    end = k + batch_size
    if end > tot:
        end = tot
    idx = arr[k:end]
    idx = int(idx)
    yield Xb[idx], Yb[idx]
    k += batch_size

Both imgs_train and imgs_mask_train are list of numpy arrays.
How can I fix it?

Your error is somewhere in the architecture of your layers. Could you share it? Also, can you link the thread that suggested passing (..., None, None) for the input shapes? What's probably happening is that it cannot infer the variable-shape matching, and is throwing you the error.


Exposes balancers to allow for additional balancing strategies, and a…

…dds new striped balancer strategy

This opens up the possibility of writing custom balancers as well.  Our topic/partitioning strategy is such that we sometimes want to temporarily allocate more consumers to a set of topics/partitions when we get spikes of load.

Hmm, build is failing because the go vet repo is gone (the source has appears to finally have been removed from golang.org/x/tools/cmd/vet, so go get fails; it's built-in from 1.5 onward).  I've updated CI to build in 1.5 and 1.6.

Hey, thanks very much for the PR. I went through the code and added my comments. Generally, I prefer to keep as much of the API private as only possible, so there are a few concerns with your current implementation. Also, the race has been fixed in master, so no need for the extra lock.


tslint errors with "missing trailing comma" in invalid location

Bug Report

TSLint version: 5.11.0
TypeScript version: 3.1.3
Running TSLint via: VSCode

TypeScript code being linted
// code snippet
hydrate(
  <BrowserRouter>
    <App />
  </BrowserRouter>,
  document.getElementById('root')
);

with tslint.json configuration:
{
  "extends": ["tslint:recommended", "tslint-react"],
  "rules": {
    "arrow-parens": [true, "ban-single-arg-parens"],
    "indent": [true,"spaces"],
    "interface-name": [true, "never-prefix"],
    "jsx-no-lambda": false,
    "jsx-no-multiline-js": false,
    "member-access": false,
    "member-ordering": [false],
    "no-console": false,
    "no-duplicate-imports": true,
    "no-implicit-type": false,
    "no-inferrable-types": false,
    "no-unsafe-any": false,
    "no-var-requires": false,
    "object-literal-sort-keys": false,
    "only-arrow-functions": false,
    "ordered-imports": false,
    "prefer-const": true,
    "quotemark": [true,"single","jsx-double"],
    "semicolon": true,
    "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore", "allow-pascal-case"]
  }
}

Actual behavior
tslint expects that a comma be inserted after the final argument of a function call.
I realise that this behavior can be modified in the config file, but why would function calls be included at all in this?
Expected behavior
I would expect tslint not to ask for a comma in a function call. Doing so leaves it open to interpretation that another (or follow-on) arguments are expected or available.
It looks like #2474 was similar to this issue, and was closed without resolution. Has anyone else run into this problem?
Thanks!

Configurable...


Use GITHUB_TOKEN environment variable to save the token

This module looks for GITHUB_USER and GITHUB_PASSWORD environment variables and get a token then store in "~/.config/hub". Why not just look for GITHUB_TOKEN environment variable straight away? If not found try to fallback to use username and password to get the token then store in GITHUB_TOKEN?

Planned! https://github.com/github/hub/issues/463#issuecomment-32387755
Thanks for the suggestion.


abstract base class bug?

I have a minimal working example of this bug in python 3.4

import abc
from obiwan import *; install_obiwan_runtime_check()

class Foo(metaclass=abc.ABCMeta):

	@abc.abstractmethod
	def bar(self):
		pass

class FooImpl(Foo):
	def bar(self):
		print('hi')

def do_stuff_with_a_foo_implementation(f: [Foo]):
	f.bar()

do_stuff_with_a_foo_implementation([FooImpl()])

I'm not sure what it is about the list that causes the trouble but it is required. It works fine without the list
Console dump:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\obiwan\__init__.py", line 281, in duckable

    if not isinstance(obj, collections.abc.Sequence):
AttributeError: 'module' object has no attribute 'abc'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "obiwan_abc_test.py", line 17, in <module>
    do_stuff_with_a_foo_implementation([FooImpl()])
  File "obiwan_abc_test.py", line 14, in do_stuff_with_a_foo_implementation
    def do_stuff_with_a_foo_implementation(f: [Foo]):
  File "C:\Python34\lib\site-packages\obiwan\__init__.py", line 401, in _runtime
_checker
    duckable(arg, constraint, "%s(%s)" % (frame.f_code.co_name, key))
  File "C:\Python34\lib\site-packages\obiwan\__init__.py", line 318, in duckable

    raise ObiwanError("%s internal error: %s" % (ctx, e))
obiwan.ObiwanError: do_stuff_with_a_foo_implementation(f) internal error: 'modul
e' object has no attribute 'abc'

You are using Python 3.4?  I'm guessing so, from the C:\Python34 in the path.
However, you do not seem to have collections.abc which was added in Python 3.4.
What does your python --version say?
I do not have windows myself, but I can suggest a tentative fix along these lines:
At the top of obiwan/init.py
try:
import abc
except ImportError:
try:
import collections.abc as abc
except ImportError:
error message here
and then later where we check this isinstance it would be if not isinstance(obj, abc.Sequence)

You raise an interesting point which is essentially that my first example was in no way minimal. Initially, I thought it was because I was using abc but in fact it's just due to the use of list type verification. In my environment (exact version is 3.4.3) list type does not work. New minimal example below
from obiwan import *; install_obiwan_runtime_check()

def foo(f: [int]):
	return f

foo([2])

gives
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\obiwan\__init__.py", line 281, in duckable
    if not isinstance(obj, collections.abc.Sequence):
AttributeError: 'module' object has no attribute 'abc'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "obiwan_abc_test_2.py", line 6, in <module>
    foo([2])
  File "obiwan_abc_test_2.py", line 3, in foo
    def foo(f: [int]):
  File "C:\Python34\lib\site-packages\obiwan\__init__.py", line 401, in _runtime_checker
    duckable(arg, constraint, "%s(%s)" % (frame.f_code.co_name, key))
  File "C:\Python34\lib\site-packages\obiwan\__init__.py", line 318, in duckable
    raise ObiwanError("%s internal error: %s" % (ctx, e))
obiwan.ObiwanError: foo(f) internal error: 'module' object has no attribute 'abc'

I think the bug is introduced on line 9 of init which should maybe be import collections.abc since abc is a submodule of collections it cannot be used directly. For example, the code below fails
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import collections
>>> collections.abc.Sequence
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'abc'

I will make a PR to this effect.

Aha we were slayed by https://bugs.python.org/issue20784
Thx for the fix


Members removed from team/repository keep watches

Gitea version (or commit ref): 38a9cda
Can you reproduce the bug at https://try.gitea.io:

[x] Yes: https://try.gitea.io/7tl9ebtg7mio/test

Description
When removing members from a team, they lose access to the respective repositories but keep their watches on the repository. This allows them to receive notifications via e-mail even if they should not be able to access the repository.
Reproducer (see link above): I added lunny to the test team, gave the team access to the repository and then removed lunny again. He still has a watch on the repository.

This should be tagged with a security label and perhaps assigned a CVE.

@mqudsi it will only show the wrong watch but there is no wrong permission.

@lunny thanks, that's much better :)

Perhaps need to add security or priority label?

Just wanted to mention that I'm already working on it. Including https://github.com/go-gitea/gitea/issues/3343, because it's closely related

Closed with #4201


DHCPCD breaks OTBR IPv6 connectivity via Ethernet

Describe the bug
OTBR is inaccessible via IPv6 with dhcpcd.conf installed by setup script.
To Reproduce Information to reproduce the behavior, including:

Git commit id: 083fb6921903441bf44f46c263c123eb4af6e4a9
IEEE 802.15.4 hardware platform: nRF52840 (formal, unrelated)
Build steps:

$ NETWORK_MANAGER=0 BACKBONE_ROUTER=1 ./script/bootstrap
$ NETWORK_MANAGER=0 BACKBONE_ROUTER=1 ./script/setup

Network topology:
OTBR and PC connected to the ethernet switch. Both of them obtain IPv4 addresses from DHCP4 server, and IPv6 addresses by means of radvd daemon running on the separate Raspberry Pi connected to the same switch. The address information follows.
4.1. OTBR:

$ ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:54:12:28 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fd01:1234:5678:0:ba27:ebff:fe54:1228/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 86399sec preferred_lft 14399sec
    inet6 fe80::ba27:ebff:fe54:1228/64 scope link
       valid_lft forever preferred_lft forever

4.2. PC:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:b3:be:dd brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute enp0s3
       valid_lft 307sec preferred_lft 307sec
    inet6 fd01:1234:5678:0:584c:6db4:56ce:fd61/64 scope global temporary dynamic
       valid_lft 86364sec preferred_lft 14364sec
    inet6 fd01:1234:5678:0:ca3e:ec4a:1c58:aa93/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 86364sec preferred_lft 14364sec
    inet6 fe80::ba49:b6dc:eb0c:ecb3/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

Expected behavior A clear and concise description of what you expected to happen.
OTBR must be accessible via IPv6 address. Particularly ICMP echo requests must be served and replied.
Console/log output If applicable, add console/log output to help explain your problem.
At the PC:
$ ping fd01:1234:5678:0:ba27:ebff:fe54:1228
PING fd01:1234:5678:0:ba27:ebff:fe54:1228(fd01:1234:5678:0:ba27:ebff:fe54:1228) 56 data bytes
^C
--- fd01:1234:5678:0:ba27:ebff:fe54:1228 ping statistics ---
491 packets transmitted, 0 received, 100% packet loss, time 501750ms

At the OTBR:
$ ping fd01:1234:5678:0:584c:6db4:56ce:fd61
connect: Network is unreachable

Additional context Add any other context about the problem here.

IPv4 networking has no issue.
When original dhcpcd.conf restored, IPv6 connectivity recovers:
OTBR addresses after restore:

$ ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:54:12:28 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fd01:1234:5678:0:4629:94de:28b6:df8c/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 86351sec preferred_lft 14351sec
    inet6 fe80::4912:5494:aef3:492/64 scope link
       valid_lft forever preferred_lft forever

Ping from PC:
$ ping fd01:1234:5678:0:4629:94de:28b6:df8c
PING fd01:1234:5678:0:4629:94de:28b6:df8c(fd01:1234:5678:0:4629:94de:28b6:df8c) 56 data bytes
64 bytes from fd01:1234:5678:0:4629:94de:28b6:df8c: icmp_seq=1 ttl=64 time=1.92 ms
64 bytes from fd01:1234:5678:0:4629:94de:28b6:df8c: icmp_seq=2 ttl=64 time=1.19 ms
^C
--- fd01:1234:5678:0:4629:94de:28b6:df8c ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.198/1.560/1.923/0.364 ms

OTBR works fine with original dhcpcd.conf.

dhcpcd.conf variants attached in the archive: dhcp-ip6-no-ping.tar.gz

dhcpcd.conf.orig - original file.
dhcpcd.conf.otbr - the one installed by setup script.

@mikhail-pridushchenko Can you try with:
$ DHCPV6_PD=0 NETWORK_MANAGER=0 BACKBONE_ROUTER=1 ./script/bootstrap
$ DHCPV6_PD=0 NETWORK_MANAGER=0 BACKBONE_ROUTER=1 ./script/setup

The DHCPV6_PD option will change dhcpcd.conf.
Another option is to work on the latest OTBR master commit (2f566d8f2b7335a58c05e9616e40fcf3fc1cc919):
$ ./script/bootstrap
$ INFRA_IF_NAME=eth0 ./script/setup

(you will still need to restore the original dhcpcd.conf first because the changes by DHCPv6_PD is not easy to be undo.)
This commit has NETWORK_MANAGER and DHCPV6_PD disabled by default but enables BACKBONE_ROUTER. In addition, you don't need the radvd service any more because the new OTBR will advertise the prefix by itself.

Thank you for the instruction. Everything works fine with the latest comment.


Typos

@Tam-Pham
I just fixed a couple of typos (while trying out Github :)

Looks great @litonglow ☺


Add support for setting float array uniforms in the WebGLPipeline / WebGLRenderer

This PR

Adds a new feature

Describe the changes below:
Added support for setting float array uniforms. There are 4 new methods on both the WebGLRenderer and WebGLPipeline

setFloat1v
setFloat2v
setFloat3v
setFloat4v

P.S.
My editor decided to remove some trailing spaces in the files I edited. According to the contribution guide we don't like trailing spaces anyways, so I left the changes in :) If you would like me to revert those lines back to how they were for any reason please let me know and I can take care of that.

I'm happy to merge this in, although the constant creation of new Float32Arrays in the setFloat methods is a bit jarring, although there's no easy way around it (beyond perhaps passing them in, but they still have to be created at some point).
The trailing space editor config is for code, not comments. Trailing spaces on comment lines are fine. Removing them won't hurt though.

We could do something like
    setFloat1v: function (program, name, arr)
    {
        this.setProgram(program);
        this.gl.uniform1fv(this.gl.getUniformLocation(program, name), (arr instanceof Float32Array) ? arr : new Float32Array(arr));
        return this;
    },

Thoughts?

Nah that'd probably even worse. Would be better to make you pass in a Float32Array instead of casting it each time, then it's up to you if you pay the cost or not. Or at least when.

Hmmm. Think it’s worth changing to accept a Flot32Array rather than instantiate one? I feel like this method is more niche anyways so if the API is more complex in this area it’s not a huge detriment to end users.

Probably worth changing, yes. As you're likely to want to change the uniform values constantly.

Good call. I'll update the PR tonight.


Support cast from HEX to FixedSizeBinary

Is your feature request related to a problem or challenge?
I would like to be able to cast HEX value to a FixedSizeBinary. For example PostgreSQL interprets value as hex using such syntax E'\\xDEADBEEF'::bytea and converts it to binary type.
I have seen that there is some support for interpreting text as bytes but afaik there is no way to hint it that the payload is a hex value.
❯ select arrow_cast('002920a3044b3c9f56e797b8'::bytea, 'FixedSizeBinary(12)');
Error during planning: byte slice doesn't match fixed size binary value length ( err looks something like that )

Describe the solution you'd like
Any kind of variation that would allow me to specify hex value then parse it as fixed size binary.
For example
❯ select arrow_cast(E'\\xDEADBEEF'::bytea, 'FixedSizeBinary(4)');

Then I would like to be able to query over fixed size binary type.
select *
from table
where
    header = arrow_cast(E'\\xDEADBEEF'::bytea, 'FixedSizeBinary(4)');

Describe alternatives you've considered
No response
Additional context
No response

Hi @Cheappie would you mind attach postgres query doing the same?

I believe this may be resolved in https://github.com/apache/arrow-datafusion/pull/6767


Trying to Open Folder Causes Error

thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Error("path contains invalid UTF-8 characters", line: 0, column: 0)', lapce-proxy/src/dispatch.rs:710:57
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

The path to my folder is very normal, ASCII characters only.
"/home/myusername/Repos/myproject"

I think this error refers to one of the files/folders inside myproject, not the myproject path itself. The code that crashes reads entries in that folder.
Can you provide more information about your setup? What OS are you using, maybe what names the files have, or can you upload a small project that can reproduce the crash?

OS: Arch Linux
I think I've found the issue. Not in the project itself, but in the root directory of the terminal I ran lapce from there was a file named like '����U' or as expanded by the terminal '\320'$'\304'$'\003'$'\260'$'\362'U
Deleting the file fixed everything.


SSR: useLayoutEffect does nothing on the server

Our react app does SSR, server render returns this error:
Warning: useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer's output format. This will lead to a mismatch between the initial, non-hydrated UI and the intended UI. To avoid this, useLayoutEffect should only be used in components that render exclusively on the client. See https://fb.me/react-uselayouteffect-ssr for common fixes.
    in Config
    in Fragment
    in ForwardRef (at Uploader.js:76)
    ...noise removed...

It's called here: https://github.com/uploadcare/react-widget/blob/311b6e41be835c9c0bbe8f8beacfa82b77d3df5e/src/index.js#L13
Is there a way to sidestep this?

@GriffinSauce released the new version v1.0.2, feel free to upgrade!

Late response but thank you for the super-quick fix! 🙌


Should we separate basis objects' eval and conv mode?

With the changes in #191 , the eval and conv modes of the basis object are becoming more and more separate, such that there a handful of initialization arguments that are ignored depending on which one you choose. This feels weird to me -- should we have them be separate objects somehow? Or initialize with shared arguments and then call a eval() or conv() method to set the mode, passing the relevant arguments then?

the power of the current approach is that you can combine and call the same method "compute_features", which will create any combination of convolution or evaluation for you once the parameters are set at initialization.
To achieve the behavior, we need to set configurations that are not passed before the actual transformation takes place. I don't like the idea that a basis is initialized in a default mode and then one needs to call an extra method to finish off the initialization to switch mode and pass hyperparameters.
Having separate classes may be an option, but we have already a number of basis (possibly expanding), i think it would be a lot of api to remember.
The solution we have now is not super elegant, but keeps the api to a minimum, open to suggestion on how to deal with this init more elegantly!

Revisiting my opinion:
After adding a utility function for computing slices that applies to the feature axis, I needed to add an extra parameter that is required only for basis in mode="conv", this is an argument to keep the classes separated, I will take care of that in a dedicated PR.

After the PR #247, basis will naturally have an equivalent of "fit" (setting the input shapes, and the conv kernels) and. a transform method (creating the features, the private _compute_features), and a "fit_transform" (compute_features) method.
I would make this more explicit when I'll split the PR, and this will make the map to TransformerBasis even cleaner


Flexray XML file parsing support

Now the Flexray protocol is widely used in car domain, it has the huge demand to have a tool to parse the XML data format file, but the cantools is not support to parse the format currently. As a participant, i strongly recommended to  support parsing Flexray data format.

I'm not sure if flexray support is in the scope of a project named "cantools", and flexray is also on its way out in the automotive industry (the FlexRay consortium dissolved in 2010), but I suppose nobody would object if you forked the cantools project (probably renaming it to something akin "flextools") and added this support...


Develop

Description
This pull request includes two main changes aimed at improving the robustness and reliability of the pipeline triggering process:

Refactor trigger_pipeline Function:

Added validation to ensure all required environment variables are set.
Simplified parameter initialization based on pipeline type.
Enhanced error handling for missing environment variables and unsupported pipeline types.
Replaced print statements with logging for error messages.
Added a new environment variable BQ_LOCATION and included it in the parameters.

These changes ensure that the pipeline triggering process is more robust, especially when environment variables might not be available during scheduling.

Update Unit Tests:

Added the BQ_LOCATION environment variable to the test setup.
Adjusted the expected parameters to include bq_location for both training and prediction pipeline types.

These updates ensure that the unit tests accurately reflect the changes made to the trigger_pipeline function and validate the new behavior.

Changes Made

trigger_pipeline Function:

Improved validation and error handling for environment variables.
Simplified parameter initialization.
Added BQ_LOCATION environment variable.

Unit Tests:

Included BQ_LOCATION in the test setup.
Updated expected parameters to include bq_location.

Reason for Changes
These changes were made to handle cases where environment variables might not be available when scheduling the pipeline, ensuring that the pipeline triggering process is more reliable and robust.

/gcbrun


Set equality is unexpectedly ordered

  it('Compares sets correctly.', (done) => {
    expect(new Set(['a', 'b'])).toEqual(new Set(['b', 'a']));
    done();
  });

      Error: Expected Set (2) {'a', 'b'} to equal Set (2) {'b', 'a'}
      + expected - actual

      -["a","b"]
      +["b","a"]

This is with 1.18.0. I expect set equality to be independent of order; the order of elements is an implementation detail.

Your expectation is incorrect - Set in JavaScript has a defined and consistent implementation order, and is a spec detail, not an implementation detail.

I wouldn't expect the preserved insertion order of the set — which is noted in the spec — to influence its equality properties, but hey, JS is full of surprises. Time to switch to Immutable.js for this, I guess.

I think it'd be reasonable to have a method that explicitly checked that two Sets/Maps/arrays had the same contents, irrespective of order.

@ljharb What would you call the to method?

hmm - naming is hard :-) something like expect(foo).toBeTheSameSetAs(bar) would work but that uses the math definition of Set, not the JS one. expect(foo).toMatch(bar) maybe?

How about expect(a).toEqualSet(b)? expect-jsx already uses toEqualJSX.

Actually, just found this:

Two sets A and B are said to be equal if every element of A is an element of B and every element of B is an element of A. The equality of sets A and B is denoted by A = B. Inequality of two sets A and B is denoted by A ≠ B.

Seems like we should just do some type detection in toEqual and toNotEqual and compare sets by their contents, irrespective of order.

@mjackson if it's generic, that would break tests that currently compare array orderings. If it's not - and only for Set/Map - then you only have a slow try/catch way of brand-checking that it's a Set or a Map, and, Sets and Maps in JS are implicitly ordered.

Even though they are implicitly ordered, conceptually a Set is not. toEqual
is the right method IMO.
On Thu, May 5, 2016 at 6:05 PM Jordan Harband<EMAIL_ADDRESS>wrote:

@mjackson https://github.com/mjackson if it's generic, that would break
tests that currently compare array orderings. If it's not - and only for
Set/Map - then you only have a slow try/catch way of brand-checking that
it's a Set or a Map, and, Sets and Maps in JS are implicitly ordered.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/mjackson/expect/issues/93#issuecomment-217293514

I don't agree in the case of JS - but it wouldn't be a tragedy imo to have toEqual compare Sets and Maps in an unordered fashion - if i want ordering, I can [...foo] and compare those.

I'd be open to a PR that does this, @rnewman, if you're up for it. :)


Datacite & JPAL transform

Helpful background context

In general, I’m using hoard as a model and copied some validator functions over.
For some functions, I thought the naming and description of the args was explicit enough that a descriptive docstring would be redundant but I’m happy to add them for any that need to be clearer.
I've included the JPAL records Helen harvested as a fixture but I want to clarify in the PR discussion how we should utilize those

How can a reviewer manually see the effects of these changes?
I'm not sure how we want to do manual testing for this repo going forward so I hope we can hash that out through the PR discussion. I'm assuming Helen's work on the OAI Harvester will be involved.
What are the relevant tickets?
https://mitlibraries.atlassian.net/browse/RDI-74
Developer

[x] All new ENV is documented in README
[x] Stakeholder approval has been confirmed (or is not needed)

Code Reviewer

[ ] The commit message is clear and follows our guidelines
(not just this pull request message)
[ ] There are appropriate tests covering any new functionality
[ ] The documentation has been updated or is unnecessary
[ ] The changes have been verified
[ ] New dependencies are appropriate or there were no changes

Includes new or updated dependencies?
YES

Replaced by #3


Ivy's fuzzy mode is not order-independent

I have (ivy +fuzzy +icons) enabled, but the fuzzy mathcing is still nowhere as good as fzf, in particular, the results are order dependent:

Modify prescient-filter-method.

I solved this by using fzf.el. I recommend adding it as a module.


Disk passing through not working for the 2nd disk

Is there no existing issue for this?

[X] I have searched the existing issues

Machine specifications
NUC 11 Generation
Operating system
Debian 12
Docker version
Docker version 24.0.5, build ced0996
Description
Steps:

I firstly passed through a 3TB disk - /dev/disk/by-uuid/e060fd5e-9617-498c-81b3-a18045b78410:/disk2, everything worked like a charm.
By then I installed photo app and uploaded few simples to /disk2
After this I stopped it and added another 60GB disk - /dev/disk/by-uuid/138c4eb2-7228-4aa2-b5ca-2578fc649109:/disk3
Boot it up, the /disk2 is gone.

Docker compose
services:
  dsm:
    container_name: dsm
    image: vdsm/virtual-dsm
    environment:
      DISK_SIZE: "32G"
      #GPU: "Y"
    devices:
      - /dev/kvm
      - /dev/disk/by-uuid/e060fd5e-9617-498c-81b3-a18045b78410:/disk2
      - /dev/disk/by-uuid/138c4eb2-7228-4aa2-b5ca-2578fc649109:/disk3
    cap_add:
      - NET_ADMIN
    ports:
      - 7777:5000
    volumes:
      - /var/dsm:/storage
    stop_grace_period: 2m

Docker log
❯ For support visit https://github.com/vdsm/virtual-dsm
❯ CPU: Intel Core TM i3 10110U CPU | RAM: 4/16 GB | DISK: 138 GB (ext4) | HOST: 6.1.0-11-amd64...
❯ Booting Virtual DSM...
......
[    7.632727] scsi 9:0:0:0: Direct-Access     QEMU     QEMU HARDDISK            2.5+ PQ: 0 ANSI: 5
[    7.639277] sd 9:0:0:0: [sdc]<PHONE_NUMBER> 512-byte logical blocks: (3.00 TB/2.73 TiB)
[    7.643171] sd 9:0:0:0: [sdc] Write Protect is off
[    7.647310] sd 9:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    7.662491] sd 9:0:0:0: [sdc] Attached SCSI disk
[    9.154734] scsi host10: Virtio SCSI HBA
[    9.194892] scsi 10:0:0:0: Direct-Access     QEMU     QEMU HARDDISK            2.5+ PQ: 0 ANSI: 5
[    9.201519] sd 10:0:0:0: [sdd] 117231408 512-byte logical blocks: (60.0 GB/55.9 GiB)
[    9.210181] sd 10:0:0:0: [sdd] Write Protect is off
[    9.218216] sd 10:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    9.245846]  sdd: sdd1
....
❯ -----------------------------------------------------------
❯  You can now login to DSM at port 5000
❯ -----------------------------------------------------------
[   33.479870] findhostd uses obsolete (PF_INET,SOCK_PACKET)
[   33.597164] fuse init (API version 7.23)
[   46.286233] Synotify use 16384 event queue size
[   47.536728] Synotify use 16384 event queue size
Screenshots (optional)

I have changed to by using volumes instead of passing through entire disks as following,

services:
  dsm:
    container_name: dsm
    image: vdsm/virtual-dsm
    environment:
      DISK_SIZE: "32G"
      DEBUG: "Y"
      #GPU: "Y"
    devices:
      - /dev/kvm
      #- /dev/disk/by-uuid/e060fd5e-9617-498c-81b3-a18045b78410:/disk2
      #- /dev/disk/by-uuid/138c4eb2-7228-4aa2-b5ca-2578fc649109:/disk3
    cap_add:
      - NET_ADMIN
    ports:
      - 7777:5000
    volumes:
      - /var/dsm:/storage
      - /home/one/Disks/Disk-D-2700G:/storage2
      - /home/one/Disks/Disk60G:/storage3
    stop_grace_period: 2m

However, it complains,
❯ Starting Virtual DSM for Docker v7.12...
❯ For support visit https://github.com/vdsm/virtual-dsm
❯ CPU: Intel Core TM i3 10110U CPU | RAM: 4/16 GB | DISK: 138 GB (ext4) | HOST: 6.1.0-11-amd64...

rm: cannot remove '/storage2/data2.img': Structure needs cleaning
❯ ERROR: Not enough free space to create a disk2 of 16G in /storage2, it has only 0 GB available...
❯ ERROR: Please specify a smaller DISK2_SIZE or disable preallocation by setting ALLOCATE=N.

Disk-D-2700G is /dev/disk/by-uuid/e060fd5e-9617-498c-81b3-a18045b78410
Disk60G is /dev/disk/by-uuid/138c4eb2-7228-4aa2-b5ca-2578fc649109
Those two disks are no longer be accessible from the host since been passed to dsm due to the file system type change I guess,  When do ls -al, both show: total 0

I put a softlink to disk as /home/one/Disks/Disk60G, so I cannot use ...Disk60G directly? I have to create a folder inside and use that folder?

That disk ever passed to DSM directly, it asks to clear the partition before able to create directory...
Ok, I overall understand how it works, just wondering why adding new disks gone away the existing one, it seems like passing entire disk is bit risky.

Ok, I will try to use directories then, and see if it behaves normally and update here once done, thank you.

After changed to directories work, it works very well by far, assume it is the recommended way.


[ARITH] Subspace division

cc @tqchen

@spectrometerHBH please rebase now that #7759 is merged. cc @hzfan @Hzfengsy @jinhongyii please also take a look when you have time.


System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (in v3.0.466)

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

System Information

OS: [e.g. Windows 10 2004]
Game version [e.g. Stream, GOG and please include the CS]
Version of the editor: [e.g. 3.0.347]

Additional context
Please also attach a save file that exhibits the issue.

Can you attach a save file and fill out the bug report form?

sorry my bad all good now

Can I close this issue then?

yes


Displays "No credentials found" briefly before showing the credentials list

Yubico Authenticator version: 4.1.3
Operating system and version: Fedora 27
YubiKey model and version: Neo
Bug description summary: The authenticator displays "No credentials found" briefly before showing the credentials list when the app instance reads the Yubikey for the first time.

Steps to reproduce

The Yubikey must contain at least one credential.
Launch the authenticator and plug the Yubikey OR plug the Yubikey and start the authenticator app.

Expected result
The authenticator app must display "Reading credentials..." and then the list of credentials.
Actual results
The authenticator app displays "No credentials found" briefly before showing the credentials list.
Other info
If you remove and reinsert the Yubikey and keep the authenticator app open the problem disappears.

Thanks for the report! Since I cant reproduce this in the latest version (4.3.3) on Ubuntu, I'm closing this though.

The problem is also in 4.3.3 on Windows


Feature request: in File browser, double clicking directories/files to open/load them

Currently, to open a directory in the File Browser, one needs to click on it with the mouse then press the Return key or press the OK button to enter the directory.
It would be handy to be able to use the mouse for both entering directories and opening files.
(wee bug aside; on double clicking a File browser entry currently, the background colour becomes the colour of an unselected file)

The nuklear toolkit has no double-click support, that's why you see strange bahaviour.
Single-click activation is possible, though.

To make this less painful, I've come up with this 'solution' for now:

single-click directory-change
single-click file-loading
poor-man's double-click file-loading (e.g. if you click the same file entry twice, it'll get loaded)

in 743e77e9c1042b1d34209d52eef1e1dd06bd67ca


evaluation functioin

hello,
I didn't find any evaluation code so I just calculate psnr and ssim by myself on your pre-trained model.
However, I got a much better ssim when I evaluate ssim on grayscale image of the output and gt. I guess it might not be the case that you do.
So how did you evaluate your ssim? Do you use specific tool kit?
I would be appreciate if you can provide me with your ssim implementation that you used to evaluate the result.

I saved the results and evaluate them using MATLAB, on RGB images instead of grayscale images.

ok! Thanks


[🐛 Bug]: Widget size is broken when re-adding them to the dashboard

VSCode Environment
Version: 1.67.2
Commit: c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5
Date: 2022-05-17T18:20:57.384Z (1 wk ago)
Electron: 17.4.1
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 21.5.0
Marquee Version
v3.1.1653582143
Workspace Type
Local Workspace
What happened?
When widgets are removed and re-added they wind up in a state without height/width info.

What is your expected behavior?
Maybe we set a minimum height for widgets to get them back to where you want them.
Relevant Log Output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Is there an existing issue for this?

[X] I have searched the existing issues

To reproduce you can open the Control Panel, find the mode you are in, uncheck the box, then re-check the box, when you come back the widget sizes have been removed and it renders badly. I think just having some minimum / filler width/height would be a good enough fix for now. Eventually I think we'll want these things to intelligently figure out what size they should be to fill the surrounding available space.

I think this one is related to some underlying react-grid-layout and usually happens if there are no widget config available, e.g. after removing it from the board. We have logic that applies some default widget settings but that does not seem to have any affect.


How to show 6 labels in Y-axis in Line-chart

Hi, i am using this library, it is working fine. I need to show 6 labels in y-axis. Right now it was showing 5 labels even if i declared 6 labels. I want to show 100 label in y-axis. How can i achieve this?
I've changed the height also but it doesn't work.
Please help me out this!
Code:-
function* yLabel() {
  yield* ["0", "20", "40", "60", "80", "100"];
}

  const yLabelIterator = yLabel();

 <LineChart
              bezier
              // withHorizontalLabels={false}
              // withVerticalLabels={false}
              yAxisInterval={2}
              data={{
                labels: ['Week 1', 'Week 2', 'Week 3', 'Week 4'],
                datasets: [
                  {
                    data: [10, 70, 60, 40, 20, 50],
                    strokeWidth: 2,
                    color: (opacity = 1) => `rgba(255,0,0,${opacity})`, // optional
                  },
                  {
                    data: [20, 40, 60, 80, 80, 90],
                    strokeWidth: 2,
                    color: (opacity = 1) => `rgba(0,0,102, ${opacity})`, // optional
                  }
                ],
                legend: ['Organic', 'Paid'],
              }}
              formatYLabel={() => yLabelIterator.next().value}
              width={Dimensions.get('window').width - 16}
              height={200}
              chartConfig={{
                backgroundColor: '#1cc910',
                backgroundGradientFrom: '#eff3ff',
                backgroundGradientTo: '#efefef',
                decimalPlaces: 2,
                color: (opacity = 1) => `rgba(0, 0, 0, ${opacity})`,
                style: {
                  borderRadius: 16,
                },
              }}
              style={{
                marginVertical: 8,
                borderRadius: 16,
              }}
            />

try adding the segments={6} property.
The default is 4 + the 0 line = the 5 lines you are seeing now


Chauvenet criterion wrong results

Describe the bug
Chauvenet's criterion should consider around 1 sample of a normal distribution as a outlier.
Here it is considering 30 to 40% percent of point to be outliers
To Reproduce
from pythresh.thresholds.chau import CHAU
import numpy as np
normal_array = np.random.randn(99)
outlier_array = CHAU().eval(normal_array)
print(np.vstack([normal_array, outlier_array]).T)
np.sum(outlier_array)
Expected behavior
We tested on a normal distribution only a few points or zero should be considered as outliers.
Desktop (please complete the following information):

OS: linux
Version 24.04 LTS

Additional context
https://www.statisticshowto.com/chauvenets-criterion/
This table can be obtained with the following code:
prob_threshold = 1.0 / (2.0 * n)
number_of_tails = 2
threshold = -scipy_stats.norm.isf(1 - prob_threshold/number_of_tails)

Hi @baptistelabat-syroco
Thanks for spotting this!
In all honesty, the current implementation of CHAU was trying to cater for the fact that the decision scores generated by the outlier detection method are most likely "not" normally distributed. So the implementation is non-standard compared to the example you provided above.
That being said, perhaps CHAU can be better aligned with the standard definition that you provided and then use robust zscores e.g.
median = np.median(decision)
mad = np.median(np.abs(decision - median))  # Median Absolute Deviation

# Using a scaling factor of 1.4826 to approximate normality scaling
robust_std_dev = mad * 1.4826
z_scores = (decision - median) / robust_std_dev

This would produce what is expected for a normal distribution while also better catering for non-normal distributions as well.
If you have any suggestions or ideas, your feedback is always appreciated!

Thanks for your return.
I am afraid I don't understand your scaling factor. It seems rather hacky to me. I have to admit I struggle to find a clear, common definition of this Chauvenet's criterion, and I was expecting to use your library as a reference to validate our own implementation.

Hi @baptistelabat-syroco,
It does seem a bit strange, but this should hopefully help clarify https://stats.stackexchange.com/questions/355943/how-to-estimate-the-scale-factor-for-mad-for-a-non-normal-distribution
The example I gave above was for a normal distribution scaling but it can be done intuitively for other distribution types as well.
It's unfortunate that the results between the two methods are not matching, but I don't see any issue with your implementation with respect to only a normal distribution... unless you were wanting to cater for non-normal distributions as well, which is the route PyThresh took.


Store resolved data from preFetch

This is... similar to asyncData in Nuxt.js:
<template>

Home

{{ $preFetch('msg') }}

</template>

The resolved value from preFetch will be store in a global variable, say data... like a simplified version of vuex, if the component doesn't have a name, the data will be stored at data.default, otherwise data[name]
/cc @ansarizafar

Codecov Report

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

@@           Coverage Diff           @@
##           master      #50   +/-   ##
=======================================
  Coverage   43.98%   43.98%
=======================================
  Files           6        6
  Lines         341      341
  Branches       63       63
=======================================
  Hits          150      150
  Misses        191      191

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 44da357...bd0c5b1. Read the comment docs.


Add explicit cache-dependency-path to action.yml

This should squash the Warning: Restore cache failed: Dependencies file is not found in /home/runner/work/xxx/yyy. Supported file pattern: go.sum note we've been getting on all our builds. 🙃

Converting to Draft for now -- we need to test this commit/branch to make sure it actually works before we go ahead with it.

Run tianon/bashbrew@tianon
Run actions/setup-go@v5
  with:
    go-version-file: /home/runner/work/_actions/tianon/bashbrew/tianon/go.mod
    cache-dependency-path: /home/runner/work/_actions/tianon/bashbrew/tianon/go.sum
    check-latest: false
    token: ***
    cache: true
Setup go version spec 1.20
Found in cache @ /opt/hostedtoolcache/go/1.20.14/x64
Added go to the path
Successfully set up Go version 1.20
/opt/hostedtoolcache/go/1.20.14/x64/bin/go env GOMODCACHE
/opt/hostedtoolcache/go/1.20.14/x64/bin/go env GOCACHE
/home/runner/go/pkg/mod
/home/runner/.cache/go-build
Warning: Restore cache failed: Some specified paths were not resolved, unable to cache dependencies.

Nope! 🙃 (although this looks like a new warning, so maybe progress?)

So maybe we should cache: false instead?  I don't know what that implies, more research required...


Fix wrong alias for the import

BranchesDataSource --> BranchesHistoryActions

Why is this change needed and what is the impact of these changes?

No functional change. The alias as no impact other than readability but it was very confusing to see... as in "why is this calling the data source" while it was actually calling the "action"


Support react 16.6 for react-router v3

Issues
https://github.com/ReactTraining/react-router/issues/6766
Why
react router v3 supports components as props with format { [name]: component } according to this. However, newer react component may also be an objects, so it would make react-router v3 broken.
How to fix
Use isValidElementType is distinguish { [name]: component } and react components for React.memo, React.forwardRef, React.Fragment and so on

Awesome work! I'll try to get this pushed out today.

Thank you 🎉🎉🎉

3.2.2 is out! https://github.com/ReactTraining/react-router/releases/tag/v3.2.2

Thank you

@timdorr with the fixes for component types does this mean react-router 3 now officially supports react-redux 7.x?

@dlong500 I hope it could. If you encounter any problems, please create an issue. I'll try to fix it if possible.

Yes, I believe it should be good with connected components now.

Thanks @timdorr. I ran into the same issue yesterday, and today I see the fix is out :-)
I can confirm<EMAIL_ADDRESS>works with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>


button state

Hi,
I was wondering if you know how would it be possible to get the states of the trackpad and the grip button for example? Thanks

Yes it is possible. Look at the sample: https://github.com/ChristophHaag/openvr/blob/master/samples/hellovr_opengl/hellovr_opengl_main.cpp
It's this piece here, on bool CMainApplication::HandleInput():
// Process SteamVR events
	vr::VREvent_t event;
	while( m_pHMD->PollNextEvent( &event, sizeof( event ) ) )
	{
		ProcessVREvent( event );
	}

	// Process SteamVR controller state
	for( vr::TrackedDeviceIndex_t unDevice = 0; unDevice < vr::k_unMaxTrackedDeviceCount; unDevice++ )
	{
		vr::VRControllerState_t state;
		if( m_pHMD->GetControllerState( unDevice, &state ) )
		{
			m_rbShowTrackedDevice[ unDevice ] = state.ulButtonPressed == 0;
		}
}

Thanks, I managed to solve this.
I don't know if this is the right place to ask, but do you know which functions or external library I should use to generate the 2 images on the HMD from a 3D environment obtained from a e.g. kinect point-cloud?
If you know of any code which implements this it would be a great help.

Do you want to visualize on the HMD the rendering from RVIZ? If yes, look at the example: https://github.com/ChristophHaag/openvr/blob/master/samples/hellovr_opengl and the oculus on RVIZ package: http://wiki.ros.org/oculus_rviz_plugins. From these two maybe you can figure out how to take the RVIZ rendering and display it on the HMD.
If you don't want to visualize RVIZ, just follow the example: https://github.com/ChristophHaag/openvr/blob/master/samples/hellovr_opengl , and maybe populate the environment with your points?

So, I have a HTC Vive and a Kinect, kinect produces a sensor_msgs/PointCloud2 ROS message, and I'd like to integrate this with the hellovr_opengl example. The difference is that in the hellovr_opengl the cubes in the virtual environment are generated through OpenGL vertices and points. I am looking for some king of a bridge which would convert PointCloud information to something manageable by openvr maybe.


Custom model binder for methods with more than one parameter are not documented well enough.

Issue description
Custom model binder for methods with more than one parameter are not documented well enough.
Please refer this question:
https://stackoverflow.com/questions/56883548/custom-model-binder-for-a-webapi-method-with-more-than-one-parameter
Software versions
Check the .NET target framework(s) being used, and include the version number(s).

[x ] .NET Framework - 462

Moved to https://github.com/aspnet/AspNetCore.Docs/issues/13387.
Please use the This Page feedback form at the bottom of any topic. It tags the issue with metadata that helps us track the work.


Status Code 500 Not parsing error body

Version
3.8.3
Summary
Status Code - 500
{
  "errors": [
    {
      "message": "Not authorized to access the application.",
    }
  ]
}

Request throws above error check exception SS

The error message should be Not authorized to access the application. but it throwing Http request failed with status code 500.
If you check in SS, the actual message is mapped to errorMessage but not to actual message. Can you verify
Steps to reproduce the behavior
Simple BE is rejecting the call due to authorization failure
Logs
HTTP: 500
Content-Length: 96
Content-Type: application/json; charset=utf-8
Date: Wed, 12 Jun 2024 13:41:34 GMT
Access-Control-Allow-Origin: *
ETag: W/"60-gJWZg86eFcw8mD1L1mOqWJaf9e0ddd234"
request-context: appId=cid-v1:
X-Powered-By: Express
[end of headers]
{"errors":[{"message":"Not authorized to access the application."}]}

Hi!
When receiving an HTTP status that is not in the 2xx range, the client considers that the response is not a GraphQL response and will throw an ApolloHttpException as you noticed. In that case, the body isn't read by default, but you can configure the client to read it:
val client = ApolloClient.Builder()
//...
.httpExposeErrorBody(true)
.build()

When doing this, you'll get a non null ApolloHttpException.body. Note that you should close it after reading (you can do something like val body: String? = body?.use { it.readUtf8() }.

Worked! Thanks you fast reply

Glad it worked! Closing the issue, don't hesitate to reach out if you have other issues/questions.


Make CI only run once per PR/push

Following discussion here https://github.com/brainglobe/cellfinder-core/pull/29#discussion_r810246314 clearly we don't want the CI to run many times
Currently, if pushes are made to an open PR then the CI is effectively ran twice i.e.

Following discussions on here https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662/3 and explanation here https://tjtelan.com/blog/github-actions-push-vs-pr-workflow/ this is an easy way to avoid that

Is having GH actions run twice in these cases so bad? Leaving it as it is also means that the tests will run on branches (and mabe catching errors) before  PR is raised.

Honestly not sure https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662 from what I gather from this it would still catch stuff but avoid double runs

Discussed that we don't want this behaviour as the benefits of checking thoroughly outweigh the extra CI minutes used


Include CLD as a library

We need to include the CLD code as a library and document with the VisualEditor group how to translate a CLD to these components.

Done!


Batch update multiple feature services

Is it possible to batch update multiple feature services using one settings.ini file?

Not as it is currently configured. You'd need to change the logic in the INI and in the update code to loop.

@pdbartsch was good enough to add a PR to implement multiple feature services. His approach makes use of multiple .INI. (each INI controlling how the particular service is updated. So you'd have a directory of .INI files).
He added it here:  https://github.com/khibma/update-hosted-feature-service/blob/master/update_directory.py
I'll work on pushing it from my personal repro to the arcpy one. (I'll need to do some doc updates)

@khibma I'm happy to help with some doc updates if you point me to the right file.  Maybe just the readme?

Ya, the readme would be great if you have time. https://github.com/arcpy/update-hosted-feature-service/blob/master/README.md
I wont have time till after the UC to look at this again. So if you get to it before me, great, else I'll work on it then. thanks!


Creating an HomeAssistant add-on

Given that beszel can help monitor multiple systems, an add-on for HomeAssistant would be extremely valuable, either agent or hub.
This is the documentation by HomeAssistant for doing this -
https://developers.home-assistant.io/docs/add-ons/tutorial/#step-1-the-basics
I don't think it's a lot of work since the application is already packaged as a docker container, and I'm happy to lend a hand with some support to make this a reality.

I quickly created a very early and hacky addon. https://github.com/Obamium69/hassio-beszel_agent

I don't really have much experience with creating docker images and creating home assistant addons. Any help would be greatly appreciated :)

I use Home Assistant myself but have never created a plugin.
I'll check out what @Obamium69 did and look further into it after I've ironed out some other things and added some features that are higher priority.

When trying to add the repo in hass I get the error 'https://github.com/Obamium69/hassio-beszel_agent is not a valid add-on repository'... am I adding this wrong?

When trying to add the repo in hass I get the error 'https://github.com/Obamium69/hassio-beszel_agent is not a valid add-on repository'... am I adding this wrong?

Can you try again? I pushed a "fix" so it should work now.

Thanks for working on that so fast. I can add the repo now but in beszel it just shows the server as being down so it looks like I can't connect to it. I've added the public key from beszel to the add-on in Hass, but not sure what else is needed?
I'm sure I'm doing something wrong somewhere, I'll try again later.

@damomato  Does the addon have any logs?

@damomato  Does the addon have any logs?

Sorry didn't get around to this until now.
It's working great, thanks!

This is working great, thanks for setting this up!
Disk IO and Bandwidth aren't reporting, but that may be a limitation of HA or the Home Assistant Blue hardware.

I created a dev branch  so i can test things out. There are  some instructions on how to install it and it uses the latest agent version now. @nathang21 you can maybe try this:
Branch: https://github.com/Obamium69/hassio-beszel_agent/tree/dev
Add this as an repo in Home Assistant: https://github.com/Obamium69/hassio-beszel_agent#dev

Bandwidth should be now working but I'm currently not so happy with the solution.

@Obamium69 Let me know if I can help with anything.

@henrygd Would it be OK for you if there is some documentation on your website on how to set it up on Homeassistant?
The website should be this project, correct: https://github.com/henrygd/beszel-docs?

@Obamium69 Sure! That is the correct repo. You can reference this for formatting: https://vitepress.dev/guide/markdown
Don't worry about the zh translations if you don't know Chinese.


error: pyradiomics installation on windows 2008 r2

Dear Developers
#330 #
There is an error when I install pyradiomics  on windows 2008 r2. After I run python setup.py install, error below:
running install
running bdist_egg
running egg_info
creating pyradiomics.egg-info
writing requirements to pyradiomics.egg-info\r
writing pyradiomics.egg-info\PKG-INFO
writing top-level names to pyradiomics.egg-inf
writing dependency_links to pyradiomics.egg-in
writing entry points to pyradiomics.egg-info\e
writing manifest file 'pyradiomics.egg-info\SO
reading manifest file 'pyradiomics.egg-info\SO
reading manifest template 'MANIFEST.in'
warning: no files found matching 'CONTRIBUTING
warning: no previously-included files found ma
sv'
warning: no previously-included files found ma
eaturesDiff.csv'
warning: no previously-included files matching
ry ''
warning: no previously-included files matching
''
writing manifest file 'pyradiomics.egg-info\SO
installing library code to build\bdist.win-amd
running install_lib
running build_py
creating build
creating build\lib.win-amd64-2.7
creating build\lib.win-amd64-2.7\radiomics
copying radiomics\base.py -> build\lib.win-amd
copying radiomics\featureextractor.py -> build
copying radiomics\firstorder.py -> build\lib.w
copying radiomics\generalinfo.py -> build\lib.
copying radiomics\glcm.py -> build\lib.win-amd
copying radiomics\gldm.py -> build\lib.win-amd
copying radiomics\glrlm.py -> build\lib.win-am
copying radiomics\glszm.py -> build\lib.win-am
copying radiomics\imageoperations.py -> build
copying radiomics\ngtdm.py -> build\lib.win-am
copying radiomics\shape.py -> build\lib.win-am
copying radiomics_version.py -> build\lib.win
copying radiomics_init_.py -> build\lib.win
creating build\lib.win-amd64-2.7\radiomics\scr
copying radiomics\scripts\commandline.py -> bu
ripts
copying radiomics\scripts\commandlinebatch.py
cs\scripts
copying radiomics\scripts_init_.py -> build
ts
creating build\lib.win-amd64-2.7\radiomics\sch
copying radiomics\schemas\paramSchema.yaml ->
schemas
copying radiomics\schemas\schemaFuncs.py -> bu
hemas
UPDATING build\lib.win-amd64-2.7\radiomics/_ve
set build\lib.win-amd64-2.7\radiomics/_version
running build_ext
building 'radiomics._cmatrices' extension
error: INCLUDE environment variable is empty

This appears to be a problem during compiling the C Extensions. Do you have a Visual Studio Compiler setup on that machine?
If not, please check out this FAQ topic

@zhenweishi, did you manage to fix your issue?


Minor howto doc fixes

This PR has a few minor documentation fixes. Mostly related to rendering code blocks and small changes like "Github" -> "GitHub"

https://203-90722372-gh.circle-artifacts.com/0/html/index.html via Tim the artefact bot :)


Improving the looks of the Feedback form, Improving font of the navbar and changing padding of the nav elements.

Issue Description
### Improving the looks of the Feedback form, Improving font of the navbar and changing padding of the nav elements.
The Feedback form needs to be improved in terms of design of the buttons and the design of the entry fields, to match the website.

The nav bar needs significant improvement in terms of font, spacing, border-radius. i can make sure that i will make the navbar more visually appearing and improve the UI of the navbar
Kindly assign this to me under gssoc-extd and hacktober-fest
Thank you
Additional Context
No response
Screenshots or Examples (if applicable)
No response
Proposed Solution (optional)
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

for now we don't require any navbar improvements and in feedback form also.
I have seen many navbar issues, and i have mentioned it before for contributors to not create issues regarding navbar and there should be no more navbar issues, so i have closed this issue, if you have any queries, you can join discord server for further updates and communication.
we are not looking for navbar updates for now, as it was done and changes many times before, please understand.
and already it is in updation, so please understand.


feat(c#, java): change type of PermissionResource.type to String

Related to https://github.com/influxdata/influxdb-client-java/pull/303
Related to https://github.com/influxdata/influxdb-client-csharp/pull/290
Proposed Changes

Changed type of PermissionResource.type to String for C# and Java

Checklist

[x] Rebased/mergeable
[x] Commit messages are in semantic format
[x] Sign CLA (if not already signed)

@bednar  there are two checks check-generated-csharp and check-generated-java that needs to be fixed, can we safely push this ?

https://app.circleci.com/pipelines/github/bonitoo-io/influxdb-clients-apigen/437/workflows/6e0f3ed1-bdd3-42d4-9604-90e220915699/jobs/3030
https://circleci.com/gh/bonitoo-io/influxdb-clients-apigen/3029?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link


upgrade_proxy_wasm_sdk

What this PR does:
Layotto will do a lot of attempts in the direction of wasm, which will be faster than the development of the community, so this PR upgraded the version of proxy-wasm-sdk and added custom extensions to facilitate rapid iteration in the future.
Special notes for your reviewer:
The usage of the new version of proxy-wasm-sdk has changed a lot, so the implementation logic has made a lot of adaptations.

Codecov Report

Merging #225 (0bcbf6e) into main (a705ede) will increase coverage by 0.02%.
The diff coverage is 0.00%.

:exclamation: Current head 0bcbf6e differs from pull request most recent head 647d9ed. Consider uploading reports for the commit 647d9ed to get more accurate results

@@            Coverage Diff             @@
##             main     #225      +/-   ##
==========================================
+ Coverage   56.73%   56.76%   +0.02%
==========================================
  Files          51       51
  Lines        2316     2315       -1
==========================================
  Hits         1314     1314
+ Misses        872      871       -1
  Partials      130      130

Impacted Files
Coverage Δ

pkg/wasm/abi.go
8.69% <0.00%> (+0.36%)
:arrow_up:

pkg/wasm/factory.go
2.06% <0.00%> (ø)

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 a705ede...647d9ed. Read the comment docs.

LGTM


argtypes passes a union by value - Potential Error/Note

u/Jared246 ran into this yesterday on Reddit, which I expect is likely to be an issue in specific versions of Python (3.7.6 / 3.8.1). The issue was circumvented by commenting out DualShock-related lines in vigem_client.py (which wasn't important to them), but if it's the same as the linked issue I'd recommend at least a note in the README that those versions of Python shouldn't be used with this library.
If extra details are necessary they'll need to be tested for, or asked for from u/Jared246. I don't have experience with this library and unfortunately don't have time to set up a Windows VM and test it.

(sorry if this is formatted wrong I've never used github like this only for small personal projects in the past)
hey, I'm the user that found the error.  I am running python 3.8.1 (old IK I don't usually code that much and this is my first project back into it).  I believe the error popped up when I had both "import vgamepad as vg" and "gp = vg.VX360Gamepad()" lines in my code.
error is as follows:
""Traceback (most recent call last):
File "C:/Users/jared/Documents/Scripts/Python/ARDFlightSim/Sticktest.py", line 6, in
import vgamepad as vg
File "C:\Users\jared\Documents\Scripts\Python\ARDFlightSim\venv\lib\site-packages\vgamepad_init_.py", line 1, in
from vgamepad.win.virtual_gamepad import VX360Gamepad, VDS4Gamepad
File "C:\Users\jared\Documents\Scripts\Python\ARDFlightSim\venv\lib\site-packages\vgamepad\win\virtual_gamepad.py", line 6, in
import vgamepad.win.vigem_client as vcli
File "C:\Users\jared\Documents\Scripts\Python\ARDFlightSim\venv\lib\site-packages\vgamepad\win\vigem_client.py", line 174, in
vigem_target_ds4_update_ex.argtypes = (c_void_p, c_void_p, DS4_REPORT_EX)
TypeError: item 3 in argtypes passes a union by value, which is unsupported.""
I was able to remedy this error by commenting out line 174 in the file "vigem_client.py".  Line says:
vigem_target_ds4_update_ex.argtypes = (c_void_p, c_void_p, DS4_REPORT_EX)
I'm not using this modules DualShock functionality so I figured "what's the worst that can happen if I just comment it out." so I did.  It seems to be running fine now.
Thank you very much for your time in both making this module and supporting it.  I'm not sure if any thing will get done about my problem specifically (bc its probably fixed if I just update my python) but its here for any future users who may encounter this issue on the same version

@JaredSurette thanks for providing the traceback and extra info.

(sorry if this is formatted wrong I've never used github like this only for small personal projects in the past)

Looks fine to me - congrats on making your first open-source contribution then :-)
Only suggestion on the formatting would be to put the error traceback in a code block (so that things like \__init__.py don't appear as _init_.py), which you can do by putting three back-ticks (```) on their own line before and after it :-)

Mmh, this probably does need a fix: https://bugs.python.org/issue16575
Looks like updating python would just hide a bug here.

Yes, the problem is that the vgamepad API that I intended to develop for passing extended reports to the DS4 controller relies on a vigem client C function that takes a union by value, and currently the documentation of ctypes does state that this is not supported. I could modify vigem client to add a function that takes this union by pointer (I have done this locally already in fact), but I don't like to branch the vigem client dlls away from their master branch. That being said, the change can be temporary (until libffi is fixed, if that ever happens) and will be invisible to the user.


Could the clipboard be a special target?

If the clipboard was a special target:

Pasting could be untied from the cursor. e.g. bring clipboard to <target>
The following would be equivalent

carve and move <target> to clipboard
copy and bring <target> to clipboard

Many commands don't make sense in this context, e.g. pour

This is more a request for debate rather than a feature request. I'm also not sure if we'd want to deprecate copy and carve; that would definitely mess with my muscle memory.

A couple thoughts on the connection to #46:

In that issue, bookmarks will become rich objects that can describe all sorts of things
So you could actually break down the concept of “clipboard” further
Bringing something to the clipboard is equivalent to passing the target through a modifier that extracts the textual contents and divorces them from the target itself, and then you insert that into a bookmark called “clipboard”

Also note that this direction will be easier once we have #210, because then the clipboard can just be an object-oriented target

I really like this idea.