[monorepo] ensure CUJs are covered for all user personas that interact with repo code

We have three user personas that interact with the source in our repos. We should make sure their CUJs are covered by the upcoming monorepo design. Personas:

App developer: interacts with the repo code with intent to build an app. The barrier to entry for app developers must remain low. In particular, we should not require that app developers build the engine locally.
Framework contributor: clones the repo intending to hack on the Flutter framework only, and does not change engine code. This sometimes includes app developers who, as part of hacking on an app, would change the framework source code to debug something, e.g. add an extra print statement to see what's going on inside the framework.
Full-stack contributor: clones the repo intending to hack on the engine and/or the framework. The dev process requires locally built engine and framework.

One failure mode to watch out for is the tool accidentally picking a wrong engine build. E.g. you think you tested your engine changes, but actually while debugging the app the tool accidentally grabbed a pre-built engine.
One use-case for full-stack contributors that does not exist for others is A/B testing. It would be good to preserve this capability.

I think we can break this down a bit more for crispness:
CUJ: App Developer using a release branch (Stable / Beta)
CUJ: App Developer using tip of tree
For app developers using a release branch, we still intend on having engine.version signal what engine should be downloaded.
For app developers on tip of tree; the current thinking is they follow the same hashing strategy used to identify the engine builds. This could be git ls-files --format='%(objectname) %(path)' engine/ DEPS  | sha1sum or something more complex. The hashing function will be stored in the tree.
For Framework developers; it's the same as the above.  You change the framework should not change the way we identify the engine build.
For an engine developer, they should be using et run for local builds. This sets some flags to flutter run that locate the local build.
For AB testing; you're required to pass in the local engine flags. The calculation of the engine binary using git ls-files would include files that the developer has modified and committed locally to their tree, and thus, no previous binaries exist except for the locals.  In this world we could find the nearest common ancestor, so git merge-base HEAD master, so something like:
❯ git ls-tree 0036cef88bb0723443d3948bdd63af410fd2737c -r engine/ DEPS | grep engine/src/flutter/README.md
100644 blob e15957a520eaee19b97b7d15df6d50bb175806b2	engine/src/flutter/README.md
 ❯ git ls-tree HEAD -r engine/ DEPS | grep engine/src/flutter/README.md
100644 blob 0bd9494f6607f2772f6781883549ec483af1d30d	engine/src/flutter/README.md

This requires git ls-tree instead of ls-files since we want to operate on the tree.

I'm convinced that all the CUJs are covered. Closing.


Hierarchical character decomp

Like in full web version or in characterpop.com (at the worst case just a link to characterpop.com would be very useful).

For prompts that are single characters the information panel should be displaying break downs identical to the web. Let me know if you're not seeing that and a screenshot might help me debug this one.

For single character prompts it's mostly a non-issue (though still sometimes a deeper decomp is useful, and is possible in web-version by clicking on a character).
For me it's a big issue for multiple-character prompt, when I try to brush up some info about an individual character and its parts.


Fix and refactor a whole bunch

Not thoroughly tested, but conversations work as of today.
Below is Claude's own summary of the changes :)
Key Changes

Added comprehensive type annotations
Introduced ContentType enum for standardization
Improved error handling with raise_for_status()
Centralized header management
Refactored stream processing in send_message
Simplified file handling, especially for text files
Moved constants to class-level attributes
Implemented dynamic local timezone detection
Improved JSON handling and error management
Enhanced PEP 8 compliance

Impact

More robust and maintainable codebase
Improved type safety and developer experience
Easier to understand, debug, and extend

Next Steps

Add unit tests
Review error handling
Update documentation

Please ensure all existing functionality remains intact, particularly file uploads and stream processing.

now code ok work
this is vrey good
but author not update git hub
so, you what not open new library?
this is my page link:https://blog.csdn.net/Deng_Xian_Sheng/article/details/141690921?spm=1001.2014.3001.5502
success error demo ....

sorry me use chinease , I not time to en


Move to app.ci

..and avoid the following error:
+ KUBECONFIG=/home/jenkins/kubeconfigs/art-publish.kubeconfig
+ oc registry login
info: Using registry public hostname registry.svc.ci.openshift.org
error: unable to check your credentials - pass --skip-check to bypass this error: endpoint "https://registry.svc.ci.openshift.org" does not support v2 API (got 503 Service Unavailable)

Thanks, @joepvd !


Cannot import table because of null constraints

Python version
3.10
Django version
4.0.6
Package version
0.5.1
Current behavior (bug description)
I am trying to import from an Excel file with django-import-export. But, since the models contain blank=True, but not null=True on the fields, the database treats them as required fields and throws a not-null constraint violation. Quickly verified a resolution by changing
value_email = models.EmailField(blank=True, verbose_name=_("Value"))

to
value_email = models.EmailField(blank=True, null=True, verbose_name=_("Value"))

After running makemigrations/migrate, it worked fine.
Expected behavior
I want to be able to import tables to new implementations of my application.

@joefessenden thank you for reporting this, could you submit a PR including a test case for this issue please?

