add option to flush stats on admin access

Commit Message: added flush_stats_on_admin_access to flush stats when /stats admin endpoint is accessed.
Additional Description: added flush_stats_on_admin_access to flush stats when /stats admin endpoint is accessed.
Risk Level: Low
Testing: Added
Docs Changes: Updated
Release Notes: N/A
Fixes https://github.com/envoyproxy/envoy/issues/14007

Closing this in-favour of https://github.com/envoyproxy/envoy/pull/14156


Question: Is this being used on production?

Stumbled upon this on HN. Wanted to check the following:

What kind of performance impact would this have on the SQL server
What typical trace duration would you recommend?
Lastly, the ideal expectation is to run this hourly?

Yes, we regularly use this tool (in conjunction with sqltop) to find the most resource consuming queries in our services.
This tool uses the same built-in SQL Server tracing functionality that SQL Server Profiler uses. The
performance impact is usually very low but it depends on your workload and hardware.
The frequency and the duration to run traces also depends on what you want to profile.

Thanks @soheilpro for the reply and the tip for using sqltop


choose_surface_format called twice

https://github.com/KhronosGroup/Vulkan-Samples/blob/8ba37b44a693d165c2ab8b9cfdcf1c8774efd407/framework/core/hpp_swapchain.cpp#L330
https://github.com/KhronosGroup/Vulkan-Samples/blob/8ba37b44a693d165c2ab8b9cfdcf1c8774efd407/framework/core/hpp_swapchain.cpp#L320
As far as I can tell, none of the parameters to the call can possibly change between the two calls.

