🎉🎊🍾 [New Feature] Support parsing and processing nested object type JavaScript data object.

Target

Support parsing and processing nested object type JavaScript data object.

Effecting Scope

Nothing. Support new feature without any breaking changes.

Description

Support parsing and processing object type JavaScript data.
Support parsing and processing nested object type JavaScript data.
Modify the expected test data in unit tests.

The duplicated issue by SonarQube is the codes which uses common functions from base data model. So ignore it here and merge the PR.


Added a keepAlive setting

for config command restricted servers (etc. ElastiCache)
http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/ClientConfig.html

BookSleeve/RedisConnection
https://code.google.com/p/booksleeve/source/browse/BookSleeve/RedisConnection.cs
        /// <summary>
        /// Configures an automatic keep-alive PING at a pre-determined interval; this is especially
        /// useful if CONFIG GET is not available.
        /// </summary>
        public void SetKeepAlive(int seconds)
        {
            keepAliveSeconds = seconds;
            StopKeepAlive();
            if (seconds > 0)
            {
                Trace("keep-alive", "set to {0} seconds", seconds);
                timer = new System.Timers.Timer(seconds * 500); // check twice in the interval; Tick will decide which (if either) to use
                timer.Elapsed += (tick ?? (tick = Tick));
                timer.Start();
            }
        }