@fabiocaccamo
Let me work on that. Not sure how I would create a test case for automated testing that relies on the import package that is not part of core django. It's sorta a compatibility issue, I guess, but I do think it's an issue on this side rather than the import side since we allow for blanks in the form and not nulls in the database in the model. (Open to learning I'm wrong about how the models work).

@joefessenden a simple failing test with null values is enought, don't waste too much time on it.

@joefessenden any update?

@joefessenden I close this issue because it is stale, it you continue to contribute on it I will re-open it.


fix: ignore stdin of spawned commands

This should fix https://github.com/lint-staged/lint-staged/issues/1293 and https://github.com/lint-staged/lint-staged/issues/1019

Ping @okonet do you have any opinion? I hadn't considered that spawned tasks accept input from stdin because the intention is to form the complete command, including staged files as arguments,  when spawning.
Do you think there might be some unexpected consequences if ignoring stdin? We could of course add it back as an explicit flag like --stdin if someone relies on it (given the arguments are good and there's no workaround).
I think it makes sense to ignore by default...


How reload a fragment?

Sometime,I have to reload a tab.How to do  it ?

Are you using the setFragmentItems() method?

I want just update or reload only one fragment.I don't know what is the best way.For example,there are  five fragments,each one will get the data from the network,now all fragments load finished.If do login,the first fragment should refetch data.BottomBar does't support get the current fragments.should I handle all the fragments instance?

This issue is not related to the library.
Even with the setFragmentItems() method you can just first assign your Fragments to variables and pass the variables instead of Fragments as arguments. But should handle the Fragments by yourself, as the setFragmentItems() method is deprecated.
Read up on communicating between Fragments and Activities.


Host on different domain than build. New Option: host_url

The Problem
Image preview does not work when hosted on a domain per se.
Example
My Site:  https://super.com
Host of CMS: https://cms.com
Assume config.yml
public_folder: media
And image:  picture.jpg
The CMS will now point to _https://cms.com/media/picture.jpg_ for the preview...

But in my case, here comes the feature request:
Proposal config option : host_url
Assume config.yml
public_folder: media
host_url: https://super.com

Resulting in the preview pointing to:  _https://super.com/media/picture.jpg_
when accessing https://cms.com
because the images are hosted on https://super.com ...

Dont know if this can be handle it here ?
https://github.com/netlify/netlify-cms/blob/0596904e0b850d2ac9b15bd1a4055b392f36c819/packages/netlify-cms-core/src/valueObjects/AssetProxy.js#L7
Even if you dont accept that Request, some directions of how this could implemented in a nice way is much appreciated..

If the previews were fetched directly from the media_folder instead, would you need this change?

You mean fetched from git? That should do the Trick!
Caleb<EMAIL_ADDRESS>schrieb am Fr., 5. Okt. 2018, 17:06:

If the previews were fetched directly from the media_folder instead,
would you need this change?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/netlify/netlify-cms/issues/1789#issuecomment-427397573,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFX-fYenta3bn9y4TPojVv6enq47dDHpks5uh3VmgaJpZM4XHih8
.

https://github.com/netlify/netlify-cms/issues/1668 would do what you originally suggested (allow absolute paths in the public_folder). However, there are downsides if you are simply using it for the reason outlined here, because that absolute path gets saved in the MD file.
If we just fetch the preview from Git instead, we don't have to mess with any of that stuff, since we are just changing the previews. We have been working on it in https://github.com/netlify/netlify-cms/issues/990. Both the GitLab and BitBucket backends are already fetching the thumbnails from Git, and we are hoping to get it working for GitHub soon.

oh nice! Indeed I am using a private GitLab Repo.
I just turned id public to try this out, but still the previews dont show up I am using the latest cms version. Do I need to do something specific to enable this?

so just to understand right, i do now see the preview in media assets but within the collection item not>


Feat:Clerk Authentication

Describe the feature
Want to Integrate Clerk Authentication for this app.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[ ] I'm GSSOC'24 Extd registered Contributor
[X] I'm Hacktoberfest registered Contributor
[X] I want to work on this issue

We don't need authentication in this repository dude!
You can search for some other issues which I will be happy to assign


FEATURE - Provide search result sorting by date for the Blogs tab

As a user searching for blogs related to my topic of interest,
I want to be able to sort the search results,
so that I can view either the latest or oldest blogs first, depending on my needs.
Description
This feature would allow users to look for blogs that were published during certain time periods. If they want to view the latest and greatest on a certain topic, they can sort by "Newest first". If they want to see the first discussions on a particular topic, they can sort by "Oldest first".
Technical Design
What modules need to be created or enhanced?
How would the functionality be exposed and how can it be consumed?
Acceptance Criteria
GivenWhenThen format (https://martinfowler.com/bliki/GivenWhenThen.html)
Given I have a search executed in the Blogs tab ...
when I click the sort button ...
then ... I will be provided with options for sorting my search results: "Newest first" and "oldest first"
and then the results will be sorted by my selection, with either the newest blogs relevant to my search being displayed first or the oldest blogs relevant to my search being displayed first.
Notes
Something to consider: SAP Community currently allows for sorting by Relevance and Last Updated. If there are limitations to the blogs API, then we can start by using these two sort methods. But it would be nice to also allow Oldest First sort as well.
Tasks

[ ] Add Most Recent button to re-sort results
[ ] Unit Tests added
[ ] Test Cases defined

As this is present in the current version of Knowledge hub, closing this.


401: Unauthorized message

Hi followed the below steps:

Head to the Spotify Developer Dashboard.
Create a new application by selecting CREATE A CLIENT ID
Select the created application, click EDIT SETTINGS and add a new Redirect URI.
node-red-ip:port/spotify-credentials/auth/callback
// e.g. if you're running node-red on localhost
http://localhost:1880/spotify-credentials/auth/callback
Click save and copy the Client ID and Client Secret.
Paste the Client ID and Client Secret in the Spotify Config node in Node-RED.
Enter the required scopes. A list of all available scopes can be found on the Authorization Scopes page.
Press Start Authentication and allow the access for your Spotify account.

After the authentication step I get the following screen and click agree.

After clicking agree I get the following error:

What am I doing wrong?
Regards,
Stefan Stranger

Found the solution. I had to select the whole url in my browser and hit return again.


DOC: Suggest using 72 characters or less in commit hooks

This ensures the entire summary fits into GitHub's renderings.
Also reference the 78 character max enforced by Git client and pull
request hooks.
Suggest the summary, space, detailed description formatting.
Following discussion on Discourse.

Thanks the reviews. Addressing comments...


Daylight Savings issue

Recurring events that were created prior to gaining an hour in the fall display as an hour earlier than they should when imported into Obsidian

I attempted to address this in #17


init pbr

 PBR

Is the sharp changes on the diffuse lighting expected behaviour ?

yes

Is the sharp changes on the diffuse lighting expected behaviour ?
yes (as a starting point). here is a screenshot from Unity URP as a reference:

yes (as a starting point). here is a screenshot from Unity URP as a reference:

Is the sharp changes on the diffuse lighting expected behaviour ?

yes (as a starting point), it makes sense mathematically. Also here is a reference from Unity URP:


TypeError: argument of type 'NBSite' is not iterable

Today I noticed that synchronization with vcenter does not work, 3 days ago everything was fine. I see such an error in the logs. Help please.

Netbox 4
Sync 1.6

Hi,
Good question. Was there any update regarding python version?

I just managed to duplicate this one and am running debug now to gather some info.  No updates to the OS, etc.

OK.  This is actually fairly evil. Create a site, slug, etc.  Change the name, but not the slug.  When the parser gets to the point of trying to create a site (that doesn't exist), it will fail because the slug does exist.
Cleanest easy answer is to fix the slug as well in the site to match the name.  Then a newly created site that doesn't match will create or the match would be proper.  In the meantime, I'll look at the error trapping there anyway.

Hi, this is a great finding. Did not had this in mind but that is indeed a bit mean. Need to add a lookup for the slug if already used and generate a different slug if an object with generated slug already exists

Hi @SerhiiZahuba and @ekrichbaum,
I added a mitigation for this issue with already used slugs to the development branch. would you be able to test if this is working now?
Thank you.


New: IPTable extensions

--> Added a new field Extensions in iprule structure which is of type []string, where the rules are explicitly set
-- project

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "extensions",
    "component": "enforcerd",
    "pr-id": "1122",
    "commit-sha": "804a4e0738f020ec765a75d1ebee26a9c2b911b6"
  },
  {
    "project": "extensions",
    "component": "trireme-lib",
    "pr-id": "775",
    "commit-sha": "737b40232858cdbbe6c842f0b1ca3cac952e6423"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "extensions",
    "component": "enforcerd",
    "pr-id": "1122",
    "commit-sha": "f69d2855b04480df27789f0c3ed5e6da37428faf"
  },
  {
    "project": "extensions",
    "component": "trireme-lib",
    "pr-id": "775",
    "commit-sha": "d1f9d51b0912a21bdf5918c4738b599b980fdf2f"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "extensions",
    "component": "enforcerd",
    "pr-id": "1122",
    "commit-sha": "f69d2855b04480df27789f0c3ed5e6da37428faf"
  },
  {
    "project": "extensions",
    "component": "trireme-lib",
    "pr-id": "775",
    "commit-sha": "51f861bb39f3971e9b950450299290160fe52c29"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "extensions",
    "component": "trireme-lib",
    "pr-id": "775",
    "commit-sha": "589cd6903730a8d57a37fa39d8c954421fd69ec2"
  },
  {
    "project": "extensions",
    "component": "enforcerd",
    "pr-id": "1122",
    "commit-sha": "64274261f70f983a41664a90928d5b5b981b3a65"
  }
]


Add @usedapp/uniswap  which provides useUniswapPrice hook

Uniswap is not only a simple exchange for tokens, but also has the function of PriceOracle. This PR introduces @usedapp/uniswap and a hook useUniswapPrice(baseCurrency : string ,quateCurrency: string , overrides?:{factory:address,digits:number}) => FixedNumber | undefined
This hook will return a peek price from the Uniswap V2 pool, calculated from the address of the given token. If there is no direct path or unconnected, it returns undefined. This hooks doesn't depend on Uniswap SDK. I think that in most cases, we just want to know the price, so we don't need to think about complicated paths.
uniswap determines the price from the pool reserve (e.g ETH/DAI, ETH-DAI price =  the reserve of Dai / the reserve of WETH)
By overriding factory  address, this hook can use sushiswap as a price feed.
I'm not a native English speaker, so maybe there are some problems in my words

I guess the hooks provided are more than that you specified, will addLiquidity() be required to get token's price?

I guess the hooks provided are more than that you specified, will addLiquidity() be required to get token's price?

I eventually removed the hooks in the commit message except for useUniswapPrice.
To get the price of the token, addLiquidity() is not needed. UniswapV2 doesn't have a function to return the price, we need to calculate token's price. So, the useUniswapPrice hook call getReserves function of UniswapV2Pair.
function getReserves() public view returns(uint112 reserve0 ,uint112 reserve1, uint112 timestamp),
And then, the ratio of reserves is token's price.

Hi @shota-masuda-onibakuchi,
Great work so far ❤
It is a bit difficult to read, because of many formatting changes. And the linter is failing.
Would you fix it?
Marek

Hi @shota-masuda-onibakuchi,
If i could make a suggestion, to avoid issues with many other lines you've changed on your local branches conflicting with other merged codes(formatting, linting, etc), for example, i saw many files changed with just the "," comma removed, perhaps its the work of your beautifier which doesn't seem to be the way prettier/prettier(existing dependency for formatting on the project) does format codes...
My suggestion would be to dump this branch as there's been too much changes to review, even for @marekkirejczyk in a short time and reviewing for security reason is important too, dump the branch and extract the specific changes you are proposing to a new branch without it affecting tests, linting and formatting of other files...
Just a suggestion, to make the review process faster, safer and secure for everyone involved...
You did something i really need to implement.
Nice work 👍

Hi, @noobshow @marekkirejczyk
You are right . I apologize for not knowing the basics as I do not have  much experience in collaboration. 🙇

My suggestion would be to dump this branch

How do I do a ''dump''?.

dump the branch and extract the specific changes you are proposing to a new branch without it affecting tests, linting and formatting of other files...

I understand that I can extract specific changes to another branch. I may not be understanding correctly, does it mean creating a new pull request?

Creating a new PR might suffice, after you've extracted the changes to the new branch, so it won't affect linting and formatting for you and everyone...
At this current stage, fixing the formatting might even be tedious for you...
We all started learning once before 😉
Nice work, once again...

Running  yarn lint:fix should be enough to fix formatting

Running yarn lint:fix should be enough to fix formatting

The reason I asked him to make a new branch is to clear git of the changes history done to the other various files, I think lint fix might restore the changes too, hopefully restore the history as if nothing happened to them also...

When we merge we do squash&merge and then delete the branch. Therefore only the final changes to files are stored

I just maked a new branch and a new PR.

linting and formatting pass
extract specific changes

Closing, continued in #257


Added TaintedBrokersSelector to kafkaClusterSpec

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets

License
Apache 2.0

What's in this PR?
Added label selector for broker pods that need to be recycled during reconcile
Why?
Labeling pods for recycle can be used for rolling restarts or to offload rescheduling of the pods to the operator when nodes are tainted
Additional context
Checklist

[x] Implementation tested
[x] Error handling code meets the guideline
[x] Logging code meets the guideline
[x] User guide and development docs updated (if needed)

Please rebase our master branch first against banzaicloud/koperator
https://github.com/banzaicloud/koperator/commit/e5722ba328678d1eda4045d5820c8e32bc62e208 is already there
and keep only the changes related to this PR

@azun can you please move forward this PR?


Change version from preview0 to preview1.

Pull Request Test Coverage Report for Build 961

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 66.565%

Totals

Change from base Build 956:
0.06%

Covered Lines:
2239

Relevant Lines:
3199

💛  - Coveralls


Add support for push

Add basic push for parse server.
For APNS and GCM

Change to es6 style
Change the send(data, deviceTokens) to send(data, devices). device is an object. Its format is

{
  deviceToken: '..'
  ...
}

This allows us to pass some extra data to GCM and APNS to generate payload. We do not use it right now, but I think it is useful in the future.
3. Add GCM APNS response to log.
For PushAdapter

Follow the same pattern we deal with file and database. PushAdapter maintains an instance of push adapter. Developers can register their own adapter in the future.

For ParsePushAdapter

The default implementation of PushAdapter. It gets the installations from push.js, classify the installations and use proper push senders to send the push notifications.

needs rebase

cc @drew-gross @fantasist

+1 love this PR.  I got it to work right out of the box (for GCM)

:+1:

This is awesome stuff, @wangmengyan95 :+1:

Does this mean following code will work on Parse Server?
Parse.Push.send({
    where: query,
    data: {
        title   : "New message",
        alert   : "User message",
        badge   : "Increment",
        sound   : "soundNotifUserContact.caf",
        "params" : {
            "pushType"  : 2,
            "userID"    : userID
        }
    }
}, {
    success: function() {
        response.success();
    },
    error: function(error) {
        response.error(error);
    }
    });

});

