Filename Missing in ExtraArgs with Real Debrid

Hi,
I wanted to let you know that even though it looks like the filename should appear as intended in the commit #0a1c54b, it sadly doesn't work in practice.
As you can see, for the free version, it works fine:

But for the Real Debrid option, the filename isn't sent back:

This information is provided from your addon through Stremio. I hope you can find and resolve the problem, as the filename needed to quickly find the suitable subtitle (through a script).
Thank you for the awesome addon!.
Note: I know the both torrents in the video are not identical, i couldn't see it in the free version as it not loaded. but the problem remain the same through all the torrents
If needed information here's Stremio official commit for this change: #60b81f4

Ahh, thanks for notifying, I forgot to test the API response data with streaming provider. The issue is behaviorHints value get replaced. Fixed now.
Also note that, in some torrents, the filename is not present at initial stage, This can be happened when it scraped from prowlarr data via magnet link, torrentio api response. In these cases It's responding without file name, we're running magnet scraping in background task so after sometimes it might give you the filename.

Thank you for your dedication to this project. Your commitment is much appreciated

Thank you very much!
Can you keep the issue open until next MediaFusion 3.9.8 release for updates after testing the final results?

Ahh ill publish on this week.

@Nitzantomer1998 could you validate the response and close this issue.

As i mentioned, our database not always contains the filename per torrent, if its scrape it through a magnet link in prowlarr or scrape it through torrentio. So in this case the code changes is behaving as intended.

Closing this issue as completed, will add some schedule task to scrap it back the filenames.

Hey @mhdzumair ,
Is it possible to not trust the filename scraping, and for RD sources - simply provide the RD Stream URL? (And the subtitles addon will parse the filename from it)
Example:
https://xxx.download.real-debrid.com/d/<USER_API_KEY>/The.Avengers.2012.720p.BluRay.x264.YIFY.mp4

Is it possible to not trust the filename scraping, and for RD sources - simply provide the RD Stream URL? (And the subtitles addon will parse the filename from it)

It's not possible to give the rd link at time of sending the /stream response. Otherwise, we have to download every single torrent into RD. it's not a feasible solution.

It's not possible to give the rd link at time of sending the /stream response. Otherwise, we have to download every single torrent into RD. it's not a feasible solution.

If only magnet link is available, maybe send the selected Torrent name in sources display as filename arg?

how the subtitles addon getting the data? With just a filename? or any thing get from torrent hash?

i can send the torrent name.

The information that Stremio provide to Subtitles Addons, is only a json of:
contentType: (Movie, Series, Podcast...)
compoundID (imdbID:season:episode)
extraArgs: (videoHash, videoSize, and optional filename)
with the filename i can map the perfect subtitle to the watch content.
you can see the structure of the json in the first massage in this conversation

The torrent name should be the match Im looking for, and i guess also other Subtitles addons.
Once again thank you

i can send the torrent name.

That should be good.

filename: - string, filename of the video file

According to the stremio docs, I thought this would be the file name of inside the torrent file. But if your subtitle addon just looking through the torrent file name, that would be easy for me, and all torrents in our db contains the torrent file name.

Don't get me wrong, the actual filename of the video would be much better. However, from what I understand, that's not possible right now.
So, I'll use the torrent name. It will still be an improvement over the current state.
if the video filename is exist and possible to be returned is much better.

Gotcha will send filename of video if available if not will send the torrent name.

Hey @Nitzantomer1998, 3.9.11 is out. You can see the filename for either video file name or torrent name.

Anything else you preferred?

For some reasons its still doesn't show the filename.
Let me investigate a bit, because I'm not seeing why you get (Like the last photo) and i don't.

Hey @Nitzantomer1998, 3.9.11 is out. You can see the filename for either video file name or torrent name.

Anything else you preferred?

Does it get sent to Stremio's extraArgs?
With MediaFusion free configuration it always works, but with Real Debrid authorized, it's doesn't show up in extraArgs

@TwilightMercy the screenshot i showed is with the Real-Debrid authorized.
May be the stremio core doesn't sending it when using url for media. Have you validated with other addons?

For some reasons its still doesn't show the filename. Let me investigate a bit, because I'm not seeing why you get (Like the last photo) and i don't.

Are you not getting for your account from mediafusion api or you're not getting the filename from stremio for the subtitles addon?

Im not working with your API, Im working with what stremio provide me from using your addon.
But i will investigate a bit and call you back.

@TwilightMercy the screenshot i showed is with the Real-Debrid authorized.
May be the stremio core doesn't sending it when using url for media. Have you validated with other addons?

When not authorizing Real Debrid, is the code that sends the torrent filename to extraArgs and that works is different from the RD implementation you've added?

@mhdzumair ?

Hey @Nitzantomer1998, 3.9.11 is out. You can see the filename for either video file name or torrent name.
Anything else you preferred?

@TwilightMercy no the above images is when authorize it with RD. the API sends the filename. So its issue in stremio-core which doesnt send the filename args. Ill check from stremio-core when time permits. or you can look into that from https://github.com/Stremio/stremio-core


8805 fix layer content letter cue

Resolves #8805

@piensaenpixel can you review please? Not sure if I've used the CSS styles appropriately.
cc @urbanphes

🇪🇸


Define minimal set of initial features

Right now this plugin branch represents a vibrant assortment of APIs that we have not firmly committed to supporting.
In practice, we will want to roll out APIs as we're ready to endorse their security and support them.
To do this, we will need to refine our management of this repo a little bit.
Maybe:

Keep a simplest and most secure branch which represents our most-prod-ready branch.
Keep most other API proposals on other branches
More freely merge those proposed APIs into the more experimental branch (develop)?

Right now we lack that bare-bones branch, and any real isolated feature branches. We will want to remedy that before we go to production.

A proposed initial production target, for which I've begun the MVP-Blocker tag.
Starkware MVP Plugin
A Starkware plugin is a strong plugin target because it

Adds considerable utility immediately (a high-throughput exchange)
Has the same requirements as any L2 scaling strategy (custom assets, custom confirmations)
Also has the requirements of any alternative cryptography (requires app keys)
We have a strong relationship with the team, so we are more comfortable shipping their plugin as "available" before we open the entire API to unknown plugins.

The APIs they require

