refactor(codegen): add CodeBuffer to fix soundness hole

What This PR Does
Adds CodeBuffer, a simple wrapper over a Vec<u8> with a protective and reduced API for upholding UTF-8 validity guarantees. Closes #6147.
Note that this struct is actually quite small. Most of the added lines are doc comments.

#6148  👈
main

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

Join @DonIsaac and the rest of your teammates on  Graphite

Is this just String? @overlookmotel said it could just be a string but I didn't spend the time converting it.

Is this just String? @overlookmotel said it could just be a string but I didn't spend the time converting it.

Yes, in one sense it's a re-implementation of String. This could be a wrapper around a String with some added unsafe methods to push bytes to it. But I think the implementation in this PR wrapping a Vec<u8> is fine too.

If you want to remove some of the unsafe calls, you could also copy this: https://doc.rust-lang.org/std/ascii/enum.Char.html
Then to push a space, you'd do:
self.code.print_ascii(AsciiByte::Space);

AsciiByte can only be an ASCII byte, so no need for an assertion that it is. i.e. Implementation of print_ascii would be just self.buf.push(ascii_byte) (same as unsafe method print_byte), but it can be a safe method.
Also:
pub(crate) fn print_asciis<I>(&mut self, bytes: I)
    where I: IntoIterator<Item = AsciiByte>,
{
    self.buf.extend(bytes.map(|b| b as u8));
}

// Previously
unsafe { self.code.print_unchecked(std::iter::repeat(b'\t').take(self.indent as usize)); }
// Now
self.code_print_asciis(std::iter::repeat(AsciiByte::Tab).take(self.indent as usize));

If you did want to do that, I'd suggest doing it in a follow-up PR.

One last thing... I was looking at the assembly for the various print methods, and noticed something odd:
print_char(' ') and print_str(" ") seem to produce tighter assembly than print_ascii_byte(b' ').
https://godbolt.org/z/Kv8sEoEed (ignore all the alloc::raw_vec::* stuff at the top - that's all handling Vec growth)
print_ascii_byte has the "this Vec must grow" branch as the default. That's not ideal because growth strategy is doubling, so e.g. when the Vec has just grown from 1024 bytes to 2048 bytes, it won't need to grow again until another 1024 bytes have been pushed. "Needs to grow" is a very rare occurrence.
Also, it pushes 3 registers to the stack before it does anything else, and it's quite hefty overall. Not good!
print_ascii_byte_v2 is my own version which pushes all the "Vec needs to grow" logic into a cold path, and only uses 2 registers.
The question is why does std::vec::Vec have this "bad" behavior? This seems odd, as std is highly optimized. It's implausible it wouldn't be as it is without a good reason.
My best guess is that Vec is optimized for a general use case, and it's not uncommon for a Vec to be empty and then have a single item pushed. In which case it only hits the "needs to grow" path, and never hits the "no growth necessary". So my print_ascii_byte_v2 would penalize this common case.
But for our use case here, we are always pushing a ton of bytes. So it may be that the print_ascii_byte_v2 would work better for this specific case.
We may also be able to replicate what Stack does to make all these operations even cheaper. This push is 1 operation shorter than print_ascii_byte_v2, and uses 1 less register: https://godbolt.org/z/sna4K84G1
This is all micro-optimization stuff, but as pushing bytes to output is such a large component of what oxc_codegen does, and its such a hot path, it might be worth giving it a go.
(again, that'd be best done in a follow-up PR)

@DonIsaac Just to check - are any of my comments above blockers for you?
I think this PR is a great improvement, and would very much like to get it merged. Removing potential UB is always a high priority, in my opinion.
If you're busy and would like me to finish it off, please say so.

@DonIsaac Just to check - are any of my comments above blockers for you?
I think this PR is a great improvement, and would very much like to get it merged. Removing potential UB is always a high priority, in my opinion.
If you're busy and would like me to finish it off, please say so.

None are blockers, I'm just working towards it slowly. I've had a lot going on these past few days 😄

Merge activity

Oct 13, 5:14 AM EDT: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.


Homework 02 Part 1

I have uploaded by screen shot and added my README.md to my fork.

thanks, merged


added command sets for getting coronaviruses stats

It's nor for mattermost yet.

Interesting. Can you share some screenshots please?

Interesting. Can you share some screenshots please?

LGTM. Pretty useful commands! 👏


Docs: update example InflowWind and FAST.Farm input files

Issue #1405 noted some inconsistencies between the input file examples in the documentation and what is in the regression tests.
This PR updates the InflowWind and FAST.Farm example files (others appeared to be ok).

Closes #1405


Remove version: Kiwix.Wikivoyage.Electron version 2.5.2-E

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

For moderators or/and anyone else

[!Caution]
As a result of several personal problems I've had over the last few months + my final exams coming up very soon, I'm currently unable to look at my GitHub notifications every day and maintain my executions correctly.
If you detect a certain problem on a certain pul request:

Either you can close the pull request directly without mentioning me.
Or you can send me a message on X (Twitter): @Exorcism0666

Thank you for your understanding, and I'm sorry if some pull requests can't be approved due to the situation I'm in.

This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping Exorcism0666.

[!warning]
With the new version of Komac, numerous Pull Requests may contain bugs or unwanted elements. If such issues arise, please tag russellbanks so that these bugs can be addressed in future updates.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

URL: https://github.com/kiwix/kiwix-js-windows/releases/download/v2.5.2-Wikivoyage/Wikivoyage-by-Kiwix-Setup-2.5.2-E.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 913)


amd build improvements

enable ccache for AMD builds (https://github.com/vllm-project/vllm/pull/8327)

Dockerfile.rocm.ubi:

reduce image size (currently down to ~32GB from ~50GB)
bump flash-attention to 2.6.2
fix flash-attention build (use upstream wheel by default, use main-perf upstream branch, add proper flags)
add vllm-tgis-adapter layer

/test all

Smoke test failure is unrelated

/lgtm


Support HTTPS

(Sorry for all the issues)
Would it be possible to support HTTPS?
My use case: I've managed to get the compile server running in aws ecs, and I've got a very simple github pages over at https://chriscoomber.github.io/manydice/. However, it's complaining about mixed content since we're calling the compiler server via http.
As I understand it, I could figure out how to put a proxy in front of the compiler server which supports HTTPS, and don't expose the actual compiler server to the public. However, spring boot seems to support HTTPS, we just need to configure it, so wouldn't that be simpler? Would it be possible to add instructions for that configuration to this repository?
Thanks!

OK I figure that the simplest thing to do here is have some other server act as the "bridge" (non-technical language) from the public HTTPS-fronted world to the private HTTP world. No deployment is ever one container, so I should have some sort of HTTPS-serving reverse proxy. I ended up using an AWS EC2 Load Balancer, since you can configure these to listen on HTTP and HTTPS, with the latter using AWS' certificate management system which seemed simple enough to get working.
So anyway I think this issue is invalid because it's not the kotlin compiler server's job to handle HTTPS, that's what some sort of reverse proxy is for.


systeminfo for openbsd

Hi @mischief. Thanks for the PR! Never thought that Kite would be used on a OpenBSD. Tough I don't have any knowledge on that area, I think this is safe to merge as the tests pass for the normal use cases. Thanks for the contribution :+1:

@fatih - my home router is running openbsd for firewalling, but has a lot of otherwise unused resources. i'm now running etcd2/skydns on the gateway, and experimenting with kontrol on my home lan, so i put kontrol there for now. thanks for merging :-)

@mischief wow that is awesome :) Kontrol uses etcd and postgres as backend options, so you can choose what you want to use. There are a couple of things, like watching for changes instead of fetching new services from kontrol. I'm curious about how you feel about Kontrol (bad or good). Any feedback is welcome! :)


Object is not extensible

Hi,
I used cra-to-nx to convert cra app to nx.
However when I try to serve my nx app I get this exception:
(node:108358) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'indexOf' of undefined
    at my-cra-app/apps/my-nx-app/craco.config.js:27:33
    at Array.find (<anonymous>)
    at my-cra-app/apps/my-nx-app/craco.config.js:26:41
    at Array.forEach (<anonymous>)
    at configure (my-cra-app/apps/my-nx-app/craco.config.js:24:29)
    at giveTotalControl (my-cra-app/node_modules/@craco/craco/lib/features/webpack/merge-webpack-config.js:57:25)
    at mergeWebpackConfig (my-cra-app/node_modules/@craco/craco/lib/features/webpack/merge-webpack-config.js:106:38)
    at overrideWebpackDev (my-cra-app/node_modules/@craco/craco/lib/features/webpack/override.js:11:36)
    at my-cra-app/node_modules/@craco/craco/scripts/start.js:27:5
(Use `node --trace-warnings ...` to show where the warning was created)
(node:108358) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:108358) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Done in 1.29s.

So I fixed above error by adding rr.loader && rr.loader.indexOf... (since I saw that not all modules have loader and babel ones have). Now nx run myapp:serve gives me this:
my-cra-app/apps/my-nx-app/node_modules/react-scripts/scripts/start.js:19
throw err;
^

TypeError: Cannot add property strict, object is not extensible
at verifyTypeScriptSetup (my-cra-app/apps/my-nx-app/node_modules/react-scripts/scripts/utils/verifyTypeScriptSetup.js:231:45)
at Object. (my-cra-app/apps/my-nx-app/node_modules/react-scripts/scripts/start.js:31:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at start (my-cra-app/node_modules/@craco/craco/lib/cra.js:218:5)
at my-cra-app/node_modules/@craco/craco/scripts/start.js:30:5
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Does anyone know what could be the issue?

@borgdrone7 can you share your package.json?

@borgdrone7 can you share your package.json?

Sorry, I don't have it anymore as I converted the project manually and the file changed significantly since.


fix: README.md for OIDC module

fixes #11

@g-awmalik - can you please review an merge? this is just a docs change.


Project Settings recommend deprecated .NET backend

Does this affect the legacy HoloToolkit (master) or the Mixed Reality Toolkit (mrtk_release)?
HoloToolkit 2<IP_ADDRESS>
Describe the bug
When selecting "Apply Mixed Reality Project Settings" the option "Enable .NET scripting backend" is selected by default, although the build window shows a warning message, that .NET backend will be deprecated
Expected behavior
Use IL2CPP per default or remove the warning about .NET being deprecated.
Unity Editor Version
2017.4.11f1
Mixed Reality Toolkit Release Version
HoloToolkit 2<IP_ADDRESS>

Closing older HTK issue as we are no longer actively working on HTK.
Please upgrade to MRTK V2 for the latest fixes.


Bugfix freeze on Linux

Hi everyone,
here comes a bugfixe related to https://github.com/imagej/imagej-legacy/issues/227
Instead of submitting individual completions to the AutoComplete (upstream dependency), we send a list of completions. This prevents the list of completions being sorted again and again. The issue appeared on some Linux/MacOS computers not very reproducibly. However, on @frauzufall laptop we were able to reproduce it and fix it.
Let me know if you see any issue. I would otherwise merge in 7 days.
Cheers,
Robert

Cool, thanks @imagejan ! First time I commited changes via Browser in this view here :-)