Yes it should.  I tested it last night with curl:
payload = {'where': {'deviceType': 'android'},
        "data": {
            "action": "com.example.UPDATE_STATUS",
            "alert": "Ricky Vaughn was injured during the game last night!",
            "name": "Vaughn",
            "newsItem": "Man bites dog"}
       }

awesome work :+1:

@rogerhu Do you know if it works for targeting spesific users with a query to Installations?
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.equalTo('user', user);

Parse.Push.send({
    where: pushQuery,
    data: {
        alert: {
            "loc-key": "FollowNotification",
            "loc-args": [sender.get('username')]
        },
        badge: "Increment",
        sound: "notification.caf"

    }
}, {
    success: function() {
        // Push was successful
        //response.success();
    },
    error: function(error) {
        // Handle error
        //response.error(error);
    }
});

Could we get a write up on this where to push the apns certs (does it allow for dev push and then switch to production push for apple) ? Whats the recommended way to que up some push notifications (message que like rabbitmq or service like iron.io?)  Sorry just a few questions and thank @wangmengyan95 very much for adding this.

Looks good to me although I don't really know that much about push. Make sure to write some docs before we push 2.0.8.

@drew-gross let's waiting for @bnham 's comment.

Amazing to see a Push service implementation so quickly! :+1:

Amazing!! Thanks!!!

rebase?

LGTM for v1

@gfosco Feel free to merge when you decide to make new release.

Loving the parse community for getting this implemented :heart: :+1: Thanks guys, well done!

Something to think about is that this system should hit the APNS feedback server, this will return to you invalid or not in use device tokens that then can be disabled in the the database to try to send pushes out to.
Maybe something like this.. note this was taken from a stackoverflow post..
/* Feedback Options */
var feedbackOptions = {
        cert: 'path to yuour cert.pem',
        key: 'path to your key.pem',
        ca: ca,
        passphrase: 'your passphrase',
        production: true,
        interval: 10
};

var feedback = new apn.feedback(feedbackOptions);

feedback.on('feedback', handleFeedback);
feedback.on('feedbackError', console.error);

function handleFeedback(feedbackData) {
    var time, device;
    for(var i in feedbackData) {
        time = feedbackData[i].time;
        device = feedbackData[i].device;

        console.log("Device: " + device.toString('hex') + " has been unreachable, since: " + time);
        // insert code to update installation database that this device token is not active.
    }
}

Yeah, the feedback service is a nice-to-have, and of course a PR is welcomed.  (Parse never used the feedback service or disabled tokens.)

Forgot that I had to disable the validateMasterKey() call to make push notifications work on Android.   Filed an issue.  Can we disable the use of this validation check for now?    Or can the clientKey be at least be used to validate if one is specified?

are you planning to implement "push_time for scheduled push" functionality in near future?


Custom Dataset with different image size (improve results)

I have made a dataset in the mvtec format for steel.
The  original image size is 4190x3040 px. If i resize the image, i loose features and hence cant detect small defects.
If i train padim/patchcore with 224 image size, the results are poor:
image_AUROC                  1.0
image_F1Score         0.4705882668495178
pixel_AUROC          0.8873115181922913
pixel_F1Score         0.00214585498906672
How can i make the model's predictions more accurate?
I have around 30 images in my train dataset and 10 in testing dataset. Will increasing the images help in increasing accuracy? But the defects are synthetic (no change in scaling,lighting etc).. a simple image subtraction returns the mask..
After i observed the results, small defects are missed most often. Can someone point me in the right direction?
Possible changes could be changing image size, introduce tiling etc

Can you provide some details about how to implement tiling? Like what should be the tile size, stride etc? And how to do inference ? Will inference utilize tiling also? And if so,how?
Furthermore, how will it impact the inference speed?


${...} substitution

Reference: https://github.com/test-fullautomation/python-jsonpreprocessor/issues/69
I tried some use cases:
"str1" : "ABC",
"str2" : "DEF",
"str3" : ${str1},
"list" : ["A", "B", "C"],

// "str4" : ${str1}_test_${str2}
// -> Expecting ',' delimiter

// "str5" : "${str1}_test_${str2}"
// -> Expecting ',' delimiter

// ${str1}_test_${str2} : "MNO",
// -> Expecting property name enclosed in double quotes

// "${str2}_test_${str3}" : "SPQR"
// -> Expecting ':' delimiter

// "${str1}_test_${list}" : "XYZ"
// -> Expecting ':' delimiter

str1 - list are successful.
str4 and str5 cause an error.

What shall be the desired implementation in case of multiple substitutions on the right hand side of the colon: expression encapsulated in quotes or not?
Same question in case of multiple substitutions on the left hand side of the colon: expression encapsulated in quotes or not?
Both causes errors.
The last example contains a composite data type ${list} on the left hand side of the colon. As per
https://github.com/test-fullautomation/python-jsonpreprocessor/issues/69#issuecomment-1589581903
this should not be allowed. But the issue comment is related to the Testsuites Management. For me the question now is: Shall the JsonPreprocessor react in the same way or shall the JsonPreprocessor allow composite data types on the left hand side of the colon?
Nevertheless: The error message should not tell about a missing delimiter. This is not helpful.

Addendum:
While playing around I overlooked something. list is a data type. It is not possible to use names of data types as parameter name. This does not work:
   "str"  : ${str1},
   "list" : ["A", "B", "C"]

Must be something different instead:
   "str1"  : ${str1},
   "list2" : ["A", "B", "C"]

instead.
I understand that the first version is not possible, but the error message is not nice:
Traceback (most recent call last):
  File "D:\ROBFW\Dev\JsonPreprocessorTest\JsonPreprocessorTest.py", line 27, in <module>
    dictValues = oJsonPreprocessor.jsonLoad(r"./config/test1.jsonp")
  File "D:\RobotFramework\python39\lib\site-packages\JsonPreprocessor\CJsonPreprocessor.py", line 740, in jsonLoad
    oJson, bNested = self.__updateAndReplaceNestedParam(oJson)
  File "D:\RobotFramework\python39\lib\site-packages\JsonPreprocessor\CJsonPreprocessor.py", line 520, in __updateAndReplaceNestedParam
    elif isinstance(v, list):
TypeError: isinstance() arg 2 must be a type or tuple of types

Maybe this can be improved.

Another use case: composite data type as part of expression on left hand side of colon; expression not encapsulated in quotes:
   "str2" : "DEF",
   "values" : ["A", "B", "C"],
   ${values}_test_${str2} : "XYZ"

Outcome: values_test_DEF = 'XYZ'
Now I am not sure about the expectation any more. Shall ${values} be resolved or not? I do not believe that simply using the parameter name as string is really helpful.

Regarding this error:
Expecting ':' delimiter
caused by lines e.g. like
"ABC_${str3}_test_${str1}_XYZ" : "MNOT",
In CJsonPreprocessor.py I added a print (print(f"{sJsonDataUpdated}")):
try:
    oJson = json.loads(sJsonDataUpdated,
                       cls=CJSONDecoder,
                       object_pairs_hook=self.__processImportFiles)
except Exception as error:
    print(f"{sJsonDataUpdated}")

Outcome:
"ABC_"${str3}"_test_"${str1}"_XYZ" : "MNOT",
Oh, this is not nice. Nested double quotes are not possible here. This does not work.
But I wonder why inside sJsonDataUpdated the parameters are not already resolved, and I also wonder why there are double quotes around "${str3}" and "${str1}"? It makes no sense to add them.

Hi Son,
please look into this.
Expectation is what Holger writes.
Thank you,
Thomas

Hello Holger,
The scenario:
// "str5" : "${str1}test${str2}"
// -> Expecting ',' delimiter
This case is working fine now with pull-request #81
Thank you,
Son

Hello Son,
the situation is unclear to me. You have updated an already merged pull request? Is this a good idea?
Git tells me that I am already up to date. Therefore I downloaded the Python file directly from this web page. But I got a file that does not contain your recent changes (e.g. the reset function).
For me it makes no sense to continue in this way. You should create a fresh new branch, and as long we are in summer vacation phase you should upload all changes in this single branch only. Please no different versions located in different branches or pull requests in parallel. Otherwise no one will know what he can expect.

Hello Holger,
I'm still implement the scenarios you mentioned in this tickets, when completed I will create new branch for testing purpose.
Regarding to the scenarios below:
// ${str1}test${str2} : "MNO",
// -> Expecting property name enclosed in double quotes
// "${str2}test${str3}" : "SPQR"
// -> Expecting ':' delimiter
// "${str1}test${list}" : "XYZ"
// -> Expecting ':' delimiter
A key dose not allow containing more than 2 nested parameters, because when a nested parameter is defined as a key, it means user want to overwrite new value for existing parameter.
For example:
I have Json config file like below:
{
"nested_param" : 2017,
"test_param" : "Just for testing",
"var" : {
"var_1": {
"var_2" : {
"var_3" : "initialized"
}
}
},
${var}['var_1']['var_2']['var_3']: "new value",
"val08" : null
}
The line ${var}['var_1']['var_2']['var_3']: "new value", will update the value of var['var_1']['var_2']['var_3'] to "new value" not set "initialized" : "new value".
Thank you,
Son

Hello Holger,
I created new branch namsonx/testing/testing_branch and merged all new changes to this new branch for testing purpose.
You can verify the scenarios by using this new branch.
Thank you,
Son

Hello Holger,
For the cases
   "str"  : ${str1},
   "list" : ["A", "B", "C"]

We allow a key name to coincide with the name of built-in keywords in Python, because these key names is a part of Json object output, they are not Python variables.
I implemented method __checkParamName() to add temporary prefix to the key name which coincide with python keywords, This temporary prefix is removed when updating returned Json object.
Thank you,
Son

Hi Son,
yes, I already detected that the previous error message does not occur any more.
In general it is OK for me. But some doubts are left.
Do we really want to have reserved Python keywords as key names? Really?
It is a good practice to choose names that are self-explanatory.
Can we be sure that such a name has no further unwanted side effects?

