stat.c: clean up and symplifications

Exchanged repeated code with a loop, and created a function for max and min update.

simplification on the stats handling.


Update EdgeCloud_LcM.yaml

Improving the description of the username field

Merging as no further comments for a while.


APEXMALHAR-2455 Create example for Kafka 0.9 API exactly-once output

Reopened because of change of location. @sandeshh did a review before.
@amberarrow could you do a final review and merge it as appropriate please.

Please add that as comment to the code. Can the same not be achieved by checking the file instead of introducing a timing dependency that can vary between environments?

Looks good, please rebase and squash.
FYI, no need to close and open new PRs, you can update existing PRs by updating the source branch.
http://apex.apache.org/contributing.html#opening-pull-requests

LGTM - do another rebase and ask @amberarrow or @sandeshh to merge.


upgrade alpine

Preview environment images deployed!
The preview environment has been updated:
client image tag: preview-1525-32664a5d7a2cdc043bef129e0b832c95f3383314-20231220.0741
storybook image tag: preview-1525-32664a5d7a2cdc043bef129e0b832c95f3383314-20231220.0741
Client URL: https://pr-1525--epp.elifesciences.org
Storybook URL: https://pr-1525--epp-storybook.elifesciences.org
Note: Updated images can take a few minutes to roll out.

Preview environment created!
The preview environment has been deployed to the cluster.
Client URL: https://pr-1525--epp.elifesciences.org
Storybook URL: https://pr-1525--epp-storybook.elifesciences.org
Note: If this is a new environment, it can take a few minutes for DNS to update.


libcamera-still: Allow --immediate and keypress/signal to work together

These command line arguments set together would not do the expected thing.
Fix this by having a wait loop after configuring stills mode and wait for the
signal/keypress before taking the capture.
Signed-off-by: Naushir Patuck<EMAIL_ADDRESS>

@davidplowman - this one is ready as well.

I guess this is all ok, but I don't love it. I can't escape the feeling the users would really want it to be running in stills capture mode up front, so that the delay when the capture signal arrives is minimised. But at that point we're shoehorning yet more convoluted modes of operation into something that's already too way too fiddly. So maybe we just bin that idea and tell folks to go and write some Picamera2 instead. Sigh.


feat(expect-puppeteer): added delay option to element.type for toFill matcher