Allow composing auth plugs

@bitgamma hi, I hope the code/docs are self–explanatory. Would appreciate review/merge. Thanks!

nice feature, thanks!


Add new connection scheme local that allows to execute command on host that executes bolt

This is still a work in progress and has not been heavily tested.
I'm opening this issue to open a discussion about the idea of a local:// scheme.
Example of what it does:
riton@myhost $ bundle exec bolt command run -n local://localhost whoami
localhost:

riton

Ran on 1 node in 0.00 seconds

Ok, this seems to work with task, plan and command.
Currently, with my scheme parsing, local://localhost and local://whatever will both be considered as run on local machine. This is not that pretty, but I'm waiting input from you to discuss more about that.

CLA signed by all contributors.

I really like the idea of a local scheme but why not just add a --local flag to supplement --nodes? It would be much cleaner and would allow for easily using one or the other or both at the same time.

+1 to @genebean suggestion. I was thinking something similar. The other option was simply reserving the node name local or localhost in it's plain form. ie.
--nodes node1,node2,localhost

If someone really has a remote node called localhost (or really wants to access it over SSH) then you could force it using the protocol prefix:
--nodes node1,node2,ssh://localhost

The reason I prefer this more than the flag is because I may want to store the nodes list in a file, or have a script generate it, and I'd like to be able to include localhost in those cases. Making it a flag makes that much harder to do.
The local:// schema prefix works, but I think feels overly verbose. How often would it not be local://localhost? What is the expected behaviour when the host portion doesn't match the hostname of the local host? What happens if you specify multiple local:// nodes with different hostnames? etc.

--local wouldn't work from plans.

@garethr bare localhost should probably be okay, generally. From RFC 6761:

6.3.  Domain Name Reservation Considerations for "localhost."
The domain "localhost." and any names falling within ".localhost."
are special in the following ways:

Users are free to use localhost names as they would any other
domain names.  Users may assume that IPv4 and IPv6 address
queries for localhost names will always resolve to the respective
IP loopback address.

Application software MAY recognize localhost names as special, or
MAY pass them to name resolution APIs as they would for other
domain names.

I like @garethr of a reserved name localhost that would default to a local transport

I think this is a great idea, and it makes total sense to me to treat localhost specially. @riton Are you still interested in working on this? I'm happy to help however I can!

@nicklewis yes I am. I plan to work on this feature next week.
I'd be glad to have opinions about the Unix specific stuff like chmod and how to handle them properly if Windows hosts has to be supported.

I'm working on a new version of this I should have up today or tomorrow. I'll close this PR once it's ready.

Closing in favor of https://github.com/puppetlabs/bolt/pull/317.


TR069 always 401 authentication error,don't know setting username and password?

hi:
TR069 always fails to connect. The catch sees the 401 authentication error.
Installation has never seen the account password settings. Now how do I get my phone?

I will check.

I checked to see if I had accidentally added spring security to tr069 server, which would have been a total blunder. But I hadnt. I think this is a question more in line with "How do I provision my unit for the first time?". So, before I continue with more advice, is this assumption correct?
But hey! great to see that you have deployed the release and that it works :+1: (except for this problem ..:P )

I've changed application.properties to "auth.method=none" and now I'm reporting a redirect error! It doesn't seem to work.

I used both "http:server:8085/tr069" and "http:server/tr069" to post connection debugging and both returned redirection errors. How do I use it? Seek guidance

Most propably because you need a slash at the end. I would try that e.g. http://server/tr069/
You could also check curl at command line (if you have linux or linux subsystem or cygwin) with curl -v http://server/tr069 and curl -v http://server/tr069/ to verify my point.
You can call either http://server/tr069/ or http://server/tr069/ok in browser to check if its running. But its obviously running. Just a tip if you are unsure if its running.
I wouldn't set auth mode to none. I would let auth mode be what it was (most propably basic) and set discovery.mode=true. But Are you modifying inside the jar file, or running pre RC12? In RC12 you should place override configs in /etc/default/freeacs-tr069 like adding DISCOVERY_MODE=true. In RC11 and earlier you must update /var/freeacs/tr069/application-config.properties with adding or changing discovery.mode=true.