Hello Holger, Hello Thomas,
As our discussion, we want allow ${...} substitution in parameter name but it will conflict in case user want to overwrite the exist parameter, for example:
we have jsonp file like below:
{
    "str1" : "ABC",
    "str2" : "DEF",
    ${str1} : ["A", "B", "C"]
}

The output after handling with jsonpreprocessor should be:
{
    "str1" : "ABC",
    "str2" : "DEF",
    "ABC" : ["A", "B", "C"]
}

or
{
    "str1" : ["A", "B", "C"],
    "str2" : "DEF"
}

I would propose the solution below:

In case a parameter name contains only "${...}" or "${...}[..][...]", jsonpreprocessor will overwrite the exist parameter with new value.

In case a parameter name is mixed like "abc_${....}", jsonpreprocessor will do substitution in this case (we call it dynamic parameter name feature).

Please give me your comment on my proposal?
Thank you,
Son

Substitution vs. overwriting
{
   "param1" : "ABC",
   "param2" : "XYZ",
   //
   ${param2} : ${param1},
   "${param2}" : ${param1}
}

Overwriting:
With ${param2} : ${param1} the initial value "XYZ" of parameter param2 is overwritten with the value "ABC" of parameter param1.
Substitution:
With "${param2}" : ${param1} a new parameter with name XYZ (the value of param2) and value "ABC" is created.
The quotes around ${param2} make the difference.

What about
${param2}['sub1'][ 'sub2'] : "DEF"
vs
"${param2}['sub1'][ 'sub2']" : "DEF"
First one overwrites 'sub2'
Second one creates a new variable with name that is the value of sub2.

Hi Son,
here again a sample for overwriting vs. substitution (I made this sample together with Holger):
Overwriting (key without double quotes):
{
   "param1" : "ABC",
   "param2" : "XYZ",
   //
   ${param2} : ${param1},
}

results in:
{
   "param1" : "ABC",
   "param2" : "ABC",
}

AND with key in double quote we have substitution:
{
   "param1" : "ABC",
   "param2" : "XYZ",
   //
   "${param2}" : ${param1}
}

results in:
{
   "param1" : "ABC",
   "param2" : "XYZ",
   "XYZ" : "ABC",
}

Thank you,
Thomas

w.r.t to python datatype names as key name:
This shall be allowed on JsonPreprocessor level.
If robotframework-testsuitesmanagement has problems with this, then we have to take care on testsuitesmanagement level.

Hi @namsonx ,
what is the status of this ticket?
Thank you,
Thomas

Retest successful.
Overwriting and substitution work properly. Python data types are accepted as parameter name.
Ticket can be closed.


Why is this library not published to npm?

This library seems to be still active (commits and merged pull requests). Why is it not being published on npm? Last publish is 1 year ago: https://www.npmjs.com/package/react-native-voice
It's a bit of a hassle to fork and publish it myself every time there is a fix.

@wenkesj needs to give me permissions to release a new version on npm
@wenkesj if you give me admin permission I can move this to react-native-community so more people can easily collaborate

I will give you access this afternoon! Apologies that this has not happened sooner on my end.

@sibelius I need permissions to transfer this to react-native-community apparently.

you can transfer to me, and then I can transfer there

@wenkesj
can you give me publish access to npm https://www.npmjs.com/package/react-native-voice
here is my account https://www.npmjs.com/~sibelius

Thanks @sibelius for supporting such an important lib!!

@sibelius I will, thanks for helping out. Never would have imagined how far this library would go. Was such a fun project to begin with.

0.3.0 on npm
tks

Thanks guys, really appreciate your effort. This project has helped us a lot on multiple apps.


Changes logic when no ssh_key_path has been set

 IdentitiesOnly
             Specifies that ssh(1) should only use the authentication identity
             files configured in the ssh_config files, even if ssh-agent(1) or
             a PKCS11Provider offers more identities.  The argument to this
             keyword must be “yes” or “no”.  This option is intended for situ‐
             ations where ssh-agent offers many different identities.  The
             default is “no”.

So when we have an ssh that is not in a path (such as using an ssh key located on a smart card), you can still ssh to it! :+1:
Also updates specs for this change
Closes #160

@petems Great, thank you!


Add support for multi terms aggregation

https://www.elastic.co/guide/en/elasticsearch/reference/7.12/search-aggregations-bucket-multi-terms-aggregation.html

I changed a few bits, but the core is intact. Thanks. Will be released with the next version.


Any news about a 4.1.1 release?

Any news about a 4.1.1 release?

Sure, remind me over the weekend.

Published. Can you check if it works?

It's not working. It broke our app in production and we have to spend a whole day looking for an error in our codebase. Please don't release a new version of a package that people is using if you think it could break something :crying_cat_face:

ye it breaks...

I only found 2 changes after my first publish
Which one do you think is breaking it?
1
https://github.com/robinrodricks/vue3-touch-events/commit/a86950bbd9d10f903f5c2646acaab7c8d427111e
2
https://github.com/robinrodricks/vue3-touch-events/commit/06d81b843c0bfcbad23c67dfd4eb2647620e46df

I have reverted both these commits and republished. Can you guys check and see if it works?

Reverting obviously fixed it. I will check if i find out which of the changes the problem is.

I only found 2 changes after my first publish
Which one do you think is breaking it?

a86950b
06d81b8

The correct replacement for module.exports = { vueTouchEvents } would be export default vueTouchEvents
So basically the version before any changes was the right one. Probably including "type": "module", in the package.json.


Implemented a new functionality to get a commit by SHA.
Refactored code, so that GitLabHttpFacade can be mocked in tests.

Codecov Report

Merging #52 into master will increase coverage by 0.02%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master      #52      +/-   ##
==========================================
+ Coverage   21.49%   21.51%   +0.02%
==========================================
  Files         110      112       +2
  Lines        1475     1492      +17
  Branches      105      105
==========================================
+ Hits          317      321       +4
- Misses       1099     1112      +13
  Partials       59       59

Impacted Files
Coverage Δ

...GitLabApiClient/Models/Commits/Responses/Commit.cs
0% <0%> (ø)

.../GitLabApiClient/Internal/Http/GitLabHttpFacade.cs
44% <0%> (ø)
:arrow_up:

src/GitLabApiClient/IssuesClient.cs
34.48% <100%> (ø)
:arrow_up:

src/GitLabApiClient/TagClient.cs
40% <100%> (ø)
:arrow_up:

src/GitLabApiClient/ProjectsClient.cs
14.7% <100%> (ø)
:arrow_up:

src/GitLabApiClient/GroupsClient.cs
19.23% <100%> (ø)
:arrow_up:

src/GitLabApiClient/MergeRequestsClient.cs
34.78% <100%> (ø)
:arrow_up:

src/GitLabApiClient/MarkdownClient.cs
66.66% <100%> (ø)
:arrow_up:

src/GitLabApiClient/UsersClient.cs
18.18% <100%> (ø)
:arrow_up:

src/GitLabApiClient/BranchClient.cs
33.33% <100%> (ø)
:arrow_up:

... and 6 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 fa9198a...a6c79fc. Read the comment docs.

Thanks for the feedback! :) I have already addressed most of the changes. Could you have a look at my last comment regarding the interface for the facade?

Good work so far! 👍

Thanks. merged!


short videos masking for build_model

Do not debug because of data format.
try to solve sequence length problems.

@poyuwu Your code has many errors. Do you test it?


3D-UNet pull request Ben Williams s4748456

PREFACE: The model does not work as intended, there is an error with the data loading that causes the tensors to not be the correct size when training. In a perfect world after training the trained weights would be saved to a .pth file so they could be used in predict to test the model. My predict.py file also functions as a test script, so change the number of epochs to 1 if you want to test for errors

This is an initial inspection, no action is required at this point
Recognition problem: total 5 Marks
Problem solving: (0)
•	Algorithm did not work, and no results or training plots were provided.
Algorithm implementation: (2)
•	Algorithm implemented in PyTorch for the UNet3D model and functions.
•	Testing in predict.py is performed by retraining model instead of using trained and saved model.
Design: Good coding design (1)
Commenting: Sufficient comments throughout the code (1)
Difficulty:
•	3D UNet – Normal
•	Problem attempted but not solved (1)

Marking

Good/OK/Fair Practice (Design/Commenting, TF/Torch Usage)
Adequate design and implementation. -1
Spacing and comments.
No Header blocks. -1
Recognition Problem
OK solution to problem. Algorithm did not work.-4
Driver Script present.
File structure present.
Good Usage & Demo & Visualisation & Data usage.
Module present.
Commenting present.
No Data leakage found.
Difficulty : Normal. UNet3D (Normal Difficulty)-5
Commit Log
Good Meaningful commit messages.
Good Progressive commits.
Documentation
Readme :Acceptable. No results or training plots.-2
Model/technical explanation :Good.
Description and Comments :Good.
Markdown used and PDF submitted. PDF checked.
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in Correct Branch). On time submission.
No Feedback required.
Request Description is adequate. -1
TOTAL-14

Marked as per the due date and changes after which aren't necessarily allowed to contribute to grade for fairness.
Subject to approval from Shakes

Benjamin Williams

Not working, doesn't solve problem, no evidence of solution -1, No results or plots etc. -3. Will not merge.


[ci] Add simple 'build' GitHub Actions workflow

A primitive build workflow has been added to help validate incoming changes and ensure that the repo continues to build successfully.

Replacing this with https://github.com/Redth/DotNet.Platform.SlimBindings/pull/13


New Lens constant "Discard"/"Shortcircuit"

For reasons, I want a scene with a Model and ViewModel of Unit but there the scene definition must refer to the types that appear in the rest of the game.
So what I want is a Lens constant that discards everything, similar to readOnly that only produces unit on get and sets nothing.
Lens[T, Unit]

Indeed, this does the right thing, I just don't event what to provide the getter.
Lens.readOnly(_ => ())

I've gone for Lens.unit.


foreignobject won't display in tree layout