Sometimes (I'd guess due to slow hardware), our builds will fail because toFill will end up typing characters out of order in input elements. This PR exposes the delay attribute so we can introduce throttling of typing events such that the events do not occur out of order.

Thanks, I will make a release probably after #51 and #50.


Improve transform/chain naming in logs

For the purposes of logging and metrics we use a name to refer to a specific transform and to specific transform chains.
We want to rewrite this naming system to ensure that the displayed names have the following properties:

Names should be unique. If the topology contains multiple transforms of the same type then they should be named such that the user can tell which transform in the topology.yaml is responsible for that log or metric. Same goes for transform chains.
Implementation-wise they should get the name in the same way e.g. passed by argument or read from a global.

Maybe some of these goals are impossible or we need to compromise somewhere, but this should be our goal at least.

I have arrived at 2 possible designs to solve this problem.
Derived names
---
sources:
  - redis:
      name: "redis"
      listen_addr: "<IP_ADDRESS>:6379"
      connection_limit: 3000000
      chain:
        - Tee:
            behavior: Ignore
            buffer_size: 10000
            chain:
            - QueryTypeFilter:
                DenyList: [Read]
            - Coalesce:
                flush_when_buffered_message_count: 2000
                # Use an unreasonably large timeout here so that integration tests dont break on slow hardware or a performance regression
                flush_when_millis_since_last_flush:<PHONE_NUMBER>
            - QueryCounter:
                name: "backup chain"
            - RedisSinkCluster:
                first_contact_points: [ "<IP_ADDRESS>:2120", "<IP_ADDRESS>:2121", "<IP_ADDRESS>:2122", "<IP_ADDRESS>:2123", "<IP_ADDRESS>:2124", "<IP_ADDRESS>:2125" ]
                connect_timeout_ms: 3000
        - QueryCounter:
            name: "primary chain"
        - RedisSinkCluster:
            first_contact_points: [ "<IP_ADDRESS>:2220", "<IP_ADDRESS>:2221", "<IP_ADDRESS>:2222", "<IP_ADDRESS>:2223", "<IP_ADDRESS>:2224", "<IP_ADDRESS>:2225" ]
            connect_timeout_ms: 3000
  - redis:
      name: "redis passthrough"
      listen_addr: "<IP_ADDRESS>:6380"
      connection_limit: 3000000
      chain:
        - RedisSinkCluster:
            first_contact_points: [ "<IP_ADDRESS>:2220", "<IP_ADDRESS>:2221", "<IP_ADDRESS>:2222", "<IP_ADDRESS>:2223", "<IP_ADDRESS>:2224", "<IP_ADDRESS>:2225" ]
            connect_timeout_ms: 3000

The sources are named "redis" and "redis passthrough"
The source chains are named "redis source" and "redis passthrough source"
The tee chain is named "redis source -> Tee chain transform"
The three RedisSinkCluster transforms are named:

"redis source -> Tee chain transform -> RedisSinkCluster"
"redis source" -> RedisSinkCluster"
"redis passthrough source" -> RedisSinkCluster"

notes:

This ensures that every name is unique without the user having to worry about it.
Understanding the rules about naming can be tricky, some nice documentation could help a bit though.

User configured names
---
sources:
  - redis:
      name: "redis"
      listen_addr: "<IP_ADDRESS>:6379"
      connection_limit: 3000000
      chain:
        - Tee:
            name: "tee"
            behavior: Ignore
            buffer_size: 10000
            chain:
            - QueryTypeFilter:
                name: "query type filter"
                DenyList: [Read]
            - Coalesce:
                name: "coalesce"
                flush_when_buffered_message_count: 2000
                # Use an unreasonably large timeout here so that integration tests dont break on slow hardware or a performance regression
                flush_when_millis_since_last_flush:<PHONE_NUMBER>
            - QueryCounter:
                name: "backup chain"
            - RedisSinkCluster:
                name: "backup redis sink"
                first_contact_points: [ "<IP_ADDRESS>:2120", "<IP_ADDRESS>:2121", "<IP_ADDRESS>:2122", "<IP_ADDRESS>:2123", "<IP_ADDRESS>:2124", "<IP_ADDRESS>:2125" ]
                connect_timeout_ms: 3000
        - QueryCounter:
            name: "primary chain"
        - RedisSinkCluster:
            name: "primary redis sink"
            first_contact_points: [ "<IP_ADDRESS>:2220", "<IP_ADDRESS>:2221", "<IP_ADDRESS>:2222", "<IP_ADDRESS>:2223", "<IP_ADDRESS>:2224", "<IP_ADDRESS>:2225" ]
            connect_timeout_ms: 3000
  - redis:
      name: "redis passthrough"
      listen_addr: "<IP_ADDRESS>:6380"
      connection_limit: 3000000
      chain:
        - RedisSinkCluster:
            name: "redis passthrough sink"
            first_contact_points: [ "<IP_ADDRESS>:2220", "<IP_ADDRESS>:2221", "<IP_ADDRESS>:2222", "<IP_ADDRESS>:2223", "<IP_ADDRESS>:2224", "<IP_ADDRESS>:2225" ]
            connect_timeout_ms: 3000

The sources are named "redis" and "redis passthrough"
The source chains are named "redis" and "redis passthrough"
The tee chain is named "tee"
The three RedisSinkCluster transforms are named:

"redis primary sink"
"redis backup sink"
"redis passthrough sink"

Notes:

All names should be taken directly from a user provided string, this makes it predictable to a user what strings they should expect to see in their metrics/tracing.

source chains should be taken directly from the source name itself. Even though semantically it would make more sense to name it {source_name} source, doing so makes it harder for the user to predict what exactly the name will be just from reading the config.
Transforms that hold multiple chains must allow the user to define each name in the config, generating chain names per chain based on the transform name is not allowed

could be tricky for https://docs.shotover.io/shotover-blog/docs/transforms.html#parallelmap maybe we let this slide in some cases.

Shotover should fail topology validation if any names are not unique, this gives us the same uniqueness guarantee of the other design.
This allows users to give meaningful names to all their transforms/chains, they can give names that hold meaning even without referring to the topology.yaml

Conclusion
I think we'd better go for the second design.


fixing things i notice during use

adds correct colors to highlighted text

addresses #22

fixes #22

for some reason the gradient removal and call container persistence only works if i put it in the initial css file which you use to @import main.css. the rest is functional

im pretty much going to stop here with the call container, id say its functional enough to leave as is and tackle the gradient removal at another point (unless im missing something really simple that would fix it). @refact0r if you could review and or merge, would be appreciated <3

okay final commit and comment, the "broken code" does work without needing to be in the other css file. it just didnt like being loaded from a local url. importing main.css from my github repo instead of a relative local path makes it function.


Add a workflow to delete clusters and apps

This is a manual dispatch nuclear workflow that wipes everything in the project - we should only use it rarely as the cleanup job should already be taking care of this.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.677%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
400

Relevant Lines:
427

💛  - Coveralls


RFC - Custom DNS Resolver

Request Statement
Why do we need a custom DNS resolver?
Normally, the DNS resolution provided by the operating system depends on the local operator's dns server, which makes it difficult to control the DNS caching policy and resolution stability. In this case, we can try to use DNS Over HTTP as an alternative, or we can cache DNS results locally in the app according to a customized policy. Cache DNS to sqlite/file or other ways.
Solution Brainstorm
We can add a resolver method to configure, a common design in the Golang world.
final dio = Dio({
  resolver :  (domain) -> string {
        return "<IP_ADDRESS>"
 }
})

Creating a custom HttpClientAdapter with the resolver would be feasible. Is there any concern that this should be added to the Dio class?

@AlexV525 thanks, I will try out now.


Last installed library is not active.

If first I install last version of library and then install specific version of this library, The last version still used.
>haxelib install actuate
>haxelib list
actuate: [1.8.7]

>haxelib install actuate 1.8.1
>haxelib list
actuate: 1.8.1 [1.8.7]

That looks fine to me, the fact that you install it doesn't necessarily imply that you want to set it as the default version. It's better to be explicit about that by using haxelib set.

It could ask if you want to set it, like it does when you update.

I hate when my CLI talks back to me and wants my attention. :( That always causes problems in scripts...

Yes that's annoying, but with the correct options available (-y, -n, -a) it's less of an issue I think.
Personally I hate when cli tells me to do something instead of proposing to do it for me (I look at you haxe "lib foo not installed do haxelib install foo")

I'm ok to use haxelib set after install but it should be clear. If behaviour is ok, it should be mentioned in documentation. The second option is print some warning message about using haxelib set after install if installed version less then current.


Fix canonical order

The indices strike back: Inserting fresh witnesses breaks our algorithm for checking canonical order. We must check canonical order of the program as it is serialised (without fresh witnesses). This PR adds a light-weight DAG structure to implement this.
We failed to recognise this error because the de/encoding of CommitNode is not thoroughly tested. This will change once we have local type checking to check sharing of these programs and write a fuzz test.

concept ACK, but I can't help the feeling that we've overcomplicated the decoding procerss. Maybe we want a new dag structure which is only used during decoding, in which nodes are labelled with their indices and witnesses are non-expanded. Then we can quickly do the ordering check (by copying the algorithm in verifyCanonicalOrder in the C code) before converting to a CommitNode (and doing the witness expansion during that step).
Anyway this is good for now.

There were two paths: Either check canonical order of the program as it is serialised (as opposed to how it is deserialised), or update the bookkeeping so that the deserialised program is in canonical order if the serialised one is. I went with the second option, which turned out complicated. My new approach uses the first option, which is shorter and more future-proof (in case do more changes than just inserting fresh witnesses).

Amazing! This looks 100% better.


Setting of image orientation radiological/neurological

Nice work on the viewer. It's been nice having a viewer that can easily work with vuejs.
I was wondering whether there might be a way to change the displayed image orientation? It seems it might be reorienting the images to RAS only according to https://github.com/niivue/niivue/blob/17141333c7d6a456bdbe2390f198f8d07d8d50a2/src/nvimage.js#L114
When I do load in an RAS image https://github.com/rordenlab/NIfTIspace/blob/main/NIfTI/RAS.nii.gz
I get this in the viewer

But it would be nice to be able to change to a radiological display orientation as in 3dSlicer

You can choose either neurological or radiological convention:
this.isRadiologicalConvention = false;

Hi,
Glad you like NiiVue. It's not exposed in a nice way yet, but you could set isRadiologicalConvention= true on the niivue instance.
So:
nv = new Niivue()
nv.isRadiologicalConvention=true
If you want, you could submit a PR to add this in via a setter method. Happy to add you to the contribution list on the readme. An issue would also be good, and I could add this in if you don't want to submit a PR!
Cheers,
Taylor

From: Fahdi Kanavati @.>
Sent: Thursday, December 9, 2021 5:44:13 PM
To: niivue/niivue @.>
Cc: Subscribed @.***>
Subject: [niivue/niivue] Setting of image orientation radiological/neurological (Issue #201)
Nice work on the viewer. It's been nice having a viewer that can easily work with vuejs.
I was wondering whether there might be a way to change the displayed image orientation? It seems it might be reorienting the images to RAS only according to https://github.com/niivue/niivue/blob/17141333c7d6a456bdbe2390f198f8d07d8d50a2/src/nvimage.js#L114
When I do load in an RAS image https://github.com/rordenlab/NIfTIspace/blob/main/NIfTI/RAS.nii.gz
I get this in the viewer
[image]https://user-images.githubusercontent.com/6595674/145441169-e9011087-2923-4c6b-ac5f-a79f1e992206.png
But it would be nice to be able to change to a radiological display orientation as in 3dSlicer
[image]https://user-images.githubusercontent.com/6595674/145443954-78899a19-c5bc-4e35-a7a9-21fa86fbd95b.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/niivue/niivue/issues/201, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABHZ3OHD4DWVC4KDQTBLXZLUQDTG3ANCNFSM5JXCGJDA.

Great! Thanks for the quick replies Chris and Taylor. My colleague @dazzag24 will have a go at making a PR for this.

Hi,
PR submitted. It allows flipping of the images in the basic.multiplanar demo and in the index.html demo used by the hot reload dev tool.

@dazzag24 Thanks. As an aside, it seems like NiiVue might be a nice component for your ct_annotation project. Providing users with methods to evaluate images is crucial. I wonder if there is some opportunity for collaboration with niviz, which is a very different use case, but may share a lot of similarity in implementation.

Thanks! I have merged it in, and it’s now part of the latest version on npm. You may need to update you niivue npm package to the latest version.
I also added in a test for this, and the option to pass isRadiologicalConvention on the options object passed to the Niivue constructor.
So you can now do: nv = new Niivue({isRadiologicalConvention:true})
From: dazzag24 @.>
Date: Friday, 10 December 2021 at 10:48 am
To: niivue/niivue @.>
Cc: Taylor Hanayik @.>, Comment @.>
Subject: Re: [niivue/niivue] Setting of image orientation radiological/neurological (Issue #201)
Hi,
PR submitted. It allows flipping of the images in the basic.multiplanar demo and in the index.html demo used by the hot reload dev tool.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/niivue/niivue/issues/201#issuecomment-990855942, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABHZ3OHYNNIVPNP26DWFUADUQHLHZANCNFSM5JXCGJDA.


feat: toast 공통 컴포넌트를 구현하라

애니메이션 적용
style 적용

Codecov Report
Patch and project coverage have no change.

Comparison is base (c6976c9) 97.72% compared to head (32ed03d) 97.72%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #61   +/-   ##
=======================================
  Coverage   97.72%   97.72%
=======================================
  Files          11       11
  Lines         132      132
  Branches       16       16
=======================================
  Hits          129      129
  Misses          3        3

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

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


[Pigeon] Flutter Pigeon package returns a list of dynamic

I've asked the question on stack overflow but didn't have the reputation points to start a new tag for Pigeon and didn't know if it would get picked up without it, but essentially I'm trying to get a list of objects back from a hostApi call so I've wrapped the list in a class like so
class Keys {
List< Key > keys;
}
@HostApi()
abstract class ExampleApi {
Keys getKeys();
}
but this call returns me my Key object but containing a list of dynamic, looking at the generated code it looks like expected behaviour but that seems to defeat the purpose, can anyone clarify please? should it be returning a list of Key or a list of dynamic? https://stackoverflow.com/questions/65030285/flutter-pigeon-package-returns-a-list-of-dynamic

cc @gaaclarke

So after playing further with this it seems it doesnt generate all classes in the messages.dart file, maybe if it doesnt think there being used? after creating a method that uses the data type directly and not the list wrapper class it generates the classes and my list is no longer dynamic

Hi @martipello
It seems you are asking for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this, if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please provide a minimal code sample and steps to reproduce the issue.
Thank you


Vulkan: Heavy 3D scene (25M+ primitive indices) performs significantly slower in 4.0 compared to 3.5

Godot version
4.0 beta 5 & 3.5.1 stable
System information
Windows 11, Vulkan, GTX 1050 Ti 526.98
Issue description
The Stable release seems to run on avg about twice as fast as the 4.0 across various identical scenes, using only the features that are the same among the two branches (so no mesh lod, no ssao, ssr, occlusion culling or anything like that, just meshes and lights with no effects)
in the MRPs provided below, the converted and adjusted to match the original with 4.0 is getting 30-34 FPS depending on the renderer used @ 100% gpu utilization, while 3.5 is getting 60 fps @ 85% gpu utilization
Steps to reproduce
Test the Same Scenes across 3.5 and 4.0
Minimal reproduction project
4.0.zip
3.5.zip

It's a pretty pathological / unoptimized scene, but I can confirm the observed performance difference.
With an AMD Radeon RX VegaM on Linux (Mesa drivers), I get:

3.5.1-stable: 20 mspf
4.0-beta5: 45 mspf

Godot 4 reports 26 million primitive indices in the scene, with 730 MeshInstances of the same heavy mesh.

I compared the scenes as well. Initially I got similar results, but then I did two things:

I disabled vsync in both projects (as both MRPs have Vsync enabled)
I ran the projects without running the editor as well

Vsync throws off frame time measurement and makes it not accurate. Running a scene from the editor means that you are measuring performance of the scene running on top of the entire editor and whatever scene is visible in the Viewport. Right now the Vulkan 2D renderer is more performance intensive than the 3.x 2D renderer which may explain why your GPU is getting saturated running both the editor and the scene.
That being said, after taking both of those steps 3.x still performed faster for me:
3.x: 2.28 ms
4.0 (forward plus renderer) 3.47 ms
This is a pretty big difference and looking at the visual profiler it appears that all the time is spent in draw calls (depth prepass and opaque pass). This highlights the 4.0 forward_plus scene shader being slower than the 3.x scene shader.
Altogether a difference of 1 ms is not unexpected as the forward_plus renderer is designed to scale much better to high numbers of objects and high numbers of lights. As a trade-off it has a higher base cost so simple scenes may perform worse.
I am not convinced that we are seeing a performance regression outside of the expected boundaries.

4.0 v2.zip
3.5 v2.zip
Here is v2 with 9 lights in the scene, performance scaling is much worse, with 17 fps vs 54 fps (4.0 vs 3.5)
As far as the scene goes, it's intentional to maximize the stress and make it as simple (tiny) to share and to make it as minimalistic as possible

in the v2, that one runs at 9 fps, and that's only with 8 lights working... this scene falls in to the complex scene category. opengl in 4.0 runs as well as the clustered renderer, albeit with no shadows in the v2

I don't have a current master build (spent all my free time moving instead of programming) but it looks like that something is indeed wrong when using a slightly outdated master version.
I initially assumed that the problem was that the scene was not complex enough and that the performance would scale better if I added more stuff, but that assumption was proven wrong after some further testing.
No matter what I did, 3.x always performed better than master all the way up to the point when my rx6900xt gave up.
Hope someone with more time than I can dig deeper into this, I would love to know what exactly is going on.

when switching the meshes to unshaded, still getting the massive difference, 50 fps vs 95

I have been doing porting tests of my games over to 4.0 to get a feel for performance issues. I am generally finding them to be about 30% slower in 4.0 as compared to 3.5.
Not sure if anyone has tried porting the official demos and seeing a similar decrease in raw performance? Presumably there are performance optimisations planned for the renderer before 4.0 is released.

If you have access to a GPU that supports both Vulkan and OpenGL profiling, please look into using your GPU vendor's profiling tool (such as NVIDIA NSight on Turing or newer GPUs).

Adding one more set of data points for performance comparison with the MRPs provided here:
OS: Fedora 37
CPU: Intel Core i9-13900K
GPU: GeForce RTX 4090 (NVIDIA 530.41.03)
1280×720

Project
4.0.2 Forward+
4.0.2 Forward Mobile
4.0.2 Compatibility[^1]
3.5.2 GLES3
3.5.2 GLES2

V1 (no lights)
630 FPS (1.58 mspf)
635 FPS (1.57 mspf)
672 FPS (1.48 mspf)
1079 FPS (0.92 mspf)
1716 FPS (0.58 mspf)

V2 (with lights)
591 FPS (1.69 mspf)
592 FPS (1.68 mspf)
503 FPS (1.98 mspf)
1009 FPS (0.99 mspf)
243 FPS (4.11 mspf)

3840×2160

Project
4.0.2 Forward+
4.0.2 Forward Mobile
4.0.2 Compatibility[^1]
3.5.2 GLES3
3.5.2 GLES2

V1 (no lights)
456 FPS (2.19 mspf)
443 FPS (2.25 mspf)
346 FPS (2.89 mspf)
514 FPS (1.94 mspf)
639 FPS (1.56 mspf)

V2 (with lights)
318 FPS (3.14 mspf)
317 FPS (3.15 mspf)
169 FPS (5.91 mspf)
411 FPS (2.43 mspf)
134 FPS (7.46 mspf)

[^1]: No shadow map rendering for lights as per the renderer limitation.

I tried running a test and found that  forward + gets 11 fps while the 3.5 version takes 17 fps, though in the forward mobile it gives the same 17 fps. Is it because of forward + cost or some unoptimization. And i tried it on clayjohn pr.

his pr is afaik compatibility renderer only

@Calinou you did very informative bechmark, but now it's outdated, considering that Godot 4.3 comes out soon, and many contributed changes could partially solve this trouble. Could you redo it with Godot 4.3 dev 5, testing DirectX 12 backend and testing Forward+ with depth prepass turned OFF (so: Vulkan, Vulkan no Depth Prepass, DirectX 12, DIrectX 12 no Depth prepass)? I believe it could show where performance regression is hidden, like if DirectX is faster than Vulkan, the trouble is in rendering driver. It's a bold assumption, but I believe performance might be worse in rasterization stage and bechmark will prove/disprove it.
@DarioSamo any thoughts about Vulkan driver?

@DarioSamo any thoughts about Vulkan driver?

There's a lot of CPU-related bottlenecks I have in mind first that have been identified in the Forward+ and Mobile renderer rather than the lower level drivers. There will be a lot of work towards optimizing that. If anything out of the two, the D3D12 driver is likely to perform slower due to the fact it resolves barriers on its own, something the Vulkan driver doesn't.
Once I'm done with other tasks it is very likely I'll prioritize taking a look at the CPU performance of the renderer.

This is a Heavily GPU bottlenecked scene, and it's just a spam of triangles and lights, no advanced features past that.

@DarioSamo With this scene the entire cost is GPU and it comes from depth prepass and opaque rendering. So CPU optimizations won't help. Also worth noting, the entire scene is drawn in 1 draw call due to auto batching.
Checking now on my laptop with integrated GPU the GPU time is 47 ms in the MRP (16ms from depth prepass and 30 ms from opaque rendering + 0.5 ms from tonemapping).
Upgrading the meshes to use the compressed format that reduces to 30 ms (11 ms from the depth prepass, 19 from opaque and 0.5 from the tonemap).
Clearly then, the MRP is bandwidth bound to begin with. It might still be bandwidth bound even after mesh compression. So we should look into the following:

Confirm that bandwidth is indeed the problem
If bandwidth is the problem, improve bandwidth by compression more per-instance data (I.e. use mat3x4 instead of mat4) + ensure only needed mesh data is included
If bandwidth is not the problem, then look at where we can get easy wins in terms of ALU (disabling light loops etc.)

Upgrading the meshes to use the compressed format that reduces to 30 ms (11 ms from the depth prepass, 19 from opaque and 0.5 from the tonemap).

That's good to know, so to answer @Capewearer's question, it doesn't sound like there's much to be gained by the latest improvements other than the mesh compression as bandwidth seems to be the main limitation.

I just did a quick test using a mat3x4 for the instance transform instead of a mat4 and shaved another 1.5 ms GPU time off. This is definitely something to investigate further.
matrix.patch.txt

I just did a quick test using a mat3x4 for the instance transform instead of a mat4 and shaved another 1.5 ms GPU time off. This is definitely something to investigate further.

I've tested this PR on the MRP and I don't notice any performance difference on a RTX 4090 in 4K (both with Vulkan and D3D12). I'll try on other (slower) GPUs and see if there's any difference.


ENH address CR installment 1

This PR addresses CR installment 1.

Pull Request Test Coverage Report for Build 2100

14 of 14 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.728%

Totals

Change from base Build 2096:
0.0%

Covered Lines:
539

Relevant Lines:
569

💛  - Coveralls

There is also some decrease in coverage in pyutils.py that we should try to fix.

The decrease coverage is because I moved a few routines to core.py so we don't need to worry about it.

A few notes on procedure.

We should be merging PRs faster. If you want to add docs, we can just open another PR after this one. There is no reason to force some changes to wait.
I think your review is more than thorough enough. I would rather us stick to one reviewer per PR to increase our dev speed then use yet more of our limited time bringing other reviewers into the mix.


Dream Maker (BYOND) language support.

Fixes #1673

I uh, have no idea how to fix the CI status here.

@PJB3005
First of all, truly sorry for the long delay in anyone responding to this PR.
Thank you so much for desiring to contribute and writing a language grammar.  Unfortunately, we currently are no longer accepting new languages into the core repository.  The existing maintainers simply don't have time to maintain new languages (fixing bugs, dealing with issues, etc).  We'd still love to host your language as a 3rd party module though - if you're willing to help maintain it.
It's easy to turn your language into a module that anyone who likes can easily integrate with Highlight.js using a single line of code:
<script src="/path/to/highlight.min.js"></script>
<!-- they'd simply add your language modules -->
<script src="/path/to/highlightjs-dream-maker.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

It's also possible for users to rebuild the highlight.js library to include specific 3rd party modules, all in a single file (vs loading a bunch of 3rd party languages one at a time).
If you'd like to become the maintainer for this language then we're happy to create a new repository in the highlightjs organization and host the repository there.  That assumes you'd be open to reviewing issues and fixing bugs as they arise.  You're also welcome to host the repo yourself and we'll link to it from our README.
There isn't much in the way of how to docs on this yet, but there are sample repositories and it's honestly pretty easy.  We're still fleshing out an official "spec" for 3rd party modules, but even after that's done it should require minimal changes from the examples we have already.  IE, if you wanted to get started now there isn't any big reason to wait.
My own robots.txt grammar repository is a great, simple example:
https://github.com/highlightjs/highlightjs-robots-txt
If you have any questions feel free to ask.

Could I get some help on how to solve the language autodetection causing CI to fail? Thanks.

You'd probably first want to rebase and see if this is still an issue. But the problem is your grammar is "claiming" our XML sample file and declaring it to be "dm" instead of "xml" (when we know it's xml).
It's likely you might be using too much relevance in your grammar.

  var CONSTANT = {
     className: 'literal',
     begin: /\b[A-Z_][A-Z_0-9]*\b/
   };

Something like this probably matches every XML tag... so you might want to add relevance: 0 to that.

Closing for inactivity; (also finally cleaning all these old PRs out for the new year).
As mentioned above if you're interested in becoming the maintainer of a 3rd party module, please respond [whenever you find time] and we'd be happy to help you get started.

Been kinda busy lately so I guess I got to be the one that took a while to respond this time.
Anyways, I initially made this PR in the hopes that the change would eventually bubble up to Discord's client (I'm 99% certain Discord uses highlight.js and it would be really useful for our community to have good syntax highlighting for this obscure language). However I obviously don't see that ever happening if it'll be a separate package. I don't really use JS very often so I don't think I'd want to take up the role as a package maintainer for it. Thanks for asking though.

Well, if you change your mind, we'll be here.  Building high quality 3rd party packages (with maintainers on record) is the first step in seeing them go wider.  It's true this might take longer now and be a more complex road (than when just anything was just merged into upstream), but it is what it is.
Over in PHP land the maintainer of the PHP port @allejo is considering distributing all the 3rd party languages with his port.  There still exists room for someone to do something similar here in the Javascript space - ie ship a larger build with a zillion languages, but it will require time, commitment, etc...
If Discord does use HLJS and you know someone over there you could put me in touch with, I'd be happy to talk to them about the pros and cons of building a custom build.


fairseq install error

Hello, I met a error when I trying to install fairseq with cmd pip3 install --editable ./"
the error message like below:
`Getting requirements to build editable ... error
error: subprocess-exited-with-error
× Getting requirements to build editable did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
Traceback (most recent call last):
File "/home/likai/miniconda3/envs/fairseq/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in
main()
File "/home/likai/miniconda3/envs/fairseq/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/home/likai/miniconda3/envs/fairseq/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 144, in get_requires_for_build_editable
return hook(config_settings)
File "/tmp/pip-build-env-da1j7k9z/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 446, in get_requires_for_build_editable
return self.get_requires_for_build_wheel(config_settings)
File "/tmp/pip-build-env-da1j7k9z/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 338, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "/tmp/pip-build-env-da1j7k9z/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 320, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-da1j7k9z/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 335, in run_setup
exec(code, locals())
File "", line 12, in
File "/tmp/pip-build-env-da1j7k9z/overlay/lib/python3.8/site-packages/torch/init.py", line 191, in
_load_global_deps()
File "/tmp/pip-build-env-da1j7k9z/overlay/lib/python3.8/site-packages/torch/init.py", line 153, in _load_global_deps
ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
File "/home/likai/miniconda3/envs/fairseq/lib/python3.8/ctypes/init.py", line 373, in init
self._handle = _dlopen(self._name, mode)
OSError: /tmp/pip-build-env-da1j7k9z/overlay/lib/python3.8/site-packages/torch/lib/../../nvidia/cublas/lib/libcublas.so.11: symbol cublasLtHSHMatmulAlgoInit version libcublasLt.so.11 not defined in file libcublasLt.so.11 with link time reference
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
`
Environment

fairseq Version (e.g., 1.0 or main):
PyTorch Version: 1.10.1+cu111
OS (e.g., Linux): Linux
How you installed fairseq (pip, source):
Build command you used (if compiling from source): pip3 install --editable ./
Python version: python3.8.13
CUDA/cuDNN version: cuda11.1
GPU models and configuration: A100

Same problems, with Environment

PyTorch Version: 1.12.1+cu113
OS (e.g., Linux): Linux
How you installed fairseq (pip, source):
Build command you used (if compiling from source): pip3 install --editable ./
Python version: python3.8.13
CUDA/cuDNN version: cuda11.3
GPU models and configuration: GeForce GTX 1080 Ti

Thank you @Labyrintbs. you have saved my day.

I had the same problem, running on Linux server. Whenever I tried to install fairseq I got Failed building wheel for fairseq.
Aparently, the problem was in C++ compiler. Follow steps below, if you have Linux, you will just need to install g++:

Install / Update packages sudo apt update && sudo apt install build-essential
Check list of available g++ apt search '^g\+\+-[0-9]+$'
Install at least version 12 or later from the list of available versions sudo apt install g++-12

PS:
Here are error logs I used to get before this solution
 pip install fairseq

 ....

gcc -pthread -B /opt/conda/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/include -fPIC -O2 -isystem /opt/conda/include -fPIC -I/opt/conda/include/python3.10 -c fairseq/clib/libbleu/libbleu.cpp -o build/temp.linux-x86_64-cpython-310/fairseq/clib/libbleu/libbleu.o -std=c++11 -O3
      error: command 'gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for fairseq
  Building wheel for antlr4-python3-runtime (setup.py) ... done
  Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141209 sha256=5f5d56effcc196ca1d5eb3fe94da5ead9ba550f6e5bf9d4f29b7454f624705fe
  Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5
Successfully built antlr4-python3-runtime
Failed to build fairseq
ERROR: Could not build wheels for fairseq, which is required to install pyproject.toml-based projects

我在 Linux 服务器上运行时遇到了同样的问题。每当我尝试安装时，我都会得到.当然，问题出在C++编译器中。请按照以下步骤操作，如果您使用的是 Linux，则只需安装 g++：fairseq``Failed building wheel for fairseq

安装/更新软件包sudo apt update && sudo apt install build-essential
检查可用 g++ 的列表apt search '^g\+\+-[0-9]+$'
从可用版本列表中至少安装版本 12 或更高版本sudo apt install g++-12

PS：这是我在此解决方案之前曾经获得的错误日志
 pip install fairseq

 ....

gcc -pthread -B /opt/conda/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/include -fPIC -O2 -isystem /opt/conda/include -fPIC -I/opt/conda/include/python3.10 -c fairseq/clib/libbleu/libbleu.cpp -o build/temp.linux-x86_64-cpython-310/fairseq/clib/libbleu/libbleu.o -std=c++11 -O3
      error: command 'gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for fairseq
  Building wheel for antlr4-python3-runtime (setup.py) ... done
  Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141209 sha256=5f5d56effcc196ca1d5eb3fe94da5ead9ba550f6e5bf9d4f29b7454f624705fe
  Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5
Successfully built antlr4-python3-runtime
Failed to build fairseq
ERROR: Could not build wheels for fairseq, which is required to install pyproject.toml-based projects

我在linux服务器上遇到了和您之前相同的问题，“ERROR: Could not build wheels for fairseq, which is required to install pyproject.toml-based projects”，请问您可以详细说一下，如何安装“g++：fairseqFailed building wheel for fairseq”吗，我对这里并不了解，十分感谢，

Find a way to update gcc and g++ to version 9 and above

我在 Linux 服务器上运行时遇到了同样的问题。每当我尝试安装时，我都会得到.当然，问题出在C++编译器中。请按照以下步骤操作，如果您使用的是 Linux，则只需安装 g++： fairseqFailed building wheel for fairseq ``

安装/更新软件包sudo apt update && sudo apt install build-essential
检查可用 g++ 的列表apt search '^g\+\+-[0-9]+$'
从可用版本列表中至少安装版本 12 或更高版本sudo apt install g++-12

PS：这是我在此解决方案之前曾经获得的错误日志
 pip install fairseq

 ....

gcc -pthread -B /opt/conda/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/include -fPIC -O2 -isystem /opt/conda/include -fPIC -I/opt/conda/include/python3.10 -c fairseq/clib/libbleu/libbleu.cpp -o build/temp.linux-x86_64-cpython-310/fairseq/clib/libbleu/libbleu.o -std=c++11 -O3
      error: command 'gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for fairseq
  Building wheel for antlr4-python3-runtime (setup.py) ... done
  Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141209 sha256=5f5d56effcc196ca1d5eb3fe94da5ead9ba550f6e5bf9d4f29b7454f624705fe
  Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5
Successfully built antlr4-python3-runtime
Failed to build fairseq
ERROR: Could not build wheels for fairseq, which is required to install pyproject.toml-based projects

我在linux服务器上遇到了和您之前相同的问题，“ERROR: Could not build wheels for fairseq, which is required to install pyproject.toml-based projects”，请问您可以详细说一下，如何安装“g++：fairseqFailed building wheel for fairseq”吗，我对这里并不了解，十分感谢，

I have this same issue, even when I use --no-build-isolation.
Are there any other ways to properly pip install fairseq?
(talkenv) C:\Users\achilles\talk>pip install fairseq --no-build-isolation
Collecting fairseq
Using cached fairseq-0.12.2.tar.gz (9.6 MB)
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: cffi in c:\users\achilles\talk\talkenv\lib\site-packages (from fairseq) (1.16.0)
Requirement already satisfied: cython in c:\users\achilles\talk\talkenv\lib\site-packages (from fairseq) (3.0.10)
Collecting hydra-core<1.1,>=1.0.7 (from fairseq)
Using cached hydra_core-1.0.7-py3-none-any.whl.metadata (3.7 kB)
Collecting omegaconf<2.1 (from fairseq)
Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)
WARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:
Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with == or != operators
PyYAML (>=5.1.)
~~~~~~^
Please use pip<24.1 if you need to use this version.
Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)
WARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:
Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: . suffix can only be used with == or != operators
PyYAML (>=5.1.)
~~~~~~^
Please use pip<24.1 if you need to use this version.
Using cached omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)
WARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:
Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: . suffix can only be used with == or != operators
PyYAML (>=5.1.)
~~~~~~^
Please use pip<24.1 if you need to use this version.
Using cached omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)
WARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:
Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: . suffix can only be used with == or != operators
PyYAML (>=5.1.)
~~~~~~^
Please use pip<24.1 if you need to use this version.
Using cached omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)
WARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:
Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: . suffix can only be used with == or != operators
PyYAML (>=5.1.)
~~~~~~^
Please use pip<24.1 if you need to use this version.
Using cached omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)
WARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:
Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: . suffix can only be used with == or != operators
PyYAML (>=5.1.)
~~~~~~^
Please use pip<24.1 if you need to use this version.
Using cached omegaconf-2.0.0-py3-none-any.whl.metadata (3.5 kB)
Requirement already satisfied: regex in c:\users\achilles\talk\talkenv\lib\site-packages (from fairseq) (2024.5.15)
Collecting sacrebleu>=1.4.12 (from fairseq)
Using cached sacrebleu-2.4.2-py3-none-any.whl.metadata (58 kB)
Requirement already satisfied: torch in c:\users\achilles\talk\talkenv\lib\site-packages (from fairseq) (2.4.0+cu124)
Requirement already satisfied: tqdm in c:\users\achilles\talk\talkenv\lib\site-packages (from fairseq) (4.66.4)
Collecting bitarray (from fairseq)
Using cached bitarray-2.9.2-cp310-cp310-win_amd64.whl.metadata (35 kB)
Requirement already satisfied: torchaudio>=0.8.0 in c:\users\achilles\talk\talkenv\lib\site-packages (from fairseq) (2.4.0+cu124)
Requirement already satisfied: numpy in c:\users\achilles\talk\talkenv\lib\site-packages (from fairseq) (1.23.5)
Collecting omegaconf<2.1 (from fairseq)
Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)
WARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:
Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: . suffix can only be used with == or != operators
PyYAML (>=5.1.)
~~~~~~^
Please use pip<24.1 if you need to use this version.
Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)
WARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:
Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: . suffix can only be used with == or != operators
PyYAML (>=5.1.*)
~~~~~~^
Please use pip<24.1 if you need to use this version.
INFO: pip is looking at multiple versions of hydra-core to determine which version is compatible with other requirements. This could take a while.
Collecting fairseq
Using cached fairseq-0.12.1.tar.gz (9.6 MB)
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
Traceback (most recent call last):
File "C:\Users\achilles\talk\talkenv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in
main()
File "C:\Users\achilles\talk\talkenv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "C:\Users\achilles\talk\talkenv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 149, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "C:\Users\achilles\talk\talkenv\lib\site-packages\setuptools\build_meta.py", line 368, in prepare_metadata_for_build_wheel
self.run_setup()
File "C:\Users\achilles\talk\talkenv\lib\site-packages\setuptools\build_meta.py", line 313, in run_setup
exec(code, locals())
File "", line 27, in
File "", line 18, in write_version_py
FileNotFoundError: [Errno 2] No such file or directory: 'fairseq\version.txt'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.