add a slash to the end of the url in the cpe device configuration. Actually the part /tr069 is just a context path. Not an actual servlet. You could add anything behind it, like /tr069/prov. See curl output below to see my point:
➜  scripts git:(master) curl -v http://localhost/tr069
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 80 (#0)
> GET /tr069 HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: nginx/1.15.0
< Date: Thu, 14 Jun 2018 06:33:12 GMT
< Content-Type: text/html
< Content-Length: 185
< Location: http://localhost/tr069/
< Connection: keep-alive
< X-Clacks-Overhead: GNU Terry Pratchett
<

<title>301 Moved Permanently</title>

301 Moved Permanently

nginx/1.15.0

* Curl_http_done: called premature == 0
* Connection #0 to host localhost left intact
➜  scripts git:(master) curl -v http://localhost/tr069/
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 80 (#0)
> GET /tr069/ HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.15.0
< Date: Thu, 14 Jun 2018 06:33:20 GMT
< Content-Length: 194
< Connection: keep-alive
< X-Clacks-Overhead: GNU Terry Pratchett
<
<title>xAPS TR-069 Server Monitoring Page</title>
Monitoring of the TR-069 Server v. 3.1.2

Memory Usage

* Curl_http_done: called premature == 0
* Connection #0 to host localhost left intact
The JVM uses 217 MB of memory. 217 MB of memory available on the heap.
%                                                                                ➜  scripts git:(master) curl -v http://localhost/tr069/prov
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 80 (#0)
> GET /tr069/prov HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.15.0
< Date: Thu, 14 Jun 2018 06:33:32 GMT
< Content-Length: 194
< Connection: keep-alive
< X-Clacks-Overhead: GNU Terry Pratchett
<
<title>xAPS TR-069 Server Monitoring Page</title>
Monitoring of the TR-069 Server v. 3.1.2

Memory Usage

* Curl_http_done: called premature == 0
* Connection #0 to host localhost left intact
The JVM uses 230 MB of memory. 204 MB of memory available on the heap.
%                                                                                ➜  scripts git:(master) curl -v -X POST http://localhost/tr069/prov
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 80 (#0)
> POST /tr069/prov HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 401 Unauthorized
< Server: nginx/1.15.0
< Date: Thu, 14 Jun 2018 06:33:39 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: JSESSIONID=node01jkv3c06xgpar1h198c9cfaj00.node0;Path=/tr069;HttpOnly
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< WWW-Authenticate: Digest realm="xaps", qop="auth", nonce="4e28960836949f38ad5af5f79890e54f", opaque="2bfcc6bf9ad3df2434098091482fcb8f"
<
* Curl_http_done: called premature == 0
* Connection #0 to host localhost left intact
➜  scripts git:(master)

It hits me however that it returns Digest by default. I will look into it, but now you see how it works.

I havent said the test is success or that your problem is fixed. Currently freeacs is rewritten to be maintainable and future proof. And is currently a release candidate.  We lack up to date documentation for the New plattform but you can still the old documentation under each repo. This old documents will cover everything except new way of installing and maintaining install. Please do go read what you can find in the repo and maybe you will understand more


[165] Pre-fill applications from jobseeker profiles if present

Waiting on updated copy for the blue callout box on the quick-apply-with-profile page.

 Use Profile data to pre-fill an application form

Updated privacy notice
Before

After


CALCULATOR UI & LEAP YEAR OR NOT PROGRAM

The Calculator UI is built using SWIFTUI and the Leap Year program is based on cpp.
Looking forward to seeing you mate.

The Calculator UI is built using SWIFTUI and the Leap Year program is based on cpp.
Looking forward to seeing you mate.

Good work bro🙌

Thanks mate! it was really fun contributing to your repo.


Unexpected token ILLEGAL

I am experimenting with flow in a existing code base.  During flow tool execution I am getting following error
03:04:31 Running "flow" task
03:04:43 src/cm/PDDBMetadataJSONConverter.js:142
03:04:43 142:     this.productData = xml.productData ? xml.productData.map(function(xml)B {
03:04:43                                                                                ^ Unexpected token ILLEGAL
But If I check the code in any text editor, the code does not have any additional parameters like "B".
Code excerpt for your reference
 this.productData = xml.productData ? xml.productData.map(function(xml) {
        return {
            name: xml.$.name,
            property: xml.property ? xml.property.map(xmlAttributeMapper) : undefined
        };
    }) : undefined;

What is the root cause of this issue?  How can I suppress this error?

The provided excerpt is insufficient to reproduce the error. Please provide a complete code example that exhibits the error behavior.

Currently we are doubting utf-8 characters in this file. Once we isolate this issue, I will update.

The issue was related to a utf-8 character. JS is tolerent to this, but not flow.
@samwgoldman: Thank you very much for your prompt response

If it will help anyone, I had the same error because I had name a branch which included a "." character in the name and got this error.


fix: fixed broken streams

#162  👈
develop

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

Join @bob-obringer and the rest of your teammates on  Graphite


Now automatically opens magnet files

App nows sends a command to the OS to automatically open magnet files

Thanks!


Start TextClassificationSingle task

A PR to check up on my TextClassificationTask implementation. Currently it only contains OneHot, but I'll eventually add up the text-specific Encodings.

Updated in #245 .


Date recognition too strict

Bug Report
App Version: 2.0.2
Platform: win10
Installation Method: portable zip from GitHub
Bug Description:
Hi,
When creating a Task with the Text "Jan" in it, sleek creates a Task with 2024-01-01 instead of the expected string. My locale of sleek is set to English, but the language of the todo.txt isn't.
Background : in my language/country Jan is a name but also used as an abbreviation for the Month January.
The replacement of Jan makes sense to me, but it's counterproductive for my case. Is it intended btw.
All the Best
Chris

Hi @chris-asdf . Thanks for your report. If you suspect a bug, can I ask you to use the bug report template? It's otherwise really hard for me to keep the backlog meaningful and tidy.

Hi,
Sorry for the delay, different things got higher priority.
I can't really say it's a bug, because it could be also a feature to recognise this abbreviation.
But if you prefer it to handle this as a bug, can you give me a hint how to edit this issue accordingly? Or should I create a new?
All the Best,
Chris

Hi Chris.
I can't tell neither if it is a bug. Mostly because there are simply not enough details in this issue. It will help if you use the bug template and describe as detailed as possible the current behavior (which you suspect to be a bug) and what you would have expected instead. I added the bug template to your issue. Feel free to refine it and if it is a bug, we will re-open this issue.

Hi,
I updated the description, but I can't add the bug label (at least I've no Idea how 😉)
If this still doesn't contain all the info you need, just let me know.
I'll also give the newest release a try, but the changes mentioned seem not to be related to this...
Thanks for your time and effort
Chris

Hi Chris, I still cannot work with the bug report.

Maybe we should start with the language your system is set to.

Hi,
I retried today and interestingly I also couldn't reproduce it.
For completeness my system language is german de(DE) and sleek is set to English.
I hope this was something wind00w$ was throwing at me and it vanished with some updates.
Thanks again for your time, the next time I'll make screenshots immediately 😉
All the best
Chris

Quick question, since you are or Windows: Were you experiencing any performance issues with the last (pre-) releases? And if so, can I ask you to download the latest pre-release and check, if those are still present?

Hi,

Quick question, since you are or Windows: Were you experiencing any performance issues with the last (pre-) releases? And if so, can I ask you to download the latest pre-release and check, if those are still present?

The next time I'll get my hands on a windows PC will be next year. Then I would glad to give it (or any subsequent version) a try.
All the best,
Chris


ERROR [Stream Vimeo Video - AWS] No Failed but errors : malformed AAC bitstream detected. Install ffmpeg or avconv to fix this automatically

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.01.16
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

Without ffmpeg [V.01]
λ youtube-dl -icv -f best "https://vimeo.com/191069277" -o Video/%(id)s.%(ext)s
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-icv', '-f', 'best', 'https://vimeo.com/191069277', '-o', 'Video/%(id)s.%(ext)s']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2020.12.14
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: none
[debug] Proxy map: {}
[vimeo] 191069277: Downloading webpage
[vimeo] 191069277: Extracting information
[vimeo] 191069277: Downloading JSON metadata
[vimeo] 191069277: Downloading JSON metadata
[vimeo] 191069277: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 191069277: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 191069277: Downloading fastly_skyfire m3u8 information
[vimeo] 191069277: Downloading fastly_skyfire m3u8 information
[vimeo] 191069277: Downloading akfire_interconnect_quic MPD information
[vimeo] 191069277: Downloading akfire_interconnect_quic MPD information
[vimeo] 191069277: Downloading fastly_skyfire MPD information
[vimeo] 191069277: Downloading fastly_skyfire MPD information
[debug] Invoking downloader on 'https://skyfire.vimeocdn.com/1611290175-0xced3cb4b77ad7c964d8d9c82ba93a82caad4e962/191069277/video/635444538/playlist.m3u8'
[download] Video\191069277.mp4 has already been downloaded
[download] 100% of 4.57MiB
WARNING: 191069277: malformed AAC bitstream detected. Install ffmpeg or avconv to fix this automatically.

With ffmpeg : [Added ffmpge.exe]  [V.02]
[debug] Invoking downloader on 'https://skyfire.vimeocdn.com/1611285181-0xfe8311e0d2ed0404e1d145ffb8ff7433054f472c/191069277/video/635444538/playlist.m3u8'
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 7
[download] Destination: Video\191069277.mp4
[download] 100% of 4.80MiB in 00:01
[debug] ffmpeg command line: ffmpeg -i "file:Video\191069277.mp4"
[ffmpeg] Fixing malformed AAC bitstream in "Video\191069277.mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:Video\191069277.mp4" -c copy -f mp4 "-bsf:a" aac_adtstoasc "file:Video\191069277.temp.mp4"

AWS Lambda Logs [Python]  [V.03]
[download]   0.3% of 4.80MiB at Unknown speed ETA Unknown ETA
[download]   0.8% of 4.80MiB at Unknown speed ETA Unknown ETA
[download]   1.9% of 4.80MiB at 365.48KiB/s ETA 00:00
[download]   4.1% of 4.80MiB at 775.97KiB/s ETA 00:00
[download]   8.4% of 4.80MiB at  1.14MiB/s ETA 00:00
[download]  17.1% of 4.80MiB at  1.50MiB/s ETA 00:00
[download]  34.5% of 4.80MiB at  2.04MiB/s ETA 00:00
[download]  69.3% of 4.80MiB at  3.11MiB/s ETA 00:00
[download] 100.0% of 4.80MiB at  3.95MiB/s ETA 00:00
[download] 100% of 4.80MiB in 00:00

Description

Hello there, I'm trying to use lambda [python 3.8] of AWS to load some videos. As for vimeo, I don't see any exception on cloudwatch and everything is fine until the video downloaded to S3 fails to open and crashes.

Vimeo video : https://vimeo.com/191069277
Lambda code [V.03]:

f = subprocess.Popen(
                    ['python', '-m', 'youtube_dl', '-v', '-i', '-c', '-f best', '--force-ipv4',
                        '--cookies', '/tmp/cookies.txt', '-o', '-', '{}'.format(url)],
                    stdout=subprocess.PIPE
                )

Then, I tried running with youtube-dl on terminal and saw the reason [V.01]. After adding ffmpeg.exe everything is fine [V.02] and I tried the same fix for lambda but nothing changed, the video still downloaded normally and error.
How can I see the lambda exception and fix it ?

def _get_format_code(self, format_info):         for line in reversed(format_info.splitlines()):             video_format = line.split()             if 'hls' not in video_format[0]:                 return video_format[0]         return 'best'
Check video format and skip hls type

Hey, I am dealing with the same issue, did you solved it ?


Interface members missing types

Types of interface members are not being translated from UHDM to Yosys' AST. An example of a struct in an interface:
interface foo;
   struct packed {
       logic [15:0] bar;
   } baz = '1;
endinterface

module top(output int o);
   foo foo_();
   assign o = int'(foo_.baz.bar);
endmodule

Translates to:
    AST_MODULE <top.sv:7.0-7.0> [0x5602d30dcf50] str='\top' basic_prep
      AST_WIRE <top.sv:7.0-7.0> [0x5602d30e8460] str='\o' output signed basic_prep port=1 range=[31:0]
        AST_RANGE <top.sv:0.0-0.0> [0x5602d3ee29c0] basic_prep range=[31:0]
          AST_CONSTANT <top.sv:0.0-0.0> [0x5602d31e7750] bits='00000000000000000000000000011111'(32) signed basic_prep range=[31:0] int=31
          AST_CONSTANT <top.sv:0.0-0.0> [0x5602d3ed5500] bits='00000000000000000000000000000000'(32) signed basic_prep range=[31:0]
      AST_ASSIGN <top.sv:9.0-9.0> [0x5602d30dcc00] basic_prep
        AST_IDENTIFIER <top.sv:9.0-9.0> [0x5602d30e81a0 -> 0x5602d30e8460] str='\o' basic_prep
        AST_IDENTIFIER <top.sv:9.0-9.0> [0x5602d3153390 -> 0x5602d3ee3dd0] str='\foo_.baz.bar' basic_prep
      AST_CELL <top.sv:8.0-8.0> [0x5602d3ee1b00] str='\foo_' basic_prep
        AST_CELLTYPE <top.sv:0.0-0.0> [0x5602d3ee1c40] str='\foo' basic_prep
      AST_AUTOWIRE <top.sv:0.0-0.0> [0x5602d3ee3dd0] str='\foo_.baz.bar' basic_prep

    AST_INTERFACE <top.sv:0.0-0.0> [0x5602d3e6eba0] str='\foo'
      AST_WIRE <top.sv:4.0-4.0> [0x5602d3e61b80] str='\baz' logic range=[0:0]

Notice that baz in the interface definition is a simple [0:0] wire. A similar problem occurs with simpler types:
interface foo;
   parameter int W = 32;
   logic [W-1:0] bar = '1;
endinterface

module top(output int o);
   foo #(.W(16)) foo_();
   assign o = int'(foo_.bar);
endmodule

(same thing happens without the parameter, but it's important to consider when we work on it)
    AST_MODULE <top.sv:6.0-6.0> [0x5560c2d041a0] str='\top' basic_prep
      AST_WIRE <top.sv:6.0-6.0> [0x5560c3b32eb0] str='\o' output signed basic_prep port=1 range=[31:0]
        AST_RANGE <top.sv:0.0-0.0> [0x5560c3b340f0] basic_prep range=[31:0]
          AST_CONSTANT <top.sv:0.0-0.0> [0x5560c3b33130] bits='00000000000000000000000000011111'(32) signed basic_prep range=[31:0] int=31
          AST_CONSTANT <top.sv:0.0-0.0> [0x5560c3b32ff0] bits='00000000000000000000000000000000'(32) signed basic_prep range=[31:0]
      AST_ASSIGN <top.sv:8.0-8.0> [0x5560c3b0c760] basic_prep
        AST_IDENTIFIER <top.sv:8.0-8.0> [0x5560c3b32c70 -> 0x5560c3b32eb0] str='\o' basic_prep
        AST_IDENTIFIER <top.sv:8.0-8.0> [0x5560c3b0ad30 -> 0x5560c3b353d0] str='\foo_.bar' basic_prep
      AST_CELL <top.sv:7.0-7.0> [0x5560c3b333f0] str='\foo_' basic_prep
        AST_CELLTYPE <top.sv:0.0-0.0> [0x5560c3b33530] str='\foo' basic_prep
      AST_AUTOWIRE <top.sv:0.0-0.0> [0x5560c3b353d0] str='\foo_.bar' basic_prep

    AST_INTERFACE <top.sv:0.0-0.0> [0x5560c3ae1500] str='\foo' basic_prep
      AST_WIRE <top.sv:3.0-3.0> [0x5560c2cf8f50] str='\bar' logic basic_prep range=[0:0]

I think it's likely this happens because the SV plugin takes the interface definition from uhdmallInterfaces, but it is incomplete. The full definition can be found under vpiInterface in the module that references the interface.
There might be further issues with getting complex types working with Yosys' internals, but producing a correct AST is the first step.

Fixed by: https://github.com/chipsalliance/yosys-f4pga-plugins/pull/430. Closing issue at this point.


feat: add L2 sepolia testnet support

Add multicall support for zksync era, optimism, and arbitrum based off the multicall3 website.
Also fixed documentation regarding scroll's network name and corrected the multicall address to match the multicall3 website.

Thanks will deploy tomorrow

https://github.com/joshstevens19/ethereum-multicall/releases/tag/2.23.0


Icon not returning for Currently

Under Response -> Currently, Icon always returns None, although it does show up in the response if I paste the call into the browser. Using v3.1.3
https://api.darksky.net/forecast/your-key/44.8365032,-93.2734517

Seems to also be true regarding Response -> Daily -> Data -> Icon.

It's changed now, but if I look at tomorrow at 8am it shows the right icon. So make sure your GetForecast request in the program matches that URL request.

I'm running a web service with asp.net core 2.1 and DarkSkyCore 3.1.5 from NuGet and seeing Icons returned. I don't currently have a framework 4.6.1 setup so I can't verify that.


Set loading state to false on error

I noticed that loading state is only set to false after successful image processing, and in case of error the spinner never stops spinning.
Steps to reproduce (might not work for everybody):

Load the "device screen" sample photo
Click resize
Set method to hqx
Click up arrow to increase width

Noticed on Chrome 79 and Firefox 72 on Linux

@googlebot I signed it!


⚠ Bofrost.at has degraded performance

In d1e3f93, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1121 ms

Resolved: Bofrost.at performance has improved in 8cb644d after 6 minutes.


support $ref in response

This supports $ref in response
Related Issues
https://github.com/koxudaxi/fastapi-code-generator/pull/19/files

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@913a41f). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #29   +/-   ##
=========================================
  Coverage          ?   94.28%
=========================================
  Files             ?        2
  Lines             ?      280
  Branches          ?        0
=========================================
  Hits              ?      264
  Misses            ?       16
  Partials          ?        0

Flag
Coverage Δ

#unittests
94.28% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


Question: Is it possible to find complex slots for multiple people?

I'm working on a beauty salon app, that we can schedule some services.
Let's assume that the customer would like to schedule 4 services: haircut, manicure, pedicure and eyebrows. Each of these services can be a different professional or not. (let's imagine 3 professionals and 4 services in this case)
here are some rules:
I can cut my hair and do my nails at the same time.
I can NOT cut my hair and make eyebrows at the same time
I can NOT do manicure and pedicure at the same time IF both are with the same professional
for example:
haircuts and manicure from 11:00am to 11:40 am
eyebrow and pedicure from 11:40am to 12:20 pm
Some more problems, sometimes I may not have all the professionals available to do these sequential/parallel services straight, so if there is no straight slot available to schedule, then I must return the closest slot within a maximum wait of 20 min. Let's imagine there is no slot available to make it straight, the would be something like:
haircut from 11:00am to 11:40am
eyebrow and pedicure from 11:40am to 12:20pm
manicure from 12:35pm to 12:55pm (closest available slot is 15 min after the last one)
I can even pay for a help

@CavalcanteLeo How you solved this? I am also working in similar usecase.


{bp-2902} interpreters/luamodules/luv: use "depends on" instead of "select"

Summary
interpreters/luamodules/luv: use "depends on" instead of "select"
Included
https://github.com/apache/nuttx-apps/pull/2898
Impact
RELEASE
Testing
CI

CI errors, restarted :-)

@lupyuen could you please take a look why CI fails? I can not see any specific error reported :-(

@cederom sim:lua builds OK now, after I clicked "Re-Run All Jobs" (instead of Failed Jobs)
https://github.com/apache/nuttx-apps/actions/runs/12408505693/job/34685151351?pr=2907#step:7:343
Configuration/Tool: sim/lua
  Building NuttX...
  Normalize sim/lua

That's because Fetch Source needs to fetch the latest source from nuttx @ releases/12.8. I discovered this when building sim:lua with Docker:
https://gist.github.com/lupyuen/20415deb88c890c0284b6ba5fc7b3836
sudo docker run \
  -it \
  ghcr.io/apache/nuttx/apache-nuttx-ci-linux:latest \
  /bin/bash
cd
git clone https://github.com/apache/nuttx --branch releases/12.8
git clone https://github.com/jerpelea/nuttx-apps apps --branch bp-2902
pushd nuttx ; echo NuttX Source: https://github.com/apache/nuttx/tree/$(git rev-parse HEAD) ; popd
pushd apps  ; echo NuttX Apps: https://github.com/apache/nuttx-apps/tree/$(git rev-parse HEAD) ; popd
cd nuttx
tools/configure.sh sim:lua
make -j
## NuttX Source: https://github.com/apache/nuttx/tree/925b8b0904dcdd8d2c36b5d0a3fe0f1960e6a5bf
## NuttX Apps: https://github.com/apache/nuttx-apps/tree/fd7b8327f2185358c6bd29018479fdcb7fe7a8bd

sim-02 also builds correctly with Docker:
https://gist.github.com/lupyuen/394aaa99616553921238ab6e164b6614
sudo docker run \
  -it \
  ghcr.io/apache/nuttx/apache-nuttx-ci-linux:latest \
  /bin/bash
cd
git clone https://github.com/apache/nuttx --branch releases/12.8
git clone https://github.com/jerpelea/nuttx-apps apps --branch bp-2902
pushd nuttx ; echo NuttX Source: https://github.com/apache/nuttx/tree/$(git rev-parse HEAD) ; popd
pushd apps  ; echo NuttX Apps: https://github.com/apache/nuttx-apps/tree/$(git rev-parse HEAD) ; popd
cd nuttx/tools/ci
./cibuild.sh -c -A -N -R testlist/sim-02.dat


Add Larasupport Package

This package adds support to Lumen, So any Laravel Package could be used in Lumen without having to modify packages to support Lumen.

Care to explain why this was not merged? @chiraggude

Main reason for not accepting this PR was that the package is not "popular" enough to belong on the list - I know that sounds shallow. On second thoughts, give me a couple of days to test the package myself.

What's the criteria of a "popular" package? It has 2k downloads and is a helpful package. It just doesn't have more stars if that's what you're looking for?
Anyway, Sure! Check out the package.

See #118 for more info


Table Pagination?

Hi
Table Pagination on the server side?
could you please provide an example?
thanks

Hi,
I'm sorry the table is all client side right now.
I have on the roadmap to add server side support but I'm afraid currently it's not a high priority.
If you feel up to it PRs are more then welcome.

ok, thanks
On Mon, Apr 19, 2021 at 4:41 PM Joakim Dangården @.***>
wrote:

Hi,
I'm sorry the table is all client side right now.
I have on the roadmap to add server side support but I'm afraid currently
it's not a high priority.
If you feel up to it PRs are more then welcome.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joadan/TabBlazor/issues/5#issuecomment-822569336, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEYRH7DVWD2S5HQHEQULYRDTJRFJXANCNFSM43GBWFFA
.

--
Com os Melhores Cumprimentos
Paulo Cabral

Hi,
Can I set pagination values manually?

@KhurshidRustamov, Not sure what you mean, what would you like to set?
Dou you want full control over the paging (Template) or just control the number of values presented?

just control the number of values presented, it's need for get data from server by pagination and show total count of items and page number

this will enable ability of serving data paginated on server side https://github.com/TabBlazor/TabBlazor/pull/105/commits


Add an option to add a tag to a Pull Request when merging

Feature Description
Add an option to add a tag to a Pull Request.
After merging the PR this tag will be automatically added.
Useful for hotfixes, releases etc .. :)
Screenshots
No response

This sounds like something CI could do, no?

Any pointers how you would your CI (eg Jenkins) (easily) do this ? Most of the time CI reacts on a tag and doesn't know when to set a tag?

Ah, sorry, my mind was thinking labels. Do you mean a git tag?

@jolheiser yes, I've updated the title now to make it more clear


Generate getters and setters

In order to make some progress on this project I merged in a bunch of branches, rebased against master and pulled together the best of our ideas so far. This PR has subsequently become somewhat large (~600 lines of diff) so I'm going to comment on the top of the few files that I think are most important to look at.

that last commit fixes #8


Thanasis/184 setup firebase google sign in

PR Title
Issue Number(s): #184 .
What does this PR change and why?
It introduces proper sign in with Firebase, caching of credentials locally, and updates the Analytics backend.
Also brings Auth Guard to prevent access to non-authenticated users.
Lastly, many small but important changes have happened (and added some comments here and there for future tickets).
Checklist

[x] Setup Firebase for the BEI app
[x] Update sign-in and sign-out functions (the latter should also clear authReducer's state)
[x] Load firebase state if previously logged in
[ ] Make appropriate changes in the server's Firebase admin and APIWrapper to authenticate idTokens attached to requests, and decode the emails from them.
[x] Add user info to authReducer after signing in with the SignInButton and sending a request to our server's /api/patient/auth/login route
[x] If the user has not signed up, they should be taken to the SignUp page where they can fill in their details and send a request to /api/patient/auth/signup route. The authReducer should again be updated
[x] Only if the user is authenticated and signed up, they can access the main app.

Critical Changes / Notes
An important note is that the Analytics endpoints that should be updated on login have not been implemented yet. The code is there but untested and commented out.
Additional Notes
Here are some important updates and considerations for the codebase:

OAuth0 is being used but sparsely and vaguely throughout the codebase. Not sure what it's use since we have firebase handling the authentication.
The UI is very buggy on the login and sign up screens
Google Sign In is very difficult to implement because the redirect uri is a local address during development. All React Native/Firebase integration libraries require ejection from Expo Go.
We need to make a robust outline for how information flows (both for the sign in and for other data). For now the way sign in is handled is the following: During sign in or sign up, the authreducer gets called and it is the one for handling both state changes and async storage saves. Simultaneously, the firebase auth instance is logged in to the user.
During subsequent logins, firebase logins automatically from persistent storage and and retrieves the information (with async storage) and updates the reducer.
The behaviour for the codebase is undefined if during sign up the person does not submit his Personal Info or if the Analytics Backend fails. It would be best to catch such errors and erase the user from the firebase db too.
The Auth Guard should block the user if he hasn't submitted his Personal Info but since the endpoint has not been implemented yet it will be added later.

Problems:

What if firebase gets logged out while the user profile is still cached?
What if the cached user info gets lost while firebase is still authenticated?
What happens offline?

Solutions:

The Auth Guard does not depend on the local user info, but on the Firebase Auth instance. This ensures that a user is truly logged in when Firebase tells us so. We are not dependent on fragile cache data.
Not implemented yet but will probably just add code to refresh the local user data alongside the firebase authentication process.
This makes Async storage useless, however, since we will be updating the local info (by querying analytics) pretty much every time, making caching useless.
The only use for the Async storage is to retrieve user information when we cannot log in to Firebase due to connection errors.

Additional:
If we need to make more complex sign in methods or handling corner cases it would be good to abstract this logic to other components since right now most of the code is "in-place".
Testing
Make a new account and sign in.

Linting fixed. App authentication works as intended. User is save in the cache and log in to firebase is also persisted. Auth guard prevents unauthorised access.

I rebased by accident. The refactoring comment should include all the changes.


Default package_status shouldn't be latest

It is my understanding, from talking to various Puppetlabs employees at a few conferences, that using ensure => latest is frowned upon, because it causes excessive traffic as puppet then goes out and checks the package repositories every time it is run. It would probably be better to have the default package_status be "installed" and let people decide they want to go against best practices on their own.

+1
People could still force that with rsyslog::package_status: 'installed' in their hiera if they want (as I currently have to for it to work the other/proper way around).

That is what I did as well, was just filing a report as it seems the default value should follow best practices.

Just send in a PR and I'll be happy to merge it. Also a warning message inside documentation would be great to inform people about this change

Resolved with release 4.0.0


blueprint-compiler: 0.2.0 -> 0.6.0

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@r-ryantm you can close this draft.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1618

@r-ryantm you can close this draft.

You are taling to a bot 😅


New Embeds

Hey this is Oskar from JSFiddle.
Do you have any plans on updating the plugin so it can take advantage of the new embed type?
We've introduced embedding via SCRIPT a short while ago (https://medium.com/jsfiddle-updates/new-jsfiddle-embeds-93ab7a51ee11#.ts8vxtvb3), this has a few advantages over the IFRAME implementation, like the height adjusting so it always fits the height of the code.
If you have no plans on working on the plugin, I'd understand, and if you don't have any objections we'd fork your repo and refactor a few things from there.

Hi @oskarkrawczyk. Yes i have plans on updating this plugin.
But I will be see glad merge pull request in this repo if you submit it.

Cool. We're moving our docs into GitBook and wanted to use your plugin, but first it would need to comply with the new embed changes – like configuration per embed instead of global, and the aforementioned SCRIPT in favor of IFRAME.
Btw. close this issue at will as it's more of a question than an actual task/issue.

like configuration per embed instead of global

It is possible now for width and height. You can pass params to url
https://github.com/Mavrin/gitbook-plugin-jsfiddle/blob/master/book/plugin.js#L45-L47

Will implement in 1.0.0.

Very cool!

I have almost finished new version that support new embedding. But i have one issue with it. If i have embedding with first tab result, i get ugly result, because my script calculate width and height from div in it will be reder. Example https://mavrin.gitbooks.io/test/content/README1.html. It will be great if i can pass    params width and height in script if i need it. like this <script async src="//jsfiddle.net/taucharts/4o4z6fqn/embed/?height=300"></script> and script inject frame with height 300 instead auto calculate. What do you think about it? @oskarkrawczyk

I see, can't you simply let the embed decide on its own about the height?
When you embed the fiddle using <script> it'll just send postMessages back to the parent frame calculating the heights and updating it.

Disclaimer: I intentionally left the possibility to force the height out of the new embed. I just wanted the height to always be the size it needs to be.

Yes, I understand. Just i have many example,that it gets height from parent div. But i can use frame. It is ok.

Awesome, thanks for that Konstantin!
I'll be updating our docs soon, and using your plugin, there will be a honorary mention of you. I'll also be tweeting about this plugin from our jsfiddle twitter account.

 Thank you for jsfiddle. Let me know if you have any questions.


Show zones "not in all" monitors while dragging a window.

Microsoft PowerToys version
0.59.1
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce

When I drag a window while holding shift-key, the fancy zone areas appear but not in one of the monitor.
When I'm using 4 monitors, 3 of monitors show the fancy zone areas. And when I'm using 3 monitors, 2 of the monitors show the areas and still one of them not shows the area.
While the zones not showing in the monitor, the window snaps on the invisible zone. Snapping function is works.
I found weird something. If I change the feature 'Zones - When multiple zones overlap', the monitor which not shows the areas is changed to another one.
I don't understand what happened
✔ Expected Behavior
Show zones on "all" monitors while dragging a window.
❌ Actual Behavior
Show zones not in all monitors while dragging a window.
Other Software
After boot up Windows, no programs were running.

/bugreport

There is an error representing invalid zone count in one of the layouts when FancyZones tries to draw it.
Can you please try to set another layout on that monitor to see if it would be shown as expected?
/needinfo


Missing vm_lang tag in attrTagContainer

There seems to be a problem with the configuration of the VoiceMailAudioProcessing lambda.
The vm_lang tag that is getting configured in the contact flow to set the transcription language is not parsed to the attrTagContainer and therefore not added as a tag to the s3 recording object created.
https://github.com/service-cloud-voice/ServiceCloudVoiceLambdas/blob/169a7180e329afeda947e4f61e1102bbe7f912b0/voiceMailAudioProcessing/handler.js#L177-L184
However, the VoiceMailTranscribe lambda checks for that here and defaults to the en-US if not found:
https://github.com/service-cloud-voice/ServiceCloudVoiceLambdas/blob/169a7180e329afeda947e4f61e1102bbe7f912b0/voiceMailTranscribe/handler.js#L41
I suggest the following improvement:

Adding the vm_lang tag to the list of tags:
vm_lang=${encodeURIComponent(vmrecord.Attributes.vm_lang)}

That issue affects all users trying to use the voicemail in other languages than en-US.

Yes this is one of the known issue. This is going to get fixed in the latest contact center version.

This should be fixed with the latest contact center release.


Multi-gpu fails on SLURM clusters

Hi. I tried to run the training on a SLURM cluster with multiple GPUs. The problem is when you run the code on clusters like this, the cluster scheduler decides which GPUs to assign to you. In the current code, it is required to pass the names of the GPUs as an argument, which does not work in the scenario I mentioned.
I edited the code to just accept whatever GPU is available, regardless of their names. I think it would be nicer to have it this way. If interested, I can send you the quick fix.

More than welcome to pull request


Spritesheet renders incorrectly with filter

See http://storage.googleapis.com/tjandpals-temp/pixi-temp/pixi-filter-test/index.html
Applying a filter to a texture which was loaded via Animate CC spritesheet fails[*] when using current dev branch of PIXI. It works fine when using master branch. Also works fine when using other spritesheets (for example figher pilot from pixi.js examples page)
[*] fails meaning it seems to be grabbing mixing in data from other cells or something

I was also able to duplicate the problem by using ShoeBox as the spritesheet generator, e.g. with this spritesheet:
items.zip

Note that the same bug also happens with native PIXI filters or even just a basic filter with default vert/frag shaders

That's the real bug here

true, I didn't realize it till now - I just assumed the native filters were working ;)

I think I'm also seeing the bug outside of spritesheets... :(

Something-something premultiplied alpha?

I think you're onto something with that, can you be a little more specific? I've stripped the example down to just use PIXI.Filter() (no custom shader etc.) and also used latest build from master. Republished at same url (http://storage.googleapis.com/tjandpals-temp/pixi-temp/pixi-filter-test/index.html) - you'll see when the filter is applied, it still has that affect - though the image goes darker too...

@GoodBoyDigital https://github.com/pixijs/pixi.js/blob/master/src/core/renderers/webgl/utils/RenderTarget.js#L227
    if(this.destinationFrame !== this.sourceFrame)
    {

        gl.enable(gl.SCISSOR_TEST);
        gl.scissor(this.destinationFrame.x | 0,this.destinationFrame.y | 0, (this.destinationFrame.width * this.resolution) | 0, (this.destinationFrame.height* this.resolution) | 0);
    }
    else
    {
        gl.disable(gl.SCISSOR_TEST);
    }

That's the problem. Scissor must be done by sourceFrame, not by destionationFrame.
if(this.sourceFrame && (this.sourceFrame.width !== this.size.width ||
        this.sourceFrame.height !== this.size.height))
    {

        gl.enable(gl.SCISSOR_TEST);
        gl.scissor(0, 0, (this.sourceFrame.width * this.resolution) | 0, (this.sourceFrame.height * this.resolution) | 0);
    }
    else
    {
        gl.disable(gl.SCISSOR_TEST);
    }

Just want to add that I'm seeing blur filters cropping their parent sprite and padding not working at all, which looks quite similar. Padding is actually cropping the original sprite, which doesn't seem right. Any ideas?

@dazId try https://s3-eu-west-1.amazonaws.com/pixi.js/dev/pixi.js ?

thanks @ivanpopelyshev will do. does this look like a known issue..?

yes, it looks like that, there were filter fixes last week.

@ivanpopelyshev tried this, and that's much better, thank you.
One thing still buggy however. when the blur is being progressively changed (and hence the padding too), the image seems to jump around. With a fixed padding value, this does not happen, but obviously the blur clips then at some point. Here's an example:

And with fixed value for padding:

Hello! This is fixed in the latest branch 👍


"Getting Started..." points to nowhere

In particular it tries to open this URL which apparently does not exist:
https://github.com/dart-atom/dartlang/blob/master/doc/getting_started.md
According to the CHANGELOG.md which is accessed from "Release Notes" I am at "## 0.4.2"

That moved to here: http://dart-atom.github.io/dartlang/. The latest version is 0.4.3; it should point to the correct place.


Dockerfile

I set up a Dockerfile and a docker-compose.yml so that I don't have to rebuild the container each time I start it... and I figured I might as well share it.
However, this makes the test environment setup specified in three places:

.travis.yml
README.md
docker/Dockerfile

We could simplify the current README instructions by removing the apt-get install part and instead point users in this direction, which would download a pre-built image (based on the Dockerfile):
docker run -ti --rm -v /local/path/to/Qt.py:/root/Qt.py qtpy/qtpydev:1.0

If anyone's interested in inspecting the setup, you could just check out either .travis.yml or Dockerfile.
@mottosso in case you think this is nice and accept the PR, I'll add you as collaborator to the dockerhub repository.

That's a good thought. I wonder if we could simplify things a bit.

With just the Dockerfile, we could have this.
$ docker build -t mottosso/qt.py https://github.com/mottosso/Qt.py.git # One-time build
$ docker run --rm -v $(pwd):/Qt.py mottosso/qt.py nosetests tests.py --verbose

We could also use this for our Travis tests, which might help the many specifications of dependencies.

https://docs.travis-ci.com/user/docker/

As in, no docker-compose, no additional Docker hub project to maintain, no additional dependency on supervisord, and a smaller guide in the README.

Love it. Please review changes.

WORKDIR /Qt.py
In which case we would still need to specify nose and things via the command-line.

Sorry, not following you here... what do you mean? :)

Why --pull and --force-rm?

Hm, for some reason, I thought that --pull would force a re-build. But now I see it was --no-cache I was really looking for. I'll use --no-cache instead, so if you re-run that very same command you're also getting the latest and greatest.
About --force-rm, I was under the impression that would remove intermittent containers which are only used during the build and not during run (saving disk space)... no?

Sorry, not following you here... what do you mean? :)

There is another directive called WORKDIR which sets the working directory for any commands  you run on the container.
FROM ubuntu:14.04

RUN apt-get update && apt-get install -y \
    python-qt4 \
    python-pyside \
    python3-pyqt4 \
    python3-pyside \
    python-pip
RUN pip install nose

WORKDIR /Qt.py

As in my first example, with the workdir set to /Qt.py, the command would be.
$ docker run --rm -v $(pwd):/Qt.py mottosso/qt.py nosetests tests.py --verbose

As opposed to..
$ docker run --rm -v $(pwd):/Qt.py mottosso/qt.py /Qt.py/nosetests tests.py --verbose

But ENTRYPOINT reduces typing even further, so it's a win.

I'll use --no-cache instead

I haven't used that before and haven't had issues with a vanilla build. Maybe let's go plain until a problem arises? Otherwise I'm afraid of over-engineering and cargo cult programming.

About --force-rm, I was under the impression that would remove intermediate containers which are only used during the build and not during run (saving disk space)... no?

It looks like it is some form of optimisation, yes. But I'd keep it out of the beginner's docs to make the already long command less scary.

That's mergable to me!

Thanks for clarifying that last bit. :)
Really nice improvements suggestions on this one. Thanks! :D


fix: return ffmpeg error logs to caller, and fix StreamingStatus

FFmpeg transcoder logic has been implemented within the driver code now, so that way we have more control over it. This allows us to keep track of the process output and log it to the console as well as return it to the caller of StartStreaming. Because we have more precise control over the process, we can better sync the StreamingStatus to whether or not the ffmpeg process is running.
The handling of publishing StreamingStatus to the message bus has been optimized to send better based on when it actually changes, and not send when the user calls StopStreaming when already stopped, or StartStreaming when already started.
Logic has also been added to redact the rtsp credentials from the log file and API responses to avoid exposing secrets to the caller.

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[X] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[X] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?)
[X] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?) N/A