http://jsfiddle.net/v7rj7add/1/
nodeEnter.append("foreignobject").attr("x", 10).attr("y", -8).attr(
"width", "130").attr("height", "30").append("xhtml:div").html(function(d) {
return d.id;
});
I appended a foreignobject in each g element, but it won't show in firefox and chrome.
I've also tried append("xhtml:body").append("xhtml:div"), and even append("html").attr("xmlns", "http://www.w3.org/1999/xhtml"), but failed too.
But, if I inspect the g element, appending several blank lines after the foreignobject using the "edit as HTML" function, then the text will be shown.
Is this an D3 bug or a browser bug?
Before editing foreignobject in the inspector

Editing the foreignobject tag in the inspector, appending several blank lines.

Then it shows up!

Running D3 3.5.9 on FF 42 and Chrome 46. All have the same problem.

It’s spelled foreignObject with a capital O, not foreignobject. Yes, SVG is case-sensitive even though HTML5 is not.


feat: added uniq hash in kubeconfig_path

Hello this is the fix for following issue (https://github.com/getkuby/kuby-digitalocean/issues/2)
also, it depends on this PR (https://github.com/getkuby/kuby-core/pull/43)

I'm not really sure why but on my local setup config.access_token + config.cluster_id says that config.access_token and config.cluster_id is nil (but they are provided in kuby.rb).
So can you please point me when actually configure method of provider is called and is there a situations when Provider is called without executing a configure method?

@pandwoter hmm I'm not sure why that would happen either. How are you testing gem changes locally? The configure method is called here.

Done!

@pandwoter ok, this looks awesome! I did a little testing and encountered the same nils for cluster ID and access token. It happens because, unfortunately, the kubeconfig_path method is called before Kuby has been fully initialized. Fortunately there's a fairly easy workaround we can use to call kubeconfig_path a little later in the process. I'll merge this PR then add in the fix and publish a new release.

Published as v0.4.3, thanks again!


TextBottomLabel

I want to show if a message is delivered or not by using the cellBottomLabel by showing a √ mark. I was able to access the cell in the GetCell method and set its text. However, I do not see it when I run the app. What might I be doing wrong? Kindly request your help.

Thanks @vinayv1234 !
This question has been asked before, the following issues should help! :smile:
https://github.com/jessesquires/JSQMessagesViewController/issues?q=is%3Aissue+delivery+status+is%3Aclosed
https://github.com/jessesquires/JSQMessagesViewController/issues?utf8=✓&q=is%3Aissue+[Custom+cells]+is%3Aclosed+


MNT add python 3.13 tests

Testing 3.13 and getting ready for a release.

@BenjaminBossan we've been having issues with the HF tokens in this repo. So I've removed the job updating the model card creator. I'm not sure how often it gets used, but since we haven't gotten any issues/feedback from it, I'm taking it as not very often.
I think we can merge this one, do a release, and then fix the issues for the unreleased version of sklearn and do another release once that's released.


Web dev

What is the issue you are having? The title Is vague and non-descriptive.

Jobs and secondly how to put paystack Google pat to my website
On Mon, 22 Jan 2024, 3:14 pm Jdoggett50, @.***> wrote:

What is the issue you are having? The title Is vague and non-descriptive.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/Web-Dev-For-Beginners/issues/1243#issuecomment-1904088089,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMICBU4GA775XJVSIFJFIGDYPZX4VAVCNFSM6AAAAABBAUECK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBUGA4DQMBYHE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Manual testing results: is this working as expected?

I've worked through some very basic manual testing on Goerli. I'll run through my process here, and what I'm seeing... I may not be understanding how this is meant to work, but it's not working as I expected. Questions and concerns listed below.
All interactions with the contract described here were on Goerli, submitted through Etherscan here: https://goerli.etherscan.io/address/0x6a89aff3b4ea4cf323c32740289c8a1d703abec8
Setup: Write contract
I started by connecting a wallet (0xd25...). I used Write Contract to call registerDelegationAddress with:

_collectionAddress (address): 0x8888888888888888888888888888888888888888
_delegationAddress (address): 0x0E5c3E22b7239CEf46f56741ff66369f3CfECb77
_expiryDate (uint256):<PHONE_NUMBER>
_useCase (uint8): 1
_allTokens (bool): true
_tokenid (uint256): 0

This should create a delegation for all contracts, for all use cases, until tomorrow.
question 1: is _expiryDate a unix epoch timestamp? I'm presuming so...
Test: Read contract
Now i'd expect to be able to retrieve that delegation info for any given contract or use case... question 2: that is how this should work, right?
under Read Contract, I called retrieveDelegationAddresses with:

_delegatorAddress (address): 0xD25A430B1Fe01439D4C5D361DAE57c17D4F4EE45
_collectionAddress (address): 0x8888888888888888888888888888888888888888
_useCase (uint8): 1

And... I get back the 0x0e5 addy, great! That works!
Fails with other parameters
However... if I change the collection addy OR the use case number, I get back nothing.
I had presumed that checking for a delegation with any contract address (like 0x33FD426905F149f8376e227d0C9D3340AaD17aF1 or 0xd12E3fB8f9312A71ad3BBe3a5873bf31DC29196D, a manifold Goerli contract), would still return the delegation. But anything but 0x888... gives me back nothing. I can only get the right response if I request what is delegated for collection 0x888...
I had also presumed that setting the delegation for any use case would return the delegated address for ANY individually requested use case. As of now, requesting the delegation for use case 2 (minting) give a blank response. I can only get a response if I request what is delegated for use case 1.
So, question 3: Am i doing it wrong? Is it not working, or am I not understanding how it's supposed to work?
I'm really hoping the "all" settings would not require checkers to have to check those values as well...

Answers from discord:

Yes, this is working as expected
Yes, _expiryDate is a unix epoch integer
Yes, the retrieveDelegationAddresses function should return the mapped addy...
Yes, I was understanding it wrong. As it's currently written, additional calls need to be made to check the "all contracts" case, and the "all use-cases" settings. So, up to 4 calls need to be made during minting.

More on https://github.com/6529-Collections/nftdelegation/blob/main/Documentation/Sample_Test_Cases.md


Publish to crates.io / rustdoc?

I'm curious if y'all are planning on publishing this to crates.io.

Hi!  We haven't worked on this in a while so probably not anytime soon.  Unless you'd like to help; then I'll work on it more, too.

I'm curious, is this library in use in any production system? Or, what's the story behind why it got developed, but never finished? I'm considering using it.

I'm curious, is this library in use in any production system?

No, not that I'm aware of.

Or, what's the story behind why it got developed, but never finished?

Everything uses a similar API on Windows (the USN journal) to store an up-to-date database on all filesystem paths for super quick searches and I wanted to create something similar for Linux, or even cross platform (Everything is closed source, too).  The fanotify API was pretty new at the time, and I wasn't aware of any other applications or libraries using it this way, so I wanted to create it myself.  I got too busy with other real life things, though, and never came back to finish it.

I'm considering using it.

That'd be great!  But it's not really done yet.  What do you want to use it for?


Polish letters issue

That issue is still present on newest atom version (1.11.2).... I'm able to type most of the letters:
ą - alt+a
ź - alt+x
ł - alt+l
ń - alt+n
ę - alt+e
ś - alt+s
ć - alt+c
But these letters aren't possible to type:
ó - alt+o
ż - alt+z
Add support to these letters, it is really annoying issue 😕

This has been fixed in Atom v1.12.0, which is currently being tested on the beta channel.


Add unsafe HTTPS support for GitHub Enterprise extension

Description
This change adds support for "unsafe HTTPS" mode when looking up GitHub data. This allows the extension to work when the GitHub enterprise server uses a self-signed certificate.
A new setting has been added which makes this new feature opt-in. See screenshot:

With description:

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

@emanguy A maintainer will have to. I don't have write access

I'll see what I can do this weekend 😄


Every minute one notification

Good day, just installed the plugin and it works fine, but I get every minute in the protocol this notification? How can I disable it and what does it mean?
[8/25/2022, 12:53:04 PM] [Nuki] Nuki_Bridge_65555555: set Last Updated from "Thu Aug 25 2022 12:52:03" to "Thu Aug 25 2022 12:53:03"
[8/25/2022, 12:54:05 PM] [Nuki] Nuki_Bridge_65555555:: set Last Updated from "Thu Aug 25 2022 12:53:03" to "Thu Aug 25 2022 12:54:04"
[8/25/2022, 12:55:05 PM] [Nuki] Nuki_Bridge_65555555:: set Last Updated from "Thu Aug 25 2022 12:54:04" to "Thu Aug 25 2022 12:55:04"
[8/25/2022, 12:56:04 PM] [Nuki] Nuki_Bridge_66555555: set Last Updated from "Thu Aug 25 2022 12:55:04" to "Thu Aug 25 2022 12:56:03"
[8/25/2022, 12:57:04 PM] [Nuki] Nuki_Bridge_65555555:: set Last Updated from "Thu Aug 25 2022 12:56:03" to "Thu Aug 25 2022 12:57:03"
[8/25/2022, 12:58:04 PM] [Nuki] Nuki_Bridge_65555555:: set Last Updated from "Thu Aug 25 2022 12:57:03" to "Thu Aug 25 2022 12:58:03"
[8/25/2022, 12:59:04 PM] [Nuki] Nuki_Bridge_65555555:: set Last Updated from "Thu Aug 25 2022 12:58:03" to "Thu Aug 25 2022 12:59:03"

It means the plugin updated the Last Updated characteristic in HomeKit.  Set Log Level to 0 to disable these log messages.  As Home doesn't support custom characteristics, you need another HomeKit app, like Eve, to set this on the accessory for the Nuki bridge.

Thank you this helped!


Fetch all the field when no argument is given to .get()

Hello 👋,
We're using genql for our integration tests against our GraphQL API, it's a real pleasure to use, awesome work @remorses !
We were wondering if we could have an extra option option to the generate command to automatically have { __scalar: true } as the default value when using the chain syntax and calling .get().
I totally understand the choice to be explicit on the client-side about the fields, but when we are in a backend context, it adds noise to the code.
const [userConnection, userLocation] = await Promise.all([
        genql.chain.query
          .user_connections({
            where: { user_id: { _eq: existingUser.id } },
          })
-          .get({ __scalar: true }),
+         .get(),
        genql.chain.query
          .user_locations({
            where: { user_id: { _eq: existingUser.id } },
          })
-          .get({ __scalar: true }),
+         .get(),
      ]);

v3 no longer has chain syntax


ClassLoader Problems

I'm actually using Spark-Java as a RestAPI. I have developed an application which is module based, and one of these modules is my RestAPI. Because I'm using the ClassLoader of my main application, spark is actually not working on some places.
Could you give me any advices or fix it?

@jsauvain could you elaborate? How do you manage class loaders and class paths, and what kind of problems are you having?


Fix redirect responses

Redirects (after oauth) were not redirecting properly as the class we were checking against wasn't low enough in the inheritance chain.

This looks right to me :+1: thank you for finding this so quickly! I'll merge as long as tests pass


[question] where is azure file snapshot API

I could find azure file create API here:
https://github.com/Azure/azure-sdk-for-go/blob/master/storage/file.go#L136-L137
But where is the snapshot-share API?
https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-share
https://github.com/Azure/azure-sdk-for-go/blob/master/storage/ directory only contains blob snapshot API
I would like to implement azure file snapshot functionality on Kubernetes in azure file CSI driver, while I would like to know where is the go sdk first, thanks.

The storage package is currently in maintenance mode so we haven't added this new support.  For files, the functionality is being replaced by azfile.  You can find this specific API at https://github.com/Azure/azure-storage-file-go/blob/master/azfile/url_file.go#L53

@jhendrixMSFT
thanks for letting me know this. I have another question: kubernetes azure cloud provider is still depending on the old storage package(see below), are you suggesting we should upgrade to the new SDK? The simple question could be will the API of the old storage package will always work on Azure?
https://github.com/kubernetes/kubernetes/blob/master/Godeps/Godeps.json#L56
			"ImportPath": "github.com/Azure/azure-sdk-for-go/storage",
			"Comment": "v21.3.0",
			"Rev": "da91af54816b4cf72949c225a2d0980f51fab01b"

It will work as long as API version 2016-05-31 is supported.  You should be able to mix both SDKs and slowly migrate old code to azfile.

Thanks, it's clear to me now.


add auto-complete yasnippet faces

ac-yasnippet faces were missing in previous 'add auto-complete faces' commit

Thanks 👍


Student Login backend [2]

Story

As a developer

I Want an endpoint for students to login

So That they can login

Acceptance Criteria

Given .............

When .............
Then .............

Given .............

When .............
Then .............

Implementation Notes

Checklist:

[ ] I have defined the user story
[ ] I have defined some acceptance criteria
[ ] I have included any implementation notes
[ ] I have included all relevant links

You should get the username and password. compare the password to the one in the db if it matches you should generate a jwt https://www.digitalocean.com/community/tutorials/nodejs-jwt-expressjs, this can then be sent with every authenticated request checking if they have the required permission

No problem
On Sat, 6 May 2023 at 20:24, Charles Muzhanye @.***>
wrote:

You should get the username and password. compare the password to the one
in the db if it matches you should generate a jwt
https://www.digitalocean.com/community/tutorials/nodejs-jwt-expressjs,
this can then be sent with every authenticated request checking if they
have the required permission
—
Reply to this email directly, view it on GitHub
https://github.com/ChrisKoetzee/EZ-It-Project/issues/25#issuecomment-1537196891,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOLDYNQDXWBU56Q7KBW23R3XE2JPNANCNFSM6AAAAAAXOJP5KI
.
You are receiving this because you were assigned.Message ID:
@.***>


allow for earlier versions of node

If the engine is set in package.json to a version of node earlier than v0.12, bosco should still be able to parse this and find the correct interpreter.

What version of nvm are you using?

0.25.4

How about this for the whole function:
  var version = semver.parse(service.nodeVersion);
  if (!version) {
    return;
  }

  var homeFolder = bosco.findHomeFolder(),
    nvmBase = '.nvm',
    runtime = 'node';

  if (version.major >= 1) {
    runtime = 'io.js';
  }

  if (runtime === 'io.js' || version.minor >= 12) {
    nvmBase = path.join(nvmBase, 'versions', runtime);
  }

  return path.join(homeFolder, nvmBase, 'v' + version, 'bin', 'node');

Very elegant. I've updated the changes and included the fix mentioned in https://github.com/tes/bosco/pull/86.

@geophree @tomruttle feel free to merge these and publish to npm when you are both happy, I'm not going to get much time to look at the, over the next couple of weeks.

@tomruttle Hah, I took that out of my code because I didn't remember why it was there.  :)

Just to mention it, the reason I compared only based on the major/minor versions was to catch alpha/beta/RC etc correctly, because 1.0.0-rc1 is "less than" 1.0.0 .


Rotation speed bug

Checklist

[X] I have verified that the account and device works in the Comfort Cloud App.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of currently previous issues..

What version of Home Assistant Core?
core-2024.10.2
Describe the issue
Hi.
I just moved from Homebridge to Home Assistant and installed this plugin. Everything works as it should, except for setting the speed. In HomeKit it shows as a fan but I can only set 0%, 50% and 100%. But no matter what I set it doesnt change enything in my AC. Changing the speed or enabling quiet mode from the Comfort Cloud app or Home Assistant doesn't change the fan slider in HomeKit. It would be good if you could use the slider to turn on the Quiet and Powerful mode, e.g. a value from 1 to 9% - quiet mode.
My AC: CS-Z50VKEW
Error/Debug Logs
No response

Sound more like a HomeKit issue... If changing settings in Comfort Cloud app doesn't affect it, it's not talking to the API.

Sound more like a HomeKit issue... If changing settings in Comfort Cloud app doesn't affect it, it's not talking to the API.

Control from Comfort Cloud works, with Home Assistant too. With HomeKit, everything works except the speed slider. For other AC (other brand) sliders for speed works. I tried restarting Home Assistant and Home hub but still same.
By the way: could you add a quiet mode switch (like Nanoe)?

@mkz212 it's available as a preset, having a switch wouldn't really make sense since there are multiple presets, and they can't be active at the same time.

This integration has nothing to do with HomeKit


experiment: globally increase maxSynthPendingDepth

!bench

I think the +1.4% walllclock and +0.3% instructions make this slightly too expensive to consider now, but it's not nearly as bad as I feared.


No method to invert bitboard

I am in the progress of writing a little program, in which I am using your library. This is when I discovered that there doesn't seem to be a method to invert a BitBoard. I thought it to be a quick fix, but it doesn't seem to be working.
code:
    [[nodiscard]] /*constexpr*/ Bitboard operator!() const noexcept {
	std::cout << "used operator overload ! for BB\n";
        return !mask_;
    }

Output:
rnb--bnr
p-p-pkpp
p--p----
---q----
--P-----
----P---
PP-P-PPP
R-B-K-NR
Castling: KQ
EP: 2
Turn: b
attacked squares:
00000000
00000000
00000000
01010000
00010100
11101111
11011101
01110110
not attacked squares: used operator overload ! for BB
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000

Oh well, just after sending the issue I remembered that bitwise complement is done with ~ in C++.

Glad everything is okay. If you end up having any more problems or feature requests, feel free to make another issue. I'm not totally convinced I implemented everything you might need, but I'm happy to help if I can.

One thing I was surprised about was that there is no method to check if a game is over, by either stalemate or checkmate, but those are pretty easy to emulate with an empty list of legal moves and either the king being in check or not, unless I am not considering some edge case?!

One thing I was surprised about was that there is no method to check if a game is over, by either stalemate or checkmate, but those are pretty easy to emulate with an empty list of legal moves and either the king being in check or not, unless I am not considering some edge case?!

Seems you're right. If I remember correctly I added the things I needed while writing an engine and probably not much else. Seems I did it as you described here. If you'd like, I could add a gameover() function - or if you want to contribute and add it yourself I'd be happy to merge it.

I am happy to provide a PR, will probably be able to make it this weekend
If you are totally bored, it would mean a great deal to me if you ever had the issue that the evaluation would switch sign whether the depth of your alphabeta was odd or even and you know how to remedy this.

Chances are you'll want to use Negamax if you aren't already. It requires that the evaluation is from the side to move's perspective, which is usually done within the evaluation function itself. I guess your issue was to do with this? Glad you fixed it anyway.

welp, I just discovered I didn't fix it.
If my evaluation returns positive for an advantage for the current player and vice versa, does the alternating nature of Negamax, which I already use, take care of the rest, or not? I am still confused if I have to invert any of the values before returning, and under which conditions


'pos_embed'

when run train.py,i have this question,thanks!!!

Can you describe your problem in detail?
I cannot understand your question.

thank you for your reply ,actually i don't know how to set the parameter of "_C.MODEL.PRETRAIN_PATH”，when I try some value,the running result is 'pos_embed'

You need to download the ImageNet pretrained transformer model : vit or deit.
and write its path to MODEL.PRETRAIN_PATH .

I do downloaded the mode:vit ,then I set it to "...../vit_small_p16_224-15ec54c9.pth' and run the train.py ,the result is :"pos_embed,when i try to use "python train.py --config_file configs/Market/vit_transreid_stride.yml MODEL.DEVICE_ID "('0')"" in Terminal, it stays in the state of   "transreid.train INFO: start training"  all the time.

好的
D:\anaconda\envs\pytorch\python.exe E:/re-id/TransReID-main/train.py
2021-05-21 09:42:37,467 transreid INFO: Saving model in the path :E:\re-id\TransReID-main\log
2021-05-21 09:42:37,467 transreid INFO: Namespace(config_file='', local_rank=0, opts=[])
2021-05-21 09:42:37,467 transreid INFO: Running with config:
DATALOADER:
NUM_INSTANCE: 16
NUM_WORKERS: 0
SAMPLER: softmax
DATASETS:
NAMES: market1501
ROOT_DIR: E:\re-id\market1501
INPUT:
PADDING: 10
PIXEL_MEAN: [0.485, 0.456, 0.406]
PIXEL_STD: [0.229, 0.224, 0.225]
PROB: 0.5
RE_PROB: 0.5
SIZE_TEST: [384, 128]
SIZE_TRAIN: [384, 128]
MODEL:
ATT_DROP_RATE: 0.0
COS_LAYER: False
DEVICE: cuda
DEVICE_ID: 0
DEVIDE_LENGTH: 4
DIST_TRAIN: False
DROP_OUT: 0.0
DROP_PATH: 0.1
ID_LOSS_TYPE: softmax
ID_LOSS_WEIGHT: 1.0
IF_LABELSMOOTH: on
IF_WITH_CENTER: no
JPM: False
LAST_STRIDE: 1
METRIC_LOSS_TYPE: triplet
NAME: resnet50
NECK: bnneck
NO_MARGIN: False
PRETRAIN_CHOICE: imagenet
PRETRAIN_PATH: model/backbones/backbone/vit_small_p16_224-15ec54c9.pth
RE_ARRANGE: True
SHIFT_NUM: 5
SHUFFLE_GROUP: 2
SIE_CAMERA: False
SIE_COE: 3.0
SIE_VIEW: False
STRIDE_SIZE: [16, 16]
TRANSFORMER_TYPE: None
TRIPLET_LOSS_WEIGHT: 1.0
OUTPUT_DIR: E:\re-id\TransReID-main\log
SOLVER:
BASE_LR: 0.0003
BIAS_LR_FACTOR: 1
CENTER_LOSS_WEIGHT: 0.0005
CENTER_LR: 0.5
CHECKPOINT_PERIOD: 10
COSINE_MARGIN: 0.5
COSINE_SCALE: 30
EVAL_PERIOD: 10
GAMMA: 0.1
IMS_PER_BATCH: 2
LARGE_FC_LR: False
LOG_PERIOD: 100
MARGIN: 0.3
MAX_EPOCHS: 50
MOMENTUM: 0.9
OPTIMIZER_NAME: Adam
SEED: 1234
STEPS: (40, 70)
WARMUP_EPOCHS: 5
WARMUP_FACTOR: 0.01
WARMUP_METHOD: linear
WEIGHT_DECAY: 0.0005
WEIGHT_DECAY_BIAS: 0.0005
TEST:
DIST_MAT: dist_mat.npy
EVAL: False
FEAT_NORM: yes
IMS_PER_BATCH: 2
NECK_FEAT: after
RE_RANKING: False
WEIGHT:
=> Market1501 loaded
Dataset statistics:
subset   | # ids | # images | # cameras
train    |   751 |    12936 |         6
query    |   750 |     3368 |         6
gallery  |   751 |    15913 |         6
using softmax sampler
using resnet50 as a backbone
Traceback (most recent call last):
File "E:/re-id/TransReID-main/train.py", line 68, in
model = make_model(cfg, num_class=num_classes, camera_num=camera_num, view_num = view_num)
File "E:\re-id\TransReID-main\model\make_model.py", line 402, in make_model
model = Backbone(num_class, cfg)
File "E:\re-id\TransReID-main\model\make_model.py", line 71, in init
self.base.load_param(model_path)
File "E:\re-id\TransReID-main\model\backbones\resnet.py", line 132, in load_param
self.state_dict()[i].copy_(param_dict[i])
KeyError: 'pos_embed'

好的，麻烦了
train_log.txt

Sorry for my late reply.
Have you solved the problem?
I recommend that you can use the default settings that provided.


Treat Partition by columns as set for window functions

Which issue does this PR close?

Closes #5915.
Rationale for this change

Currently when window frame is PARTITION BY a,b .. and input is ordered by b, a. WindowAggExec expects its input to be ordered by a, b. Hence we need to add another SortExec before WindowAggExec to change ordering from b, a to a, b. However, if we were to use PARTITION BY b,a .. existing ordering would work. The algorithm for removing sort should treat partition by columns as set. Algorithm shouldn't depend on the order of the columns. With this functionality we can produce better plans.
What changes are included in this PR?

With the changes in this PR we do WindowSortRemoval analysis more cleverly. Previously, algorithm was depended on the order of partition by expressions seen in the window expression. Now we treat PARTITION BY columns as mathematical set. Consider the query below
SELECT c9,
  SUM(c9) OVER(PARTITION BY c1, c2 ORDER BY c9 ASC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) as sum1,
  SUM(c9) OVER(PARTITION BY c2, c1 ORDER BY c9 ASC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) as sum2
FROM aggregate_test_100

Previously it was generating the plan
"ProjectionExec: expr=[c9@8 as c9, SUM(aggregate_test_100.c9) PARTITION BY [aggregate_test_100.c1, aggregate_test_100.c2] ORDER BY [aggregate_test_100.c9 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING@13 as sum1, SUM(aggregate_test_100.c9) PARTITION BY [aggregate_test_100.c2, aggregate_test_100.c1] ORDER BY [aggregate_test_100.c9 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING@14 as sum2]",
"  WindowAggExec: wdw=[SUM(aggregate_test_100.c9): Ok(Field { name: \"SUM(aggregate_test_100.c9)\", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), frame: WindowFrame { units: Rows, start_bound: Preceding(UInt64(1)), end_bound: Following(UInt64(NULL)) }]",
"    SortExec: expr=[c2@1 ASC NULLS LAST,c1@0 ASC NULLS LAST,c9@8 ASC NULLS LAST]",
"      WindowAggExec: wdw=[SUM(aggregate_test_100.c9): Ok(Field { name: \"SUM(aggregate_test_100.c9)\", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), frame: WindowFrame { units: Rows, start_bound: Preceding(UInt64(1)), end_bound: Following(UInt64(NULL)) }]",
"        SortExec: expr=[c1@0 ASC NULLS LAST,c2@1 ASC NULLS LAST,c9@8 ASC NULLS LAST]",
"          CsvExec: files={1 group: [[<path>/aggregate_test_100.csv]]}, has_header=true, limit=None, projection=[c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13]",

we now produce plan below
"ProjectionExec: expr=[c9@8 as c9, SUM(aggregate_test_100.c9) PARTITION BY [aggregate_test_100.c1, aggregate_test_100.c2] ORDER BY [aggregate_test_100.c9 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING@13 as sum1, SUM(aggregate_test_100.c9) PARTITION BY [aggregate_test_100.c2, aggregate_test_100.c1] ORDER BY [aggregate_test_100.c9 ASC NULLS LAST] ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING@14 as sum2]",
"  WindowAggExec: wdw=[SUM(aggregate_test_100.c9): Ok(Field { name: \"SUM(aggregate_test_100.c9)\", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), frame: WindowFrame { units: Rows, start_bound: Preceding(UInt64(1)), end_bound: Following(UInt64(NULL)) }]",
"    WindowAggExec: wdw=[SUM(aggregate_test_100.c9): Ok(Field { name: \"SUM(aggregate_test_100.c9)\", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), frame: WindowFrame { units: Rows, start_bound: Preceding(UInt64(1)), end_bound: Following(UInt64(NULL)) }]",
"      SortExec: expr=[c1@0 ASC NULLS LAST,c2@1 ASC NULLS LAST,c9@8 ASC NULLS LAST]",
"        CsvExec: files={1 group: [[<path>/aggregate_test_100.csv]]}, has_header=true, limit=None, projection=[c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13]",

Are these changes tested?
New tests are added to check partition by columns are treated as set.

Are there any user-facing changes?

This is good to go from our perspective, @alamb feel free to merge when you want

Thanks @mustafasrepo and @ozankabak  - please feel to merge PRs as well once they are approved and comments are addressed. There is no need to wait for me (I am trying to avoid being as much of a bottleneck)

Sounds good, will do, thank you


ViroRenderer API for ViroCore?

Environment
Windows, ViroCore 1_16, Android Studio 3.4.1, Galaxy S8+ running Android 9.
Description
Request for information: Will ViroCore have an API to lower-level ViroRenderer methods?
Our wish list is:
--Multiple-object, fine-tuned, synchronized animations, e.g. for linked skeletons or skeleton nodes from separate Object3Ds
--Code-based / animation-state-linked interactivity as per Unity Animator, without having to manually jerry-rig it based on component position changes at various points during the animation duration.
Reproducible Demo
N/A

Hey @marcspraragen, currently ViroCore (and thus the renderer) is open source! :D
As such feel free to Fork, examine, and modify the code to expose lower-level renderer methods through the JNI layers into Java. To rebuild the renderer, there should be instructions on the github's main ReadMe page.
The above topics sounds pretty complex, a good place to start could be at VROSkeletalAnimationFrame or layered animations.
Feel free to reach out if you have any additional questions!

Thanks!! I'll keep you posted.

Hi @dthian, I have generated libviro-renderer.so library, and ndk app-glue files from the virocore/ViroRenderer git directory.
However, there was no readme referencing how to run it. Particularly, initializing VRORenderer requires VRORendererConfiguration and VROInputControllerBase arguments, neither of which classes I have seen before 5 minutes ago.  Is there any guidance at all on how to use the native methods?
Thanks for your attention!

Hey @marcspraragen, to run the C++ examples in ViroCore, i think you'll need to just build the nativeTest or renderTest (i forgot which) target in Android studio. This should effectively build the whole thing and run it on your device successfully.
To enable the C++ examples, you would need to flip the kRunRenderTest flag:
https://github.com/viromedia/virocore/blob/master/android/app/src/main/cpp/jni/VRORenderer_JNI.cpp#L62
After which, the testHarness in VROSample would be one place you can test out your new scene / code. Different types of c++ native test can be seen via VRORendererTestType.

Awesome! I was going crazy trying to manually link everything with cmake!

So close...
There are some missing link errors going on during initial project build (see below). Any advice? This continued to happen after I cleaned project and invalidated caches / restarted Android Studio/

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':virocore:externalNativeBuildDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:95)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:119)
at org.gradle.api.internal.tasks.execution.ResolvePreviousStateExecuter.execute(ResolvePreviousStateExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:93)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:45)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:94)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:56)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:67)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:101)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.gradle.internal.UncheckedException: Build command failed.
Error while executing process C:\Users\Marc\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {--build C:\Users\Marc\Documents\BlipdProjects\Repositories\virocore-cpp\android\virocore.externalNativeBuild\cmake\debug\arm64-v8a --target viro_renderer}
[1/1] Linking CXX shared library C:\Users\Marc\Documents\BlipdProjects\Repositories\virocore-cpp\android\virocore\build\intermediates\cmake\debug\obj\arm64-v8a\libviro_renderer.so
FAILED: cmd.exe /C "cd . && C:\Users\Marc\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  --target=aarch64-none-linux-android21 --gcc-toolchain=C:/Users/Marc/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/Marc/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security  -std=c++14 -frtti -fexceptions -ftemplate-depth=1024 -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libviro_renderer.so -o C:\Users\Marc\Documents\BlipdProjects\Repositories\virocore-cpp\android\virocore\build\intermediates\cmake\debug\obj\arm64-v8a\libviro_renderer.so @CMakeFiles/viro_renderer.rsp  && cd ."
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence_c.cpp.o): In function `cvOpenFileStorage':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence_c.cpp:149: undefined reference to `gzopen'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvPuts(CvFileStorage*, char const*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:38: undefined reference to `gzputs'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvGets(CvFileStorage*, char*, int)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:79: undefined reference to `gzgets'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvEof(CvFileStorage*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:99: undefined reference to `gzeof'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvCloseFile(CvFileStorage*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:110: undefined reference to `gzclose'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvRewind(CvFileStorage*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:125: undefined reference to `gzrewind'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvCloseFile(CvFileStorage*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:110: undefined reference to `gzclose'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libIlmImf.a(ImfPxr24Compressor.cpp.o): In function `Imf::Pxr24Compressor::compress(char const*, int, Imath::Box<Imath::Vec2 >, char const*&)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../3rdparty/openexr/IlmImf/ImfPxr24Compressor.cpp:399: undefined reference to `compress'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libIlmImf.a(ImfPxr24Compressor.cpp.o): In function `Imf::Pxr24Compressor::uncompress(char const*, int, Imath::Box<Imath::Vec2 >, char const*&)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../3rdparty/openexr/IlmImf/ImfPxr24Compressor.cpp:426: undefined reference to `uncompress'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libIlmImf.a(ImfZipCompressor.cpp.o): In function `Imf::ZipCompressor::compress(char const*, int, int, char const*&)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../3rdparty/openexr/IlmImf/ImfZipCompressor.cpp:156: undefined reference to `compress'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libIlmImf.a(ImfZipCompressor.cpp.o): In function `Imf::ZipCompressor::uncompress(char const*, int, int, char const*&)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../3rdparty/openexr/IlmImf/ImfZipCompressor.cpp:189: undefined reference to `uncompress'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:67)
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:76)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:48)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:704)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:671)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:284)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:273)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:258)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$200(ExecuteActionsTaskExecuter.java:67)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:145)
at org.gradle.internal.execution.impl.steps.ExecuteStep.execute(ExecuteStep.java:49)
at org.gradle.internal.execution.impl.steps.CancelExecutionStep.execute(CancelExecutionStep.java:34)
at org.gradle.internal.execution.impl.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:69)
at org.gradle.internal.execution.impl.steps.TimeoutStep.execute(TimeoutStep.java:49)
at org.gradle.internal.execution.impl.steps.CatchExceptionStep.execute(CatchExceptionStep.java:33)
at org.gradle.internal.execution.impl.steps.CreateOutputsStep.execute(CreateOutputsStep.java:50)
at org.gradle.internal.execution.impl.steps.SnapshotOutputStep.execute(SnapshotOutputStep.java:43)
at org.gradle.internal.execution.impl.steps.SnapshotOutputStep.execute(SnapshotOutputStep.java:29)
at org.gradle.internal.execution.impl.steps.CacheStep.executeWithoutCache(CacheStep.java:134)
at org.gradle.internal.execution.impl.steps.CacheStep.lambda$execute$3(CacheStep.java:83)
at java.util.Optional.orElseGet(Optional.java:267)
at org.gradle.internal.execution.impl.steps.CacheStep.execute(CacheStep.java:82)
at org.gradle.internal.execution.impl.steps.CacheStep.execute(CacheStep.java:36)
at org.gradle.internal.execution.impl.steps.PrepareCachingStep.execute(PrepareCachingStep.java:33)
at org.gradle.internal.execution.impl.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:38)
at org.gradle.internal.execution.impl.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:23)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:96)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:89)
at java.util.Optional.map(Optional.java:215)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:52)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:36)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:34)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:91)
... 35 more