Incorrect pooled embeds

While benchmarking our internal prompt weighting, I noticed that compel's pooled embeddings change with different prompt weighting.
I.e. pooled embeds of test != pooled embeds of (test)0.9. Compel tokenizes and encodes the prompt string, including weighting syntax, for the pooled embeds. This doesn't seem intuitive or expected.
I don't have the bandwidth to create a PR for this, but it should be quite simple to fix.

@BitPhinix why do you think we need to pool the original prompt string? let's say i have a prompt "a girl with (green)0.2 hair" where i want "green" to be very slow, in the pooled prompt I want it to be small as well


Modal widget native dialogs

The tests on osx CI hang if a native modal widget is used, for:

QFileDialog::getOpenFileName
QFileDialog::getSaveFileName
QColorDialog::getColor

The solution for now is to pass the DontUseNativeDialog flag to these routines, then it works fine.
Todo: check that this also works (and looks ok) in reality on osx and windows

The getOpenFileName, getSaveFileName and getColor dialogs work and look ok on both osx and windows


How to change text theme in widget

Hello. Can I change color text theme of widget. I need to change color of text from black to white.
Thank you.

Hello @siwakornmook,
the month picker currently derives it's text colors from the selected accent color based upon Google's Material Design specifications for best contrasts: https://material.io/design/color/#tools-for-picking-colors
Orange and White are indeed an edge case, where there's still enough contrast, so I'll try to provide an option for defining a custom theme on the month picker by the end of this week.