Testing Instructions

checkout and build this PR
run edgex in secure or non secure mode using the image built from this pr

update add-device-usb-camera.yaml
run make run ds-usb-camera

wait for your camera to be auto-detected, and get the device name
execute StartStreaming, and expect a 500 error with a log message that contains messages related to 401 authentication error
execute StreamingStatus and verify isstreaming=false and error is the same (or a subset) of the api call result
post your rtspauth credentials to /api/v3/secrets  using the guide from edgex-docs
execute StartStreaming with valid inputs and expect it to return a 200 OK, taking about 1 second as before
view the stream using mplayer or ffplay (check the usb docs on how)
execute StreamingStatus and see that there is no error, and isstreaming=true
execute StartStreaming and expect an error already running
execute StreamingStatus and see that there is no error, and isstreaming=true
execute StopStreaming and expect 200 OK
execute StreamingStatus and see that there is no error, and isstreaming=false
execute StopStreaming and expect 200 OK
execute StreamingStatus and see that there is no error, and isstreaming=false
execute StartStreaming with invalid inputs and expect it to return a 500 error, with details about the error such as mpeg456 not being valid
execute StreamingStatus and verify isstreaming=false and error is the same (or a subset) of the api call result
execute StopStreaming and expect 200 OK
execute StreamingStatus and nothing has changed

