Hyperlink widget

Currently our Hyperlink widget is a button.
With latest version, Hyperlink implementation will send url and target properties as well.
So, if you receive an url and optional target property, use a real hyperlink instead of a button!
In Safari, the popup will be blocked if you use a button. In Chrome and Firefox, this is working!

Keep sending the pressed event. This is a nice thing for the application.

The hyperlink action event won't send you a showDocument with latest update.

Isn't this a react bug? I don't see how there is a difference between a button and a label that is clickable?

I will test this on the mac in safari, but I doubt it will be an issue. Flutter does not use real html as far as I know. It is a canvas.

You're right. How does flutter handle popups or links to other sites?

launchUrl(
      Uri.parse(url),
      mode: LaunchMode.externalApplication,
    );

I just launch the url.
Testing on mac in safari seems to work. Tested the Button in the Components screen of the demo application.
We don't use the targets though. So we don't differenciate between new tab/same tab as we streamlined it to always be a new tab. (Because mobile does too, as it isn't a browser)
Should we implement the targets for web?

target is not relevant for mobil... should be outside
in browser, we could support both

How does flutter handle popups or links to other sites?

https://pub.dev/packages/url_launcher
It is a package we use to launch urls which then uses the respective platform implementations.

https://github.com/flutter/packages/tree/main/packages/url_launcher

There are all the relevant platform implementations


Turn on IR optimizer

📚 Context
The Solidity compiler comes with an IR optimized that is turned off by default.
This optimizer can improve gas costs of function calls and contract size.
After doing a quick experiment with Via-IR, I've observed significant reductions on both metrics.
Here are some functions with significant gas cost improvements (median discrepancy):

ApplicationFactory.newApplication: -20.5%
SelfHostedApplicationFactory.deployContracts: -9.1%
Application.validateOutput: -9.7%
Application.executeOutput: -2.6%

✔ Solution
Turn Via-IR on foundry.toml and hardhat.config.ts.


Use conventional-commits-parser?

Both conventional-changelog and validate-commit-msg started with the angular.js project. The initial code of parsing the commit messages is almost the same. In order to scale well, I divide conventional-changelog into a few smaller modules. conventional-commits-parser then became a standalone module and received a lot of improvements. For example, the regex of parsing <type>(<scope>): <subject> can handle a few more edge cases than the original one. A lot of useful features were added to better support conventional-changelog
I don't want to over sale it. conventional-commits-parser does have a few features that validate-commit-msg may not need. EG: parsing BREAKING CHANGE, Close #issue etc. Well when writing this I also think you might want to lint these in the future 😄
I believe the biggest win would be we can join force to only maintain one parser instead of two. It take a lot of effort to maintain open source projects and we are our full time work. I can see there's some issue that might related to the parser which was already solved in conventional-commits-parser (https://github.com/kentcdodds/validate-commit-msg/issues/18).
cc @jimthedev

Hi @stevemao. Good to know. I'll have to check it out further.
Commitizen itself probably won't use it since we (selfishly / naively) don't actually care much about semantics at the moment. We're really just a wrapper for git that accepts a string.
Commitizen has lots of adapters customized for the business/organization to allow for custom fields or to modify/delete some of the conventional-changelog fields that they don't use or are confusing for their use cases.  For example a business might want to add a field for what company requested the change or a billing code that this commit applies to. Some additional examples are:

I want to use the cz-conventional-changelog adapter but remove scope.
I want to use the cz-conventional-changelog adapter but want to use icons for my enums.

While teams love this feature, it can be limiting because much of the tooling outside of Commitizen is pretty strict when it comes to how your commit message string must be formatted.
Custom adapter authors may add semantics in their commit messages that are not understood by parsers/validators/semantic release.  The reason for this is actually pretty clear: they're writing their own programming language (using strings to represent semantics). If they decide to go out of bounds then they have to write a parser and validator to go along with their new programming language and semantics.  This begs the question, how do you have both flexibility and strictness? It is probably also a debate between configuration and convention. My suspicion is that there is a happy medium or at least we can provide some good escape hatches for people wanting to define additional semantics.

Hi friends! I haven't taken the time to read this thread yet. But I should say that I have very little interest in maintaining this project any further, so if anyone wants to take it from me (or if we want to consolidate on another solution) that'd be awesome.

@stevemao Do you want to move this repo into conventional-changelog?

@jimthedev love to 😄 I can add you guys to the org. No problem!

Looking over the parser I don't see any reason to not take advantage of it. All it does is alleviate some of the parsing to keep what the message validator logic as concise as possible (and alleviate more maintenance internally.)
I'll take a look at implementing this while I work on my V2 redesign concept.

The parser returns a simple object with all the information you need about the commit message. It means the validation on each part could be generic. EG: you could warn if BREAKING CHANGE is written as Breaking changes or Fixes #1 as resolves #1 etc... Types could have the same config as scope, EG:
"types": {
    required: true,
    allowed: ["feat", "fix", "docs", "style"],
    multiple: false // default
  },
  "scope": {
    required: false,
    allowed: ['button', 'card'],
    multiple: true
  },
 "references.action": {
    required: true,
    allowed: ['Fixes', 'Closes'],
    multiple: true
}

This package has been deprecated. Please use https://github.com/marionebl/commitlint instead.


Check if we can remove Toastr because it changes css adminlte defaults like fonts

it changes for example font-weigth in body, labels, etc.

Umm it seems problem is in adminlte-app.less my fault? https://github.com/acacha/adminlte-laravel/blob/master/resources/assets/less/adminlte-app.less

Removed!


Fix general section layout & styling

Fixes general (default) styling of sections: margins, padding, background etc.
Fixes existing blocks that have special layout

Test URLs:

Before: https://main--macquarie-help-centre--hlxsites.hlx.live/personal
After: https://short-article-layout--macquarie-help-centre--hlxsites.hlx.live/personal

Empty body section with white background is introduced, this would need a fix

Let's also publish the footer, currently it's not visible in .live but only in .page

A couple of other fixes that would be required:

Card CSS to be fixed in mobile view.

Padding/margin to be set for mobile view for footer and fragment blocks.

Empty body section with white background is introduced, this would need a fix
Yep, still to be fixed. Empty sections were already there, but are now more visible because of the margin. I've tried to fix it using main .section:empty { display: none; } which removes some of them, but there are still some that have white space, and the selector doesn't apply. The only solution for these would be to remove them in the javascript during the transformation of the specific blocks.

Card CSS to be fixed in mobile view.

@asthabh23 I think you've got that from main (not sure what broke there, but it should be fine when I merge), looks good when I load my branch https://short-article-layout--macquarie-help-centre--hlxsites.hlx.live/personal

Card CSS to be fixed in mobile view.

@asthabh23 I think you've got that from main (not sure what broke there, but it should be fine when I merge), looks good when I load my branch https://short-article-layout--macquarie-help-centre--hlxsites.hlx.live/personal

@volteanu  please see preview URL, because I havent published it yet https://short-article-layout--macquarie-help-centre--hlxsites.hlx.page/personal

Tip: Always best to test on .page

This has been discussed several times and the recommendation is to use .live because .page is uncached and unreliable from the speed POV.

Looks good to me!
Just one thing, I can see breadcrumbs appearing for us in mobile view for this URL but it's not present in the original site.
https://short-article-layout--macquarie-help-centre--hlxsites.hlx.page/personal/home-loans

@volteanu , horizontal scroll seems to be introduced at around 620px

I've changed the cards to overflow-wrap: anywhere, but this leads to words being split:

Alternative is to keep the list view (instead of 3 columns) until 900px breakpoint.

Alternative is to keep the list view (instead of 3 columns) until 900px breakpoint.

Would using smaller fonts until 900px work ?


Remove legacy code features / improve code quality to latest Rust standard

You recently pushed out version 0.4.1 which uses Rust edition 2018 officially. Anyhow, I found a few legacy code features and wanted to improve the code quality to fit latest Rust standard. My PR consists of two commits:

improve code quality
latest rustfmt (stable 1.50)

This PR compiles with Rust 1.31, the minimum Rust version this crate officially supports.

r? @nastevens
(rust-highfive has picked a reviewer for you, use r? to override)


Adding lineage information for hemibrain antennal lobe olfactory neurons

The antennal lobe local and projection neurons typed in the hemibrain dataset (Scheffer 2020, https://doi.org/10.7554/eLife.57443) include lineage information. This is a set of neurons that was typed in detail, by comparing to FAFB data. Table 6 in the appendix of the paper lists the type names.
All the lineages described are named the same as in Bates 2020 (https://doi.org/10.1016/j.cub.2020.06.042). Some of the newly named ones in that paper likely correspond to primary neurons, though we can't be absolutely sure yet.
So could the lineage info be added?
Examples:
The appendix gives the naming recipe for the different types of neurons (uni- and multiglomerular and local), where [cell cluster ID] is the lineage
For uniglomerular neurons, the general recipe is
[glomerulus ID] _ [cell cluster ID] Projection Neuron

The only change is that for neuroblast/lineages with 1 in the name, like ALad1, ALv1, etc, the 1 is dropped.
D_adPN > neuroblast ALad1
DM4_vPN > lineage ALv1
VP4+VL1_l2PN > lineage ALv2
lLN1 > lineage ALl1
vLN24 > lineage ALv1

Lineage detail from Bates et al. (2020) and Marin et al. (2020) has been added to AL PNs and should be in the latest release (2020-12-02).
The different hemilineages of ALl1 have also been added.
Is there still something missing?

(Maybe this should be in the VFB issues - let me know and I'll move it)
Looking in VFB v2a, the hemibrain neurons don't show the lineage classification nor any relationships for developmental lineage. This could be done based on their type names.

I think maybe this is an issue about typing individuals rather than additions to the ontology?
@admclachlan is working on adding lineage to hemibrain individuals based on their primary neurite tracts - see https://github.com/VirtualFlyBrain/Management/issues/265
But yes, this is a VFB issue rather than FBbt, so closing this ticket.


Microservice of Collaboration Service

This PR consists of:

Microservice of Collaboration Service
Removing of unused Question Components (have been moved to pages)
Adding of Spinner component
Changing double quote to single quotes for components/pages

To Note: Collaboration Service did not add any authentication as specified by Venus, as the checking of whether user had login or not is specified under App.js through the use of ProtectedRoute.

Left a comment 😃

I will resolve that in the next PR, I'm more familiar with that codebase.


Why doing one update per rollout_thread?

Thanks for the great code!
I've got more of a question than an issue: in main.py you do one update per rollout thread
for u_i in range(config.n_rollout_threads):
        for a_i in range(maddpg.nagents):
                sample = replay_buffer.sample(config.batch_size, to_gpu=USE_CUDA)
                maddpg.update(sample, a_i, logger=logger)
        maddpg.update_all_targets()

And then in the update method for MADDPG agents, you average the gradients:
if parallel:
        average_gradients(curr_agent.critic)

Why doing that rather than just a single update?
You use synchronous rollout threads that wait for each other at each timestep, and put all of their collected transitions in a single buffer. You then train using the master-thread only on this single buffer. Since your condition to do an update is to do one every config.steps_per_update, the way I see it, it would be less wasteful to just do a single update when this condition is True, and the fact that you have multiple rollout threads would simply help collect the required transitions faster.
Am I missing something?

Hi,
So a couple things: 1) the parallel flag is False by default and I'm not setting it to True, so the gradients aren't being averaged. I added that when I was experimenting with parallel training but it wasn't working very well if I remember correctly. 2) I am not sure why I am updating n_rollout_threads times. I think I set it up that way when I was iterating t by 1 each step, but since I am iterating t by n_rollout_threads, it no longer makes sense. It's not necessarily wasteful though since a new sample is being used each iteration so the model it just learning more per update cycle. It does end up doing more updates than is specified by the parameters though, which could be misleading. I'm just going to leave the code as is though since it was working.

Oh yeah I missed that parallel is always False, I guess that's what confused me since we were talking about synchronous learning. I agree it's not worth changing the code and have to re-test everything (for the n_rollout updates), I was just wondering if I was missing something important on the theoretical side.
Closing the issue.
Thanks again!


Fix crash on failed download-backup request

https://github.com/osmandapp/OsmAnd-Issues/issues/2714


SQLDisconnect() failed with error code HY010

When I tried to copy the data from the remote Vertica database, I hit the following error:
=> COPY store_sales
->     WITH SOURCE ODBCSource() PARSER ODBCLoader(
(>         connect='DSN=Vertica',
(>         query='select * from store_sales'
(>     )
-> ;
ERROR 3399:  Failure in UDx RPC call InvokeDestroyUDL(): Error calling destroyUDL() in User Defined Object [ODBCLoader] at [ODBCLoader.cpp:250], error code: 0, message: ODBC Error: SQLDisconnect() failed with error code HY010, native code 0 [[unixODBC][Driver Manager]Function sequence error]

The log messages in vertica.log are as below:
2022-03-11 14:29:26.700 Init Session:0x7fb9741f4700 [Session] <INFO> [PQuery] TX:0(v_trial_node0001-3993:0x26e3) SELECT * FROM ( select * from store_sales ) sq
2022-03-11 14:29:26.700 Init Session:0x7fb9741f4700-a00000000012b6 [Txn] <INFO> Begin Txn: a00000000012b6 'SELECT * FROM ( select * from store_sales ) sq'
2022-03-11 14:29:26.701 Init Session:0x7fb9741f4700-a00000000012b6 [Session] <INFO> [BQuery] TX:a00000000012b6(v_trial_node0001-3993:0x26e3) SELECT * FROM ( select * from store_sales ) sq
2022-03-11 14:29:26.702 Init Session:0x7fb9741f4700-a00000000012b6 <LOG> @v_trial_node0001: 00000/3316: Executing statement: 'SELECT * FROM ( select * from store_sales ) sq'
2022-03-11 14:30:01.033 Init Session:0x7fb9741f4700-a00000000012b6 <LOG> @v_trial_node0001: 08006/5167: Unexpected EOF on client connection
2022-03-11 14:30:01.033 Init Session:0x7fb9741f4700-a00000000012b6 <LOG> @v_trial_node0001: 00000/4719: Session v_trial_node0001-3993:0x26e3 ended; closing connection (connCnt 1)
2022-03-11 14:30:01.033 Init Session:0x7fb9741f4700-a00000000012b6 [Txn] <INFO> Rollback Txn: a00000000012b6 'SELECT * FROM ( select * from store_sales ) sq'

The trace messages are as below:
[ODBC][116506][1646900363.989931][SQLDisconnect.c][208]
                Entry:
                        Connection = 0x7fc2e4008570
[ODBC][116506][1646900363.990464][SQLDisconnect.c][379]
                Exit:[SQL_ERROR]
                DIAG [25000] [Vertica][ODBC] (11120) Outstanding transactions during disconnect.

[ODBC][116506][1646900363.990571][SQLFreeHandle.c][290]
                Entry:
                        Handle Type = 2
                        Input Handle = 0x7fc2e4008570
[ODBC][116506][1646900363.990581][SQLFreeHandle.c][304]Error: HY010
[ODBC][116506][1646900363.990606][SQLFreeHandle.c][220]
                Entry:
                        Handle Type = 1
                        Input Handle = 0x7fc2e4007f70
[ODBC][116506][1646900363.990644][SQLFreeHandle.c][234]Error: HY010
[ODBC][116506][1646900363.990667][SQLGetDiagRec.c][677]
                Entry:
                        Connection = 0x7fc2e4008570
                        Rec Number = 1
                        SQLState = 0x7fc2f2c852a2
                        Native = 0x7fc2f2c8529c
                        Message Text = 0x7fc2f2c84e90
                        Buffer Length = 1024
                        Text Len Ptr = 0x7fc2f2c8529a
[ODBC][116506][1646900363.990692][SQLGetDiagRec.c][726]
                Exit:[SQL_SUCCESS]
                        SQLState = HY010
                        Native = 0x7fc2f2c8529c -> 0
                        Message Text = [[unixODBC][Driver Manager]Function sequence error]

This happens if auto commit is disabled.

The cause is no commit/rollback is called before calling SQLDisconnect.


fix course ordering on the dashboard

Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

What are the relevant tickets?
fix course ordering on the dashboard
What's this PR do?
#523
How should this be manually tested?
Just check with all the course runs in the past or in future
Screenshots (if appropriate)

Codecov Report

Merging #546 (1f387da) into main (6cd0535) will increase coverage by 0.02%.
The diff coverage is n/a.

:exclamation: Current head 1f387da differs from pull request most recent head 57cfca5. Consider uploading reports for the commit 57cfca5 to get more accurate results

@@            Coverage Diff             @@
##             main     #546      +/-   ##
==========================================
+ Coverage   86.87%   86.89%   +0.02%
==========================================
  Files         114      114
  Lines        4815     4815
  Branches      766      766
==========================================
+ Hits         4183     4184       +1
+ Misses        522      520       -2
- Partials      110      111       +1

Impacted Files
Coverage Δ

ecommerce/discounts.py
80.70% <0.00%> (+1.75%)
:arrow_up:

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 6cd0535...57cfca5. Read the comment docs.

@jkachel another review is required on a tiny PR


feat(checks): add locale test

as per https://github.com/jenkins-infra/helpdesk/issues/3138 implementation of the first checks for linux.

Thanks very much! A very nice improvement!
I've pushed two changes to the branch that you are welcome to revert or force push away if they don't meet the needs. The changes that I pushed are:
* [c0e1fe1](https://github.com/jenkins-infra/acceptance-tests/commit/c0e1fe119bc55ca09760daf75a6d012961143697) - comment that the Java check is checking the path to the Java executable as reported by `mvn -v`, not the Java version as reported by `mvn -v`

* [44896fe](https://github.com/jenkins-infra/acceptance-tests/commit/44896fe6ec4febef3d817f8cc222602292ab74a1) - run all tests and report failures at the end rather than stopping all tests on the first failure

Apologies if the push is disruptive, but I couldn't see an easy way to express the second through suggested changes in GitHub.

@MarkEWaite what do you think of ? : https://github.com/jenkins-infra/acceptance-tests/blob/3dd78eecd4688394743816ffb69faf083ba962a1/checks.sh#L82-L124

@MarkEWaite what do you think of ? :

That works great for me.  Thanks for implementing it.


Blank PDF pages

I am getting blank PDF pages when deployed to LAMBDA but it works fine locally.
What's interesting is that the PDF pages although they are blank, they have the correct amount of pages.
I am not doing anything fancy:
`
this.browser = await playwright.launchChromium({
headless: true
});
this.ctx = await this.browser.newContext();
const page = await this.ctx.newPage();
await page.goto(url);
pdf = await page.pdf();
`
It's running on expressjs, deployed with serverless. I get no error, I get a valid PDF buffer back. I am able to open the PDF file, but the pages are always blank.

This seems to be an issue with serverless config and the API gateway. Closing this ticket.
https://github.com/vendia/serverless-express/issues/99


OCPBUGS-33637: Fix CVE2023-45288 by bumping x/net to v0.24.0 - 4.14

What type of PR is this?

/kind bug

/ok-to-test

/jira refresh

/jira refresh


FixtureBlueprint doens't parse out many_many_extraFields properly

[description to come]

@dhensby ? 😄

@stevie-mayhew updated :)

Fixed with https://github.com/silverstripe/silverstripe-framework/pull/5944

And #5988


Import examples when importing OpenAPI

I have checked the following:

[X] I've searched existing issues and found nothing related to my issue.

Describe the feature you want to add
Hello!
It would be amazing if at importing openAPI spec time examples get imported as well. Right now the body of a request gets imported with zero values. (i.e. a string will be "" ). If examples get imported, sending request would be much faster.
Thank you!
Mockups or Images of the feature

We also need this. It was already discussed in #81. @survivant mentioned he opened a PR for that but don't know if it has been pushed

all my PR over months are not merged, not my fault :)  You can go in my profile check for th branche bruno-sd  all my PR are merge there

1+

+1


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 1858 ms

Resolved: ClamAV performance has improved in ae75745 after 5 minutes.


Filtering includes why different behaviour for index vs read?

I can successfully filter an included resource on an index request, but cannot perform the same filter when requesting on a read request for a single record.
Adapter filter
    protected function filter($query, Collection $filters)
    {
        if ($variantClass = $filters->get('images')['variants']['class']) {
            $query->with(
                ['images.variants' => function ($subquery) use ($variantClass) {
                    $subquery->whereIn('class', $variantClass);
                }]
            );
        }
    }

Validator
protected $allowedFilteringParameters = ['images'];

Caveat, my api implementation uses binary uuid. Which I encode/decode where necessary. But not sure if it plays a factor in this case.
eg. Schema
    public function getId($model)
    {
        return (string) $model->resolveUuid()->fromBytes($model->id)->toString();
    }

Successful filtering query:
items?filter[page][id]=41dbd12d-8e55-4f67-8298-27943ddc64b9&filter[images][variants][class][]=1&include=images.variants
** Filtering by page.id here will return the same item.id as the read query below.
Corresponding relevant lines of SQL log, small edit with BINARYUUID for readability:
select * from `image_variants` where `image_variants`.`image_id` in (?) and `class` in (?) [BINARYUUID, 1]

Not successful filtering query:
items/5e272480-6c0f-4721-bcc0-f6b63edbc179?filter[images][variants][class][]=1&include=images.variants
SQL Log:
select * from `image_variants` where `image_variants`.`image_id` in (?) [BINARYUUID]

The if-statement to apply the filter is true on both queries. But for some reason it is not performing the filter?

Filtering on a read request is integration tested in this package - tests are passing. So I'm not sure what the problem is based on the info you've posted above.
Can you look into what's happening on these lines in your implementation?
https://github.com/cloudcreativity/laravel-json-api/blob/develop/src/Eloquent/AbstractAdapter.php#L165-L167

What should I be looking for on those lines?
$parameters->getFilteringParameters() show the correct filtering parameters.
       array:1 [
  "images" => array:1 [
    "variants" => array:1 [
      "class" => array:1 [
        0 => "1"
      ]
    ]
  ]
]

The result of $record = $this->readWithFilters($record, $parameters); is unchanged. $record has the same value as when passed in.
Then I traced that down to readWithFilters -> applyFilters -> to the filter function on my adapter.  Seems to reach all the relevant spots. Maybe there is something to do with load method line 170 that I need to adapt to work with uuid $this->load($record, $parameters);?
If I use a simple filter such as $query->where('id', 1); it works no problem on the read request, just can't do anything on a relation.
In the mean time, I've added a filter function into to the relation data returned in the schema, so my needs are being met. If your tests are passing for filtering relationship includes, then maybe something funny with my uuid adaptation.

Having re-read your original post I think the thing that is slightly funky is you're using the filters for something that's an include path.
$query->with is about eager loading, i.e. a JSON API include path not a filter.
Do you not mean to use $query->whereHas()? I.e. if it is actually a filter, surely your code should be:
    protected function filter($query, Collection $filters)
    {
        if ($variantClass = $filters->get('images')['variants']['class']) {
            $query->whereHas('images.variants', function ($subquery) use ($variantClass) {
                    $subquery->whereIn('class', $variantClass);
            });
        }
    }

Or something along those lines because that is actually a filter?

That would work well if I wished to filter the items based on whether or not they had the corresponding class. In my case, I wish not to filter the item, but filter the records in included relationship only.
eg. Scenario A) get all items, and includeimage.variants and filter image.variants with class = 1
Scenario B) get record items with id = 2 and includeimage.variants and filter image.variants with class = 1
In summary: Scenario A currently works with the $query->with() example I have above, but Scenario B for some reason does not. Perhaps Scenario A's success was an unintended side effect here.
No worries. Perhaps this is not how filtering was intended to be implemented in this library as the json spec is agnostic about the filtering strategies.

It's possible I don't fully understand your use-case, but my tip would be that if you want to filter a relationship, you should use a relationship endpoint.
I.e. something along the lines of GET /api/items/1/image-variants?filter[class]=foo will give you the image-variants that belong to item 1 but only have the class foo.

Actually the relationship endpoint is what you want to use.
When you use GET /api/items/1?filter[foo]=bar you are filtering the item number 1, not the included resources. So you're saying: give me item number 1 if it's foo field equals bar.
When you use GET /api/items/1/image-variants?filter[baz]=bat you're filtering the image variants, not the item. So you're saying: me the the image variants that belong to item 1, only if their baz field equals bat.

That nicely clears up the difference on the endpoints filtering intents.
In regards to clarifying my use case, when requesting items, we are also using include to pull down 8 or more other model types in a single request that may require filtering. Ideally, we'd like to avoid having to make an additional 4-5 network requests to pull down those relations individually with their corresponding filters.
As filtering implementation spec is agnostic, I may have wrongly assumed we could dictate whatever filtering methods we wanted inside the filter method because the filter function simply just matches a series of if statements to trigger corresponding query builders.
eg. GET /api/items/1?filter[foo]=bar to filter as you've described,
and for my use-case here's an idea for a clearer semantic: GET /api/items/1?include=images,translations,comments&filter[includes][images][size]=3&filter[includes][translations][lang]=en_GB which otherwise would have to be accomplished with three network requests using relationship endpoints.
As I mentioned early, I've implemented a work around to satisfy our needs and to filter the data returned on include. It's not as elegant as being able to use the existing filter api, but it works and we can grab all the includes and filter them in a single request.
Schema:
            'variants' => [
                self::SHOW_SELF => true,
                self::SHOW_RELATED => true,
                self::SHOW_DATA => isset($includedRelationships['variants']),
                self::DATA => function () use ($resource) {
                    return $this->filterVariants($resource->variants);
                },
            ],

Which basically does this, plus does validation of filter params, rules, etc.
if (isset(request()->query()['filter']['includes']['image']['variants']['state'])) {
....validated, etc....
$filtered = $variants->filter(function ($record) use (
                $state
            ) {
                //return only records with the correct state
                if ($record->state === $state) {
                    return true;
                }
            });
            return $filtered;

You're right, as the spec says it's implementation agnostic then it's totally fine for you to be interpreting it this way!
Actually your solution is probably the way to go about it - i.e. you need to filter within the schema, as what your filter is doing is changing the data member of the relationship, rather than the top-level data member.
The neomerx/json-api package that does all the encoding does not envisage this being done, which is why you don't have access to the filters within the getRelationships method... They probably wouldn't support this because they are extremely focused on the encoding being performant, and filtering within the schema is going to be costly if you've got 10s/100s of records that you're encoding.
Glad you found a way to do it at the mo. If this comes up from other people as well then it might need to be a feature to support... The feature is basically some sort of eager loading filtering. But think I'll leave it as edge-case for the moment as this looks complicated so wouldn't want to go down that route unless there was a lot of demand for it.

Good to know! Thanks for your attention on this. Greatly helps to clarify how/why things are working the way they are.

Hello,
For what it's worth, I've found myself in a similar situation and would love to see this supported.
I have a relationship 'labels' with a 'language' attribute in the related model and when including this relationship I only need the resources in a particular language. There are multiple relationships that have to be included simultaneously in addition to 'labels' and the primary data is a collection, rather than a single model, so I cannot get the included data even in one additional call to the relationship endpoint. It could be done via 'labels' as main resource, filtering on a foreign key with 'whereIn' logic, but only so long as the collection from the original request is small in size, which in my case it might not be. Another option is a pre-filtered relationship, e.g. 'label_en' for English, but this bloats the api when translations in many languages are involved and for multiple resource types, so I think I'll use your approach. Thanks for sharing it!

I also do language filtering as well for the includes using the method above. To avoid API endpoint bloat, I send the details about language in the request headers and parse correspondingly in the filter. Makes for a very smooth developer experience.


📖 Track 'Getting Started' changes into packaging.md

Summary
This PR makes one more update to packaging.md, tracking the work done months ago now to consolidate on a single quickstart recipe.
Preview at https://mikespreitzer.github.io/kcp-edge-mc/doc-getting-started-packaging/direct/packaging/
Related issue(s)

/cc @KPRoche
/cc @nirrozenbaum
/cc @ezrasilvera
/cc @clubanderson


Can't input username from Web UI https://hostname/login

The webUI works ok after I finished up onboarding and logging out. However, when I was revisiting the UI from https://hostname/login there's no way to input the username:

Also the password doesn't work either as no username is provided to anythingllm. It was deployed to GKE with docker.

When it is showing just the password screen this means that you enabled password protection only without multi-user mode enabled. You can try to delete the docker container and reinstall it to set it up again and during the onboarding the 'Just Me' and 'No' for password protection. This will make your instance not protected at all and then later if you wish to enable either of the protection settings you can do so in the security settings of AnythingLLM.


provide better error when key not found

Last piece before the release
Fix https://github.com/projectatomic/skopeo/issues/268
Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

LGTM

I'll tag a new release shortly. Stay tuned.


User input malformed

Hello,
After HA update, since 2021.11.3 (or maybe earlier), when I try modify Garbage Collection integration, I can't save it, because of the "User input malformed".  I know, that in another integration (HomeKit) people have same problem (https://community.home-assistant.io/t/homekit-error-user-input-malformed/353390/2).
What's wrong?

Have a good day!

I did test the integration on version core-2021.11.4 and it works fine, no such error. I checked existing integrations and created new one - both worked.


Add open-ended rake dependency

In order to address [#57] I have added an open-ended Rake dependency to this gem. Currently when building in environments such as Ubuntu or Alpine linux with applications such as Sinatra (that do not require rake) any gem including Rainbow will cause bundler to fail.
We may want to look at what version of Rake you really require. But in the meantime, a dependency on Rake should be added to the gemspec ASAP

Hey @mattrayner. I'll be releasing rainbow v3.0 very soon, which doesn't have this problem (it doesn't have native ext, doesn't require rake).
We're discussing it here: https://github.com/sickill/rainbow/pull/46#issuecomment-293338766

Thanks! Releasing 2.2.2 with this patch right now.

Thanks Marcin Kulik :-)
On Fri, 21 Apr 2017 at 14:00 Marcin Kulik<EMAIL_ADDRESS>wrote:

Thanks! Releasing 2.2.2 with this patch right now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sickill/rainbow/pull/58#issuecomment-296183995, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADVzNlVLc6jtmZplMT9SkcfaCcerO-sZks5ryKhagaJpZM4M4sYg
.

Any update on when rainbow 3.x will be released?

@ioquatix Could you use gem "rainbow", github: "sickill/rainbow"` in your Gemfile, and check if all is good? I haven't had time to test this and unfortunately also haven't heard from people whether current master version solves all the rake/installation problems.

It fixes it for me 👍🏻
On Wed, 11 Oct 2017 at 08:14 Marcin Kulik<EMAIL_ADDRESS>wrote:

@ioquatix https://github.com/ioquatix Could you use gem "rainbow",
github:"sickill/rainbow"` in your Gemfile, and check if all is good? I
haven't had time to test this and unfortunately also haven't heard from
people whether current master version solves all the rake/installation
problems.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sickill/rainbow/pull/58#issuecomment-335707432, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADVzNgN7rgLh02h05lzklEa-V2XOs43Lks5srGrpgaJpZM4M4sYg
.

Can you release this as 2.3?

@ioquatix we'll just release 3.0, which is pretty much ready. See #72.

Any update on this?


Detect errors / return code in gcc compilation

actonc uses C as an intermediate representation. That means after we've done compiling an .act program to C we run gcc to compile C to a binary and then include than in a library file that we can finally link together to form a program.
Some Acton programs do not currently compile correctly. They are valid Acton syntax, so they will pass the first compilation step but gcc will barf and return some error. However, actonc doesn't honor that return code and continues anyway.
Here's an example application that fails in that way:
actor Thing():
    def foo():
        return 1

actor main(env):
    var thingies = [Thing()]

    for thing in thingies:
        bar = thing.foo()
        if 1 > 0:
            break

    env.exit(0)

kll@ThinkYoga:~/terastream/acton/test$ ../actonc --root main for-break.act
/home/kll/terastream/acton/modules/test/for-break.c: In function ‘test$_$for_45_break$$l$6c$5cont’:
/home/kll/terastream/acton/modules/test/for-break.c:190:9: error: break statement not within loop or switch
  190 |         break;
      |         ^~~~~
/usr/bin/ld: /tmp/cc5uOMTi.o: in function `$ROOTINIT':
/home/kll/terastream/acton/modules/test/for-break.root.c:3: undefined reference to `test$_$for_45_break$$__init__'
/usr/bin/ld: /tmp/cc5uOMTi.o: in function `$ROOT':
/home/kll/terastream/acton/modules/test/for-break.root.c:6: undefined reference to `test$_$for_45_break$$main$new'
collect2: error: ld returned 1 exit status
kll@ThinkYoga:~/terastream/acton/test$ echo $?
0
kll@ThinkYoga:~/terastream/acton/test$

The resulting behavior can give quite subtle errors. When developing acton programs and iterating on the code, I can first have a working program, let's say the above program first looked like this:
actor Thing():
    def foo():
        return 1

actor main(env):
    var thingies = [Thing()]

    for thing in thingies:
        bar = thing.foo()

    print("Hello")
    env.exit(0)

(i.e. no break statement nested under a condition)
This works correctly:
kll@ThinkYoga:~/terastream/acton/test$ ../actonc --root main foo.act && ./foo
Hello

Now let's add back the break:
actor Thing():
    def foo():
        return 1

actor main(env):
    var thingies = [Thing()]

    for thing in thingies:
        bar = thing.foo()

    print("Hello")
    env.exit(0)

recompiling & running yields:
kll@ThinkYoga:~/terastream/acton/test$ ../actonc --root main foo.act && ./foo
/home/kll/terastream/acton/modules/test/foo.c: In function ‘test$foo$$l$5c$7cont’:
/home/kll/terastream/acton/modules/test/foo.c:127:9: error: break statement not within loop or switch
  127 |         break;
      |         ^~~~~
Hello
kll@ThinkYoga:~/terastream/acton/test$

that is, the compilation fail... and correctly does not output the foo binary nor the library in libActon but as we get return code 0 we happily continue to run.

When gcc fails, it means actonc generated broken C. That's a compiler error. I would like to encourage the user seeing this to open an issue here on Github so we can fix things! I'd like to call these Internal Compiler Error (ICE (borrowed from rust which uses the same term))...


Add the ability to create custom report variants

Motivation

it is necessary to generate reports for classes located in the same project and related to the JVM target and several specific android build variants
it is necessary to generate merged reports on classes from different subprojects of the same build, while some of these subprojects contain JVM classes, other classes from different Android build variants
reports should be generated for classes in such combinations that must be defined by the user himself

Terminology
Report variant - named set of sources and tests grouped by certain conditions: JVM target, Android build variant, their commbination, etc.). It is acceptable to generate reports for each variant.
Solution
A special DSL will be added to create custom report variant that can be filled with classes from JVM target, Android build variants and other custom variants:
// configure report variants (creating custom variants and exports it)
koverVariants {
    // create custom reports variant
    create("customVariantName") {
        // add android or custom report variants
        add("jvm", "apiRelease", "appRelease", "libRelease")

        // flexibly add android variants
        addAndroid(buildType = "release", "api", "app", "lib") // for Android build variants `apiRelease`, `appRelease`, `libRelease`
        // also
        addAndroid(buildType = "release", "*") // for Android build variants `release`, `apiRelease`, `appRelease`, `libRelease`
    }
}

Implemented in 0.8.0-Beta.
This is not a production ready release, the plugin DSL is experimental and can be changed after receiving feedback.


Incompatible with Lilu user patches

Because we hook cs_validate_range as well as Lilu (when user patches are used), this would cause issues including the order of the hooks and when one plugin decides to remove the hooks.
An ideal solution would be to detect if Lilu is available, make sure to always load after Lilu, and then patch using Lilu when detected.

Lilu has been updated to support multiple hooks on a function. We should be compatible with Lilu again if we make use of it.
https://github.com/acidanthera/bugtracker/issues/390

Reopening to support new Lilu api which would remove dependency on load order.

Since Lilu was updated to support multiple patches and since we are moving to OC, VirtualSMC, and already depend on AppleALC, the arguments to not depend on Lilu no longer has much weight. The next release will simplify the codebase and re-introduce Lilu as a dependency.

@osy86 perhaps it is reasonable to merge this kext into WhateverGreen? It is not the first time for us to have userspace patches for GPU support there as we already have Shiki and CDF code there.

The patch doesn’t apply to anything other than VegaM so I don’t want to pollute WG codebase with the hacky way that I’m patching user code. Maybe it would make more sense if the patch applies for any other cards.

Right, this makes sense to me.


Build Web App with Gradio

Hi, for lesson https://github.com/microsoft/ML-For-Beginners/tree/main/3-Web-App
Is there any interest in adding Gradio as part of the lesson, Gradio is a fast way to demo machine learning models with a friendly web interface so that anyone can use it, anywhere and can be hosted for free on Huggingface Spaces
for example for a text generation model a few lines of code
import gradio as gr

description = "Story generation with GPT-2"
title = "Generate your own story"
examples = [["Adventurer is approached by a mysterious stranger in the tavern for a new quest."]]

interface = gr.Interface.load("huggingface/pranavpsv/gpt2-genre-story-generator",
            description=description,
            examples=examples
)

interface.launch()

will display this interface

more info here: https://huggingface.co/blog/gradio-spaces
I can help with adding Gradio to the lesson, thanks

Hi, this is a very interesting project, but it doesn't align with this particular curriculum's focus, which is classic ML. I appreciate your reaching out however.


PlainText reader can't handle integer data in column 0

Describe the bug
See #19167
The attached csv data file has a first column of id. It was originally integer data (e.g. no .0 after each entry in that column). However, VisIt's PlainText reader barfs on reading that. Well, I guess it reads it but then cannot plot what it read. Seems like a bug. If I add the .0 to all the entries in that column, it reads it fine and I can plot was is there.
It may be that it can't handle integer data anywhere. This example just manifested the issue in column 0.
foo.csv

Hi @markcmiller86. I tried to reproduce this in 3.4.1 and on the 3.4RC branch and I could not.
These are the file open options I used:

And then here is foo.csv with integer data in the first column:
id,x_pos,y_pos,z_pos,x_vel,y_vel,z_vel,x_acc,y_acc,z_acc,mass,time
1,1.0,0.0,0.0,0.0,0.5,0.0,0.0,0.0,0.0,1.0,0.0
2,-1.0,0.0,0.0,0.0,-0.5,0.0,0.0,0.0,0.0,1.0,0.0
3,0.0,1.0,0.0,0.5,0.0,0.0,0.0,0.0,0.0,1.0,0.0
4,0.0,-1.0,0.0,-0.5,0.0,0.0,0.0,0.0,0.0,1.0,0.0
5,0.0,0.0,1.0,0.0,0.0,0.5,0.0,0.0,0.0,1.0,0.0
6,0.0,0.0,-1.0,0.0,0.0,-0.5,0.0,0.0,0.0,1.0,0.0
7,1.0,1.0,1.0,0.0,0.0,0.0,0.1,0.1,0.1,1.0,0.0
8,-1.0,-1.0,-1.0,0.0,0.0,0.0,-0.1,-0.1,-0.1,1.0,0.0
9,1.0,-1.0,1.0,0.0,0.0,0.0,-0.1,0.1,-0.1,1.0,0.0
10,-1.0,1.0,-1.0,0.0,0.0,0.0,0.1,-0.1,0.1,1.0,0.0

Were you trying to use the default options to open the file? How did the issue manifest itself?

Just following up @markcmiller86

@JustinPrivitera I agree it appears to be working ok in 3.4RC. It fails in 3.3. And, it appears in the associated discussion that that is what I was using top test.

Can I close this ticket then?

No longer an issue; perhaps was fixed in #19864


MN-662: fix TestMigrationDaemonTransferDeposit

- What I did
I have moved genesis.go from the main package to the genesisstate package.
I have imported constant from genesisstate package and use it to split the logic of the test. Depend on the constant the test should behave differently.
- How to verify it
run make test_func
Note:
If the approach is good enough, I should fix other "*TransferDeposit" tests from the fund_test.go using this way.

Codecov Report

Merging #52 into master will increase coverage by 0.59%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #52      +/-   ##
==========================================
+ Coverage   15.30%   15.90%   +0.59%
==========================================
  Files           7        7
  Lines        1006     1006
==========================================
+ Hits          154      160       +6
+ Misses        844      833      -11
- Partials        8       13       +5

Impacted Files
Coverage Δ

...et/application/builtin/contract/deposit/deposit.go
2.64% <0.00%> (+2.64%)
:arrow_up:

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 8bb7d23...50405e3. Read the comment docs.


Increase the Content Store cache time

5 minutes reduces the failures by a lot, but there are still more
failed requests than I'd like.
Upping this to 30 minutes should avoid even more failures, and manual
cache clearing can be done if changes need to be made quickly.

Might this become a source of tickets about delayed updates? I wonder whether it would be better to focus on finding the underlying problem, as it does seem to be effecting all of the apps.

Smart Answers is a bit of a special case, as there isn't a corresponding publishing app. The changes to the content in the content store are made infrequently by developers, and then deployed as code changes before the content store is updated.


add Bounded Range privacy measure

Adding support for Bounded Range.
TODOs:

proofs
tests

Closing in favor of #2214, so that the branch is in-repo/CI will run/I can push


Feature Request: sync pragma conditional blocks

I like being able to keep things between my Mac and Windows separated using the sync pragma, but it would be even better if we could do something like:
// @sync if os=windows
"editor.fontFamily": "Fira Code Retina",
"terminal.integrated.fontFamily": "Consolas"
// @sync endIf

Or // @syncIf and // @end like this other settings sync extension: https://github.com/jacobdufault/vscode-sync

@protium-dev can assist us on this :)

@daisy-develops
If your scenario is limited to os related settings. Look here: https://github.com/shanalikhan/code-settings-sync/wiki/Sync-Pragmas#per-os
Let me know if it helps,

@shanalikhan Hi!  It's just my immediate use case because I haven't configured for hosts, however, the example for host still illustrates the limitation:
// settings.json on "home" computer running Linux

{
  // @sync host=home os=linux
  "window.zoomLevel": "1",
  // @sync host=work os=windows
  // "window.zoomLevel": "0",
}

// settings.json on "work" computer running Windows

{
  // @sync host=home os=linux
  // "window.zoomLevel": "1",
  // @sync host=work os=windows
  "window.zoomLevel": "0",
}

I can only have one setting per @sync pragma.  What if I had another setting that I wanted to be different between the two?
{
  @sync host=home os=linux
  "window.zoomLevel": "1",
  "some.other.setting": "some special value for linux@home", // this is going to go to everything that syncs these settings
  @sync host=work os=windows
  "window.zoomLevel": "0",
  "some.other.setting": "some special value for windows@work", // this is going to go to everything and possibly override the other one (bad news for linux@home)
}

This is what has prompted me to make the feature request:
	// @sync os=mac
	// "editor.fontFamily": "FiraCode-Retina",
	// @sync os=windows
	"editor.fontFamily": "Fira Code Retina",
	// @sync os=windows
	"terminal.integrated.fontFamily": "Consolas",

Fira Code Retina looks terrible in my terminal, so I need to set it back to the one I like.  It would be really convenient to be able to specify more than one setting per pragma.

This is what has prompted me to make the feature request:

@daisy-develops so you are saying that without host // @sync os=mac doesn't simply work?
Have you tried it?
If it doesnt work with simple // @sync os=mac then it should be taken as a bug. Let me know about your findings.


STL Containers?

An issue to discuss switching to STL containers for 2.x.
From the project description, we are aiming to be (emphasis added)

Productive: Do not reinvent the wheel. Engine should reduce development time

Switching to the STL means that users have to reinvent the wheel slightly less when looking for code snippets on the internet. But it is also a significant break in compatibility with existing code, as our containers use CamelCase methods, while the STL uses snake_case.

Some questions to start off:

Yes or No to switching for 2.x?
Which containers (e.g. do we include String)?
Which STL (the STL, EASTL, etc.)?
Backwards compatibility: Is there anything to aid the user in the transition?
What about where the STL is less convenient? E.g. Vector::Contains

I'm worried about stability. This could bring a whole new set of bugs that would be hard to find since the userbase is not that big.


Fix coveralls

Coveralls failed to run because it was only being installed in the Tox virtual environments.
The problem with this fix is that coveralls fails to run locally. Not the end of the world as it means nothing but it will confuse users running tests locally.
I tried to do coveralls || true but that doesn't work as it's not executed in a shell.
CC @sdague

Woop woop, figured it out. Looks like the coverage always gets generated in the {toxinidir} so coveralls just had to be installed to get this to work.

Probably still worth having it only run on successful runs remote?

I was about to write a whole story here how I prefer to also report coverage when tests fail because otherwise people will first fix linting and then get new errors. But I realize now that since we have 4 different builds, the lint build will not impact the reporting of test coverage anymore :+1: I'll put up a PR to fix it.


Add ozone W126

#124
SE example files updated. README is also updated by adding a brief description of w126. Please check if that is correct.

@angehung5   do you think it's ok to leave values over ocean as zeros? Or should I replace with nans?  How does the other canopy variable treat this?

@angehung5 Also, even though I haven't added the canopy-app code changes to read in W126, does your changes here work ok in testing both default NC and TXT examples with the new data there?

@MaggieMarvin It should be ok to leave oceans as zeros. I will change them to zeros anyway since nans may break the code, unless you want to put other values (e.g. -999).
@drnimbusrain Yes, it should work. I just add a new variable to the files, nothing else changes.

Good point Zach,  can you check Maggie and Wei-Ting
On Mon, Jul 8, 2024, 2:10 PM Zachary Moon @.***> wrote:

@.**** commented on this pull request.
In input/point_file_20220630.sfcf023.txt
https://github.com/noaa-oar-arl/canopy-app/pull/137#discussion_r1669070435
:

@@ -1,2 +1,2 @@
-lat,lon,ch,ugrd10m,vgrd10m,clu,lai,vtype,canfrac,fricv,csz,sfcr,mol,frp,href,sotyp,pressfc,dswrf,shtfl,tmpsfc,tmp2m,spfh2m,hpbl,prate_ave,soilw1,soilw2,soilw3,soilw4,wilt
-34.03,272.11,20.8692,-0.7485,0.3286,0.5214,3.7059,4,0.2966,0.1107,0.0416,0.8260,12.2366,0.0000,10.00,3,99731.6094,10.1607,-9.8159,292.9766,293.2202,0.0146,14.0288,0.0001,0.2591,0.2053,0.2134,0.2132,0.0470
+lat,lon,ch,ugrd10m,vgrd10m,clu,lai,vtype,canfrac,fricv,csz,sfcr,mol,frp,href,sotyp,pressfc,dswrf,shtfl,tmpsfc,tmp2m,spfh2m,hpbl,prate_ave,soilw1,soilw2,soilw3,soilw4,wilt,ozone_w126
+34.03,272.11,20.8692,-0.7485,0.3286,0.5214,3.7059,4,0.2966,0.1107,0.0416,0.8260,12.2366,0.0000,10.00,3,99731.6094,10.1607,-9.8159,292.9766,293.2202,0.0146,14.0288,0.0001,0.2591,0.2053,0.2134,0.2132,0.0470,85

Is it always rounded to the closest integer?
—
Reply to this email directly, view it on GitHub
https://github.com/noaa-oar-arl/canopy-app/pull/137#pullrequestreview-2164032575,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGLFYNUWL5J3ETCSJQQIJ23ZLLIZVAVCNFSM6AAAAABKRFKQQ2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDCNRUGAZTENJXGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

According to EPA's definition (https://www.epa.gov/sites/default/files/2015-09/documents/w126_steps_to_calculate_revised_feb19.pdf), W126 could be floating numbers but they all integers in the file /groups/NA22OAR/pcampbe8/gfsv16_ozone_w126/gfsv16_ozone_w126_042021-042024.nc.
@MaggieMarvin Could you double check? Thanks!

Thanks Wei-Ting! In the very last step the guidance is to round to the nearest whole number so that's what I've done here

Great Maggie!  Does TXT test case also still work fine?
On Mon, Jul 8, 2024, 2:37 PM Maggie Marvin @.***> wrote:

Thanks Wei-Ting! In the very last step the guidance is to round to the
nearest whole number so that's what I've done here
—
Reply to this email directly, view it on GitHub
https://github.com/noaa-oar-arl/canopy-app/pull/137#issuecomment-2214912071,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGLFYNUPB5IXLAKW5SFTAWLZLLL7XAVCNFSM6AAAAABKRFKQQ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJUHEYTEMBXGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes! For both gridded and point test cases

@angehung5 @MaggieMarvin I merged, but seeing some strange values in the SE example files:


Does not recognize GitHub Enterprise internal actions

First of all thank you so much for the awesome work!!!
What happened?
When using in GitHub enterprise the actions from our organization are not recognized, although GitHub Enterprise is successfully integrated into IntelliJ (Create new projects via VC works fine). When I checked the logs I could see that github itself was contacted, but not the Enterprise server. So it seems that this is currently not supported :(. As far as I am aware the structure of defining the usage of an action is still: {org}/{repo}/{action}@{ref} . Even if it is an enterprise action. There seems to be no prefix to indicate that it is an internal action.
How can we reproduce the issue?
Steps to reproduce the behavior:
This is difficult to describe. The GitHub config in IntelliJ uses an Enterprise integration and token and you need an action, which is specified in the workflow just by GitHub Enterprise org and repo.
Relevant log output
com.github.yunabraska.githubworkflow.helper.GitHubWorkflowHelper - Download [https://raw.githubusercontent.com// ...
But as said the action does not exist in GitHub itself.
Operating System
OSX
Plugin Version
3.2.1
IDE Name and Version
IntelliJ IDEA 2023.3.2 (Ultimate Edition)
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

@holomekc thank you for your kind words. And also thank you for reporting this behavior. 🙃
I am currently refactoring a lot and the GitHub integration is my next step. Just as an idea... Since I have no enterprise account to test with, maybe you can tell me the different call I need to make and how to tell if an action is enterprise.

Hi @YunaBraska,
Thx for the quick answer. I am afraid you cannot really see it. The pattern is always:
{owner}/{repo}@{ref}
See<EMAIL_ADDRESS>So there is no difference. In my initial question I wrote nonsense... so it might look like this:
actions/checkout@v4
Or
top/secret@v1
So there is no indicator. I guess what you could do, is to check if an Enterprise GitHub account is registered in the Settings of IntelliJ and then try to resolve the action first via GitHub Enterprise and then GitHub.
This is really a little bit annoying and probably not efficient, but I see no other way. I checked the logs during job setup and I can see something like this:
https://api.github.com/repos/Azure/setup-kubectl/tarball/{hash}
Or
https://{ghe-host}/api/v3/repos/actions/checkout/tarball/{hash}
As you can see we have the second action "cashed" in our org.
The logs do not say which approach it uses to decide which server to contact though.

Hi @YunaBraska ,
top = owner
secret = repository
that is all info you have actually. At least from the workflow file.
If I find the time I can check the IntelliJ Settings api. My only idea was to check the settings for multiple GitHub entries and then prio GHE > GH.
Br,
Chris

Hello @holomekc
I myself use an organization account that is integrated into Intellij.
I can fetch the referenced internal actions successfully.
Is there an error log when trying to fetch your organization internal actions ?

No error. I just see in the logs that the plugin tries to contact github.com. As far as I could see it the plugin has the github.com urls hardcoded.

The Plugin has hardcoded GitHub.com URLs. @holomekc is using cache/self-hosted actions as far as I understand.
If this is true, I would need to get to know somehow the URL http://some-url.com/top/secret.
So I currently try to find how to get this URL.
Via Postman, I even fail to list the organisations of a user, but I only get an empty array back.
The user itself doesn't seem to have a flag called "enterprise"

Hi @YunaBraska,
I did some tests. I checked out your code and changed the hardcoded section first with the urls of our enterprise server. After some adjustments it worked fine. There is one thing I noticed:

action.yml is hardcoded as part of the download url, and action is not properly recognized, if the action uses action.yaml instead of action.yml
whitespaces are used in the url. Maybe you can skip this? Not sure if this is worth it though. I was just entering a whitespace and deleted it, to trigger the action download.
It seems you are caching the action even, if the url is not resolved properly. I am not 100% sure, but I manually removed some actions from cache during debugging, because of the yml, yaml topic.

I noticed that you handle the download in the FileDownloader class. As it seems you already stream the configured GitHub accounts. I think here you could do some tricks to figure out that there is an enterprise server:
account.getServer().isGithubDotCom() returns false in this case. Maybe sort them like this then. So GHE > GH. This would also solve the cached action topic.
Furthermore, account.getSever().getHost() provides you ... well ... the host. Nevertheless, this is not the raw content you want to access. In our case it would be enough to add raw. as a prefix. I tried to find something related to that structure in the GitHub enterprise documentation, but so far no luck. So I am not 100% sure if the format is always:
raw.<host>
Maybe as an idea, you could think about moving the decision of using the github.com url also to the FileDownloader, when you have the accounts available. Then you can decide, which host to use. You need to recognize, when the raw endpoint should be used though. Sadly for GitHub.com the raw url is different to the host, so this would require some special handling.
Additionally, it is a little bit annoying, that you would need to do 2 requests per server due to the yml, yaml topic, but I noticed, that you check for yaml as well in other cases, so I think this should be included as well.
Does this help already, or do you need further information?
Br,
Chris

Hi Chris, thanks for your awesome research.
action.yml: you are right, it makes sense to check for yaml and yml
whitespaces: you are right, the resolve action is still in an early phase and need more handling.
cache: Everything gets registered in the cache, but there is a cleaned up afterwards. I use the cache to synchronise the actions and their user settings between multiple projects and files. Everything unresolved without a user setting will be cleaned up later.
account.getServer().isGithubDotCom() and then get the URL from account.getSever().getHost() sounds promising... My only concern is, that I can't test these things.
Project Status:

Currently I got a bit demotivated as the JetBrains SDK makes everything very complex and not easy to maintain. Also, it seems that IntelliJ Ultimate 2024 will get GitHub action support. I have no idea how rich that will be and how my plugin behaves when my plugin does the same as the default IDE. There are many questions.
Recruiting: I am the only active programmer of this Plugin. Are you interested in joining? @holomekc

Hi @YunaBraska,
thanks for the quick answer. I am happy that it helps.
Regarding recruiting. Normally my answer would be yes, but I am working too much already. I should do more for myself, I just work from morning till evening. But this is a different story. What I can do for sure is to help test some stuff. Or do some adjustments. I am not sure. The topic regarding Jetbrains and GitHub action support is questionable. I dont want to stress you with a topic, which is then solved by Jetbrains. I saw, that you wrote at the EAP page. I could not find any details regarding this feature yet. I searched here.
Br,
Chris

JB has a ticket here: https://youtrack.jetbrains.com/issue/IDEA-345340/Improve-Github-Actions-development-UX-in-IDE
I also have other projects ongoing. Unfortunately, this project is my weakest one as it is really time-consuming. Even I can answer you quickly, don't expect big or fast implementations ;) But your research is really powerful, I will have a look into it.

Due to significant changes introduced by JetBrains, my plugin now faces numerous disruptions. After dedicating substantial effort to this project last year, I find myself needing assistance to move forward. If you're interested in contributing or know someone who might be, please feel free to get involved. I am available to provide guidance through the intricacies of the plugin.


Require no interface name on relation when eager hydration is enabled

Coverage remained the same at 100.0% when pulling 9c7c3797030462a99f30726e833462d61619adb9 on DASPRiD:bugfix/require-no-interface-for-eagerly-hydrated-relations into aa0ca6f6806315d0eab39e13e9710c98fef17b90 on soliantconsulting:develop.


DHHS - EHDI (Early Hearing Detection & Intervention)

Benefit
Help create a relationship with health
Acceptance Criteria

[ ] Rebuild app and offload to health

Notes
Current app is https://www.arcgis.com/apps/webappviewer/index.html?id=4ce9cfa252174e9aa978715781710bbc&extent=-13068564.3245%2C4324825.2069%2C-11648670.0871%2C5319118.0709%2C102100
Risks

App needs migration

Issue Reference
refs #

Had a meeting 9/18/24 with DHHS and specifically the EHDI team. We discussed their desire to purchase GIS software and start maintaining the app themselves as they do not have the money to start paying us to upgrade and maintain the app in ExB after creating the existing app as a freebee. We discussed with them that DHHS has a AGOL license and they are looking into utilizing that. My hope is to hand off to them the work that has been done and assist them in migrating it to their AGOL.


dereference of a null pointer

In function void optimize(xpath_allocator* alloc) I get these warnings:
src/pugixml.cpp:9904:5: Access to field '_type' results in a dereference of a null pointer (loaded from field '_right')
src/pugixml.cpp:9939:39: Access to field '_type' results in a dereference of a null pointer (loaded from field '_right')
src/pugixml.cpp:9952:5: Access to field '_type' results in a dereference of a null pointer (loaded from field '_left')
src/pugixml.cpp:9953:6: Access to field '_type' results in a dereference of a null pointer (loaded from field '_right')
Any hint to avoid this please?
Gerhard

Please be more specific.
What version of pugixml are you using?
What compiler generates these warnings? (I'm assuming this is clang's static analysis, but what's the compiler version?)

This patch works with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.4.0
No issues anymore. Thank you.
Gerhard


A11y_VSCodespaceBenchmark_Extension_VisualStudioCodespace_ColorContrast : The "ms-vsonline.vsonline" text has color contrast ratio less than 4.5:1.

"Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier."
Environment Details:
Application Name: VS Codespace
Application Version: 1.48.0-insider
Commit: 0a7364f00514c46c9caceece15e1f82f82e3712f
Date: 2020-07-22T05:43:52.797Z
Electron: 9.1.0
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.6.0
Operating System: MAC 10.15.6
Screen Reader: Voiceover
standard Violated: WCAG 1.4.3
Repro Steps:

Open VS Code insider
Navigate till "Extension" button and search for the "Visual Studio Online"
Navigate right panel till "Extension: Visual Studio Online"
Navigate to "ms-vsonline.vsonline" text and verify if the color contrast ratio is less than 4.5:1 or not.

Actual:
The "ms-vsonline.vsonline" text has color contrast ratio of 2.6:1 which is less than the standard color contrast ratio of 4.5:1 which is not appropriate as the users with low vision will have difficulty in reading the text on the screen.
Expected:
The color contrast ratio of "ms-vsonline.vsonline" text should be greater than or equal to 4.5:1.
User Impact:
If the color contrast ratio of the content present on the screen is less than 4.5:1 then the users with low vision will have difficulty in reading the data on the screen.
Attachment:

Accessibility issue for extensions should be filled in the repository of the extension. Once that is done the extension author should investigate and file an issue in VS Code using proper description of our components. Thanks!

@isidorn We have already logged this bug for VS Codespace and they have redirected us to log an external bug for VS Code. So we logged this bug here.


Render geom diff on web

Also added geom to the admin.Only show truncated because full text is shown in content also.

Task linked: QF-2644 Changes web map wrongly shows 'Geometry not modified'

The problem is that in migration 0058 the trigger is dropped under the name of a emial constraint. So the trigger is not available on the db. We need to somehow properly reapply it in a most consistent manner.

Renamed title to what is really does

ok, I see now what happened. The migration in 0058 needs a fix:
diff --git a/docker-app/qfieldcloud/core/migrations/0058_auto_20220914_2049.py b/docker-app/qfieldcloud/core/migrations/0058_auto_20220914_2049.py
index 62fa4c3e..dc495205 100644
@@ -103,7 +103,7 @@ class Migration(migrations.Migration):
         ),
         migrate_sql.operations.ReverseAlterSQL(
             name="core_user_email_partial_uniq",
-            sql="\n            DROP TRIGGER IF EXISTS core_delta_geom_insert_trigger ON core_delta\n        ",
+            sql="\n            DROP TRIGGER IF EXISTS core_user_email_partial_uniq ON core_delta\n        ",
             reverse_sql="\n            CREATE UNIQUE INDEX IF NOT EXISTS core_user_email_partial_uniq ON core_user (email)\n            WHERE type = 1 AND email IS NOT NULL AND email != ''\n        ",
         ),
         migrate_sql.operations.AlterSQL(


Update weave-network-policy.md -- fixing typo.

Fix typo.

It's not a typo - po is the abbreviation for pods.
I would accept an argument that pods is easier to read and hardly any more difficult to type in.
get pod seems wrong to me when requesting a list, although it appears to work.  Do you have any reference to back up its validity?

Apologising for that, I didn't know that it was intended. I did not know that it was an abbreviation.
Still, po for me is harder to read. As an abbreviation there should be at least notes specifying that it is possible to use the shorter alternative. Doing either of modification (add po as a comment or change from po in command to pods while adding the comment to specify the shortcut) would be great. This change would improve the visibility and clarity of the docs.

@bboreham What do you think ?

If you are willing to update this to be get pods I am willing to approve this. I agree with @bboreham

Updated to get pods and added note on abbreviation.

@natebwangsut thanks for the update!
/lgtm

In the interest of clarity, I think it's best to remove the note about the abbreviation. Otherwise LGTM.

/lgtm
/approve

Thanks @natebwangsut! ✨


Refactor winit_runner to make custom runners more usable

What problem does this solve or what need does it fill?
App runners control the main loop of Bevy apps.
Unfortunately, winit also needs to control the main loop of the app, and thus integrating Bevy with winit requires the use of  a specialized winit_runner.
This code is entirely monolithic, which makes it very challenging to reuse windowing functionality while using a specialized runner.
What solution would you like?
Refactor the contents of winit_runner and winit_runner_with (which frankly just looks like it shouldn't exist at this point).
The code feels like it can be split up into three parts:

A default framework for converting winit WindowEvents into Bevy data.
Small, useful public functions that handle the conversion of specific window event types.
Looping control.

What alternative(s) have you considered?
I've seen users copy-paste the code into their own runner, and make their tweaks there. This is not great, because it means any improvements or fixes we make aren't incorporated upstream.
Additional context
Discussed in the context of #4530, which will require a serious refactor anyways.

winit_runner_with is necessary to run on another thread than the main thread as you need to pass in EventLoop::new_any_thread() in that case. It is also necessary to force a specific window api like X11 or Wayland.

Useful context, thanks. We should really document that in the comments.

After a day of trying to get bevy_winit to work with #4531, i keep getting stuck with borrow checker issues because of the usage of app.world everywhere in the Event::WindowEvent match statement


SibilantTutorial Export.csv - content query

I've just successfully completed the Sibilants tutorial  :-) (using google chrome on Windows)
When I opened up the SibilantsTutorial Export.csv, I found that the column 'utterance_label' is entirely empty, and 'syllable_stress' is mainly empty.  Is this right for this corpus?

Right, utterance label is not generally useful (it's constructed from the sound file and the beginning and end of the utterance).  I'll look into why it's empty, since that construction should happen every time the label is requested, but bottom line you can get the info from it in separate columns which is probably more useful.
For the syllable stress, there's a known issue still open (https://github.com/mlml/unisyn_spade/issues/5) where the file generated has the incorrect number of syllables for many words, which leads to empty labels as there's a requirement of having the correct number of syllables to use it for encoding stress.

Ok, I've updated the tutorials to not reference utterance label, and syllable stress has been addressed by new csvs, closing this.


Update deployments-rolling example to work with Ubuntu 20.04 and Node.js 12.x

Similar to #124

Seems to be a firewall issue though?  After the playbook runs I can ping, but cannot run the curl loop.

Seems to be a firewall issue though?  After the playbook runs I can ping, but cannot run the curl loop.

Reran it again this morning to try and troubleshoot and it worked on one VM, the first, and not the other 3?  Weird since the VM's are supposedly cloned.

Reran it again this morning to try and troubleshoot and it worked on one VM, the first, and not the other 3?  Weird since the VM's are supposedly cloned.

I'll go ahead and close my ticket.  After running vagrant reload on the machines that keep timing out while confirming the connection, it works fine.  Very odd still.

I'll go ahead and close my ticket.  After running vagrant reload on the machines that keep timing out while confirming the connection, it works fine.  Very odd still.

The tests will still fail, and it'll throw a firewall issue.  Running vagrant reload will still result in an error if tested, tested manually via vagrant ssh, but the curl loop will work.

The tests will still fail, and it'll throw a firewall issue.  Running vagrant reload will still result in an error if tested, tested manually via vagrant ssh, but the curl loop will work.

Figured out that in my inventory file I added an unnecessary root directory to the location of my key.
Odd that it would still work on some, and not others.  Really odd that it worked after running vagrant reload.

Figured out that in my inventory file I added an unnecessary root directory to the location of my key.
Odd that it would still work on some, and not others.  Really odd that it worked after running vagrant reload.


Dol Guldur quests and quest functions

Need to finish off the lower level and get quests in place and update the redstone for the hidden area.  Also need to finish off the few NPC's down there to either just have regular conversations or function as part of a quest line.

The build itself is done, just needs the pieces from the eastern quest line now.

Going to close out build, quests involved being handled in separate issue


DOC: integrate: odeint user functions must not modify y.

Closes gh-16170.
[docs only]

Thank you @WarrenWeckesser, @mdhaber!

Ah thanks; I was waiting for CI to finish. Rendered docs look good.


Added scaling to ContainersOnAppServiceLab

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


Accidental rewrite

Hi!  Um, have a version 2?  :grin:
Changes include

Full rewrite
Promises!
JSDoc headers
Easily tested code (probably) (no unit tests included...sorry)

This should have roughly the same feature set as before, but if I forgot anything feel free to let me know and I'll bring it back.

Great PR, thanks! 👍
I added automatic markdown generation from the jsdocs. Also did some linting with xo.
As I'm lazy and still not into promises (and have no pain with callbacks) a question: do you see a possibility to make the methods work with promises and callbacks? So i could remove the v1.0 hint from the readme. :)

Um.  Yes, any method that returns a promise could check to see if the last argument is a function and attach it to a promise chain.  This could also be done with a helper to reduce code duplication

motivated to work on that? :-)

Probably could.  I'm not sure when I'll set back down to work on LIRC-related things, but I'll do it then :+1:


[admin] merge to live

updates to Save to PDF OM files for PowerPoint, Word, Excel
add link to road map
add link to blog

Docs Build status updates of commit 4ce825e:
:warning: Validation status: warnings

File
Status
Preview URL
Details

api/PowerPoint.Presentation.ExportAsFixedFormat.md
:warning:Warning
View
Details

api/Excel.Workbook.ExportAsFixedFormat.md
:white_check_mark:Succeeded
View

api/PowerPoint.presentation.exportasfixedformat2.md
:white_check_mark:Succeeded
View

api/Word.Document.ExportAsFixedFormat.md
:white_check_mark:Succeeded
View

api/Word.Document.ExportAsFixedFormat2.md
:white_check_mark:Succeeded
View

api/PowerPoint.Presentation.ExportAsFixedFormat.md

Line 10, Column 10: [Warning: ms-date-invalid - See documentation] Invalid date format for 'ms.date': '07/27/22'. Must be a date in format M/D/YYYY, no more than 30 days from today.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Adding Starling Index to Knowhere

My development team is trying to add the Starling index to Knowhere. I understand that the process of adding indices is briefly outlined on the Milvus Deep Dive page (linked here), but I was wondering if more detailed instructions could be provided on how to modify the Knowhere code? Assistance would be greatly appreciated.

/assign @PwzXxm

My development team is trying to add the Starling index to Knowhere. I understand that the process of adding indices is briefly outlined on the Milvus Deep Dive page (linked here), but I was wondering if more detailed instructions could be provided on how to modify the Knowhere code? Assistance would be greatly appreciated.

@PwzXxm is the author of Starling, he can help on this

Hi there, thanks for your interest on contributing to Knowhere. May I ask what is the initiative for adding Starling to Knowhere so I can assist u better? Are you planning to add it to Milvus as well?
For adding index to Knowhere alone, you might take a look at this example adding SCANN https://github.com/zilliztech/knowhere/pull/1/files
Another feasible proposal might be not adding a new index type to Knowhere, but adding parameters to DiskANN Index.

Thanks for the information! We will definitely look into those.
Our team was experimenting with different vector indices and found Starling. Since Starling was created by Milvus engineers, we felt it would be appropriate to integrate it into Milvus and run experiments in terms of performance, accuracy, and stability.
Quick follow-up question: Once an index is added to Knowhere, what does the larger process for registering it in Milvus look like? Is there an analogous pull request like this? Thanks!

Our team was experimenting with different vector indices and found Starling. Since Starling was created by Milvus engineers, we felt it would be appropriate to integrate it into Milvus and run experiments in terms of performance, accuracy, and stability.

I was wondering what is the use-case and I assume u have already checked out other in-memory indices or DiskANN?

Quick follow-up question: Once an index is added to Knowhere, what does the larger process for registering it in Milvus look like? Is there an analogous pull request like this? Thanks!
Registering it in Milvus is not a heavy load.
https://github.com/milvus-io/milvus/pull/26099
https://github.com/milvus-io/milvus/pull/27268
These PRs are quite old, the param checks are moving into knowhere BTW.

Hi @PwzXxm, I'm also a part of the team that @aawang1999 is in.
The use-case would be for a high-performance index at large levels of scale, the goal being to leverage both the capability of Starling, which has much faster performance to DiskANN due to its optimizations, as well as disk-based scalability.  Some questions from looking into the different code repositories:

Are there any large differences between the DiskANN implementation on Knowhere versus the Github repo's version of DiskANN?  I know the latter has support for in-house filtering as well as streaming support through https://harsha-simhadri.org/pubs/Filtered-DiskANN23.pdf and https://arxiv.org/pdf/2105.09613 respectively - I saw code for these aspects in Starling and was wondering if there are any issues to concern with the implementation in Knowhere - to my knowledge, Milvus will accumulate points in an open segment and then build an index once on a sealed segment, then closing it, but I want to make sure if there's anything I am missing.
Are there any other 'environmental' differences I should be concerned about between the setups that DiskANN and Starling work in in which they operate over the whole database as opposed to Milvus, in which each segment has its own index for knowing what implementation constraints to meet?

Are there any large differences between the DiskANN implementation on Knowhere versus the Github repo's version of DiskANN? I know the latter has support for in-house filtering as well as streaming support through https://harsha-simhadri.org/pubs/Filtered-DiskANN23.pdf and https://arxiv.org/pdf/2105.09613 respectively - I saw code for these aspects in Starling and was wondering if there are any issues to concern with the implementation in Knowhere - to my knowledge, Milvus will accumulate points in an open segment and then build an index once on a sealed segment, then closing it, but I want to make sure if there's anything I am missing.
Filtering is approached differently in Milvus, compared to Filtered-DiskANN. In Milvus, the filter condition is evaluated before KNN search, so in Knowhere, the DiskANN only sees a bitset stating which element is valid or not. As for Fresh-DiskANN, it has some overlaps on our growing/sealed segments design, so we haven't update the DiskANN in Knowhere for a while.

Are there any other 'environmental' differences I should be concerned about between the setups that DiskANN and Starling work in in which they operate over the whole database as opposed to Milvus, in which each segment has its own index for knowing what implementation constraints to meet?
Indices operate on segment-level and I think it would be fine. Keep in mind that the offset/id on the segment level needs to be preserved, so if you relayout them via Starling, mappings are needed to return the corrected IDs to Milvus.

Thank you so much for your input!  One question for the DiskANN index creation process on Knowhere; I'm somewhat confused as to the distinction between the Build() process and the Deserialize() process: to my understanding, Build() normally takes a dataset as input, for which it creates a (usually in-memory) index and can serialize to disk/object storage, which it can then deserialize from to load into memory.  However, since DiskANN is already disk-based, doesn't Build() already accomplish the purpose of deserialization/loading, since it's configured to read the requisite files from disk to create the index anyways?  I'm a bit confused as to the difference between the loadings between the two methods, though I assume that it's that after Build() completes, the index structure can clear its in-memory structures, whereas Deserialize() implies it must hold onto those in-memory structures for search?  Since Starling has the in-memory graph, I assume that would be loaded in Deserialize()

Indices operate on segment-level and I think it would be fine. Keep in mind that the offset/id on the segment level needs to be preserved, so if you relayout them via Starling, mappings are needed to return the corrected IDs to Milvus.

Are you referring to anything in addition to the id-page and page-id mappings that Starling does?  Going through the code it seems that when loading the graph partition data these mappings are loaded and then used for page search; is this sufficient, or is there anything in addition one needs to do for the Milvus/Knowhere environment?

Thank you so much for your input! One question for the DiskANN index creation process on Knowhere; I'm somewhat confused as to the distinction between the Build() process and the Deserialize() process: to my understanding, Build() normally takes a dataset as input, for which it creates a (usually in-memory) index and can serialize to disk/object storage, which it can then deserialize from to load into memory. However, since DiskANN is already disk-based, doesn't Build() already accomplish the purpose of deserialization/loading, since it's configured to read the requisite files from disk to create the index anyways? I'm a bit confused as to the difference between the loadings between the two methods, though I assume that it's that after Build() completes, the index structure can clear its in-memory structures, whereas Deserialize() implies it must hold onto those in-memory structures for search? Since Starling has the in-memory graph, I assume that would be loaded in Deserialize()

The Build() and Deserialize() may be triggered on different physical machines, on IndexNode and QueryNode if you are familiar with Milvus terms by any chance. The built index files needs to transfer to another node and call Deserialize() so that it is ready to serve queries. It only puts PQ and cache in memory, the others remains on disk.
Yes, the loading of the In-Memory Graph would be in Deserialize().

Indices operate on segment-level and I think it would be fine. Keep in mind that the offset/id on the segment level needs to be preserved, so if you relayout them via Starling, mappings are needed to return the corrected IDs to Milvus.

Are you referring to anything in addition to the id-page and page-id mappings that Starling does? Going through the code it seems that when loading the graph partition data these mappings are loaded and then used for page search; is this sufficient, or is there anything in addition one needs to do for the Milvus/Knowhere environment?

Yes, it should have already been taken care of.


incorect default @prisma/client generate path when using pnpm@7 and monorepo

Bug description
✔ Generated Prisma Client (3.13.0 | library) to ./../../../node_modules/.pnpm/@prisma+client@3.13.0_prisma@3.13.0/node_modules/@prisma/client in 601ms

How to reproduce
make a monorepo of pnpm, in a sub project run prisma generate
Expected behavior
in the project's node_module
Prisma information

Environment & setup

OS:
Database:
Node.js version:

Prisma Version

3.13.0

Hey, this is definitely expected and correct since we respect pnpm's symlinks, which is integral to get @prisma/client working with pnpm. You can change pnpm's own behavior by creating an .npmrc file and change the node-linker:
node-linker=pnp

https://pnpm.io/npmrc#node-linker


How would a forwardf work?

I'm attempting to create a forwardf extension to scope so that I can pass along an id to a sub resource.
let subResource projectId = scope {
  get "/" getAllItems projectId
  getf "/%i" getItem projectId
}

let project = scope {
  get "/" allProjects
  getf "/%i" getProject
  forwardf "%i/items" subResource
}

that snippet probably explains it best on what I'm trying do.
I'm happy to create a pr and work on this but I'm not 100% sure how to go about this.

TBF, I'm not entirely sure why it's not implemented... Probably I've hit some problems with type system (scope implementation is bit hacky). But anyway, from top of my head, it should be fairly similar to other format function implementations in Router.fs  - using addRouteF helper function.

I'm not sure if I 100% agree with @gerardtoconnor about this :D

Im no phoenix / Saturn expert so dont mind me!

Oh, that has nothing really to do Phoenix nor Saturn... I think

My statement still stands, don't mind me ;)

Anyway, I believe that I've accidentally implemented fowardf adding some stuff to controller today - https://github.com/SaturnFramework/Saturn/blob/master/src/Saturn/Controller.fs#L68

well...., I think I'll still give it a shot at the scope level anyway :) .

Well looks like subroutef now exists, I'll wait until it's released and base my attempt around that.

Implemented in 756a3abc6f545844ea13c9b060903e5d654b05ff

Thanks for doing this, I was getting no where with it.


BUG: Dynamic import with concatenation generates invalid javascript

TypeScript Version:  2.4.2 / nightly (2.5.0-dev.201xxxxx)
Code
Dynamic import with concatenation generates invalid code.
If you have in typescript this code
import('./dynamicFolder/dynamic').then(all => console.log(all));

it will generate this javascript
import('./dynamicFolder/dynamic').then(function (all) { return console.log(all); });

but if you make it more dynamic by doing this
const dyn = "dynamic";
import(`./dynamicFolder/${dyn}`).then(all => console.log(all));

it will generate this javascript
(import)("./dynamicFolder/" + dyn).then(function (all) { return console.log(all); });

see https://github.com/webpack/webpack/issues/5568
Here is reproduction so you can see it.
https://github.com/kukjevov/dynamic-import
Any suggestions?
// A *self-contained* demonstration of the problem follows...
// Test this by running `tsc` on the command-line, rather than through another build tool such as Gulp, Webpack, etc.

Expected behavior:
It should generate same import statement, because now it cant be used with webpack.
Actual behavior:

Duplicate of #16763, should be fixed by #17025 (v2.5).

Ok looks same :)


ecdsatest.c is missing handling of negative ECDSA_size

Improper use of negative value found by Coverity.
In test/ecdsatest.c:
static int test_builtin(int n)
{
...
size_t sig_len; // type should be an int
negative_return_fn: Function ECDSA_size(eckey) returns a negative number. [show details]
19. var_assign: Assigning: unsigned variable sig_len = ECDSA_size.
sig_len = ECDSA_size(eckey);
// Once the type is fixed above, add this test to handle negative or zero sig_len:
if (!TEST_int_gt(sig_len, 0))
goto err;
...
20. negative_returns: sig_len is passed to a parameter that cannot be negative. [show details]
if (!TEST_ptr(sig = OPENSSL_malloc(sig_len))

Can some one walk me through on how to check in the fix. I seem to have fixed the code, but when I create a pull request. I get an error that reads 'hold: cla required'. I have already submitted the CLA agreement the to<EMAIL_ADDRESS>Thanks

I get an error that reads 'hold: cla required'. I have already submitted the CLA agreement the to<EMAIL_ADDRESS>
Should be sorted now.

After commits on master (88b4c61) and 1.1.1 (f9f2e60) Coverity should not indicate this error anymore.

That does not mean a test for it as above from @coolshrid cannot be accepted.

@coolshrid feel free to submit a PR with the test.