Postponed until next week

how do I change the text color of buttons?
in order to change the color of the circle I just added this

how do I change the text color of buttons?
in order to change the color of the circle I just added this

i have the same problem

How can i change color only in the showMonthPicker? I want diferent from theme.

You need to add/change primarySwatch of ThemeData in your MaterialApp. The color should be MaterialColor, so you should create a map of the color you want.
class MyApp extends StatefulWidget {

  const MyApp({Key? key})
      : super(key: key);
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> with SingleTickerProviderStateMixin {
  @override
  Widget build(BuildContext context) {
    Map<int, Color> color = {
      50: Color.fromRGBO(123, 46, 48, 1),
      100: Color.fromRGBO(123, 46, 48, 1),
      200: Color.fromRGBO(123, 46, 48, 1),
      300: Color.fromRGBO(123, 46, 48, 1),
      400: Color.fromRGBO(123, 46, 48, 1),
      500: Color.fromRGBO(123, 46, 48, 1),
      600: Color.fromRGBO(123, 46, 48, 1),
      700: Color.fromRGBO(123, 46, 48, 1),
      800: Color.fromRGBO(123, 46, 48, 1),
      900: Color.fromRGBO(123, 46, 48, 1),
    };
    return MaterialApp(
      theme: ThemeData(
        primaryColor: Color(0xFF7b2e30),
        primarySwatch: MaterialColor(0xFF7b2e30, color),
      ),

      home: LoginPage(),
    );
  }
}

i`m maintaining an updated version of this package, and there are custom parameters for color selction there
https://pub.dev/packages/month_picker_dialog_2


verifying links on https domains with incorrect SSL setups

If the dataset or links inside the dataset are served via https and the certificate chain is not being served correctly our fetching code will fail.
The pages will appear correct in Chrome and often Firefox and Safari as browsers include many intermediate certificates in their bundles. We're using the ubuntu ca-certificates bundle which doesn't seem to include many intermediate certificates.
We could either:

Add to the bundle on each machine
Add a way to add extra certificates to ODC.
Get each website to set their servers up properly.

After the 2015-06-01 #1143 deploy, we are no longer able to see the ODI badge on the https://www.ordnancesurvey.co.uk/opendatadownload/products.html site.
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://certificates.theodi.org/datasets/591/certificates/14859/badge.js. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
This site makes use of a SHA-1 Certificate; it's recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1.
Is there a way to fix this or will it require the creation of a new SSL certificate?

hi @ross-os, that's nothing to do with this SSL issue.
I made changes to the CORS header setup and forgot that there are .js files as well as .json files that need access. I'll get that fixed.

The warning is in relation to our SSL certificate not yours, as SHA-1 is now considered weak.

Unclear which site this effected, re-raise if this becomes an issue again.


prometheus: Add a section for Prometheus monitoring

prometheus
https://prometheus.io/

Reopened to add the hello-world script to main README.md


Request to support ARM async pattern for PUT / deployments API

If API PUT "deployments/{commtId}" call does not complete within 60 seconds, it is returning 499 with timeout error message. Once ARM call is timeout, the portal does not have a way to tell whether the deployment is still in progress, deployment completed or failed after this 60 seconds point. Ideally, we would like this API to support ARM async pattern so that the portal side can display the appropriate notification when the deployment is fully completed.
 please take a look at this ICM for more details >>> https://portal.microsofticm.com/imp/v3/incidents/details/249645764/home
Below is one of examples redeployment which did not complete within 60seconds. Therefore, ARM call was timeout and returning 499.
Execute in [Web] [Desktop] [cluster('azportalpartner.kusto.windows.net').database('AzurePortal')]let st=datetime(2021-07-07T22:15:27.8535458Z); let et=datetime(2021-07-08T00:15:27.8535458Z);cluster('armprod.kusto.windows.net').database('ARMProd').HttpIncomingRequests| where TIMESTAMP between(st..et)| where subscriptionId == "9216c2d3-667a-4cc5-b428-b5508bcc71e2"| where targetUri contains "kedsouza-zore/deployments/bc0d0bd47bfa8bc0706e27a16c736c135dabf687"| where commandName == "redeployCommit"| where httpMethod == "PUT"| project PreciseTimeStamp, Deployment, subscriptionId, httpStatusCode, TaskName, httpMethod, targetUri, commandNameTable0

PreciseTimeStamp
Deployment
subscriptionId
httpStatusCode
TaskName
httpMethod
targetUri
commandName

2021-07-07T23:17:25.0247361Z
cc13241aa72642e1afad66f39f4e5150
9216c2d3-667a-4cc5-b428-b5508bcc71e2
-1
HttpIncomingRequestStart
PUT
https://management.azure.com:443/subscriptions/9216c2d3-667a-4cc5-b428-b5508bcc71e2/resourceGroups/kedsouza-win/providers/Microsoft.Web/sites/kedsouza-zore/deployments/bc0d0bd47bfa8bc0706e27a16c736c135dabf687?api-version=2018-11-01
redeployCommit

2021-07-07T23:17:55.5767843Z
cc13241aa72642e1afad66f39f4e5150
9216c2d3-667a-4cc5-b428-b5508bcc71e2
499
HttpIncomingRequestEndWithClientFailure
PUT
https://management.azure.com:443/subscriptions/9216c2d3-667a-4cc5-b428-b5508bcc71e2/resourceGroups/kedsouza-win/providers/Microsoft.Web/sites/kedsouza-zore/deployments/bc0d0bd47bfa8bc0706e27a16c736c135dabf687?api-version=2018-11-01
redeployCommit

2021-07-07T23:15:18.621617Z
cc13241aa72642e1afad66f39f4e5150
9216c2d3-667a-4cc5-b428-b5508bcc71e2
499
HttpIncomingRequestEndWithClientFailure
PUT
https://management.azure.com:443/subscriptions/9216c2d3-667a-4cc5-b428-b5508bcc71e2/resourceGroups/kedsouza-win/providers/Microsoft.Web/sites/kedsouza-zore/deployments/bc0d0bd47bfa8bc0706e27a16c736c135dabf687?api-version=2018-11-01
redeployCommit

2021-07-07T23:14:18.6086505Z
cc13241aa72642e1afad66f39f4e5150
9216c2d3-667a-4cc5-b428-b5508bcc71e2
-1
HttpIncomingRequestStart
PUT
https://management.azure.com:443/subscriptions/9216c2d3-667a-4cc5-b428-b5508bcc71e2/resourceGroups/kedsouza-win/providers/Microsoft.Web/sites/kedsouza-zore/deployments/bc0d0bd47bfa8bc0706e27a16c736c135dabf687?api-version=2018-11-01
redeployCommit

@miyukiabe-baxter  we will close this since the ICM has been resolved with investigation details and limitation.


Adds new companies

Adds the following companies:

Synopsys
RedHat
Kraken
Datadog

:+1:

Does a fully remote company qualify?

Does a fully remote company qualify?

It's my understand that's a yes. There's already a few examples of that in the repo.
IMHO it really makes sense to add them if someone in Portugal already works for them and that's true for Datadog and Kraken.
The CONTRIBUTING.md restricts that "The company must allow working in/from Portugal;" and we should be careful with that for "fully remote" companies because most companies restrict from which companies they hire from, i.e., Facebook/Meta does not hire in Portugal even for remote vacancies.


drivers: nrf_qspi_nor: Deactivate QSPI peripheral after initialization

This is a follow-up to commit ea1be7f242b9348863a27adb17215014f15b318a.
After the driver performs its initialization, it needs to deactivate the QSPI peripheral. Otherwise, the peripheral would unnecessarily consume power until some QSPI operation is performed (and only then it will get deactivated), what depending on the application may take a significant amount of time.

Shouldn't this only run if CONFIG_NORDIC_QSPI_NOR_XIP is not enabled?

Changed.


Camera freezing up the app after clicking camera on latest(0.7.2) version of cam2.

Hello,
This is the process I followed which caused the error.
Invoke CameraActivity using intent builder -> CameraActivity opens up -> Click on take picture button -> takes picture and previews it for a second -> Rather than returning the picture to calling code, live camera preview resumes with the take picture button pressed -> take picture button now does not do anything, however, clicking android-back button works -> calling app is now frozen and android's 'app not responding' dialog shows up.
I'm using the latest version 0.7.2. However, I just noticed that an older version (0.6.4) which I was using in a previous app worked fine and didn't cause the freezing issue. I didn't check with any other versions between 0.6.4 and 0.7.2.
This is the code I'm using -
Uri outputFileUri;
final File root = new File(Environment.getExternalStorageDirectory() + File.separator + "testApp" + File.separator);
root.mkdirs();
String timeStamp = new SimpleDateFormat("yyyyMMdd_Hms").format(new Date());
String fname = "JPEG_" + timeStamp + ".jpg";
final File sdImageMainDirectory = new File(root, fname);
outputFileUri = Uri.fromFile(sdImageMainDirectory);

CameraActivity.IntentBuilder cameraIntentBuilder = new CameraActivity.IntentBuilder(context)
        .skipConfirm()
        .to(sdImageMainDirectory)
        .debug()
        .facing(Facing.BACK)
        .updateMediaStore();

 Intent intent = cameraIntentBuilder.build();
 startActivityForResult(intent, CAMERA_INTENT_REQUEST_CODE);

//-------

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK && requestCode == CAMERA_INTENT_REQUEST_CODE){
        if (outputFileUri != null) {
                    //Upload image to server
        }
}

Additional info - I'm using a OnePlus X 16GB.
Thanks for this awesome library. You guys have really saved me tons of hours dealing with the edge cases of the camera API!

I cannot reproduce the problem with the demo-playground app, using a OnePlus X, with equivalent settings to what your code snippet has.
Please try the demo-playground app and see if you can reproduce the problem. Also, if you go into Settings > About, what is the "Model number" value? Mine is "ONE E1005".

Hello,
Sorry for the delayed response.
I cloned your project and built the demo-playground app and the issue is still happening on my device. The model number is "ONE E1003". However, the issue is not happening consistently, so I couldn't pinpoint a particular flow in which it was happening. I've attached the logcat output from the demo-playground app when the issue was happening. Hope this helps.
Logcat output from Cam2 library.txt

If, at some point, I can get my hands on an E1003, I will see if I can reproduce the problem.

Oh okay. Also, LeakCanary was reporting that MainActivity has leaked when the problem was happening.


More flexible input format for filetest

This might be a new idea; let's just discuss on it.
Currently (as of 2.0 RC) the filetest template organizes the test examples into {ProblemName}.sample file. Each parameter values are parsed line-by-line; I suggest make the input format in a much flexible way.
For example, suppose there are 4 int[]s for input, each of them having 50 elements. Then we might have
50 // this the length of arr0
1
2
... (46 lines)
49
50
50 // this is the length of arr1
1
2
... (46 lines)
49
50
(... and repeat two more)

, which results in almost 200 lines. This is not easily maintainable.
Instead, we can do in a much compact way such as:

(ICPC-like style)
50
1 2 3 4 ... 49 50
50
1 2 3 4 ... 49 50
50
1 2 3 4 ... 49 50
50
1 2 3 4 ... 49 50

(Topcoder-like style : parse single line for single parameter)
{1, 2, 3, 4, ..., 49, 50}
{1, 2, 3, 4, ..., 49, 50}
{1, 2, 3, 4, ..., 49, 50}
{1, 2, 3, 4, ..., 49, 50}

I'd prefer the second way (because such lines can be parsed when testing the code, in the arena).
For the string[] parameters, however, one would prefer the grid-style sometimes. {"NYY", "NYN", "NNN"} is hard to read, compared to:
NYY
NYN
NNN

Currently, the input format requires that each element (in an array) should placed in a single line -- relaxing this constraints (i.e. don't care whether will also be nice. In conclusion, I think it would be great if the tester could accept all of these formats, with a great flexibility.
Do you think it is a breaking change? Is it OK that the behavior or the generated samples can be changed before the new major release (the compatibility issue) ? If not, I expect this can be a new feature for the next minor release (maybe, 2.1?).
Please give me your feedbacks. Thanks!

I want "ICPC-like style". If there is a problem with string input, I propose that it should be enabled only with integer input.


need help with WebSockets error

everything worked good, before i added a SSL certificate to server. And now there is an issue with websockets: [Error] WebSocket connection to 'wss://../socket.io/?EIO=3&transport=websocket&sid=CX5GYgJ61Qc78kinAAAT' failed: Unexpected response code: 400
when making trades due to this error #tradeoffer modal does not appear, but in console log i can see a message with the new trade
Does anybody know any solutions?

How did you add that SSL certificate?

To be honest I don't know exactly. It was added throw the server provaider. By the way the server running on nginx (port 80 & 443) listening port 8080, where I run node js project

So in the script config file it's listening on port 8080 and nginx is acting as a reverse proxy? You need to add some specific nginx rules to work with socket.io if that's the case.

This is how csg0.trade server block looks like
https://gist.github.com/pepzwee/2e1f4e0f7f9ec29c7dfca8fabd48dfa5

Thank you for your last response I'll try it a bit later

thank you, it solved the error. but the window #tradeoffer still doesn't appear when i push trade button. it just reloads a page, however i can see a trade offer in steam account. do you know why does it reload page?

Do you see any errors in the dev tools console when you press the trade button. (Not talking about node console but web console)

no, it doesn't show any errors. i can't understand why it's reloading after this code in app.js
$('#tradeoffer').modal('show');                         socket.emit('get offer', {                             user: this.userInventorySelected,                             bot: this.botInventorySelected,                             bot_id: this.selectedBot,                             steamID64: this.user.id,                             tradelink: localStorage[this.user.id]                         });
and if i go though debugger in chrome the trade offer window appears for a second and page reloads

got the error: WebSocket is already in CLOSING or CLOSED state.

restarted the app and again no errors just page reloading


Invalid config error after updating

I upgraded to the latest via HAC but now I'm getting this error:

I tried reinstalling as well as removing the .json file and reloading the integration report.

This component requires Home Assistant 0.110.0 or higher.
Here is the old version for 0.109.x:
https://github.com/upsert/lutron-caseta-pro/archive/c455e1923e42c81568986e44dce8562d87af11c4.zip

Not sure how you figured out that was the issue with what I said but yeah, that was the issue. Didn't realize there was an update. Thanks!


Better information from results

Until now, the API is pretty bland and non-informant about the results. The following could be implemented as a struct, while receiving a solution vector:

[x] Number of runs
[x] Minima found
[x] Where the minima is at
[x] Type/Name of algorithm used
[x] If using a benchmark test function, specify it

Done in #23


Not working in snappy compressions

Hello, i think now master branch not working with snappy compressed data, can you recheck it?

Here link why i think so: https://github.com/fastogt/fastonosql/issues/63

You probably built the project without having snappy installed. Snappy is an optional dependency and the build can succeed without it, resulting in a binary that can't compress / decompress data blocks.

Hi @pwnall , you using snappy-c or snappy C++ bindings?

In Cmake i see you looking for check_library_exists(snappy snappy_compress "" HAVE_SNAPPY) but header should be snappy-c.h

Here my fix if you are interesting: https://github.com/fastogt/leveldb/commit/dd6e5ade4c5bdec44dfff80b6fc960c15ffdf6ce


Fix pagination

Example: https://design-system-git-fix-pagination-strapijs.vercel.app/iframe.html?id=pagination--base&viewMode=story
Voice Over

I don't seem to see the shadow behind the hover boxes?

I don't seem to see the shadow behind the hover boxes?

I don't see this in the pagination spec 😬

I don't seem to see the shadow behind the hover boxes?

I don't see this in the pagination spec 😬

My bad @mfrachet. Could you add a box-shadow: 0px 1px 4px rgba(26, 26, 67, 0.1); to the hover state of the page # and the chevron icons? Thank you so much for your help on this :)

My bad @mfrachet. Could you add a box-shadow: 0px 1px 4px rgba(26, 26, 67, 0.1); to the hover state of the page # and the chevron icons? Thank you so much for your help on this :)

We have a shadow token, maybe it could be a good idea to make it part of this one? WYT? cc @rgesulfo 😊

@rgesulfo @maevalienard the hover state should be fixed. Also notice that the focus state is managed in another pr (adding the blue outline) so it won't be present in this one

Looks awesome! I second Hicham about the wrapper size, maybe we could avoid switching from regular text to bold one, so we don't have this issue anymore? wdyt?

cc @HichamELBSI @maevalienard the font-weight bold issue is fixed (I removed it)


Fix elapsed time parameters on Window.Render and Update events

Fixes issue #394.
In summary, the stopwatches need to be restarted before the events are invoked. Or really, stopwatches need to be restarted right after the elapsed time was taken. Otherwise, the time the invocation of the method took (and therefore the whole update/render logic the library user wrote) will not be counted as elapsed time on the next invocation.
If you store a double time that starts at 0 and each update add to it the elapsed time parameter, you'd now get nearly exactly the same as if you just used a stopwatch that was started on load, even if your Update method takes a very long time. Before this change, you'd see that your time variable would stay behind (this might not have been noticeable if your Update method is very fast).

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Actually, the recommended approach here is to use Stopwatch.GetTimestamp() which returns a long and store that value each time round the loop.  To calculate the delta you use logic like so:
long timestamp = Stopwatch.GetTimestamp();
while (true)
{
	// Simulate loop logic
	Thread.Sleep(100);

	double delta = ((double)-Interlocked.Exchange(ref timestamp, Stopwatch.GetTimestamp()) + timestamp) / Stopwatch.Frequency;
}

The reason for this approach is precision.  Under the hood this is effectively how Stopwatch works anyway, but instead of converting everything to doubles and incrementing them, you are keeping the underlying timestamp and so you will not experience drift over time.

Actually, the recommended approach here is to use Stopwatch.GetTimestamp() which returns a long and store that value each time round the loop.  To calculate the delta you use logic like so:
long timestamp = Stopwatch.GetTimestamp();
while (true)
{
	// Simulate loop logic
	Thread.Sleep(100);

	double delta = ((double)-Interlocked.Exchange(ref timestamp, Stopwatch.GetTimestamp()) + timestamp) / Stopwatch.Frequency;
}

The reason for this approach is precision.  Under the hood this is effectively how Stopwatch works anyway, but instead of converting everything to doubles and incrementing them, you are keeping the underlying timestamp and so you will not experience drift over time.

Hi @ThomasMiz,
I really don't see how you changes fix #394.  From that issue (emphasis added):

When VSync is on, the elapsed time passed to the Render() method is typically a very low value on some machines (in mine, 0.00001 to 0.001, which is waaay lower than the ~0.016 expected with a window configured to 60fps).

However, you will note that the check on whether to call the user's Render method, occurs here:
if ((delta >= _renderPeriod) || VSync)

i.e. if VSync is on, the elapsed time is ignored.
In my testing, I still experience the VSync on issue described in #394.

Hi @ThomasMiz,
I really don't see how you changes fix #394.  From that issue (emphasis added):

When VSync is on, the elapsed time passed to the Render() method is typically a very low value on some machines (in mine, 0.00001 to 0.001, which is waaay lower than the ~0.016 expected with a window configured to 60fps).

However, you will note that the check on whether to call the user's Render method, occurs here:
if ((delta >= _renderPeriod) || VSync)

i.e. if VSync is on, the elapsed time is ignored.
In my testing, I still experience the VSync on issue described in #394.


Auguest-02 Solution

What type of PR is this? (check all applicable)

[x] 🚀 Add Any Lang Solutions. (e.g., C++, Java, Python)
[x] 📝 Documentation Update (.md File update)
[x] 🌟 ed the repo
[ ] 🚩 Other

Write Full Code with header & Footer of Code in Solution
Description

Why you have closed I am accepting it... !


Implement with three-devtools

Here is the example code for three-devtools to observe our scene and renderer.
if (typeof __THREE_DEVTOOLS__ !== 'undefined') {
  __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent('observe', { detail: scene }));
  __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent('observe', { detail: renderer }));
}

The question is, how do we imply this tool with react-three-fiber since we are using JSX? From my understanding, <Canvas /> is equivalent to renderer, and the way we insert components into the <Canvas /> tag is equivalent to the way we use scene.add(). In that way, we actually don't have a declarative variable for both scene and renderer, so what do we use three-devtools with react-three-fiber?

Sorry, I published this issue in the wrong repository.
I started a discussion here.

Sorry, I published this issue in the wrong repository.
I started a discussion here.


add more image extensions to PointImage test regex

Just adds a few more common image extensions to the test regex in PointImage.
    function isImgUrl(string) {
      let url;
      try {
        url = new URL(string);
      } catch (_) {
        return false;
      }
      if (url) {
        return /\.(jpg|jpeg|png|webp|bmp|gif|ico|svg)$/.test(url.pathname);
      }
      return false;
    }

Merge?

I'll do so. Thanks for the bump.


Monitor user units

@mineo  Are you planning on getting back on this? Or do you have any idea if the change would be somewhat simple?
I am not really proficient with Python but if it would be simple, I wouldn't mind taking a stab at it.

@cedricpim I'm not actively looking into this. A good starting point would be https://github.com/mineo/sagbescheid/blob/729ebe87b865b3246adb36c575abe5b5a17957f8/sagbescheid/sagbescheid.py#L54 - the "system" argument here needs to be dynamic, for user units we'd want to connect to "session", the bus where the systemd user manager is available. I think it would be easiest to add a new command line argument similar to https://github.com/mineo/sagbescheid/blob/729ebe87b865b3246adb36c575abe5b5a17957f8/sagbescheid/sagbescheid.py#L104-L106 (with choices being ["session", "system"] and pass the value of that along.


Add syntax hi-lighting to Readme code.

Just thought it would be easier to read.

Thanks for the patch, is there anyway to look at this? I cloned your fork, but I don't see the changes.

The changes are only visible when the markdown file is displayed on GitHub—you should be able to see the highlighting on the repo's page now.

ok, its breaking my local markdown reader. probably because this is a github flavored md feature. Do you know if this is supported on NPM? I'm hesitant to add it if it only works on github.

NPM uses GitHub-Flavored-Markdown.

ok, thanks. just pushed a new version. https://www.npmjs.com/package/app-notify


adding in features to gather square feet and number of bedrooms

i added a few lines to parse the square feet and number of bedrooms which is commonly added at the end of the listings (separated by a '-').

Thanks Ted. This change is great! I just have a couple of comments. I hope they're not to nit picky.
Going through some of the result. I see sometimes only the bedrooms are shown, and sometimes only the area is shown. For example:

Oct 17 2nd Floor 1BR/1BA - (3070 San Bruno Ave #9) $2100 { 1br - } (visitacion valley) pic map
...
Oct 17 Spacious Studio x 1 Bath (BH) $1895 { 453ft2 - } (sunnyvale) pic map

* Where { ... } represents the <span id="housing">.
Also, for posting outside of the US, the area is described in m2, instead of ft2:

Appartment 2 bedrooms Brussel €600 { 2br - 69m2 - } (Brussel) pic map

So a couple of suggestions:

Split by '-', and loop the chunks. If it contains 'br', is bedrooms; if it contains '2' is area. Ignore the rest.
Strip 'br', but don't strip area unit.
Rename 'sqft' to 'area'.

Also, it didn't feel right that this code was part of CraigslistBase since it was specific to housing. So in 212588b I've added a new method (customize_result()), for a subclass to add/delete/alter each result. In this case, adding 'bedrooms' + 'area'.

Thanks for the feedback - didn't even think of the international aspect. I'll go back to the lab and get back to you in a bit.

this works for me:
housing_el = get_only_first_or_none(post.cssselect("span > span > span.housing"))
housing = [x.strip() for x in housing_el.text.split("-\n") if x.strip()] if housing_el is not None else []
bedrooms_raw = get_only_first_or_none([x for x in housing if "br" in x])
area_raw = get_only_first_or_none([x for x in housing if "ft" in x])

num_bedrooms = int(bedrooms_raw.replace("br", "")) if bedrooms_raw else None
area = int(area_raw.replace("ft", "")) if area_raw else None

I've added this in 7247eb9. Here's an example of it working:
In [1]: from craigslist import CraigslistHousing

In [2]: cl_h = CraigslistHousing(site='sfbay', area='sfc', category='apa', filters={'min_price': 2000, 'min_bedrooms': 2})

In [3]: list(cl_h.get_results(limit=1))
Out[3]:
[{'area': u'3100ft2',
  'bedrooms': u'5',
  'datetime': u'2017-06-13 00:12',
  'geotag': None,
  'has_image': True,
  'has_map': True,
  'id': u'6166644593',
  'name': u'Gorgeous 3100+ sq ft  5BR, 4.5BA Forest Hill home',
  'price': u'$8500',
  'url': u'http://sfbay.craigslist.org/sfc/apa/6166644593.html',
  'where': u'west portal / forest hill'}]


Add Travis-CI configs and deploy Docker image on tags and main

@amdprophet Could you please define DOCKER_USERNAME and DOCKER_PASSWORD in this repo's settings so they can be used to publish docker images from this repo? https://docs.travis-ci.com/user/environment-variables/#defining-variables-in-repository-settings


Can't compile v2.1.6 tag on Ubuntu 22.04.LTS

Hi guys
I don't know why even when switching to v2.1.6, cmake is keeps telling me that it will build mimalloc v1.8.0:
> git clone https://github.com/microsoft/mimalloc.git
> mimalloc
> git checkout -b v2.1.6
Switched to a new branch 'v2.1.6'
> mkdir -p out/release
> cd out/release
> cmake ../..
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
--
-- No build type selected, default to: Release
-- Override standard malloc (MI_OVERRIDE=ON)
--
-- Library base name: mimalloc
-- Version          : 1.8       <<<======================
-- Build type       : release
-- C Compiler       : /usr/bin/cc
-- Compiler flags   : -Wall;-Wextra;-Wno-unknown-pragmas;-fvisibility=hidden;-Wstrict-prototypes;-ftls-model=initial-exec;-fno-builtin-malloc
-- Compiler defines :
-- Link libraries   : /usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/librt.a
-- Build targets    : shared;static;object;tests
--
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/mimalloc/out/release

Am i missing something?
Many thanks.

From https://git-scm.com/docs/git-checkout: "Specifying -b causes a new branch to be created as if git-branch[1] were called and then checked out."
So what you're doing is not checking out a specific tag, you're creating a new branch off main, named "v2.1.6".

From https://git-scm.com/docs/git-checkout: "Specifying -b causes a new branch to be created as if git-branch[1] were called and then checked out." So what you're doing is not checking out a specific tag, you're creating a new branch off main, named "v2.1.6".

My bad. Thanks @res2k
> git clone https://github.com/microsoft/mimalloc.git
> mimalloc
> git checkout -b v2.1.6
Switched to a new branch 'v2.1.6'
> mkdir -p out/release
> cd out/release
> cmake ../..
[...]
-- Library base name: mimalloc
-- Version          : 2.1
-- Build type       : release
-- C Compiler       : /usr/bin/cc
-- Compiler flags   : -Wall;-Wextra;-Wno-unknown-pragmas;-fvisibility=hidden;-Wstrict-prototypes;-ftls-model=initial-exec;-fno-builtin-malloc
-- Compiler defines :
-- Link libraries   : /usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/librt.a
-- Build targets    : shared;static;object;tests
--
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/mimalloc/out/release

All good.

All good.

Just be aware that you're still not using the right command; you're not checking out a specific tag, you're creating a new branch. (Which is also what the output tells you.)


Cherry-Pick: #270 fix to v0.14

Currently not is a position to upgrade to netcoreapp 5.0 and require this fix for v14
This branch was based off tag v0.14.1

#270 got already closed in 2020.
Is this issue still open?

I'm inclined not to do this. @kevingentile how are you planning to consume this fix in v0.14, build from source? There's no way to back-port it to that release in NuGet.

@cartermp  Thank you for your time. A v0.14.2 would be  sufficient.
The framework change from netcoreapp3.1 in v0.14 to  net5.0 in v0.15 was a breaking change. Consumers with similar limitations will always own this bug.
Workaround is to implement and use a local copy of UseGZip with  8e27614 to re-enable JSON compression.


trying to add and compile it with qt and getting lot of dependencies

What component of google-cloud-cpp is this related to?
gcp over pubsub
Describe the bug
when added and compile it with my qt api  program getting dependencies on many files some are not available
Operating system:
windows 10
Additional context
cannot file file google/pubsub/v1/pubsub.pb.h in the folder

Can you tell us something about how you compiled and installed google-cloud-cpp and its dependencies?  Did you use a package manager like vcpkg?  Did you compile it by hand?  If so, how?
It would also be helpful to know what is the version of google-cloud-cpp that you are using.

Without additional information we cannot fix this. Feel free to reopen if you have more details.


[e2e]: nodejs push branch1 default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/9281101756
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Trigger: push
Branch: branch1
Date: Wed May 29 06:15:24 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/9297837927
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Trigger: push
Branch: branch1
Date: Thu May 30 06:12:15 UTC 2024
Tests are passing now. Closing this issue.


Create base for boot-sequence automation script for cyberway contracts

Create script like eosio\tutorials/bios-boot-tutorial.
Script should automate initialization of system contracts on CyberWay.

PR #12


[Doc]update two articles related to indexes

What type of PR is this：

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

starrocks_be_unittest succeeded.

@mergify backport branch-2.4

@mergify backport branch-2.3


Added interval restart logic

Fixes https://github.com/BlueBrain/nexus/issues/2245
Fixes https://github.com/BlueBrain/nexus/issues/2259

Something mixing things like:

IO.timeout so that it stops after a while
scheduler.scheduleAtFixedRate to start it again
would not work ?

Why do we need to do it that way?
I'm working with F[_] so scheduleAtFixedRate is not going to fly out.
I don't find this implementation more difficult either.

We could just let the timeout and let the remember entities restart it ? Or use in some way the coordinator.restart ?
It is not this addition that is complicated, it is more that that there is an accumulation with what already exists.

I don't see how any of your suggestions is simpler than what I did. Unless I see some concrete example with some benefits, I'm not confident of the change. And I don't want to touch IndexingStreamCoordinator, since it is complex enough already. Management of lifecycle and so on happen on the CompositeIndexingStream previously and now. So it is consistent.
Another option is to put everything inside an actor and keep the nextInterval (Option[Instant]) as the actor state. However I would argue that option is more verbose.


Migrate efficiency models from pvpltools-python

Describe the solution you'd like
A number of different models exist to estimate efficiency (or power) as a function of irradiance and temperature.  I coded and published many of them in my own repository pvpltools-python as it was quicker to do than a pvlib PR, but I think they would fit nicely into pvlib-python.
https://github.com/adriesse/pvpltools-python/blob/master/pvpltools/module_efficiency.py
Additional context
Oh yes, I almost forgot: I developed such a model myself also and it's in there.

What do you think, could the module go in pretty much as-is, or should it be organized differently?

I'm not in favor of adding the functions to pvsystem.py but that's the only current code module that makes any sense. Most functions return module efficiency eta (or help do so). There's a gap to span between having eta and getting DC power, which could be a new function in pvsystem.py. So for this base layer, I'd favor a new module e.g. pvlib.dc_efficiency.py and I immediately dislike the name.

So for this base layer, I'd favor a new module e.g. pvlib.dc_efficiency.py and I immediately dislike the name.

I dislike that name too.  :)

I would welcome more opinions on code organization before I continue.
Another option would be to just submit the ADR model and ADR fitting function.  In that case, what would be the preferred place(s) to put them?

#1572 seems OK to me so far.  dc_efficiency seems too broad to me.

Looking forward to some reviews...

I am having some second thoughts about where to put this code.  In particular, I think that pvefficiency may be too narrow for the module.  Steve has already said that LFM does more than efficiency, and I think my model could do more than that as well.  Which brings up my doubts about using the bare adr as a function name here also.
Could we create a new module called pvmodule or perhaps even better pvarray?  Initially LFM core functions and ADR efficiency and fitting could go in there there and eventually more stuff could be moved from pvsystem to reduce its size.
If this is too complex an issue we could discuss it under #1581, but I would really like to get this ADR code into the next release.

Are we talking about a module to contain functions that take in effective_irradiance and temp_cell and output DC quantities and/or efficiency? That would be a logical next step in reducing the scope of pvsystem.py.

There could be more than those two inputs perhaps.  I would see pvarray as a logical destination for all SAPM, PVWATTS, SDE module/array functions, focusing on the electrical side of things. But such moves can be contemplated at leisure.

This is a poster I presented at PVSC this year where I compared some modelling methods http://www.steveransome.com/pubs/2206_PVSC49_philadelphia_4_presented.pdf
SAPM calculates measured values (A and V) of Isc, Imp, Vmp, Voc and Ix and Ixx using a different equation and coefficients for each one. I just looked at the first four as that's all I had from the CFV data.
MPM calculates any of the normalised LFM values (usually nIsc, nImp, nVmp and nVoc from a measurement without complete IV traces as in this poster or nIsc, nRsc, nFFi, nFFv, nRoc and nVoc for good indoor or outdoor IV traces where Rsc and Roc can be calculated) with the same equation.
Although the PVGIS model had only been used for prdc I generalised it to look at other normalised parameters isc, imp, vmp and voc.
It would be good to add these and other models to pvlib and compare their fits alongside factors such as robustness, ability to fit noisy data, meaningful coefficients, performance limits (e.g. low rsc) and degradation analysis (e.g. rising roc) etc.
I haven't seen the PVSC-49 papers being released yet but could post mine  here or answer any other questions.
I think we need to allow a PV model that either fits the prdc (= measured_efficiency/reference_efficiency) or one of the other chosen parameters such as isc, rsc, imp, vmp, roc and voc.
As long as the reference values of isc, imp, vmp and voc are available it is straightforward to calculate measured raw values from normalised values or vice versa with meas_to_norm or norm_to_meas functions.,

There could be more than those two inputs perhaps. I would see pvarray as a logical destination for all SAPM, PVWATTS, SDE module/array functions, focusing on the electrical side of things. But such moves can be contemplated at leisure.

pvarray to parallel pvsystem I take it.

Ok, I went ahead and created the pvarray module.  Let's see what reactions that provokes.  :)

Regarding some terminology: I notice that Steve likes the term $PR_{DC}$ while I tend to use relative and/or normalized efficiency.  Mostly we're talking about the same thing in a PV module context, but in a system context there is a possible distinction.  I tend to see $PR_{DC}$ as referring to the entire system up to the inverter, whereas efficiency strikes me as more component-oriented (although it could be calculated for any subsystem as well of course).
Anyway, I just wanted to make this observation and see if anyone sees potential for confusion.

Ok, I went ahead and created the pvarray module

Are we eventually planning to move some of the pvlib.pvsystem functionality to this new module?  If so, as long as we've already deprecated pvlib.pvsystem.pvwatts_dc in #1558, we may as well move that one now so we don't have to deprecate it again later.

Are we planning to eventually move some of the pvlib.pvsystem functionality to this new module?

I would vote yes. What about moving PVArray? If I was looking for PVArray, I'd first guess pvarray.py....

No objection to either move, but maybe we should make a list of moving candidates?


Add tabcontainer widget support

Can the feature be described as a User story?
Adds support for tabcontainer support for trailing, leading, top and bottom layout.

the current tab implementation will be modified to achieve this.


Vector Databases: AzureCognitiveSearch

Hi, AzureCognitiveSearch  is now Azure AI Search.
From what I see, there is no database provider implemented, so I could try to take a swing at it :)

Thank you. As an initial implementation for any provider, you can look at this PR - https://github.com/tryAGI/LangChain/pull/352/files
It gives the main files and shows how to add it to tests


KAFKA-9779: Add Stream System Test 2.5

As title, we should be adding the upgrade test after 2.5 release.
 TC_PATHS="tests/kafkatest/tests/streams/streams_upgrade_test.py" bash tests/docker/run_tests.sh

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks for the PR @abbccdda -- we cannot merge this as long as 2.5 is not officially release, because we depend on the official release artifacts -- otherwise we break system tests in trunk.

Triggered a system test: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/3911/

2.5 artifacts are now publicly available, so we should be good to merge this.

@mumrah Yes, the system test passed.


For a presentation with two code slides second one has same code as first when it shouldn't.

A presentation with two consecutive code slides has the first one's code replicated into the second code slide.
Looks at first glance like it affects when there is only one content chunk on a slide.
Going to reduce the problem to a very simple test before fixing.

Looks like code blocks list is not re-initialised when moving to a new slide. So (correctly) the first code block is rendered - but it's the block that should've been cleared out when the new slide was started.

Fixed in v2.2.2.


X on all search bars to clear search bar immediately

I find it quite useful to have an "X" on the right side of a search bar after one types something in the search bar to clear the search immediately. A lot of sites have this and would be nice here in all search bars. Something like below:

Working on this

@jajodiaraghav do you want to take care of this in the other search bars?

@timabbott I would love to, but i can only submit the PR after 2-3 days as i am busy on a different issue currently. I hope that's not a problem.

Yeah, not a problem, just wanted to make sure this doesn't get lost :)

I actually can't find any searchbars that still need this, so closing.


Polymorphism

Description
A smart contract which tells us about Polymorphism in solidity
Fixes #79
Type of change

[x] Add a new project

[x] Improve the readme of any project

Domain of Contribution

[x] Project using only Solidity

[x] Project Test on the Remix IDE

Checklist ✓

[x] I'm SSOC'22 contributor

Great @AnmolSirola  . Looking forward to see more contribution from  your side .


Fix routing for page refresh

Currently, when refreshing a page the routing leads to '/users' page, but it should stay on current page.

The issue comes from https://github.com/it-pebune/ani-research-web/blob/1609ca518b80de715031058b1704d72eb218dd55/src/App.tsx#L27-L35
I don't know what the intended use is, it looks like you want to redirect users after login? This could be better done by pushing to history using react-router or other ways.


Install depexts before creating the switch

When using the v2 of the action, and an ocaml-version (or rather a list of base packages for a switch) that targets 32bits executables (e.g. 4.11.2+32bit, or ocaml-variants.4.12.0+options,ocaml-option-32bit), the build of the compiler fails (see https://github.com/Gbury/dolmen/pull/62/checks?check_run_id=2235477332 ).
From what I can tell, this is because in such a case, we need to install gcc-mutlilib (which is correctly listed as a depext of ocaml-option-32bit) before creating the switch, since the compilation of the compiler (and thus the creation of the switch) requires it. That means that in the list of steps mentioned here, there would be a need to run opam depext before creating the switch (in addition to the current process where it is run last), which I presume would mean requiring opam >= 2.1 with depext builtin, since before creating the switch we won't be able to install depext via opam.

Thank you for testing this! Since musl stuff is installed by default whether we need it or not, I think we can add some necessary libraries as well, so I'll do it.

@Gbury This has been fixed in the latest v2 branch!

That's great ! Thanks a lot for the quick fix, :)
From looking at the fix, it seems that the v2 now unconditionally installs the mutlilib packages required, which is fine and reasonable, but it seems a bit too specific a fix maybe ? In the sense that if/when another configuration option for ocaml requires a depext (potentially less reasonable to install unconditionally than some multilib packages), the action will need to be fixed, whereas the necessary info will be in the configuration option's opam package depext, which should probably be used instead of hardcoding things ?
More generally, if any package in the ocaml-version list (which if I understand correctly, actually is more the list of packages that forms the base of the switch rather than simply an ocaml version) actually need a depext that is not hardcoded and unconditionally installed by the action, then the setup will fail. How hard would it be to support that general case ?

Your point is really correct! I would like to fix in a reasonable way after 2.1 rather than the quick fix.

More generally, if any package in the ocaml-version list (which if I understand correctly, actually is more the list of packages that forms the base of the switch rather than simply an ocaml version) actually need a depext that is not hardcoded and unconditionally installed by the action, then the setup will fail. How hard would it be to support that general case ?

I still don't understand what kind of case this is referring to. Can you explain in more detail?

Oh, I misunderstood it a little (actually quite)! I thought you were talking about another ocaml-version :sweat_smile:
Yeah, definitely. For example, it's easy to implement a simple (and fragile) guard that triggers an error if the comma-separated package name does not contain the word "ocaml". It's obvious that this is not an essential fix at all, but I think it's impossible (or difficult) to essentially solve this at the moment without making some changes to opam itself.
Since all compiler packages have compiler flags in their package files, it should actually be very easy to print errors from opam based on them. In other words, we just need to expose something like --compiler flag apart from --packages flag.
https://github.com/ocaml/opam-repository/blob/3ab68de6a7f70472960c004c2fc7301d442ddcfc/packages/ocaml-base-compiler/ocaml-base-compiler.4.12.0/opam#L16


Issue: SharePoint SSO Component

Hello,
I have implemented the solution has described and I have a loading popup and a consent admin popup every time I try to launch the bot:

First error in the log is : InteractionRequiredAuthError: no_tokens_found: No refresh token found in the cache. Please sign-in.
Second error in the log is : InteractionRequiredAuthError: consent_required: AADSTS65001: The user or administrator has not consented to use the application with ID 'f85c6d67-4839-4ac0-9eaa-1416ac9b9294' named 'Mercure - Votre Assistant IA Générative (Microsoft Copilot Studio) - Intégration SPO'. Send an interactive authorization request for this user and resource.
Did I miss something?
Thanks for your help

@davcano can you add consent in your app registration?