New Dependency Instructions (If applicable)

Fixes #253
Implements a proper fix for #23

To start and view the stream, see here
For how to set credentials - see step 4 here

It looks like gosec is flagging a G204: Subprocess launched with a potential tainted input or cmd arguments (gosec).
This should be evaluated, however do understand that the G204 already exists in the code base and is just not being detected due to the fact it resides in a 3rd-party library.

Codecov Report

Merging #254 (a7aa7f0) into main (faedb97) will decrease coverage by 0.25%.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff            @@
##            main    #254      +/-   ##
========================================
- Coverage   2.70%   2.45%   -0.25%
========================================
  Files          7       8       +1
  Lines        777     856      +79
========================================
  Hits          21      21
- Misses       756     835      +79

Impacted Files
Coverage Δ

internal/driver/device.go
11.42% <0.00%> (-0.34%)
:arrow_down:

internal/driver/driver.go
0.00% <0.00%> (ø)

internal/driver/helper.go
0.00% <0.00%> (ø)

internal/driver/transcoder.go
0.00% <0.00%> (ø)

I validated this PR  thoroughly both in secure and non-secure modes.
Tested what was recommend in test instructions of this PR and I added some of my own tests.
Functionality wise it works correctly, no issues seen. Tried several time start steaming with valid and invalid inputs, stop streaming, restarting/stopping/starting usb service while streaming is going on, etc checked streaming status for every test to ensure it reflects correct streaming status.
But it gives status code 200 in below scenarios:
Start streaming with valid inputs without rtsp creds uploaded
Start streaming with invalid inputs
Based on PR testing instructions, its supposed to give status code 500 for above 2 cases.
However though it gives status code 200 in above 2 cases, streaming will not start and gives appropriate error in streaming status api error section. only problem is api output status code. Find attached logs and screenshots.

