[Bug] One's Self never seems to behave quite properly in the presence of the bear

Well I truly seem to be into the weeds recently, and I am not surprised that the bear will not follow. After all, the poor thing might not see its prey amongst these troublesome plants.
My sincere apologies to @leycec for yet another terriffic terrible bug report.
To help our future __selves__
The first piece of strangeness that I am seeing is some misbehavior when it comes to the combination of from __future__ import annotations and certain __dunder__ methods.
For the bear's perusal I present the following code:
from beartype import beartype
from typing_extensions import Self

@beartype
class MyClass:
    attribute: int

    def __init__(self, attr: int) -> None:
        self.attribute = attr

    def add(self, other: int) -> Self:
        self.__class__(self.attribute + other)

    def __add__(self, other: int) -> Self:
        self.__class__(self.attribute + other)

Now, as one might expect, this all works properly! The class gets defined properly and decoration all works.
Now, add some magic at the top of the file from __future__ import annotations. Suddenly it all explodes! In particular, the __add__ dunder method being annotated by Self is the problem.
We get this wonderful but—at least in this case—nonsensical error message from the Bearhugger Broadcasting Service:
BeartypeDecorHintPep673Exception: Method __main__.MyClass.__add__() return PEP 673 type hint "typing.Self" invalid outside @beartype-decorated class. PEP 673 type hints are valid only inside classes decorated by @beartype. If this hint annotates a method decorated by @beartype, instead decorate the class declaring this method by @beartype: e.g.,

    # Instead of decorating methods by @beartype like this...
    class BadClassIsBad(object):
        @beartype
        def awful_method_is_awful(self: Self) -> Self:
            return self

    # ...decorate classes by @beartype instead - like this!
    @beartype
    class GoodClassIsGood(object):
        def wonderful_method_is_wonderful(self: Self) -> Self:
            return self

This has been a message of the Bearhugger Broadcasting Service.

After all, I have done what the bear's news team suggests, but I am still being warned, alas!
If it helps, forward-declaring an appropriate desugaring for Self using a TypeVar does actually work in this case!
from __future__ import annotations

from beartype import beartype
from typing_extensions import Self, TypeVar

OtherSelf = TypeVar("OtherSelf", bound="MyClass")

@beartype
class MyClass:
    attribute: int

    def __init__(self, attr: int) -> None:
        self.attribute = attr

    def add(self, other: int) -> Self:
        self.__class__(self.attribute + other)

    def __add__(self, other: int) -> OtherSelf:
        self.__class__(self.attribute + other)

