[WIP]Feat: Added Remote offline server and client using arrow flight server

What this PR does / why we need it:
This PR anticipates the changes needed to implement an offline store using an Arrow Flight server for data transfer.
Please note that we're using a fork of the upstream repo under the RHEcosystemAppEng organization to facilitate the collaboration among the team's developers: once we agree with the community members on the final approach, we'll complete the missing functionalities and send a PR to the community repo.
Which issue(s) this PR fixes:
Partially addresses #4032
Notes
The PR includes a working example that the reviewers can run, with a remote offline store server and the related client.
This example is only meant for explanatory purposes, and will not be part of the final PR.
The example includes a README file with some details on the proposed parameter transfer protocol, which explains how we decided to transfer the parameters of the OfflineStore APIs to the remote server. Again, this will not be committed as-is to the upstream repo but we'll create a dedicated section in the user guide.

some changes are available in PR #4

I'll answer here to keep the discussion contained 😄 If you're encoding the whole thing anyway, wouldn't this be simpler? It would  avoid do_put metadata entirely.
api_info = {
    "command": command,
    "api": "get_historical_features",
    "features": json.dumps(self.feature_refs),
}

command_descriptor = fl.FlightDescriptor.for_command(json.dumps(api_info))

@dmartinol you also don't need to call json.dumps twice, the outer one will be sufficient.

I'll answer here to keep the discussion contained 😄 If you're encoding the whole thing anyway, wouldn't this be simpler? It would avoid do_put metadata entirely.

I tried the same before, with the goal of removing the put step, but translating the df to_json raised some errors at read_json time, mainly because it seemed to lose the original data types and get_historical_features rejected it.
I can retry, of course it would help to encode everything in the same descriptor

@dmartinol hey, you can also reuse some of the existing offline store tests by creating a custom DataSourceCreator and configuring AVAILABLE_OFFLINE_STORES here.

@dmartinol hey, you can also reuse some of the existing offline store tests by creating a custom DataSourceCreator and configuring AVAILABLE_OFFLINE_STORES here.

You mean to develop an integration test, right?
I reviewed the existing examples and noticed that the remote offline store is somewhat different. It’s not just another data source; it requires two independent FeatureStores operating in server and client roles, both connected to the same registry. This might require changes to the existing framework to integrate these components.
Pls let me know if my understanding is correct.

@dmartinol sure, it's a bit of an unusual case because of an additional server-side feature store, but other configs also require external resources here and there. For example, s3+duckdb config brings up minio in a container during startup. I was thinking we could do something similar here (ideally in a container, but might be hard to copy current code in there). Our version of DataSourceCreator would:

create data sources (locally or in minio)
create a server-side feature store with one of offline store implementations (my vote to duckdb 😄)
(The steps above can probably be reused from an existing creator)
start offline feature server in the background (linux process or a testcontainer similar to minio)
populate create_offline_store_config with a remote offline store type.

I can give it a try later today and give you some draft version if you're fine with that...

@tokoko sure, any help is appreciated.
I was trying the separate process option, running OfflineServer the same way we serve the python feature server, but I miss the connection with the feature_server_endpoint, not sure how this is used.
BTW: what about using the regular FileDataSourceCreator as the underlying implementation? Any reasons for using DuckDb instead?

@dmartinol We could do it that way (similar to feature server) but we would be missing out on easily reusing offline store tests in that case. The reason they decided to treat feature server as a special case was probably because they weren't planning to put feature server behind "normal" feast APIs. Once remote-http PR is merged, we can probably rethink that approach as well...
There's not too much difference between file and duckdb implementations. file offline store (despite it's confusing name) is actually a dask implementation. (see here). It's a bit slower than duckdb, but shouldn't matter one way or the other for our purposes yet. (One difference is that I added to_remote_storage support to duckdb recently, which is still missing for dask afaik).

Turns out you're right, it's more complicated than I thought initially, particularly registry configuration for server side feature store is impossible to acquire now, DataSourceCreator is not supposed to know anything about other components configured. I still think it's worth making an effort... I'll look into changing test setup so that DataSourceCreator has a setup method that will be called with an already existing registry configuration, then we will bee able to move the flight server setup from __init__ to the new setup method. wdyt?

@dmartinol Forgive me if this is unnecessary 😄 After the changes in 4210, you should be able to do something like this:
class RemoteDataSourceCreator(FileDataSourceCreator):
    def setup(self, registry: RegistryConfig):
        parent_offline_config = super().create_offline_store_config()

        fs = FeatureStore(
            config=RepoConfig(
                project=self.project_name,
                provider='local',
                offline_store=parent_offline_config,
                registry=registry,
                entity_key_serialization_version=2
            )
        )
        # fs.serve_offline in a subprocess

    def create_offline_store_config(self) -> FeastConfigBaseModel:
        return RemoteOfflineStoreConfig(...)

    def teardown(self):
        super().teardown()
        # do some cleanup if necessary

Thanks @tokoko for your prompt reaction! i will give it a try tomorrow and let you know!

@lokeshrangineni to check if a similar solution fits the remote-http online store

@dmartinol Forgive me if this is unnecessary 😄 After the changes in 4210, you should be able to do something like this:
class RemoteDataSourceCreator(FileDataSourceCreator):
...

@tokoko sorry for delayed reply but I faced some issues with this implementation.
First of all, thanks for suggesting to use these complex ready-to-use integration tests: their complexity revealed errors that we did not face with our basic examples!

I had to use multiprocess.Process instead of multiprocessing.Process as it raised can't pickle _thread.lock objects. This means to update the project dependencies, unless you see another way to do the same (I'm on MacOs, in case it matters)
I realized that we missed to manage some of the fields in the API, like full_feature_names, so I had to introduce this parameter in the ArrowFlight command descriptor
Similarly while some basic tests works fine, those requiring entity mappings failed, the reason being that we also missed to manage the feature_views field in the offline store implementation. Since this can't be serialized to JSON, I decided to put only the names in the command and use registry.get_feature_view to retrieve the FeatureView in the server. It took me some time to realize that this method, which takes the view definition from the protos, adds unexpected dummy entities to the entityless views, which is not expected when you run the actual query (raises KeyError: "['__dummy_id'] not in index"). I'm trying to cleanup the instance and remove the dummies from entitites and entity_columns fields, but now I'm stuck with a new error while running test_historical_features_main:

pyarrow.lib.ArrowInvalid: Could not find feature view from reference origin:temperature. Detail: Python exception: ValueError. gRPC client debug context: UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:50215 {grpc_message:"Could not find feature view from reference origin:temperature. Detail: Python exception: ValueError", grpc_status:3, created_time:"2024-05-23T19:23:41.660071+02:00"}. Client context: IOError: Server never sent a data message. Detail: Internal

Any hints?

It's a ci dependency, so should be fine for now. We can always try to rewrite it later...
I forgot about feature_views param as well, definitely not ideal 😄 We should probably rethink these interfaces later on. The same about entityless case handling, far from intuitive, I agree.
Not sure how much I can help with that error tbh. origin refers to this alias given to the location feature view right here. Aliases allow a feature service to query from the same feature view multiple times with different entities. Not sure what could lead to that error, though. Are you handling FeatureServices the same way? passing a string and retrieving the object on the server side?

Aliases allow a feature service to query from the same feature view multiple times with different entities. Not sure what could lead to that error, though. Are you handling FeatureServices the same way? passing a string and retrieving the object on the server side?

I see your point and I found the problem (not the fix).
In the client layer, the feature store API has features: Union[List[str], FeatureService] which is then translated to the params passed to the OfflineStore API:
        feature_views: List[FeatureView],
        feature_refs: List[str],

The remote offline store cannot rebuild the original feature store API, so it transfers the input params to the arrow server as-is. In the server we invoke the offline store API, by-passing the feature store (it's not in the current PR, but a recent change to be committed).
The problem, as you said, is that when there are feature services, the feature_views are extended to have aliases, so when we retrieve them by name we miss the aliases and the server-side query fails 😞
Maybe we need to transfer the feature views to the arrow server using an ad-hoc JSON serializer or a pyarrow writer. WDYT?

Oh... right, got it. Trying to pass the FV objects could be a workaround, but definitely not a long-term solution. If server accepted arbitrary objects from the client and not retrieve them from registry, there would be no way to access additional info like auth/permissions in a trusted way. We shouldn't waste time on that, I think. Looks like we'll have to redesign the OfflineStore API sooner rather than later. It should accept both FeatureServices and FeatureViews/Features as simple python objects.
P.S. I don't think there will be many tests testing for FeatureServices with aliases, let's simply disable them for remote offline store for the time being.

@tokoko I reviewed the server implementation to pass feature view names and disabled ITs using feature services. It will be merged to this PR after internal review.
A couple of remarks:

registry.get_feature_view is not returning sub-classes of FeatureView, so tests using StreamFeatureView failed. I've added an extended lookup method in the OfflineServer class for now, but probably it should be moved into the registry itself, WDYT?
Similarly, I've added a cleanup method to remove dummy IDs returned by FeatureView.from_proto but I assume the same logic should go into this method, unless it's breaking any other assumptions.
Not sure about the way to identify remote offline store in the IT code, for now it's a isinstance(       environment.data_source_creator, RemoteOfflineStoreDataSourceCreator), is there any better alternative?

[IMO the first 2 point deserve their own GH issue]
https://github.com/RHEcosystemAppEng/feast/pull/9

I think I already fixed the first bug as part of this PR
Not sure about the dummy IDs, I'll have to look into this
Do you need identification only to skip some tests? pytest's -k expressions might be a better alternative, although a bit harder to get right.

Do you need identification only to skip some tests? pytest's -k expressions might be a better alternative, although a bit harder to get right.

not to skip entire tests but only part(s) of the existing test, like assert_feature_service_correctness in test_universal_historical_retrieval.py

@dmartinol sorry, disregard the first point, I thought you were using remote registry for some reason. I get your meaning now, yup. not the most user-friendly way to do lookups, feature_store.py contains code like that as well, it first lists all feature views, on demand feature views and stream feature views in the registry and uses those. It's impossible to know which method to call with just having a feature view name. Definitely needs some better solution.

Do you need identification only to skip some tests? pytest's -k expressions might be a better alternative, although a bit harder to get right.

not to skip entire tests but only part(s) of the existing test, like assert_feature_service_correctness in test_universal_historical_retrieval.py

In that case, looks fine to me


api: Drop validation of test_names and drop API endpoint for test_names

With @majakomel we concluded that it's most useful to have the list of test_names and category codes inside of Explorer.
We need to rebuild the list there anyways (for localizing it and adding icons, colors, etc.), so it doesn't make sense to have it duplicated in explorer.
By removing the check on the search API, we can avoid having to update two projects whenever a new test is deployed.

Implemented in d96b04dc0ab457c7a6a74ec74728b470b72042ec


remove jess from PST, thanks :)