logs_without_uploading_rtsp_creds.txt

@vyshali-chitikeshi @FelixTing I have just pushed updated code to handle this situation. It now waits up to 4 seconds before returning, in case the error takes longer on certain machines. However, I have enabled progress reporting of 60 second intervals, so not super chatty, but allows us to have something to parse when the stream has successfully started.
In my experimentation, I have noticed ffmpeg will always print progress for the first frame, so no matter if the reporting interval is 1 minute, we still get notified right away. This seems to be the best of both worlds, as it allows more time for slower machines/commands, but doesn't drastically delay the response of successful streams.

Also from performance perspective, I don't see noticeable delay to get rest-api outputs.


Add github-public-key-signature and github-public-key-identifier headers

We should expect that copilot extension apps do proper payload validation. It could be bypassed in local development if necessary, but I would avoid it if possible.
I'm not sure how the signature is currently calculated. I assume it is using the app's private key? If so, we would need to expose the private key to the CLI extension.
Without sending the signature header, the CLI extension cannot be used to test apps that implement the payload verification

@gr2m the signature is calculated using a common EDCSA private key, following the paved path from the secret scanning program. The way to include this in the debug tool would be to send the messages through the GitHub platform to be signed. Currently this tool is designed to directly talk to the agent.

An alternative path we discussed would be for the debug CLI to create its own private key and expose its own version of https://api.github.com/meta/public_keys/copilot_api, then dynamically configure the URL of that endpoint in apps (which we'll have to do anyway in our SDKs for enterprise compatibility). But this will obviously more work.
Would this be a viable path though? If so, we could mark the issue as "pull requests welcome" to encourage the community to build that out, if none of the Hubbers can prioritize it anytime soon?

Hey @gr2m, we're consolidating issues over to https://github.com/copilot-extensions/user-feedback.  Gonna close this one, feel free to reopen over there!


Add new content to Newsroom page

As requested by Heather Williams on 8/15/21, add new news items and contact info to Newsroom page.
Request: https://docs.google.com/document/d/14QYf85S3reTd0ScnPtNONxlyxLLgxaUf/edit
Draft: https://docs.google.com/document/d/194DtDKJIMmpXC94h8NXm3KESaJKaKnWbfULRDraOHQg/edit#

Drafting.

Staged. https://staging.drought.ca.gov/newsroom/
In the process, worked with Carter to create workaround for staging process, and worked with Chach to add a left menu (page index) to Newsroom page.
Emailed stakeholders for review.

Published Newsroom page, but still need to update news items on homepage. Will find out how with Chach.

Learned the mystical ways and updated homepage news items 8/17.


INTLY-1069 - Incorporate PF4 components into master

Motivation
INTLY-1069 Prepare final merge to master... final subtask of the 'Release Solution Explorer with PF4 components' task.
What
Rebased the PF4 branch with latest from master, now merging PF4 components into the master branch.
Why
Upgrade to the latest patternfly UI components.
Verification Steps
Verify that the solutions explorer webapp looks and behaves as expected with the PF4 components.
Checklist:

[x] Code has been tested locally by PR requester
[x] Changes have been successfully verified by another team member

Progress

[x] Finished task

Additional Notes
Tested locally and on a live server. It is currently running on:
https://tutorial-web-app-webapp.apps.uxdpf4-0ffa.openshiftworkshop.com/

@mfrances17 I see @mindreeper2420 has approved this. I can give give this a look if you want a second pair of eyes on this (or need someone to run through the walkthroughs if we touch any of that logic somehow).


Addressing  vmss::javadoc review comments

Addressing review comments related to VMSS javadoc in the PR https://github.com/Azure/azure-sdk-for-java/pull/1071

Can one of the admins verify this patch?

Runtime changes detected. pull request created. CI running:


Don't get traffic from my pods

Describe the bug
I tried to use mizu but I can't get traffic fron my pod
To Reproduce
Steps to reproduce the behavior:

I run Mizu with the next command
./mizu tap "ggn.*" -n ggng-pe-prod --set dump-logs=true
Mizu will store up to 200MB of traffic, old traffic will be cleared once the limit is reached.
Tapping pods in namespaces "ggng-pe-prod"
+ggng-api-listener-68d6859767-67psh
+ggng-api-listener-68d6859767-bm428
+ggng-api-listener-68d6859767-cl9rc
+ggng-api-listener-68d6859767-cw9j6
+ggng-api-listener-68d6859767-hll78
+ggng-api-listener-68d6859767-njj2f
+ggng-api-listener-68d6859767-szxtr
+ggng-api-listener-68d6859767-vsxrq
+ggng-api-reconcilier-5c4b5c8f4d-hnp5f
+ggng-decision-engine-87999c4f4-2k4h8
+ggng-decision-engine-87999c4f4-5rjvs
+ggng-decision-engine-87999c4f4-6rbpj
+ggng-decision-engine-87999c4f4-898d6
+ggng-decision-engine-87999c4f4-8hfm2
+ggng-decision-engine-87999c4f4-b8wbz
+ggng-decision-engine-87999c4f4-cbp6g
+ggng-decision-engine-87999c4f4-ctxlg
+ggng-decision-engine-87999c4f4-dj9wn
+ggng-decision-engine-87999c4f4-hq25h
+ggng-decision-engine-87999c4f4-kglsg
+ggng-decision-engine-87999c4f4-nl7mn
+ggng-decision-engine-87999c4f4-pwbtc
+ggng-decision-engine-87999c4f4-rrnpq
+ggng-decision-engine-87999c4f4-vxskz
+ggng-decision-engine-87999c4f4-x5njk
+ggng-decision-engine-87999c4f4-xslrh
+ggng-decision-engine-87999c4f4-z4mpd
+ggng-encoder-gateway0-6687455844-654sp
+ggng-encoder-gateway1-6fff5d4ffb-z6c2l
+ggng-encoder-gateway2-8876f6476-9h2sx
+ggng-encoder-gateway3-84764bbd64-kgpcf
+ggng-encoder-gateway4-5c855b6bfb-4n5m2
+ggng-encoder-gateway5-f5c4b659b-vhpzd
+ggng-encoder-gateway6-566b78848d-fx9sk
+ggng-encoder-gateway7-6647f5579b-bctjb
+ggng-encoder-gateway8-577d568fd8-wgc9z
Waiting for Mizu Agent to start...
Mizu is available at http://localhost:8899

Screenshots

mizu_logs_2022_03_30__23_27_33.zip
Desktop (please complete the following information):

OS: [Fedora 35]
Web Browser:  [Google Chrome]

Additional context

I can see from the logs that for some reason the "tapper" pod couldn't connect to Mizu "API server" pod with web-socket
[2022-03-31T02:27:08.498+0000] INFO  ▶ socket connection to ws://mizu-api-server.mizu.svc.cluster.local/wsTapper failed: dial tcp: i/o timeout, retrying 1 out of 30 in 2 seconds... ▶ [1 main.go:415 dialSocketWithRetry]
The "tapper" pod is the component which is responsible to sniff the network traffic from a node and send it to API server, this is why you don't see any traffic in the browser.
Is there any reason why it can happen in your cluster?
BTW i see you are using version '0.22.0' can you try and reproduce it with the latest stable release

Hi Igor, thank you for you reply I don't have any idea why happen this. I upload the new evidence run the latest version
$ ./mizu version
Version: 30.4 (main)
$ ./mizu tap "ggn.*" -n ggng-pe-prod --set dump-logs=true
Mizu will store up to 200MB of traffic, old traffic will be cleared once the limit is reached.
Tapping pods in namespaces "ggng-pe-prod"
+ggng-api-listener-68d6859767-257xf
+ggng-api-listener-68d6859767-9c564
+ggng-api-listener-68d6859767-fld6h
+ggng-api-listener-68d6859767-gvbrh
+ggng-api-listener-68d6859767-qlmpx
+ggng-api-listener-68d6859767-s7cz8
+ggng-api-listener-68d6859767-skwhb
+ggng-api-listener-68d6859767-trdvw
+ggng-api-reconcilier-5c4b5c8f4d-hnp5f
+ggng-decision-engine-87999c4f4-2k4h8
+ggng-decision-engine-87999c4f4-5rjvs
+ggng-decision-engine-87999c4f4-6rbpj
+ggng-decision-engine-87999c4f4-898d6
+ggng-decision-engine-87999c4f4-8hfm2
+ggng-decision-engine-87999c4f4-b8wbz
+ggng-decision-engine-87999c4f4-cbp6g
+ggng-decision-engine-87999c4f4-ctxlg
+ggng-decision-engine-87999c4f4-dj9wn
+ggng-decision-engine-87999c4f4-hq25h
+ggng-decision-engine-87999c4f4-kglsg
+ggng-decision-engine-87999c4f4-nl7mn
+ggng-decision-engine-87999c4f4-pwbtc
+ggng-decision-engine-87999c4f4-rrnpq
+ggng-decision-engine-87999c4f4-vxskz
+ggng-decision-engine-87999c4f4-x5njk
+ggng-decision-engine-87999c4f4-xslrh
+ggng-decision-engine-87999c4f4-z4mpd
+ggng-encoder-gateway0-6687455844-654sp
+ggng-encoder-gateway1-6fff5d4ffb-z6c2l
+ggng-encoder-gateway2-8876f6476-9h2sx
+ggng-encoder-gateway3-84764bbd64-kgpcf
+ggng-encoder-gateway4-5c855b6bfb-4n5m2
+ggng-encoder-gateway5-f5c4b659b-vhpzd
+ggng-encoder-gateway6-566b78848d-fx9sk
+ggng-encoder-gateway7-6647f5579b-bctjb
+ggng-encoder-gateway8-577d568fd8-wgc9z
Waiting for Mizu Agent to start...
Mizu is available at http://localhost:8899
kubectl get pod -n mizu
NAME                           READY   STATUS    RESTARTS   AGE
mizu-api-server                2/2     Running   0          5m33s
mizu-tapper-daemon-set-f7gpl   1/1     Running   2          5m24s
mizu-tapper-daemon-set-fm57t   1/1     Running   2          5m25s
mizu-tapper-daemon-set-k6hv4   1/1     Running   2          5m24s
mizu-tapper-daemon-set-nzmqv   1/1     Running   2          5m24s
mizu-tapper-daemon-set-t2927   1/1     Running   2          5m24s
mizu-tapper-daemon-set-twbgg   1/1     Running   2          5m24s
mizu-tapper-daemon-set-vcw79   1/1     Running   2          5m24s
As information aditional, i run this command to view the pods
$ kubectl describe pod/mizu-tapper-daemon-set-f7gpl -n mizu
Events:
Type     Reason       Age                   From               Message

Normal   Scheduled    8m24s                 default-scheduler  Successfully assigned mizu/mizu-tapper-daemon-set-f7gpl to <IP_ADDRESS>
Warning  FailedMount  8m23s                 kubelet            MountVolume.SetUp failed for volume "mizu-service-account-token-gv8rr" : failed to sync secret cache: timed out waiting for the condition
Normal   Pulled       8m20s                 kubelet            Successfully pulled image "docker.io/up9inc/mizu:30.4" in 2.084804313s
Normal   Pulled       6m21s                 kubelet            Successfully pulled image "docker.io/up9inc/mizu:30.4" in 2.106962966s
Normal   Pulled       4m9s                  kubelet            Successfully pulled image "docker.io/up9inc/mizu:30.4" in 2.062029591s
Warning  BackOff      119s (x3 over 4m25s)  kubelet            Back-off restarting failed container
Normal   Pulling      104s (x4 over 8m22s)  kubelet            Pulling image "docker.io/up9inc/mizu:30.4"
Normal   Created      102s (x4 over 8m20s)  kubelet            Created container mizu-tapper
Normal   Started      102s (x4 over 8m20s)  kubelet            Started container mizu-tapper
Normal   Pulled       102s                  kubelet            Successfully pulled image "docker.io/up9inc/mizu:30.4" in 2.07771956s
mizu_logs_2022_03_31__08_35_45.zip

Finally, all the pods stayed as CrashLoopBackOff state
$  kubectl get pods,daemonsets,services -n mizu
NAME                               READY   STATUS             RESTARTS   AGE
pod/mizu-api-server                2/2     Running            0          21m
pod/mizu-tapper-daemon-set-f7gpl   0/1     CrashLoopBackOff   6          21m
pod/mizu-tapper-daemon-set-fm57t   0/1     CrashLoopBackOff   6          21m
pod/mizu-tapper-daemon-set-k6hv4   0/1     CrashLoopBackOff   6          21m
pod/mizu-tapper-daemon-set-nzmqv   0/1     CrashLoopBackOff   6          21m
pod/mizu-tapper-daemon-set-t2927   0/1     CrashLoopBackOff   6          21m
pod/mizu-tapper-daemon-set-twbgg   0/1     CrashLoopBackOff   6          21m
pod/mizu-tapper-daemon-set-vcw79   0/1     CrashLoopBackOff   6          21m
NAME                                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/mizu-tapper-daemon-set   7         7         0       7            0                     21m
NAME                      TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
service/mizu-api-server   ClusterIP   <IP_ADDRESS>           80/TCP    21m

mizu_logs_2022_03_31__08_35_45.zip

for some reason i can't open the attached zip file

Hey @IgorGov ,
If you are interested, I was able to reproduce on EKS.
I found out that the issue is that the tapper uses hostNetwork and thus cannot hit a ClusterIP. I am still investigating but I am fairly confident that this is due to a SecurityGroup that doesn't allow Node to ClusterIP on port 80.
I can hit this same service from another pod/inside the Pod network without any issue.


IIS Application Pool Best Configuration Practices to publish Bots

Hi,
can you give some website as a reference or provide some specific guidance for IIS application pool best  configuration to publish Bot apps, like:
Idle Time-out
Load User profile
Recycling Regular Time Interval
Feel free to alert regarding other parameters that I should be aware.
Thanks in advance.

@willportnoy can you comment and provide some guidance?

Since the bot builder stores state outside of the web service
https://docs.botframework.com/en-us/technical-faq/#where-is-conversation-state-stored
the IIS web worker process should be stateless, so you don't need to configure any sorts of state-full session stores.
We generally don't have any recommendations for configuring IIS that are specific to bots.  Periodically recycling the app pools seems like good hygiene and timing out unused connections seems reasonable (though we'd expect a fair amount of connection reuse because it's primarily the Bot Framework connector service that posts to the bot's web service).