Caused by: Build command failed.
Error while executing process C:\Users\Marc\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {--build C:\Users\Marc\Documents\BlipdProjects\Repositories\virocore-cpp\android\virocore.externalNativeBuild\cmake\debug\arm64-v8a --target viro_renderer}
[1/1] Linking CXX shared library C:\Users\Marc\Documents\BlipdProjects\Repositories\virocore-cpp\android\virocore\build\intermediates\cmake\debug\obj\arm64-v8a\libviro_renderer.so
FAILED: cmd.exe /C "cd . && C:\Users\Marc\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  --target=aarch64-none-linux-android21 --gcc-toolchain=C:/Users/Marc/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/Marc/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security  -std=c++14 -frtti -fexceptions -ftemplate-depth=1024 -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libviro_renderer.so -o C:\Users\Marc\Documents\BlipdProjects\Repositories\virocore-cpp\android\virocore\build\intermediates\cmake\debug\obj\arm64-v8a\libviro_renderer.so @CMakeFiles/viro_renderer.rsp  && cd ."
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence_c.cpp.o): In function `cvOpenFileStorage':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence_c.cpp:149: undefined reference to `gzopen'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvPuts(CvFileStorage*, char const*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:38: undefined reference to `gzputs'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvGets(CvFileStorage*, char*, int)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:79: undefined reference to `gzgets'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvEof(CvFileStorage*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:99: undefined reference to `gzeof'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvCloseFile(CvFileStorage*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:110: undefined reference to `gzclose'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvRewind(CvFileStorage*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:125: undefined reference to `gzrewind'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libopencv_core.a(persistence.cpp.o): In function `icvCloseFile(CvFileStorage*)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../modules/core/src/persistence.cpp:110: undefined reference to `gzclose'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libIlmImf.a(ImfPxr24Compressor.cpp.o): In function `Imf::Pxr24Compressor::compress(char const*, int, Imath::Box<Imath::Vec2 >, char const*&)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../3rdparty/openexr/IlmImf/ImfPxr24Compressor.cpp:399: undefined reference to `compress'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libIlmImf.a(ImfPxr24Compressor.cpp.o): In function `Imf::Pxr24Compressor::uncompress(char const*, int, Imath::Box<Imath::Vec2 >, char const*&)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../3rdparty/openexr/IlmImf/ImfPxr24Compressor.cpp:426: undefined reference to `uncompress'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libIlmImf.a(ImfZipCompressor.cpp.o): In function `Imf::ZipCompressor::compress(char const*, int, int, char const*&)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../3rdparty/openexr/IlmImf/ImfZipCompressor.cpp:156: undefined reference to `compress'
C:/Users/Marc/Documents/Repositories/virocore-cpp/android/app/../app/src/main/jniLibs/arm64-v8a/libIlmImf.a(ImfZipCompressor.cpp.o): In function `Imf::ZipCompressor::uncompress(char const*, int, int, char const*&)':
/Users/radvani/Source/ViroOpenCV/android/opencv-3.4.3/android_build/../3rdparty/openexr/IlmImf/ImfZipCompressor.cpp:189: undefined reference to `uncompress'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
at com.android.build.gradle.internal.cxx.process.ProcessOutputJunction.execute(ProcessOutputJunction.kt:78)
at com.android.build.gradle.internal.cxx.process.ProcessOutputJunction.execute(ProcessOutputJunction.kt:119)
at com.android.build.gradle.tasks.ExternalNativeBuildTask.executeProcessBatch(ExternalNativeBuildTask.java:331)
at com.android.build.gradle.tasks.ExternalNativeBuildTask.buildImpl(ExternalNativeBuildTask.java:199)
at com.android.build.gradle.tasks.ExternalNativeBuildTask.build(ExternalNativeBuildTask.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
... 73 more

Hm, that should have worked. I can try building the render myself in the next few days and get back to you (I don't have access to an Android phone now).

Hi Daniel--
Same result, unfortunately-- I can't build the project at all, because of opencv vs. zip library link errors
I also tried reinstalling NDK (20.0.5594570), not side-by-side version.
Target SDK of project: 28, with platform tools 29.0.1
Gradle  distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip

Happy to report that I fixed the linking error. It was a simple change in the CMakeLists.txt file for app (viroreact) module: link the lib-z library last(!)
Also attached is modified build.gradle for app module, as I needed to upgrade its exoplayer version to get it to complile.  Build successful!
CMakeLists.txt
build.gradle.txt

The FBX renderer-based fine-grained skeletal changes in nativetest are working fine!

A question about the 3D models generated (and manipulated) in native c++ : how can I reference them directly in Kotlin/Java?
There doesn't seem to be a Scene (AR or otherwise) instantiated in the ViroViewARCore packaged with "nativetest" app module.

Hey @marcspraragen, native C++ components in Viro are often exposed to Java via the JNI layer.
For example, a VRONode, is exposed via Node_JNI.cpp (through JNI) and then accessed in java via Node.java
Likewise for 3d models, we have the Object_JNI.cpp that exposes the native loading of models to Object3D.java in java.

Awesome. I'm thinking that will also help me set skeletal animation speeds in Java in real time (using animation transactions), which as far as I know is currently only available at c++ level.

Cool, I would recommend taking a look at our animation components here. Also take a look at how Object3D.java components are used here in our tests.
Looking at these, i believe it's already possible to set variable animation speeds for skeletal animations in Java in real time.


Update aws dependency version

This is to address a 400 Bad Request exception coming from the s3 client
in some cases.
This closes: https://github.com/twitter/heron/issues/1035

@ajorgensen - looks like the unit tests failed.

@kramasamy yeah it looks like they updated their dependency on http_core, I updated the PR with that change, tests should pass now.