cc @philips

Thank you Jess for all of the work you have done over the last two years since we kicked off the Kubernetes security process! With @joelsmith joining recently I think this is an OK time to do this.
/lgtm
/approve


Create a wiki page for user story

both user story, requirements draft and elicitation questions are added to the wiki page
link: https://github.com/ayhncvdr/swe573_cavdar/wiki/User-Story,-Draft-Requirements-and-Elicitation-Questions


Laravel 11 support

Hi there, first of all a big thanks for creating and maintaining this package.
Laravel 11 will be released soon. So I think it's a good idea to include Laravel 11 support for this package. Let me know if you need any help on that.

Hello @markwalet, thank you for your kind words :). I will add L11 support this weekend.

Hello @markwalet, I just released the v0.2.0 version with L11 support.


Update CONTRIBUTORS

Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

Hi PIYUSH,
CONTRIBUTORS file is updated with the first contribution (or after).
syzkaller$ git log --author=PIYUSH-MISHRA gives me nothing. Have you contributed something to syzkaller before?


[website] Fix canonical links

I broke this in #29623. It got caught by ahrefs:

view-source:https://master--material-ui.netlify.app/
<link rel="canonical" href="https://mui.comundefined"/>

I have deployed a hot-fix in production.

At some point, we should change to typescript.

@siriwatknp Agree! I have tried to be extra careful on #29623 knowing I could mess everything but it wasn't enough.


Provide documentation

Would be good to have some documentation on what to expect from this library and how to use it.

just updated the Readme.MD


feat(paging): implemented paging for cira, domains, devices, profiles and wifi

Codecov Report

Merging #370 (3510549) into master (f8dacf7) will decrease coverage by 0.09%.
The diff coverage is 63.88%.

:exclamation: Current head 3510549 differs from pull request most recent head f9d0d0f. Consider uploading reports for the commit f9d0d0f to get more accurate results

@@            Coverage Diff             @@
##           master     #370      +/-   ##
==========================================
- Coverage   55.45%   55.35%   -0.10%
==========================================
  Files          39       39
  Lines         972     1008      +36
  Branches       92       97       +5
==========================================
+ Hits          539      558      +19
- Misses        399      414      +15
- Partials       34       36       +2

Impacted Files
Coverage Δ

src/app/configs/configs.service.ts
11.11% <0.00%> (-1.94%)
:arrow_down:

src/app/devices/devices.service.ts
15.00% <0.00%> (ø)

src/app/domains/domains.service.ts
13.63% <0.00%> (-3.04%)
:arrow_down:

src/app/profiles/profiles.service.ts
13.63% <0.00%> (-3.04%)
:arrow_down:

src/app/wireless/wireless.service.ts
13.63% <0.00%> (-3.04%)
:arrow_down:

src/app/devices/devices.component.ts
54.54% <83.33%> (+10.79%)
:arrow_up:

src/app/configs/configs.component.ts
52.00% <87.50%> (+6.54%)
:arrow_up:

src/app/domains/domains.component.ts
52.00% <87.50%> (+6.54%)
:arrow_up:

...rofiles/profile-detail/profile-detail.component.ts
79.06% <100.00%> (ø)

src/app/profiles/profiles.component.ts
92.00% <100.00%> (+1.09%)
:arrow_up:

... and 4 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 f8dacf7...f9d0d0f. Read the comment docs.


[engine] Update Ledger Funding Protocol to use Signed States

Part of #299
Update the protocol to use SignedStates instead of Commitments. This means

Enabling any commented out tests.
Enabling logic that was commented out temporarily.
Changing allocation/destination to Outcome in the state and functions.
Changing Commitment use to SignedState in reducer.
Switching from 'Commitments to SignedState`s in the scenario.
Renaming states/actions that include the word "commitment". (Excluding CommitmentsReceived)

This will also likely involve updating any protocols that nest the protocol to use the nitroConverter before calling the protocol.

Duplicate of #338


reqwest calls thread::park() from threads that don't belong to it

Hi,
I have a bug in one of my projects which I've been chasing for a long time because it reproduces very rarely and is hard to debug.
I looks like sometimes my thread misses a thread::unpark(). I looked into it's implementation - it looks good, but after some digging of my code I got into reqwest internals where found usage of thread::park() (which is called from thread from which I send the request)  and I believe that that's the guy which steals my park token.
I know how to workaround this problem in my specific case, but from my point of view it's very bad idea - to use thread::park()/thread::unpark() from the library, because it's a sort of global state and library users might not expect this from the library which may lead to deadlocks.

I don't see a problem, according to std::thread::park documentation:

It may also return spuriously, without consuming the token.

When park returns, you should make sure whatever condition you require is met, and if it is not, you can park again. See https://en.wikipedia.org/wiki/Spurious_wakeup for more details.

I don't see a problem, according to std::thread::park documentation:

It may also return spuriously, without consuming the token.

When park returns, you should make sure whatever condition you require is met, and if it is not, you can park again. See https://en.wikipedia.org/wiki/Spurious_wakeup for more details.


chore(main): release 0.3.4

:robot: I have created a release beep boop
0.3.4 (2024-01-25)
Bug Fixes

syntax (#41) (1ca32f5)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/bestow-code/core_analysis/releases/tag/v0.3.4 :sunflower:


attempt to fix MPI support on Apple Silicon

This is a continuation of #538 (first commit is identical, can be rebased trivially), where I try to figure out why the oversubscribe-test fails in test_parallel_backends.
The second commit is part of the solution: fixes TestParallelBackends.test_terminate_mpibackend, which fails with
        expected_string = "Child process failed unexpectedly"
>       assert expected_string in record[0].message.args[0]
E       AssertionError: assert 'Child process failed unexpectedly' in 'isSet() is deprecated, use is_set() instead'

However, the second one is more thorny (in TestParallelBackends.test_run_mpibackend_oversubscribed):
command = ['mpiexec', '--use-hwthread-cpus', '--oversubscribe', '-np', '12', 'nrniv', ...]

...

        if not proc.returncode == 0:
            # simulation failed with a numeric return code
>           raise RuntimeError("MPI simulation failed. Return code: %d" %
                               proc.returncode)
E           RuntimeError: MPI simulation failed. Return code: 143

parallel_backends.py:233: RuntimeError

...
====================================================== short test summary info ======================================================
FAILED tests/test_parallel_backends.py::TestParallelBackends::test_run_mpibackend_oversubscribed - RuntimeError: MPI simulation fa...
======================================== 1 failed, 9 passed, 2 warnings in 84.02s (0:01:24) =========================================

I have a pretty strong suspicion that MPI is having troubles with the M1 Pro's 6 'performance' and 2 'efficiency' cores, and/or with the lack of logical CPUs (hyperthreading). The test asks MPI to run on 12 (logical) cores. I haven't been able to pin down the problem yet...
NB All other MPI-related tests pass!

Codecov Report

Merging #539 (b30d1c5) into master (9f719c2) will decrease coverage by 0.18%.
The diff coverage is 80.00%.

@@            Coverage Diff             @@
##           master     #539      +/-   ##
==========================================
- Coverage   89.51%   89.32%   -0.19%
==========================================
  Files          20       20
  Lines        3957     3955       -2
==========================================
- Hits         3542     3533       -9
- Misses        415      422       +7

Impacted Files
Coverage Δ

hnn_core/network_builder.py
94.09% <75.00%> (-0.28%)
:arrow_down:

hnn_core/parallel_backends.py
81.33% <100.00%> (-1.82%)
:arrow_down:

hnn_core/mpi_child.py
96.38% <0.00%> (-0.09%)
:arrow_down:

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

thanks @cjayb !
@rythorpe is now our resident MPI expert, maybe he can provide some suggestions

I think the second issue is the same as #406. If so, the issue isn't with the new M1 but rather a more pervasive and annoying, yet so far harmless, problem with running that test locally on macs.

Ah, indeed, been a while since I opened that issue 🙃 I'm going to mark this MRG: the single commit is needed for other MPI-related tests to pass. The oversubscribe-matter then seems to be deeper and more pervasive. Arguably a corner-case that ought not to be a show-stopper.


fix nameSet

The getter nameSet was not returning anything due to a condition that was excluding everything, so I just inverted it to fix the issue.

Thanks for your contribution @sehnryr ! :)


Test for class giving Result types could not be reconciled error

Hi - it's me again. Another strange parameter combination it seems. I haven't looked at it properly as I'm just leaving, but I've managed to recreate the issue the same way.
The test errors with: java.lang.IllegalArgumentException: Result types could not be reconciled: java.lang.Object vs. W

@anthonykr3 No problem, thanks and keep them coming! Interesting, this one is a case of a generic type needing to be reconciled with java.lang.Object after type erasure. I hadn't thought of that scenario. This should be relatively easy to fix.


add focal loss and unit test

Describe the solution you'd like
ATT.
Describe alternatives you've considered
N/A
Additional context
N/A

@lvying603  may be interested in this too.
cc @applenob  did this before, may share some experience


chore: Ignore docs-validation build files

Fixes #
Docs for Toolkit PR #
What changes to the docs does this PR provide?

The latest version of https://github.com/microsoft/vscode-docs-authoring/ seems to be creating some files that shouldn't be added to the tree, so this just adds those paths to the .gitignore
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Correctly picked the right branch to base the change off (master for new features, live for typos/improvements)
[ ] For new pages, used the provided template
[ ] For new features, added an entry in the Table of Contents
[ ] Ran against a spell and grammar checker
[ ] Contains NO breaking changes

Other information

Docs Build status updates of commit a83340f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.gitignore
:white_check_mark:Succeeded

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


Add restartable api, building on crypto context