[ ] Manage custom asset (#102, #103, #105, and any other improvements)
[ ] Reliable restorable app keys.
[ ] Display custom confirmation (#52, needs design)

Conclusion
Posting this now to invite feedback from starkware, to see whether this set of features seems to meet their basic requirements.

No longer relevant.


Add flutter midjourney #281

added Flutter_midjourney #281

The project description says it uses midjourney's api but uses some other API provider.


Feature/store emails in invoice mails table

Targets #1940
Description
I have stored invoices in the invoice_mails table for type invoice.
Checklist:
I have performed a self-review of my own code.

Merging in the base branch. Will review together


Add methods to allow introspection into the state of the bucket.

This pull request introduces the ability to look into the state of the token bucket and determine

What the bucket's capacity is.
How many tokens are currently in the bucket.
How long until more tokens may be added to the bucket.

@mmadson I believe this pull request will address the features you requested in #4.  Please have a look and give me feedback.  The only change I made from your suggestion was that the implementation of TokenBucket.getDurationUntilNextRefill returns a duration until the next refill vs the UTC timestamp of the next refill.  The reason for this is because the existing refill strategy uses System.nanoTime as its mechanism of keeping time.  System.nanoTime while very high precision is however not directly translatable to the system or wall-clock -- it's only suitable for performing relative computations.  Given that it seemed more straightforward and more generally useful to return a duration vs an absolute timestamp.  For your particular use case you'll need to offset the current time by that duration.

@bbeck I've had a chance to look over your pull request. Everything looks great, exactly what I was hoping for! Looking forward to the official release. Your efforts are very much appreciated.


make install still fails

./configure --enable-shared --disable-debug --disable-dependency-tracking --prefix=/opt/homebrew/Cellar/libmxml/4.0.0 --libdir=/opt/homebrew/Cellar/libmxml/4.0.0/lib && make install gives:
  ==> make install
  Installing libmxml4.so to /home/linuxbrew/.linuxbrew/Cellar/libmxml/4.0.1/lib...
  Installing libmxml4.a to /home/linuxbrew/.linuxbrew/Cellar/libmxml/4.0.1/lib...
  mkdir: cannot create directory ‘/home/linuxbrew/.linuxbrew/Cellar/libmxml/4.0.1/lib’: File exists
  make: *** [Makefile:245: install-libmxml4.a] Error 1
  make: *** Waiting for unfinished jobs....

In version 4.0.1
https://github.com/Homebrew/homebrew-core/pull/166898

Not sure why it is erroring out (install-sh shouldn't care if the destination already exists) but let me see what is going on...

Add "-j1" to your "make install" command - it is running the two install targets in parallel, which causes the error.
I will update the makefile to force the install targets to run one at a time (.NOTPARALLEL).

[master b4dfd13] Add NOTPARALLEL GNU make extension to avoid install errors (Issue #314)
I won't be releasing this right away but sometime early next week. In the meantime use "-j1" (or set the MAKEFLAGS environment variable accordingly).

@michaelrsweet Thanks for the quick turnaround, can you tag the commit and cut a new release? 🙏

@chenrui333 Like I said, I'll hold off until early next week (maybe Monday, we'll see) in case other bugs get reported in the meantime.

works for me. 👍


Add default bar app icons

:v:
/cc @zendesk/vegemite
Description
Add default bar app icons
Risks

low: too many people submit apps with default icons when they don't need them

why? lotus will serve defaults if they're missing

Doesn't seem to happen in ZAT, plus it gives devs a base to work off?

at the cost of making it impossible to change the default later

Heh heh... yeah.


chore: bdd-spring-1592582947 to 0.0.1

chore: Promote bdd-spring-1592582947 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Unable to install acorn npm package (inability to symlink on mounted drives)

Steps to reproduce:

Launch "Bash on Ubuntu on Windows" (note that it appears to use the 'root' user by default)
Install nodejs via: curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs
Try to install the acorn package via npm install acorn

You'll get this message:
npm ERR! Linux 3.4.0+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "acorn"
npm ERR! node v5.10.1
npm ERR! npm  v3.8.3
npm ERR! path ../acorn/bin/acorn
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! syscall symlink

npm ERR! Error: EPERM: operation not permitted, symlink '../acorn/bin/acorn' -> '/mnt/r/path/node_modules/.bin/acorn'
npm ERR!     at Error (native)
npm ERR!  { [Error: EPERM: operation not permitted, symlink '../acorn/bin/acorn' -> '/mnt/r/path/node_modules/.bin/acorn']
npm ERR!   errno: -1,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'symlink',
npm ERR!   path: '../acorn/bin/acorn',
npm ERR!   dest: '/mnt/r/path/node_modules/.bin/acorn',
npm ERR!   parent: 'myproject' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /mnt/r/path/npm-debug.log

Not sure how to proceed as I'm already root with full permissions
UPDATE: For other nodejs developers finding this issue. Here is what I seem to have uncovered so far:

npm install -g {anything} doesn't seem to work
npm install {anything} doesn't seem to work if installing anywhere on /
npm install {some_packages} on /mnt/{something} sometimes doesn't work depending on whether or not that package needs to create symlinks

Did you run the bash window as administrator in Windows?  My very limited understanding is that in order for you to actually have elevated permissions to the underlying file system (and probably other stuff) you need to open the window elevated.

Launching "Bash on Ubuntu on Windows" with "Run as administrator" did not help resolve this issue. The same error appears.

It appears, ln -s doesn't work on the mounted drives, which is what's causing the issue:
cd /mnt/c/Windows/Temp
touch a
ln -s a b
> ln: failed to create symbolic link ‘b’: Operation not permitted

Before going into possible solutions, I should point out that there are some issues with npm not related to symlinks. I have not tried acorn but will make certain this is one of our test.
I should also point out that we have added a little bit about the filesystem here:  https://msdn.microsoft.com/en-us/commandline/wsl/faq.
That said, are you able to install acorn someplace under '/'?

That said, are you able to install acorn someplace under '/'?

No. This works:
cd /tmp
touch a
ln -s a b

But this doesn't:
npm WARN enoent ENOENT: no such file or directory, open '/tmp/package.json'
npm WARN tmp No description
npm WARN tmp No repository field.
npm WARN tmp No README data
npm WARN tmp No license field.
npm ERR! Linux 3.4.0+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "acorn"
npm ERR! node v5.10.1
npm ERR! npm  v3.8.3
npm ERR! path /tmp/node_modules/.staging/acorn-baee3507
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rename

npm ERR! Error: EACCES: permission denied, rename '/tmp/node_modules/.staging/acorn-baee3507' -> '/tmp/node_modules/acorn'
npm ERR!     at destStatted (/usr/lib/node_modules/npm/lib/install/action/finalize.js:25:7)
npm ERR!     at FSReqWrap.oncomplete (fs.js:82:15)
npm ERR!
npm ERR! Error: EACCES: permission denied, rename '/tmp/node_modules/.staging/acorn-baee3507' -> '/tmp/node_modules/acorn'
npm ERR!     at Error (native)
npm ERR!  [Error: EACCES: permission denied, rename '/tmp/node_modules/.staging/acorn-baee3507' -> '/tmp/node_modules/acorn']
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/npm-debug.log

Actually, love the info.  Thanks!
I'll take this up to the devs tomorrow.  The fact that you're seeing the socket error makes me think that we have a bug someplace in our code.  I'll make certain it gets to the right place.

Related to #6 and/or #9 ?

@russalex This could be an issue with running the command as root.  I was getting the same stack and the same "could not get uid/gid" running:
npm install npm -g

I found these switches --user and --unsafe-perm

unsafe-perm

Default: false if running as root, true otherwise
Type: Boolean

Set to true to suppress the UID/GID switching when running package
scripts.  If set explicitly to false, then installing as a non-root user
will fail.
user

Default: "nobody"
Type: String or Number

The UID to set to when running package scripts as root.

When I executed:
npm --user root --unsafe-perm true install npm -g

It gets all the way to the end and fails.
I tried again with a few different accounts existing and non-existing.  It always makes it to the end and fails with this:
root@localhost:~# npm --user sync --unsafe-perm true install npm -g
-<EMAIL_ADDRESS>node_modules/npm/node_modules/async-some
npm ERR! Linux 3.4.0+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "--user" "sync" "--unsafe-perm" "true" "install" "npm" "-g"
npm ERR! node v5.10.1
npm ERR! npm  v3.8.3
npm ERR! path /usr/lib/node_modules/npm
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rename

npm ERR! Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm.DELETE'
npm ERR!     at moveAway (/usr/lib/node_modules/npm/lib/install/action/finalize.js:38:5)
npm ERR!     at destStatted (/usr/lib/node_modules/npm/lib/install/action/finalize.js:27:7)
npm ERR!     at FSReqWrap.oncomplete (fs.js:82:15)
npm ERR!
npm ERR! Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm.DELETE'
npm ERR!     at Error (native)
npm ERR!  [Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm.DELETE']
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /root/npm-debug.log

I've got to call it a night, but I will try to look into it more tomorrow.   Hopefully someone will have a workaround by then.

Ok, good news and bad news.
First the good news.  Running through the steps on /tmp on one of our dev branches.  Looks like there's a fix inbound.  This morning I was able to:

/tmp$ npm install acorn
/tmp
└──<EMAIL_ADDRESS>npm WARN enoent ENOENT: no such file or directory, open '/tmp/package.json'
npm WARN tmp No description
npm WARN tmp No repository field.
npm WARN tmp No README data
npm WARN tmp No license field.

Bad news is that this does not work through /mnt/c. I'll need to write a bug on that one.
The team is hard at work fixing bugs.  Every build we put out should have visible improvements.  Not certain when this one will hit the insider flight, but it is inbound.

@russalex Thanks for the update! When files are written to / where do they actually go? Somewhere on the C: partition? Will files written to / disappear if Bash on Windows is uninstalled?

#14

@Buck-Rawgers I got the same issue even i use --user root and run my bash as Administrator. Any ideas?

@Buck-Rawgers until a update comes out fixing symlinks, there isn't much to do at this point.

@EvNaverniouk go to %LOCALAPPDATA%\lxss\root and you will find the files that you are looking for (if I understood the first part of you question).

any solution available ?

@592da Apparently the Microsoft team has been making some progress here. We're waiting for a new update to Bash on Windows to give it another try. But so far it sounds like if you want to use npm you will need to do it on files in / and NOT on your mounted /mnt/* drives. Which is a bit of a bummer but still better than nothing. We have to wait and see what the team can do.

New build is out :http://aka.ms/wip14328
Release notes for Bash on Ubuntu on Windows are here:  https://msdn.microsoft.com/en-us/commandline/wsl/release_notes
I can confirm that npm working (without -g) on / is in the build.  Getting these links on /mnt/ is working internally and will soon get onto the release pipeline.  No ETA on when it will hit the public.
Keeping this one open until full solution hits the public.

@russalex Did some testing on Build 14328 and can confirm your notes

:white_check_mark: npm install acorn (and many other packages I tried) works in /tmp
:cry: npm install -g acorn still doesn't work (same uv_pipe_open error)
:cry: npm install acord still doesn't work in /mnt/* (same symlink operation not permitted error)

Amazing work so far! And incredible community outreach from the Microsoft team working on this project. Really excited to try out the next public release.

Still having an symlink error on /mnt on build 14328

does not work for
npm install -g tldr

I've "fixed" npm to install global packages into the home directory via .npmrc
prefix=/home/peter/.npm-packages

Now I'm getting a new error when I try installing any package:

npm install -g yo

npm WARN deprecated<EMAIL_ADDRESS>this package has been reintegrated into npm and is now out of date with respect to npm
npm ERR! Linux 3.4.0+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "yo"
npm ERR! node v5.10.1
npm ERR! npm  v3.8.3
npm ERR! code EIO

npm ERR! EIO: i/o error, read
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /home/peter/npm-debug.log

npm --version
3.8.3
node --version
v5.10.1

Known issues for -g and for /mnt/x drives.  Fixes are inbound.  Can't promise an ETA.  I'll make certain they are in the release notes when they land on the Insider ring.

thanks

Did this make it into Build 14332?

Just tried to install grunt with -g and getting EACCESS errors, so looks like not(?).

New release (14342), time to comment here.  Some good news and some bad news.
The good news:

npm install acorn on /mnt/* drives now installs
sudo npm install -g acorn also installs

Now the bad news.

Issue #313 looks to be breaking some npm packages (have not tested them all but know this is a bad bug).  We have a fix inbound which we are planning on getting out on the next insider release.  I have tried sudo npm install -g yo with the fix and it looked to install.  Right now I believe this is the last of the npm blockers.

New build is out (14352).  This should fix the issue in #313.
All known npm bugs are now fixed.  Please report if anything else looks odd.

I was having a lot of npm errors after upgrading to Build 14352. So I did a full re-install of Bash For Windows (using these instructions: https://github.com/Microsoft/BashOnWindows/issues/4#issuecomment-206657867). Then after re-installing node (using these instructions https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) I can confirm:

:white_check_mark: npm install acorn works in /tmp
:white_check_mark: sudo npm install -g acorn also works
:white_check_mark: npm install acorn also works in /mnt/*

Incredible work @russalex & team. I am now unblocked to do my day-to-day work using Bash On Windows! Closing issue!

I am so glad to hear you say that! This amazing GitHub community has been a huge part of how we have been able to iterate so quickly. Thank you from all of us!

I also faced that issue. I got that solved by using windows PewerShell. Try run PewerShell in administrator mode and run npm update. This will show you the list of modules which are not compatible with windows architecture but installation will be completed. I also did downgraded the npm to version 3.10.5.

run PowerShell with administrator privilege.
https://github.com/felixrieseberg/npm-windows-upgrade
npm install in the project folder

Hope this might help someone.

try npm install acorn --no-bin-links

... do we have a spot tracking separate issues with npm install -g ?  i'm unable to install phantomjs-prebuilt via npm install -g, though i can install it into a local home directory, and then manually mv it to /usr/lib/node_modules, making it work

me also facing this issue in WSL/Debian, node 10.2.1, npm 6.1.0, using nvm
--no-bin-links flag is not helping

I've tried powershell as administrator, using ubunto both - not as root, and as root - doesn't fix the symlink problem.
I've uninstalled and reinstalled with lxrun.... doesn't fix the symlink problem.
I've uninstalled and reinstalled from the microsoft site.... doesn't fix the symlink problem.
Installing a module with --no-bin-links does work, but trying to work on a large project and having to manually install each module that might have symlinks or needed globally, with --no-bin-links each time doesn't seem like a good option for developers.

Same permission issue here.
I tried to create a simple symlink and it worked:
aymeric@box:/mnt/c/Users/aymeric/Desktop$ ln -s /mnt/c/Users users
However I have difficulties to install packages, even with --no-bin-link flag :
npm ERR! path /mnt/c/Users/aymeric/Documents/PROJECTS/nodejs/Roadmap/node_modules/.static-eval.DELETE/node_modules/esprima
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rename
npm ERR! Error: EACCES: permission denied, rename '/mnt/c/Users/aymeric/Documents/PROJECTS/nodejs/Roadmap/node_modules/.static-eval.DELETE/node_modules/esprima' -> '/mnt/c/Users/aymeric/Documents/PROJECTS/nodejs/Roadmap/node_modules/static-eval/node_modules/esprima'
npm ERR!  { [Error: EACCES: permission denied, rename '/mnt/c/Users/aymeric/Documents/PROJECTS/nodejs/Roadmap/node_modules/.static-eval.DELETE/node_modules/esprima' -> '/mnt/c/Users/aymeric/Documents/PROJECTS/nodejs/Roadmap/node_modules/static-eval/node_modules/esprima']
...

I have Windows 10 Enterprise, v1703, OS build 15063.540
Based on this other issue https://github.com/Microsoft/WSL/issues/14 I tried to close everything and I rebooted: and it worked! Looks like it's effectively a EBUSY issue and not a EACCESS...
The resolution: close everything that could interact with the folder (like SublimeText and other stuff) to make it work.
Thanks

I have the same issue. Is there any progress on this?

Yep, the issue is still there. Clearly something to fix for WSL.

For anyone having this issue with docker on windows, using the windows container solves this issue with symlinks.

Same issue, using npm directly on windows 10 installing acorn

I ran into the same issue on /mnt/d which is just a separate partition on my main hard-drive. Wondering could it be because it's formatted as fat32 (for better interoperability with native linux)? Perhaps symlinks only work in WSL on NTFS drives?

I also struggled with this for a while. It turned out that, indeed, exFAT doesn't support symlinks. I reformatted the partition to NTFS and it all works without a hitch ever since.

I ran into this issue while setting up a new Project with VSCode using the VSCode-remote functionality. I'm running an Ubuntu Linux VM in WSL for development work.
The comment from @Aymkdn was spot on - in my case it was an EBUSY, not an EACCES error, due to the fundamental 'feature' of NTFS - if a directory is in use by another application (in this case, VSCode), it cannot be modified or deleted. Acorn's need to delete that one file threw everything out of whack. :)
Remediation:

Close VS Code or anything also accessing the files you are working on
Have only the WSL terminal open
Install desired npm packages via terminal
Reopen VS Code/Editor/etc

This issue happens again, please reopen it!

Just ran into this error as well.

Probably the same issue as #1529.

Installing WSL2  should fix this issue, btw.

I'm still having this issue! Did anyone fixed it?

This is STILL an issue in 2022. Debian 12, 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 GNU/Linux, nodejs v16.15.1, npm 8.13.1.


Extension block

How can I block the loading of files with certain extensions?

The code doesn't do that (yet), but it would be fairly simple to implement. Feel free to send a PR if you do🙌

Ok I will study it! Thanks😁

This is doable now with the generic hook thingy: 8ff340afc9ab901714526370863350c37e75cbc2


[BYOC-DNNL] Prune dnnl subgraph.

This PR is inspired by tensorrt.py.
It aims to add prune function to dnnl subgraphs, so that we can only keep partitions contain compute-intensive ops, and offload some useless partitions from dnnl codegen.

LGTM.


RichDiagnostic should point to the source of the primary label

https://github.com/brendanzab/codespan/blob/master/codespan-reporting/src/term/views/source_snippet/mod.rs#L60#L66
https://github.com/brendanzab/codespan/blob/master/codespan-reporting/src/term/views/source_snippet/mod.rs#L87#L107
In SourceSnippet reporting, it tries to determine the max region of the error. Perhaps in previous versions this made sense, but in the latest version, the diagnostics are a PrimaryLabel + a list of other second labels (with notes and warnings, etc)
So it feels very peculiar to not just point to the PrimaryLabel's location in the span of the error message.
Consider this example from Rust:
error[E0308]: if and else have incompatible types
   --> path/to/my_file.rs:221:9
    |
218 | /     if (true) {
219 | |         5
    | |         - expected because of this
220 | |     } else {
221 | |         false
    | |         ^^^^^ expected integer, found bool
222 | |     };
    | |_____- if and else have incompatible types
    |

SourceSnippet would put this min/maxed box of  path/to/my_file.rs:219:14 as the location, not path/to/my_file.rs:221:9 which is the location of the primary label

I understand this isn't super trivial, as SourceSnippet is used for other groups too. https://github.com/brendanzab/codespan/blob/master/codespan-reporting/src/term/views/diagnostic.rs#L57
Perhaps it should case on the label severity in span()?

Yeah, this seems reasonable! Might have to do a bit of thinking to figure out how best to do this given the current setup.

Yeah, I think the logic would fit in SourceSnippet::span. We'd probably want to return the locus location along with the span (the latter is needed to figure out what span of source will be printed).


'pac canvas download' command failing with "No auth profiles were found on this computer" error

Even though the authentication profile created and available, 'pac canvas download' command keep throwing "No auth profiles were found on this computer" error. Please refer the screenshot below.

Hi,
I see you are using auth type (DATAVERSE). Can you try to do the same steps with auth type (*UNIVERSAL)?
You may also want to take a look at this blog: https://devblogs.microsoft.com/powerplatform/power-platform-cli-simplifying-authentication-profiles/


Implementation of COVESA Fleet Management Data Guidelines

It would be great to showcase a few of the recomendations using the new COVESA Fleet Management Data Guidelines (FMDG) instead of the FMS standard. The idea here being that by using the COVESA standards we are more open and transparent for the ecosystem. More background info can be found here for the FMDG
See reference to the current set of guidelines here
Maybe we could create a new feature branch where we can work on this together @tguild @noci0001 or happy to discuss how the working mode could be here as we will want to use geotabs rust Curve algo also to fufill the smart sampling requiremtn of the FMDG

For topic no 2. Here is a a starting point for the "Fleet Energy Predictor" use-case https://github.com/COVESA/commercial-vehicles/issues/12
In the COVESA CV group we will aim to transfer these data points into a "Data campaign" for it
We should be able to find all the datapoints and sampling requirements here for implementation > for more questions this is the best contact source @cgrewer1


Add ScanSnap Manager for Fujitsu ScanSnap iX500.

I just cribbed off of the other ScanSnap Manager packages.
I know this works.
However, the installer does pop open an interactive prompt to set up the scanner. I don't know if that makes it inappropriate for Homebrew Cask.
Feedback welcome.

Thank you for your contribution! This works quite well and after the main installation the setup window does pop up. What do you think @vitorgalvao, should we add this even with an interactive prompt to set up the scanner?

Would you mind checking the url as really being the official one, @Ngrd (always has to be confimed by a maintainer, since host from url and homepage are different), and what’s chocking Travis? I’m on a phone, so can’t do it very well.
It popping up a GUI right after installation isn’t very pleasant, but at least said GUI isn’t blocking the installation, so we can allow it. We should introduce something in the future to forewarn of these cases, but I’m still thinking of how best to do it, and will open a discussion before.

Thank you, @vitorgalvao. In this case I will merge this with few small changes mentioned. The download URL is official so will add the comment and fix the "Trailing whitespace" issue.

Thanks. Let me know if there is anything else I can do to help.

Thank you for the contribution. It needed some fixes, so they were made in 0b56174436019368f7a73be93000655649ca7094. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.

During the manual commit the invalid vendor tag appeared, so it was fixed in https://github.com/caskroom/homebrew-cask/pull/12909.


Pokepaste Artwork

hey! I just wanted to send a message to Pokepaste that there is some upscaled Dream World/Pokemon Home/Global Link images for the 8th gen that would greatly improve the quality of the images that already exist as well as provide images for Galar versions. below I have provided a link that will send you to a google doc listing with links to the upscaled images. I personally did not make these but I think they'd be great for the website and I would definitely appreciate the move, thank you.
https://docs.google.com/spreadsheets/d/1VQkEWoiIT5UvNGn0Sal_9d9er6XqQ7PxvlBY0s649Og/edit#gid=0

Thanks! I did take note of this when you first submitted the issue. I've now moved to using different images, so this is all taken care of.


alertmanager alert can't work.

configuration:
`
alert:

"alertmanager"
alertmanager_hosts:
"http://alertmanager:9093"
alertmanager_alertname: "Title"
alertmanager_annotations:
severity: "error"
alertmanager_labels:
source: "elastalert"
alertmanager_fields:
msg: "message"
log: "@log_name"
`

It's not yet released. It will be released this week.

After updating Elastalert to 2.2.3 I am still facing the same issue as Mike.
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/elastalert/util.py", line 27, in get_module
    module_path, module_class = module_name.rsplit('.', 1)
ValueError: not enough values to unpack (expected 2, got 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 522, in load_alerts
    alert_field = [create_alert(a, b) for a, b in alert_field]
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 522, in <listcomp>
    alert_field = [create_alert(a, b) for a, b in alert_field]
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 506, in create_alert
    alert_class = self.alerts_mapping.get(alert) or get_module(alert)
  File "/usr/local/lib/python3.9/site-packages/elastalert/util.py", line 31, in get_module
    raise EAException("Could not import module %s: %s" % (module_name, e)).with_traceback(sys.exc_info()[2])
  File "/usr/local/lib/python3.9/site-packages/elastalert/util.py", line 27, in get_module
    module_path, module_class = module_name.rsplit('.', 1)
elastalert.util.EAException: Could not import module alertmananger: not enough values to unpack (expected 2, got 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 162, in load
    rule = self.load_configuration(rule_file, conf, args)
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 225, in load_configuration
    self.load_modules(rule, args)
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 489, in load_modules
    rule['alert'] = self.load_alerts(rule, alert_field=rule['alert'])
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 525, in load_alerts
    raise EAException('Error initiating alert %s: %s' % (rule['alert'], e)).with_traceback(sys.exc_info()[2])
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 522, in load_alerts
    alert_field = [create_alert(a, b) for a, b in alert_field]
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 522, in <listcomp>
    alert_field = [create_alert(a, b) for a, b in alert_field]
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 506, in create_alert
    alert_class = self.alerts_mapping.get(alert) or get_module(alert)
  File "/usr/local/lib/python3.9/site-packages/elastalert/util.py", line 31, in get_module
    raise EAException("Could not import module %s: %s" % (module_name, e)).with_traceback(sys.exc_info()[2])
  File "/usr/local/lib/python3.9/site-packages/elastalert/util.py", line 27, in get_module
    module_path, module_class = module_name.rsplit('.', 1)
elastalert.util.EAException: Error initiating alert ['alertmananger']: Could not import module alertmananger: not enough values to unpack (expected 2, got 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/elastalert", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/site-packages/elastalert/elastalert.py", line 2155, in main
    client = ElastAlerter(args)
  File "/usr/local/lib/python3.9/site-packages/elastalert/elastalert.py", line 128, in __init__
    self.rules = self.rules_loader.load(self.conf, self.args)
  File "/usr/local/lib/python3.9/site-packages/elastalert/loaders.py", line 170, in load
    raise EAException('Error loading file %s: %s' % (rule_file, e))
elastalert.util.EAException: Error loading file /etc/elastalert/rules/ssh_maximum_attempts.yaml: Error initiating alert ['alertmananger']: Could not import module alertmananger: not enough values to unpack (expected 2, got 1)

My rule file
name: SSH MAximum Failed Login

type: frequency

num_events: 2

timeframe:
  minutes: 10

filter:
- term:
    rule.description : "Maximum authentication attempts exceeded."

index: wazuh-alerts-*

alert:
  - "alertmananger"
alertmanager_hosts:
  - "http://<IP_ADDRESS>:9093"

You spelled alertmananger wrong.

You spelled alertmananger wrong.

Oh! my bad.
Thank you!


How is the ranking decided?

Before the #448 update, Svelte was placed third on the Gold Rank.
https://github.com/gothinkster/realworld/tree/d5d69bb24c9e4ebd97f530c382229bee09388763
But now, Svelte is now located in the second position of the Bronze Rank.
I wonder how such a severe fluctuation occurs.
Can I see the causes or statistics of these changes?

Hey @hmmhmmhm Unfortunately this is very confusing. There is an issue on this with an explanation #358

I see... It very confusing... I hope that this problem will improve.

@hmmhmmhm I think the ranking depends on the rating start of a project repo itself , I try to follow the sequence of stars it seems as it works like that

@Kijacode
It's really really easy to get confused.
For example, this like misunderstanding is possible,
"Wow, the gold medal is attached! All the skills under this golden medal must be top-notch!"
"Well... the skills below the silver medal must be worth it... It's a second-rate technology, but it's good, right?
"Oh, the skills under the bronze medal must be the worst, they must be avoided."
We don't think there's anyone like this, but there are definitely people like this.
Because the medal was separated by a separate row instead of each item.

Hello,
As a new maintainer i have no valid answer to this question.
However as we are moving the list of implementations to here and sorting projects based on Github stars, i'll close this issue as we'll remove the current list showcased into the Readme.


Doesn't work on Windows

It looks like this isn't meant for Windows usage yet? I get this error when running it:
'cp' is not recognized as an internal or external command

Thank you @BryceBarbara
I will explore running it on windows and fixing what's needed.


Can't login: Nothing handelded the action <ui@route:authenticated::ember533>

Environment

Docker version: 17.03.2-ce, build f5ec1e2

Rancher Version: 4.14.32-rancher2

RKE Version: v0.1.10-rc1

High Availability Cluster with external nginx loadbalancer

Clean install form rancher docs: https://rancher.com/docs/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/

Problem Description
Can't login via rancher UI after start of following pod:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: pod-gitlab-1
spec:
  selector:
    matchLabels:
      run: pod-gitlab-1
  replicas: 1
  template:
    metadata:
      labels:
        run: pod-gitlab-1
    spec:
      containers:
      - name: pod-gitlab-1
        image: gitlab/gitlab-ee:latest
        ports:
        - containerPort: 80

and this service:
apiVersion: v1
kind: Service
metadata:
  name: pod-gitlab-1
  labels:
    run: pod-gitlab-1
spec:
  ports:
  - port: 80
    protocol: TCP
  selector:
    run: pod-gitlab-1

After deployment the UI is no more able to log me in.
If I submit the ui login form a few times this error message appears with the option to log out (what would mean the form logs me in but doesn't reveal its cover?), but the login form does not disappear..
docker logs -f --tail 20 {ID(rancher/rancher)}
E0829 14:33:04.555534       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.555847       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.556225       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.556494       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.556921       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.557741       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.558052       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.558899       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.559130       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.559342       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.559518       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.560734       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.561008       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.569371       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
E0829 14:33:04.569864       6 streamwatcher.go:109] Unable to decode an event from the watch stream: net/http: request canceled (Client.Timeout exceeded while reading body)
2018/08/29 14:54:09 [INFO] Running cluster events cleanup
2018/08/29 14:54:09 [INFO] Done running cluster events cleanup
2018/08/29 15:34:17 [ERROR] API error response 401 for POST /v3-public/localProviders/local?action=login. Cause: crypto/bcrypt: hashedPassword is not the hash of the given password
2018/08/29 15:34:21 [ERROR] API error response 401 for POST /v3-public/localProviders/local?action=login. Cause: crypto/bcrypt: hashedPassword is not the hash of the given password
2018/08/29 15:34:29 [ERROR] API error response 401 for POST /v3-public/localProviders/local?action=login. Cause: crypto/bcrypt: hashedPassword is not the hash of the given password

Nothing handelded the action <ui@route:authenticated::ember533>

Already tried solutions

Passwords reset
New provisioning
Removal of all pods, services, deployments, replicasets

Sounds like the same issue https://github.com/rancher/rancher/issues/15282, let me know if its not

@superseb So why is the label not updated??


Reconnect by not sending messages again..

Hello,
I made a build for android, and after smartphone idle time (like 5 min.) when i go back to the app the Connection is Lost. I reconnect again, but messages dont go... Its needed to close the app and open again.
Do you have some idea how to fix that ?

Sorry, i dont know about Android builds. If you give me some tips or links about how to deploy to an android system i could try to fix it.
By the way I used a tcp client w/Python~Unity and it works. Maybe you want to give it a try... I think that´s faster than MQTT.
See PythonTCP, UnityTCP


FZF larger window for quick fixes

Is there any way to increase the number of lines shown for the fzf quick fix window? Even though there are 7 results here, it only ever shows 1:

Yes, there is the g:OmniSharp_fzf_options variable you can use to customise fzf, e.g.:
let g:OmniSharp_fzf_options = { 'down': '20%' } " max 20% of the screen height
let g:OmniSharp_fzf_options = { 'down': '10' }  " max 10 lines high
let g:OmniSharp_fzf_options = { 'right': '50%' } " vertical split

Nice, thanks for the quick response!


Make it possible to manage SELinux context for checks installed

Occasionally it might be necessary to set the proper SELinux context for a check file so that executing a check doesn't run into permissions issues.
One example of a script with this issue is pynagsystemd.py:
https://github.com/kbytesys/pynagsystemd/blob/master/bin/pynagsystemd.py
Installing that script via pip and trying to execute it via check_nrpe while SELinux is enabled leads to a permission denied because the script can't run systemctl in a subprocess. If you put the pynagsystemd.py script into the same SELinux context as all other Nagios check scripts then it works just fine.
Since Ansible 2.2 this can be achieved with the sefcontext Ansible module:
http://docs.ansible.com/ansible/latest/sefcontext_module.html

Addressed by https://github.com/CSCfi/ansible-role-nrpe-plugins/pull/5

Does #5 solve this? (It's merged and doesn't fail syntax checks but I have not actually tested it)

Yes - that PR solves this.


Refactor training pipeline

Description
Reproducing the published performance metrics with the implemented neural networks is difficult. Even for networks that match their original implementation, there is variability in the training routine that seems to effect the training performance significantly. e.g., the reported training performance of SchNet on QM9 is ~0.3 kcal/mol, while the modelforge SchNet currently has an average test set performance of 1.5 kcal/mol.
In this PR I am working through the different approaches that have been reported to improve training performance.
Normalize dataset
Talking with colleagues and reading this work one issue that is often raised is the energy unit dependency of training performance. The hypothesis is that the closer the distribution of $y$ is matched by the initial distribution of the network parameters the easier it is to converge training. Since we opted for kJ/mol, and the actual units don't matter, I will normalize energies for training (dividing by the standard deviation of the energy across the dataset and subtracting the energy mean).
Considerations:

We opted to directly modify the dataset before training as the general approach. Initially, the only operations that were performed were shifting operations (e.g., subtracting atomic self-energies). This had no further impact on calculations besides a gain in efficiency. By normalizing energies units are changed. We can calculate $\hat{E}$  and $L(\hat{E}, E)$ on the normalized energies, but as soon as we mix these with a force loss it is unclear how to best handle this. I think the best approach to avoid any further complications is to calculate $\Delta(\hat{E},E)$ on the normalized energies, but then multiply by the dataset stddev. Also, if we calculate the force loss we perform this calculation on (\hat{E} * E_stddev).

Todos
Notable points that this PR has either accomplished or will accomplish.

[ ] TODO 1

Questions

[ ] Question1

Status

[ ] Ready to go

It appears as if the difference in training performance reported in the description of this PR can be attributed to the default behavior of the PyTorch dataset, which has been changed in PR #129 .
I will port some of the changes proposed in this PR in a new, separate PR, but I would like to avoid normalization by default if possible. I will leave this PR open in the meantime.

After multiple training repeats, I can confirm that modelforge SchNet approaches the reported MAE in the test set performance without normalizing energies.


Create separate "maintenance" branch

I propose that we create a separate maintenance branch for pushing small features and bug fixes. As we phase in the changes for the CPS and benefits data, we will also need to quickly apply patches as bugs are discovered. One case where this would have been useful is yesterday in #836 where a separate branch with reverted changes had to be created in order to apply a minor patch.

@hdoupe said in PolicyBrain issue #830:

I propose that we create a separate maintenance branch for pushing small features and bug fixes. As we phase in the changes for the CPS and benefits data, we will also need to quickly apply patches as bugs are discovered. One case where this would have been useful is yesterday in #836 where a separate branch with reverted changes had to be created in order to apply a minor patch.

Why do you need a separate branch?
If several commits have been made to the latest release and you find a bug in the release, simply create the bug-fixing branch from the release (not from the tip of the master branch).  I have done this several times over the past half year in my Tax-Calculator work.  Here are notes from my policybrain-builder "cheat-sheet":
CREATING NEW BRANCH TO FIX BUG
==============================

==> Fix bug, for example, in release 1.4.0 and then release 1.4.1

$ cd ~/work/OSPC/tax-calculator

$ git checkout master

$ git checkout  -b 1-4-1   1.4.0

... fix bug on branch 1-4-1, test, commit bug fix

$ git push upstream 1-4-1

... create release 1.4.1 using GitHub releases GUI citing branch 1-4-1

... then in order to merge bug-fix into master branch and future releases
    beginning with 1.5.0, do the following:

$ git checkout master

$ git merge 1-4-1

Ah, this sounds much easier. I was just about to start doing some git gymnastics to get this to work which would have surely caused a problem at some point. Thanks @martinholmer

Closing #839


byte array support for .Net Driver

yo @zhenlineo how about now?

@praveenag Thanks a lot!
A minor naming that RequireServerVersionGreaterThanOrEqualToFactAttribute can be simplified as RequireServerVersionGreaterThanOrEqualToFact.
Besides that, all looks good.

@zhenlineo Now?


additional output filtering of metadata

Add additional output filtering of metadata for markdown and html

First Advantage: user can define exactely which of any metadata are in the final documentation
Also user can define the output order.

Second Advantage: we could use the meta dictionary to store other not user specific data like the keyword arguments per entry and if needed set them on a blacklist.

Question? are there any other default output metadata we should add to the Config.
In your example you used at least does:

return_type https://github.com/MichaelHatherly/Docile.jl/blob/master/docs/syntax.md#meta
returns https://github.com/MichaelHatherly/Docile.jl/blob/master/docs/api/Docile.md#metadoc
file (but I guess this is special isn't it?
author https://github.com/MichaelHatherly/Docile.jl/blob/master/docs/api/Docile.md#docargs
status https://github.com/MichaelHatherly/Docile.jl/blob/master/docs/api/Docile.md#docargs

Lets just stick with :source for the moment. :signature is automatically added for macros since we store them internally as (anonymous function) objects which then loose their name. Once we implement the signature metadata properly (first code block of a docstring) then we can make further use of :signature. Perhaps we need a naming convention for "internal" and "public" metadata, maybe underscores.

Perhaps we need a naming convention for "internal" and "public" metadata, maybe underscores.

Might be good but not necessary because  in the Config ony the public are listed.
Anyway I change the default to only source - probably in the morning.

Might be good but not necessary because in the Config ony the public are listed.

Yeah, sure. Until it's definitely a problem we should leave it as it then.

@MichaelHatherly I think that one could be merged and I will continue tomorrow morning?


Remove jdk21 initial support

I moved the classes to the resources folder, will reuse them at a later stage, this should ensure that the pipeline matches to local tests running under jdk 17 ONLY to facilitate pipeline troubleshooting and fix integrity.

this is meant to be an ongoing stabilizing PR. we can release after merging it and feeling comfortable with any remaining pipeline failures (real issues now). @MahmoudElSharkawy FYI

Ubuntu Firefox is throwing a security issue. It's related to gecko driver
https://github.com/mozilla/geckodriver/issues/2068


Data prefetching

There are a number of places we could make performance gains by trying to fetch data ahead of time for a job so that it's cached in memory by the time the actual job requests hit it. I could see this working at a couple of levels:

have the fuse layer request data once it knows which commits the job has access to. This has the advantage that caching would be on the local machine and thus very fast.
have have pachd prefetch data when it schedules a job and store it in pachd's caching layers. This doesn't have the benefit above but it does have the benefit that it can be requesting data while the job is being scheduled by k8s which can take a while sometimes.

There's no reason we can't do both of these things.

#1078 partially addresses this.  There are more ways of prefetching that we can do, such as prefetching data at the pachd layer.  Gonna move this off 1.3.

stale


Update labeling of light button

Update labeling of light split button. Text is "Split Button Primary", but should be "Split Button Light".

Dupe of #299


How to mock DbContext using EntityFrameworkCore in .NET Core application

This question is regarding how to mock DbContext using EntityFrameworkCore in the .NET Core application. Below are my code changes:
My repository class will communicate with the SQL server using DbContext and fetches data. But while writing unit tests to my repository class I am facing issue related to mocking the DbContext and fetching data from DbSet()
MyDbcontext overrides OnModelCreating() which contains necessary model related constraints as shown below.
Steps to reproduce
 public partial class myDbContext : DbContext
 {
    public myDbContext(DbContextOptions<myDbContext> options)
        : base(options)
    {
    }

    public virtual DbSet<Book> Books { get; set; }

     protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Books>(entity =>
        {
            entity.HasIndex(e => e.Name)
                .HasName("BookNameIndex")
                .IsUnique();

            entity.Property(e => e.Id).ValueGeneratedNever();

            entity.Property(e => e.Name)
                .IsRequired()
                .HasMaxLength(256);

            entity.Property(e => e.BookDescription)
                .IsRequired()
                .HasMaxLength(100);
        });
    }
}

StartUp:
 services.AddDbContext<myDbContext>(options => options.UseSqlServer(Settings.DatabaseConnectionString));
            services.AddScoped(typeof(IBookRepository), typeof(BookRepository));

My Class
public class BookRepository : Repository<Book>, IBookRepository
{
    public BookRepository(myDbContext context)
        : base(context)
    {
    }

    public void CreateBook(Book book)
    {
        if (!this.Exists(book.Id))
        {
            this.Insert(book);
        }
    }
}

Repository<> :
public class Repository<TEntity> where TEntity : class
{

    protected myDbContext dataContext;
    private DbSet<TEntity> entities;

    public Repository(myDbContext context)
    {
        this.dataContext = context;
    }

    private DbSet<TEntity> Entities
    {
        get
        {
            if (entities == null)
            {
               //Exception is throwing here
                entities = dataContext.Set<TEntity>();
            }

            return entities;
        }
    }

    public void Insert(TEntity entity)
    {
        if (entity == null)
        {
            throw new ArgumentNullException("entity");
        }

        Entities.Add(entity);
        dataContext.SaveChanges();
    }
}

UnitTest Class and Method:
 [TestClass]
    public class BookRepositoryTests
    {
        private readonly myDbContext _dbContext;
        private readonly IBookRepository _BookRepository;

        public BookRepositoryTests()
        {
            _dbContext = new InMemoryDbContextFactory().GetDbContext();
            _BookRepository = new BookRepository(_dbContext);
        }

        [TestMethod]
        public void TestMethod()
        {
            // Arrange
            _dbContext.Book.Add(new Book());
            _dbContext.SaveChanges();

            // Act
            _BookRepository.CreateBook(new Book());
        }
    }

    public class InMemoryDbContextFactory
    {
        public myDbContext GetDbContext()
        {
            var options = new DbContextOptionsBuilder<myDbContext>()
                            .UseInMemoryDatabase(databaseName: "InMemoryArticleDatabase")
                            // and also tried using SqlLite approach. But same issue reproduced.
                            .Options;
            var dbContext = new myDbContext(options);

            return dbContext;
        }
    }

Issue observed in Entities property of Repository<> class:

Exception Message:
An attempt was made to use the model while it was being created. A DbContext instance cannot be used inside OnModelCreating in any way that makes use of the model that is being created.

Could someone please help me with this issue ?
Further technical details
EF Core version: 2.1.4
Database provider: (e.g. Microsoft.EntityFrameworkCore.SqlServer)
Target framework: (e.g. .NET Core 2.1)
Operating system:
IDE: (e.g. Visual Studio 2017 16.3)

@SarekaAvinash I know DbContext better than most people, and I would never attempt to mock it--it's just way too hard. Instead, if you want to use test doubles, then mock your repository.


[desktop][mobile] Multiple orgs are not being displayed properly, when trying to create post as an Organisation. (edge case))

The organization list should be scrollable, when trying to create a post as an Organization.
Currently, when we have many organizations,  they arent displayed properly.
Note: This is an edge case.
Check this out:

I think this is a duplicate of #1210 which was fixed in rc1.1 by #1216.

Thanks @jyclam , closing the ticket.


chore: release 0.10.0

Incorporates changes from #245 and bumps the version to 0.10.0

This package is being merged into the angular repo for easier maintenance


Brianem/speech 1.30.0 updates

@danieljurek
@JimSuplizio
You can ignore the previous 1.28.0 release PR that is still pending, and just get caught up on the current 1.30.0 release.

#sign-off


[Staking]: support transaction for ETH/NEAR/ELROND

Is your feature request related to a problem? Please describe.
Adding staking transaction to the following blockchains: eth,near,elrond.
Checklist

Ethereum

[ ] Simple smart contract call transaction with existing staking pool like lido

[ ] C++ Unit test + tx url for the lido staking transaction
[ ] Swift Unit test
[ ] Kotlin Unit test

Near
Add tests to mainnet for: https://github.com/trustwallet/wallet-core/blob/55993e9b9418d5af30e1138455076343445e5071/tests/chains/NEAR/TWAnySignerTests.cpp#L40
Elrond

[ ] New kind of transaction

[x] Use generic action - Drafted in #2675
[x] C++ unit tests - Drafted in #2675
[ ] Swift unit tests
[ ] Kotlin unit tests

Resources
Lido
Lido Deployed Smart Contract
Other eth staking solutions
Staking Rewards Elrond + FAQ
Staking Rewards NEAR + FAQ

Lido / Rocket pool


nerfacto not training well on dtu dataset

Hello,
Is there any additional configuration I need for nerfacto to train well with dtu dataset? ns-train nerfacto sdfstudio-data --data data/dtu/scan65
Just running gives me the following eval images.

I have the same issue and still looking for a solution. Any updates?


fixes bug in uv_tex

When uv_tex function is called multiple times it changes the internal state of the module (as far as my testing goes this is not fixable without killing the python process).
Replicate:
import cv2
import yaml

from FaceBoxes import FaceBoxes
from TDDFA import TDDFA
from utils.uv import uv_tex

import matplotlib.pyplot as plt
from skimage import io

# load config
cfg = yaml.load(open('configs/mb1_120x120.yml'), Loader=yaml.SafeLoader)

face_boxes = FaceBoxes()
tddfa = TDDFA(gpu_mode=False, **cfg)

img_urls = ['https://raw.githubusercontent.com/cleardusk/3DDFA_V2/master/examples/inputs/emma.jpg',
            'https://raw.githubusercontent.com/cleardusk/3DDFA_V2/master/examples/inputs/emma.jpg']

for img_url in img_urls:
  from utils.uv import uv_tex
  img = io.imread(img_url)
  plt.imshow(img)

  img = img[..., ::-1]  # RGB -> BGR

  # face detection
  boxes = face_boxes(img)
  print(f'Detect {len(boxes)} faces')
  print(boxes)

  # regress 3DMM params
  param_lst, roi_box_lst = tddfa(img, boxes)
  ver_lst = tddfa.recon_vers(param_lst, roi_box_lst, dense_flag=True)
  print(ver_lst)
  uv_tex(img, ver_lst, tddfa.tri, show_flag=True)

Checked. Thanks for your pr.


How to contribute to this project?

Question
Please provide step-by-step contribution guidelines to participate in this project.
Code example
No response

I'm going to be limited on the time i can spend on this project, so I think this is a good idea. I'll look to add some guidelines for development soon.
Is there anything specific you think would be wise to add? Any questions about the library etc.
Anyone else feel free to ask!


mappings: support Elasticsearch5/6

fix mappings for supporting ES5/6
ref. https://www.elastic.co/jp/blog/strings-are-dead-long-live-strings

Sorry, I close this pull request. I'll try to refine .travis.yml


Fix model memory usage calculation

Issue #, if available:
Description of changes:
Fix model memory usage calculation. The bug was introduced in #3033.
The bug makes it so that models are treated as requiring 1/mem_error_threshold the memory as was intended.
For XGBoost and CatBoost whose mem_error_threshold was 1, this had no impact.
For RandomForest/ExtraTrees, whose mem_error_threshold=0.5, this caused the models to be treated as requiring 2x the memory as was intended.
For KNN, whose mem_error_threshold=0.2, this caused KNN to be treated as requiring 5x the memory.
This PR fixes this bug.
This PR (correctly trains):
Fitting model: RandomForest ...
	Warning: Potentially not enough memory to safely train model. Estimated to require 250.000 GB out of 516.989 GB available memory (48.357%)... (50.000% of avail memory is the max safe size)
	To avoid this warning, specify the model hyperparameter "ag.max_memory_usage_ratio" to a larger value (currently 1.0, set to >=1.26 to avoid the warning)
		To set the same value for all models, do the following when calling predictor.fit: `predictor.fit(..., ag_args_fit={"ag.max_memory_usage_ratio": VALUE})`
		Setting "ag.max_memory_usage_ratio" to values above 1 may result in out-of-memory errors. You may consider using a machine with more memory as a safer alternative.
	-0.2944	 = Validation score   (-log_loss)
	1.33s	 = Training   runtime
	0.04s	 = Validation runtime

Mainline (incorrectly skips and incorrectly calculates memory percentage):
Fitting model: RandomForest ...
	Warning: Not enough memory to safely train model. Estimated to require 250.000 GB out of 517.378 GB available memory (96.641%)... (50.000% of avail memory is the max safe size)
	To force training the model, specify the model hyperparameter "ag.max_memory_usage_ratio" to a larger value (currently 1.0, set to >=1.02 to avoid the error)
		To set the same value for all models, do the following when calling predictor.fit: `predictor.fit(..., ag_args_fit={"ag.max_memory_usage_ratio": VALUE})`
	Not enough memory to train RandomForest... Skipping this model.

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

LGTM!


[FEATURE] Instance Branching

Completed

Admin can fork an allocation instance after completing a round of matching to deal with any unmatched students
Admin can merge a forked allocation instance back into its parent instance after completing an nth round of matching in said forked instance
Added info notes to Instance edit form to inform admin of potentially unclear merging behaviour when making changes to an Instance's flags and tags
Added info notes to Project edit form to inform admin or supervisor of potentially unclear merging behaviour when making changes to a projects flags and tags
Created utility functions for identifying items by fields other than their primary identifier but which are also unique (title for projects, userId for project allocations)
Minor UI fixes for consistency in manual changes admin panel page
Moved admin panel tab computation to server and created config file containing all paths and display names

FIX REQUIRED Students "My preferences" do not updated after merge
Incorrect information is displayed on a student's My Preferences page. This occurs when a student has submitted preferences in the parent instance and then submits new preferences in the forked instance.

FIX REQUIRED Student not being allocated correctly to a project in forked instance that has a different student allocated in parent instance.
Bug found when testing upper bound capacities of projects. To recreate error:

Login as admin and change stage to 2
Edit the capacity upper bound of project "Chatbot Assistant" to >1
Change stage to 4 and run and select "Generous" algorithm
Change to stage 5, move to manual adjustment page and select all students
Check that one student is assigned to project 001 (student 234576n should be assigned)
Unallocate students on projects 3 and 4 (students 234578a. and 2345679k, they should be 3rd and 4th from bottom of table) - note, I did this to ensure the supervisor would have capacity for more students
Submit the changes
Change to stage 6 and fork (note, three students, two supervisors and six projects will be carried to forked instance)
Change forked instance stage to 3
Edit the instance - change the minimum num. of preferences to 1 under student restrictions
Login as a student, add the project "Chatbot Assistant" as a preference and then submit preferences
As admin, move stage to 4 and run and select algorithms as normal - Screenshot 1 below looks as though the student was allocated successfully
View algorithm details - the student evaluator does not show here, but one of the other students carried over does?
Move to stage 6 and merge
Check the allocation overview after merging and see that the allocation has not been made

Side note: if the student is manually allocated then the allocation will show in the allocation overview on the parent instance after merging BUT this causing unusual behaviour... First, the value in student rank column of the table on the parent instance on the allocation overview page is reduced by 1. Secondly, if you try to view "My allocations" in the forked instance a runtime error is displayed on screen.

FIX REQUIRED Students "My preferences" do not updated after merge
Incorrect information is displayed on a student's My Preferences page. This occurs when a student has submitted preferences in the parent instance and then submits new preferences in the forked instance.

So the expected behaviour would be that the parent instance preferences would be overwritten by the forked instance preferences right?

FIX REQUIRED Student not being allocated correctly to a project in forked instance that has a different student allocated in parent instance. Unsure if related to other known issue.
Bug found when testing upper bound capacities of projects. To recreate error:

Login as admin and change stage to 2
Edit the capacity upper bound of project "Chatbot Assistant" to >1
Change stage to 4 and run and select "Generous" algorithm
Change to stage 5, move to manual adjustment page and select all students
Check that one student is assigned to project 001 (student 234576n should be assigned)
Unallocate students on projects 3 and 4 (students 234578a. and 2345679k, they should be 3rd and 4th from bottom of table) - note, I did this to ensure the supervisor would have capacity for more students
Submit the changes
Change to stage 6 and fork (note, three students, two supervisors and six projects will be carried to forked instance)
Change forked instance stage to 3
Edit the instance - change the minimum num. of preferences to 1 under student restrictions
Login as a student, add the project "Chatbot Assistant" as a preference and then submit preferences
As admin, move stage to 4 and run and select algorithms as normal - Screenshot 1 below looks as though the student was allocated successfully
View algorithm details - the student evaluator does not show here, but one of the other students carried over does?
Move to stage 6 and merge
Check the allocation overview after merging and see that the allocation has not been made

Side note: if the student is manually allocated then the allocation will show in the allocation overview on the parent instance after merging BUT this causing unusual behaviour... First, the value in student rank column of the table on the parent instance on the allocation overview page is reduced by 1. Secondly, if you try to view "My allocations" in the forked instance a runtime error is displayed on screen.

@AlysonDick Looks like you may have forgotten to attach the screenshot, in any case, I'm not able to recreate this bug. I get to point 12 and it appears as though the student evaluator has been successfully allocated that project. This persists through 13-15 and when I merge the instance it seems like the student evaluator has in fact been allocated to the project. I think perhaps the fix for the previously known issue, has handled this situation too. We should probably test it a bit more thoroughly after discussing the issue with David.


HOTT-4822 Add approval before releasing to dev server

Jira link
HOTT-4822
What?
I have added/removed/altered:

[x] Added an approval step before deploying to the Dev server

Why?
I am doing this because:

Whilst it arguably adds friction to the dev process pre-merge, it makes the dev server QA-able, in turn removing friction around the process post-merge which is where our actual primary contention is

Deployment risks (optional)

Low, should only impact dev server

Nice! 🍏  LGTM

Im guessing we can approve that step just to ensure everything actually runs ok but i guess this is fairly trivial

Yeh, idea is we wait until QA say they are ready to test then either dev or qa trigger deploy at that point
If dev wants to test something themselves on the server - they can trigger deploy, then re-rerun the pipeline to put it back to 'on hold' state


Update the Detect script to fail detection if the JVM version asked for is not supported

During the planning phase, if the buildpack version doesn't provide the JVM version asked for, the detection for that particular version of bellsoft-liberica should fail/skip.
Describe the Enhancement
Currently, regardless of what version you provide as BP_JVM_VERSION, the detection phase passes for even those versions that don't provide the JVM version asked for.
As an example, if you set
BP_JVM_VERSION="8.0.333"

the detection still passes for the version 9.8.0. This results in build failure later when the error,
Paketo Buildpack for BellSoft Liberica 9.8.0
  unable to find dependency
  no valid dependencies for jdk, 8.0.333

Possible Solution
The Detect script might help here if we make sure not to pass detection unless the JVM version asked for is supported.
Motivation
We are trying to support multiple versions of the same buildpack, and select one of them depending on the value of BP_JVM_VERSION.

The BP_JVM_VERSION setting is not meant for you to select an exact JVM version. What you have with 8.0.333 is invalid. As is documented in the README, it takes the major version only. There are no plans to change that behavior because at present the buildpacks only ship one version of each major, the latest at the time of release.

Configure the JVM version (e.g. 8, 11, 16).

Perhaps down the road if we're able to support more versions of Java in each buildpack we can adjust things.
Hope that helps clear things up.

@dmikusa Thanks for the clarification. However I even tested with BP_JVM_VERSION set to "14", expecting the builder to choose bellsoft-liberica version 2.0.0 over version 9.3.7, but still running into the same error.
Version 9.3.7 passes detection then throws the same error during the build.

That's not how it works. It won't go back and pick an old buildpack. When you pack build (or build with Spring Boot), you get the present set of buildpacks that are included in the builder that you are using, including the latest Bellsoft Liberica with the latest Java versions. That version of the buildpack is then run, it looks at the env variable and gets the version. It then tries to fetch the dependency for that version, which if it doesn't exist gives the error you're seeing because it doesn't know about that version.
If you need an older version like 14, which you shouldn't use at this point, you would need to go back and manually pick an older version of the buildpack to use, one that shipped with Java 14 support. You'd need to do the same thing if you wanted a very particular version of Java 8 or 11 or 17. Find the buildpack with the version you want, then fix that buildpack in your build (pack build -b).

bellsoft-liberica version 2.0.0 includes java 14 (I'm only using it for testing not actual usage) which is present in our builder, alongside bellsoft-liberica version 9.3.7 (which doesn't have java 14).
The thing is depending on the order in which they are listed in the builder.toml file, we either get that error (if 9.3.7 is listed before 2.0.0) or the build passes (if 2.0.0 is listed before 9.3.7).
The issue I am facing is that even though my builder has multiple bellsoft-liberica versions, including the one I need, the environment variable BP_JVM_VERSION is not helping with selection of the correct version.

The thing is depending on the order in which they are listed in the builder.toml file, we either get that error (if 9.3.7 is listed before 2.0.0) or the build passes (if 2.0.0 is listed before 9.3.7).

Correct and my understanding is that this is the expected behavior. The buildpack lifecycle runs all of the buildpacks. It is responsible for collecting the results from detection and selecting which buildpacks run. It will pick the first successful buildplan that it finds. That's why it's picking based on the order in your builder.
If you want to influence that you can a.) change your builder order or b.) use the pack build -b argument. The -b flag overrides the buildpack order. If you set<EMAIL_ADDRESS>first then paketo-buildpacks/java@<version in your builder>, it'll create a custom buildplan and you'll see the 2.0.0 run first.
On a different note, I cannot guarantee that 2.0.0 will work with modern versions of paketo-buildpacks/java. We don't test compatibility with older versions. It may or may not. What I would suggest if you need different versions of the JVM is to package your own bellsoft-liberica image. When you do this, you can adjust the dependencies included in buildpack.toml first and make sure it includes all the versions you need.

@dmikusa thanks for the explanation. I was hoping that v9.3.7 doesn't pass the detection at all but it seems the value of BP_JVM_VERSION isn't taken into consideration during the detect phase.
I will try creating a separate builder if I need different versions of the same buildpack.

Creating a separate builder will certainly work. You can also use the -b flag to include multiple buildpacks. The first one should be the one that runs.
Ex:  pack build -b paketo-buildpacks/bellsoft-liberica:2.0.0 -b paketo-buildpacks/bellsoft-liberica:9.3.7 ...
In this case, both will run detection & pass but at build time only 2.0.0 should actually execute and do anything.

@dmikusa understood.
Thanks for your time. I'll close the issue.


feat: add detailed error messages from deployment and pod status, fixes RHOAIENG-8789

Description

Added logic to modelregistry_controller_status to get detailed error messages from deployment and pod status for various error use cases
Operator defaults to generic error messages to avoid ignoring errors when specific errors cannot be found in status conditions
Fixes RHOAIENG-8789
How Has This Been Tested?

Deployment was broken by setting grpc image property to bad:image in model registry spec manually, which causes the deployment to fail gradually as it tries to resolve the missing image condition. The operator gracefully handles the evolving status changes.
Merge criteria:

[X] The commits and have meaningful messages; the author will squash them after approval or will ask to merge with squash.
[X] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[X] The developer has manually tested the changes and verified that the changes work

@tarilabs I tested the deployment errors by trying to use a bad grpc image and a bad db host name.
Istio and gateway errors are kinda hard to manually create since they'd require some resource constraint or a bad Istio config somehow. But the operator will collect those status errors and add it to the model registry status.

This PR builds on top of #108

@tarilabs I tested the deployment errors by trying to use a bad grpc image and a bad db host name. Istio and gateway errors are kinda hard to manually create since they'd require some resource constraint or a bad Istio config somehow. But the operator will collect those status errors and add it to the model registry status.

thanks, it would be nice eventually to add test for the former, more easily reproducible, scenarios my2c

it would be nice eventually to add test for the former, more easily reproducible, scenarios my2c

Agreed, it's just that the current operator setupenv is not really built for an e2e test since it doesn't actually deploy anything.
@tonyxrmdavidson checking the various status errors is something we should do in openshift-ci test. wdyt?


USB HOST bInterval value check too strict (IDFGH-11168)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.2-dev-3065-g272b4091f1
Espressif SoC revision.
ESP32S3
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
T-Display Amoled
Power Supply used.
USB
What is the expected behavior?
I'm using ESP32S3 as USB host controller to connect CDC ACM device based on the STM32 chip.
I was playing with cdc_acm_host example to check if it can open my device. And it works with my linux CDC ACM driver without any issues.
What is the actual behavior?
After enabling more debug info in the cdc_acm_host example I found that esp says:
bInterval value (255) of Interrupt pipe exceeds max supported limit.
After googling about bInterval I found actually no problem if it's more than 32, because it should be truncated to 32.
Also I found it's really truncated in esp-idf code later. So I disabled this error check and my CDC ACM device was opened succesfully.
Steps to reproduce.

Run cdc_acm_host example
Connect CDC ACM device with high bInterval
See error.

Debug Logs.
bInterval value (255) of Interrupt pipe exceeds max supported limit.

More Information.
No response

I have successfully reproduced this error and came to the same conclusion.
The interval can go up to 255, but the FRAME_LIST_LEN shall then be capped at 32.
Sadly I don't have the knowledge to propose an adequate alternative/fix to this issue.

Hi everyone,
@ddosoff Thank you so much for reporting that!
The FRAME_LIST_LEN is a hardware restriction. If the packet interval were too high, this could lead to missing packets.
Otherwise, it's true that for most cases, the bInterval value presented in a descriptor can be 255, but the device can still work without a problem with that hardware restriction as the polling interval is still 32 frames for FS devices.
I’ll make some verification and return back ASAP.

The following boards fail due to notification interrupt endpoint bInterval > 32.

Arduino Uno R3
Arduino Leonardo
Arduino Mega2560 R3

Hi all, thanks for the reports. The fix was merged internally, it should show up in GitHub in a matter of few days


chore(main): release 0.25.0

:robot: I have created a release beep boop
0.25.0 (2024-09-22)
Features

Updates supported resource types (55) (#619) (0008239)

This PR was generated with Release Please. See documentation.

Summary by CodeRabbit

New Features

Updated supported resource types, increasing total to 55.

Version Updates

Software version incremented from 0.24.0 to 0.25.0 across relevant files.

:robot: Release is at https://github.com/udondan/cfn-teleport/releases/tag/v0.25.0 :sunflower:


Invalid service definition

Description

Version of foxglove bridge: 0.7.7
Platform: foxglove studio 2.6.0

Steps To Reproduce

[foxglove_bridge-22] [WARN] [1718109515.363661001] [foxglove_bridge]: Failed to add service /perception/front_left/device_info;(realsense2_camera_msgs/srv/DeviceInfo): Invalid service definition in DeviceInfo.srv: Expected 2 definitions, got 1

The message seems reasonable https://github.com/IntelRealSense/realsense-ros/blob/ros2-development/realsense2_camera_msgs/srv/DeviceInfo.srv

Yeah, that's strange. I will take a look, thanks for reporting

I'm on Humble. I'm reverting your commit and checking if it reproduces

confirmed, checked out the commit before the PR I linked (hash 3e35af32fde80dc42e6c7bea40a2cc32c30170f4) and the issue does not reproduce

The reason is an additional CR 0x0D before the actual line feed 0x0A at the end of the line :sob: Will push a fix in a couple of hours.

It's impressive how fast you figured out such a hidden issue :laughing: Let me know when you have the fix, I might be still in time to give it a quick test


utils.percent_encode fix (with test)

percent_encode fails when handed a string that's already been encoded into bytes. Have it just URL-quote that instead.
This fixes an error I'm running into when using S3 via the "django storages" package. I have a few keys with non-ASCII characters. Django storages handles this by encoding them as UTF-8 and handing the bytes off to boto. On Python 2 this fails with a UnicodeDecodeError, and on Python 3 I don't think it will raise an exception, but will return a url-encoded repr of the string passed in (which is probably not what you would want).

Codecov Report

Merging #1176 into develop will decrease coverage by 0.52%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop    #1176      +/-   ##
===========================================
- Coverage    97.98%   97.45%   -0.53%
===========================================
  Files           45       45
  Lines         7186     7188       +2
===========================================
- Hits          7041     7005      -36
- Misses         145      183      +38

Impacted Files
Coverage Δ

botocore/utils.py
95.97% <100%> (+0.01%)
:arrow_up:

botocore/compat.py
68.14% <0%> (-23.71%)
:arrow_down:

botocore/configloader.py
98.8% <0%> (-1.2%)
:arrow_down:

botocore/handlers.py
95.52% <0%> (-0.75%)
:arrow_down:

botocore/signers.py
97.74% <0%> (-0.57%)
:arrow_down:

botocore/auth.py
97.85% <0%> (-0.22%)
:arrow_down:

Continue to review full report at Codecov.

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