Many Different Selfes (Yes I Know It Should Be "Selves" But Where's The Fun In That)
As seems to be the case with my forays into the darker reaches of typedom, this is not the end of the story.
Consider, if you will, the case of returning a tuple of Self instances from a function as shown in this little test case:
from beartype import beartype
from typing_extensions import Self, TypeVar

OtherSelf = TypeVar("OtherSelf", bound="MyClass")

@beartype
class MyClass:
    attribute: int

    def __init__(self, attr: int) -> None:
        self.attribute = attr

    def dup(self, other: int) -> tuple[Self, Self]:
        return self.__class__(other), self.__class__(other)

Yet again, I get the same error, but have done exactly as the bear asked! The kicker here is that we can see the error without the from __future__ import annotations. This issue is now firmly in our present!
Yet again, I can work around it somewhat by using my dastardly type variable! Replacing the dup signature with def dup(self, other: int) -> tuple[OtherSelf, OtherSelf]: works consistently as expected.
Oh God Is She Done????
Gratifyingly yes. After dumping renewed levels of typing horror upon the poor unsuspecting bear, I am at least done.

 She was not done!
I Am Not Sure That Redefining One's Self is A Good Idea
Things get even stranger once you put these things in a notebook situation, where we have redefinitions of classes. Even without our dastardly future knowledge, we see further strangeness.
Consider the following example:
from beartype import beartype
from typing_extensions import TypeVar

OtherSelf = TypeVar("OtherSelf", bound="MyClass")

for _ in range(3):
    @beartype
    class MyClass:
        attribute: int

        def __init__(self, attr: int) -> None:
            self.attribute = attr

        def div(self, other: int) -> tuple[OtherSelf, OtherSelf]:
            return self.__class__(other), self.__class__(other)

    my_class = MyClass(0)
    my_class.div(0)

Now this might be reminding you of the horror that was #365, but this one still rears its ugly HEAD even with those fixes!
_BeartypeCallHintPepRaiseDesynchronizationException: Method __main__.MyClass.div() return (<__main__.MyClass object at 0x1050fcc90>, <__main__.MyClass object at 0x105602e50>) violates type hint tuple[~OtherSelf, ~OtherSelf], but violation factory get_hint_object_violation() erroneously suggests this object satisfies this hint. Please report this desynchronization failure to the beartype issue tracker (https://github.com/beartype/beartype/issues) with the accompanying exception traceback and the representation of this object:
    (<__main__.MyClass object at 0x1050fcc90>, <__main__.MyClass object at 0x105602e50>)

I am just doing as the great bear commanded and reporting it here. The traceback is reproducible using the above, but is provided here regardless.
_BeartypeCallHintPepRaiseDesynchronizationExceptionTraceback (most recent call last)
Cell In[18], line 18
     15         return self.__class__(other), self.__class__(other)
     17 my_class = MyClass(0)
---> 18 my_class.div(0)

File <@beartype(__main__.MyClass.div) at 0x1070325c0>:50, in div(__beartype_get_violation, __beartype_conf, __beartype_object_4369887472, __beartype_func, *args, **kwargs)

File ~/Library/Caches/pypoetry/virtualenvs/beartype-pls-CvnbVwHv-py3.11/lib/python3.11/site-packages/beartype/_check/error/errorget.py:226, in get_func_pith_violation(func, conf, pith_name, pith_value, **kwargs)
    223 hint = func.__annotations__[pith_name]
    225 # Defer to this lower-level violation factory.
--> 226 return get_hint_object_violation(
    227     obj=pith_value,
    228     hint=hint,
    229     conf=conf,
    230     func=func,
    231     pith_name=pith_name,
    232     **kwargs
    233 )

File ~/Library/Caches/pypoetry/virtualenvs/beartype-pls-CvnbVwHv-py3.11/lib/python3.11/site-packages/beartype/_check/error/errorget.py:472, in get_hint_object_violation(obj, hint, conf, func, cls_stack, exception_prefix, pith_name, random_int)
    469 if not violation_cause.cause_str_or_none:
    470     pith_value_repr = represent_object(
    471         obj=obj, max_len=_CAUSE_TRIM_OBJECT_REPR_MAX_LEN)
--> 472     raise _BeartypeCallHintPepRaiseDesynchronizationException(
    473         f'{exception_prefix}violates type hint {repr(hint)}, '
    474         f'but violation factory get_hint_object_violation() '
    475         f'erroneously suggests this object satisfies this hint. '
    476         f'Please report this desynchronization failure to '
    477         f'the beartype issue tracker ({URL_ISSUES}) with '
    478         f'the accompanying exception traceback and '
    479         f'the representation of this object:\n'
    480         f'    {pith_value_repr}'
    481     )
    482 # Else, this pith violates this hint as expected and as required for sanity.
    483
    484 # This failure suffixed by a period if *NOT* yet suffixed by a period.
    485 violation_cause_suffixed = suffix_str_unless_suffixed(
    486     text=violation_cause.cause_str_or_none, suffix='.')

I promise that @beartype is getting a sponsorship from me once I am able!

I promise that https://github.com/beartype is getting a sponsorship from me once I am able!

Oh, Gods. No! Please! Anything but that! Whenever you append "once I am able!" to a sentence, you now know that you're wading hip-deep through a vat of paralytic leeches while being video-taped. I feel so bad that I must now console myself for days by binging Shin Megami Tensei IV, in which one plays a human that consorts with demons in post-apocalyptic Tokyo. This the profound depth of my pathos right now. Tokyo, why must you be destroyed yet again just to satisfy my grim amusement!?
Seriously. It's governments and corporations that should be funding @beartype and projects like @beartype of communal interest to AI and humanity alike. But... they're not doing that. Thus I quote the Vonnegut:

So it goes.

Let's do this issue, peeps.

...and I am not surprised that the bear will not follow.

Why!? Why are you not surprised!? You're supposed to be surprised. The bear was supposed to follow you. You even laid a trail of nectar and honey for the bear. But the bear just rolled around in a vat of paralytic leeches while being video-taped instead. :face_exhaling:

To help our future __selves__

__selves__. Call the Python SIG. We got a new dunder attribute on our paws.

Now, add some magic at the top of the file from __future__ import annotations. Suddenly it all explodes! In particular, the __add__ dunder method being annotated by Self is the problem.

Resolved by e408dc36a0e! The intersection of PEPs 563, 673, and dunder methods is indeed a vat of... Very well. I'll stop now. That's just not funny anymore, huh?
Seriously. I'm super-sorry about all of the @beartype breakage you've confronted recently. You're genuinely the first user to faceplant into this poisonous miasma. I feel bad and am prostrate on the ground over here. :bow:

If it helps, forward-declaring an appropriate desugaring for Self using a TypeVar does actually work in this case!

That's super-funny... and super-horrible! I never actually knew you could pass a string as the bounds argument to TypeVar, either. Gah! The bear is frothing at the mouth over this. Although your multifoliate TypeVar examples now all accidentally pass with this most recent commit, they really shouldn't. This derivative example still erupts with an unreadable exception. Kinda less than ideal:
from beartype import beartype
from typing_extensions import TypeVar

Fuggit = TypeVar('Fuggit', bound=fugdis)
# Fuggit = TypeVar('Fuggit', bound='EnduringMisery')

@beartype
class EnduringMisery(object):
    def searing_pain(self) -> tuple[Fuggit, Fuggit]:
        return ('Fuggit...', '...up!')

blinding_agony = EnduringMisery()
blinding_agony.searing_pain()

...which raises the unexpected:
beartype.roar._BeartypeCallHintPepRaiseDesynchronizationException: Method __main__.EnduringMisery.searing_pain() return ('Fuggit...', '...up!') violates type hint
tuple[~Fuggit, ~Fuggit], but violation factory get_hint_object_violation() erroneously
suggests this object satisfies this hint. Please report this desynchronization failure to
the beartype issue tracker (https://github.com/beartype/beartype/issues) with the
accompanying exception traceback and the representation of this object:
    ('Fuggit...', '...up!')

Let's munge up the title of this issue to reflect this new horror show of the day. :ghost:

Why!? Why are you not surprised!? You're supposed to be surprised. The bear was supposed to follow you. You even laid a trail of nectar and honey for the bear. But the bear just rolled around in a vat of paralytic leeches while being video-taped instead. 😮💨

My lack of surprise comes from something very simple: a long, long history of breaking type-checkers of all kinds! As deft and dastardly as the bear can be at times, why should this one be any different?
Arthritic Dragons Indeed

Resolved by https://github.com/beartype/beartype/commit/e408dc36a0e104d368677b5919037a6358b41da7! Technically, all of the above examples now pass. Pragmatically, this is a mine field full of arthritic dragons. Once, they were scary. Now, they're just sad.

A minefield indeed, but one you have managed to wade into with much bravery and get all of my examples working in a very short amount of time! So thank you, yet again, for all of the rapid fix!

Seriously. I'm super-sorry about all of the https://github.com/beartype breakage you've confronted recently. You're genuinely the first user to faceplant into this poisonous miasma. I feel bad and am prostrate on the ground over here. 🙇

Please, please don't feel bad. As I said above, I have a habit of doing awful things to type-checkers of all kinds in my endeavours to reach for the most ancient and forgotten of magicks. That I have reported two bugs (this and #365) and made one eldritch invocation feature request (#350) in no way detracts from the immense amounts of pain that beartype has saved me. The bear's eagle eyes catch subtle typing violations in ways that MyPy cannot (and I'm not only talking about liberal use of Is[...]) and the clear and descriptive errors have always helped me make my software better without any doubt.

That's super-funny... and super-horrible! I never actually knew you could pass a string as the bounds argument to TypeVar, either. Gah! The bear is frothing at the mouth over this. Although your multifoliate TypeVar examples now all accidentally pass with this most recent commit, they really shouldn't.

It is a horror that I discovered totally by accident, and one that has now been inducted into my lexicon of arcane type-isms. Now to stop the bear from getting confused, I suppose!

Resolved by<PHONE_NUMBER>bad. For posterity and future benevolent AI that are currently data-mining the past that once involved biological organisms known as "human," I'd just like to note that the friggin' hash for this resolution contains the substring bad. Srsly. Gape at this in stunned disbelief:

8727751077bad15421fbf326337a766250cb5166

...how. Just, how, git.  This commit is cursed. That's bad. Nothing good can come.
I also think we can both agree, @iamrecursion, that you eat (and break) typing systems for breakfast. Personally, I'd get tired of eating (and breaking) typing systems after awhile. Can't you drink somebody else's milkshake? Can't you break somebody else's toys? Hasn't the ill-fated @beartype 0.18.X release cycle suffered enough at your and @sylvorg's calloused hands? I sob as a disembodied emoji. :sob:

...  This commit is cursed. That's bad. Nothing good can come.

Well we already knew that it was cursed, but wow. I stand stunned and agape in horror at what has been perpetrated against our kind bear.

Personally, I'd get tired of eating (and breaking) typing systems after awhile. Can't you drink somebody else's milkshake? Can't you break somebody else's toys?

It is not on purpose, I swear! It just happens around me...


Unregister a registered vCenter

Requirement Breakdown
Details

Objective
All or selective un-registration of vCenters registered with OMEVVP.

Authentication/Authorization
Authenticate using OME credentials (Basic Authorization).

List of the tasks in the workflow (in   order)
Ensure that required parameters are accepted (See input).Invoke request to unregisterReturn un-registration status and applicable errors if any

Module type: Library and/or executable
Both

Input and format
Accept the following parameters:Parameter to specify all or subset (default is subset)Array of VC UUIDs (in case of selective un-registration) (mandatory)OME username/credential (mandatory)

Expected output and format   Export required
Status of the operation and relevant error message if any

Concurrency requirement.
None

Execution model: synchronous or   asynchronous
Synchronous

Applicable timeouts and retries
No retry needs to be attempted currently.

Expected error handing
Handle all the network and non network related errors and log them in a user friendly way.

Expected domain specific validation
As specified above

https://github.com/dell/omivv/pull/30


Update surro-gate to 1.0.4 to fix compilation issues on OSX

There was an issue with my proxy on OSX, the native extension compilation was triggered even if it was not necessary. As a temporary fix on Friday evening I switched the gem to install from git. Thanks to @kbrock now the issues is fixed and available in the next version.
@miq-bot add_reviewer @kbrock
@miq-bot add_reviewer @djberg96
@miq-bot add_reviewer @lpichler

Using manageiq-providers-kubernetes 0.1.0 from https://github.com/ManageIQ/manageiq-providers-kubernetes (at master@35b0963)
Installing surro-gate 1.0.4 (was 1.0.3) with native extensions
Using gettext_i18n_rails_js 1.3.0


Support text 2.2

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

Comparison is base (b021deb) 54.60% compared to head (8bd3f58) 53.90%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
- Coverage   54.60%   53.90%   -0.71%
==========================================
  Files           7        7
  Lines         141      141
  Branches        2        2
==========================================
- Hits           77       76       -1
- Misses         62       63       +1
  Partials        2        2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[BACKEND] Update LLVM version to https://github.com/llvm/llvm-project/commit/0784b1eefa36d4acbb0dacd2d18796e26313b6c5

@jlebar is there anything else that needs to be addressed here, or can you approve this? (I'll then rebase to the latest main, and merge.)


Can settings.py use environment variables instead of a config.yaml?

So I wanted to dockerize inventree for my docker cluster, ideally using it on postgresql.
See here for my efforts:  https://github.com/rcludwick/inventree-docker
I forked this off a mariaDB docker implementation.
It works, but it's painful.

I have to create a config.yaml
https://github.com/rcludwick/inventree-docker/blob/master/start_gunicorn.sh

The config.yaml is a template so I have to update config.yaml when the config.yaml template changes.

The config.yaml is not configurable for people wanting to use this outside of a small company.  (logging is hardcoded, eg.)

So I have to use environment variables to construct the config.yaml which then is turned loaded by settings.py or fork inventree to change the settings.py to what I need them to be.

So in my professional life when I write a configurable application setting, I just expect people to pass in the value in a environment variable, while providing a reasonable default in the settings.py
So... eg.
LOGGING_DEFAULT = {...}
LOGGING = json.loads(os.getenv("INVENTREE_LOG_CFG","")) if os.getenv("INVENTREE_LOG_CFG") else LOGGING_DEFAULT

Then instead of creating the config.yaml which gets parsed by the settings.py file, it's all just handled simply by the settings.py.
JSON is similar enough to python data structures that it's not a big deal typically.
It's not just logging say, but also:
DRF AUTHN/AUTHZ configuration.
STATIC_URL
MEDIA_URL
AUTH_PASSWORD_VALIDATORS
etc.

Sure, this all seems pretty sensible and goes along with https://github.com/inventree/InvenTree/issues/1214

Sure, this all seems pretty sensible and goes along with https://github.com/inventree/InvenTree/issues/1214


Use tket2 angle type for quantum gate parameters

I think there are three motivations for having an angle type distinct from float:

the desire to express commonly used angles exactly;
the desire to compare angles (and hence operations including them) for equality;
being able to express mod-2pi equivalence as value equality.

Actually floating point is good enough to meet (1) for dyadic rationals (i.e. angles of the form (a/2^n) pi where a and n are integers). I think that the dyadic rationals are the most commonly used angles in quantum circuits, as they arise naturally in the Clifford hierarchy; however, occasionally other rationals are wanted: an example (the only one I can find) is the FSim gate, which uses an angle of 1/6. So there is an argument for being to able to express arbitrary rational multiples of pi exactly (up to some maximum size of denominator).
However, one advantage of working with dyadics rather than general rationals is that converting from float is easy: we can specify a maximum denominator and take the nearest approximation, or simply convert exactly (since the exact value of every finite float is a dyadic rational). With general rationals that is not so easy: finding the nearest rational with denominator <= b is non-trivial, so we'd actually have to specify the exact denominator, which may not be known. In the other direction, dyadic rationals would be represented correctly for denominators up to about 2^52, which is good enough for practical purposes.
I think the simplicity of the angle--float round trip is a good enough reason to restrict to dyadics, given that they account for most of the exact angles used in quantum circuits.
We can then define operations of

addition
subtraction
negation
multiplication by int
division by int

all of which reduce their result modulo 1. Dividing by int is the most problematic case. It is convenient to be able to write e.g. alpha/2 in guppy code when alpha is an angle; but when dividing by an int that is not a power of 2 the result may not be a dyadic rational and we may be forced to approximate with a large denominator. I think this case would be rare, however.


TaxonomyPicker: Possibility to hide deprecated and "Available for Tagging"=false term

Category

[x] Enhancement
[ ] Bug
[ ] Question

Version
1.15.0
Desired Behavior
I would like to be able to configure the TaxonomyPicker to hide terms that are not selectable by the user anyway, as for example "Available for Taggin"=false and deprecated terms. Please see below print screen. I guess in certain situations it might make sense to show these terms and in certain situations it might not make sense.
Observed Behavior

NYC - "Available for Tagging"=false
BER - Deprecated

I did a small PR to solve this request: https://github.com/SharePoint/sp-dev-fx-controls-react/pull/437


Elegant format output

Good to use Elegant's self descripting output file format, which is good way into Elegant's ecosystem.

@skutsaev -- Sirepo includes code for reading and writing SDDS files.
If you can provide an example of the files that you want to parse or to generate, then we can assign this issue to the software team.

This is a duplication of issue #103


Server e2e tests kickoff

Dev Summary
As the issue #79  mentions, this PR is meant to establish a precedent on how to go about unit testing. I modeled the unit test in this PR based on the Jest documentation: https://docs.nestjs.com/fundamentals/testing#unit-testing

Use __mocks__ directory and a service/controller stub to let Jest auto-mock dependencies, as recommended in their docs.
Stub entities and dtos to allow setting up tests for different scenarios

Benefits
If we go with this, the biggest benefit is avoiding unwanted side effects through feature expansion. Down side is that it adds more work. We may want to be strategic about what we test, while we build the MVP.
Test Plan

The PR is the test :)
preReqs:

[x] Tests Pass cd client && npm run checks && cd ../server && npm run checks

> react-scripts test --watchAll=false

 PASS  src/App.test.js
  ✓ renders the neh logo in the header (166 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.626 s
Ran all test suites.

><EMAIL_ADDRESS>lint /home/esteban/Code/Sandbox/NEH/client
> eslint .

><EMAIL_ADDRESS>checks /home/esteban/Code/Sandbox/NEH/server
> npm run test && npm run lint

><EMAIL_ADDRESS>test /home/esteban/Code/Sandbox/NEH/server
> jest

 PASS  src/messages/messages.service.spec.ts
 PASS  src/auth/auth.service.spec.ts
 PASS  src/messages/messages.controller.spec.ts
 PASS  src/users/users.service.spec.ts
 PASS  src/users/users.controller.spec.ts

Test Suites: 1 skipped, 5 passed, 5 of 6 total
Tests:       1 skipped, 7 passed, 8 total
Snapshots:   0 total
Time:        3.395 s
Ran all test suites.

><EMAIL_ADDRESS>lint /home/esteban/Code/Sandbox/NEH/server
> eslint src/**/*.ts

[x] Formatting: no changes after running: cd client && npm run format && cd ../server && npm run format

repro steps:

Go into the server project: cd server
Run the controller test: npm run test users.controller.spec

Resources

nestJS docs - unit testingt
jest docs

Converting to draft for now

@jd2rogers2 , I've put this PR on draft and pushed a new one focusing on the e2e tests: https://github.com/Nonprofit-Exchange-Hub/web-app/pull/131

closing in lieu of https://github.com/Nonprofit-Exchange-Hub/web-app/pull/131


fmt with Go 1.19

The new gofmt adds rules for doc comments. These will create diffs, and thus failures, in CI after upgrading pipelines to 1.19, so for this PR I ran the updated gofmt on sdk/**/*.

Hey @chlowell, I had to gofmt azservicebus so there'll be some conflicts. Probably easiest to just merge with main.

cherry-picked #18822 because some modules in this PR need that fix as well 🙄


Support preferred weight unit

What you want:
Similar to preferred pressure unit, it would be nice if users could indicate a preferred weight unit like kg, lbs and/or stone
Why you want it:
Because Imperial units still exists even though Metric is much easier :(

Thanks for the issue ;). I didn't even know about the stone unit.


Delegated prefix "will expire before renewal" log messages (dhcpcd 10.0.10)

FreeBSD x64 14.1-RELEASE / dhcpcd port 10.0.10
The following messages start shown in log after updated to dhcpcd 10.0.10.
They reappear every three hours, it that helps.
PS: ng0 is the pppoe dynamic interface
Aug 30 13:19:40 router dhcpcd[1014]: ng0: 2a02:587:xxxx:xxxx::/56 will expire before renewal
Aug 30 13:19:40 router dhcpcd[1014]: ng0: ignoring T1 43200 due to address expiry

My dhcpcd.conf follows
noipv4
noipv4ll
ipv6only
noipv6rs

duid
allowinterfaces ng0

option rapid_commit,interface_mtu,classless_static_routes
nooption domain_name_servers,domain_name,domain_search,host_name
require dhcp_server_identifier
vendorclassid

nohook test,resolv.conf,hostname,ntp.conf

interface ng0
  ipv6rs
  ia_pd 0/::/56 bridge0/0/64/1

Please post the output of dhcpcd -U6 ng0 | grep '_t1\|_t2\|_pltime\|_vltime'.
The warning message is that your DHCPv6 server is not configured correctly as vltime should always be higher than t1 if t1 is non zero.
See RFC 8415 Section 18.2.4

Thanks for the tip, Roy.
I've got the following values
nd1_prefix_information1_vltime=2592000
nd1_prefix_information1_pltime=604800
dhcp6_ia_pd1_t1=43200
dhcp6_ia_pd1_t2=69120
dhcp6_ia_pd1_prefix1_pltime=86400
dhcp6_ia_pd1_prefix1_vltime=86400

Hmmm, they look fine to me?
Can you try this patch please?
https://github.com/NetworkConfiguration/dhcpcd/commit/6cb9e8b74f033afdf1b4f29cd5b9943268a32a60

No problems or warning messages so far.
It looks like type casting was causing the issue.


Fixing existing simulation-chart

Address and fix issues related to the HMI chart, including scaling and other improvements.

Not sure if this solution is still valid, the repo hasn't been touched in a long time and may be out of date against the current version of chart.js
https://stackoverflow.com/questions/30216167/chartjs-plot-data-based-with-unequal-time-intervals

Wait for report on #1641


Mac installation error: geos_c.h not found

I suspect a number of Mac users will run into a GEOS issue on pip install lida
      src/_geoslib.c:751:10: fatal error: 'geos_c.h' file not found
      #include "geos_c.h"
               ^~~~~~~~~~
      1 warning and 1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  ERROR: Failed building wheel for basemap

This fixes the problem in my case:
brew install geos
export CPPFLAGS="-I/opt/homebrew/include"
export LDFLAGS="-L/opt/homebrew/lib"
pip install basemap
pip install lida

It may be helpful to include some mention of this in the docs or make the inclusion of basemap optional.
Context
Running Mac OS 13.2.1, Python 3.10.5

Thanks for sharing this.
I'll try to reproduce.
In the mean time, basemap is not a required dependency, so you can modify [pyproject.toml](https://github.com/microsoft/lida/blob/main/pyproject.toml) to remove it and then install from source pip install -e . in the project root.


Refer to Policy documentation when describe “user flow”

I  browsed to “Prerequisites” section:
“Create a user flow to enable users to sign up and sign in to your application.”
and decided, that the whole functionality is not applicable for custom policies.
Then I’ve found that I had to click button at the top, but it is not easy to discover, as many people do not read the whole page from top to bottom, but try to browse it quickly.
Please consider do add links in places where user may need to open alternative, e.g.
Create a user flow ( or custom policy) to enable users to sign up and sign in to your application.”

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

ID: 9c4a65cd-dae6-898a-514b-5bb9238f58a3
Version Independent ID: 9c2f7824-efed-7108-7c1e-eb2b57f3c0d6
Content: Enable Azure AD B2C custom domains - Azure AD B2C
Content Source: articles/active-directory-b2c/custom-domain.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

@MNF Thank you for reaching out with your query , our team will review it and get back to you at the earliest.

@MNF Thank you for the feedback.
The toggle button to choose a policy type between User Flow and Custom Policy is added to almost all How To documents in B2C. This would require changing all of those documents. I will discuss this with the content author to see how can we accommodate the change.


build example/chip-tool from custom toolchain

I wanted build example/chip-tool from custom toolchain and I given below command but does not work.
gn gen out/custom --args='is_debug=true target_os="linux" target_cpu="x86" is_clang=false target_cc="x86_64-openwrt-linux-gcc"  target_cxx="x86_64-openwrt-linux-g++" target_ar="x86_64-openwrt-linux-ar"'"
x86_64-openwrt-linux  toolchain is in the host path.
ninja files are generated but with host compiler instead custom toolchain.
Could you please provide correct command or configuration which build example/chip-tool  from custom toolchain

@vivien-apple,@andy31415 Could you please check this for me.


A function with a generic parameter does not accept a type that itself contains multiple generic parameters

I'm sure there's a better way of describing it but easiest just to show the problem:
class Y<A, B> {}

class Z {

  void foo/*<T>*/(final int a) {
    print(a);
  }

  void bar() {
    this.foo<Y<int, int>>(5); // <=== compile time error here: ; expected, got ,
  }

}

An error is indicated by dart analyzer on the commented line. The type Y<int, int> is not accepted as a type parameter for function foo<T>. This is using SDK 1.22.0-dev.9.0 with strong mode on.
Possibly related is the problem that I cannot use the syntax
void foo<T>(final int a) ...
as this is also marked as a syntax error. I must always use the old pre-1.21 syntax with the generics in comments, i.e.
void foo/*<T>*/(final int a) ...
Are any changes to the analysis options file required in order to "switch on" the new foo<T> syntax? I'm wondering if it's just a configuration thing at my end.

This doesn't reproduce with tip-of-tree, so my best guess is that you are using a version of Dart from before the new syntax was introduced. Not being able to use foo<T>(..) matches this.
How are you analyzing the program? I can see that dartpad isn't up-to-date yet.

I downloaded 1.22.0-dev.9.0 and couldn't reproduce with that one either.
I tried to compile with dartdevc and to check it with the dartanalyzer.
Closing while waiting for more information.

Ok, sounds like it's something at my end. I'm going to do a complete purge and reinstall of Intellij. Thanks for taking the time to look into this!

If you run into this again, please do reopen the bug. If this is something on our end we really want to fix it. thanks.


Whitepaper typos

I noticed a couple typos while reading the white paper. The third commit is based on my impressions from reading the homepage and the white paper so I'm happy to drop it if it's undesirable.
One more thing I noticed was the "non-reputability" characteristic. I'm not familiar with that term and there's no clarification given. Might it be intended to say "non-repudiation," that's a much more familiar concept?

@toonn This looks good to me, we just need a DCO sign off.
I believe you can do that with:
git rebase --signoff "HEAD^^"
git push -f

OK, done. Haven't done this before. Should've read the contributor docs.

@toonn No big deal.  Its an easy fix :)

Did you catch the question about "non-reputability" in my OP?

@edwarnicke, did you catch the question about "non-reputability" in my OP?

@toonn That's an interesting one.  To a native English speaker who's ears are trained to the weird interactions of prefixes and suffixes in the language... "non-reputability" comes across as the characteristic of being "non-reputiable" meaning "something which cannot be repudiated".   To my ears at least, its a much more natural term in that context than "non-repudiation".
All of that said, we live in a global world and it is unreasonable to expect everyone's ears to be tuned to the ludicrous idiosyncrasies of the English language.
Googling around a bit, its pretty clear that, for reasons historical, "non-repudiation" is being used as the term of art in the analogous places.  So while I don't feel that "non-reputability" is either a typo or incorrect, I do feel that using "non-repudiation" improves accessibility to global audiences, and would be open to that change.


update github actions to use Julia version 1.7

Fixes #353
Pull Request Template
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration(s):

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings

Codecov Report

Merging #355 (1006205) into main (b0cc2cc) will increase coverage by 0.38%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #355      +/-   ##
==========================================
+ Coverage   52.03%   52.41%   +0.38%
==========================================
  Files          84       84
  Lines        8041     7751     -290
==========================================
- Hits         4184     4063     -121
+ Misses       3857     3688     -169

Impacted Files
Coverage Δ

src/RepeatingStructures/HexagonalLattice.jl
47.88% <0.00%> (-2.77%)
:arrow_down:

src/Geometry/Primitives/Curves/BSpline.jl
66.66% <0.00%> (-1.61%)
:arrow_down:

src/OpticSim.jl
87.50% <0.00%> (-1.39%)
:arrow_down:

src/RepeatingStructures/Lattice.jl
20.00% <0.00%> (-0.97%)
:arrow_down:

src/Geometry/Transform.jl
55.34% <0.00%> (-0.83%)
:arrow_down:

src/Geometry/Primitives/AsphericSurface.jl
59.39% <0.00%> (-0.73%)
:arrow_down:

src/Geometry/Primitives/Curves/Knots.jl
92.30% <0.00%> (-0.72%)
:arrow_down:

src/GlassCat/generate.jl
89.58% <0.00%> (-0.62%)
:arrow_down:

src/Geometry/CSG/CSG.jl
83.76% <0.00%> (-0.47%)
:arrow_down:

src/GlassCat/GlassTypes.jl
43.33% <0.00%> (-0.32%)
:arrow_down:

... and 50 more

Continue to review full report at Codecov.

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


Need inexpensive way to get the type of a Salesforce field

I would like to be able to flag the expression below as a type error
(Origin = 10)
Here's what I've found on getting Salesforce field type information.   I need something I can use at runtime instead of compile time.
Map<String, Schema.SObjectField> fieldMap = Schema.SObjectType.Case.fields.getMap();
Schema.SObjectField T = fieldMap.get(field);
Schema.DescribeFieldResult F = T.getDescribe();

This was resolved in release 1 by creating the symbol table object RF_SymTable and populating the symbol table when an identifier (which are all fields at this point) are enchanted.   The parse get needs to to an inexpensive lookup to the symbol table to find the type of an identifier.


[MultiQubitGates] Added Sections on Bra-Ket Algebra and Multi-Qubit Gates acting on Non-adjacent qubits.

Added per discussion here: #328 comment
I have added two sections on Ket-Bra Algebra. The sections added include Bra-Ket Representation and Bra-Ket Decomposition. They are similar to the corresponding sections in SingleQubitGates.
I have added a section on the Usage of Multi-Qubit gates on Non-Adjacent Qubits. It follows the guidelines prescribed by @tcNickolas
These changes go towards finishing the 2nd checkbox in the checklist here.

Thank you! I might not get to reviewing this as fast as I'd like to, but I promise I'm not ignoring you, just busy with the Q# contest...

No worries. I am looking forward to the contest.
tbh I started working on the Katas as a way to brush up my Quantum Computing Knowledge. Solving the Katas seems fun and reminds of the course I took in Quantum Computing my semester abroad.

@ArthurConmy I have added the requested changed. I edited them briefly and moved it to place which I felt was more appropriate.
https://github.com/microsoft/QuantumKatas/blob/e4402ec79f7a9579f21ba4c21d93e33c615ad137/tutorials/MultiQubitGates/MultiQubitGates.ipynb#L583-L585

@tcNickolas Could you take a look at this.


Remove all the patches removing ulimit calls

Description
Removed all the patches which removed ulimit calls from various pre-start and other kubecf scripts.
Motivation and Context
This is in the context of tickets #504 and #505, where a first set of these patches was given to upstream for consideration. In the recent check of what they were used for the discussion introduced the possibility that the patches might not be necessary anymore, or even if, that the underlying issue could be solved differently, via ops files modifying job capabilities.
Testing without the patches strongly indicated them as not necessary anymore. Thus this PR removes them, and the relevant upstream PRs (https://github.com/cloudfoundry/capi-release/pull/172, https://github.com/cloudfoundry/diego-release/pull/512) will be retracted and closed.
:warning: I am deferring the retractions until after this PR is reviewed, accepted, and merged.
How Has This Been Tested?
It was tested that both then-master f90161acb9f6bb155e7b70f5638f353b3d803953 and the branch from it without the ulimit patches deploy and then pass the :cat2: tests.
:warning: The tested branch was rebased to the current master commit fef511185b3a0617e8dfb837a86e2e1e4faed8a4, it has not been re-tested.
The initial testing using an SA config on a local minikube with 16/20 G memory failed severely in the :cat2: even for the unchanged baseline, making this attempt useless.
The final testing then happened using a GKE cluster deployed via catapult. The necessary bundle of charts was created from the relevant commit via

bazel build //deploy/bundle:kubecf-bundle

The catapult configuration used was
export AUTOSCALER=false
export BACKEND=gke
export CLUSTER_NAME=_ulimit
export DEBUG_MODE=true
export ENABLE_EIRINI=false
export HA=false
export KUBECF_TEST_SUITE=cats
export SCF_OPERATOR=true
export SCF_TESTGROUP=true
export GKE_CLUSTER_NAME=ak-kubecf-505-ulimit

export SCF_CHART=/work/SUSE/dev/kubecf-1/output/kubecf-bundle.tgz
# ! Modify the above to whatever local location of the bundle

export GKE_CRED_JSON=/work/SUSE/dev/kubecf-1/output/gke-cred.json
# ! Creds pulled out of black box.

using the targets

scf, scf-login, tests-kubecf, scf-clean, clean
to deploy, test and clear the cluster in question.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code has security implications.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Thank you for the reminder about the commit message. Will fix.

Squashed history and amended the commit message based on Mark's comments.
Rebased.


Saving and Importing a JSON with pictures.

When you add a picture to a file and download the json the image is being saved as a base64 in the file. When I import the saved json back into the application the image file in there but it is not visible.

@Peterksharma Thanks for your feedback, I will check the issue later.

I have fixed this issue in<EMAIL_ADDRESS>


pylance JavaScript heap out of memory I set NODE_OPTIONS and exlude

I am a vscode newbie. I work on a large python project using a remote connection. I tried setting NODE_OPTIONS to a large value in my .bashrc on the remote server
export NODE_OPTIONS="--max-old-space-size=8192" # 8gb
export NODE_OPTIONS="--max-old-space-size=10204" #10gb

Environment data

Language Server version: Python v2024.6.0
OS and version: Linux mustard 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
miniconda Python 3.11.4

2024-05-05 10:04:15.263 [info] (Client) Pylance async client (2024.4.1) started with python extension (2024.6.0)
2024-05-05 10:04:15.959 [info] [Info  - 10:04:15 AM] (522622) Pylance language server 2024.4.1 (pyright version 1.1.356, commit 6652c4a8) starting
2024-05-05 10:04:15.960 [info] [Info  - 10:04:15 AM] (522622) Server root directory: file:///private/home/aedavids/.vscode-server/extensions/ms-python.vscode-pylance-2024.4.1/dist
2024-05-05 10:04:15.960 [info] [Info  - 10:04:15 AM] (522622) Starting service instance "extraCellularRNA"
2024-05-05 10:04:16.041 [info] [Info  - 10:04:16 AM] (522622) Setting pythonPath for service "extraCellularRNA": "/private/home/aedavids/miniconda3/envs/extraCellularRNA/bin/python"
2024-05-05 10:04:16.041 [info] [Info  - 10:04:16 AM] (522622) Setting environmentName for service "extraCellularRNA": "3.11.4 (extraCellularRNA conda)"
2024-05-05 10:04:16.107 [info] [Info  - 10:04:16 AM] (522622) Assuming Python version 3.11.4.final.0

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

2024-05-05 10:11:07.085 [info]  1: 0xb85bc0 node::Abort() [/private/home/aedavids/.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
 2: 0xa94834  [/private/home/aedavids/.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]

2024-05-05 10:11:07.085 [info]  3: 0xd66d10 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/private/home/aedavids/.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]

Code Snippet
I added the terminal parameters. Our system admin requires us to add the other parameters to reduce memory usage on the server. I looked at https://github.com/microsoft/pyright/blob/main/docs/configuration.md maybe exclude is not set up correctly?
Also does vscode save the index file?

Or you may specify your own Node.js executable
#pylance-is-crashing

if you want to use more memory then based on your env, you either need to use your own node execuatable (local vscode), or set env var like you did for remote vscode
you can't mix 2. if you are using local vscode, env var for remote won't work.

Hi HeeJae
I work on mac os and linux. Node.js has different paths. Is there a way I can specify the path for each environment separately?
Kind regards,
Andy
From: Heejae Chang @.>
Date: Monday, May 6, 2024 at 10:59 AM
To: microsoft/pylance-release @.>
Cc: andrew e. davidson @.>, Author @.>
Subject: Re: [microsoft/pylance-release] pylance JavaScript heap out of memory I set NODE_OPTIONS and exlude (Issue #5849)
if you want to use more memory then based on your env, you either need to use your own node execuatable (local vscode), or set env var like you did for remote vscode
you can't mix 2. if you are using local vscode, env var for remote won't work.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/pylance-release/issues/5849#issuecomment-2096607495, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AN3VWASVUW4MR3ISHPCHC6DZA7AGZAVCNFSM6AAAAABHH4PAZOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJWGYYDONBZGU.
You are receiving this because you authored the thread.Message ID: @.***>

Hi Heejae
Sometimes I do all my work on my mac using the local file system. Other times I start vscode on my mac and use remote. For example here is how I configure my PYTHONPATH in .vscode/setting.json
{
"terminal.integrated.env.linux": {

    "PYTHONPATH":"/private/home/aedavids/extraCellularRNA/deconvolutionAnalysis/python:/private/home/aedavids/extraCellularRNA/src:/private/home/aedavids/extraCellularRNA/intraExtraRNA_POC/python/src"

},

"terminal.integrated.env.osx": {

    "PYTHONPATH":"/Users/andrewdavidson/googleUCSC/kimLab/extraCellularRNA/deconvolutionAnalysis/python:/Users/andrewdavidson/googleUCSC/kimLab/extraCellularRNA/src:/Users/andrewdavidson/googleUCSC/kimLab/extraCellularRNA/intraExtraRNA_POC/python/src"

},

"python.terminal.executeInFileDir": true,

Kind regards,
Andy
p.s. setting "python.analysis.nodeExecutable": "/usr/bin/node"
on the linux remote did not work. I can start node from terminal how ever it throws errors in vscode
From: Heejae Chang @.>
Date: Monday, May 6, 2024 at 11:39 AM
To: microsoft/pylance-release @.>
Cc: andrew e. davidson @.>, Author @.>
Subject: Re: [microsoft/pylance-release] pylance JavaScript heap out of memory I set NODE_OPTIONS and exlude (Issue #5849)
I work on mac os and linux. Node.js has different paths. Is there a way I can specify the path for each environment separately?
can you be more specific? are you saying you are using remote? and client is on mac and server is on linux? or are you saying you have 1 repo that you work on 2 different machines?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/pylance-release/issues/5849#issuecomment-2096672530, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AN3VWAQC7STPVMZFA4SXHHLZA7E4JAVCNFSM6AAAAABHH4PAZOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJWGY3TENJTGA.
You are receiving this because you authored the thread.Message ID: @.***>

I do all my work on my mac using the local file system

for this case, you can do https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#provide-your-own-nodejs-executable-to-run-pylance-with

Other times I start vscode on my mac and use remote

for remote case, you can do https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#increase-memory-limit-for-vs-code-remote-only

Adding :
    "terminal.integrated.env.windows": {
        "NODE_OPTIONS": "--max-old-space-size=10204"
    },
    "terminal.integrated.env.linux": {
        "NODE_OPTIONS": "--max-old-space-size=10204"
    },
    "terminal.integrated.env.osx": {
        "NODE_OPTIONS": "--max-old-space-size=10204"
    }

Or any other suitable value for the ram ( 10204 : 10 GB ) worked fine for me (local vscode, no remote connection), to fix the constant crashes with many files opened and large python projects. Thanks.

interesting...


Add tests to ensure the SDK does not contain classes with Resource or Collection suffix but not inheriting from ArmResource or ArmCollection

We should be able to add some base test cases in the ManagementRecordedTestBase class

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'ARM:0.37350348,Compute:0.06707574,Compute - VM:0.043491688'

#32587

Later on we can add this rule into analyzers, like https://github.com/archerzz/Azure.MgmtSdk.Analyzers/blob/main/Azure.MgmtSdk.Analyzers/ModelName/ModelNameResourceSuffixAnalyzer.cs

This can be reverted when we add the analyzer rules in https://github.com/Azure/azure-sdk-tools/issues/6905


Change variable root to constant to avoid warnings.

Description
There is a warning related to the root variable in when.swift. So I've change it to constant.

this is a very lightweight pull-request that aims avoid a warning :) @mxcl PTAL 🙏

This seems to have already been committed & merged in 67e588c804a4c8c8b902cb13625bb476134c72d5.

since this is solved in this commit I'm closing the PR.


Add headers from default rails installation

so javascript is available again.
This fixes bug with GET for 'sign_out' route.
Otherwise, it will not work in default Rails installation (features passes anyway).
And add note for new Rails installation to make cucumber green out of box.

Hi @denispeplin , I'm confused. You're saying that this does not work on a new Rails 3.2 app, but the tests do pass? Is it possible to make the tests fail?

I think that tests are passed because Webrat uses test simulation, and it does not work exactly like a browser.
Selenium can be used to make tests fail, because it will use a real browser.

I'd be very interested in seeing a failing test, so we don't hit this regression in the future.

Please look at recent commit.
It should work, but it does not work for me as expected.
cucumber --tags @javascript  is green, and this is from test.log:
Served asset /defaults.js - 404 Not Found (2ms)
Started GET "/" for <IP_ADDRESS> at 2012-01-27 23:25:30 +0400

That is exactly what I see in browser: GET request for sign_out.
The only thing left is to make cucumber know about this, because for now it still green.
bundle exec cucumber --tags @javascript
Using the default profile...
DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in User instead. (called from include at /home/den/railsdesk/app/models/user.rb:2)
@javascript
Feature: Sign out

  In order to protect my account from unauthorized access
  As a signed in user
  I want to sign out

  Scenario: User signs out                      # features/clearance/visitor_signs_out.feature:8
    Given I am signed up as<EMAIL_ADDRESS># features/step_definitions/clearance/clearance_steps.rb:3
    When I sign in as<EMAIL_ADDRESS>     # features/step_definitions/clearance/clearance_steps.rb:34
    Then I should be signed in                  # features/step_definitions/clearance/clearance_steps.rb:114
    When I sign out                             # features/step_definitions/clearance/clearance_steps.rb:49
    Then I should be signed out                 # features/step_definitions/clearance/clearance_steps.rb:119

1 scenario (1 passed)
5 steps (5 passed)
0m7.859s

I see the opposite: when I just add @javascript to that feature I get a failure in a full rake, but when I take your pull request I still see the failure.


Update legacy documentation to match the structure and style of main.

Fix many broken links and problems.
Closes #186

LGTM! By the way, maybe we should also make legacy a protected branch so these PRs require a review?


Bump tooz to 6.2.0

Bump tooz to version 6.2.0 this contains the fix https://github.com/openstack/tooz/commit/d09659ed5b20298234ddc7c1ed75721725dade29 (https://github.com/openstack/tooz/compare/6.1.0...6.2.0) which fixes TLS on Redis Sentinel (which was broken in 6.1.0)

Thanks @jk464.  Can you add a changelog entry to make tests happy.  This looks good to me.


Heart damage display not working in SMP

On servers the black heart damage display no longer appears like it does in SMP. Is this intended or a bug?

It should be working on servers. I'll see what's going on

https://gist.github.com/mrammy/02d44659634811d29ab7

Yeah probably am XD
Also, be careful with running code from this repo, I don't always commit working and fully tested code. Don't blame me if it breaks your worlds. I don't mind you doing it of course, but you've ben warned :)

Oh I'm well aware of breaking things. Just wanted to try it out. Working on a fix already.

Last commit fixed the crash at startup, but there's still a crash when it tries to spawn the particles.
Minecraft's particle system is so annoying to mess with >_>

I think it's fixed now. Ran it on a private server and it worked with no crashes :3

You should really use sendToAllAround instead of sendToDimension, and you also managed to beat me to my pull request... lol

sendToAllAround would send it to players that aren't in the same dimension. Which is pointless since they wouldn't see the particles =P

Also, yup just saw your PR XD
Would you mind trying my latest fix first? If that is still not working I'll revert and merge your PR.
But I'm pretty sure what I did works because I tested it myself this time ;D

no it wouldn't it uses TargetPoint in a dimension with a specified range
public static void sendToAllAround(IMessage message, int dimension, double x, double y, double z, double range) {
		Instance.sendToAllAround(message, new NetworkRegistry.TargetPoint(dimension, x, y, z, range));
	}

Oh right! For some reason I read "sendToAll", sorry XD
Yeah I'll use your method, it makes way more sense :3
Thanks!


Post_subscription prevent duplicates

Prevent that post_subscription (ngsi_v2.cb.py) creates a duplicate entry.
The methode shall now check, if the exact same subscription already exists.
If yes, it makes a log entry and returns the ID of the already created subscription

closed by #23


update: evmos github repo

Hero, thank you!

Probably should update the repos in the yaml configs as well ;)


Prepare release 1.1.0

What does this PR do
Prepare for the Variants release 1.1.0

Warnings

:warning:
The library files were changed, but the tests remained unmodified.
Consider updating or adding to the tests to match the library changes.

  Generated by :no_entry_sign: Danger Swift against de4fcf1dc12c4e6f2940117fcb87959f529ff351


Fix/ensure input ids

Additional fix to be applied directly after https://github.com/WaniKani/WanaKana/tree/fix/microsoft-ime
I was relying on ID attribute of bound elements - but user might not provide them.
Now we add/remove a data-attr to keep track of listeners instead so there are no misses or collisions.

Changes Unknown when pulling 67b5d8c08304545b28ae73474627aea52bded47f on fix/ensure-input-ids into ** on master**.

Changes Unknown when pulling 636cac53eb6abe55c64a971ce5d3801f8435adbc on fix/ensure-input-ids into ** on master**.


Port to GTK+ 3, GStreamer 1.0, and Gio.Settings

WIP on this issue.

FWIW, the turtleart-activity port is in reasonably good shape now. I'd recommend it as a point of departure for this port.


Cannot see monitoring data for MySQL and HTTP requests.

Describe the bug
I deployed a test application and accessed one of its http interfaces through the company’s office network. The application just checked mysql and the interface could be accessed normally, but I couldn’t see any requests for this http interface or mysql monitoring information in Pixie. The access to the interface was routed through a loadbalance type service via DNS.
Expected behavior
I should be able to see the relevant HTTP and MySQL monitoring information.
App information (please complete the following information):

Pixie version

K8s cluster version
1.22
Node Kernel version
5.10.134-13.al8.x86_64
Browser version
chrome  113.0.5672.92（正式版本） (arm64)

Details

I found that I can monitor the http call by way of curl access to the target serviceName in a Pod inside the k8s cluster, but from outside the cluster, through the domain name pointing to the service inside my cluster, the type is loadbalancer, such a way is not monitored, I want to know why this is? Is this normal?

Hi @asasas234, can you provide more information about the applications running on the cluster and the type of loadbalancer in use? What language is the http service written in and is it connecting to the MySQL database over TLS? Is the loadbalancer connecting to the HTTP service over TLS as well?

@ddelnano I'm using the HTTP protocol and not connecting to MySQL via TLS. My backend web service is written in Java language, and I can monitor it through serviceName by using curl from other pods. However, when I access the service (which is of type loadbalancer) within the cluster through the domain name pointing to the service inside the cluster, I cannot monitor it (neither the HTTP requests nor the MySQL requests).

'''
Below is the YAML configuration for my service.
apiVersion: v1
kind: Service
metadata:
  name: xxxx
  namespace: xxx
  labels:
    app: xxx
    cloud: ali
    cluster: xxx
    service.beta.kubernetes.io/hash: f55f3cf32b8ef65bdc5184968c33b2785024f9a4f16a73306907f4e9
    service.k8s.alibaba/loadbalancer-id: lb-t4nlefwto04c1a4436i8o
  annotations:
    AnnotationCluster: '40'
    AnnotationLoadBalanceURL: http://ratel.vipkid.com.cn/v1/api/services/updateLBIp
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: http:80
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: wrr
    service.beta.kubernetes.io/alicloud-loadbalancer-address-type: intranet
    service.beta.kubernetes.io/backend-type: eni
spec:
  ports:
    - name: main
      protocol: TCP
      port: 80
      targetPort: 8080
      nodePort: 30430
    - name: crontab
      protocol: TCP
      port: 50091
      targetPort: 50091
      nodePort: 31010
  selector:
    app: xxxx
    build_id: 'xxx'
    runenv: prod
  type: LoadBalancer
  sessionAffinity: None
  externalTrafficPolicy: Local
  healthCheckNodePort: 32035
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  allocateLoadBalancerNodePorts: true
  internalTrafficPolicy: Cluster

@ddelnano Hello, this has nothing to do with it. I tried to manually set service.beta.kubernetes.io/alibaba-cloud-loadbalancer-http2-enabled to off, but it did not work. I also mentioned before that when I accessed the target service inside the same cluster through curl http://serviceName/api/xxx, pixie could see the monitoring data. The call to mysql was also made inside my own Java service, but what is strange is that when I access the target service outside the cluster through curl http://xxxx.com/api/xxx, not only will there be no HTTP monitoring data, but also no mysql monitoring data.

@ddelnano  I found the following errors, not sure if it is related to my issue.

{
  "time_":<PHONE_NUMBER>849,
  "node": "ap-southeast-<IP_ADDRESS>.186",
  "source_connector": "socket_tracer",
  "status": 9,
  "error": "libssl not found [path = /proc/1707986/root/proc/1707986/root/usr/lib/x86_64-linux-gnu/libssl.so.1.1]",
  "context": "AttachOpenSSLUprobesOnDynamicLib"
}

Hello, this has nothing to do with it. I tried to manually set service.beta.kubernetes.io/alibaba-cloud-loadbalancer-http2-enabled to off, but it did not work. I also mentioned before that when I accessed the target service inside the same cluster through curl

I was trying to understand if the Alibaba load balancer and curl case were using different HTTP protocol versions. There are many factors at play here, so the more detail the better. I also want to validate that I understand what has been described already :)
Can you confirm where TLS is being terminated? My understanding was that the missing protocol traces were for plaintext HTTP and MySQL traffic. Assuming that's the case, the stirling_errors you linked to are unrelated.
It might be easier to continue this discussion in the Pixie community slack so we can share details and debugging options more real time. It's very difficult to debug this type of a situation without a reproducible example that we can investigate ourselves (please provide if this is easy to share). The rough outline of where to start debugging this is documented here.

I'm having trouble logging into Slack and I'm not receiving the verification code sent to my email. My account and password don't seem to be working either. I'm not very familiar with the commands in your debug document, so I need to study it.
I'm trying to explain my problem. I can see the monitoring data when requests are made within the cluster, but I can't see the monitoring data when there is external traffic entering the cluster.

@ddelnano I have already confirmed that it has nothing to do with stirling_errors, since the IP of the node where the error occurred is not the same as the IP of my project.

@ddelnano Is Discord possible? We can communicate in real time through Discord.

@ddelnano Sorry, it was my own mistake. The domain was pointing to the IP of another cluster with the same service, so the interface response seemed fine, but there was no monitoring data.

@asasas234 not a problem and glad to hear things are working as expected!


Implement own version of binary kafka protocol

None of the current kafka protocol implementations is feature complete. To minimize dependencies on other libraries we could implement our own protocol. This should also enable #51

See https://github.com/real-digital/esque-wire


Use existing Login not filegator login

Hi,
I have a question, I have existing login of our system, I want to use it instead of login on the filegator. How can I redirect on the file directory after I log in on my existing login on our system?

Hi,
You can achieve this by creating your own custom Auth adapter.
See https://docs.filegator.io/configuration/auth.html


Some files do not throw any exception, it's stops the compiler instead

Edit: That files do not throw anything, not only AssertionError. Simply I put this:
throw Exception('test');

Does not log anything and compiler stops...
Problem occurs within specific project, specific files and there is nothing unusual about this project. May be I have same error in other projects but somewhat I never faced.
I tried dart --enable-asserts dir/file.dart but it also throws other errors and does not solve my problem.
What's happening exactly is, when compiler comes to specific line that contains the assertion, it's just stops there, it's not logging anything. I can interact with app which is compiled until that line...
dart --enable-asserts log:
../../flutter/packages/flutter/lib/src/foundation/basic_types.dart:10:1: Error: Not found: 'dart:ui'
export 'dart:ui' show VoidCallback;
^
../../flutter/packages/flutter/lib/src/foundation/binding.dart:9:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show saveCompilationTrace, Window, window;
       ^
../../flutter/packages/flutter/lib/src/foundation/key.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show hashValues;
       ^
../../flutter/packages/flutter/lib/src/widgets/app.dart:29:1: Error: Not found: 'dart:ui'
export 'dart:ui' show Locale;
^
../../flutter/packages/flutter/lib/src/widgets/basic.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show Image, ImageFilter;
       ^
../../flutter/packages/flutter/lib/src/widgets/binding.dart:7:8: Error: Not found: 'dart:ui'
import 'dart:ui' show AppLifecycleState, Locale, AccessibilityFeatures, FrameTiming, TimingsCallback;
       ^
../../flutter/packages/flutter/lib/src/widgets/binding.dart:21:1: Error: Not found: 'dart:ui'
export 'dart:ui' show AppLifecycleState, Locale;
^
../../flutter/packages/flutter/lib/src/widgets/bottom_navigation_bar_item.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show Color;
       ^
../../flutter/packages/flutter/lib/src/widgets/color_filter.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui';
       ^
../../flutter/packages/flutter/lib/src/widgets/editable_text.dart:7:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui hide TextStyle;

[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E287,
    locale en-US)
    • Flutter version 1.12.13+hotfix.9 at /Users/user/flutter
    • Framework revision f139b11009 (13 days ago), 2020-03-30 13:57:30 -0700
    • Engine revision af51afceb8
    • Dart version 2.7.2

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/user/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling
      support)
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4, Build version 11E146
    • CocoaPods version 1.9.1

[!] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)

[✓] IntelliJ IDEA Ultimate Edition (version 2019.3.4)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 45.1.2
    • Dart plugin version 193.6911.31

[✓] VS Code (version 1.44.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.9.1

[✓] Connected device (1 available)
    • iPhone 5s • D320C07E-0BB0-4715-BE18-072F32886F04 • ios •
      com.apple.CoreSimulator.SimRuntime.iOS-12-4 (simulator)

! Doctor found issues in 1 category.

Hi @softronaut
Can you explain what files are you referring to?
can you please provide your flutter run --verbose`?
Also, to better address the issue, would be helpful if you could post a minimal code sample to reproduce the problem
Thank you

@TahaTesser
The project is quite big and complex but I just tried reproduced what exactly happening with minimal code and actually I'm confused, may be I don't know how Dart should behave exactly.
This is the minimal code:
const nums = [1, 2, 3];

void main() {
  final box = Box();

  nums.map((i) => box.increment(i)); // does not throw anything
  nums.forEach((i) => box.increment(i)); // throws
}

class Box {
  void increment(int i) {
    throw Exception('test');
  }
}

To summarize in my production sample, the files are DB related dart files for Repository classes and they do mostly filtering via map etc. functions.
Is this expecting behavior? If so, I'm sorry to bother because it's comes up like a stackoverflow question. But it does not make sense for me and pretty surprised didn't face this much before...

Hi @softronaut
Please see https://flutter.dev/community for resources and asking questions like this, you may also get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you


new cask for EPI2ME Agent v2.52.1202033

EPI2ME is a cloud analytics platform for data from genetic
sequencing devices made by Oxford Nanopore Technologies Ltd.
This cask is for the latest stable release of the EPI2ME desktop app.

After making all changes to the cask:

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

Additionally, if adding a new cask:

[ ] Named the cask according to the token reference.
[ ] brew cask install {{cask_file}} worked successfully.
[ ] brew cask uninstall {{cask_file}} worked successfully.
[ ] Checked there are no open pull requests for the same cask.
[ ] Checked the cask was not already refused in closed issues.
[ ] Checked the cask is submitted to the correct repo.

Welcome, @rmp. Next time, please run the commands in and fill the PR template.
Refusing this as it appears to be a walled build.


⚠ Bofrost.be has degraded performance

In 9f5ce7b, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 958 ms

Resolved: Bofrost.be performance has improved in d1b7128 after 6 minutes.


[Doc]KFP caching

This PR adds KFP step caching to pipelines doc.
Part of https://github.com/kubeflow/pipelines/issues/2904

/assign @Ark-kun

/assign @numerology

@rui5i FYI you can preview the change at https://deploy-preview-1875--competent-brattain-de2d6d.netlify.com/

/assign

Just realized one thing. I think perhaps it's better to briefly talk about the behavior of caching under uDSL vs. KFP DSL here. @rui5i

Thanks @joeliedtke , Please take a further look.

/lgtm

/lgtm

Somehow the last commit has removed all the files. I'll make another PR to restore the text.


Logic that executes on state change

Hello. Is there a way to configure Logic to fire when some deep state changes?
It would be a different approach where instead of running business code on FETCH_POLLS there would be only dispatched action like FETCH_POLLS_START which would set state polls.fetching to true. A Logic would run when it would detect transition of polls.fetching from false to true. This would bring interception based not on action type but on state change, which is even more general.
There are projects like redux-watch which solves only this part. Could it be conbined with redux-logic?
What do you think?

I hadn't considered this use case but I don't see why it wouldn't work.
The easiest thing to do would be to create logic which listens to action type '*' (or a regex or array of action types that could possibly change the deep state you are interested in).
It would have compare the deep state to the previous state and if different trigger what ever you would want to happen and store the new state for the next comparison.
Here is example code:
let lastPollsFetching = false; // always keeps the last state to compare against
const pollsFetchingWatchLogic = createLogic({
  type: '*',  // or a regex or array of action types that could change pollls.fetching
  process({ getState, action }, dispatch) {
    const pollsFetching = getState().polls.fetching;
    if (lastPollsFetching != pollsFetching) { // state has changed
      lastPollsFetching = pollsFetching; // update local copy so doesn't trigger twice
      if (!pollsFetching) { return dispatch(); } // only fetching if truthy
      axios.get('/foo')
        .then(resp => resp.data.polls)
        .then(polls => {
          dispatch({ type: FETCH_POLLS_SUCCESS, payload: polls });
        })
        .catch(err => {
           dispatch({ type: FETCH_POLLS_ERROR, payload: err, error: true });
        });
    } else { // pollsFetching not updated, dispatch empty to end processing, nothing else to do
      dispatch();
    }
  }
);

So this basically would fire on any action type (so anything that could change state), then we quickly determine whether the state we care about pollsFetching has changed and either do something or not. If it is easy to limit down what actions might possibly change the state then you could use a regex or array of strings/regex to further restrict this logic to run only after those actions further improving performance.
I'll take a look at redux-watch and also give it some more thought, but the above would be a solution given the current api.

Yes, it is doable as you describe but then the main feature of redux-logic is not used.
I allways wonder why almost all similar libraries execute business logic on action and only few on state change. I think that there are many usecases for executing business logic on state change.

I think we can close this issue for now, we can revisit later as necessary.

My (quick) proposal:
createWatcher({
  debounce: ...,
  throttle: ...,
  latest: ...,
  warnTimeout: ...,

  // called before and after reducer to get old and new value for comparation
  getWatchedValue({ action, getState }) {
    return getState().someProperty;
  },

  // optional function to detect the change
  detectChange(oldValue, newValue) {
    return oldValue !== newValue; // default implementation
  },

  // called when value has changed
  onValueChange(/* same signature as process(...) */) {
    //
  },

  /* state-change based cancellation - this could be also in createLogic(...) */

  // called before and after reducer
  cancelGetWatchedValue({ action, getState }) {
    return getState().someProperty;
  },

  // optional
  cancelDetectChange(oldValue, newValue) {
    return oldValue === newValue;
  },
});

Thanks for the suggestion @zdila. I'm thinking about all of this.


Can't get O5 state on ODI stick

Provider uses BDCOM.
I have telnet access to the provider's ONU.
I tried to set/clone all the values with using ODI's web interface...
Provider's ONU:
# flash get GPON_PLOAM_PASSWD
GPON_PLOAM_PASSWD=1234567890

I tried to set PLOAM password with using ODI's web interface and it returns:
# flash get GPON_PLOAM_PASSWD
GPON_PLOAM_PASSWD=31323334353637383930

Not sure if that is correct, seems like it adds 3 to each symbol. But ONU state is 3. I tried to set it using telnet:
# flash set GPON_PLOAM_PASSWD<PHONE_NUMBER>
GPON_PLOAM_PASSWD=1234567890

No luck...
So I'm not sure what is the correct value for PLOAM_PASSWORD, should I use hex or ASCII or add 0 to each symbol... or maybe OLT wan't to get something else from me...
BTW logs from OLT:
May 21 17:26:39 %GPON-ONUACTIVATE: ONU RTKG:11111111 is activated on GPON0/4:2.
May 21 17:26:38 %GPON-ONUDISCOVER: ONU RTKG:11111111 is discovered on GPON0/4:2.
May 21 17:26:36 %GPON-ONUDEACTIVATE: ONU RTKG:11111111 is deactivated on GPON0/4:2, cause Omci linkdown.

I guess I need to fix some other values, but not sure what values should be changed.
Could anyone please help me?

Fixed by running:
# flash set GPON_PLOAM_FORMAT 0
GPON_PLOAM_FORMAT=0
# flash set GPON_PLOAM_PASSWD<PHONE_NUMBER>
GPON_PLOAM_PASSWD=1234567890


Add EnforceMaxLifeOfIssues to event-processor.config set to Off

Add EnforceMaxLifeOfIssues to event-processor.config set to Off

/check-enforcer override


home-assistant: find unstable versions in parse-requirements.py

Motivation for this change
Previously unstable versions would not have been found, because the
regular expression was looking for a numeric version after the attribute
name. When the version is however an unstable one, it would start with

unstable-2021-04-23

and therefore not match the pattern.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@fabaff Fix for the slackclient package included.

Thanks, nice work.


Modal is too big in mobile screen

if you open the website on a mobile device
you will see that Modal that is appear after clicking the Make Purchase button in mobile screen it will be bottom of the screen is too big.
text Congratulation is turn cut off
first go to README and do the steps to run the project locally
use tailwind class to fix the issue

Hello @devbytemehedi, Can you assign me to this issue?

Hope this satisfy your requirement

Sending PR soon

@Bolaji06 Great work. Keep up the good work.

@Bolaji06 Great work. Keep up the good work.

Glad I could provide value to your project and thanks for allowing me to work on the project. Appreciate.


fix: avoid crawling excluded paths

I noticed that fast-glob is crawling excluded directories, which slows down startup time significantly for large projects.
I've replaced fast-glob with recrawl and globrex. Recrawl does not support absolute globs, so I map scanOptions.{include,exclude} into their relative forms. At the same time, I use globrex to transform the globs into regexes. Recrawl has its own glob syntax, but regexes are also supported. With globrex, users get normal glob syntax.
Lastly, I've removed the /**/* parts from the default exclude globs, because those prevent Recrawl from skipping traversal of the node_modules and .git directories, which is the big performance improvement.
I consider this PR a fix, not a breaking change.

@aleclarson look like it failed on windows test

@hannoeru Fixed

Can I have a simple benchmarking comparison for the pref improvement here? Wouldn't that be a problem of Vite itself (which is using fast-glob) as well. Not against it but I am a bit concern about whether converting glob to regex is a good idea, despite it seems unmaintained for about 3 years.

Can I have a simple benchmarking comparison for the pref improvement here?

Sure, when I get some time. :)
Note that the real perf gain is from not crawling the excluded directories. I've confirmed that fast-glob (or at least your implementation with it) crawls excluded directories, and as we all know, node_modules and .git can get very large.
I only noticed this issue recently, because I started using dirs: ['./'] and my root directory has node_modules and .git in it. Previously, fast-glob was crawling directories without them, so it wasn't an issue.

Wouldn't that be a problem of Vite itself

Maybe, where does Vite use fast-glob?

I am a bit concern about whether converting glob to regex is a good idea

That's how picomatch (what fast-glob depends on) works, too.

it seems unmaintained for about 3 years

I'm using globrex in vite-tsconfig-paths without any problems.

Might be the problem of having **/* for excluding? Have you tried to remove that with fast-glob and see if the excluded dirs is still been scanned?

Looks like it's the case https://github.com/mrmlnc/fast-glob#how-to-exclude-directory-from-reading

Nice find. I'll let you handle that then :)

Thanks for bringing this up, that's really helpful 👍


should_report_error: don't report error when using stdin

I'm not sure what's the best way to fix those tests.

Thank you for your PR! The code looks good to me, would you please rebase against the latest master?

Ok. But I'm still not sure how to handle those tests as they are using stdin.
#[test]
fn format_lines_errors_are_reported() {
    let long_identifier = String::from_utf8(vec![b'a'; 239]).unwrap();
    let input = Input::Text(format!("fn {}() {{}}", long_identifier));
    let config = Config::default();
    let (error_summary, _file_map, _report) =
        format_input::<io::Stdout>(input, &config, None).unwrap();
    assert!(error_summary.has_formatting_errors());
}

Do I have to create a temp file instead or what could be a good solution here ?

Oh, I was misunderstanding what this PR is trying to do.
I think that when we are using stdin and fail to format, we should not emit error report (e.g. line exceeded max width stuffs) but the exit code should still be non-zero. Could you please update this PR that way? This could be done by performing the similar check inside run().

I will give it a try.

I have thought about this and I honestly don't understand why we should do this. IMO we should either ignore the error completely with stdin or we emit the error report and return a non-zero exit code.
The emacs package for rust makes use of stdin. And when I understand this correctly, this change would trigger an error but wouldn't return any error message. How should I know what's the reason for the error ? Or am I missing something here ?

What's the original motivation for this PR? It does seem to me that even if using stdin, you'd want to see the error report on stdout

What's the original motivation for this PR?

The error report is emitted together with the formatted string.
But I think it would be better if we return an exit code for this kind of errors like @topecongiro said.

So, IIUC, the underlying problem here is not the output but the exit code. When https://github.com/rust-lang-nursery/rustfmt/pull/2539 lands, then we will have update exit behaviour and will get 0 whether reformatting happens or not and 1 if there was an internal error (not a difference in formatting). Then, in stdin mode, we can emit the formatted code in the first case and an error message in the second case and clients like emacs can look at the exit code to determine if they should replace source code (0) or report an error to the user (1).
Does that sound good?

I think this should be obsolete with the new changes. Thanks.


Support protocol v5

Cassandra 4.0 adds protocol v5 which adds the features outlined here.

This is somewhat nontrivial because protocol-level checksumming resulted in a large refactor to the framing/messaging code.

The CQL native transport protocol was updated in Cassandra 4.0 to include protocol v5. However, there was a beta version of the protocol v5 in previous versions it didn't include the largest change which is a change to add checksumming which changed how the protocol's framing works. More information here. Other features included in protocol v5 can be found at the end of the protocol document:
  * Beta protocol flag for v5 native protocol is added (Section 2.2)
  * <numfailures> in Read_failure and Write_failure error message bodies (Section 9)
    has been replaced with <reasonmap>. The <reasonmap> maps node IP addresses to
    a failure reason code which indicates why the request failed on that node.
  * Enlarged flag's bitmaps for QUERY, EXECUTE and BATCH messages from [byte] to [int]
    (Sections 4.1.4, 4.1.6 and 4.1.7).
  * Add the duration data type
  * Added keyspace field in QUERY, PREPARE, and BATCH messages (Sections 4.1.4, 4.1.5, and 4.1.7).
  * Added now_in_seconds field in QUERY, EXECUTE, and BATCH messages (Sections 4.1.4, 4.1.6, and 4.1.7).
  * Added [int] flags field in PREPARE message (Section 4.1.5).
  * Removed NO_COMPACT startup option (Section 4.1.1.)

I think a good approach here would be to pull down the latest stable cassandra-4.0 transport code and start doing diffs with the stargate transport code. Largest difference are probably going to be in Server.java (CqlServer.java in Stargate), Frame.java and the various message types.
Integration test should also be added to connect using the java-driver with v5 enabled.

* Added result set metadata id to Prepared responses (Section <IP_ADDRESS>)

The <result_metadata_id> change is also likely to require integration with the Persistence layer to be implemented. This may or may not work with the different back ends and that needs to be investigated.

@jeffreyscarpenter @maheshrajamani I was thinking more about this. We might also need to also spoof the system.peers_v2 table in Stargate to fully support protocol v5. It's an implicit requirement for fully supporting C* 4.0 clients. Here's the ticket: https://github.com/stargate/stargate/issues/1097. Here's more information for why peers_v2 was added: https://issues.apache.org/jira/browse/CASSANDRA-7544


Feature Request: Blood Splatters on Token instead of color tint

Option to have small blood splatter that starts transparent and goes opaque at 25 - 50%, and grows with additional splatters towards 100%. It will be a more realistic presentation of bloodied condition.

This is perhaps more of a new feature for the module Splatter which already allows you to change the color of the blood by type of monster.
The purpose of this module (at least from my point of view) is much simpler.


Supporting several additional OpenScenario 1.0 tags

Checklist:

[ √ ] Your branch is up-to-date with the master branch and tested with latest changes
[ √ ] Extended the README / documentation, if necessary
[ √ ] Code compiles correctly and runs
[ √ ] Code is formatted and checked with Utilities/code_check_and_formatting.sh
[ √ ] Changelog is updated

Description
We've added some new tags that weren't supported before, as shown in Changelog.md and openscenario_support.md.
Where has this been tested?

Platform(s): ubuntu 20.04
Python version(s): python 3.8.10
Unreal Engine version(s): UE4
CARLA version: 0.9.13

Possible Drawbacks
We did complete tests and found no errors.

This change is

Sorry for taking so long to reply.
We have fixed several issues over this time. I will close this PR and my colleague will submit it again.

@glopezdiest We have created a new PR( #1014) and the code is updated for your questions, thanks for your reivew.


New version: GDevelop.GDevelop version 5.4.205

Created by 🥟 Dumplings in workflow run #6321.

Log
Updated: 5.4.204 → 5.4.205
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

/azp run

/azp run


SDL2pp release linked with SDL2 debug

PEStudio output of SDL2pp.dll release:

This bug seems to be related to #6152 as well

Confirmed.

Hi @longnguyen2004, thanks for reporting this issue!
I've fixed it, please update vcpkg and rebuild sdl2pp.
Thanks.


Improvement for k8s.io/docs/

I have a suggestion for the "copy to clipboard" option that is available at the right top of any YAML file examples in docs. The copied content when pasted on any editor seems to insert newlines, whereas if same yaml if copied manually by selecting text doesn't insert newlines. The newlines makes the content pretty much unreadable, can this be addressed please?
e.g. Text copied using copy to clipboard option:
apiVersion: v1
kind: Pod
metadata:
name: userns
spec:
hostUsers: false
containers:

name: shell
command: ["sleep", "infinity"]
image: debian

Below is manually copied YAML:
apiVersion: v1
kind: Pod
metadata:
name: userns
spec:
hostUsers: false
containers:

name: shell
command: ["sleep", "infinity"]
image: debian

Similar to:
#36003
#36361
#36813
#37088
/triage duplicate
/retitle Blank lines when copying example manifests

This issue is a duplicate of #34447.


Jupyter syntax highlighting

As a follow-up to #44, I wonder whether it's possible to get syntax highlighting in the jupyter cells.
Currently it inherits from python:

There's a discussion here on this, which links to https://github.com/jupyter-lsp/jupyterlab-lsp/pull/553, which looks good, and not too involved, to get %%bigquery working. They have the advantage that there's already available syntax for SQL. I would hope that we could reuse one of our many existing definitions, but I've said that a few times before about syntax definitions :)

Perhaps it's just too early and I need more coffee, but the above approach isn't twigging for me. Do we need a separate typescript plugin to handle this?

Yes, unfortunately I think this will be in typescript. And I'm also not sure how the typescript file is linked to (does it rely on other code in jupyterlab-lsp??)...

I think this would be great to do, I may give this a swing soon. Unfortunately it involve JS, my great weakness...
Another reference: https://twitter.com/Mbussonn/status/636626829269442562 from @Carreau, suggests it should be possible

OK, this is a bigger project than I imagined. Here's the thread for Stan: https://github.com/jupyterlab/jupyterlab/issues/5504. So it's possible, but not easy, and hardly documented.
(and that's for jupyterlab, it's not completely clear that would work for the notebook. And it might be really hard for Colab: https://github.com/googlecolab/colabtools/issues/2039)
It looks like it depends on at least https://github.com/prql/prql/issues/1102

The Lezer grammar is coming along (thanks to @vanillajonathan ) — including packaging & tests.
So I'll take another look at doing this, despite my very poor JS.
Here's an example of a working extension: https://github.com/WardBrian/jupyterlab-stan-highlight/blob/master/lib/stan.js


[BUG]: Public Group Policy Not Applied in Vector Database Filtering

Contact Details
<EMAIL_ADDRESS>What Happened?
When I create a vector database filtering policy and add only the "public" group to the policy, this policy should apply to all users, as the public group implies universal access. However, the policy is not getting applied to users as expected. Any user-based policies or policies for non-public groups are working correctly.
Application Version
0.0.2
Python Version
3.11
Platform Version
macOS 14.3.1
Affected Browsers
No response
Steps to Reproduce

Create a new vector database filtering policy.
Assign only the "public" group to the policy, specifying the desired filter criteria.
Attempt to access the vector database with multiple users who should have access based on the public policy.
Observe that the filtered data, which should be visible to all users, is not displayed, and instead, all users can see all the data without any filtering.
Create and assign another policy to a non-public group or specific users with similar filter criteria.
Observe that this policy works as expected, applying the correct filtering for those users.

Relevant Log Output
No response
Code of Conduct

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

This has been fixed.


chore: impl extended backend configs

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#164
#163  👈
#162
#161
#160
#159
#158
#157
#156
#155
#154
#153
#152
#151
#150
#149
#148
#147
#146
#145
#144
#143
#142
#141
#140
#139
#138
#137
#136
main

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

Join @NathanFlurry and the rest of your teammates on  Graphite


Config/Data is not synced with certain players

The network config sync doesn't work with certain players leaving them to have the wrong map data and unable to effectively play the game. Other players get synced and work fine. Even when it is the only mod enabled the sync continues to not happen.

Hello
Can you be more precise please?
What do you mean by network config ? Are you talking about the SDK or the expansion mod ?

Hi! I wanted to add to this! My friend and I were both using the SDK and Expansion and had this issue! Specifically there were a few things that didn't sync between us. The time in game, even while sharing the same settings in our respective menus, were different. The host saw the correct number of deadline days and time, as well as the correct weather on planets. The host saw flooding, while the other player saw clear skies and was literally unaffected by the water that they couldn't see. It was interesting for sure. As far as we could tell, none of the settings that needed to sync did so.

Hi! I wanted to add to this! My friend and I were both using the SDK and Expansion and had this issue! Specifically there were a few things that didn't sync between us. The time in game, even while sharing the same settings in our respective menus, were different. The host saw the correct number of deadline days and time, as well as the correct weather on planets. The host saw flooding, while the other player saw clear skies and was literally unaffected by the water that they couldn't see. It was interesting for sure. As far as we could tell, none of the settings that needed to sync did so.

Hello, a video and a full log would be helpful for me to resolve this issue
At least a log file from all players after the issue happened

Hello Can you be more precise please? What do you mean by network config ? Are you talking about the SDK or the expansion mod ?
This is just the expansion mod, the map layout does not sync and presumably a lot of other mod settings. With the update after this post, the sync issue was fixed (seemingly) but the map layout was still desynced..

Hello Can you be more precise please? What do you mean by network config ? Are you talking about the SDK or the expansion mod ?

This is just the expansion mod, the map layout does not sync and presumably a lot of other mod settings. With the update after this post, the sync issue was fixed (seemingly) but the map layout was still desynced..

check if everyone have the same seed when the moon is loading
the same version of the mod too
and finally if the problem persist, send me screenshots of both point of views

Hello Can you be more precise please? What do you mean by network config ? Are you talking about the SDK or the expansion mod ?

This is just the expansion mod, the map layout does not sync and presumably a lot of other mod settings. With the update after this post, the sync issue was fixed (seemingly) but the map layout was still desynced..

check if everyone have the same seed when the moon is loading the same version of the mod too and finally if the problem persist, send me screenshots of both point of views

We have the same seed, and same mod version but the problem persists, im not sure what you want a screenshot off though because the maps are just different on both sides. But for everyone else who has the same set up theres nothing wrong. Unless you want the debug info on joining?

Hello Can you be more precise please? What do you mean by network config ? Are you talking about the SDK or the expansion mod ?

This is just the expansion mod, the map layout does not sync and presumably a lot of other mod settings. With the update after this post, the sync issue was fixed (seemingly) but the map layout was still desynced..

check if everyone have the same seed when the moon is loading the same version of the mod too and finally if the problem persist, send me screenshots of both point of views

We have the same seed, and same mod version but the problem persists, im not sure what you want a screenshot off though because the maps are just different on both sides. But for everyone else who has the same set up theres nothing wrong. Unless you want the debug info on joining?

It's a weird issue, a screenshot of both sides would help
On my side i will try to play with the mod at 4, i have few time to play so ain't really tried the moons in multiplayer

@parthshetty @DracoriaNebulae
Hello, leave me know if the 1.2.x fixed the desync

need to know if it's fixed
@parthshetty @DracoriaNebulae