Additionally, surface_formats and present_modes are both stored in the class, but never referenced except in this one function (with the exception of the move constructor, which doesn't really count).
Both these issues are also present in the non-hpp version of the class.


Implement z-index for renderers

Taking your Newton's Cradle example as a starting point (http://brm.io/matter-js/demo/#newtonsCradle) is it possible to have the constraint lines sit behind the circles? I couldn't see anywhere to set a z or z-index value (or equivalent). I also tried swapping the order that the circle and constraint get added to the composite but that didn't seem to have any affect either.
Thanks

The debug renderer doesn't currently support zIndex I'm afraid. I'd accept a pull request though. You'd need to add body.render.zIndex, and inside Matter.Render create a buffer and add all constraints and bodies, then sort by it. It should probably be an opt-in option though as it would be reasonably intensive, it would also break some of the optimisations for wireframe mode.

Can you give a simple sample that can change sprite of zIndex dynamic.Thanks.

When try this on 16 bodies, the thing melts down. How is running a sort that frequently not causing you lag?

Is there a way to use this trick without having to build matter.js ? And if not, is there somenone so nice to share his own build with me ? Thanks !

I also would like to have this feature. Meanwhile, here is a trick based on the following observations. :

It seems that the render first displays bodies before composites.
Within each "family" (body, composite) : the order of display is the order of addition to the world.
So, if I want to display a body B in front a composite C, I make a new composite with B, and add it to world AFTER adding C.

In my solution for this I went with the following:
In this example I'm using "category" to sort items.
With items with a lower category "in front"
This only does the "math" for ordering when adding items to the canvas, since my items will not be changing zIndex.
But naturally if you know you changed items you can do an abitary sort on demand.
Matter.Events.on(engine.world, "afterAdd", function(items) {
    engine.world.bodies.sort((a, b) => {
        return b.collisionFilter.category - a.collisionFilter.category;
    });
});

Just wanted to share what I did.


Clarify use of variables in template expressions

While it could be extrapolated from the statement that the expression variables are evaluated before the job runs, it should be clarified that variables cannot be used in template expressions, with the exception being predefined variables. Also worth mentioning that variables cannot be passed as parameters.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6724abea-bbdc-bf66-ed5e-3214fa6c3e66
Version Independent ID: 4f8dab21-3f0e-da32-cc0e-1d85c13c0065
Content: Templates - Azure Pipelines
Content Source: docs/pipelines/process/templates.md
Product: devops
Technology: devops-cicd
GitHub Login: @juliakm
Microsoft Alias: jukullam

This limitation on the use of variables with templates in pipelines is really limiting and frustrating.  Is there any intention to change this behaviour to something sensible?

We can also just document the existing behavior (eval at compile or runtime) better, for example:
jobs:
- job: build
  variables:
  - foo: bar
  steps:
    - bash: |
        echo $(foo)            # This will be bar
        echo '##vso[task.setvariable variable=foo]baz'
        echo $(foo)            # This will also be bar, $(foo) expands before the step
    - bash: echo $(a)        # This will be baz. The variable is expanded just before the step

Source: https://adamtheautomator.com/azure-devops-variables-complete-guide/
After understanding this difference, everything worked for me.

Thanks @julie-ng and @MarkKoz. Updating the docs now.


chore: update to next 11

📝Changed routes:

/404
/

(view full size)
(view full size)

/privacypolicy

(view full size)

Commit 52a5f7e3cae6e9695c234a0de369f79b74f5d950 (https://spoker-mt2iqi5vf-sozonome.vercel.app).


It would be great

It would be great if we had a setting to "turn on" Interpolated strings for an entire file without having to always prepend "$" to every string in it. Would just save some time, and increase adoption.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 32f4b61b-ee05-3221-9a2c-0cdf31645f67
Version Independent ID: b5ca0b9a-d789-d9a6-e5d5-1a4709879091
Content: Interpolated Strings (Visual Basic)
Content Source: docs/visual-basic/programming-guide/language-features/strings/interpolated-strings.md
Product: dotnet-visualbasic
GitHub Login: @KathleenDollard
Microsoft Alias: kdollard

I like Tim's idea. Or some solution. More broadly, is there any existing strategy to eradicate legacy string concatenation across all Docs and replace with modern string interpolation? I run into this all over the platform and it nags me. Just curious...

I'm going to close for two reasons:

There (almost certainly) won't be a language change to remove the $ requirement. That would be a massive breaking change. (The expression "{0}, {1}" is valid as an interpolated string: it evaluates to "0 1".)
Issue #9002 better describes the docs tasks to incorporate interpolated strings throughout the doc set.


listSubscriptionsByTopic not working properly

listSubscriptionsByTopic() does not return the subscription list.
After adding a few subscriptions using sns.subscribe(topicArn, sqsArn) I can get the list of subscriptions using listSubscriptions()
But if I want to only get subsciptions for a specific topic using the listSubscriptionsByTopic, the only data in result is ResponseMetadata, although I see I have subscriptions for the specified topicArn.

@cotko - Can I see your POSTMAN request? I am able to get subscriptions for a topic.
POST: http://localhost:4100
form-data:
Action:ListSubscriptionsByTopic
Version:2012-11-05
TopicArn:arn:aws:sns:local:000000000000:FOO-TOPIC

Response:
<ListSubscriptionsByTopicResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
    <ListSubscriptionsResult>
        <Subscriptions>
            <member>
                <TopicArn>arn:aws:sns:local:000000000000:FOO-TOPIC</TopicArn>
                <Protocol>sqs</Protocol>
                <SubscriptionArn>arn:aws:sns:local:000000000000:FOO-TOPIC:97d8f54d-e3f0-4500-b4a3-73338734bceb</SubscriptionArn>
                <Owner></Owner>
                <Endpoint>http://localhost:4100/queue/FOO-QUEUE-1</Endpoint>
            </member>
            <member>
                <TopicArn>arn:aws:sns:local:000000000000:FOO-TOPIC</TopicArn>
                <Protocol>sqs</Protocol>
                <SubscriptionArn>arn:aws:sns:local:000000000000:FOO-TOPIC:fd83d066-b2fa-4378-a247-af41dae1feb3</SubscriptionArn>
                <Owner></Owner>
                <Endpoint>http://localhost:4100/queue/FOO-QUEUE-2</Endpoint>
            </member>
        </Subscriptions>
    </ListSubscriptionsResult>
    <ResponseMetadata>
        <RequestId>ae209754-59bb-4dee-adb8-80e11f839c63</RequestId>
    </ResponseMetadata>
</ListSubscriptionsByTopicResponse>

@cotko Can we get more information on step-by-step way to reproduce this - @brianmoran and myself have not been able to reproduce.


Value Weighting for Ideology Matching

I have made 2 non-visible changes:

renaming internal vars for political values to match their names as perceived from the end user (e.g. 'might' replaced with 'nation')
adding the means for ideologies to be matched moreso by certain political values: for example, being matched with the ideology socialism could be determined moreso based on its definition as being of a high equality score

The final commit 'added some sample weight values' contains subjective politics-related changes, as opposed to the 2 prior


nodenv: nodemon: command not found

$ node --version
v10.16.0

$ npm install -g nodemon
/usr/local/bin/nodemon -> /usr/local/lib/node_modules/nodemon/bin/nodemon.js

><EMAIL_ADDRESS>postinstall /usr/local/lib/node_modules/nodemon
> node bin/postinstall || exit 0

+<EMAIL_ADDRESS>updated 1 package in 2.984s

$ nodenv rehash

$ nodemon
nodenv: nodemon: command not found

The `nodemon' command exists in these Node versions:
  8.8.0

Updated from brew: nodenv 1.3.0
Kind of out of ideas here. Tried using node 10.10 as well, same result.

I can't confirm. On my machine nodemon is installable.
$ nodenv install 10.16.0
$ nodenv local 10.16.0
$ npm -v
6.10.0

$ npm i -g nodemon
<EMAIL_ADDRESS>added 289 packages from 144 contributors in 12.654s

$ nodenv rehash
$ nodemon
[nodemon] 1.19.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node index.js`
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module '/Users/fibric/Download/test/index.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
[nodemon] app crashed - waiting for file changes before starting...
^C⏎```

It must have been an issue with that version of node, 8.8.0. Uninstalled it and now it works.


ReorderableListComponent

@grassick lets continue the discussion here. I am not being able to reproduce any crash you mentioned in email. Also I am not using refs anywhere. I did a clean install and things are working as expected at my end.

I did a clean install and it works great! Looking over code...


[SPARK-46435][INFRA] Exclude branch-3.3 from publish_snapshot.yml

What changes were proposed in this pull request?
This PR aims to exclude branch-3.3 from publish_snapshot.yml.
Why are the changes needed?
We don't need to publish the snapshot of branch-3.3 because it reached the End-Of-Life status.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manual review.
Was this patch authored or co-authored using generative AI tooling?
No.

Merged into master. Thanks @dongjoon-hyun @zhengruifeng ~

Thank you, @zhengruifeng and @LuciferYang !


Feature request: Add content parameter to DtsCreator.create

We use Webpack to build our css and we want to use typed-css-modules to create type definitions for it. But we also use scss and typed-css-modules fails on scss specific syntax which makes this promise fail: https://github.com/Quramy/typed-css-modules/blob/master/src/dtsCreator.js#L94 with a CssSyntaxError and Unknown word for thinks like max-height: #{$base-line-height * $line-count}rem;.
When we call DtsCreator.create() we have both the path to the file, and the contents of the file transformed from scss to css. We'd like to be able to pass a second argument to DtsCreator.create() with the contents of the file and not have typed-css-modules read it from the file since it contains invalid css syntax.
Btw, thanks for a great module!

@andersekdahl . I got what you want. And I don't know how do I add implement this feature. I come up with the following options:

Re-implement this feature as some post-css plugin. post-css ecosystem has SASS parse and css modules plugin. But I'm not familier with post-css's plugin development...
Add feature to input from stream pipe which is created by lib-sass for example.

Do you have any idea ?

For our use case you don't have to care about sass at all. The only thing we need is to be able to pass in the contents of the file passed to DtsCreator.create(). That is, instead of just passing in the path and having typed-css-modules read the contents of the file, we pass the path and the contents and typed-css-modules will just use that content to parse instead of reading the file.

https://github.com/Quramy/typed-css-modules/commit/a855de4b3f1514c4780a677f87531449531cb5aa#diff-04c6e90faac2675aa89e2176d2eec7d8R115
How about this?

Haven't tested it, but it looks exactly like what we want!

Tried it now, works like a charm! Thank you!

I also recently ran into this but was hoping to still use it as a CLI. If you're looking to support SASS consider looking at typed-scss-modules as well 👍


type WriteFileCallback: make param sourceFiles required.

Fixes https://github.com/Microsoft/TypeScript/issues/15007

@NaridaL,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


Just trying to get myself rebased from conflicting updates...

Don't merge this, my rebases has become really messed up


where do icons come from?

Just curious, where the used icons come from (various sources?)?:

http://iconfont.cn


Publishing 0.9 to crates.io

I don't know what the publishing policy is, but it would be nice to have the fixes for the latest nightly compiler (#2865) because the generic rustup run nightly cargo install -f rustfmt-nightly is broken right now.
Also, would it make sense to add regular (nightly?) publishes with CI?

Rustup installation should be fixed with today's nightly (using rustup component add rustfmt-preview, rustup update --force).
I'm planning to release to Cargo (and a new version to Rustup) later this week.


Refactor Openai API

openai 1.x requires refactoring throughout llm-vm package

@ajitalapati you can comment "Closes #issuenum" on your PR to automatically close an issue after merging


Add a select of the file you want to translate and url open a new issue

https://pypi.org/project/simple-term-menu/
https://pypi.org/project/console-menu/


Fix org_id check

We should only fail the org_id check when the id is missing completely.
If we have it in the top level, but not in internal that should be
okay.
Signed-off-by: Stephen Adams<EMAIL_ADDRESS>

@coderbydesign Added a validJson that contains a test for org when it's not internal. Had to remove a check for it in the passing test, but since internal gets copied into the orgID key it should be good to go.


chore: rename file registry to provider

Codecov Report

Merging #825 into master will decrease coverage by 2.55%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #825      +/-   ##
==========================================
- Coverage   94.14%   91.59%   -2.56%
==========================================
  Files         248      196      -52
  Lines       10711     7813    -2898
  Branches     1030      735     -295
==========================================
- Hits        10084     7156    -2928
- Misses        627      657      +30

Impacted Files
Coverage Δ

...s/opentelemetry-core/test/context/B3Format.test.ts
50% <0%> (-50%)
:arrow_down:

packages/opentelemetry-core/test/utils/url.test.ts
50% <0%> (-50%)
:arrow_down:

...pentelemetry-core/test/internal/validators.test.ts
50% <0%> (-50%)
:arrow_down:

...elemetry-core/test/trace/spancontext-utils.test.ts
55.55% <0%> (-44.45%)
:arrow_down:

...lemetry-core/test/trace/ProbabilitySampler.test.ts
56.52% <0%> (-43.48%)
:arrow_down:

...s/opentelemetry-core/test/trace/tracestate.test.ts
65.06% <0%> (-34.94%)
:arrow_down:

...ntelemetry-core/test/trace/NoRecordingSpan.test.ts
71.42% <0%> (-28.58%)
:arrow_down:

...ackages/opentelemetry-core/src/platform/node/id.ts
71.42% <0%> (-28.58%)
:arrow_down:

...entelemetry-core/test/common/ConsoleLogger.test.ts
77.01% <0%> (-22.99%)
:arrow_down:

...ckages/opentelemetry-core/test/platform/id.test.ts
77.77% <0%> (-22.23%)
:arrow_down:

... and 80 more


asset app ui

[x] asset list
[x] asset detail
[x] asset create
[x] asset update
[x] asset delete

[ ] Component list
[ ] Component detail
[ ] Component create
[ ] Component update
[ ] Component delete

[ ] Component category list
[ ] Component category detail
[ ] Component category create
[ ] Component category update
[ ] Component category delete

[ ] condition list
[ ] condition detail
[ ] condition create
[ ] condition update
[ ] condition delete

[ ] consumable list
[ ] consumable detail
[ ] consumable create
[ ] consumable update
[ ] consumable delete

[ ] license list
[ ] license detail
[ ] license create
[ ] license update
[ ] license delete

[ ] license category list
[ ] license category detail
[ ] license category create
[ ] license category update
[ ] license category delete

[ ] status list
[ ] status detail
[ ] status create
[ ] status update
[ ] status delete
[ ] status BYOD

[ ] type list
[ ] type detail
[ ] type create
[ ] type update
[ ] type delete

ASSET IMAGE in asset create and asset detail and list


Docs: markdown example in docs should actually process markdown

Currently the example copies a file and renames it to have a .html extension. While a useful example for showing off how to copy and rename outputs it does not actually produce any kind of markdown.
The example should show off running a markdown processor and putting the output in the desired location. It should probably also link to the necessary methods for that rule to depend on the inputs, since following the example results in an xmake file which does not actually track the inputs vs output timestamps.
I might be able to do this as a PR if I figure out the code that belongs there.

There's a PR over on the -docs repo which changes it to process markdown + outputting a progress log + dependency tracking.


can't compare offset-naive and offset-aware datetimes

This is the possible bug in userena/models.py in activation_key_expired, line 169 When django application has enabled timezone information then datetime.datetime.now() >= expiration_date comparison produces above error as datetime.datetime.now() is naive (does not have timezone info) while expiration_date is aware (have timezone info). Either you make datetime.datetime.now() timezone aware before comparison or removing the timezone info (see code below) from expiration_date do the trick.

def activation_key_expired(self):
        """
        Checks if activation key is expired.

        Returns ``True`` when the ``activation_key`` of the user is expired and
        ``False`` if the key is still valid.

        The key is expired when it's set to the value defined in
        ``USERENA_ACTIVATED`` or ``activation_key_created`` is beyond the
        amount of days defined in ``USERENA_ACTIVATION_DAYS``.

        """
        expiration_days = datetime.timedelta(days=userena_settings.USERENA_ACTIVATION_DAYS)
        dt = self.user.date_joined.replace(tzinfo=None)
        expiration_date = dt + expiration_days
        if self.activation_key == userena_settings.USERENA_ACTIVATED:
            return True
        if datetime.datetime.now() >= expiration_date:
            return True
        return False

This only affects Django 1.4+ and it was fixed in commit ac335455ef126a308911cded3888bf28bd771d5a


Integrate branding changes from the theme

Summary
Integrate branding changes from the theme with our site. Overall this change was pretty painless.
Differences
Header/footer background color
The one main issue I ran into was the header/footer background color we are using is not part of the branding. The components use #1d252c, but the correct color is #293338. This is mainly a problem because the rest of the main site uses #1d252c, so we have two options:

Use #1d252c to match the rest of the site and bring the issue to the website team.
Break with the site and use #293338 and bring the issue to website team

Background color
We were using white for the background color, the theme updates this to be off white. This causes some issues with quickstart icons that have white backgrounds.

Looks great, but I noticed a few places that got missed.

when a category is selected in the sidebar, if you hover over the grey box, it turns the same color as the page background instead of staying grey
The hover color on the link in the guided install tile is very dark and almost blends into the dark green.
the cancel button on the mobile category picker needs white text
The hover on the footer banner 'sign up' button looks out of place. in the live site it stays grey and green.

Along with @tabathadelane's comments, these changes were made:

Match the header background color with the main site
Match the header font color with the main site
Keep off-white color in the body
Add a white background for the tiles
Add white background to the logo on the landing page
Update view repo button on landing page (github icon white)

This is a bit of a nitpick, but I was wondering what you all thought. On the current site, the Sign up  button in the footer matches the dark grey color and keeps that colorway on hover:

With this PR, this is the Sign up button in the theme gray, and is changed to black/ white on hover.

on hover:

Is this the design we want, or should we match it to the current design?

Also, the banner on the quickstart landing page i still the theme gray.

@tabathadelane It looks like the default behavior for the button is to change from grey to black on mouseover, so I'm going to leave that. I did get the text to stay the same green color through!!
Also the landing page banner is updated!


Provide hook to get changed props along with the internal chart object

This would allow consumers to interact with the internal chart, call C3 API methods when something changed such as show/hide bools, legend, formats, etc. (anything but chart data)

Hi,
An example of usage I've in my code:
From my React component that uses C3Charts
  onPropsChanged = (oldProps, newProps, chart) => {
    if (this.state.showLegend && !oldProps.legend.show) {
      chart.legend.show();
    } else if (!this.state.showLegend && oldProps.legend.show) {
      chart.legend.hide();
    }
  };

In render:
        <C3Chart
          // ...
          data={this.seriesData}
          legend={{ show: this.state.showLegend }}
          onPropsChanged={this.onPropsChanged}
        />

@jotak: Looks good to me. Thanks!


Is it possible to get the name and not the serial number in discovery?

In MQTT integration the name is set to the serial number, but the MQTT info has the real name, would it be possible to get the real name as name instead?

Maybe, let me dig a bit.

Any progress on this? :)

I attempted a fix for this with 0.51, take a look. It's relatively simplistic, using the common part of the datapoint names for the device (the device itself is not explicitly named).

Great, I will try it out soon!

Devices looks good, great work! Thanks!
Would it be possible to get the names reflected in the entities too?

Can you give me an example?

I think hass will add numbers for duplicates, I think that's we there is a number now. So if "we" assign name that makes duplicates its "our" fault and nothing to be handled by "you" :)


Keyboard events are going to have cut off after several hours.

I have tested this program, it runs well as expected for a while.

Other events are still going well.
I am using macOS 10.12.6 on MacBook Pro (13-inch, Late 2016, Four Thunderbolt 3 Ports)
Does anyone haven't experienced similar issues?

@genki Can you tell me the exact start and end time of keystroke in logging file?

@genki @SkrewEverything I'm running the keylogger continuously from 4 weeks and there is no problem.
@genki I think some other program is enabling secure key event in your mac. Check the issue#3

@genki I have tested it for almost 1 month continuously running and I don't see any problems. As @unkownymouse suggested, check out the issue#3. It might be the problem.


An elb for the ec2 version, alb for the ecs/eks version.

See #13


stable 1.1 branch is not updated for long...

it's not updated for about 2 months. master branch has many commits in these 2 months, and many of them are import security or stability commits.

@macarthor 1.1 won't get any updates. We are working towards 2.0


⚠ DDoS-Relay EU-C-nbg1-6 has degraded performance

In 3f6a735, DDoS-Relay EU-C-nbg1-6 (http://<IP_ADDRESS>:42069/;csv) experienced degraded performance:

HTTP code: 200
Response time: 187 ms

Resolved: DDoS-Relay EU-C-nbg1-6 performance has improved in 692613e after 5 minutes.


Creating new Source Group doesn't work

Edits the previous source group, leaving a new one called New Group. The new one disappears if you move files around but leave the New Group empty.
Also test what happens when a compile finishes - has a new New Group Dependencies folder been (correctly) created?

Fixed in develop


add on_valid_changeset/2 to changeset

Sometimes we want to do an action on a changes only if it is valid.
This function comes to reduce loc like this:
 defp foo(%Ecto.Changeset{valid?: false} = changeset),
    do: changeset

  defp foo(%Ecto.Changeset{valid?: true} = changeset), do:
   changeset |> put_change(:subject, "hello")

Thank you but I am personally not a big fan of such APIs, as I prefer to relying on pattern matching or even conditionals if both branches are available. Of course you can always have similar helpers in your app though!

I understand your position.
Thanks for your attention.


[main] Upgrade to latest dependencies

manual dependency bump for release -psschwei
/cc knative-sandbox/source-wg-leads
/assign knative-sandbox/source-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/eventing 4348c29...76366bc:
  > 76366bc Increase timeout for rekt tests (# 6062)
  > 850528b Update community files (# 6063)
  > f6fec10 update dependencies (# 6057)
  > 47c5739 upgrade to latest dependencies (# 6060)
  > 65c4a6f Dump resources when failed to wait for them to become ready (# 6056)
  > 68d4410 Fix test helpers for subscription that abuse Subscription's `spec.reply` (# 6053)
  > 5ebbed7 Set missing event type on CloudEvent in a test helper (# 6047)
  > 9963bd0 upgrade to latest dependencies (# 6044)
  > 2d64fdd Make event-library test image 'vendorable' (# 6049)
  > 61d97d3 Update actions (# 6042)
  > de89188 fix wrong date. (# 6041)
  > 4415944 upgrade to latest dependencies (# 6040)
  > b5603c0 upgrade to latest dependencies (# 6038)
  > c61fb46 Update VOLUNTEERS (# 6037)
  > eb4c06c Add CloudEvent SQL validation (# 6032)
  > eb62db9 Fix broken links (# 6030)
  > 7bf054f Add k8s trace attribute to PingSource (# 5928)
  > b8d1cfb rename pingsource component (# 6003)
  > 1ae8a49 Fixing Broker DLQ flaky tests (# 6006)
bumping knative.dev/hack abd085f...9b2ed84:
  > 9b2ed84 Update community files (# 139)
  > 59b0cf1 Proper search for tags in Go files only (# 135)
  > f08cb0d Fixing issue knative/hack# 136 (# 137)

/lgtm
/approve


Fix #1197

Might be quite a long line in the output file now.. should we multi-line it? The generator code would become harder to read though:
		this.write(`EnumType: Enum;`);
		this.write(`IsA<T extends Exclude<keyof typeof Enum, "GetEnums">>(`);
		this.pushIndent();
		this.write(`name: T`);
		this.popIndent();
		this.write(`): this is typeof Enum[T][Exclude<keyof typeof Enum[T], "GetEnumItems">];`);
		this.popIndent();
		this.write(`}`);

Seems fine to me for now :+1:


Find option doesn't work in the reading mode with encrypted notes

I open the encrypted note.
I enter the password for decryption.
I can navigate through the note and edit it.
Search (Ctrl+F) doesn't work. There is no such line in the menu.

The .encrypted note editor is separate and independent from Obsidian's markdown editor, which makes it difficult to have a like-for-like editing experience between .encrypted and .md files.   Until there's a way to hook into the save-to/read-from disk api without corrupting notes, editing .encrypted  notes will be very limited.
Having said that, v2.3.0 adds the ability to quickly decrypt or encrypt an existing note (bind it to a hotkey).  So, the workflow could be to temporally decrypt the note to disk, edit it with all the nice Obsidian features, then re-encrypt it when done.


Compilation of common rune builds and stat priorities

https://swarfarm.com/feedback/393/
Use the public information available in imported profiles to build a list of commonly used rune sets, main stat values, and important substats for every monster to be displayed in the bestiary.

Hey Pete,
I'm interested in contributing to swarmfarm, and thought this would be a great feature I could work on. How do you normally go about front end design/mockups for stuff like this? I'm not too keen on front end stuff, but would be happy to build out the backend and API for fetching this data. I could implement the front end too if there was some guidance on how the front end should end up looking.
Let me know what you think

The goal makes sense, but I'm not clear if data in the system will achieve it.
For example, there are good tutorials with stat targets for specific dungeons.  In fact, I followed this tutorial  and it was spot on.  However, my actual units no longer have any relation to these stats.  Bella/Vero are now ready for DB10 and my Shannon is well under these targets (at first, compensated by Bella/Vero and later replaced by Megan).  I'm not sure how useful real stats are for units that are used in a bunch of different teams for a bunch of different purposes.
The best I can imagine (if the data exists and I don't think it does) would be to select a specific dungeon and a specific farmable team and analyze the win rates as stats improve.   I imagine there are dozens of teams common enough to generate this kind of data.


Variable in getFeature field

firstly i have to apologize for my english, i will try to explain it as well as possible.
I explain a problem that i have and i think it can't resolve easily now. I'm designing a function to create a dynamic legend that depends of the layer displayed like that:
var ModifyLegend = function(){
   var dictionary = {}

   map.getLayers().forEach(function(lyr) {
      var LayerName = lyr.get('name');
      var FeaturesList = lyr.getSource().getFeaturesInExtent(extension);
      for (i=0;i<FeaturesList.length;i++){
         var Value_to_Style = FeaturesList[i].values_.Field; //Here is the problem. I want to take the value of the field I'm interested in
         [...] //the rest of the code store in the dictionary the Value_to_Style if doesn't exist it yet like key->LayerName value->[Value_to_Style(0),Value_to_Style(1),...]
      }
   });

   [...]The rest of the code iterates through the dictionary an its values. For each calls the dictionaries of style like Funct_FillStyle[Value_to_Style(1)], Funct_StrokeStyle[Value_to_Style(1)] to get the properties and create a path with it and the rest of the elements of a legend entry
}

If in the code "FeaturesList[i].values.Field", if there was a way to insert a variable to indicate a different field depending on the visible layer it was solved.

mmm work fine! thank you. I feel dumb!


Serve documents with the correct mime type when using a non-local storage backend

In my models, I have a wagtaildocs.Document field:
svg_mask = models.ForeignKey(
    verbose_name=u"Mask (SVG)",
    to='wagtaildocs.Document',
    null=True,
    blank=True,
    on_delete=models.SET_NULL,
    related_name='+'
)

I would like to serve an svg as an image/svg+xml, not as a stream, when accessing it via its URL. So far, I got the following advice (https://github.com/torchbox/wagtail/issues/1415#issuecomment-112769092):

The streaming behaviour isn't dictated by the mime type.
You can switch it off globally though by installing django-sendfile and adding the following to your settings:
SENDFILE_BACKEND = 'sendfile.backends.simple'

Unfortunately, this did not seem to prevent the streaming. Do you know how I could save this?

Several layers of confusion here, sorry!
"Serving as a stream" means something different to us - for us, it means the response is generated in stages, rather than being constructed in memory up front. You're talking about the mime type application/octet-stream, which is unrelated to that behaviour.
We made several changes to document serving in 1.0b2, including serving them with the correct mime type - however, we've now discovered that these changes are incompatible with remote storage backends such as storages.backends.s3boto.S3BotoStorage. This causes the error you saw in #1415. For now, I've fixed this (in #1417) so that these backends receive the old (1.0b1) behaviour, including the application/octet-stream mime type. We'll try to come up with an improved fix in Wagtail 1.1, so that remote backends use the correct mime type too.

Oh I see :) That makes sense, thank you.

Will be addressed by #1420

Completed in #5296 (which changed the default behaviour of remote storage backends to redirect to the remote URL rather than proxying through Django, meaning that headers are whatever the storage service sends).


Basics/Concurrency: make thread-safe containers Sendable

Motivation:
Splitting up https://github.com/apple/swift-package-manager/pull/6089 into smaller PRs to track down crashes in tests reproducible only on CI.
Modifications:
Made ThreadSafeArrayStore conform to Sendable.

@swift-ci smoke test macOS

@swift-ci smoke test Linux

@swift-ci smoke test macOS

@swift-ci smoke test macOS

@swift-ci smoke test macOS


Problem with scrollable column

So I have this:
Column(
   modifier = Modifier.verticalScroll(rememberScrollState())
) {
   ...
   LazyTable()
}

And this cause the exception.
When I do:
Column(
   modifier = Modifier.verticalScroll(rememberScrollState())
) {
   ...
   LazyTable(
      scrollDirection = LazyTableScrollDirection.HORIZONTAL
   )
}

It's still cause exception.
How so solve it?

Hey 👋
It is forbidden in Compose to nest scrollable containers, that's why you are getting an exception.
What design are you trying to achieve?

Does a table in your case should really be lazy loaded? If no, it wound be much more easily to use some non-lazy table layout.

And what about number of rows? Is it limited? Maybe you could simply replace LazyTable with LazyRow with items laid out as table items.
Or could you share some design / wireframe to better visualise it?

@Monabr Hey 👋 Did you manage to solve your issue?


Merge master-qa

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 4 committers have signed the CLA.:white_check_mark: LucasBrazi06:white_check_mark: OliveGerste:white_check_mark: Namachi06:x: mariansalcedaYou have signed the CLA already but the status is still pending? Let us recheck it.


Add parse_directory

Here is what I used, it is compatible with our existing extractor.
from typing import List, Union
from pathlib import Path
from lxml import etree

def parse_directory(dir_path: Union[str, Path], schema_path: str, ecospold_lookup: etree.CustomElementClassLookup, valid_suffixes: List[str] = (".xml", ".spold")
) -> List[etree.ElementBase]:
    dir_path = Path(dir_path).resolve()
    return [
        es.core.parse_file(file_path=file_path, schema_path=schema_path, ecospold_lookup=ecospold_lookup)
        for file_path in dir_path.iterdir()
        if file_path.is_file()
        and file_path.suffix.lower() in valid_suffixes
    ]

If possible, I would prefer to allow the paths to parse_x to also allow for Path inputs.

09c77fa2dc782bdde89960997bf7d761df596283 added Path and StringIO as argument types for parse_file functions.
68db0c7838dbc258bdde72732aae453f280deb1a added parse_directory functionality. I have basically used your code but set the returned value to be a list of tuples of Path and EcoSpold for utility purposes.


Add Eloquent JavaScript (1er, 2do, 3ra, 4ta Edicion)

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
A link is added to a personal public repository where the 4 editions of the book Eloquent JavaScript are stored.
Why is this valuable (or not)?
It is valuable because it contains the 4 editions released so far, with links to the HTML version and PDFs.
How do we know it's really free?
It is free because it is a book that was created and previously added to this repository, translated by the JavaScript community.
For book lists, is it a book? For course lists, is it a course? etc.
These are all the editions of the Eloquent JavaScript books released to date.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

seems to me the proper 4th edition link is https://www.eloquentjavascript.es/
the 3rd edition is already there
the 2nd and 1st editions are the english ones

Yes, the first and second editions are in English. Should I remove them or just keep the links to the fourth edition in Spanish?

remove the link to your repo and add the direct link for the 4th edition

I have updated the link to the Spanish version of the fourth edition and added a link to the PDF.

Thanks, and welcome to free-programming-books!

You're welcome, I have the fork and will probably make more frequent PRs. I'm about to create a web development course, which will most likely be uploaded here. Thanks for everything, Mr. Eric.


Fixing Docker build issues and adding more docker/config fun

This PR adds a fix for the current Docker build failures (due to enum package not being found). It also adds a split of the docker-compose.yml and a new dev-compose.yml.
The dev-compose.yml file can be used for those doing development where the docker-compose.yml can be used for those simply looking to get Automatron up and running.
Also added some config details into the config.yml file.

Coverage remained the same at 71.179% when pulling 7ddb48ad951598f34f7b8ed4b0a5f81c63e030b5 on fixdocker into 748684311d8c3099061250e7bf77bba67af53c3f on develop.


Dragon's roost data does not update correctly

Describe the bug

Exclamation mark is always visible on Dragon's Roost icon in the Halidom landing page.
Recently Gifted section while in the Dragon's Roost does not update with recently gifted dragons.

Expected behavior

Exclamation mark should not be visible if no gifts are available for the current day.
Recently Gifted section should show the most recently gifted dragons.

Fixed by #566


Policy_Compare_String does not support 'not' comparisons

Do you already have an issue opened with F5 support?
No
ISSUE TYPE

Feature Idea

AS3 BUILD/ VERSION

3.13.1-1

BIGIP VERSION

BIG-IP <IP_ADDRESS> Build 0.25.9 Engineering Hotfix

SUMMARY

LTM Policy Conditions support not logic in the UI, 'is not', 'does not start with', etc. but the AS3 schema for Policy_Compare_String only supports positive matches.

Added to our internal product backlog as AT-758. Thank you for reporting this.

Curious if we can get an update on this feature request?
Thank you

This feature request should be available in the 3.17 release at the end of January.

This should be resolved in the 3.17.0 release. If you are still experiencing a problem, please re-open this issue or create a new one.


serviceaccount is not deleted on managed cluster when ManagedServiceAccount is deleted

related situation, if the serviceaccount on managedcluster is deleted manually a new serviceaccount is not created thus render the managedserviceaccount token non-functional


Using Online Images

Hi - I believe this package requires locally saved files. Is there a way to use image urls without modifying the package? I am using DeepFace.analyze() in a loop on mac OS and it is eating up my storage. I looked into the library files and I am not certain where the issue may be. There are many temp directories on mac and I believe this function is writing files to a temp directory.  I am testing on just 10 images and it is taking 8 gb. When I reset the kernel, my available storage goes back to normal.
The purpose for this is to use on about 23k images. I am only interested in race and gender. I can reduce the analyze() function to return just this and clean race.py and gender.py but this does not improve performance.
So i found out that the issue really is due to having to generate the models over and over in the loop. Employing clear_session and del model helps in this case.

Oke I understand your problem. As you mentioned analyze and verify functions build model from scratch when they are called. I plan to add these function inputs as arrays and in this way I will build models once. This will solve your problem but you should wait the following version of deepface fw.
BTW, single images run well, right?

Hi Yes, single images take some time to run as well. The main thing is that each run is costly to disk space. I made a few changes that improved performance for me:

I silenced tqdm output.

I setup gender_model and race_model outside of the analyze function and referenced them using global within the function

I imported keras.backend and called keras.backend.clear_session() within the analyze function after predicting the gender and race for img

I also used gc.collect() at the end of the analyze function

2 & 3 were critical for me. Now the predictions run considerable faster and disk space isn't being eaten up.

This is a nice solution, I will add this approach in the following version of the framework. Thank you.

This is a new feature instead of an issue.

@abdiallo deepface 0.0.10 version is recently released. In this version, you can pass faces as inputs to verify and analyze functions. Read-me file will guide you how to use this.
Thank you for your feedback to improve the framework.


Installation failure (OpenSuse 15.4)

After unpacking the zip file, I ran python3 wxglade.py as instructed.
This caused a segmentation fault:
Thread 1 "python3" received signal SIGSEGV, Segmentation fault.
0x00007ffff2d4a6cb in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
(gdb)
Here is the full log:
INFO    : Starting wxGlade version "1.0.4" on Python 3.6.15
INFO    : Using wxPython 4.1.1
INFO    : Loading "wconfig" modules from /home/cedric/Downloads/wxGlade-1.0.4/widgets/widgets.txt:
INFO    : Load code generators:
INFO    :   C++ generator loaded
INFO    :   lisp generator loaded
INFO    :   perl generator loaded
INFO    :   python generator loaded
INFO    :   XRC generator loaded
INFO    : Loading widgets from /home/cedric/Downloads/wxGlade-1.0.4/widgets/widgets.txt:
INFO    :       frame
INFO    :       dialog
INFO    :       panel
INFO    :       notebook
INFO    :       splitter_window
INFO    :       button
INFO    :       toggle_button
INFO    :       bitmap_button
INFO    :       spin_button
INFO    :       text_ctrl
INFO    :       choice
INFO    :       combo_box
INFO    :       list_box
INFO    :       check_list_box
INFO    :       checkbox
INFO    :       radio_button
INFO    :       radio_box
INFO    :       spin_ctrl
INFO    :       spin_ctrl_double
INFO    :       slider
INFO    :       gauge
23:15:20: Debug: Adding duplicate image handler for 'Windows bitmap file'
23:15:20: Debug: Adding duplicate animation handler for '1' type
23:15:20: Debug: Adding duplicate animation handler for '2' type
INFO    :       calendar_ctrl
INFO    :       generic_calendar_ctrl
INFO    :       datepicker_ctrl
INFO    :       list_ctrl
INFO    :       tree_ctrl
INFO    :       grid
INFO    :       static_text
INFO    :       hyperlink_ctrl
INFO    :       static_line
INFO    :       static_bitmap
INFO    :       spacer
INFO    :       property_grid_manager
INFO    :       search_ctrl
INFO    :       custom_widget
INFO    :       menubar
INFO    :       toolbar
INFO    :       statusbar
INFO    : Load sizer generators:
INFO    :   for C++
INFO    :   for lisp
INFO    :   for perl
INFO    :   for python
INFO    :   for XRC
Segmentation fault (core dumped)

Could you please try the current version from the repository?
You can download it from https://github.com/wxGlade/wxGlade/archive/refs/heads/master.zip
Probably the issue is fixed. If you confirm that this is working, I will prepare a new release.

also in the REV_1.0 branch

revision 1.0.5 about to be released


Menu Cleanup

Clean up the menu! It's not looking the best.

[x] All menu items should have space between numbers and labels
[x] Space things out a little more
[ ] Clean up box-drawing code
[ ] Use blue for prompts
[ ] "Press any key to go back" where needed

Honestly thought this would be bigger.

Well, it got bigger, but really helped. Hooray for me finally rewriting code!


cost too much performance during debug

when I was debugging in a DataLoader with this plugin, the plugin costed too much performance sothat the program cannot contiune at all.
when I am debugging, the plugin always shows this

Yeah... Probably happens because it was selected in the editor. Maybe I should change the expression evaluation to be lazy, only if the user explicitly requested to show it as an image. Will keep it in mind for the next release.

Thanks！hopes it can be fixed soon

`
Evaluating:
exec("""
try:
_python_view_image_mod
except:
from types import ModuleType
_python_view_image_mod = ModuleType('python_view_image_mod', '')
exec('''def keyvalue(pair):
key, value = pair
return f"{stringify(key)}: {stringify(value)}"

def sanitize(s):
# s.replace("'", "\'").replace('"', '\"')
return s.replace("'", "").replace('"', '')
def stringify(value):
if isinstance(value, list):
return f"[{','.join(map(stringify, value))}]"
elif isinstance(value, tuple):
return f"({','.join(map(stringify, value))})"
elif isinstance(value, dict):
return f"{{{ ','.join(map(keyvalue, value.items())) }}}"
elif isinstance(value, str):
if value.startswith("Value(") or value.startswith("Error("):
return value  # keep Value/Error without wrapping quoted
else:
return f"'{value}'"
elif isinstance(value, Exception):
return f'"{type(value).name}: {sanitize(str(value))}"'
else:
return str(value)
def eval_into_value(func):
try:
return f"Value({stringify(func())})"
except Exception as e:
return f"Error({stringify(e)})"
def same_value_multiple_callables(get_value, funcs):
try:
val = get_value()
return [eval_into_value(lambda: f(val)) for f in funcs]
except Exception as e:
return [f"Error({stringify(e)})"] * len(funcs)
def object_shape_if_it_has_one(obj):
if hasattr(obj, "shape"):
shape = obj.shape
return tuple(shape)
elif hasattr(obj, "width") and hasattr(obj, "height") and hasattr(obj, "getbands"):
bands = "".join(map(str, obj.getbands()))
return {"width": obj.width, "height": obj.height, "channels": bands}
else:
return None
''', _python_view_image_mod.dict)
exec('''
try:
(is_numpy_image, numpy_image_info, numpy_image_save)
except:
try:
try:
import numpy as np
        def numpy():
            def is_numpy_image(img, restrict_types):
                if restrict_types:
                    try:
                        return isinstance(img, np.ndarray)
                    except TypeError:
                        return False
                else:
                    try:
                        img = np.asarray(img)
                        is_image = (img.ndim == 2) or (
                            img.ndim == 3 and img.shape[2] in (1, 3, 4)
                        )
                        return is_image
                    except:
                        return False

            def info(img):
                obj_type = type(img).__name__
                try:
                    img = np.asarray(img)
                    shape = str(img.shape)
                    dtype = str(img.dtype)
                    return {"type": obj_type, "shape": shape, "dtype": dtype}
                except:
                    return {"type": obj_type}

            #
            # Save code
            #
            def standalone_imsave(path, img):
                def preprocess_for_png(img):
                    assert img.ndim >= 2 and img.ndim <= 3
                    has_alpha = img.ndim == 3 and img.shape[2] == 4
                    is_grayscale = img.ndim == 2 or (img.shape[2] == 1)

                    while img.ndim < 3:
                        img = img[..., None]

                    if is_grayscale:
                        img = np.concatenate((img, img, img), axis=2)
                    if not has_alpha:
                        mask = np.full((*img.shape[:2], 1), 0xFF)
                        img = np.concatenate((img, mask), axis=2)

                    return img.astype(np.ubyte)

                # https://gist.github.com/campagnola/0fb74586d38ea1a86e99
                def make_png(data):
                    import numpy as np
                    import zlib
                    import struct

                    assert data.dtype == np.ubyte
                    assert data.ndim == 3
                    assert data.shape[-1] == 4

                    # www.libpng.org/pub/png/spec/1.2/PNG-Structure.html
                    header = bytes.fromhex("89504e470d0a1a0a")  # header

                    def mkchunk(data, name):
                        if isinstance(data, np.ndarray):
                            size = data.nbytes
                        else:
                            size = len(data)
                        chunk = np.empty(size + 12, dtype=np.ubyte)
                        chunk.data[0:4] = struct.pack("!I", size)
                        chunk.data[4:8] = name  # b'CPXS' # critical, public, standard, safe
                        chunk.data[8 : 8 + size] = data
                        chunk.data[-4:] = struct.pack("!I", zlib.crc32(chunk[4:-4]))
                        return chunk

                    # www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.IHDR
                    ctyp = 0b0110  # alpha, color
                    h, w = data.shape[:2]
                    depth = data.itemsize * 8
                    ihdr = struct.pack("!IIBBBBB", w, h, depth, ctyp, 0, 0, 0)
                    c1 = mkchunk(ihdr, b"IHDR")

                    # www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.IDAT
                    idat = np.empty(
                        (h, w * 4 + 1), dtype=np.ubyte
                    )  # insert filter byte at each scanline
                    idat[:, 1:] = data.reshape(h, w * 4)
                    idat[:, 0] = 0
                    c2 = mkchunk(zlib.compress(idat), b"IDAT")

                    c3 = mkchunk(np.empty((0,), dtype=np.ubyte), b"IEND")

                    # concatenate
                    lh = len(header)
                    png = np.empty(lh + c1.nbytes + c2.nbytes + c3.nbytes, dtype=np.ubyte)
                    png.data[:lh] = header
                    p = lh
                    for chunk in (c1, c2, c3):
                        png[p : p + len(chunk)] = chunk
                        p += chunk.nbytes

                    return png

                with open(path, "wb") as fp:
                    fp.write(make_png(preprocess_for_png(img)))

            def prepare_image(img, preprocess_method="normalize"):
                img = np.asarray(img)
                if img.dtype in (bool, np.bool_):
                    img = img.astype(np.uint8)
                if preprocess_method == "skimage.img_as_ubyte":
                    try:
                        from skimage import img_as_ubyte

                        return img_as_ubyte(img)
                    except:
                        return img
                elif preprocess_method == "normalize":
                    img = img - img.min()
                    img = img / img.max()
                    img = img * 255
                    img = img.astype(np.uint8)
                    return img
                else:
                    return img

            def opencv_imsave(path, img):
                import cv2

                cv2.imwrite(path, img)

            def imageio_imsave(path, img):
                import imageio

                imageio.imwrite(path, img)

            def pillow_imsave(path, img):
                from PIL import Image

                img = Image.fromarray(img)
                img.save(path)

            options = {
                "opencv": ("cv2", opencv_imsave),
                "imageio": ("imageio", imageio_imsave),
                "Pillow": ("PIL", pillow_imsave),
                "Standalone": ("numpy", standalone_imsave),
            }

            def try_import(package):
                import importlib
                try:
                    return importlib.import_module(package)
                except ImportError:
                    return None

            def get_function(preferred=None):
                save_function = None

                if preferred is not None and preferred in options:
                    module_test, function = options[preferred]
                    module = try_import(module_test)
                    if module:
                        return function

                for name, (module_test, function) in options.items():
                    module = try_import(module_test)
                    if module:
                        save_function = function
                        break
                return save_function

            def save(path, img, backend, preprocess):
                func = get_function(backend)
                img = prepare_image(img, preprocess)
                func(path, img)

            return is_numpy_image, info, save

        is_numpy_image, numpy_image_info, numpy_image_save = numpy()
    except:
        pass

except:
    pass

''', _python_view_image_mod.dict
)
exec('''
try:
(is_pillow_image, pillow_image_info, pillow_image_save)
except:
try:
try:
import numpy as np
import PIL
import PIL.Image
        def pillow():
            def is_pillow_image(img):
                try:
                    return isinstance(img, PIL.Image.Image)
                except TypeError:
                    return False

            def info(img):
                obj_type = type(img).__name__
                try:
                    img = np.asarray(img)
                    shape = str(img.shape)
                    dtype = str(img.dtype)
                    return {"type": obj_type, "shape": shape, "dtype": dtype}
                except:
                    return {"type": obj_type}

            def save(path, img, *args, **kwargs):
                from PIL import Image
                img.save(path)

            return is_pillow_image, info, save

        is_pillow_image, pillow_image_info, pillow_image_save = pillow()
    except:
        pass
except:
    pass

''', _python_view_image_mod.dict
)
exec('''
try:
is_plotly_figure, plotly_figure_info, plotly_figure_save
except:
try:
try:
from plotly.basedatatypes import BaseFigure
        def plotly_figure():
            def is_plotly_figure(obj):
                try:
                    return isinstance(obj, BaseFigure)
                except TypeError:
                    return False

            def info(obj):
                obj_type = type(obj).__name__
                return {"type": obj_type}

            def save(path, fig, *args, **kwargs):
                fig.write_image(path)

            return is_plotly_figure, info, save

        is_plotly_figure, plotly_figure_info, plotly_figure_save = plotly_figure()
    except:
        pass

except:
    pass

''', _python_view_image_mod.dict
)
exec('''
try:
is_pyplot_figure, pyplot_figure_info, pyplot_figure_save
except:
try:
try:
import matplotlib.pyplot as plt
        def set_matplotlib_agg(to_set):
            if to_set:
                import matplotlib
                matplotlib.use('agg')

        def pyplot_figure():
            def is_pyplot_figure(obj):
                try:
                    return isinstance(obj, plt.Figure)
                except TypeError:
                    return False

            def info(obj):
                obj_type = type(obj).__name__
                return {"type": obj_type}

            def save(path, fig, tight=False, dpi=150, *args, **kwargs):
                if fig is None:
                    fig = plt.gcf()
                if tight:
                    fig.tight_layout()
                fig.savefig(path, dpi=dpi)

            return is_pyplot_figure, info, save

        is_pyplot_figure, pyplot_figure_info, pyplot_figure_save = pyplot_figure()

        def pyplot_axes():
            def is_pyplot_ax(obj):
                try:
                    return isinstance(obj, plt.Axes)
                except TypeError:
                    return False

            def info(obj):
                obj_type = type(obj).__name__
                return {"type": obj_type}

            def save(path, ax, tight=False, dpi=150, *args, **kwargs):
                from matplotlib.transforms import Bbox

                fig = ax.figure
                if tight:
                    fig.tight_layout()
                renderer = fig.canvas.get_renderer()
                items = []
                items += ax.get_xticklabels() + ax.get_yticklabels()
                items += [ax, ax.title]
                bbox = Bbox.union(
                    [item.get_window_extent(renderer=renderer) for item in items]
                )
                extent = bbox.transformed(fig.dpi_scale_trans.inverted())
                fig.savefig(path, bbox_inches=extent, dpi=dpi)

            return is_pyplot_ax, info, save

        is_pyplot_ax, pyplot_ax_info, pyplot_ax_save = pyplot_axes()
    except:
        pass

    set_matplotlib_agg(True)
except:
    pass

''', _python_view_image_mod.dict
)
exec('''
try:
is_pyplot_ax, pyplot_ax_info, pyplot_ax_save
except:
try:
try:
import matplotlib.pyplot as plt
        def set_matplotlib_agg(to_set):
            if to_set:
                import matplotlib
                matplotlib.use('agg')

        def pyplot_figure():
            def is_pyplot_figure(obj):
                try:
                    return isinstance(obj, plt.Figure)
                except TypeError:
                    return False

            def info(obj):
                obj_type = type(obj).__name__
                return {"type": obj_type}

            def save(path, fig, tight=False, dpi=150, *args, **kwargs):
                if fig is None:
                    fig = plt.gcf()
                if tight:
                    fig.tight_layout()
                fig.savefig(path, dpi=dpi)

            return is_pyplot_figure, info, save

        is_pyplot_figure, pyplot_figure_info, pyplot_figure_save = pyplot_figure()

        def pyplot_axes():
            def is_pyplot_ax(obj):
                try:
                    return isinstance(obj, plt.Axes)
                except TypeError:
                    return False

            def info(obj):
                obj_type = type(obj).__name__
                return {"type": obj_type}

            def save(path, ax, tight=False, dpi=150, *args, **kwargs):
                from matplotlib.transforms import Bbox

                fig = ax.figure
                if tight:
                    fig.tight_layout()
                renderer = fig.canvas.get_renderer()
                items = []
                items += ax.get_xticklabels() + ax.get_yticklabels()
                items += [ax, ax.title]
                bbox = Bbox.union(
                    [item.get_window_extent(renderer=renderer) for item in items]
                )
                extent = bbox.transformed(fig.dpi_scale_trans.inverted())
                fig.savefig(path, bbox_inches=extent, dpi=dpi)

            return is_pyplot_ax, info, save

        is_pyplot_ax, pyplot_ax_info, pyplot_ax_save = pyplot_axes()
    except:
        pass

    set_matplotlib_agg(True)
except:
    pass

''', _python_view_image_mod.dict
)
exec('''
try:
is_numpy_tensor, numpy_tensor_info, numpy_tensor_save
except:
try:
try:
import numpy as np
import skimage.util
import skimage.io
from skimage import img_as_ubyte
        def numpy_tensor():
            def is_numpy_tensor(obj):
                valid_channels = (1, 3, 4)
                try:
                    is_valid = isinstance(obj, np.ndarray)
                    is_valid &= len(obj.shape) in (3, 4)
                    if len(obj.shape) == 3:
                        pass
                    elif len(obj.shape) == 4:
                        is_valid &= obj.shape[3] in valid_channels
                    return is_valid

                except TypeError:
                    return False

            def info(obj):
                obj_type = type(obj).__name__
                try:
                    obj = np.asarray(obj)
                    shape = str(obj.shape)
                    dtype = str(obj.dtype)
                    return {"type": obj_type, "shape": shape, "dtype": dtype}
                except:
                    return {"type": obj_type}

            def save(path, obj, normalize=True, pad=10, *args, **kwargs):
                is_color = obj.ndim == 4
                if is_color:
                    pad_value = (1.0,) * obj.shape[-1]
                else:
                    pad_value = 1.0
                montage = skimage.util.montage(
                    obj.copy(),  # avoid modifying the input object
                    fill=pad_value,
                    rescale_intensity=normalize,
                    padding_width=pad,
                    multichannel=is_color,
                )
                skimage.io.imsave(path, img_as_ubyte(montage), check_contrast=False)

            return is_numpy_tensor, info, save

        is_numpy_tensor, numpy_tensor_info, numpy_tensor_save = numpy_tensor()
    except:
        pass

except:
    pass

''', _python_view_image_mod.dict
)
exec('''
try:
is_torch_tensor, torch_tensor_info, torch_tensor_save
except:
try:
try:
import torch
        def torch_tensor():
            def is_torch_tensor(obj):
                valid_channels = (1, 2, 3, 4)
                try:
                    is_valid = isinstance(obj, torch.Tensor)
                    is_valid &= len(obj.shape) in (2, 3, 4)
                    if len(obj.shape) == 2:
                        pass
                    elif len(obj.shape) == 3:
                        is_valid &= obj.shape[0] in valid_channels
                    elif len(obj.shape) == 4:
                        is_valid &= obj.shape[1] in valid_channels
                    return is_valid
                except:
                    return False

            def info(obj):
                obj_type = type(obj).__name__
                try:
                    shape = str(tuple(obj.shape))
                    dtype = str(obj.dtype)
                    return {"type": obj_type, "shape": shape, "dtype": dtype}
                except:
                    return {"type": obj_type}

            def save(path, obj, normalize=True, pad=10, *args, **kwargs):
                import torchvision

                pad_value = 255
                torchvision.utils.save_image(
                    obj.float(),
                    path,
                    normalize=normalize,
                    pad_value=pad_value,
                    padding=pad,
                )

            return is_torch_tensor, info, save

        is_torch_tensor, torch_tensor_info, torch_tensor_save = torch_tensor()
    except:
        pass
except:
    pass

''', _python_view_image_mod.dict
)
"""
)
did not finish after 3.00 seconds.
`
new message showed up😂

This is the code I'm executing. Most of the cases, it should not take much long to run. Apparently, there are cases it is. My first guess would be importing torch, but it can be something else.
You can try executing it yourself and see what causes the long execution.
I'll consider making it smarter (e.g. lazy importing), but I'll have to figure out first what causes this.

I found that this problem will appear when debugging in multi threads, especially in debugging dataloader of pytorch

Thanks for checking it out!
If you have minimal example which I can reproduce it, it would be helpful. In any case I'll try to reproduce it by myself.
BTW I published a new (pre-release) version, in which I modified some of the relevant code. I didn't try to fix any performance issues directly, but maybe some of the fixes can help nontheless.
I have another idea of something that can help, and it easy to try out.
Add a breakpoint at the beginning of the script, somewhere in the global scope (e.g. right after the imports). Then, continue the debug as before.
What I'm trying to achieve is to run the "setup" of the extension in the global scope so it won't need to run it again at the local scope. If it helps, please let me know and I can adjust my code to do it by default.

ok, which version can I try the new feature?

v3.0.17 is the latest. you have to click "switch to pre-release" in the extension page in vscode

it doesn't work

the problem disappeared when restrictImageTypes, but in this way, I cannot watch tensor

Ok. This is very helpful. I think you caught a bug! restrictImageTypes ensure that we don't try to convert arbitrary values to numpy (helps with performace...). But it does not mean that tensors should be unavailable (so the bug is that they're unavailable!).
I'll try to fix it soon.

👍hope you can fix soon

type = torch.tensor
dtype = torch.float32
shape = (16, 3, 96, 96)
I use that in debug pannel

@elazarcoh I also see this bug happaning when debuging torch train loops. but specifically I'm in a stack frame (function) that doesn't even have tensors (only 2 np arrays size 10kX600. maybe this happans even if tensors and dataloader exist in other frames?

I don't know what might be the cause, might be a bit hard to debug..
Can it be replicated with a minimal example, or does it happen only in more complex cases?


old svg icons differ from new ones

just saw that our old svg circle icons have a white background while ournew ones are ...translucent?!

also tbh i like the ones with the white background even better

Good catch, of course all should have the same characteristics. I think it makes more sense for them to have transparent (=no) background. Alternatively, we could use a variable so we can style the 'inner' background, but that is more work


Remove myself from maintainers

Description of changes
Removing myself from maintainers-list.nix and the two packages I was still listed as a maintainer for.

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@matthiasbeyer I don't think that should be a blocking change for this PR. It would be better to create a new PR.

Agreed.


feat: Add resusable action to set app config with happy config

Add a new github action to set app configs with happy config

Any workflow / step that uses this action needs to have permission to write the id-token
permissions:
  id-token: write

Is there a way to document or enforce this in the action?

I originally developed this in czid-graphql-federation-server/pull/52.  If we end up merging it here, I'll switch that repo to use this action instead.


Panic: "There is no reactor running, must be called from the context of a Tokio 1.x runtime"

Hi there!
I've just set up a first application with smol, which basically looks like this:
fn main() {
    smol::block_on(test_async_fn())
}

When I run the application, I get the following output:
thread 'main' panicked at 'there is no reactor running, must be called from the context of a Tokio 1.x runtime', /home/<username>/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.18.2/src/runtime/context.rs:21:19

Do you have any idea what this is caused by?
Thanks in advance!

As the panic message suggests, your async function requires a tokio runtime and can't run on smol. You're using something inside the async function that only works with tokio.

Oh, I thought the problem was coming from smol. I'm using reqwest so maybe that's where the problem comes from, I'll check this out.
Thanks for your help!

reqwest requires tokio, yes


Support for host-local IPAM with VXLAN encapsulation

Expected Behavior

Ability to use host-local IPAM with VXLAN encap provided by Calico
Current Behavior

VXLAN is not supported with host-local IPAM. We need a way to allocate tunnel addresses.
Possible Solution

Allocate a tunnel address and assign it to the tunnel!

Dear @caseydavenport , I have the following errors in calico logs ,  the calico is configured with IPIP mode. could you please let me know why the below logs indicates that, thank you
2021-06-23T15:35:45.710195596Z 2021-06-23 15:35:45.710 [INFO][86] route_table.go 342: Interface missing, will retry if it appears. ifaceName="vxlan.calico" ipVersion=0x4
2021-06-23T15:35:45.710211513Z 2021-06-23 15:35:45.710 [INFO][86] int_dataplane.go 967: Finished applying updates to dataplane. msecToApply=0.450813
2021-06-23T15:35:45.817515011Z 2021-06-23 15:35:45.817 [INFO][86] int_dataplane.go 953: Applying dataplane updates
2021-06-23T15:35:45.817918117Z 2021-06-23 15:35:45.817 [INFO][86] route_table.go 780: Failed to access interface because it doesn't exist. error=Link not found ifaceName="vxlan.calico" ipVersion=0x4
2021-06-23T15:35:45.817939559Z 2021-06-23 15:35:45.817 [INFO][86] route_table.go 662: Failed to get interface; it's down/gone. error=Link not found ifaceName="vxlan.calico" ipVersion=0x4
2021-06-23T15:35:45.817961453Z 2021-06-23 15:35:45.817 [INFO][86] route_table.go 342: Interface missing, will retry if it appears. ifaceName="vxlan.calico" ipVersion=0x4
2021-06-23T15:35:45.818054212Z 2021-06-23 15:35:45.817 [INFO][86] int_dataplane.go 967: Finished applying updates to dataplane. msecToApply=0.562515

@AlexShu88 please open a new issue if you're encountering a problem.


[Text Translation] Update the from_parameter

Description
Update the from_parameter to from_language.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-translation-text


Is it possible to update danbooru.csv?

The available csv data is limited to 2022, and danbooru has shut down their api, but there is a dataset on Huggingface: danbooru2023, and these json files seem to contain tag-related information.

https://huggingface.co/datasets/nyanko7/danbooru2023/tree/main/metadata

Unfortunately, I know next to nothing about programming, and there doesn't seem to be any software here that can easily extract the required data in a code-free manner.

Considering when the SDXL model was introduced, a model based on SDXL fine-tuning should have been trained using a lot of data from 2023.

And danbooru's tag database (mainly post count) also seems to have been updated on a fairly large scale during the year.

Using post count to determine if the concept of the tag was able to be trained into the model to make it comprehensible should work for most large dataset models.

That's it, thanks for developing this extension, it's quite useful.

Thanks for the link, I will take a closer look at it later. From a quick glance, it seems to be similar enough in structure to the data I originally used. I just need to convert it for the extension.
I'll compare it to the current dataset and determine if it's worth updating regarding post count changes and new tags. Many of the new tags will have very little post counts though and would not be included anyway, but the count changes to existing tags should be no problem.


Documentation link not working

README refers to:

PCA documentation and tutorials are available here: Post Call Analytics

But the link is broken

This has been fixed.


Add YandexGPT LLM and Chat model

Description: Introducing an ability to work with the YandexGPT language model.

@tyumentsev4 Can you, also add your Twitter account to the PR description. So we can promote you on Twitter? TNX!

Thanks for the review, @leo-gan!

@tyumentsev4 Can you, also add your Twitter account to the PR description. So we can promote you on Twitter? TNX!

Thanks for the suggestions, but I don't use Twitter.

@leo-gan @baskaryan Can I get a lgtm label?

thanks @tyumentsev4!


Add a way to resize properties window

At the moment, properties window of a point is fixed size. This is a bit annoying if point has a lot of properties since user has to scroll:

It would be useful if there was a way to resize window (or have it resize automatically up to certain point) to show all properties at once.

Please see the readme.