This PR adds the functionality to sign a token in a restartable manner (see https://tls.mbed.org/kb/development/restartable-ecc)
This PR replaces an old PR, that was opened in 2022. Opening a new seemed to be the right thing to do because:

This one builds on the crypto context concept, that is only available on the dev branch
Since the previous Pull request restartable operation become available in the PSA Crypto API in Mbed TLS, so there is no need to add a new Crypto adapter to have this functionality.

The motivation for this PR is that for a supervisory software, that runs at an uninterruptible priority level, and generates an attestation token, It can be unacceptable to not respond for the entire process of signing.
This PR adds new API to t_cose to call signing in a restartable manner. For a certain crypto adapter it is possible to not implement the restartable behaviour. A new error code is added that can be returned by the implementation, if it is not supported.
I tried to break up the change to logical blocks, to keep the commit size reasonable. All the commits pass all the tests, and keep t_cose in a working state.
Some additional notes to the PR:

The restartable API is not released yet in Mbed TLS, it is currently available on the developement branch.
I haven't touched documentation files , I can add documentation in an additional commit, if the code changes are accepted at least on the concept level.
The restartable mode is not conditionally compiled, and it might add extra data on the stack (though I didn't measure exactly how much). I can add ifdefs to enable conditional compiling if necessary.

I updated the pull request based on offline discussion.

Added a separate t_cose_crypto_sign_restart() to the crypto adaption layer
Added a separate signer for executing restartable signing (only COSE_Sign1 is supported)
Restart is only supported by the COSE_Sign1 interface of t_cose, and only the two step version. COSE_Sign with the restartable signer returns error.

Thanks for the review, I updated the branch


AD authentication giving me error : binding user: [user]

Hiya Admin,
I am trying your code to authenticate my user via AWS managed AD. Normal file based authentication is working fine but when trying to authenticate user via AD, it giving below error:
[2023-11-15 10:55:34,488][DEBUG]: users: ['user1, 'user2']
[2023-11-15 10:55:34,488][DEBUG]: groups: ['users']
[2023-11-15 10:55:34,489][DEBUG]: binding user: [user1]
[2023-11-15 10:55:34,496][ERROR]: binding user failed: [user1] (None)
[2023-11-15 10:55:34,496][INFO]: user1 is not authenticated
I have checked connection from my host to AWS managed AD via Telnet command and , it says connected. Not sure what else I can check.
Any help would be appreciated.
Thanks

all there variables are correct, I am using port 389.
My doubt is around line 49 where trying to establish connection. Here we are using username and password.
Also at line 82 we are trying to authenticate username. How can both user name are same.
user which is getting used for making connection should be having some additional privilege ? and it should not be same which I am trying to autheticate?
Is my understanding correct?
Thanks

The username and password used is the one passed in via the Basic Authentication header. There is no other user that 'binds' to the AD to then authenticates. This uses the credentials provided to bind as the user directly.
Line 81 is using the already established connection to perform a search. It searches for the logged in user and extracts their group memberships...
Are you able to login to your AWS AD with any other tool? Try Apache Directory Studio (https://directory.apache.org/studio/)


Void elements render without a closing /

Currently the behaviour for void elements (img, br, etc) is that they render without a closing / – for example,
 instead of
.
Unfortunately this closing / is required for XHTML, meaning a Preact render won't validate against that content type. It's also a possible compatibility issue when using preact-compat, since React's own renderToString method adds the /.
The / is optional in HTML5, so I think rendering it out should resolve the above issues without breaking anything.
If this looks like a good idea, I'd be happy to submit a PR.
Thanks!

@elliotdavies would that let us drop the whitelist of self-closing elements?  If so, I'm 100% in favor of always outputting / for void elements.  Happy to merge that PR if you're good to create it.

@developit Not that I can see – you still need some way to know whether to self-close e.g.
 or instead do a full closing tag e.g.
...
, and I think a whitelist is the only reliable way to check that.
Still, this should be a pretty minimal change. I'll write up the PR and you can take a look.

Works for me.

Lol I was just changing the tests for preact-helmet to take this difference into account but it looks like I'm going to have to be changing them back pretty soon...

@Download that's odd - how come you had to change the tests?  If you're rendering JSX to strings in tests, I'd recommend using preact-render-to-string/jsx - it preserves non-string props.

I am porting react-helmet to preact. It's tests tend to render some component, then check that the output matches some literal string.
I noticed two big differences with the output from Preact vs the one expected in the tests:

React outputs ="true" for boolean properties, but Preact does not (I actually prefer Preact's more concise style). E.g. <meta data-preact-helmet="true" ... /> vs <meta data-preact-helmet ... />
React self-closes elements that Preact does/did not. E.g: <base href="https://localhost"/> vs <base href="https://localhost">

Another really weird thing that is biting me is the way components are unmounted... It seems to be happening lazily in Preact? I have tests failing because componentWillUnmount wasn't called yet though the test expects it.... but Preact always seems to call it in time, before the new component is mounted... Anyway I am planning on committing it in this state and logging an issue here because I've been stuck on it for hours already.

@Download render() + innerHTML would actually return / depending on if the document was XHTML or HTML.

@developit Yes I think it's just renderToString which makes it shorter. The test is using/testing both forms. But it's also most important for renderToString to be short (to get low TTI). So even though it is annoying when testing that both Strings are subtly different, I think it is an advantage for Preact to keep it this way.
It might be interesting to have a test that just renders all kinds of markups in both ways and compare. Only differences that are beneficial should stay (or maybe give renderToString a flag to toggle).

Flag to toggle would be good, that way it has the option to return either XHTML or HTML.

Hi @developit – just wondering if there's any chance you could bump the release version so as to include this?

Can do, yup.

Released as 3.6.0!

Thanks!

When using htm, the auto slash feature doesn't seem to work. Unclosed elements return undefined in the output.

@brandonpittman Just to clarify: Are you using preact-render-to-string in combination with htm?

@marvinhagemeister Yep.

@brandonpittman Can you share a snippet or a codesandbox which shows the problem?

@brandonpittman Just spoke with @jviide which is the maintainer of htm. Unclosed void elements are not supported in htm and therefore will lead to undefined behaviour. In htm you must always use a closing /.

@marvinhagemeister Yeah, I figured that out on my own. Wasted a lot of time figuring it out though. ☹

@brandonpittman Did you import preact/debug somewhere? That's where all our debug warnings are and it should catch undefined vnodes. It only needs to be included once (best at the top of your app, before rendering starts).


need to fix

cursor is showing... for some reason... (need to fix...)

Thank you for your feedback.
I'm aware of the issue with the cursor and I'm working on it, in terms of the poor font quality i have no idea what you mean as I'm seeing it normally.

and hotfix for enemies when you kill 'em, theyre not rendering anymore


Stage-scoped Variables Not Respected for Azure CLI Task

Note
Issues in this repo are for tracking bugs, feature requests and questions for the tasks in this repo
For a list:
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
If you have an issue or request for the Azure Pipelines service, use developer community instead:
https://developercommunity.visualstudio.com/spaces/21/index.html )
Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: AzureCLI@2
list here (V# not needed):
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
Environment

Server - Azure Pipelines

If using Azure Pipelines, provide the account name, team project name, build definition name/build number:

Agent - Hosted

If using Hosted agent, provide agent queue name: Azure Pipelines

Issue Description
It doesn't look like stage-scoped variables are respected when running the Azure CLI task. Is there anything on the roadmap for getting variables defined at the stage/job level supported? I'm trying to make our pipeline more dynamic by passing in variable templates for each environnment. Here is a generic overview of what I'm trying to do:
vars.yml
variables:
  serviceConnectionName: <service connection name>

cli task in template.yml
    - task: AzureCLI@2
      displayName: Disable Storage Account Firewall
      inputs:
        azureSubscription: $(serviceConnectionName)
        scriptType: 'bash'
        scriptLocation: 'inlineScript'
        inlineScript: |
          # Temporarily disable storage account firewall for Terraform access
          az storage account update -g $(appStorageAccountResourceGroupName) -n $(appStorageAccountName) --default-action=allow

And finally the main pipeline.yml, which references vars.yml in the stage definition:
stages:
- stage:
  displayName: Terraform Plan
  variables:
    - template: vars.yml
  jobs:
  - template: templates/template.yml

I would expect this to work, but instead the variable isn't picked up by the pipeline at all, so the value remains as the literal string "serviceConnectionName." This is the error in the Azure DevOps UI when running the pipeline:

There was a resource authorization issue: "The pipeline is not valid. Job TFPlan: Step AzureCLI1 input connectedServiceNameARM references service connection $(serviceConnectionName) which could not be found. The service connection does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz.,Job TFPlan: Step TerraformTaskV11 input backendServiceArm references service connection $(serviceConnectionName) which could not be found. The service connection does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz."

If I move the variable template files to the top of the pipeline.yml, and thus making them global variables, it works fine:
variables:
  - template: vars.yml
stages:
- stage:
  displayName: Terraform Plan
  jobs:
  - template: templates/template.yml

It might also be worth mentioning @chshrikh replied to another user on an issue with the AzFileCopy task and said that stage-scoped variables were not supported at the moment. Is this something that is common across all tasks or only a few?
Error logs
[Insert error from the logs here for a quick overview]

This is not a bug, you're looking for product support on how to use variables.
Variables are not the same as parameters. Try changing your ${{ parameters.serviceConnectionName }} to ${{ variables.serviceConnectionName }}. If that doesn't work, you'll need to file an issue in Developer Community for support.

Hi @vtbassmatt, apologies, that was a typo in my original question. That should have read as $(serviceConnectionName) instead of referencing that as a parameter. I've already tried what you suggested and that doesn't work. Here is the error I get when using $( ) syntax:

"The pipeline is not valid. Job TFPlan: Step AzureCLI1 input connectedServiceNameARM references service connection $(serviceConnectionName) which could not be found. The service connection does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz.,Job TFPlan: Step TerraformTaskV11 input backendServiceArm references service connection $(serviceConnectionName) which could not be found. The service connection does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz."

And here is the error I get when using ${{ variables.serviceConnectionName }} syntax:
##[error]Script failed with error: Error: Input required: connectedServiceNameARM
Both of the above scenarios were tested by using stage-scoped variables. If I define the serviceConnectionName variable at the top of the pipeline (not using a template), ${{ }} syntax doesn't work and I get the same error above where it thinks a value was never passed for to the azureSubscription property.

Found an issue on the Developer Community that is very similar to what I'm experiencing. The only difference is the user who opened the issue is using variable groups. @vtbassmatt I take it the Developer Community the best place to keep asking about this?

Ah, thanks for clarifying. The problem is that for purposes of resolving resources, the system can only see variables at the pipeline level. In principle we could change this to also include stage variables (and it's worth asking about that on Developer Community). Job-scoped variables will not work because we pause at the start of each stage -- before any jobs have run -- and collect up the resources to be authorized.

Gotcha, thanks for that explanation. I'll see if I can get a response on the Dev Community, but for now I'll use runtime parameters instead. Is there any way we can get the docs updated to say that stage- and job-scoped parameters are only supported when bash/powershell tasks?

Well, that's not quite accurate. It's really that gathering up resources is a special thing that happens at stage boundaries. I think I have a good spot to put that in the docs, so I'll try to get to it today.

Ah sorry, I understand what you were saying before now. Sounds great, thanks again!

Raised a feature request on Dev Community for this, thanks again for your help @vtbassmatt
https://developercommunity.visualstudio.com/idea/973433/gather-stage-scoped-variables-when-preparing-stage.html


GPG Agent Pinentry Gnome3 window doesn’t inherit Adwaita Dark theme on NixOS 20.09

On NixOS 20.03 channel it used to work (Adwaita Dark was used instead). As far as I remember just because I set environment.variables.GTK_THEME = "Adwaita:dark"; (see https://github.com/unclechu/nixos-config/blob/41e8bc34a12d018f645cfabcd892cab381e583c1/configuration.nix#L125).
But when I switched to nixos-unstable channel it stopped inheriting the dark theme. As well as now on nixos-20.09:

My GnuPG config:
https://github.com/unclechu/nixos-config/blob/41e8bc34a12d018f645cfabcd892cab381e583c1/configuration.nix#L157

Can you try sessionVariables?

@worldofpeace It did work for me, even LightDM now is inheriting the Adwaita Dark theme, that I haven’t seen before. Thanks!
The commit which fixes it: https://github.com/unclechu/nixos-config/commit/4556b2029980a2303bcf0a00708053457f197646

By the way. When the environment.variables are applied?

I believe you noticed this change because this stuff got moved into a systemd user service, and environment.variables does nothing for them.

When the environment.variables are applied?

Do you mean how they are applied?

@worldofpeace

Do you mean how they are applied?

I specifically mean “when”, like at what stage. I assume it should have some layers. Like I could imagine env vars defied at:

In the earliest point of userspace running
Before services like systemd ones
Before loading X server
Before loading particular WM
After WM is loaded (for child applications)
Something like this, from bottom to top layer.

Lightdm is a special exception because it uses clearenv so sessionVariables (which uses pam) is the only option that can influence it https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/display-managers/lightdm.nix#L287.
environment.variables is set from set-environment which is sourced into shell environments as early as possible https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/config/shells-environment.nix#L184


LifeCam HD-3000 exposure 'quirk' also on LifeCam Cinema

Hi -
We are using a Microsoft LifeCam Cinema camera that exhibits the same exposure setting 'quirk' documented in the code for the HD-3000.  Right now the code adjusts how exposure is controlled by checking for the camera type in UsbCameraImpl.cpp:
m_hd3000 = GetDescription(desc).endswith("LifeCam HD-3000");
Request:  can the code also check for LifeCam Cinema?  I will be updating my local version of this build to ensure the update works.
Thanks,
Rob

The full V4L name (in /sys/class/video4linux/video0/name) is
Microsoft® LifeCam Cinema(TM)

Confirmed, updating the line above (adding "LifeCam Cinema(TM)") fixes the same quirk.


Inconsistencies between the Home builtin action and the custom "start of line" shortcut action

Background
Actions for the Home and End keys are currently hard-coded in the Editor here.
The reason for this was to provide consistency with macOS (see Issue #495), because Home and End do not corresponds to the builtin MoveToStartOfLine and MoveToEndOfLine  shortcut in this OS, as you can see in the table below.

Later, the custom start of line and end of line  shortcuts were added to the keyboard shortcut preferences.
Problem Description
The hard-coded action for the Home keypress event do a Smart HOME feature (cursor is first moved at indentation position, then at the start of the line) while our custom  start of line shortcut calls a standard MoveToStartOfLine action.
Also, I'm not sure that the hard-coded actions for Home and End are required anymore after the changes introduced in PR #7768.
I think we should :

Remove the hard coded action for Home and End in the editor.
Set the start of line action by default to Home
Set the end of line action by default to End
Do a "Smart Home" action when the start of line shortcut is pressed instead of a standard MoveToStartOfLine action
Add tests to cover this.

Your plan seems very thorough. Please go ahead with it.

ok, now I understand. The current command for the start of line and end of line shortcuts are Meta+A and Meta+E. Those are the Emacs command for these shortcuts!
However, the mistake we did is that we should have translated the Meta key to the Alt key in Qt. Here is a citation from the Emacs tutorial I'm currently following:

M-  means hold the META or EDIT or ALT key down while typing . If there is no META, EDIT or ALT key, instead press and release the ESC key and then type .  We write  for the ESC key.

The problem I see with our current set of default shortcuts is that it mixes commonly accepted command in Windows and Linux with Emacs command.
For example, most people, I assume, use the End key in Windows to go to the end of the line while our current command for this shortcut is the Emacs one Alt+E. Conversely, our default command for the copy shortcut is the commonly known Ctrl+C key combination, while in Emacs it should be Alt+W.
So bottom line, we need to have two sets of separate shortcuts as the original plan was. Until now, I think we should provide the most commonly used command in Windows and Linux for our shortcuts and avoid mixing Emacs with default Windows/Linux/macOS command in our default.
I'm going to open an Epic to list what I think needs to be done regarding the shortcuts in the Editor. We started a discussion about this somewhere, but I can't find it anymore...

ok, now I understand. The current command for the start of line and end of line shortcuts are Meta+A and Meta+E. Those are the Emacs command for these shortcuts!

Actually, on Emacs the short cuts for start/end of line are Ctrl+A and Ctrl+E.  The short cuts Meta+A and Meta+E go to start/end of sentence (in English text).

Actually, I was wrong.
Meta+A and Meta+E are not Emacs keybindings but to the default keybindings for the MoveToStartOfBlock and MoveToEndOfBlock for macOS where there is actually a Meta key.

After looking a little bit into this, this is not going to be as easy to fix as it seemed.
So I think the start of line, end of line, previous line, next line, previous char, next char, previous word, next word, start of document and end of documents shortcuts were added in anticipation for Emacs keyboard commands support.
However, all of these shortcuts are semi-broken in Spyder currently. For example, if we assign the Ctrl+F command to the next char shortcut, doing the Ctrl+F key sequence will indeed move the cursor forward by one character. The problem is with selection, i.e. that doing Shift+Ctrl+F will do absolutely nothing.
So I think we need to add one layer of complexity when handling shortcuts of the type "Cursor motion". First of all, when creating a shortcut of the type "cursor motion", we need in fact to create two shortcut: one with the key sequence assigned by the user and another one with the Shift modifier for selection.
This also means that in the Shortcut Editor, we need to blacklist the use of the Shift key as a modifier for these shortcuts. We also needs to take that into account when checking for conflicts with other shortcuts.

@ccordoba12 is it ok to wait for PR #7929 to be merged before working to fix this?

Sure, no problem with that.


[DO NOT MERGE] Auto PR to update dependencies of istio

This PR will be merged automatically once checks are successful.
none

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
d3c1f811137c1af967048ed612a469a7e0b34994
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
d3c1f811137c1af967048ed612a469a7e0b34994
link
/test istio-presubmit

prow/istio-unit-tests.sh
d3c1f811137c1af967048ed612a469a7e0b34994
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


FLINK-8571] [DataStream] Introduce utility function that reinterprets a data stream as keyed stream

What is the purpose of the change
This change introduces a utility function (DataStreamUtils#reinterpretAsKeyedStream(...)) that re-interprets any data stream as a keyed stream. Currently, the intended use-case are source that are already pre-partitioned w.r.t. the key group partitioning of Flink's keyBy. With this, for materialized shuffles that are picked up through a re-interpreted source, a job that uses keyed state can become embarrassingly parallel. This, in turn, allows for fine-grained recovery options where tasks can still make progress if other tasks fail.
Brief change log

Moved DataStreamUtils to a better package.
Introduced utility functions to re-interpret data streams as keyed in DataStreamUtils and the
counterpart from the Scala API.

Verifying this change
See DataStreamUtilsTest#testReinterpretAsKeyedStream.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (Docs + JavaDocs)

CC @aljoscha

Still looks good, except that I'd like to see the new doc in a completely separate section of the doc.

Thanks for the review @aljoscha. Will merge.


Using Statiq processes for tailwind commands

This will use the Statiq process feature to run npm install before the initial execution and npm run build:tailwind after each execution of the engine (which means it'll rebuild Tailwind assets when using the preview command after each input file change. I also updated the docs readme to match the current state (I.e. removed the reference to a virtual directory since that's no longer the case).
I think something might be off with the Tailwind configuration though. As far as I can tell the Statiq bits are all running as expected, but the npm run build:tailwind command doesn't appear to be pruning the file at output/assets/styles.css. Unless I'm misunderstanding and the Tailwind command used during development doesn't actually do pruning, in which case it's probably fine. Here's the output I see from the command when running Statiq in preview mode:

(ignore the funny unicode characters, I'm guessing that's due to passing process output through a string and is a problem for another day)

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

So there are two processes right now. build:tailwind takes the tailwind.css and tailwind.js and builds out the big 4mb file in the assets folder. That's for dev work. It has every possible tailwind class and utility available.
build calls the tailwind cli with the production environment set. this looks at all the generated html files and looks at which css classes are actually being used and prunes them out.
BUT, with tailwind 2.1the JIT mode has been introduced. this should allow us to point at the cshtml files for pruning and generate a smaller css file for development that's also used in production. This will require modification to the tailwind.config.js.
Question for you though @daveaglick - you mentioned there was a way to keep the process alive for a watch. I'm not on a computer for the next few days, but I suspect this would be just a different option for AddProcess? I'd think that's the option we'd want to apply here while it's running.

I'm gonna close this PR. I've taken @daveaglick's branch and added a few things to get it working with tailwind's JIT mode that I want to come along with it.


Cookie domain issue

Is this suited for github?

[X] Yes, this is suited for github

To Reproduce

Create an auth in Node.js Express project and deploy it on a live server.
Use the auth client in the Next.js local server and log in.
Auth is not working in the Next.js serverside because the cookies are set on the API domain.

Current vs. Expected behavior
Currently, the cookie domain is set from the base URL.
Need an option to set cookie options or cookie domain option dynamically. I want to set the cookie domain from the origin because I want to use the API in the live domain and local domain both.
What version of Better Auth are you using?
1.0.15
Provide environment information
- OS: macOS Sequoia
- Browser: Chrome

Which area(s) are affected? (Select all that apply)
Backend, Client
Auth config (if applicable)
import { betterAuth } from "better-auth"
export const auth = betterAuth({
  emailAndPassword: {
    enabled: true
  },
});

Additional context
No response

have you tried setting up this way this in the config?
advanced: {
    ...
    crossSubDomainCookies: {
      enabled: true,
      domain: 'yourdomain.com',
    },
  },

if you want to set dynamically, you could use your env
const MyDomains = {
  development: 'yourdomain.local',
  production: 'yourdomain.com',
  staging: 'yourdomain.staging',
};
...
advanced: {
    ...
    crossSubDomainCookies: {
      enabled: true,
      domain: MyDomains[process.node.NODE_ENV],
    },
  },

@emroot will this only work with subdomains?

I mean it will work on all subdomains for whatever you specify there, but I don't why it wouldn't work with a different domain, if you own it of course.
In my case I have configured my domains as is: mydomain.local for my local machine, and mydomain.com for my prod domain, and it's dynamic based on my env. I also set the trustedDomains dynamically too based on env.

Are we only able to set it to one domain? If I want to use it with localhost I'm testing domain: "localhost" and domain ".app.localhost"
Or should I test with "127.0.01." for domain. I want to be able to hit my auth endpoints on production from my local static export

I want to handle multiple origins. If I use the production API in localhost, it will not work because the cookie saved in the production domain and localhost cannot access the cookie server-side. It will work fine on the client side.

When you try to sign in, open the Network inspection tab in Chrome and look at the Response headers. You should see the cookie there and a yellow exclamation point, if you hover that exclamation point it will tell you why it won't set the cookie. What does it say for you?

When you try to sign in, open the Network inspection tab in Chrome and look at the Response headers. You should see the cookie there and a yellow exclamation point, if you hover that exclamation point it will tell you why it won't set the cookie. What does it say for you?

It’s because of a wrong cookie configuration.

You could set up nginx locally to make that work. That's why I do on my end.
My prod domain is in this fornat my domain.com, and my local domain through nginx is local.mydomain.com.
By setting crossdomaincookies to domain.com it should just work.

You could set up nginx locally to make that work. That's why I do on my end. My prod domain is in this fornat my domain.com, and my local domain through nginx is local.mydomain.com. By setting crossdomaincookies to domain.com it should just work.

Thanks for the quick fix, but could you please add an option to set the cookie to all trusted origins?


binary-search: Let's use a vector instead of a list for the sorted numbers.

List access is O(N) (you have to walk from the head of the list all the way to your desired index) so binary search on a list doesn't make much sense from a performance/efficiency standpoint. Let's use vectors instead (which have constant time random access).
The Common Lisp and Scheme tracks use vectors too.

We'll break existing solutions, but I see your point. The Emacs Lisp track also uses arrays in a similar way.
PR welcome.


Not able to deploy images from private registry with  imageAllowRules.

acorn version - acorn version v0.6.0-93-gd9de8c30+d9de8c30
Steps to reproduce the problem:
Created ImageAllowRule for project testp2.
apiVersion: api.acorn.io/v1
kind: ImageAllowRules
metadata:
  name: rule1
  namespace: testp2
signatures:
  rules:
    - signedBy:
        allOf:
          - |
            -----BEGIN PUBLIC KEY-----
              <key>
            -----END PUBLIC KEY-----
      annotations:
        match:
          qatag: ok

Signed and annotated the image - test1:V0.0.1
cosign sign --key santest2.key -a qatag=ok registry-myreg-d935ce13.a-sangee2004-mytestnew-27b4c9fb-paul1.stg-on-acorn.io/test1:v0.0.1
...
...

Pushing signature to: registry-myreg-d935ce13.a-sangee2004-mytestnew-27b4c9fb-paul1.stg-on-acorn.io/test1

Deploying app with this image fails:
sangeethahariharan@Sangeethas-MBP imagecosign % acorn project use testp2
sangeethahariharan@Sangeethas-MBP imagecosign % acorn credentials
SERVER                                                                          USERNAME     LOCAL
registry-myreg-d935ce13.a-sangee2004-mytestnew-27b4c9fb-paul1.stg-on-acorn.io   t82l8g4v
sangeethahariharan@Sangeethas-MBP imagecosign % acorn run -n mytest1 registry-myreg-d935ce13.a-sangee2004-mytestnew-27b4c9fb-paul1.stg-on-acorn.io/test1:v0.0.1
  ✗  ERROR:  App.api.acorn.io "mytest1" is invalid: spec.image: Invalid value: "registry-myreg-d935ce13.a-sangee2004-mytestnew-27b4c9fb-paul1.stg-on-acorn.io/test1:v0.0.1": disallowed by imageAllowRules: error verifying image registry-myreg-d935ce13.a-sangee2004-mytestnew-27b4c9fb-paul1.stg-on-acorn.io/test1:v0.0.1 against testp2/rule1.signatures.allOf.0: failed to get signature digest: GET https://registry-myreg-d935ce13.a-sangee2004-mytestnew-27b4c9fb-paul1.stg-on-acorn.io/v2/test1/manifests/sha256-07b027e660d98db7636eedb3fc12506485db55f0f1a09f1395f1483264e8ac39.sig: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:test1 Type:repository]]

There were no new logs in acorn-controller when app deployment was attempted.
Logs from api server:
I0330 16:30:13.088353       1 trace.go:205] Trace[2010560422]: "Create" url:/apis/api.acorn.io/v1/namespaces/test1/images/registry-myregistry-0b4e89c6.a-sangee2004-acorn-b4c4fc02-paul1.stg-on-acorn.io+test1:v0.0.1/details,user-agent:acorn/v0.0.0 (linux/arm64) kubernetes/$Format,audit-id:df618926-b6aa-408b-b251-075e4d7dab24,client:<IP_ADDRESS>,accept:application/json, */*,protocol:HTTP/2.0 (30-Mar-2023 16:30:12.472) (total time: 615ms):
Trace[2010560422]: ---"Write to database call finished" len:130,err:<nil> 615ms (16:30:13.088)
Trace[2010560422]: [615.451959ms] [615.451959ms] END
I0330 16:30:13.740762       1 trace.go:205] Trace[1995623158]: "Create" url:/apis/api.acorn.io/v1/namespaces/test1/apps,user-agent:acorn/v0.0.0 (darwin/amd64) kubernetes/$Format,audit-id:5d797783-0071-4d5f-8d27-52fd5cd364ec,client:::1,accept:application/json, */*,protocol:HTTP/2.0 (30-Mar-2023 16:30:11.734) (total time: 2005ms):
Trace[1995623158]: ---"Write to database call finished" len:320,err:App.api.acorn.io "mytest1" is invalid: spec.image: Invalid value: "registry-myregistry-0b4e89c6.a-sangee2004-acorn-b4c4fc02-paul1.stg-on-acorn.io/test1:v0.0.1": disallowed by imageAllowRules: error verifying image registry-myregistry-0b4e89c6.a-sangee2004-acorn-b4c4fc02-paul1.stg-on-acorn.io/test1:v0.0.1 against test1/rule1.signatures.allOf.0: failed to get signature digest: GET https://registry-myregistry-0b4e89c6.a-sangee2004-acorn-b4c4fc02-paul1.stg-on-acorn.io/v2/test1/manifests/sha256-df900c2ee924561b9c3ac5789c87ca651a60ffc83c120045c1e84f943ae3b2e5.sig: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:test1 Type:repository]] 2005ms (16:30:13.740)
Trace[1995623158]: [2.005837501s] [2.005837501s] END

Some parts of the verification code used crane without the proper Keychain derived from the Acorn context. This should be fixed in #1416.


mime types are not deleted

Cookbook version
iis 5.1.0
Chef-client version
12.19.36
Platform Details
Windows Server 2012 R2
Scenario:
When trying to use the iis_root resource and the delete_mime_maps property the mime types do not get deleted, but the Chef run reports no error.
Steps to Reproduce:
In metadata.rb in a cookbook specify;
depends 'iis', '~> 5.1.0'
In a recipe specify this code;
iis_root 'remove mime types' do
  action :delete
  delete_mime_maps [
    "fileExtension='.rpm',mimeType='audio/x-pn-realaudio-plugin'",
    "fileExtension='.msi',mimeType='application/octet-stream'"
  ]
end

Expected Result:
The 2 mime types get deleted from IIS.
Actual Result:
The mime types do not get deleted from IIS. The Chef run in test kitchen reports as (up to date), yet the mime types are still present.

Creating inspec tests for this so we can validate the code and fix if necessary.  Sorry for the delay in communication

Thanks. Let me know if you need anything else from me. Cheers

We are in the process of re-writing all the resources (moved to doing one at a time)...example: https://github.com/chef-cookbooks/iis/pull/322 i'll be updating them alphabetically so once we get to iis_root this will be re-written to a custom resource and will have actual tests.  any bugs (including this one) will be resolved then.

@neilfrawley i think this is because of the section lock, while re-writing the iis_module resource i've run across something similar.

I'll add a test for this when i get to the iis_root resource (next on the list)

OK fantastic, thanks

@neilfrawley resolved in #351 according to the test


Could you provide an example of how to use this library with react while initializing state with props?

Could you provide an example of how to use this library with react while initializing state with props? Would it require the use of react context or is it possible without it?
Thanks!

If a proxy state is defined at module level, it's already initialized, so you should basically change it with useEffect.
const state = proxy({ text: 'hello' })

const Component = ({ initialText }) => {
  useEffect(() => {
    state.text = initialText
  }, [])
  // ...
}

If this is not something you are looking for, a possible pattern is lazy initialization in render (which requires deeper understanding), or use context: https://github.com/pmndrs/valtio/wiki/How-to-use-with-context


Server does not recieve same POST data that was sent

What I'm trying to do is send an array buffer to the server, I do this by decoding the object into UTF-8 to then send. I can see in the Network tab of the Inspector that it sends the correct data and that it is successful. However, on the receiving end of the server, I don't get the same POST data that I sent. I'm thinking it has something to do with encoding but am unsure where it causes trouble.
The code that sends the request:
let decoder = new TextDecoder("UTF-8");
console.log(dbData);

$.ajax({
    url: "saveDatabase.server?filename=" + filename,
    type: "POST",
    contentType: "text/plain",
    data: dbData,
    dataType: "text/plain",
    processData: false
}).done((response) => {
    if (response === "success") {
        makeAlert("Saved!", "Your database has been saved successfully.", "INFO");
    } else if (response === "failure") {
        makeAlert("Failure!", "The entered password was incorrect.", "ERROR");
    } else if (response.includes("error")) {
        makeAlert("Error!", response.split(": ")[1], "ERROR");
    } else {
        makeAlert("Something went wrong!", "Server didn't give any response back.", "ERROR");
    }
});

The serve code on the server in question:
Log.i("NanoHTTPD", "Checking master password before trying to save database");
//  Store the cookie pass hash.
String pass = session.getCookies().read("pass");

//  Check if the password is correct.
if (checkMasterPass(pass)) {
    PrintWriter debugWriter = new PrintWriter(wwwDir + "/debug", "UTF-8");
    debugWriter.write(URLEncoder.encode(files.get("postData"), "UTF-8"));
    debugWriter.close();

    String filename = session.getParms().get("filename");
    String tmpFilePath = files.get("postData");

    if (null == filename || null == tmpFilePath) {
        return newFixedLengthResponse("error: No data or filename was sent");
    }

    try {
        //  Convert the data back into bytes.
        byte[] dbData = files.get("postData").getBytes("windows-1252");

        //  Save the database file.
        FileOutputStream out = new FileOutputStream(wwwDir +"/databases/_"+ filename);
        out.write(dbData);
        out.close();
    } catch (IOException ioe) {
        return newFixedLengthResponse("error: Could not write file "+ wwwDir +"/databases/"+ filename);
    }

    return newFixedLengthResponse("success");

Why do you use windows-1252 to convert the post data? It seems you are already sending utf8 data. I would try 2 things. First set utf8 here: byte[] dbData = files.get("postData").getBytes("windows-1252");
Or try set windows-1252 here too:
FileOutputStream out = new FileOutputStream(wwwDir +"/databases/_"+ filename);


Fix controller update to not generate new UUID on every update

b6d894a4137ed493fdbd371e08198178628db67b has changed the logic to always generate a new UUID on every controller update. This is wrong and leaks controllers in the global status map.

I pushed a simple fix in #4067.
I'm not sure I understand why using a new uuid per controller update is wrong. It's the only way we have to indicate, in the logs, that the controller has been updated or changed. In the sense that you want to have the controller be in a single slot somewhere, why did we add the uuid to begin with? Couldn't we just use the names we give, and require them to be unique? Duplicate names would confuse us in logs and status outputs in any case. The UUID isn't useful unless you unpack it, and it can't be used to distinguish between instances of the same type of controller (you can't associate it to the endpoint or thing it manages).

I'm fine to switch over to unique names


K8SSAND-513 ⁃ How to Locate transactional and search data on separate SSDs

Docs state that:
Attention: It is critical that you locate DSE Cassandra transactional data and Solr-based DSE Search data on separate Solid State Drives (SSDs). Failure to do so will very likely result in sub-optimal search indexing performance.

link: https://docs.datastax.com/en/dse/6.8/dse-admin/datastax_enterprise/search/tuningIndexing.html#LocatetransactionalandsearchdataonseparateSSDs
Can this be configured with the cass-operator? If so can you share an example?
┆Issue is synchronized with this Jira Task by Unito
┆friendlyId: K8SSAND-513
┆priority: Medium

One can add new storage paths to the deployed pods using the storageConfig/additionalVolumes. For example:
    additionalVolumes:
      - name: "dse-logs"
        mountPath: "/var/lib/dse/search"
        pvcSpec:
          storageClassName: premium-ssd
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 1Gi
      - name: cassandra-commitlogs
        mountPath: /var/lib/cassandra/commitlog
        pvcSpec:
          storageClassName: premium-ssd
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 1Gi

And then mount them under podTemplateSpec
          volumeMounts:
            - mountPath: "/var/lib/cassandra/commitlog"
              name: "cassandra-commitlogs"

Example of those additionalMounts in use can be found from https://github.com/k8ssandra/cass-operator/blob/148b57fab4bd25920cd4400895cb494216f84cf0/tests/testdata/default-single-rack-single-node-addtional-volumes-dc.yaml
You need to set the config parameter to change where you want to store the data (those dse_solr parameters) and of course enable DSE search: thttps://github.com/k8ssandra/cass-operator/blob/148b57fab4bd25920cd4400895cb494216f84cf0/tests/testdata/default-single-rack-single-node-addtional-volumes-dc.yaml

thanks @burmanm will try this out

@ajgrande924 Were you able to solve the issue? For further support, I recommend hopping to our Discord server if you have questions: https://discord.gg/bfNHWbqk

Closing this ticket as it looks like we have a valid solution. Feel free to reopen if needed.


Provide sample spreadsheets with data

Provide sample spreadsheets with good cross-sectional data of all three spreadsheets:

[x] Notification tracking
[x] Local Government submission tracking
[x] CRHP Export sites tracking

This is necessary to better understand the fields and values.

Received Jan 26, 2023


Kconfig can't open Kconfig.projbuild ( issue #2812 back ? ) (IDFGH-1126)

Hello_World example compiles and run  succesfully with esp-idf commands in msys32
But Compiling Hello_World project with Eclipse Version: 2019-03 (4.11.0) generate this error :-1:
IOError: C:/msys32/home/Dan/esp/esp-idf/Kconfig:59: Could not open '/home/Dan/esp/esp-idf/components/bootloader/Kconfig.projbuild' (ENOENT: No such file or directory). Perhaps the $srctree environment variable (which was unset) is set incorrectly. Note that the current value of $srctree is saved when the Kconfig instance is created (for consistency and to cleanly separate instances). Also note that e.g. $FOO in a 'source' statement does not refer to the environment variable FOO, but rather to the Kconfig Symbol FOO (which would commonly have 'option env="FOO"' in its definition).
Is issue  # 2812 coming back with  ?

17:49:43 **** Build of configuration Default for project Hello_World ****
make -j4 all
including /home/Dan/esp/esp-idf/components/app_update/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/bootloader/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/bootloader_support/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/efuse/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/esp32/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/esptool_py/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/mbedtls/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/nghttp/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/partition_table/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/spiffs/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/ulp/Makefile.projbuild...
including /home/Dan/esp/esp-idf/components/unity/Makefile.projbuild...
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
python /home/Dan/esp/esp-idf/tools/check_python_dependencies.py
Python requirements from C:/msys32/home/Dan/esp/esp-idf\requirements.txt are satisfied.
mkdir -p /home/Dan/esp/hello_world/build/include/config
python /home/Dan/esp/esp-idf/tools/kconfig_new/confgen.py --kconfig /home/Dan/esp/esp-idf/Kconfig --config /home/Dan/esp/hello_world/sdkconfig --env "COMPONENT_KCONFIGS=/home/Dan/esp/esp-idf/components/app_trace/Kconfig /home/Dan/esp/esp-idf/components/bt/Kconfig /home/Dan/esp/esp-idf/components/driver/Kconfig /home/Dan/esp/esp-idf/components/efuse/Kconfig /home/Dan/esp/esp-idf/components/esp32/Kconfig /home/Dan/esp/esp-idf/components/esp_adc_cal/Kconfig /home/Dan/esp/esp-idf/components/esp_event/Kconfig /home/Dan/esp/esp-idf/components/esp_http_client/Kconfig /home/Dan/esp/esp-idf/components/esp_http_server/Kconfig /home/Dan/esp/esp-idf/components/esp_https_ota/Kconfig /home/Dan/esp/esp-idf/components/esp_wifi/Kconfig /home/Dan/esp/esp-idf/components/espcoredump/Kconfig /home/Dan/esp/esp-idf/components/ethernet/Kconfig /home/Dan/esp/esp-idf/components/fatfs/Kconfig /home/Dan/esp/esp-idf/components/freemodbus/Kconfig /home/Dan/esp/esp-idf/components/freertos/Kconfig /home/Dan/esp/esp-idf/components/heap/Kconfig /home/Dan/esp/esp-idf/components/libsodium/Kconfig /home/Dan/esp/esp-idf/components/log/Kconfig /home/Dan/esp/esp-idf/components/lwip/Kconfig /home/Dan/esp/esp-idf/components/mbedtls/Kconfig /home/Dan/esp/esp-idf/components/mdns/Kconfig /home/Dan/esp/esp-idf/components/mqtt/Kconfig /home/Dan/esp/esp-idf/components/nvs_flash/Kconfig /home/Dan/esp/esp-idf/components/openssl/Kconfig /home/Dan/esp/esp-idf/components/pthread/Kconfig /home/Dan/esp/esp-idf/components/spi_flash/Kconfig /home/Dan/esp/esp-idf/components/spiffs/Kconfig /home/Dan/esp/esp-idf/components/tcpip_adapter/Kconfig /home/Dan/esp/esp-idf/components/unity/Kconfig /home/Dan/esp/esp-idf/components/vfs/Kconfig /home/Dan/esp/esp-idf/components/wear_levelling/Kconfig" --env "COMPONENT_KCONFIGS_PROJBUILD=/home/Dan/esp/esp-idf/components/app_update/Kconfig.projbuild /home/Dan/esp/esp-idf/components/bootloader/Kconfig.projbuild /home/Dan/esp/esp-idf/components/esptool_py/Kconfig.projbuild /home/Dan/esp/esp-idf/components/partition_table/Kconfig.projbuild" --env "IDF_CMAKE=n" --output config /home/Dan/esp/hello_world/sdkconfig --output makefile /home/Dan/esp/hello_world/build/include/config/auto.conf --output header /home/Dan/esp/hello_world/build/include/sdkconfig.h
Traceback (most recent call last):
File "C:/msys32/home/Dan/esp/esp-idf/tools/kconfig_new/confgen.py", line 505, in
main()
File "C:/msys32/home/Dan/esp/esp-idf/tools/kconfig_new/confgen.py", line 187, in main
config = kconfiglib.Kconfig(args.kconfig)
File "C:/msys32/home/Dan/esp/esp-idf/tools/kconfig_new/kconfiglib.py", line 656, in init
self.top_node)  # prev_node
File "C:/msys32/home/Dan/esp/esp-idf/tools/kconfig_new/kconfiglib.py", line 1583, in _parse_block
self._enter_file(sourced_file)
File "C:/msys32/home/Dan/esp/esp-idf/tools/kconfig_new/kconfiglib.py", line 1167, in _enter_file
.format(self._filename, self._linenr, e.message))
IOError: C:/msys32/home/Dan/esp/esp-idf/Kconfig:59: Could not open '/home/Dan/esp/esp-idf/components/bootloader/Kconfig.projbuild' (ENOENT: No such file or directory). Perhaps the $srctree environment variable (which was unset) is set incorrectly. Note that the current value of $srctree is saved when the Kconfig instance is created (for consistency and to cleanly separate instances). Also note that e.g. $FOO in a 'source' statement does not refer to the environment variable FOO, but rather to the Kconfig Symbol FOO (which would commonly have 'option env="FOO"' in its definition).
make: *** No rule to make target '/home/Dan/esp/hello_world/build/include/config/auto.conf', needed by '/home/Dan/esp/hello_world/build/bootloader/bootloader.bin'.  Stop.
"make -j4 all" terminated with exit code 2. Build might be incomplete.
17:49:51 Build Failed. 2 errors, 0 warnings. (took 8s.74ms)

ESP-IDF version used
git describe --tags --dirty
v4.0-dev-478-gdf61612f8

Hi @dnguyen76. This looks like a separate issue, perhaps even related to https://github.com/espressif/esp-idf/pull/3426 since the circumstances seem to be the same. Can you take a look if making the changes in the said PR resolves this?

@dnguyen76  Alternatively, you can also try running make menuconfig or make defconfig before attempting to build the project in Eclipse

I had done "make menuconfig" with ESP-IDF v4.0-dev-478-gdf61612f8 , but error still there
I have installed stable ESP-IDF v3.2  ;  It's working , no error with v3.2

Hello, I'm a new user with limited software experience, but I'm also having the same issue; I can build with the ESP-IDF but not with Eclipse.
I've followed the Espressif setup instructions for Eclipse having set the path environment variables etc so I don't understand why the compiler can't see the file in question? Any help will be greatly appreciated, preferably with simple to understand instructions! For example, I don't understand the content of #3426.
Other information that may be relevant?
I'm using windows 10-64bit and was instructed during installation that I needed a Java JRE8 which I installed. Using the link to the installer completed C/C++ installation but I received the error: "the eclipse executable launcher was unable to locate its companion shared library" and after some searching learned that the bundle pool may be the problem. Reinstalling with the bundle pool turned off fixed that problem.
Thanks again for any advice or assistance, Ralph

Hi @dnguyen76, have you tried applying the patch as previsouly suggested?
@ralphs99 Thanks for checking out ESP-IDF! So anyways, the modifications in the patch is so that we can reliably detect if the build is being performed on Windows or not. This is because the path style between Windows and Unix and Unix-like operating systems are different, and some of the tools invoked in the build do not recognize Windows-style paths, which is why we need to do conversion. The previous check, ifdef MSYSTEM was apparently reported to be an unreliable, so the conversion does not get executed.

Hi Renzbagaporo,
Thanks for your reply.
I assume you're referring to #3426 "Fixes failed build on Windows (Eclipse). Condition ifdef MSYSTEM not performs. "make" uses /bin/sh as default shell interpreter where variable MSYSTEM is not defined. I suggest to use OS variable instead"?
Sorry for my ignorance but I don't know what the "OS variable" is or how to apply it. Can you please explicitly tell me what I need to do to get Eclipse working with the ESP-IDF?
Thanks, Ralph

Hi @dnguyen76, any updates to this issue?
@ralphs99 You don't have to do anything with regards to #3426. My response a simple explanation of what's happening in #3426. Are you still experiencing an issue? You man open a separate Github Issue and state the details of your problem there. Thanks.

Closing due to lack of updates.

I also have the same issue with newly cloned ESP-AT, v3.3.
Any ideas please?

App "esp-at" version: ESP-AT
Generating esp32.project.ld
Traceback (most recent call last):
File "C:/msys32/home/Ati/esp/esp-idf/tools/ldgen/ldgen.py", line 113, in
main()
File "C:/msys32/home/Ati/esp/esp-idf/tools/ldgen/ldgen.py", line 96, in main
sdkconfig = SDKConfig(kconfig_file, config_file, args.env)
File "C:/msys32/home/Ati/esp/esp-idf/tools/ldgen/sdkconfig.py", line 56, in init
self.config = kconfiglib.Kconfig(kconfig_file.name)
File "C:/msys32/home/Ati/esp/esp-idf/tools/kconfig_new/kconfiglib.py", line 656, in init
self.top_node)  # prev_node
File "C:/msys32/home/Ati/esp/esp-idf/tools/kconfig_new/kconfiglib.py", line 1583, in _parse_block
self._enter_file(sourced_file)
File "C:/msys32/home/Ati/esp/esp-idf/tools/kconfig_new/kconfiglib.py", line 1167, in _enter_file
.format(self._filename, self._linenr, e.message))
IOError: C:/msys32/home/Ati/esp/esp-idf/Kconfig:59: Could not open 'C:msys32homeAtiespesp-idfcomponentsapp_updateKconfig.projbuild' (ENOENT: No such file or directory). Perhaps the $srctree environment variable (which was unset) is set incorrectly. Note that the current value of $srctree is saved when the Kconfig instance is created (for consistency and to cleanly separate instances). Also note that e.g. $FOO in a 'source' statement does not refer to the environment variable FOO, but rather to the Kconfig Symbol FOO (which would commonly have 'option env="FOO"' in its definition).
make: *** [/home/Ati/esp/esp-idf/components/esp32/Makefile.projbuild:51: /home/Ati/esp/esp-at/build/esp32/esp32.project.ld] Error 1

@kurta999 I too got same issue with ESP-AT
`shahul@shahul-PC MINGW32 /home/shahul/esp/esp32-at
$ make flash SILENCE=1
Makefile:34: There is no module_config/module_wroom-32,Using module_config/modul      e_esp32_default
/home/shahul/esp/esp32-at/tools/mkfatfs/Makefile.projbuild:13: warning: overridi      ng recipe for target 'clean'
/home/shahul/esp/esp32-at/esp-idf/components/app_update/Makefile.projbuild:48: w      arning: ignoring old recipe for target 'clean'
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
Python requirements from C:/msys32/home/shahul/esp/esp32-at/esp-idf/requirements      .txt are satisfied.
App "esp-at" version: ESP-AT
Generating esp32.project.ld
Traceback (most recent call last):
File "C:/msys32/home/shahul/esp/esp32-at/esp-idf/tools/ldgen/ldgen.py", line 1      13, in
main()
File "C:/msys32/home/shahul/esp/esp32-at/esp-idf/tools/ldgen/ldgen.py", line 9      6, in main
sdkconfig = SDKConfig(kconfig_file, config_file, args.env)
File "C:/msys32/home/shahul/esp/esp32-at/esp-idf/tools/ldgen/sdkconfig.py", li      ne 56, in init
self.config = kconfiglib.Kconfig(kconfig_file.name)
File "C:/msys32/home/shahul/esp/esp32-at/esp-idf/tools/kconfig_new/kconfiglib.      py", line 656, in init
self.top_node)  # prev_node
File "C:/msys32/home/shahul/esp/esp32-at/esp-idf/tools/kconfig_new/kconfiglib.      py", line 1583, in _parse_block
self._enter_file(sourced_file)
File "C:/msys32/home/shahul/esp/esp32-at/esp-idf/tools/kconfig_new/kconfiglib.      py", line 1167, in _enter_file
.format(self._filename, self._linenr, e.message))
IOError: C:/msys32/home/shahul/esp/esp32-at/esp-idf/Kconfig:59: Could not open '      C:msys32homeshahulespesp32-atesp-idfcomponentsapp_updateKconfig.projbuild' (ENOE      NT: No such file or directory). Perhaps the $srctree environment variable (which       was unset) is set incorrectly. Note that the current value of $srctree is saved       when the Kconfig instance is created (for consistency and to cleanly separate i      nstances). Also note that e.g. $FOO in a 'source' statement does not refer to th      e environment variable FOO, but rather to the Kconfig Symbol FOO (which would co      mmonly have 'option env="FOO"' in its definition).
make: *** [/home/shahul/esp/esp32-at/esp-idf/components/esp32/Makefile.projbuild      :51: /home/shahul/esp/esp32-at/build/esp32/esp32.project.ld] Error 1
`
I don't no what to fix. Please someone help to solve the issue.


Add [Daisy ] #exchange GDALI2…UB5TKY

Address: GDALI2DW2AWEIXMWXAHIUVUS3VDK2GVYLVEXI4KKGCZLYUBGCWUB5TKY
Tags: exchange
Title: **Daisy **
Requested by @stress16

Not sure what is going on
On Tue, 9 May 2023, 6:21 pm stellar-expert-deploy, @.***>
wrote:

Address: GDALI2DW2AWEIXMWXAHIUVUS3VDK2GVYLVEXI4KKGCZLYUBGCWUB5TKY
Tags: exchange
Title: **Daisy **
Requested by @stress16 https://github.com/stress16
—
Reply to this email directly, view it on GitHub
https://github.com/stellar-expert/public-directory/issues/530, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AT2QG3JW5U36SKQQ67N3WXLXFILCDANCNFSM6AAAAAAX3EEMBA
.
You are receiving this because you were mentioned.Message ID:
@.***>

combined with the same request of: https://github.com/stellar-expert/public-directory/issues/529
Looking Towards The Future With You,
Rob


asyncData fails to return component data with multiple return statements

Versions

nuxt: v2.15.8
node: v16.13.1

Reproduction

Additional Details

When you need to make multiple API requests via a set of conditionals and return data through multiple return statements, `asyncData` fails to merge the returned object to the component data when executed server-side. In the example below, I am making a series of API requests based on different combinations of query parameters. I can confirm that the API requests are made successfully, but all of the returned data is "undefined" on the component data side.
I replaced all of my API calls with test API calls to make it easy to reproduce the issue.

Steps to reproduce
Add this asyncData and data block to any page and render it server side.
async asyncData({ $axios, route }) {
  if (route.query.query) {
    if (route.query.tab === 'companies') {
      // API Call "Search companies"
      const response = await $axios.$get('https://jsonplaceholder.typicode.com/todos/')

      return {
        company: null,
        tab: 'companies',
        query: route.query.query,
        companyResults: response.data,
      }
    } else if (route.query.company) {
      // API Call "Read a company" and "Search requests"
      const [companyResponse, requestsResponse] = await Promise.all([$axios.$get('https://jsonplaceholder.typicode.com/todos/1'), $axios.$get('https://jsonplaceholder.typicode.com/todos/')])

      return {
        company: companyResponse.data,
        tab: 'requests',
        query: route.query.query,
        requestResults: requestsResponse.data,
      }
    } else {
      // API Call "Search requests"
      const response = await $axios.$get('https://jsonplaceholder.typicode.com/todos/')

      return {
        company: null,
        tab: 'requests',
        query: route.query.query,
        requestResults: response.data,
      }
    }
  }
},
data() {
  return {
    query: '',
    tab: 'requests',
    company: null,
    requestResults: [],
    companyResults: [],
  }
},

What is Expected?
I can confirm the API call's are made successfully. I would expect with in the component data query, tab, company, and requestResults or companyResults should be set based on the query parameters passed. company, requestResults, and companyResults should be set to the API response.
What is actually happening?
All data on the component side is "undefined".

When you use $get Nuxt axios automatically returns the data rather than an object with a data property.
Try this:
        return {
          company: null,
          tab: "companies",
          query: route.query.query,
+          companyResults: response,
-          companyResults: response.data,
        };


Pester testing guideline for tests against thrown errors

As part of PR 4612, it was found that the current guideline here recommends this approach
It "Get-Item on a nonexisting file should have error PathNotFound" {
    try
    {
        get-item "ThisFileCannotPossiblyExist" -ErrorAction Stop
        throw "No Exception!"
    }
    catch
    {
        $_.FullyQualifiedErrorId | should be "PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand"
    }
}

However, @iSazonov suggests here that the guideline should be updated to this pattern:
{ get-item  "ThisFileCannotPossiblyExist" -ErrorAction Stop } | ShouldBeErrorId "PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand"

Current recommendation is to use ShouldBeErrorId, I'll submit a PR to update the guidance


ext: fix error reporting

may i ask which error this is fixing?

may i ask which error this is fixing?

Sure, it's simply fixing the error reporting to use a list instead of an iterator, by using the iterator, once consumed, it's empty and when trying to display the changes it will be an empty list so it's a bit confusing. Converting it to a list alllows to display the list of changes when raising the NotAllowedMappingUpdate so that we can easily review them and understand it.

interesting catch, thanks for fixing it!
LGTM, only needs black upgrade and remove python 3.7 from the CI matrix  to pass the tests

may i ask which error this is fixing?

Sure, it's simply fixing the error reporting to use a list instead of an iterator, by using the iterator, once consumed, it's empty and when trying to display the changes it will be an empty list so it's a bit confusing. Converting it to a list alllows to display the list of changes when raising the NotAllowedMappingUpdate so that we can easily review them and understand it.

thank you for the explanation. i really thought that this has already been done some months ago. i imagined i've seen this somewhere before but can't remember where.


Bug for tag-add-p, tag-del-p and tag-add-t

Error not displayed when tag name or index is missing from the command as shown below

Bug remains unfixed when index is missing from the command as shown below @juayhee


[2012-05-24] Howto for registering a new OEmbed endpoint

created by: @chillu (ischommer)
created at: 2012-05-24
original ticket: http://open.silverstripe.org/ticket/7397

Briefy describe how system works (autodiscovery of URLs, specification),
and how its different from uploading media files directly.
Describe the different between an oEmbed provider and consumer, and make it clear that the CMS is primarily a consumer in its default config.  See http://codex.wordpress.org/Embeds for a good explanation
Add chapter to "rich-text-editing" docs, but also link from other places (e.g. "images").

Stale enhancement.


feat(Gamut): tweaked AccordionButton to look more like the nice LE yellow ones

Tweaked AccordionButton to look more like the nice LE yellow ones

Removed the yellow theme's left and right borders (since the LE doesn't have them)
Made the arrow rotate into position instead of flip - and a little more quickly

Mike Kenny indicated a lack of preference for which animation is used, and I like the rotate-y one more.

📬Published Alpha Packages:@codecademy/brand-components@0.8.24-alpha.cf7bce.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5e97428befb15b6602ce872d--codecademy-styleguide.netlify.appDeploy Logs


Add API spec for Search Response Processors

Description

Adds the missing Search Response Processors from Smithy spec migration
Adds new processors for Sort and Split

https://github.com/opensearch-project/OpenSearch/pull/14785
https://github.com/opensearch-project/OpenSearch/pull/14800

Issues Resolved
Fixes #437
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Maybe we can have coverage of all the other processors (a folder with tests/_core/search/pipeline/response_processors.yaml, etc.)?

I'm really trying to timebox how much I'm doing on this. I'll follow up with another PR if necessary but I really just need to get some 2.16.0 features in.

Eventually they will be used as samples for the documentation.

I had that thought but then it just seemed like integration testing and this spec didn't seem the right place to do that.  Isn't the goal here just to make sure the REST request works?
I wrote detailed samples here and it seems having a link in the API docs to one authoritative source is better than duplicating it?

I had that thought but then it just seemed like integration testing and this spec didn't seem the right place to do that. Isn't the goal here just to make sure the REST request works?

The goal here is to make sure that the schema matches between requests and responses. When you write integration tests here the OpenAPI spec is validated, not that the server works.

I wrote detailed samples here and it seems having a link in the API docs to one authoritative source is better than duplicating it?

The problem with the documentation as written is that there's no guarantee that it's correct, so our documentation contains a ton of bugs and typos. With running samples in this repo we will be able to export both the reference documentation (https://github.com/opensearch-project/documentation-website/issues/7700) and working samples in 8 different programming languages.

The spec should be that source.

I like this idea (I really like it) and have been trying to figure out the best way on Flow Framework to "integ test" our templates, which are "configuration as code".  I think a test framework like you have here is a great solution and I'll be writing an issue summarizing it shortly.
In the meantime to keep tracking this ask, feel free to open a new issue to build test/demo setup for Search Pipelines and assign it to me.  I may not get to it immediately but it'll be a fun weekend project sometime in the next month.


Reload post condition should enforce HasUnsavedChanged = false

Resolves #1554

@jviau

I think Reload should call IncrementVersion() and then MarkAsUpToDateOnDisk()

@jviau It calls MarkDirty() which calls IncrementVersion() and fires up a bunch of dirty events.

@dotnet-bot test this please.

@dotnet-bot test this please

@dotnet-bot test this please


TypeError: super() argument 1 must be type, not classobj

when compile doc
$ sphinx-build -b html docs/ _build

# Sphinx version: 1.7.4
# Python version: 2.7.13 (CPython)
# Docutils version: 0.13.1 release
# Jinja2 version: 2.10
# Last messages:
#
#   looking for now-outdated files...
#   none found
#   pickling environment...
#   done
#   checking consistency...
#   done
#   preparing documents...
#   done
#   writing output... [  1%] advanced_foreword
# Loaded extensions:
#   sphinx.ext.autodoc (1.7.4) from /usr/local/lib/python2.7/dist-packages/sphinx/ext/autodoc/__init__.pyc
#   sphinx.ext.intersphinx (1.7.4) from /usr/local/lib/python2.7/dist-packages/sphinx/ext/intersphinx.pyc
#   alabaster (0.7.10) from /usr/local/lib/python2.7/dist-packages/alabaster/__init__.pyc
#   pallets_sphinx_themes (1.0.0) from /usr/local/lib/python2.7/dist-packages/pallets_sphinx_themes/__init__.pyc
#   sphinxcontrib.log_cabinet (1.0.0) from /usr/local/lib/python2.7/dist-packages/sphinxcontrib/log_cabinet.pyc
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/sphinx/cmdline.py", line 304, in main
    app.build(args.force_all, filenames)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/application.py", line 331, in build
    self.builder.build_update()
  File "/usr/local/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 338, in build_update
    'out of date' % len(to_build))
  File "/usr/local/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 399, in build
    self.write(docnames, list(updated_docnames), method)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 436, in write
    self._write_serial(sorted(docnames))
  File "/usr/local/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 443, in _write_serial
    doctree = self.env.get_and_resolve_doctree(docname, self)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/environment/__init__.py", line 813, in get_and_resolve_doctree
    self.apply_post_transforms(doctree, docname)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/environment/__init__.py", line 865, in apply_post_transforms
    self.app.emit('doctree-resolved', doctree, docname)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/application.py", line 444, in emit
    return self.events.emit(event, self, *args)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/events.py", line 79, in emit
    results.append(callback(*args))
  File "/usr/local/lib/python2.7/dist-packages/sphinxcontrib/log_cabinet.py", line 28, in handle_doctree_resolved
    visitor = ChangelogVisitor(doctree, app)
  File "/usr/local/lib/python2.7/dist-packages/sphinxcontrib/log_cabinet.py", line 62, in __init__
    super(ChangelogVisitor, self).__init__(document)
TypeError: super() argument 1 must be type, not classobj

Distributor ID: Debian
Description: Debian GNU/Linux 9.3 (stretch)
Release: 9.3
Codename: stretch

I know it works on Python 3, I had to build the Flask docs using 3 instead of 2.7 because of this. If you have time to investigate, pull requests are welcome.

ok , try your suggestion.

#1

Great work  @davidism


New EUPATH species terms moving forward

Hi John and Jie
We will have a steady trickle of new species terms that will need to be added into the "eupath taxonomy" inside the VEuPathDB Ontology.
I believe VEuPath ontology will be put on ice for the foreseeable future, sadly.
Is this a viable approach to add new species terms needed for the PopBio data loading? ("web display owl files" aren't suitable because the hierarchy doesn't get loaded for some reason, and the hierarchy is used for computations in the EDA loader).

wait until development of eupath_dev.owl in this repo has completed
copy it to https://github.com/VEuPathDB/ApiCommonData/tree/master/Load/ontology/release/production and make edits there with Protege as required
EDA loader takes it from there instead of http://purl.obolibrary.org/obo/eupath.owl at present

@bobular @zhengj2007 I'm not sure. With neither Jie or I continuing to work on it, that is something that David may have to decide.


Creating Unique Keys via the CreateCollection method in the Python SDK is not well documented

I am using the following method for a creating a Collection in my CosmosDB (SQL API): https://docs.microsoft.com/en-us/python/api/pydocumentdb/pydocumentdb.document_client.documentclient?view=azure-python#createcollection
How can I create a collection with 1 or more unique keys via the Python SDK (pydocumentdb)? Where can I find the documentation of the options available for the CreateCollection method?

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

ID: bf261de8-a6fa-9497-ffff-106550e2a537
Version Independent ID: ee0468ba-1b3b-6ba4-d9f6-c60da3e7c486
Content: Unique keys in Azure Cosmos DB
Content Source: articles/cosmos-db/unique-keys.md
Service: cosmos-db
GitHub Login: @rafats
Microsoft Alias: rafats

@nansravn Thanks for the feedback. We are actively investigating and will get back to you soon.

@nansravn Additional functionality and support for Python SDK can be found here: Azure Cosmos DB Python SDK for SQL API: Release notes and resources

Make sure version selector is Python.
I will forward this on to the content owner to review and update accordingly. Thanks, Mike

@nansravn You can define unique key can be as follows:
collection_definition = { 'id': 'collectionWithUniqueKey', 'partitionKey': {'paths': ['/pk'],'kind': 'Hash'}, 'uniqueKeyPolicy': {'uniqueKeys': [{'paths': ['/user', '/agent']}]}}
We will plan to update the Python sample (https://github.com/Azure/azure-documentdb-python/) with unique key creation steps.

#please-close

@nansravn We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


[Monster of the Week Official]

On July 30th, "Reinforcements" was updated and, to quote Generic Games: "the Hard Case is almost completely changed".
It would be good, to have both the legacy Hard Case playbook (for people, who are currently playing it and don't want to switch) and the new Hard Case 2020 playbook available.

think this is directed to your sheet @fredhicks

Hey there @blalasaadri, I'm aware of this and do have an intention to preserve the older Hard Case for folks already using it. (May be the case for other Reinforcements as well.) Will likely be a couple weeks before we can get the new Reinforcements worked in, regardless.

@fredhicks Thanks for the change, looks good!