If keepAlive not set, call to config command.
but ElastiCache is restricted.
        /// <summary>
        /// Called during connection init, but after the AUTH is sent (if needed)
        /// </summary>
        protected override bool OnInitConnection()
        {
            var result = base.OnInitConnection();

            if (keepAliveSeconds < 0) // not known
            {
                var options = GetConfigImpl("timeout", true);
                options.ContinueWith(x =>
                {

redis setting for test (redis.conf)
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
 or
rename-command CONFIG ""

Yes, Thank you!


modules: add importTOML as a specialArg

this would allow modules to import toml files in an imports line
{ importTOML, ... }: {
  imports = [ (importTOML ./devshell.toml) ];
}

What was the reason to abandon the lib idea? I had a quick look at importToml and it seems it only depends on pkgs in a way that can be circumvented.
Wouldn't we gain an opportunity to achieve the same thing more obviously?
imports = [ (devshell.lib.importTOML ./devshell.toml) ];

I thought, since it is only lib.hasPrefix and lib.hasSuffix, I thought for the sake of making this a library function inlining those implementations might actually be an option. What do you think?

Sounds good. The devshell importTOML is also a bit more featureful as it supports importing itself.

Cool then we can do #117 instead of this PR.

closing in favor of #117


Add support creating Beaker jobs using job-group key for mrack

Pull Request Checklist

[x] implement the feature
[ ] write the documentation
[ ] extend the test coverage
[ ] update the specification
[ ] adjust plugin docstring
[ ] modify the json schema
[ ] mention the version
[x] include a release note

Fix:https://github.com/teemtee/tmt/issues/3392 :)


Add benchmark for SpanConcentrator

What does this PR do?
Add benchmark to concentrator to allow future otpimizations
Motivation
The concentrator is lacking some optimizations, this will make it easier to evaluate improvement.
Additional Notes
Anything else we should know when reviewing?
How to test the change?
Describe here in detail how the change can be validated.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 72.81%. Comparing base (24bdc13) to head (9e248e0).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #603      +/-   ##
==========================================
+ Coverage   72.80%   72.81%   +0.01%
==========================================
  Files         243      243
  Lines       34681    34664      -17
==========================================
- Hits        25249    25242       -7
+ Misses       9432     9422      -10

Components
Coverage Δ

crashtracker
20.44% <ø> (ø)

datadog-alloc
98.73% <ø> (ø)

data-pipeline
90.12% <ø> (ø)

data-pipeline-ffi
0.00% <ø> (ø)

ddcommon
82.11% <ø> (ø)

ddcommon-ffi
68.11% <ø> (ø)

ddtelemetry
59.02% <ø> (ø)

ipc
84.00% <ø> (ø)

profiling
84.26% <ø> (ø)

profiling-ffi
77.42% <ø> (ø)

serverless
0.00% <ø> (ø)

sidecar
40.18% <ø> (ø)

sidecar-ffi
0.00% <ø> (ø)

spawn-worker
50.18% <ø> (ø)

tinybytes
91.66% <ø> (ø)

trace-mini-agent
70.88% <ø> (ø)

trace-normalization
98.25% <ø> (ø)

trace-obfuscation
95.73% <ø> (ø)

trace-protobuf
77.67% <ø> (ø)

trace-utils
93.42% <ø> (+0.41%)
:arrow_up:


Wrong code

In the Disabled rules section, we have given CLI commands whereas this page is for PowerShell commands. I've updated it with the right commands.

@surajmb : Thanks for your contribution to the Azure documentation! The author, @davidmu1, has been notified to review your proposed change.


Tween.is_valid() doesn't work on a null value - but Tweens are expected to be

Tested versions

Reproducible in all Godot 4.0 builds as far as I can tell, Including specifically 4.0-stable, 4.2.1-stable, 4.3-dev5

System information
Godot v4.2.1.stable - Void #1 (Linux)
Issue description
We'll start here: I have a class that creates a number of instances. I would like to be able to animate each instance separately when needed. To this end, the class has a tween variable, so that x.tween can be animated separately from y.tween. Sometimes these animations need to be ended early.
Following the docs, it is suggested to use if tween: tween.kill() to stop animations if needed. This works really well if it's the first statement within the Tween's scope, because var tween: Tween starts as <null>. It becomes tricky when this is no longer the case.
As far as I can tell: Tweens are returned to <null> when the scene changes or the node is freed, but if neither happens the object just sticks around.
tween.is_valid() is incomplete because of this, because it will not work on a null value - which happens regularly to tweens. if tween: is also incomplete on its own as any tween that has been killed but not removed from scope returns true.
A brief example where tween is expected to be gone, but comes up true:
#Tween is killed but still in scope
if not tween: #tween still referenced, returns true
    tween = create_tween()
    tween_stuff()
#no tween has been created
await tween.finished

A brief example where tween is expected to not exist, but does:
if true:
   tween.kill()
if tween: #tween still exists, so this is true
    await tween.finished #nothing to wait for
    #code expecting a finished tween
#Unreachable code point

A brief example where tween.is_valid() doesn't work:
var tween: Tween

func main():
    if not tween.is_valid():
        tween = create_tween()

I think either problem would be fine alone, but together they're quite bothersome.
I can think of some solutions that would work well:

tween.kill() also returns the variable and attached tweeners to <null>. I think this fits best with the current documentation, and with the idea that Tweens aren't really supposed to be reused, so the variable is just there for the developer.

tween.is_valid() returns false for anything that's not a valid tween. As it is, I can't think of any uses-cases for is_valid() where you wouldn't want it to also to return false for a null value.

Steps to reproduce
I've included a really simple MRP, but I'm sure you'd be able to reproduce without. A class with a single variable tween, a method to interrupt tweening, and a method to rotate said class. Then another script for the scene that consists of a _ready() function that creates two instances of the class, gives them the icon.svg and a position. Rotates both, interrupts one of the instances, tries to rotate it again, and then awaits both finishing.
The first icon will finish the complete animation. The second will not, and displays a message "Tween is already rotating" when it is not rotating, and demonstrates an unreachable codepoint by trying to await the killed tween. Just press play. And then manually end it when you get bored, because the await cannot reach the endpoint.
This MRP does not cover the is_valid() issue - but it can be replicated by simply using is_valid() before a tween is created.
Minimal reproduction project (MRP)
tween.zip
I know this is really simple, but that should demonstrate how quickly this can cause issues

This would be better suited to a proposal, and I agree that the tween interface could be more intuitive...
But anyway, examples that might help:
# I want to create a new tween replacing any existing one
if tween:
  tween.kill()
tween = create_tween()
tween_stuff()

# I want to create a new tween only if one isn't already playing
if not (tween and tween.is_running()):
  tween = create_tween()
  tween_stuff()

This isn't really possible as you can't call anything on a null, you should just do:
if not (tween and tween.is_valid()):

It applies to all Objects, not just Tween. Calling methods on a null object is an error. You can check with if not obj (null) or if obj (not null).
For Tweens, I usually do:
var tween: Tween

func some_method():
    if tween and tween.is_running():
        tween.kill()

    tween = create_tween()
    # setup the tween here...

But the downside is that the Tween object won't be freed when done. So a better way is to use a weak reference:
var tween_ref := WeakRef.new()

func some_method():
    var tween := tween_ref.get_ref() as Tween
    if tween and tween.is_running():
        tween.kill()

    tween = create_tween()
    # setup the tween here...

    tween_ref = weakref(tween)

if tween and tween.is_running():

The is_running() check can be omitted. kill() is no-op on invalid Tween.


Update index.js

In old verison didnt work dota2.exit();

ACK

RIP, i missed this one.

you want me to add it to my PR on dev too?

Thanks. The merge would have caught it too. :)


FormData fromMap in UNO

How to migrate this information format from DIO to UNO

Check the documentation:

I followed the documentation as described, but I was unable to transcribe the following method to UNO.
O ERRO: 'UnoError: Data body isn`t a json. Please, use other [ResponseType] in request.

I followed the documentation as described, but I was unable to transcribe the following method to UNO.
O ERRO: 'UnoError: Data body isn`t a json. Please, use other [ResponseType] in request.

This error is related to the return of data.
The return, by default is a json, if you prefer a different type of json (coming from your backend) then you must change the ResponseType

Check v1.1.1

Thanks @ jacobaraujo7, but when I tried to use UNO it showed Scheme not starting with alphabetic character &https://url.com is showing Ampersand before https. I'm analyzing what could have happened.

Thanks @ jacobaraujo7, but when I tried to use UNO it showed Scheme not starting with alphabetic character &https://url.com is showing Ampersand before https. I'm analyzing what could have happened.

Thanks @ jacobaraujo7, but when I tried to use UNO it showed Scheme not starting with alphabetic character &https://url.com is showing Ampersand before https. I'm analyzing what could have happened.

Thanks @ jacobaraujo7, but when I tried to use UNO it showed Scheme not starting with alphabetic character &https://url.com is showing Ampersand before https. I'm analyzing what could have happened.

Thanks @joaojsrbr and @brunobmorais
Fixed.
Version 1.1.2 published

As said in the comment above, resolved in version 1.1.2, so I will close this issue.


Set startup projects

It would be really usefult to be able to configure the command line options together with the visual studio startup projects.

I agree. When I was working on game development our debugging environment was controlled by the startup command line arguments. I've found that working on Visual Studio extensions is the opposite - the command line rarely changes but the startup executable frequently does.


Ray/Shapecast a single shape by ID

In v2.4 I was able to collect a list of fixtures, and then raycast their shapes directly, without needing to know the shape type. It looks like there isn't a way to do this currently.
My use case was some basic line of sight checking for targeting. I would use QueryAABB to get everything in range of an object, filtering everything into two lists: fixtures marked as "hurtboxes," and fixtures marked as capable of blocking line of sight. Then to find the closest valid target, I would use body positions to determine a ray, and cast against anything in the "block line of sight" list; continually adjusting the maxFraction from any hits, before finally using that possibly-shorter ray to cast against the "hurtbox" fixtures to see if they still hit.
Probably not the most accurate approach, but it worked well enough for my use. With v3 adding b2World_OverlapPolygon, I am wondering if a visibility polygon approach might be more accurate and efficient. But I still think it would be beneficial to have something like a b2Shape_RayCast function. This could possibly also apply to shapecasting.

#119


[Epic] Early adoption - phase IV

This epic refers to the effort which is spent towards helping customers and partners to migrate their existing applications

This issue is closed as the project is no longer maintained


Fix the functions/methods signatures

After version v3.0.0-alpha.3 was release, there is still a bug on displaying scalar return type. Not nullable types (int, bool, ...) is missing from the output HTML while the nullable types (?int, ?bool, ...) is displayed incorrectly as int, bool, ...
For example, this is a test input file:
<?php

class Foo {
	public function getInt(): int {return 1;}
	public function getOptionalInt(): ?int {return null;}
}

With the v3.0.0-alpha.3 release, the output document is:

With this PR, the output document is

This PR also fixes #2020

Thanks for this PR. Before I can merge this I need to update the other templates and add a note for other template developers that the need to update their templates.

I checked the code that should provided the types. But I think we discovered a bc break here.
Thanks for pointing us on this break. We fixed it in the code so templates don't need changes right now.
The current version in develop should not have this issue any more.


azure - set account_id during init

#3044
This has the effect of caching the session at init always.  I verified the session isn't instantiated "extra" times at all, and I verified that this does not run during a custodian validate
I was going to refactor session instead to do this without requesting a token at initialization, but I wasn't able to figure out how to do this and also support CLI auth as they bundle the token retrieval in with the current subscription information.
In practice, this seems to work well anyway....

the one other place worth testing with this pr is c7n-org


Error handling: Setup global error handling to recover from bugs/crashes

As a user, I would like that Monokle, whenever possible, recovers after minor errors and crashes

[ ] Monokle should be able to recover gracefully from bugs and crashes
[ ] Gather the error information and send it back (?)
[x] #1722

Design for this: https://www.figma.com/file/fq8nw9sPHl6AVaa12R75Z4/%231721-Add-top-level-error-boundary?node-id=0%3A1

Closed by https://github.com/kubeshop/monokle/pull/1715


WIP: CNV-38819: Update kubevirt metric names

📝 Description
Backport of https://github.com/kubevirt-ui/kubevirt-plugin/pull/1732
Jira: https://issues.redhat.com/browse/CNV-38819

Replaced by https://github.com/kubevirt-ui/kubevirt-plugin/pull/1816


Update Test Generation Service to honor Scenario and Unique bench(s) thereof

In the generate function we need to do the below work...
In GenerateService.cs...
//TODO this needs based on the strScenario that is passed to this method.
//The scenario will define which "bench" is in use, hence the positions and then calculate and return.
//In the razor page we will get an object that contains the structure of the bench and the vendors in those
//positions.

In progress, work will be in branch "issue_4".


Installation process fails due to permissions

 bgolder@bgolder  ~/projects/wand   master  npm install
npm ERR! Error: EACCES, mkdir '/Users/bgolder/.npm/socket.io/1.3.6'
npm ERR!  { [Error: EACCES, mkdir '/Users/bgolder/.npm/socket.io/1.3.6']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/bgolder/.npm/socket.io/1.3.6',
npm ERR!   parent: 'karma' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 14.4.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/bgolder/projects/wand
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.5.0-alpha-1
npm ERR! path /Users/bgolder/.npm/socket.io/1.3.6
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/Users/bgolder/.npm/socket.io/1.3.6'
-
><EMAIL_ADDRESS>install /Users/bgolder/projects/wand/node_modules/phantomjs
> node install.js

Downloading https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-macosx.zip
Saving to /var/folders/dw/tgqxjs552_g1bwdlqy8hffsh0000gn/T/phantomjs/phantomjs-1.9.8-macosx.zip
Receiving...
  [=====================================---] 93% 0.0s
Received 9187K total.
Extracting zip contents
Removing /Users/bgolder/projects/wand/node_modules/phantomjs/lib/phantom
Copying extracted folder /var/folders/dw/tgqxjs552_g1bwdlqy8hffsh0000gn/T/phantomjs/phantomjs-1.9.8-macosx.zip-extract-1437158142399/phantomjs-1.9.8-macosx -> /Users/bgolder/projects/wand/node_modules/phantomjs/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /Users/bgolder/projects/wand/node_modules/phantomjs/lib/phantom/bin/phantomjs
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/bgolder/projects/wand/npm-debug.log
npm ERR! not ok code 0

This is an environment issue. Node packages are installed in ~/.npm/ by default. Packages that are installed there via sudo will retain ownership by root. Packages installed there without sudo will by owned by the default user and group. Therefore different libraries may
Since npm installs multiple versions under the same library folder, if you try to install a new version of a library that was previously installed via sudo, you may encounter this error. In my case, I had installed socket.io sometime ago using sudo, thus its permissions were set to root.
To fix this, I used
sudo chown -R $USER:$GROUP ~/.npm

found here

Related:
npm install -g grunt-cli

Will likely run into similar problems.
Using
sudo chown -R $USER:$GROUP /usr/local/lib/node_modules

allowed me to install without sudo.


Fix eclipselsp workspace config

Fixes command line used to start eclipselsp to set workspace correctly. Also adds a conf variable to set a specific eclipse workspace path.
Fixes #2519

@hsanson Thank you so much for this.
I have spent hours and hours trying to figure out what was wrong with my setup and right after I posted this you came up with a solution right away.
Just tested pulling these changes and opening up a Java+Gradle project and can confirm Gradle gets triggered, the dependencies get downloaded and third-party libraries now have auto-completion and hover support.
Keep up the good work!

You'll have to rebase this now. While you're at it, add ale#Escape() to all of the paths used in the command, or the command can fail if any of the paths contain spaces, etc.

@GrimKriegor thanks for reporting. This allows me to find out issues that require attention.

@w0rp rebased and added ale#Escape() to all paths in the command.

I'll merge this, though I have a question. If the workspace path is empty, and we pass -data '' to the command, will it still work? If it doesn't, we should probably check if the workspace path is empty and return '' so no command is run instead.

Cheers! :beers:


how do I uninstall userena

I've moved onto a different authentication system and want to know how I remove userena completely. I am able to remove all references from within settings but I get errors when trying to delete an existing user....
update or delete on table "auth_user" violates foreign key constraint "guardian_userobjectpermission_user_id_fkey" on table "guardian_userobjectpermission"
DETAIL:  Key (id)=(157) is still referenced from table "guardian_userobjectpermission".
How do I go about removing userena altogether while keeping my users. Do I need to drop tables userprofile and guardian_userobjectpermission?

yes, you should drop tables that are not required anymore. Have you tried django sqlclear command?

I assume you solved your problem.

Sure did.

On May 22, 2015, at 7:22 AM, Michał Jaworski<EMAIL_ADDRESS>wrote:
I assume you solved your problem.
—
Reply to this email directly or view it on GitHub.


Fixed styling for tollbar filter inputs.

Changes

adjusted styling for filter elements on toolbars

Before

After

Codecov Report

Merging #158 into master will decrease coverage by 0.23%.
The diff coverage is 76.92%.

@@            Coverage Diff            @@
##           master    #158      +/-   ##
=========================================
- Coverage   82.44%   82.2%   -0.24%
=========================================
  Files          85      86       +1
  Lines         809     815       +6
  Branches       68      68
=========================================
+ Hits          667     670       +3
- Misses        128     131       +3
  Partials       14      14

Impacted Files
Coverage Δ

...al-components/portfolio/portfolio-order-toolbar.js
100% <100%> (ø)
:arrow_up:

...ntational-components/shared/filter-toolbar-item.js
100% <100%> (ø)
:arrow_up:

src/constants/select-styles-override.js
66.66% <66.66%> (ø)

Continue to review full report at Codecov.

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


Define Kubeflow 1.9 Roadmap for Model Registry

For Kubeflow 1.9 roadmap needs to be defined.

Per the Model Registry proposal document, bring in the usage of the ml-metadata project as the initial repository to build a Model Registry.
Build an API Server for supporting the client tools/UI to interact with Model Registry.
Build Operator/Helm Chart to deploy the components of Model Registry into Kubernetes

drafting so far:

What version of Notebooks would you like to include for the 1.9 release?

no specific version required, there is a MR Python client on PyPI: https://pypi.org/project/model-registry/

Could you provide a branch/tag for this version? (note: It doesn't have to be final)

we will likely tag an alpha version, once ready from default branch (into specific branch if needed for branching-out).

Can you share a link to all open / work in progress issues that you're expecting to include in the 1.9?

we need to uplift odh repo here as upstream
https://github.com/opendatahub-io/model-registry/issues/269
service mesh
OPTIONAL. https://github.com/opendatahub-io/model-registry/issues/262

If you're using the following dependencies, could you provide the versions you'll be supporting for each dependency?

Knative (not used)
Istio (need details)
Kubernetes (no specific version? we will check for tested version)
Cert-Manager (no specific version? we will check for tested version)
Kustomize (no specific version? we will check for tested version)

/assign @tarilabs

updated drafting so far:

What version of Notebooks would you like to include for the 1.9 release?

no specific version required, there is a MR Python client on PyPI: https://pypi.org/project/model-registry/

Could you provide a branch/tag for this version? (note: It doesn't have to be final)

we will likely tag an alpha version, once ready from default branch (into specific branch if needed for branching-out).

Can you share a link to all open / work in progress issues that you're expecting to include in the 1.9?

we need to uplift odh repo here as upstream: see https://github.com/kubeflow/model-registry/pull/6 or analogous being actioned on
https://github.com/opendatahub-io/model-registry/issues/269
service mesh (Note: look for Istio confirmation)
OPTIONAL. https://github.com/opendatahub-io/model-registry/issues/262

If you're using the following dependencies, could you provide the versions you'll be supporting for each dependency?

Knative (not used)
Istio (need details)
Kubernetes (no specific version? we will check for tested version)
Cert-Manager (no specific version? we will check for tested version)
Kustomize (no specific version? we will check for tested version)
maybe check the MR tests have gone through the KF1.9 supported versions?
KF 1.9 version matrix tracker:

https://github.com/kubeflow/manifests/issues/2613

@tarilabs  @rareddy Could we update the first comment of this issue with a checklist of items you want to address in this release? Since this is a new component, it would be very good to have an exec summary of what users can expect to experience with the first (alpha?) release.

I would suggest creating a separate "Roadmap" issue outlining the high-level the roadmap throughout the next months and releases, since it seems like this was discussed extensively in meetings. Also, let's think about how we can onboard new users to the Model Registry once we release 1.9. Most importantly:

Documentation plan
Installation plan (As a Day 2 operation I guess)

Hello @rareddy @tarilabs, this is a kind reminder that Monday, March 4th will be our Kubeflow 1.9 release development checkpoint, we will be halfway through our dev cycle, and we expect most of the work to be well underway (reminder: code freeze is scheduled for Apr 15th)
Can you please acknowledge your status with respect to your roadmap, comment on the progress made so far, and provide an assessment of the work that remains?
(understandably) Not everything may be completed in time. Please proactively let the release team know if there are delays, blockers, or uncertain situations, know so that we can align expectations and try and help you out, if possible.
Please, can you update the first comment in this issue with a check of tasks that need to be completed for a successful Model Registry alpha release? There are quite a few things being discussed in comments here and elsewhere (meeting notes etc.). Let's try and consolidate into a plain list of deliverables.

With MR part of KF 1.9: https://blog.kubeflow.org/kubeflow-1.9-release/#model-registry ,
resolving this tracker.
The next roadmap tracker can be found at:

https://github.com/kubeflow/model-registry/issues/175


⚠ ClamAV has degraded performance

In 9924a61, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 86 ms

Resolved: ClamAV performance has improved in f25a330.


Add pythonPackages.salmon and dependencies

Motivation for this change
Add Python package salmon and its dependencies.
I wasn't able to run the tests for dnspython successfully. I got the following errors: https://github.com/rthalley/dnspython/issues/289. If anyone has ideas how to fix those, I could try to fix. For now, I just skipped the tests (although not all tests failed).
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@jluttine status?

Working on it some day soon.
On December 5, 2017 9:37:31 PM GMT+02:00, Frederik Rietdijk<EMAIL_ADDRESS>wrote:

@jluttine status?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/32097#issuecomment-349416695

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

@FRidh Done. I just used dns, didn't change the name dnspython because I couldn't figure out how to rename properly with deprecation warnings etc.


Porting to Linux Issue

I am trying to execute an example of Linux on my system. But I am getting an error of
"bind() failed 16 hci0
nimble-linux: ../../../nimble/transport/socket/src/ble_hci_socket.c:880: ble_hci_sock_init: Assertion `Failure configuring socket HCI' failed.
Aborted"
Can you please tell me where am doing wrong?

Hi,
Things to check:

run as root (or sudo)
make sure hci device is down before running nimble port (bluetoothctl -> power off)

Because of no further replies I'm assuming it's working by now, feel free to reopen if issue persists @bilal7676


Fix Fuse SDK file Id for local cache

Local cache define the cache path based on file ID.
collapse file id means collapse data

Is it possible to add some tests to cover this?

@jja725 Looks like there are more issues using FUSE SDK with local cache, would want to understand and fix all the related problems and then add the tests to give good test coverage.
Currently we have comprehensive tests covering FUSE SDK with local/S3, but do not with different cache combinations (local data cache / local metadata cache), will add that part as well after testing, understanding, and debugging phrases.

But good point, may be i should start by at lease enabling original tests all with data cache/metadata cache combinations

19:31:06.500 [INFO] Running alluxio.client.file.cache.LocalCacheFileInStreamTest
Error: 7.145 [ERROR] Tests run: 52, Failures: 0, Errors: 12, Skipped: 0, Time elapsed: 0.633 s <<< FAILURE! - in alluxio.client.file.cache.LocalCacheFileInStreamTest
Error: 7.149 [ERROR] alluxio.client.file.cache.LocalCacheFileInStreamTest.readEmptyFileThroughReadByteBuffer[0: page_size(1,048,576), in_stream_buffer_size(0)]  Time elapsed: 0.005 s  <<< ERROR!
java.lang.IllegalArgumentException: to be read content must be equal or shorter than target buffer length
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
	at alluxio.client.file.cache.LocalCacheFileInStream.readInternal(LocalCacheFileInStream.java:229)
	at alluxio.client.file.cache.LocalCacheFileInStream.read(LocalCacheFileInStream.java:133)
	at alluxio.client.file.cache.LocalCacheFileInStreamTest.readEmptyFileThroughReadByteBuffer(LocalCacheFileInStreamTest.java:160)

@huanghua78 @jja725 @beinan
Fix the File id with local cache issue.
Added a bunch of unit/integration tests with cache combinations to make sure no easy to occur correctness issues

Passed with S3 in Linux/Mac
mvn -DfailIfNoTests=false -Dtest=alluxio.fuse.ufs.*Test test -Dmaven.javadoc.skip -Dfindbugs.skip -Dcheckstyle.skip -Dalluxio.test.s3a.path=s3://<>/ -Dlicense.skip -Ds3a.accessKeyId=<> -Ds3a.secretKey=<>  -pl !webui

alluxio-bot, merge this please


Missing voting and freezing features?

Maybe I missed it, but I did not see anything about freezing or voting in the examples or in the docs.  Is this expected to be added soon?

Vote: https://github.com/iexbase/tron-api-python/blob/master/tronapi/transactionbuilder.py#L273
Freeze: https://github.com/iexbase/tron-api-python/blob/master/tronapi/transactionbuilder.py#L124
Unfreeze: https://github.com/iexbase/tron-api-python/blob/master/tronapi/transactionbuilder.py#L166

Thanks. I was also looking in contracts, but didn't see it there.  Appreciate the info.  Feel free to close.


feat(examples): add an example server with a custom event loop

Not sure if this example is really worth it. Follows the approach outlined in #1075.

[X ] The commit messages match the guidelines in https://github.com/hyperium/hyper/blob/master/CONTRIBUTING.md#git-commit-guidelines

Being new to Rust and Hyper, this example just have saved me from a lot more of investigation. It was just what I needed, so it's absolutely useful, something like this should be between the official examples.

Sorry for not noticing a while ago!
I'm trying to have any and all examples be in the form of guides, as opposed to in the source repo. So I'm going to close this, but the guides definitely could use an "advanced" server guide showing how to use your own Core.


Remove a few deprecated items.

Closes #4

Did %r instead of "%s" as the repr of a string always contains the quotes best fitting with the contents of the string.


CI on wrong version

CI on PHP v8.0 not PHP 7.4

most probably issues with laravel sail and separate test databases

Fixed in #32


confusing insertion and deletion time complexity on linked list

on linked-list page and doubly-linked-list page
time complexity on insertion is O(1) but on deletion is O(n)
Why is it different? shouldn't deletion be O(1) or insertion be O(n) ?

Insertion assumes appending to head/tail, so no traversal happens. Deletion means deleting a specific node, so you need to find it firstly.

@lazarljubenovic
Exactly, In case of Insertion:  I guess we have both the pointers, the head and the tail, had it been just the head, We would need to traverse the whole list to insert at the end and complexity would have been O(n).
In case of deletion: as @lazarljubenovic mentioned we need to find the node first. thus, O(n).
Issue: #1001 must have been resolved now.


Constants loader

NOTE to reviewer
90% of this PR involves changing executables to take a --config-files cli arg and to use the same loading function instead of invoking *_constants.Compiled.t directly to supply these values. The math is roughly
(+/- n LOC per executable) x (a ton of executables) = a large diff

All of the important changes in this PR are in runtime_config.ml and genesis_ledger_helper.ml, start there. You will see that all other changes are switching an executable to use these new load methods, and it always looks the same.
Background
In previous work we removed all/as much direct access to *_constants.Compiled.t as possible throughout the codebase (with the exception being the For_unit_tests variant). We were able to push those all the way to the various executable entrypoints, but we were still using the compiled config directly
The problem

Invoking the compile config directly across many files doesn't provide an easy transition to json-only config
Mina_cli_entrypoint and a few other executables allow you to take a --config-file parameter and apply the json config to the compile time constants. Most executables do not allow this.
We have (at least) two different implicit kinds of config  (i.e. you will not find these types anywhere, but they are implied):

(* Common in exectuables that we use as tests, benchmarks, etc *)
type constants =
  { genesis_constants : Genesis_constants.t
  ; constraint_constants : Genesis_constants.Constraint_constants.t
  ; proof_level : Genesis_constants.Proof_level.t
  ; compile_config : Mina_compile_config.t

(* less commonly required, e.g. you find in it `Mina_cli_entrypoint`, `Archive.Archive_cli`, things that aren't tests or tools *)
type config =
  { constants : constants
  ; daemon : Runtime_ledger.Daemon.t (* has overlap with compile_config *)
  ; ledger : Runtime_config.Ledger.t
  ; epoch_data : Runtime_config.Epoch_data.t
  }

Most executables only requires the constants config, so we don't want to require the above config type in places where no ledger is required. We need to separate these cases in the type system.
The Solution

Introduce a Runtime_config.Constants module to manage the constants type above and manage loading and applying the json config file for these values.
Force the use of Runtime_config.Constants.load_constants as the only way we can load these values into our system, and use this standard loader everywhere. This means removing all direct usage of *_constants.Compiled.t
Add a --config-file option to all CLI contexts, or create this context it if it didn't exist before

!ci-build-me

!ci-nightly-me

!ci-build-me

!ci-nightly-me

!ci-nightly-me

!ci-nightly-me

!ci-nightly-me


Fixes #137: Placement policy support for VM creation

Please describe the change you are making
This change fixes #137 and adds support for defining a placement policy on VM creation.
Are you the owner of the code you are sending in, or do you have permission of the owner?
Yes
The code will be published under the BSD 3 clause license. Have you read and understood this license?
Yes

/ost

/ost

Merging without review due to lacking review capacity.


CartesiaTTSService: Potential Bug in WebSocket Handling

Occasionally, I encounter this error in CartesiaTTSService. Could this be a bug in the CartesiaTTSService, the Cartesia library, or my code?
2024-09-18 09:25:01.202 | ERROR    | pipecat.services.cartesia:_receive_task_handler:189 - CartesiaTTSService#0 exception: no close frame received or sent
Traceback (most recent call last):
File "/Users/magnacarta/p/sunray/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 963, in transfer_data
message = await self.read_message()
│    └ <function WebSocketCommonProtocol.read_message at 0x13c9f4360>
└ <websockets.legacy.client.WebSocketClientProtocol object at 0x175ec6fc0>
File "/Users/magnacarta/p/sunray/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 1033, in read_message
frame = await self.read_data_frame(max_size=self.max_size)
│    │                        │    └ 1048576
│    │                        └ <websockets.legacy.client.WebSocketClientProtocol object at 0x175ec6fc0>
│    └ <function WebSocketCommonProtocol.read_data_frame at 0x13c9f4400>
└ <websockets.legacy.client.WebSocketClientProtocol object at 0x175ec6fc0>
File "/Users/magnacarta/p/sunray/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 1108, in read_data_frame
frame = await self.read_frame(max_size)
│    │          └ 1048576
│    └ <function WebSocketCommonProtocol.read_frame at 0x13c9f44a0>
└ <websockets.legacy.client.WebSocketClientProtocol object at 0x175ec6fc0>
File "/Users/magnacarta/p/sunray/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 1165, in read_frame
frame = await Frame.read(
│     └ <classmethod(<function Frame.read at 0x13c9cefc0>)>
└ <class 'websockets.legacy.framing.Frame'>
File "/Users/magnacarta/p/sunray/.venv/lib/python3.12/site-packages/websockets/legacy/framing.py", line 68, in read
data = await reader(2)
└ <bound method StreamReader.readexactly of <StreamReader eof limit=32768 transport=<asyncio.sslproto._SSLProtocolTransport obj...
File<EMAIL_ADDRESS>line 750, in readexactly
raise exceptions.IncompleteReadError(incomplete, n)
│          │                   │           └ 2
│          │                   └ b''
│          └ <class 'asyncio.exceptions.IncompleteReadError'>
└ <module 'asyncio.exceptions' from<EMAIL_ADDRESS>asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of 2 expected bytes

getting the same issue as well, i think the connection is timing out after inactivity and not connecting back after that.

I'm getting a similar issue, but with ElevenLabs TTS. Here's the link to my issue: https://github.com/pipecat-ai/pipecat/issues/563
This seems to be happening fairly commonly. I'm not sure if this is to do with my code or if it's to do with Pipecat. My code itself is fairly straightforward. It uses based on one of the foundational examples so i'm not sure.
Thanks!

Hi, I'm interested in understanding this issue. Do you have repro steps that you can share?

@aconchillo made changes to improve the reconnection logic of the Cartesia websocket: https://github.com/pipecat-ai/pipecat/pull/796. That should close this issue. If you still see this problem, please open a new issue.


Complete migration out of SDK.

Adds some tests that were still in the SDK.
Fixes some imports so we get the non-SDK versions.

For now the Histogram tests are disabled.  Histogram will get its own repo at some point, when they can be reenabled.


ember-template-lint "overrides" config does not work with eslint-plugin-hbs

I'm trying to override specific ember-template-lint rules for certain files/directories in my repo, using the ember-template-lint "overrides" config prop.
This does not seem to work.
Is there another method of overriding ember-template-lint rules for specific files/directories that works with eslint-plugin-hbs? Or do we need to fix this issue?

Ya, I think we'll need to make changes to address.

I ran into this issue where I wanted to be able to enable no-bare-strings on app templates files, but ignore it on inline templates in test files.
I ended up doing the following:
// .template-lintrc.js
module.exports = {
  rules: {
    'no-bare-strings': false,
  },
  overrides: [
    {
      files: ['**/*.hbs'],
      rules: {
        'no-bare-strings': true,
      }
    },
  ],
};

@rwjblue The issue does not appear fixed after upgrading to version 2.13.0. Setting the following does not correctly ignore the listed overrides files:
module.exports = {
  rules: {
    'no-bare-strings': true,
  },
  overrides: [
    // Allow non-translated strings in fixtures/ and HealthCheck
    {
      files: [
        '**/test-js/glimmer/fixtures/**',
        '**/HealthCheck.js',
      ],
      rules: {
        'no-bare-strings': false,
      },
    },
  ],
};


Please allow use of existing AppProjects if available

Feature Suggestion
Every time the backstage ArgoCD plugin is invoked it must create a new ArgoCD "AppProject".
This goes against how many (most?) organizations build out their Argo CD architecture.  An "AppProject" often is used as a way to logically organize groups of Argo CD "Applications".  However, it is rare that all of these "Applications" are created at the exact same time.

The plugin should be able to take an existing "AppProject" name as a parameter and simply use this if it already exists, and only create a new "AppProject" if it doesn't.
Possible Implementation

N/A
Context

We'd like to be able to use the plugin, but not have a new AppProject every time it runs.

Thank you!

If this feature isn't created, is there a better way to be able to keep adding Applications to AppProjects, rather than having to create a new AppProject each time you invoke a GPT?

@RickJWagner Would you be able to recommend an alternative approach to this?

Hi @Xantier
Thank you for asking.  Let me delegate the question to some friends that have much more experience in the area.
@pittar , @agiertli, can we think of any alternative approaches?  Thanks.

For one of the large-scale customers that I work with, this is a blocker to them adopting Backstage.  Since the Argo CD integration is a core requirement, the fact that each new Argo CD "Application" also requires a new "AppProject" makes this plugin unusable.
To explain further, they have an "AppProject" per project team.  When a project team needs to create a new "Application", it references the existing "AppProject".
This is a problem with the argocd plugin, since attempting to create a new "Application" that belongs to an existing "AppProject" throws an error.
Ideally, this plugin would have an additional flag - something along the lines of "useExistingAppProject" that would simply skip the AppProject creation step and allow an Application to reference and existing AppProject.

Thanks @pittar,
Would you or Red Hat be able to introduce such functionality to this plugin? We currently don't have ArgoCD setup that would match that kind of workflow so it is a bit tricky to modify without a proper test environment.


Migrate to Typescript

I migrated the vanilla JS to TypeScript, so the library can be used in both JS and TS. If you don't want to switch to TypeScript, the generated definitions could still be used.
I tried to only add type definitions without changing anything in the code, but in a few places I had to change a few things to satisfy the TS compiler.

@conorhastings Hi! I by no means don't want to force TypeScript onto this project, but if you like the idea, could you check my PR?
I believe TS typings are almost a requirement for any NPM package these days, and it is easier and safer to maintain, if the project itself is written in TS.

I'm not a big typescript user but I'm not opposed, sorry for the delayed response, can you explain the changes you had to make  beffore I merge this in


add root and container style alterable

Thanks for this great library. Currently only styles for slides can be passed trough props.
In my case I need to change the style from root, which isn't an easy task since those styles are hard coded. I would be great if we could change all styles trough props.

Can't you use the style property to apply a style to the container?
What do you think about passing all the property like style to the root component, and rename the curent style property to containerStyle?

Fix with https://github.com/oliviertassinari/react-swipeable-views/commit/1cfc7685f6e617c6e5a6632e729f74a86554bb53.

works like a charm, thanks a lot @oliviertassinari. Great work!


hi I am also facing the same issue when I tried to implement the map

hi I am also facing the same issue when I tried to implement the map
IOS - PROVIDER_GOOGLE Showing empty map
it only showing me the title on the bottom I waste a lot of time to debug that issue but still stuck on it
I have followed all the step which are mentioned on
https://github.com/react-native-maps/react-native-maps/blob/master/docs/installation.md
and I also configured all the setting on the google side as well
I  also check if IOS Map SDK is enabled or not all other important API like place GEO. etc
also added map style from both and also tried with Custom style option by JSON data
still not able to load the map ios device on real and as well as simulator
i and using ***
"react-native": "0.63.4",
"react-native-maps": "^0.28.0",
<MapView
provider={ PROVIDER_GOOGLE}
style={styles.container}
showsUserLocation={true}
/>
I code I also find some warning like when run the project from Xcode
Documentation Issue Group
...../node_modules/react-native-maps/lib/ios/AirGoogleMaps/AIRGoogleMap.m:29:
same issue on google map  ios -utills
parameter 'inlineStyle' not found in the function declaration
...../ios/Pods/Google-Maps-iOS-Utils/src/Geometry/Model/GMUPlacemark.m:16:9: In file included from /Users/apple/Documents/GitHub/tfbrandnew/ios/Pods/Google-Maps-iOS-Utils/src/Geometry/Model/GMUPlacemark.m:16:
Parameter 'coordinates:' not found in the function declaration
maybe this will help you to better understand the bug
Originally posted by @singhtrustcom in https://github.com/react-native-maps/react-native-maps/issues/3847#issuecomment-862168118

Please refrain from opening up new issues if you already posted your comment in a related ticket.


Promise neither resolves nor rejects

I'm using url-metadata to retrieve metadata about URLs that are gotten from another search.  Sometimes, neither my success nor failure functions are called, and I don't understand why.
Example "bad" url:  http://sartma.com/art_13825.html
for (var i = 0; i < url_list.length; i++){
                       winston.debug(url_list[i]['MentionIdentifier']);
                       urlMetadata(url_list[i]['MentionIdentifier']).then(
                           (metadata) => {
                               var title = metadata.title;
                               var author = metadata.author;
                               var description = metadata.description;
                               var keywords = metadata.keywords;
                               var source = metadata.source;

                               var image;

                               if (metadata.image)
                               {
                                   if (metadata.image.substring(0,2) == '//')
                                   {
                                       image = metadata.image.replace('//','');
                                   } else
                                   {
                                       image = metadata.image.replace('https','http');
                                   }

                               }

                               var url = metadata.url;

                               events.push([image, title, url, author, description, keywords, source])

                               winston.debug(image, title, url, author, description, keywords, source);
                       },
                       (error) => {
                           winston.error("URL Metadata failure: " + error);
                       });

                   }

I found the issue.  The site is returning a statusCode of 403.   index.js line 33 should be ||, not &&:
if (!response.statusCode && response.statusCode !== 200) {
return dfd.reject({Error: 'response code ' + response.statusCode})
}

Thanks for catching this, sorry for being slow. Will patch asap.

Running into this as well. Would be great if this were merged to correct this https://github.com/LevelNewsOrg/url-metadata/pull/4

Merged and updated on npm:
https://www.npmjs.com/package/url-metadata


EJS is missing as a dependency

status-board version:
node version:
npm (or yarn) version:

Relevant code or config

What you did:
What happened:

Reproduction repository:

Problem description:
Suggested solution:

Closing issue due to I can not reproduce.


Refactor common::TestCase

Proposed change

Merge *HolidayName and *HolidayNameInYears methods
Extend assertions for *HolidayName methods.
Type of change

[ ] New country/market holidays support (thank you!)
[ ] Supported country/market holidays update (calendar discrepancy fix, localization)
[x] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
[ ] Dependency upgrade (version update)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (a code change causing existing functionality to break)
[ ] New feature (new python-holidays functionality in general)

Checklist

[x] I've followed the contributing guidelines
[x] This PR is filed against beta branch of the repository
[x] This PR doesn't contain any merge conflicts and has clean commit history
[x] The code style looks good: make pre-commit
[x] All tests pass locally: make test, make tox (we strongly encourage adding tests to your code)
[x] The related documentation has been added/updated (check off the box for free if no updates is required)

Coverage: 99.926% (-3.0e-05%) from 99.926% when pulling 7d4b1693556caf46d775c3649c4a7f4404c3f9ec on arkid15r:refactor-common-test-case into 6b959829d4f57e26da17e81bdb0d632afaaf093f on dr-prodigy:beta.


Develop a font preview table

Description
Develop a table, like the one shown below, to see most characters of the font in one go. This would allow us to quickly see most, though not all, of the characters, giving glanceable information about the aesthetics of the font.
Additional context
This table was taken from the CC Accidenz Commons introductory blog post.

Hello,
I would like to go for this issue

In what format does the table need to be aligned for the same @dhruvkb can you please help

I can't think of any good alignment to arrange these characters. See if you can come up with something.

26 characters from A - Z
26 characters from `a -z
10 numbers from 0 - 9
the following symbols

+ - * / %
@ # $
< > ( ) { } [ ]
& , . ? !

Okay will start working with the same
Thank you

As you have described in the above mentioned format I have aligned the elements in the similar form kind of giving the look and feel of a keyboard with one story as the name of the font with subsection each describing the types of characters like uppercase, lowercase.
Below is a screenshot for reference please guide for the same .
Thankyou

Also I have given a effect upon hovering as in below image to further elevate the look and feel of it, please advice for the same too

@dhruvkb can you please guide as if above design is fine  and also which all font styles are we targeting for the above mentioned issue

It looks good, and the hover effect is a nice touch, but I would prefer

left aligned, not center
slight grey background on hover instead of completely inverted
more uniform distribution of characters, instead of 10-8-6-2.
mobile responsive, if feasible

Okay @dhruvkb will start working keeping above points in mind
Please can you share what other fonts style we are targeting to integrate
Thank You

Hello @dhruvkb  please see for the attached screenshot regarding the changes and improvements as recommended by you for all three types Uppercase, Lowercase and Numbers

Hello @dhruvkb please find  the below attached screenshot regarding the improvement and changes as recommended by you for the three types i.e Uppercase, Lowercase and Numbers
Thank you

Looks good, you should open a draft PR so that we can review it as you work on it. It's generally good advice to have a draft PR open as soon as you start working on any issue.

Okay will do so thanks
Also @dhruvkb can you please help me with what other are font styles are we targeting for this particular improvement so that I can start with that too
Thank You

We are not targeting Times New Roman, we need this kind of preview in the already existing CC Accidenz Commons story for now.

Okay will update the component for the same

Hello @dhruvkb have updated the font style to accidez commons and commited the changes too
Shall I start for the other font styles too in the same request or should I turn this pull request to ready for review from draft
Please guide
Thank you


--base-path not working

Expected Behavior
I am running detekt --base-path "folderA/FolderB/" and expect detekt to return all issues for kotlin files inside FolderB and nested folders
Observed Behavior
It returns all issues for all folders, nest folders, and files in my root folder where I call the command
Steps to Reproduce
detekt --base-path "folder"
I've tried detekt -bp, I've used quotes, no quotes, regex, no regex, I've tried --classpath as well, I have also tried absolute path.
Context
Don't want to have to cd into every folder to run detekt
Your Environment

Operating System and version: Mac OS

I think that you are looking for input instead of base-path.
Probably this issue is related with our documentation. How could we make it more clear?

I didn't see input in the usage list, I think it's clear if I had read it more closely. What would base-path be used for? I think having examples of each command (unless the command is super clear like --parallel) would be useful, in the readme.

It's used for relative path support. It's described here:
https://detekt.dev/docs/introduction/reporting/#relative-path
Closing as this was resolved, but please let us know if the docs are unclear and if we should update them


[SPARK-4131] [Follow-up] Support "Writing data into the filesystem from queries"

What changes were proposed in this pull request?
This PR is clean the codes in https://github.com/apache/spark/pull/18975
How was this patch tested?
N/A

cc @janewangfb @cloud-fan

Test build #81742 has started for PR 19225 at commit 299cebb.

Test build #81742 has finished for PR 19225 at commit 299cebb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/81742/
Test PASSed.

Merged build finished. Test PASSed.

thanks, merging to master!


Add ability to list file metadata...

(Based on a change by github.com/apbarrero))
Add menu/list command to display file metadata
Support OSX as well as Unix

Cheers, good idea :)


Double random_cuboid usage

Hi and thanks for your code,
Could you clarify the use of random cuboid? I see that it is called once on points here and once again later on coordinates and labels, the latter of which inputs 3 arguments while your implementation of random cuboid only takes in 1

Hi Marius!
I see! It indeed does not seem intuitive and is unintended.
Thanks for pointing it out!
Best,
Jonas


Missing or Undefined Custom Function 'Edit-LineEnding' in 'Invoke-PolicyToBicep.ps1' Script

What happened? Provide a clear and concise description of the bug, including deployment details.
When you execute the "Invoke-PolicyToBicep.ps1" script located at ".github\scripts\Invoke-PolicyToBicep.ps1," it attempts to use a custom function called "Edit-LineEnding."
However, this function is not present in the ".ps1" script itself. I've searched the repository, but I couldn't find any references to this function. Can you please clarify where this function is supposed to come from?

Please provide the correlation id associated with your error or bug.
No response
What was the expected outcome?
You can call function Update-FileLineEndingType without error.
Relevant log output
Edit-LineEnding:
Line |
  49 |    (Get-Content $filePath | Edit-LineEnding -LineEnding $LineEnding) | …
     |                             ~~~~~~~~~~~~~~~
     | The term 'Edit-LineEnding' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Check previous GitHub issues

[X] I have searched the issues for this item and found no duplicate

Code of Conduct

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

Hi @KeysAU, sorry for any confusion. This function is now included within the ALZ-PowerShell-Module. Once you go ahead and install that module, you should be able to call that function.
I'll go ahead and update our documentation before closing this out.

ah brilliant, yep installed the module and all working.
Thank you!


html2canvas 1.0.0-alpha.12 getting snapshot without background styling

I have object(chair) in .png file and I am changing its color on browser from jquery by changing background color and it is working fine.
my html code is here:

                 <input class='red' name='color' type='radio' value="red" />                 <input class='green' name='color' type='radio' value="green"/>                 <input class='pink' name='color' type='radio' value="pink"/>                 <input class='yellow' name='color' type='radio' value="yellow"/>                 <input class='purple' name='color' type='radio' value="purple"/>

My question is now I am trying to save this change colored chair image by using html2canvas js library, but it saves image without background effect of changing color.

My code of convert html to canvas image by using html2canvas library of version 1.0.0-alpha.12 is here :
html2canvas($("#chair")[0]).then(function(canvas) {   $("#element-out").append(canvas); });
Help me to save image with background effects of changing color of chair. Thankyou!

Hello @AashirHaq I am having the same issue, did you manage to solve it?


Fix time input not using preset value

@dclaux,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


HypeTrain Event Subscription for WebHook

Feature Request
As the title says, support for the HypeTrain Event Subscription.

Currently not able to test


Bug: parser does not returned a JSON.parsed() body payload for each record but the type is correct (SQS)

Expected Behavior
When using an envelope or an extended schema as per the example (see SQS schema in docs), then the event.Records[0].body should already be JSON.parsed() like the type suggests.
Current Behavior
The type is an object as per the schema, however it is still a string when using it, and then throws a type error on JSON.parse(record)
Code snippet
import { SqsRecordSchema, SqsSchema } from '@aws-lambda-powertools/parser/schemas';
import { JSONStringified } from '@aws-lambda-powertools/parser/helpers';

const messageBodySchema = z.object({
  property1: z.number(),
  property2: z.string(),
  property3: z.string().optional(),
});

const extendedSqsSchema = SqsSchema.extend({
  Records: z.array(
    SqsRecordSchema.extend({
      body: JSONStringified(messageBodySchema),
    }),
  ),
});

type ExtendedType = z.infer<typeof extendedSqsSchema>;

export const handler = async (event: ExtendedType, _context: Context): Promise<SQSBatchResponse> => {
  const batchItemFailures: SQSBatchItemFailure[] = [];
  for (const record of event.Records) {
    try {

      const { property1, property2, property3 } = record.body;

      console.log('property1', property1); //return undefined
      console.log('property2', property2); //return undefined
      console.log('property3', property3); //return undefined
....
})

export const exportedHandler = middy(handler).use(
  parser({ schema: extendedSqsSchema }),
);

Steps to Reproduce

make similar handler to above using v2.8.0

Possible Solution
I went through the code but it all seemed to make sense.
Powertools for AWS Lambda (TypeScript) version
latest
AWS Lambda function runtime
20.x
Packaging format used
npm
Execution logs
No response

Hi @cbarlow1993, thanks for opening the issue.
I have tried to reproduce the behavior you described and I am unable to reproduce it.
I have created a sample project and used your code as function, although I had to make a couple of slight modifications to make it work:
+ import { z } from 'zod';
+ import type { Context, SQSBatchResponse, SQSBatchItemFailure } from 'aws-lambda';
+ import middy from '@middy/core';
+ import { parser } from '@aws-lambda-powertools/parser/middleware';
import { SqsRecordSchema, SqsSchema } from '@aws-lambda-powertools/parser/schemas';
import { JSONStringified } from '@aws-lambda-powertools/parser/helpers';

const messageBodySchema = z.object({
  property1: z.number(),
  property2: z.string(),
  property3: z.string().optional(),
});

const extendedSqsSchema = SqsSchema.extend({
  Records: z.array(
    SqsRecordSchema.extend({
      body: JSONStringified(messageBodySchema),
    }),
  ),
});

type ExtendedType = z.infer<typeof extendedSqsSchema>;

export const handler = async (event: ExtendedType, _context: Context): Promise<SQSBatchResponse> => {
  const batchItemFailures: SQSBatchItemFailure[] = [];
  for (const record of event.Records) {
    try {

      const { property1, property2, property3 } = record.body;

      console.log('property1', property1); //return undefined
      console.log('property2', property2); //return undefined
      console.log('property3', property3); //return undefined
- ....
- })
+    } finally {}
+  }
+
+  return { batchItemFailures };
+}

export const exportedHandler = middy(handler).use(
  parser({ schema: extendedSqsSchema }),
);

And then called the function directly using this payload:
{
  "Records": [
    {
      "messageId": "059f36b4-87a3-44ab-83d2-661975830a7d",
      "receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...",
      "body": "{\"property1\": 1, \"property2\": \"foo2\"}",
      "attributes": {
        "ApproximateReceiveCount": "1",
        "SentTimestamp": "1545082649183",
        "SenderId": "AIDAIENQZJOLO23YVJ4VO",
        "ApproximateFirstReceiveTimestamp": "1545082649185"
      },
      "messageAttributes": {
        "testAttr": {
          "stringValue": "100",
          "binaryValue": "base64Str",
          "dataType": "Number"
        }
      },
      "md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3",
      "eventSource": "aws:sqs",
      "eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue",
      "awsRegion": "us-east-2"
    },
    {
      "messageId": "2e1424d4-f796-459a-8184-9c92662be6da",
      "receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...",
      "body": "{\"property1\": 1, \"property2\": \"foo2\", \"property3\": \"foo3\"}",
      "attributes": {
        "ApproximateReceiveCount": "1",
        "SentTimestamp": "1545082650636",
        "SenderId": "AIDAIENQZJOLO23YVJ4VO",
        "ApproximateFirstReceiveTimestamp": "1545082650649",
        "DeadLetterQueueSourceArn": "arn:aws:sqs:us-east-2:123456789012:my-queue-dead"
      },
      "messageAttributes": {},
      "md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3",
      "eventSource": "aws:sqs",
      "eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue",
      "awsRegion": "us-east-2"
    }
  ]
}

which generates the following logs:
START RequestId: 61f48343-8e79-4b21-b47c-b930cb18aa6b Version: $LATEST
2024-09-17T13:07:37.205Z        61f48343-8e79-4b21-b47c-b930cb18aa6b    INFO    property1 1
2024-09-17T13:07:37.205Z        61f48343-8e79-4b21-b47c-b930cb18aa6b    INFO    property2 foo2
2024-09-17T13:07:37.206Z        61f48343-8e79-4b21-b47c-b930cb18aa6b    INFO    property3 undefined
2024-09-17T13:07:37.225Z        61f48343-8e79-4b21-b47c-b930cb18aa6b    INFO    property1 1
2024-09-17T13:07:37.225Z        61f48343-8e79-4b21-b47c-b930cb18aa6b    INFO    property2 foo2
2024-09-17T13:07:37.225Z        61f48343-8e79-4b21-b47c-b930cb18aa6b    INFO    property3 foo3
END RequestId: 61f48343-8e79-4b21-b47c-b930cb18aa6b
REPORT RequestId: 61f48343-8e79-4b21-b47c-b930cb18aa6b  Duration: 258.47 ms     Billed Duration: 259 ms Memory Size: 128 MB     Max Memory Used: 68 MB
XRAY TraceId: 1-66e97f19-3b3e8e1862442c2132468326       SegmentId: 13213422d11a9bbe     Sampled: true

Note that the first occurrence of property3 is undefined because the field is optional and wasn't included in the first message body.
After that, I also added an SQS queue as trigger for the function and put two messages into the queue using the AWS CLI:
aws sqs send-message \
  --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/MyQueue \
  --message-body '{"property1":1,"property2":"foo2"}'

and
aws sqs send-message \
  --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/MyQueue \
  --message-body '{"property1":1,"property2":"foo2","property3":"foo3"}'

and got the same outputs from the function.
I uploaded the sample that you can find here and deploy, if you want.

Based on the behavior you're describing, it appears that you might be calling the handler directly rather than the exportedHandler. Please confirm that your function is using that has handler in the function config.
Also, tangentially related, based on your use case you might want to check our Batch Processing utility which can help you process messages from SQS (among other sources) and handle partial failures more easily.

Hey @cbarlow1993, glad to hear you were able to find the issue! No time wasted at all, happy to help!
Thank you for your words, that's really great to hear! And yes, absolutely, if you spot any areas of improvements we're always open to improve.
And regarding the examples, it would also be really useful to learn how you use it.


Broken on Windows Server 2016

[Enter feedback here]
These instructions didn't work for us: tried on multiple Windows 2016 servers. There were errors we got on the first step and then on the second step as well. They seem to be happening because of TLS 1.2 enforcement (https://dev.to/darksmile92/powershell-disabled-support-for-tls-1-0-for-the-gallery-update-module-and-install-module-broken-1oii).
Please fix! Installing Docker is a pretty fundamental task.

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

ID: e09e1b22-1344-d7b9-9462-dc4c2e160e86
Version Independent ID: f6411e97-4419-1209-56ad-9140ceb37329
Content: Prep Windows operating system containers
Content Source: virtualization/windowscontainers/quick-start/set-up-environment.md
Product: windows-server
Technology: windows-containers
GitHub Login: @v-susbo
Microsoft Alias: viniap

You might want to take a look at Stevedore project as a way to install modern Docker for Windows containers on both Windows Server/Client.

We ended up upgrading servers to 2019 on which Mirantis Container Runtime installs without a hitch. We followed the latest Mirantis instructions for that. Mirantis is pretty clear that Windows Server 2019+ is required for MCR.

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Added DrizzlePac Align to Catalogs notebook

The DrizzlePac Align to Catalogs notebook is ready to be added to the spacetelescope notebook repository.

Quick review:
Mostly looking good!

2.5 min run time is a bit long.  That's not as bad as some of the drizzle notebooks, but still rather long for a notebook.  Can it be reduced?
Some PEP8 issues - no space after ,,  unecessary ; usage, etc.

The conflict also needs resolving - a rebase that resolves the conflict by taking what's in master and adding ccdproc should suffice.


Created English version of echarts-all.js file, would like to contribute file to ECharts

Hello, I've created an English version of the echarts-all.js file and would like to contribute it to the ECharts GitHub repository. Using Google Translate, I've translated the chart tooltips and title tags to English. I've also included some additional themes in the echarts-all.js file (the original file only includes default, infographic and macarons themes). If you find that this updated echarts-all.js file is helpful, perhaps it could be made available for download along with the original Chinese version. I've also included a couple bar chart examples in the zip. I wasn't sure if I should make a pull request to submit this to ECharts since the changes are significant. I really like ECharts, thanks for making it open source. Hopefully this English version of echarts-all.js file is helpful.
EChartsAll-English.zip

thanks

Thanks a lot

ty

thanks, very helpful

Is there a future roadmap to support multiple languages through global default options?

Thanks a lot. Save a lot of hours of work!

I would love multiple languages (translatable strings or a simple JS associative array).

How do I add it to the library, it doesn't seem to work for me

@EgleKat Copy the theme JS file(s) into the folder called "theme." Make sure the name of the theme is added to the chart code (2 places).

Hello. I just tried this last night and its working however, my color scheme went away and was replaced with pinks and blues and I'm not sure how to adjust this. I'm new to echarts so i most likely missed something small. Can anyone help?

Hi @zherman91 - it's hard to figure out what is causing the problem without seeing your code. But it could be a problem with the line of JS code where you add the theme. For example the default code is this:
	var myChart = echarts.init(document.getElementById('main'));          myChart.setOption({
If you want to add a theme, then the code would be something like this:
        var myChart = echarts.init(document.getElementById('main'), 'green'); 	// Themes: dark, macarons, infographic, green, blue, roma, shine, sakura, macarons2, helianthus, default         myChart.setOption({
I'm assuming you're using ECharts version 2 in this case. The themes for ECharts 3.0 are installed differently. There are separate JS files for the themes in version 3.

@zherman91 check what theme you are using. I am pretty sure it's the theme that is causing the colors.

BTW @WebCodePro719 , we've been using your english version in our internal environments for almost a year now and it's still going strong. Thanks again!

@WebCodePro719  - Thanks so much for the reply! I will give this a shot but I'm pretty sure that's what i was missing. Thanks again!

@WebCodePro719  - Thanks so much for the reply! I will give this a shot but I'm pretty sure that's what i was missing. Thanks again!

@annjawn that's great to hear - I'm glad this file has been helpful.

@zherman91 No problem, I hope you figure it out.


Different app image names between docker-compose and libcompose

Hi just stumbled on this one.
For a project in a folder such as "example-app" with an app called "app",
docker-compose names the image exampleapp_app,
while libcompose names the image example-app_app.
I want to thank you for libcompose as it's the only way to get interactive mode working on Windows!
If this change gets in then I can magically start using libcompose with Docker Native for Windows :smile:

@jamespacileo Hi :) Thanks for the report. I noticed that (along with the name in the logs), working on a quick fix :wink:.
Added to the 0.3.0 milestone :wink:

👍 thank you! :)


command palette should support both setting language and English search

Description of the new feature/enhancement
command palette should support both setting language and English search
Current behaviour
when language is English , type toggle and it works perfectly

when language is Chinese, type toggle and I get nothing:

I have to type 切换 to get a match

However, toggle is a verb, so the translation is relatively uniform. When I want to search by nouns, there may be several translations of a term, so I have to try them all
Expected behavior
VSCode's command palette works as expected, supporting both setting language and English search and displaying them

This sounds like a duplicate of #7039.

Sorry, I failed to retrieve the relevant issue when I checked it before, I will close mine


Maya create help route

I created a route from the help button but it doesn't really say much @aharelick

lgtm


efm32wg_stk3800 bluetooth sample do not compile (add support)

when trying to compile central_hr example for board efm32wg_stk3800, I get the following error:
drivers/bluetooth/hci/h4.c:462:30: error: ‘CONFIG_BT_UART_ON_DEV_NAME’ undeclared (first use in this function)
h4_dev = device_get_binding(CONFIG_BT_UART_ON_DEV_NAME);

So something like this is missing in the board's dts file, right?
#ifdef CONFIG_BT
                zephyr,bt-uart = &uart3;
#endif

Which UART and pins should be used for this?
I will not be able to test any implementation, since i do not have any bt hardware.

Same issue also with cc2650_sensortag
Any workaround?

I add
#ifdef CONFIG_BT         zephyr,bt-uart = &uart0; #endif
in boards/arm/cc2650_sensortag/cc2650_sensortag.dts.
Build success but can't scan the BLE signal from my CC2640 board

I think that should be a dedicated uart that is not used otherwise, like for the console, right?

bt-uart is use to communication between BLE host and BLE controller. CC2650 is totally BLE SOC solution like nrf52832. So that bt-uart shouldn't exist when TI CC2650 BLE function is support.

bt-uart is use to communication between BLE host and BLE controller. CC2650 is totally BLE SOC solution like nrf52832. So that bt-uart shouldn't exist when TI CC2650 BLE function is support.

Hi guys,
I have the same issue as @warner83 on cc2650_sensortag
This hardware is not supported yet or something missed in config file ?

Hi, Iam getting this issue while compiling samples/bluetooth/beacon for psoc6. Is this issue resolved?
Any workaround?

Just to clarify: The board efm32wg_stk3800 does not have any bluetooth hardware.
Question from me? Is there anything generic that can/should be done here? Or should we close this issue?

Closing this because there was no feedback for over a year.


Page description in TC

The description on the Traditional Chinese page still renders in English when the page is shared:

Can we update this to the following:

M+，香港嶄新的當代視覺文化博物館

CC: @dianewang

This description can now be updated in SEO tab under M+ Museum (previously Holding).


Set pointer address does not work for locations greater than 0x0300

Hi, We are able to follow the datasheet to enable readings and set the address pointer to 0x0300 and read 32 bytes of measurement data (CRCs checkout and all that). However, we are using an Arduino Uno. On an Arduino the I2C buffer is limited to 32 bytes. So it is necessary to read 32 bytes of measured values, then move the pointer to 0x0320, then continue reading the measurement values. This fails. We can set the pointer to 0x0300 but any other address is read as 0xFF bytes with failed (0xFF) CRC bytes.
Is this a hardware limitation? If we are unable to set the address pointer then your Arduino example will also be limited to mass concentrations and unable to report number concentrations.
I suspect this is an issue for this repo/driver for Arduino (example only prints PM2.5) but we're not technical enough to get the driver to compile under Arduino, so I can't test the theory.
Let me know:

If the address pointer is designed to be arbitrarily set (one would expect it to be)
What suggestions you have for compiling this driver for Arduino. I suspect many people will be asking for help ;) If you'd like, we can release a fully formed Arduino libray, we just need to get the address pointer to behave.

Thanks!
-Nathan

Hi @nseidle thanks for the hint on the max read size. Unlike "dumb" sensors, the SPS (and all our sensors) do not allow external pointer increments, the 0x0300 is understood as a command (0x0320 is not) - all state tracking is internal. What could work is resuming with a second read. To reuse the build-in read methods with CRC-checks you'll need to split it on a CRC byte. Go for the first 5, then the other 5 32b values in a second read:
That'd be the code around line 110 in sps30.c in s16 sps30_read_measurement(struct sps30_measurement *measurement)

    ret = sensirion_i2c_read_cmd(SPS_I2C_ADDRESS, SPS_CMD_READ_MEASUREMENT,
                                 data->u16, SENSIRION_NUM_WORDS(data) / 2); // <-- only read half the words
    if (ret != STATUS_OK)
        return ret;

    // Then read the second half of the measurements into the upper half of the buffer
    ret = sensirion_i2c_read_words(SPS_I2C_ADDRESS,
                                   data[5].u16, SENSIRION_NUM_WORDS(data) / 2);
    if (ret != STATUS_OK)
                return ret;

    SENSIRION_WORDS_TO_BYTES(data->u16, SENSIRION_NUM_WORDS(data));

Give it a try and let me know if that works

Sorry, but it doesn't seem to work as you describe.

In the above image we are requesting 0x0300 and the first 6 bytes come back as expected. We then do not release the I2C bus and request 6 more bytes 1 ms later. Unfortunately the data bytes match and we doubt PM1.0 would be identical to PM2.5.

As an aside, releasing the bus has the same output.

In the meantime maybe the UART interface could be a viable alternative for you? We have a UART driver with almost the same C interface (it's a drop-in replacement if you discard the SHDLC error codes). https://github.com/Sensirion/embedded-uart-sps
Make sure to leave the SPS' Pin4 floating to get the UART interface.

Thanks - we know the UART interface is available but for a variety of reasons we need the I2C interface to work.

Hi again. So, I asked about the inner workings and the sensor will reset the internal send buffer on every start. So the only choice you have is basically not to restart the transfer but to merely pause it. Start, Read 32 Bytes, --- Pause ---, Read 28 Bytes, Stop. The arduino i2c controller might not let you do that though, so the other alternative is bit-banging, software i2c or i2c over GPIOs, then you're not limited to the 32 Byte buffer. There are obviously downsides so you'll have to evaluate whether that's feasible. You might also need external pull-up resistors if the GPIOs don't provide them. It seems we don't yet provide a software-i2c sample implementation for arduino but the implementation should be relatively straight forward.

Thank you so much for checking! Sounds like a hardware bug that cannot be surmounted. Indeed, bit banging is an option but far from ideal and very difficult to support across the Arduino landscape. I2C was really what set this sensor apart from many others. A bummer to hear it won't be usable. If you have any sway, please push for a better solution in future version.

Hi @nseidle the hardware engineers noted the issue and we'll try to avoid it in the future. Needless to say that it's in our interest for our hardware to run with a default configuration on Arduino.
On the Arduino front, maybe it's also worth investigating patching the Wire library to provide a variable rx/tx buffer size since it has definitely appeared in other contexts before: https://forum.arduino.cc/index.php?topic=46914.0
On a quick search I found the source for the esp8266 - It might work with an #ifndef BUFFER wrapping around #define BUFFER 32 (Arduino >= 0019 according to the forum post)
https://github.com/esp8266/Arduino/blob/master/libraries/Wire/Wire.cpp
Can I close the issue?

In the past we have had to dig into the Arduino code base to modify the I2C buffer size. It can be done but asking general users to do so is quite advanced and error prone. The I2C buffer size issue has been brought up with the Arduino core devs as well and, while there has been talk for years, the group has not put a method in place, primarily because very few sensors have this issue.
The ESP32 and ESP8266 cores may be more flexible, I haven't had the need to modify them before. But we generally don't build Arduino libs that don't work with the Uno.
Yep, feel free to close. We'll post the SPS30 on SparkFun with a note about the I2C limitations.
Thank you for all your help!

we just pushed a library for Arduino, using an alternative I2C master implementation (i.e. bypassing Wire) here: https://github.com/Sensirion/arduino-sps
This makes the code independent from the buffer size in the Wire library


Python 3 compatibility

Hi,
I'm just wondering why you're not making this project also Python 3 compatible. I know that you've just started, so it would be much more easier now to think about that, than two years from now, when this package will be very successful and there will be many more complains "why this isn't working in Py3!?". ;-)
Regards,
Wiktor
(I managed to make it work under Py3 and Py2, but I don't know if all hacks are Pythonic enough, so I would rather not commit anything now (even if you are OK with Py3 compatibility). I'm novice, learning Pygame myself, and for now I want to just understand how this engine works, and not to break anything) :-)

This is a great point, I think I did this out of ignorance, thinking that pygame was only available for Python 2, but clearly it's out now for Python 3.
There's always the testing branch, dear! If we talk a bit more on Skype, email, or IRC, we can go over the various aspects of the engine. This would be incredibly valuable to me, because it'll help me identify what needs to be put into the documentation, and any questions you may have will probably be useful for the general public, too.
Thank you for your quality contribution, I believe you truly saved me a lot of hassle reminding me of this error. I will be resolving this issue in the next commit to testing.

Python 3 compatibility is almost finished. Working on a weird quirk where, what I'm guessing is a difference between Pillow and PIL, the walkabout sprite has an extra pixel of overhead padding/rect space. Not sure why this is exactly. Will push once determined.

Was an issue with floor division. Resolved; Python 3 support added. Tested functional in Python 2.7 and 3.4 in Linuxmint.

Was an issue with floor division. Resolved; Python 3 support added. Tested functional in Python 2.7 and 3.4 in Linuxmint.


Updated styling for login page and removed unused mobile view

Made all 3 changes, I also was submitting through the button instead of the form so now it won't default when you press log in. I think it is ready to go now.


Add country flags for languages

Is your feature request related to a problem? Please describe.
Flag will make the UX bit better rather than simple text
Additional context

Yes, I think we are waiting for some designs on this.


Brotli vs Gzip compression

More of a discussion than an project issue,
One thing I'm planning to play with is using Brotli instead of Gzip on HTTPS. It's apparently faster and would be great to use this library's performance tests to benchmark. I'm hoping it's as simple as just adding response.addHeader("Content-Encoding", "br") and compressing the files using zlib.brotliCompressSync() instead of zlib.gzipSync(().
I'll report back with some test results.

Well, my files already gzipped with webpack but it is interesting for sure!

i have a huge amount of web pages (220KB), all stored in Flash mem, with 60+ endpoints. That's mainly because my app is translated to 8 languages. Brotli's compression is better so anything that saves on precious ESP32 mem is wonderful.

But do you compress it on the fly?
I also have a ridiculis amount of endpoints and my pages are also huge. I did not store separate pages for languages but i choosen a different approach. I have language json files for different pages stored in folders/page. This lets me store a single page and multiple lang files which i belive is a lot more resource friendly. I can also edit any lang file without modifying the html.

Btw my app is translated to 4 languages.

I use dynamic translations on the web side to 10 languages using typesafe-i18n. The backend code is also translated using a custom library, all in real-time. The web code is all reactJS/typescript with yarn/vite bundling. You can see a live demo at https://ems-esp.derbyshire.nl, albeit an older version.
I've been using AsyncTCP and AsyncWebServer for years and always wanted to move away from Arduino and go to native IDF. Using PshchicHttp is the first step and super excited. The MQTT part has already been migrated to espMqttClient.

Wow. So i assume it is an spa and thats why it is so fast. Does this demo run on an esp?

not on an ESP! I'm cheating and the demo is hosted on Cloudflare...using CF Pages for the web and CF Workers for the API backend which mimics the data from an ESP32. That's why it's so quick. Cloudflare is excellent, and free too.
If you're interested the code is in https://github.com/emsesp/EMS-ESP32. The PsyhicHttp port is in the https_36 branch which I'll upload in the next few days. Almost finished the port.

@hoeken I'd like to run some benchmarking too. Do you have automated way I can steal that converts all the log data from the autocannon scripts into a single /benchmark/comparison.ods file?

No I don't unfortunately. I did the last ones manually. A script for that
would be great. Writing to a .csv would be enough.
On Fri, Dec 29, 2023, 09:21 Proddy @.***> wrote:

@hoeken https://github.com/hoeken I'd like to run some benchmarking
too. Do you have automated way I can steal that converts all the log data
from the autocannon scripts into a single /benchmark/comparison.ods file?
—
Reply to this email directly, view it on GitHub
https://github.com/hoeken/PsychicHttp/issues/37#issuecomment-1872126538,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABEHSRH4ADYVTMAFMZL2BLYL3GWXAVCNFSM6AAAAABBBRP5SCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGEZDMNJTHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm doing some A/B testing with two identical ESP32's, one running the same code with AsyncWebServer and the other PsyhicHttp. Then I used autocannon-ui (which has autocannon and a compare function integrated) to benchmark the two.
With autocannon I used a single connection, 1 worker/pipeline and 10 second duration (which are the defaults) to a single URI endpoint /api/system/command which returns a 260 byte JSON object.

Results:
#1 = AsyncWebServer
#2 = PsychicHttp

Initial observations:

Psychic seems to be 2-3x slower when returning JSON from a GET. The code is very simple and follows the examples in this repo using PsychicJsonResponse.  I also notice this when typing in the URII into a browser, and analyzing the network response and timings via the browsers dev tools. Here the "waiting for server response" is much higher with PsychicHtttp.
During the load test, PsychicHttp makes 62 calls and returns Status Code 200 62 times. AsyncWebServer makes one call and returning a 200. I think this is because AsyncWebServer is closing on every response:

there is no close with PsychicHttp.
I'll keep digging, but any ideas/thoughts welcome.....

@proddy great to see some more benchmarking.  I have done pretty much zero work on optimization, so hopefully we have plenty of room to speed things up.  That being said, I don't really know the toolchains, etc for doing code profiling so I would love some help.  I would gladly accept PRs as well :)
One thing I noticed is that the Async test basically just makes 1 request and quits.  The http headers + 260b response matches up with a total of 387b transferred.  That is probably skewing things a bit.  Is there a setting in autocannon to have it reconnect?
As for potential optimizations, it might be the url matching?  you could set server.config.uri_match_fn = NULL; which would switch back to the basic strcmp() url matching.  Its set to wildcard matching right now.
There's also probably room for optimization around the endpoint / client / handler "arrays".  Right now its using std::list as it made things very easy to implement, but it seems its not the fastest option out there.

Thanks @hoeken for the response (no pun intended!). I know these are busy days.
I played with uri_match_fn, and forcefully closing each connection as AsyncWS does but it makes no difference. The response is still twice as slow, also for static HTML.  The list of handler array code is fine and fast enough. I've done a lot of work with queues and home-built linked lists and always go back to std::list as it's just very solid and quick.
To rule out any quirks in my code I'll use your examples and run some benchmarking to see if the results are similar.
Also curious if others are seeing anything similar?

Puns are definitely allowed, especially since the project name is a play on ESP. :)
If you didn't notice, there is code in the /benchmark directory for both psychichttp and espasync (and arduinomongoose).  If you want to dig into the benchmark stuff or test your own code feel free to add to that, just try to keep code identical between the different sketches.

LOL, I had to google that. https://en.wikipedia.org/wiki/Psychic
I have seen your benchmark code for the various libs and will extend that and run some more stress tests. I really want PsychicHttp to knock AsyncWebServer and others out of the park.

Iam more of an observer right now because of the holidays but my webserver definietly feels slower and sometimes i dont get all the files loaded on the front end side. I played with the config object without success

With regards to the PsychicJsonResponse the latency might be attributed to the pre calculation of the output size:
https://github.com/hoeken/PsychicHttp/blob/26b49f73dca48fa333361fb4a4cfeebca802eeda/src/PsychicJson.cpp#L39
This is to determine if it can be sent in a single go, or chunked. It might be worth removing the length check and testing with chunked send only. If the output ends up being smaller than the internal buffer, there is only one network send done anyway.
I'm testing other changes that may improve the PsychicStreamResponse I submitted a PR for (#45). The changes could potentially speed up PsychicJsonResponse also.

Thanks @Chris--A - I'll look into optimizing Json using your PR.
I used the benchmark code to performance test PsyhicHttp against my heavily tweaked versions of AsyncWebServer and AsyncTCP and the test JsonResponse call to /api?foo=bar and also alien.png is 50-70% slower with PsychicHttp. Maybe I'm not comparing apples with apples here. I need to dig deeper into the IDF code.


read table based on format

Fixes a bug where csv files are not read properly.
Exception is ArrowInvalid: Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.

@daniel-sol any reason for the try/catch UnicodeDecodeError that I am missing?

Closing in favour of: https://github.com/equinor/fmu-sumo/pull/172


Add option to set threshold only for total coverage

Add option to set threshold only for total coverage.
So run will be succeeded when total coverage more then specified threshold, even if some of projects have coverage 0, or below specified threshold.
Something like
dotnet test /p:CollectCoverage=true /p:TotalThreshold=80

This could be pretty cool, but what about specifying the threshold you expect by type, something like:
dotnet test /p:CollectCoverage=true /p:Threshold=80-lines,70-branch
From what I saw in the usage, to get the those warnings you have to execute the command twice.

I'm running 2 tests assemblies and merge the result for the 2nd. It'd be nice to have the threshold on a particular module or summary threshold

I would also love to see a threshold type total-line or something like this. So I can fail on an overall coverage.

With my change we have the first step into the right direction I think:
@vanthoainguyen: You can either fail on a specific module as well as on the total coverage.
@ovargas: you can specify the total type which should fail

@maikschoeneich @Jeky-v @ovargas @vanthoainguyen what do you think about adding a ThresholdStat option? It's values could be Average|Minimum|Maximum|Total
Minimum => The module with the lowest coverage must be greater than or equal to the specified threshold
Maximum => The module with the highest coverage must be greater than or equal to the specified threshold
Average => The average coverage of all the modules must be greater than or equal to the specified threshold
Total => The total coverage of all the modules must be greater than or equal to the specified threshold
This will as usual take the specified ThresholdType into consideration and we can easily add more use cases people might need in the future without having to add a new option each time
What do you guys think?

Hi @tonerdo ,
I believe most people will run coverage for test assemblies which somehow are related to each other.
For example the solution with below projects:
Project.Core
Project.Service
Project.Core.Tests
Project.Service.Tests
Assume the Project.Service.dll reference the Project.Core.dll, the coverage for the service test assembly will likely cover some of the part of the Project.Core.dll. Therefore, I believe the threshold on total coverage will be really handy as It will fail the build once the coverage drop no matter what changes you make to the any dlls.
Apparently threshold on each assemblies would be awesome but I don't think it's as important as threshold on the total coverage which should be easier to implement.
Regarding your question, I personally don't like implicit/assumption, I'd prefer to specify the module name, but it's just me :) so I would not do the Maximum and Minimum. However, the Average and Total could be helpful. Again, I don't know how you will do it but the threshold on the summary (total or average) is clearly a demand feature :P as I simply want to fail my build when some dudes don't write unit tests :)

Thanks for the feedback @vanthoainguyen, the first implementation of this feature can start with just Average and Total and leave room for adding new ones in the future

You should be able to use the newly added --threshold-stat op /p:ThresholdStat to specify how you'd like the threshold comparison to happen. Valid values are minimum, average, total. Available in the latest release https://www.nuget.org/packages/coverlet.msbuild/2.5.0

I am trying to use the /p:ThresholdStat option to specify that the total coverage not dip below a certain number and I am seeing weird results
+----------------------------------------+--------+--------+--------+
| Module                                                        | Line   | Branch | Method |
+----------------------------------------+--------+--------+--------+
| Module 1                                                     | 26.1%  | 21.6%  | 46.6%  |
+----------------------------------------+--------+--------+--------+
| Module 2                                                      | 68.4%  | 54.2%  | 70.8%  |
+----------------------------------------+--------+--------+--------+
/Users/sahil/.nuget/packages/coverlet.msbuild/2.3.0/build/netstandard2.0/coverlet.msbuild.targets(25,5): error : 'Module 1' has a method coverage '46.6%' below specified threshold '58%'
Here is the command I am using to run this:
dotnet test *********.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:Threshold=58 /p:ThresholdType=method /p:ThresholdStat=total
The total method coverage definitely exceeds 58% is there something I am missing?


Unable to use koin injected Factory method in compose web

Describe the bug
Getting this issue while trying to use one HomeComponent.Factory instance injected via koin DI to create component.
Uncaught TypeError: $this.homeComponentFactory_1.create_esiqto_k$ is not a function
    at child_2 (WebDesktopDefaultRootComponent.kt:234:38)
    at DefaultChildItemFactory.l [as childFactory_1] (Your-Flixer-shared.js:15326:14)
    at protoOf.invoke_9e5oyy_k$ (DefaultChildItemFactory.kt:32:13)
    at DefaultChildItemFactory.invoke$default [as invoke$default_bfpx9a_k$] (Decompose-decompose-js-ir.js:135:35)
    at protoOf.prepareNewItems_obvoel_k$ (Standard.kt:158:2001)
    at protoOf.switch_55pz6e_k$ (ChildrenNavigator.kt:117:24)
    at new ChildrenNavigator (ChildrenNavigator.kt:44:13)
    at children (ChildrenFactory.kt:80:13)
    at childStack_0 (ChildStackFactory.kt:91:5)
    at childStack (ChildStackFactory.kt:40:5)

In WebDesktopDefaultRootComponent class, i am trying to use homeComponentFactory passed via koin DI as parameter , an instance of HomeComponent.Factory , But it produces that error.
I am initializing koin above main method in main.js.kt, ANd i am passing the factory classes of components in root component(WebDesktopDefaultRootComponent), but while during some setup, it tries to create component, it shows that error.
But similar way working fine in desktop. Becoz for web and desktop i have one common kmm module webDesktopCommonMain, and common root component WebDesktopDefaultRootComponent.
Affected platforms
Select one of the platforms below:

Web (K/JS) - Canvas based API
Web (K/JS) - HTML library

Versions

Kotlin version*: latest
Compose Multiplatform version*: latest

Expected behavior
It should not show that error, We should be able to use it successfully.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Closing it, As it was due to same type definition for each Factory class, So now i used named injection, its working now.
But its weird becoz i am wondering how it worked in other platforms then?

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.