Assuming @willportnoy's reply answered the question, if not feel free to reopen the issue. Thanks!


Reloading window while explorer is open causes explorer to be empty

Noticed this with today's Insider's update:

Open explorer
Reload window
:bug: Explorer is empty

Toggling the sidebar visibility fixes this.

Can not repro. What repo are you using? If you F1 > developer tools > do you see some errors in the developer console?

Hmm...I couldn't repro today. Will reopen if I see this.


Detect certificates and log in accordingly

This might be better done in NGINX.

The auth service checkCertificate endpoint will look for a DN. If it can find one it will return a token, otherwise it will forward to the login page.
The work done for this issue does not include full configuration of NGINX. The example NGINX config in stroom-resources contains example certs and keys and verifies the client certificate correctly. It also contains configuration for SSL stapling (certificate revocation checking via OCSP), but this needs the certificate to be configured and an OCSP server installed to work. This is a task that needs to happen at deployment time.

951bf25ec17b6f1c94637a1ee81a9da12a89c5d1

e69ddb4728a2b4762ea0da7e9894e49635f90755


Contextual timestamp parsing

Currently when we parse time from a dateString using a DateFormat, we treat each row individually using DateFormat.parse(), which is a relatively expensive operation.
In many scenarios, especially with realtime under heavy load, such as log processing, the granularity of time is seconds (normally you don't log an event for process every ms), which makes the records being sent load be in batches with same timestamp.
So with that context, it is possible to make the parsing operation a candidate for optimization by remembering the last time string parsed along with its parsed result.
For details, please follow this thread

Pull request: https://github.com/druid-io/druid/pull/2867

fixed in #2867


Determine what environmental variables select the kernels shown in Jupyter Lab Launcher

Following up on PR #11 and https://atlas-talk.sdcc.bnl.gov/t/how-to-activate-python-virtual-environments-with-custom-images/269/ (ATLAS internal):
What Jupyter Lab environmental variables determine the kernels that are shown on the Launcher?
Given https://github.com/jupyter/jupyter/issues/449, https://github.com/jupyter/jupyter/pull/426, and https://github.com/jupyter/jupyter_core/issues/138 I thought that this would be controlled by JUPYTER_DATA_DIR given the docs summary on Data files as

Jupyter uses a search path to find installable data files, such as kernelspecs and notebook extensions. When searching for a resource, the code will search the search path starting at the first directory until it finds where the resource is contained.
Each category of file is in a subdirectory of each directory of the search path. For example, kernel specs are in kernels subdirectories.

I'm running into a tricky situation running a custom image through Singularity on a US ATLAS Jupyter Hub instance that I don't control where though the Launcher will show my kernel when I run locally it will not show up when running Jupyter Lab on the remote Jupyter Hub unless I symlink my kernels into place.
Example of working locally fine
In my Dockerfile in PR #11 I set JUPYTER_DATA_DIR
https://github.com/iris-hep/analysis-systems-base/blob/246398129765843a1fbf824ab040030ebafb6a98/docker/Dockerfile#L107-L108
to be set when /etc/profile is sourced
https://github.com/iris-hep/analysis-systems-base/blob/246398129765843a1fbf824ab040030ebafb6a98/docker/Dockerfile#L34
and then force this with a login shell
https://github.com/iris-hep/analysis-systems-base/blob/246398129765843a1fbf824ab040030ebafb6a98/docker/Dockerfile#L118
Using the image hub.opensciencegrid.org/iris-hep/analysis-systems-base:2022-11-02 and running it locally as a non-root user
docker run \
    --rm \
    -ti \
    --publish 8888:8888 \
    --user $(id -u $USER):$(id -g) \
    hub.opensciencegrid.org/iris-hep/analysis-systems-base:2022-11-02

I'm able to see my "Analysis Systems" kernel in the Launcher

and use it just fine.
import pyhf
import cabinetry
import matplotlib
import awkward
import coffea
import dask
import torch

print(f"{pyhf.__version__}")  # 0.7.0
print(f"{cabinetry.__version__}")  # 0.5.0
print(f"{matplotlib.__version__}")  # 3.6.1
print(f"{awkward.__version__}")  # 1.10.1
print(f"{coffea.__version__}")  # 0.7.19
print(f"{dask.__version__}")  # 2022.9.2
print(f"{torch.__version__}")  # 1.12.1+cpu

Note this also works locally without having to set JUPYTER_DATA_DIR or JUPYTER_PATH.
Example of failing on remote
In a Terminal session on the remote the environmental variables from the hub.opensciencegrid.org/iris-hep/analysis-systems-base:2022-11-02 container are still propagating through correctly
Singularity> echo $JUPYTER_PATH
/opt/micromamba/envs/analysis-systems/share/jupyter:/u0b/software/jupyter:/cvmfs/atlas.sdcc.bnl.gov/jupyter/t3s/common
Singularity> echo $JUPYTER_DATA_DIR
/opt/micromamba/envs/analysis-systems/share/jupyter
Singularity>

however the Analysis Systems kernel is absent from the Launcher.

If however, I symlink the analysis-systems kernel directory from my micromamba virtual environment to ~/.local/share/jupyter/kernels (N.B.: the path that is the default value for JUPYTER_DATA_DIR is ~/.local/share/jupyter/)
Singularity> mkdir -p ~/.local/share/jupyter/kernels
Singularity> ln --symbolic /opt/micromamba/envs/analysis-systems/share/jupyter/kernels/analysis-systems ~/.local/share/jupyter/kernels
Singularity>

the analysis-systems kernel will then appear in the Launcher

and also work as expected

Questions
What environmental variable is actually controlling what gets shown in the Launcher? I thought it was JUPYTER_DATA_DIR but apparently it isn't(?). Why does ~/.local/share/jupyter/ work?

:wave: @choldgraf, @ivanov, @yuvipanda if I can abuse familiarity with you all, I'm not expecting you to offer suggestions on what strange things are happening or even to read the Issue, but I figure that you've all seen way more strange Jupyter Lab / Jupyter Hub things over the years than I have and might at least be able to suggest a "you're gonna have a bad time going that way" or perhaps address the question of

What environmental variable is actually controlling what gets shown in the Launcher? I thought it was JUPYTER_DATA_DIR but apparently it isn't(?).

(which maybe is a better GitHub Discussions question someplace in Jupyter org land).

You can run jupyter --path to find out what paths it is looking at, and fiddle with env vars to figure out which ones it should be looking at.

You can run jupyter --path to find out what paths it is looking at, and fiddle with env vars to figure out which ones it should be looking at.

Ah, yeah that puts some things in context already:
Singularity> jupyter --path
config:
    /usatlas/u/atlas_feickert/.jupyter
    /usatlas/u/atlas_feickert/.local/etc/jupyter
    /opt/micromamba/envs/analysis-systems/etc/jupyter
    /usr/local/etc/jupyter
    /etc/jupyter
data:
    /opt/micromamba/envs/analysis-systems/share/jupyter
    /u0b/software/jupyter
    /cvmfs/atlas.sdcc.bnl.gov/jupyter/t3s/common
    /opt/micromamba/envs/analysis-systems/share/jupyter
    /usatlas/u/atlas_feickert/.local/share/jupyter
    /opt/micromamba/envs/analysis-systems/share/jupyter
    /usr/local/share/jupyter
    /usr/share/jupyter
runtime:
    /opt/micromamba/envs/analysis-systems/share/jupyter/runtime
Singularity> jupyter --config-dir
/usatlas/u/atlas_feickert/.jupyter
Singularity> jupyter --data-dir
/opt/micromamba/envs/analysis-systems/share/jupyter
Singularity> jupyter --runtime-dir
/opt/micromamba/envs/analysis-systems/share/jupyter/runtime

Ah sorry @agoose77 I forgot that you can't see everything I put over on https://atlas-talk.sdcc.bnl.gov/t/how-to-activate-python-virtual-environments-with-custom-images/269/. Let me paste everything here for running at BNL with /cvmfs/unpacked.cern.ch/hub.opensciencegrid.org/iris-hep/analysis-systems-base:2022-11-03.
Singularity> jupyter kernelspec list
Available kernels:
  analysis-systems      /opt/micromamba/envs/analysis-systems/share/jupyter/kernels/analysis-systems
  python3               /opt/micromamba/envs/analysis-systems/share/jupyter/kernels/python3
  atlasroot             /u0b/software/jupyter/kernels/atlasROOT
  py2env                /u0b/software/jupyter/kernels/py2env
  py3env                /u0b/software/jupyter/kernels/py3env
  python-ml-anaconda    /u0b/software/jupyter/kernels/python-ml-anaconda
  python-ml-cpu         /u0b/software/jupyter/kernels/python-ml-cpu
  python-ml-gpu         /u0b/software/jupyter/kernels/python-ml-gpu
  sphenix-env           /u0b/software/jupyter/kernels/sphenix-env
  sphenix-root          /u0b/software/jupyter/kernels/sphenix-root
  pyroot2               /cvmfs/atlas.sdcc.bnl.gov/jupyter/t3s/common/kernels/pyroot2
  pyroot3               /cvmfs/atlas.sdcc.bnl.gov/jupyter/t3s/common/kernels/pyroot3
  rootcpp               /cvmfs/atlas.sdcc.bnl.gov/jupyter/t3s/common/kernels/rootcpp
Singularity> cat /opt/micromamba/envs/analysis-systems/share/jupyter/kernels/analysis-systems/kernel.json
{
 "argv": [
  "/opt/micromamba/envs/analysis-systems/bin/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Analysis Systems",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}Singularity>
(analysis-systems) Singularity> jupyter kernelspec list --json --debug | jq '.["kernelspecs"]["analysis-systems"]'
...
{
  "resource_dir": "/opt/micromamba/envs/analysis-systems/share/jupyter/kernels/analysis-systems",
  "spec": {
    "argv": [
      "/opt/micromamba/envs/analysis-systems/bin/python",
      "-m",
      "ipykernel_launcher",
      "-f",
      "{connection_file}"
    ],
    "env": {},
    "display_name": "Analysis Systems",
    "language": "python",
    "interrupt_mode": "signal",
    "metadata": {
      "debugger": true
    }
  }
}


When recovering associated records, need table name

Otherwise, an 'ambiguous column' error is thrown

@Kosmin Thank you!

@zzak No problem!