Release 0.4.45

@JuliaRegistrator register(branch=release)

Registration pull request created: JuliaRegistries/General/18817
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.4.45 -m "<description of version>" 6bdf19d82d89a25153b3a4677f2cc76a97f067f6
git push origin v0.4.45


@rest directive

@rest directive should disable db generation and leave empty implementation.

Leaving as a good first issue for the community.
CC @MStokluska

@rest and @disablegen directives should have the same behaviour.
disablegen is needed because sometimes we want to have type
that is being used only for relational purposes and this will mean that
we will need to put all possible directives on it to disable it.
For rest we will keep this behavior temporarily - we can add some extra parameter later and improve generation.

I don't know how to link this to the PR for this issue but here is the (merged) PR:
https://github.com/aerogear/graphback/pull/214

We might need discussion how restful ones can work. Making empty resolvers would not justify existence of REST. Lets leave it for the moment and see what community will expect from rest first


truncate_objects is not longer an array.

truncate_objects is no longer an array and seems to be causing issue for us.
I think this is related to the removal of the default in #32 .

EG. https://github.com/silverstripe/silverstripe-populate/pull/32/files#diff-93dc79eb6bab3a17b4ea782351fd413f3b01e654949378c6b8dd974acdbc26ecR81 Foreach expects to iterate but doesn't get an iterable.

It's not an array because it's undefined unless you set a value in your app.yml. Ran into the same issue myself. If you don't want to truncate anything you can set an empty array in app.yml to prevent the error.
DNADesign\Populate\Populate:
  truncate_objects: []

Thanks @davejtoews, should have moved to fix this when I discovered it!
This will make our CI a little cleaner if when we update next :)

This should be in the readme.

Is there a way to truncate only the objects created using the module?

Is there a way to truncate only the objects created using the module?

No. There's no record or a way of knowing which objects were created by this module and which existed before or after.


:bug: should use hubClient for a constant controller.

Summary
The controller resync every 1 min through the life-cycle of the registration-agent, but the bootstrapkubeconfig is expected to be a short-term thing.
Related issue(s)
Fixes #

/assign @qiujian16

assign @skeeey

/assign @skeeey
I do not remember whether we want creating cluster using hub kubeconfig (I thought it was desired) and if it has the permission to do that.

Double check the code:
https://github.com/open-cluster-management-io/ocm/blob/c4bfa0814ab3b3898f1ca0aaf7ea9a6969d02988/pkg/registration/spoke/registration/creating_controller.go#L58-L62
It seems although the controller will live, it won't function after the bootstrap stage.
Then no need to using hubClient, PR close.


Bot isn't claiming characters from namelist

It's strange that this is happening because it was working before, and while I have added characters to the name list since then as well as removing the characters which have been claimed, I haven't changed the convention to which they're listed. More specifically, the bot doesn't even recognize that something from the name list was pulled in the first place, it just gives the typical someone else rolled in channel ID response, and the characters I have on my name list have all not been claimed. Any idea as to what went wrong?

Update, it started working again when I added a couple more characters and turned it back on just to see if it would work, and then stopped working again when I did the same thing later. I feel like it has to be something with the way I'm entering in the characters, but I can't for the life of me think of how I can be entering it in wrong since it's always been in the same format and just seems to work or not arbitrarily.

It depends if you have already claimed this seems like you might not have had a claim available hence it will stop searching until the next claim cycle this is added to prevent your user from looking like to much of a bot

It depends if you have already claimed this seems like you might not have had a claim available hence it will stop searching until the next claim cycle this is added to prevent your user from looking like to much of a bot

In the instances where it happened I still had a claim, is there anything I could have done to make the bot think I had claimed when I hadn't?

It is triggered on a update_message so if a message is updated by mudae that fit the criteria then maybe but other than that I haven't heard of any false triggers
If you can recreate it then I can fix otherwise can't fix what I can't reproduce

So can't reproduce this issue can you provide screenshots of an "active" claim and a missed character , name in the settings , and a screenshot of the logs

Sorry, forgot to send the comment I typed out a couple days ago. It happens when I add a name to the name list in the middle of the list instead of adding it to the end.

And you have validated it with the json validator

So what I assume if your json is not validated then when it goes thru your list only the 1st character will be claimed as it stops when it hits the failure name
Sent from my iPhone

On Jul 18, 2022, at 3:32 PM, jodersi @.***> wrote:

nope, how do I do this?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

ok, how do I validate it? can I use any validation tool online or is there something you recommend?

also will I have to validate it every time I edit the file?

No I don't unless your very bad at json format then I would recommend it Of course

the validator says that it's valid

although it did change the format by making the list vertical instead of being in a single line

Alright so now also keep in mind that name is exact match only and take a screenshot of what I listed above
Sent from my iPhone

On Jul 18, 2022, at 3:41 PM, jodersi @.***> wrote:

the validator says that it's valid
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

I went through and checked every name, they are all exact matches even down to capitalization

And you positive your in a claim cycle and the issue is that is only take the 1st character and not the one in the middle ?
Sent from my iPhone

On Jul 18, 2022, at 4:03 PM, jodersi @.***> wrote:

I went through and checked every name, they are all exact matches even down to capitalization
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

I'm positive that I had a claim when the characters popped up, but its not that it only takes the 1st character its that it doesn't recognize that a character from the name list has been rolled when they roll

Figure out why the 1st character is being claimed it should state what triggers get triggered
Sent from my iPhone

On Jul 18, 2022, at 4:27 PM, jodersi @.***> wrote:

Last minute kak is disabled and min_kak is set higher so high that nothing will ever have a kak value high enough to be claimed by it, I only want the bot claiming specific characters
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

It's working now, maybe there was something wrong with the jsons format I didn't recognize that was fixed by the validator/formatting tool.

Maybe the curly brackets unsure but glad it is fixed

Maybe the curly brackets unsure but glad it is fixed

Ok, its been a while, but 3 months later I've realized what was wrong after a specific instance I encountered earlier today, and I went back to all the other cases of it not claiming in the past and it all lines up. I've realized that the problem that I had every time the bot failed to claim something is that the bot is refreshing the claim window an hour before the server refreshes the claim window. So our server refreshes claim every 3 hours at 3:00, 6:00, and 9:00, the bot is refreshing its claim window at 2:00, 6:00, and 8:00. This has been making it so that if I claim something in the final rolls of a claim period, the bot won't work until the last hour of the next claim period. How can I fix this so that the bot is refreshing its claim period at the same time as the server?


[Bug]: foreach() argument must be of type array|object, null given

What happened?
if I enable properties and 1 of the records has null properties I get this error
foreach() argument must be of type array|object, null given
How to reproduce the bug
go to published activity log view enable properties column if properties value is null you will get above error
Package Version
1.0.2
PHP Version
8.2.19
Laravel Version
11.10.0
Which operating systems does with happen with?
macOS
Notes
nice interface thank you

I don't understand why you are saving some null property , Wouldn't it be better to use logOnlyDirty() , logging only what was actually updated?

Hi,
only the properties column is null when there is no old log to compare to
   public function getActivitylogOptions(): LogOptions
    {
        return LogOptions::defaults()

            ->useLogName("User Logs")
            ->logExcept(['password',
             'remember_token',
             ]);
            ->logAll();
    }

and I activated properties column to see what it has as this is the first time i am using  your plugin and spatie activity log in general

Okay, thanks for your inputs

As soon as I have time I will check this part, to avoid errors if there are any null fields.
Thanks for testing the plugin

As soon as I have time I will check this part, to avoid errors if there are any null fields. Thanks for testing the plugin

That will be great, Thank you
for now during my testing I have added the default value to []
    public static function getPropertiesColumnCompoment(): Column
    {
        return ViewColumn::make('properties')
            ->label(__('activitylog::tables.columns.properties.label'))
            ->default([])
            ->view('activitylog::filament.tables.columns.activity-logs-properties')
            ->toggleable(isToggledHiddenByDefault: true);
    }


Fixed wrong styling of pipy batch in readme

Summary
Fixed wrong styling of PyPI batch in the readme
Checklist

[x] You agree with our CLA
[x] Included tests (or is not applicable).
[x] Updated documentation (or is not applicable).
[x] Used pre-commit hooks to format and lint the code.

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


Minor doc fixes

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

Thanks for your comments; another iteration is in.


Added DSA resource

added a DSA practice sheet
IMPORTANT: When creating your Pull Request, please use the following format for the title: Category - Resource Name & Section
PR Title samples:

Web development - CSS Portal & Tools
Web development - Leetcode & Challenges

Closes #10
Description:

added a useful DSA practice sheet

Resource URL:

Insert the URL of the resource you're proposing

Checklist:
Before submitting your pull request, ensure that you have completed the following tasks:

[x] I have carefully reviewed and adhered to the contributing guidelines before creating this pull request.
[x] I followed the prescribed PR title template. (Check this if you're adding a resource)

fill the bracket with x. Something like this [x]

Thank you @jfmartinz


dropbox listener

what is the dropbox listener name?
dropbox or dbx?
when I use dbx and launcher powershell
there is error:
[!] Invalid listener: dropbox
[!] Error in launcher command generation.

it's dbx. Use following path:
(Empire) > listeners
(Empire: listeners) > uselistener dbx
(Empire: listeners/dbx) > info
Now you will see options


[ENG-127] gha migration

:tada: This PR is included in version 2.0.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


AddAsync but no UpdateAsync ?

It's more a question than a bug. After reading the difference between DbSet.Add() vs DbSet.AddAsync(), i was wondering why DbSet.UpdateAsync doesn't exists, because :
Extract of the doc for DbSet.Update()

For entity types with generated keys if an entity has its primary key value set
//     then it will be tracked in the Microsoft.EntityFrameworkCore.EntityState.Modified
//     state. If the primary key value is not set then it will be tracked in the Microsoft.EntityFrameworkCore.EntityState.Added
//     state. This helps ensure new entities will be inserted, while existing entities
//     will be updated

So if a update an entity that has a the default value has the primary key, the EntityState. will be set to Added, will it cause a problem if we use the SqlServerValueGenerationStrategy.SequenceHiLo ?

@Davilink In that scenario, the database could occasionally be accessed synchronously.  A few follow-up qustions:

Are you seeing this cause functional issues in your application?
If so, have you considered using a bigger interval on the sequence to minimize the database access from Update?
Related to the previous question, what is your primary motivation for using SequenceHiLo?

To be honest, i don't have this issue at this moment, because i don't use this strategy. I was only wondering why there was not updateAsync, is it something that you forgot or it just a edge case that wasn,t not worth the effort. It was only by curiosity.

@Davilink When AddAsync was implemented it wasn't an issue, since Attach/Update would never mark an entity as Added, and therefore never accessed the database. When that change was made, we could have gone back and added AttachAsync and UpdateAsync at that time, but we didn't because, as you alluded to:

SequenceHiLo is not commonly used, and even less commonly used correctly
AddAsync (as opposed to just Add) is commonly used when it is not needed
Parallel async methods create more maintenance and increase the risk of a fix being missed in one path or the other
There are workarounds (e.g. Making sure Added entities are explicitly Added first.)
The implications of using the sync version are not very bad anyway

Ok


New Button

Add a Button to the menu bar that creates a new Presentation.

For more context, there currently is no:

Toolbar for such functions in the first place (e.g. what's in the File menu)
Dialog or startup screen when you first start
Open 2 presentations at the same time


docker app killed unexpectedly

I was running an app via a docker image opposed to a git repo and buildback, and partway through its execution it randomly died, only leaving a "killed" message in the log.
The container is being used for some basic deep learning stuff, but is rather compute and memory intensive. Originally I thought it was a memory issue, but rerunning it on a 32GB instance caused the same issue.
Running the same container on the same machine using regular docker commands completed without issue.
There isn't much info to go on since the only message is "killed". Any thoughts.
As a reference, this is the image I was running https://hub.docker.com/r/jsimnz/apartment-hunt/

@jsimnz did you try increasing the memory limit for the process (see here)?

Oh, I see, all good now. I knew you could set limits, but I didn't realize that there were default limits. Make sense though. Maybe a documentation update about that.
Thanks!

@jsimnz the docs are in GitHub if you want to take a stab at clarifying the default limits :smile:
https://github.com/flynn/flynn/blob/master/docs/content/apps.md


Missing create secret RBAC permissions in operator ClusterRole

https://github.com/Altinity/clickhouse-operator/blob/0.20.0/docs/chi-examples/21-secure-cluster-secret-01-auto.yaml doesn't work because the permissions for the operator to create a secret haven't been added: https://github.com/Altinity/clickhouse-operator/blob/release-0.20.0/deploy/operator/clickhouse-operator-install-bundle.yaml#L2718-L2722
Could probably just add secrets to the same list as the configmaps, service and pvcs: https://github.com/Altinity/clickhouse-operator/blob/release-0.20.0/deploy/operator/clickhouse-operator-install-bundle.yaml#L2596-L2599

ack. Will be fixed in 0.20.1

https://github.com/Altinity/clickhouse-operator/releases/tag/release-0.20.1


feat: add method for logging in with a username

Closes #52.

Pull Request Test Coverage Report for Build 127

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 125:
0.0%

Covered Lines:
97

Relevant Lines:
97

💛  - Coveralls


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1308

Questions ?
Please refer to the Backport tool documentation


Link URLs disappearing

I'm having an issue with links. Typing one works fine, but as soon as I hit space afterwards, the link disappears. However, in the Markdown I'm saving to localStorage, the URL becomes undefined. This may be due to my unfamiliarity/astonishing incompetence but I can't find anything that might be causing this. This seems to be a bug in the library.
When I'm typing out a link:

After hitting space:

Full source code (modeled after Spectrum's 😀): https://github.com/hackclub/site/blob/submit/src/components/workshops/Composer.js#L72

The issue here is that most draftjs-to-markdown (and vice versa) libraries expect url as the data property for links.
Your link is broken, but it looks like your project uses draftjs-md-converter:
https://github.com/kadikraman/draftjs-md-converter/blob/59d2460b8e97168bbb994aa6f395bd7ac7232e4d/src/draftjsToMd.js#L70
This plugin uses href:
https://github.com/ngs/draft-js-markdown-shortcuts-plugin/blob/fb828abd844e62e56440e277e27f7d9c7ab4a1ed/src/modifiers/insertLink.js#L22
I ran into this same issue in my personal project. There are a few options:

Fork whatever draftjs-to-markdown library you're using. This is what I did and probably the best option if you're going to be supporting more markdown than the library does (i.e checkable-list-items)
This plugin could change the href property to url (would be a breaking change)
This plugin could add url in addition to href, which might be a good idea.

Oh sorry, yeah we should support both url and href!

Wow, thank you!! @mxstbr @michaelgmcd


Canary build: Mods don't affect game. "direct" folder has no files (all empty folders)

Wondering if the direct folder is supposed to have no files. All the folders inside are empty. None of my mods are loading even though I have followed guides, set "music" and "direct" in the extra folders, and made sure direct mode is on. I have the mods I want activated and have triple checked the load order. The only change in-game I see is that it's loading the vgmstream PS1 OST.
Load order:
Satsuki's Battle Textures
NiNoStyle'sModels
Satsuki's Field Textures
New Threat
cmh175 HQ FMV Pack
cmh175 Avatars
Enhanced Stock UI
Kela51 Spell Textures
Satsuki's World Textures

I have to use Canary build because 1.56 fails to load the game with an error on the latest Windows 10, and Canary included the fix to address this issue.
EDIT: I should mention that the mods/Textures folder is also empty.
I have just tried a full uninstall (deletion of all files and registry) and reinstall, and models and textures still don't replace anything. It seems it is trying to replace things but fails to properly.

Also having this issue on my Steam Deck. FFNx screen appears, but besides that no mods are loaded.

hello
better try the versions from here
https://github.com/tsunamods-codes/7th-Heaven
is better maintained :)
thanks


Added e-commerce landing page

Hey, I have added the e-commerce landing page using HTML and CSS. Please review my PR and merge it. Thank you!
Issue no #227

Done mam :) @Vanshiii203

In readme.md file you have to explain your project, the tech stack used, and a screenshot of your project
and you have to link the issue in the comment of the PR(by using #issuenumber) and not in readme

Ab check kijiye @Vanshiii203 ji :)

Please merge my pr @TusharKesarwani

Please merge my pr @TusharKesarwani


Infection Games showing up in "Customs"

Upstream fix by Zeny. Need to fix old data.

UPDATE `games` set `playlist_id`=39 where `gamevariant_id` = 7619 AND `season_number` = 4;


Convert features and constraints to entmoot

Initial progress on converting a BoFire problem to an ENTMOOT optimisation problem.

As shown in strategies/entmoot/entmoot_example.py, the ask() method now matches the syntax for other strategies.
Is there any functionality that is missing? If not, I will add tests (especially for the converting between features/constraints), and better documentation.

Hi @jduerholt,
Thank you for the review - lots of helpful feedback!
I still haven't addressed the issue of hint typing parameters - I started looking into the surrogates, but I'm not sure I understand what function they have? I can implement the types as a simple class that inherits from BaseModel, but I'd rather use surrogates if that is the proper way to do things. As mentioned in the comments, I can't use any of the provided surrogates since they don't have the same attributes (ENTMOOT uses lbgm, and xgboost is not yet supported.
Kind regards,
Toby

For reference, here is a mock-up of what the enting_params looks like. Note that the parameters in TrainParams are defined by lgbm, and I can't find a comprehensive Type of all possible options.

from typing import Literal

class EntingParams:
    unc_params: 'UncParams'
    tree_train_parameters: 'TreeTrainParams'

class UncParams:
    beta: float = 1.96 #>0
    acq_sense: Literal["exploration", "penalty"] = "exploration"
    dist_trafo: Literal["normal", "standard"] = "normal"
    dist_metric: Literal["euclidean_squared", "l1", "l2"] = "euclidean_squared"
    cat_metric: Literal["overlap", "of", "goodall4"] = "overlap"

class TreeTrainParams:
    train_lib: Literal["lgbm"] = "lgbm"
    train_params: 'TrainParams'

class TrainParams:
    # this is determined by lightbgm
    # the typing in the package uses Dict[str, Any]
    # the defaults used by ENTMOOT are shown below
    objective: str = "regression"
    metric: str = "rmse"
    boosting: str = "gbdt"
    num_boost_round: int = 100
    max_depth: int = 3
    min_data_in_leaf: int = 1
    min_data_per_group: int = 1
    verbose: int = -1

Thanks @TobyBoyne, I was not at home over the weekend. I will have a detailed look tmr. Best, Johannes

Here is the first version of the mentioned PR: https://github.com/experimental-design/bofire/pull/283

Hi @jduerholt,
Yes, I think that all makes sense - thank you for the explanation. So to confirm, as an example, the _fit() logic should be moved to LGBMSurrogate, but the _ask() method should remain in the strategy? I'm looking through BotorchStrategy._ask() and can't find any references to the surrogate - is the surrogate not used in this method?
Also, in terms of moving forward - do I have write permissions for the feature/surrogates branch/PR? If so, should I implement the EntingSurrogates there, and if not, should I wait for that pull request to be accepted before creating the EntingSurrogates?
Kind regards,
Toby

Good point! Will work on it for Entmoot.
Am Di., 12. Sept. 2023 um 13:23 Uhr schrieb Robert Lee <
@.***>:

@.**** commented on this pull request.
In bofire/data_models/strategies/enting.py
https://github.com/experimental-design/bofire/pull/278#discussion_r1322893937
:

+)
+from bofire.data_models.features.api import (

CategoricalDescriptorInput,
CategoricalInput,
ContinuousInput,
ContinuousOutput,
DiscreteInput,
Feature,
+)
+from bofire.data_models.objectives.api import MinimizeObjective, Objective
+from bofire.data_models.strategies.strategy import Strategy

+class EntingStrategy(Strategy):

type: Literal["EntingStrategy"] = "EntingStrategy"
enting_params: Dict[str, Any] = {}

I am not a big fan of having dictionary fields that can have anything
inside, as it is somehow contraty of using a validation framework like
pydantic. Can you provide the possible parameters and its defaults and
types and validation, that can be used as fields of the data model?
This change should be made directly in entmoot @.***
https://github.com/spiralulam wanted to do it); Johannes's argument is
in general a good one and not just valid here
—
Reply to this email directly, view it on GitHub
https://github.com/experimental-design/bofire/pull/278#discussion_r1322893937,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK3L6ODLKJ6DRHFCV472C6DX2BA4NANCNFSM6AAAAAA4NGSZYI
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm looking through BotorchStrategy._ask() and can't find any references to the surrogate - is the surrogate not used in this method?

In botorch, the model is attached to the acquistion function object, for this reason we first get an acquistion function object in _ask and then use this object which has the model inside for the optimization: https://github.com/experimental-design/bofire/blob/a4ca3eb2ecf8348e5c387cbef273191c1ba54d45/bofire/strategies/predictives/botorch.py#L256 and here: https://github.com/experimental-design/bofire/blob/a4ca3eb2ecf8348e5c387cbef273191c1ba54d45/bofire/strategies/predictives/sobo.py#L60.
The self.model object is created here on the basis of the surrogates: https://github.com/experimental-design/bofire/blob/a4ca3eb2ecf8348e5c387cbef273191c1ba54d45/bofire/strategies/predictives/botorch.py#L113
In the call to compatibilize, the individual surrogates are compile in one botorch ModelList object.

So to confirm, as an example, the _fit() logic should be moved to LGBMSurrogate, but the _ask() method should remain in the strategy?

You would have it in both the surrgate and the strategy, but you can call the in the strategies _fit the _fit of the surrogate, but I am not sure if this is currently needed, as Entmoot is currently not supporting different surrogate specs for different outputs. So you could do it independly from each other for now.

Also, in terms of moving forward - do I have write permissions for the feature/surrogates branch/PR? If so, should I implement the EntingSurrogates there, and if not, should I wait for that pull request to be accepted before creating the EntingSurrogates?

I try to get the PR trough the latest tmr, but in terms of moving forward, I would recommend that you just create a new branch/PR in which you first just implement the LGBMSurrogate (including tests) as this is the first thing that is needed. In the meantime, I will then finalize my PR and you can then implement the EntingSurrogates and the EntingStrategy on top of both.
For the LGBMSurrogate, you can draw inspiration from the XGBSurrogate.
What do you think?

When we have the EntingStrategy included we will also refactor the directory strategy for the botorch based strategies into strategies/predictives/botorch/.

I would recommend that you just create a new branch/PR in which you first just implement the LGBMSurrogate (including tests) as this is the first thing that is needed

Happy to work on that! Thanks for all the reviewing and help, very much appreciated!

I've made an initial commit for the surrogate, however in order to implement the regression in #285, I need the utils in this PR - any thoughts on how I can overcome that?

I've been working on implementing changes in the Entmoot codebase. Since this was last discussed, there are a few things that have changed:

We have discussed that it is not necessary to split this into a surrogate. This PR contains a working strategy implementation, and splitting this into a strategy is potential future work.
The typing issue has been partially resolved with the addition of the EntingParams. This has been implemented in entmoot - see that repo for more information. The solver still accepts Dict[any], but that's somewhat out of our hands in that Pyomo doesn't have an extensive list of arguments.
Other changes include matching entmoot's Constraints to be similar to bofire's, and creating an interface for maximisation problems.

I will also review it ;) Totally overlooked this :D

Hi Toby, thank you very much. I will have a look the latest tmr. Best, Johannes

I think this should cover all of the requested changes - please let me know if I missed anything.
Regarding the candidates, I think my solution should address this. It is slightly clunky, in my opinion. For example, if I already have generated 9 candidates, then I want to generate a 10th, I need to retrain my model on those 9 candidates sequentially, since the batch process for ENTMOOT is sequential. I can't find a neat way to store the prediction of a candidate in the current class design, and I have to discard the model as it fits on the fantasies (https://github.com/TobyBoyne/bofire/blob/d8eb2b6daecf5bc62bbb432d47f2c551ad316f39/bofire/strategies/predictives/enting.py#L281) because otherwise, the fantasy observations will be seen as a "real experiment" which is not the case.
So my solution ends up slow if you are doing multiple sequential calls to .ask(), but I think it's the most correct. You can see this test (https://github.com/TobyBoyne/bofire/blob/d8eb2b6daecf5bc62bbb432d47f2c551ad316f39/tests/bofire/strategies/test_enting.py#L124) for what I think the desired behaviour should look like.

Hi @TobyBoyne,
I will do a proper review this evening. Thank you already!
Best,
Johannes

Two sources of issues that I've found so far:
Entmoot requires gurobipy, even if it isn't being used. This is an issue with Entmoot (https://github.com/cog-imperial/entmoot/issues/32), but I've added it to setup.py for now
pyright isn't happy with domain_to_problem_config. This is because the functions only accept a subset of the possible feature types. To me, the solution would be to make the type hinting in _bofire_feat_to_entmoot less specific. However, this undoes a change that @jduerholt recommended earlier in this PR, so I just wanted to flag it so that you are aware I'm reverting it!

I've made some progress. There are quite a few # type: ignores in enting.py which may not all be necessary, but I used to get around pyright and the above issue about the return types of output.get() and input.get().
However, I'm still getting issues with running the pipeline. On my machine, if I remove the license file, the tests that require Gurobi are skipped. However, the pipeline seems to still be attempting to run these, and then having issues. Any ideas?
(Note that pyomo.common.errors.ApplicationError: Solver (gurobi) did not exit normally error is raised when there is no license file).

Using type:ignore when using the get methods is fine. Pyright is not able to work with this dynamic behavior. Currently, I cannot start the pipeline, can you resolve the merge conflicts? They came in due to a change by Behrang ;) I will then have a look again at the pipeline and the tests.

Found the results from the latest pipeline execution here: https://github.com/TobyBoyne/bofire/actions/runs/8236200085/job/22522063543, and I also tried your catch for gurobi locally, (i just installed it via pip) without having a liscense and got this:

Any ideas?

Here it is stated that it comes with a trial liscense that can be used only for small problems: https://pypi.org/project/gurobipy/

Hi @jduerholt, I've added this in and solved merge conflicts. Looks like the tests are all passing...?
Hopefully this should be good to go! Thank you for all of the reviews! Looking forward to the next PR :)

Thanks a lot, Toby and Johannes!

@jduerholt, @TobyBoyne  Thanks to both of you for getting this through. Are we happy with the treatment of the optional entmoot dependencies now or was this more of a short-term fix and we still have some open to-dos?


🐛 BUG: ForwardableEmailMessage is missing reply from its type definition

The ForwardableEmailMessage interface is defined as follows:
interface ForwardableEmailMessage extends EmailMessage {
  readonly raw: ReadableStream<Uint8Array>;
  readonly headers: Headers;
  readonly rawSize: number;

  setReject(reason: string): void;
  forward(rcptTo: string, headers?: Headers): Promise<void>;
}

As per https://developers.cloudflare.com/email-routing/email-workers/runtime-api/#emailmessage-definition this type definition should also include a reply method: reply(message: EmailMessage): Promise<void>;, but it doesn't.
If the docs are the correct source of truth, we should update the ForwardableEmailMessage type definition to reflect that.

hi @charliez0,
can you please use our issue template to provide more details about the issue you are reporting? it is very hard for us to address any issue without a proper understanding of it.
thank you

hi @charliez0,
can you please use our issue template to provide more details about the issue you are reporting? it is very hard for us to address any issue without a proper understanding of it.
thank you

the issue template is empty, idk why
L4285:4311
declare interface ForwardableEmailMessage extends EmailMessage {
  /**
   * Stream of the email message content.
   */
  readonly raw: ReadableStream<Uint8Array>;
  /**
   * An [Headers object](https://developer.mozilla.org/en-US/docs/Web/API/Headers).
   */
  readonly headers: Headers;
  /**
   * Size of the email message content.
   */
  readonly rawSize: number;
  /**
   * Reject this email message by returning a permanent SMTP error back to the connecting client including the given reason.
   * @param reason The reject reason.
   * @returns void
   */
  setReject(reason: string): void;
  /**
   * Forward this email message to a verified destination address of the account.
   * @param rcptTo Verified destination address.
   * @param headers A [Headers object](https://developer.mozilla.org/en-US/docs/Web/API/Headers).
   * @returns A promise that resolves when the email message is forwarded.
   */
  forward(rcptTo: string, headers?: Headers): Promise<void>;
}

missing reply() attribute

@CarmenPopoviciu

any progress?

hi @charliez0,
thank you for providing the clarifying details. I understand now what the issue at hand is and have updated the GH issue title/description to reflect that.
I've assigned the issue to myself, and should have a fix PR up this week! I'll update here :)

If the docs are the correct source of truth

they are, I checked!

this fix should be out with the next workerd release, and available in workers-sdk with next week's release 🎉
thx again @charliez0 for reporting this <3


Downloading the 2010BEST dataset for thai tokenization

I'm not a Thai speaker and I couldn't find the 2010 BEST dataset for Thai tokenization benchmarking on the NECTEC site. Please help!

@mingruimingrui You can download BEST2010 dataset from nectec.or.th/corpus. (It doesn't have english languages but you can using google translate.)

Thanks! I got to the download page. But there's a problem. It appears that the download button isn't working.

Thanks! I got to the download page. But there's a problem. It appears that the download button isn't working.

You try using vpn from Thailand to download dataset.

I'll have to verify some time in the future. Unfortunately, I don't have a Thai VPN atm...

@mingruimingrui You can download BEST I from https://gist.github.com/korakot/abf6c18c71cefe7b9107689dd904751f.


Add an example of running a load generator towards on-a-stick mode

lgtm tx!

LGTM, though that's a grievous fault in loadtest.


Remove unnecessary toSpawn property on SideContentTab type

Context
To support multiple files & directories, there is a need for a file system view in the user interface. In the desktop view, this will be in the form of a sidebar on the left edge of the Source Academy that can be toggled open (much like most IDEs). Due to a lack of space in the mobile view, the file system UI will have to be a side content tab. Given the very similar purposes of the to-be-added sidebar and the existing side content tabs, I have been looking closely at the implementation of the latter so as to keep the interfaces consistent and interoperable.
One thing that stood out was the fact that the SideContentTab type has a toSpawn property of type (context: DebuggerContext) => boolean. However, all of the instances of SideContentTab in the frontend have toSpawn set to be the value () => true, which is a huge code smell.
Digging through the git history, I found that the toSpawn property was first introduced in #1352 to support the dynamic spawning of side content tabs. In #1617 however, a new ModuleSideContent type was introduced that corresponded to side content tabs from the new modules system. The process of loading dynamic module tabs is as follows:

Using the debugger context, an array of ModuleSideContent is retrieved based on the modules imported.
Then, the array of ModuleSideContent is converted into an array of SideContentTab.
Finally, the toSpawn property (which is part of both SideContentTab and ModuleSideContent) is used to filter out the module tabs based on more granular rules specified within each module.

For example, the rune module will not spawn a tab if show is not called.

Given that the side content tabs declared in the frontend are static (i.e., will always be loaded), there is no reason for SideContentTab to have the toSpawn property. We can remove the property if we swap steps 2 and 3 above since the ModuleSideContent type already has the toSpawn property and represents dynamic module tabs (which should be the only side content tabs in which the toSpawn property is necessary).
Description
Reorder the steps taken when processing the dynamic module tabs and remove the unnecessary toSpawn property on the SideContentTab type.
Also remove the unused Modules type. #2102 removed the only instance in which it was used but did not remove the type.
Part of the refactoring for #2176.
Type of change

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

How to test
Run Source programs that result in the loading of dynamic modules and verify that the behaviour is unchanged. For example, the following cases can be tested:

Run a Source program that does not load any modules.const x = 10;
x * 3;

Run a Source program that loads a module and should display a corresponding side content tab.import { show, heart } from "rune";
show(heart);

Run a Source program that loads a module but should not display a corresponding side content tab.import { show, heart } from "rune";

I've actually been looking into deprecating the entire toSpawn function. With module contexts, modules should be able to directly ask the frontend to load a tab when the corresponding module function is run instead of loading all tabs every run.
I've got some code for the frontend spun up, wondering if you have any opinions on it: https://github.com/source-academy/frontend/tree/event-tab-loading
Also tangentially related to this issue

I've actually been looking into deprecating the entire toSpawn function. With module contexts, modules should be able to directly ask the frontend to load a tab when the corresponding module function is run instead of loading all tabs every run.
I've got some code for the frontend spun up, wondering if you have any opinions on it: https://github.com/source-academy/frontend/tree/event-tab-loading
Also tangentially related to this issue

I took a look through the diff of that branch against master. Is it possible to batch the request rather than querying the modules system for every module?
Other than that, I think it makes sense for the responsibility of determining whether side content tabs should be spawned to be moved into modules rather than be handled at the frontend (i.e., step 3 as mentioned in the description of the PR should be handled in modules instead).
For now, I would like this PR to be merged first so that I can proceed with my multiple files & directories implementation.

@ianyong @leeyi45 do be prepared to resolve merge conflicts down the line depending on which of your feature branches get merged first, though, since this PR is to a feature branch and not to master.

Yes, I agree. Feature branches are fine for a short while, but in my experience the longer ones get harder and harder to merge into the main branch. We've been burnt by this before, where at some point, we almost abandoned an entire semester of work because of merge issues.

Tested the one and only toSpawn: () => false located in ContestLeaderboard. Works great!

Tested the one and only toSpawn: () => false located in ContestLeaderboard. Works great!

Thanks for testing!
I realised I didn't explicitly state it in the PR description which is my bad. Since the toSpawn property is only ever used in getDynamicTabs, the side content tabs declared in the frontend will always be displayed even if toSpawn is a nullary function that returns false. In other words, the toSpawn property only has an effect if the side content tab came from the modules system, else it is never evaluated.


Respect user defined/default sizes on upgrade

We were ignoring if the user set any values in there and just overwriting it with our calculated size
Fixes https://github.com/kairos-io/kairos/issues/2985

2024-11-05T15:01:09Z DBG Calculated size (3016Mb) is less than specified/default size (8192Mb)
2024-11-05T15:01:09Z INF Setting image size to 8192Mb


Use this project presentation templateLinks to an external site. to address the following:

Project Presentation Template - MAKE A COPY! DO NOT REQUEST EDIT ACCESS.pptx

challenged/issues we faced as a team - i am stuck on.


Error running 'main.dart': Unknown run configuration type FlutterRunConfigurationType

You can see the error  message  at the botttom left.  I am stuck coz of this from the past 4 days.
Can sombody tell me what is wrong? I had recently updated android studio

This looks like https://github.com/flutter/flutter/issues/16128.  Can you confirm the fix there works?


Update documentation on R.or and R.and

This clarifies the documentation to indicate that R.or and R.and operate just like Javascript || and &&.

:deciduous_tree: Thanks!

:herb:


Utter actions

Proposed changes:

...

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

misclick, still very much WIP

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


Import Piper.Data methods

Currently assign/3 is outside the scope in the docs

Could you please correctly indent code? You have used 1 space and by default Elixir code uses 2 spaces.

Fixed :)

Nice catch. Thanks


[Access] Warn that differing SSH usernames don't work in-browser

Also adds a hint about how to use the differing usernames, that you probably need to manually specify the Unix username on the commandline.
Closes #6849.

Any update?

Hi, the updated page can be viewed at https://developers.cloudflare.com/cloudflare-one/identity/users/short-lived-certificates/.
If you have additional feedback, feel free to open a new issue or PR.

Oops, sorry about that. And I think this feature is essential, is there any plan for it?

We don't have any immediate plans to lift the requirement for Email<>SSH Username match. We are continuing to monitor it as a feature request relative to other improvements. Apologies for the inconvenience, I know it can be a painful one.

OK, thanks for the reply, and I will keep checking this issue. 😭


Continuation: Replace KeyValuePair with Tuples #407

This is a pull request to fix merge conflicts and the failing examples from previous PR #407 by @isaacabraham. Locally the examples are now passing. I attempted to stay true to the previous approach.

The examples are passing due to the fact that each of those projects references the latest nuget package. Is the correct behaviour? I may update the references so that the HintPath points to the locally compiled version of the Adapter assembly. Any objections to that?

Current coverage is 80.36% (diff: 75.16%)

Merging #605 into master will decrease coverage by 0.15%

@@             master       #605   diff @@
==========================================
  Files            80         79     -1
  Lines          8007       8008     +1
  Methods        1334       1333     -1
  Messages          0          0
  Branches        988        991     +3
==========================================
- Hits           6448       6436    -12
- Misses         1193       1204    +11
- Partials        366        368     +2

Powered by Codecov. Last update 88f76af...66fc512

Sweet!

@skaarthik : are you happy to merge, as is? I have brought up the patch coverage to just under the target. Since this PR doesn't add functionality, the failing path coverage issue is due to existing coverage problems and not untested new functionality.

@skaarthik can you update on this?

@isaacabraham It is in my to-do list. Will review the changes in the next few days.

Changes look good to me.
@xiongrenyi @tawan0109 @danielli90 this PR changes Mobius public API and apps built using prior versions need to make minor tweak to compile if they depend on the API that is updated in this PR. Any comments?

According to the practice of Spark release, incompatible changes to public API only happen in a major version release. If we follow the same practice here, we might don't want to merge this PR to prior versions.

@tawan0109 that's correct. We will not port the changes in this PR to 1.* versions.

@skaarthik : Is this change acceptable to be merged in master and branch-2.0 then?

@dwnichols - yes, I will merge it to master and 2.0 branch.

@skaarthik : great! thank you. let me know if you run into any issues.


MapController and MapData should have a way to query whether they have been disposed.

See related issue: https://github.com/streetcomplete/StreetComplete/issues/2879
Depending on an app's architecture, it might not be practical to release all references to MapController and MapData objects when the MapView is destroyed. For instance, an app might update MapData contents from a background thread.
To safeguard against accessing a disposed object in those cases, we can add a boolean property to these classes that would let the app choose how to proceed if the object it references is disposed.

I also have another idea. Just to recap:

it is good that tangram-es crashes when a MapController is accessed when its MapView as already been destroyed because it is easy to find the (memory leak) issue then
thus, a "safe call" should be done by the user explicitly

How can such a safe call look? Currently, it would be
try {
  mapController?.doSomething()
} catch(e: Exception) {}

If the suggestion in this ticket is implemented, it would look like
if (mapController?.isAlive == true) {
  mapController?.doSomething()
}

There is a general issue though with this. Imagine the above code is executed not on the main thread. Then, it is at least theoretically possible that in between the first and the second call, the map view is destroyed.

So, here is another suggestion:
I understand that MapController is a field of MapView and when MapView is destroyed as part of the Fragments or Activitys lifecycle, supposedly the only reference to MapController is removed. If that is the case, then simply calling
  mapController?.doSomething()

is already safe. In other words, if MapController is wrapped in a WeakReference by the user, it's safe. Is this assumption correct? Then, the Android example(s) could just be adapted and done.

No experience with Tangram, but it's general Java wisdom that the memory model is very clear in that, without synchronized, the JVM is allowed to transform the code, as long as it produces the same observable results as when it's run on a single thread. This includes inlining (if (... != null) inlined as true), instruction reordering, threads not seeing updates from each other (not syncing their local cached copies of the heap).
So the general wisdom is that all access (no exceptions) to shared resources must always go inside synchronized and that the only correct pattern is
(thread 1)
synchronized(lock) {
    a = null;
}

(thread 2)
synchronized(lock) {
    if (a != null)
        a.something();
}

Does Kotlin a?.something() guarantee that it includes the synchronized?


Fix error messages upon failure to connect to window systems.

Change-Id: I650958a8b2607eb3402eb6531909881d4a2ccc0f

Author cdotstout not on autobuild list. Waiting for curator authorization before starting CI build.

CI Vulkan-Tools build queued with queue ID 13671.

CI Vulkan-Tools build # 584 running.

CI Vulkan-Tools build # 584 passed.


add TARGET support for HiSilicon tsv110 CPUs

HiSilicon tsv110 was independently designed by Huawei based on ARMv8 architecture license and applied to Huawei Kunpeng 920 server. It significantly improves processor performance by optimizing branch prediction algorithms, increasing the number of execution units, and improving the memory subsystem architecture and so on. The  compilation based on TSV110 requires gcc9.0 support, otherwise the compiler will report an error.

there is (quite new) ./cpuid_arm64.c and ./drivers/other/dynamic.c , first is for build time detection 2nd to make DYNAMIC_ARCH=1 package work on your target too.

Also if I google right it should be march=armv8.4-a as from linux kernel patches adding support for this CPU (but there should be fallback for few years old compilers that distributions use)

Also if I google right it should be march=armv8.4-a as from linux kernel patches adding support for this CPU (but there should be fallback for few years old compilers that distributions use

TSV110 implements all the required features of arm v8.2, but only partially supports the features of armv8.4

You know better for sure.

there is (quite new) ./cpuid_arm64.c and ./drivers/other/dynamic.c , first is for build time detection 2nd to make DYNAMIC_ARCH=1 package work on your target too.

Sorry, I didn't pay attention to this feature, I will add it later.

According to the gcc aarch64-cores.def, the relevant data for autodetection would appear to be implementer = 0x48, cpu_part = 0xd01

According to the gcc aarch64-cores.def, the relevant data for autodetection would appear to be implementer = 0x48, cpu_part = 0xd01

Yes, you are right

This modified version of cpuid_arm64.c should take care of the compile-time autodetection then:
cpuid_arm64.txt


SQLServerException: Cannot insert the value NULL into column 'name'" when calling DatabaseMetaData.getImportedKeys

Driver version or jar name
6.4.0 (bisection reveals bug introduced in 6.3.3)
SQL Server version
Microsoft SQL Server 2016 (SP1-GDR) (KB4019089) - 13.0.4206.0 (X64)
Developer Edition (64-bit) on Windows 10 Enterprise 6.3  (Build 15063: ) (Hypervisor)
Client operating system
Windows 10
Java/JVM version
1.8.0_112
Table schema
WideWorldImporters/Application/Cities in the WideWorldImporters example shipped with SQL Server.
Problem description
"SQLServerException: Cannot insert the value NULL into column 'name'" when calling DatabaseMetaData.getImportedKeys("WideWorldImporters", "Application", "Cities")
Expected behavior and actual behavior
The call to getImportedKeys should not throw an exception.
Repro code
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.junit.Test;

public class MSSQLJDBCBugExhibit {
  @Test
  public void testImportedKeysCannotInsertNullBug() throws SQLException {
    Connection conn =
        DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=tempdb", "duser", "dpass");
    DatabaseMetaData meta = conn.getMetaData();
    System.out.println(meta.getDriverVersion());
    try (ResultSet rs = meta.getImportedKeys("WideWorldImporters", "Application", "Cities")) {
    }
    /* Output is:

<IP_ADDRESS>
com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert the value NULL into column 'name', table 'tempdb.dbo.#foreign_keys_combined_resultsd402f1e3-3f8f-4af6-9a03-6d31bf5c2b04__________________________________________________000000001BC6'; column does not allow nulls. INSERT fails.
	at com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData.getResultSetForForeignKeyInformation(SQLServerDatabaseMetaData.java:1003)
	at com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData.getImportedKeys(SQLServerDatabaseMetaData.java:875)
	at com.ultorg.evaluator.MSSQLJDBCBugExhibit.testImportedKeysCannotInsertNullBug(MSSQLJDBCBugExhibit.java:17)
    */
  }
}

The problem appears to happen when getImportedKeys is called for a table with foreign keys in a database different from that specified in the original connection JDBC URL.
In the above case, in SQLServerDatabaseMetaData.getResultSetForForeignKeyInformation, sys.foreign_keys returns zero rows (because it only includes tables in the current database?) while the fkeys_results table has at least one row (one for each foreign key). The outer RIGHT JOIN between the two tables then causes nulls to appear in the name, delete_referential_action_desc, and update_referential_action_desc columns. When these null values are inserted into foreign_keys_combined_results, the error occurs.

Hi @eirikbakke, I was able to to reproduce the issue you described with the 6.4.0 driver, but it seems the changes I made to resolve #665 does not have this issue. Do you mind testing with the new changes and see if it resolves the problems.
Jars for testing.zip

Yes, I can confirm the JAR you sent works. Thanks for your attention!

#677 has now been merged. Closing the issue.


adds var matrix assignment

Submission Checklist

[x] Run unit tests: ./runTests.py src/test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary
This adds assign() specializations for var<matrix> types. Everything is pretty cool beans besides a few things

The only file with new functions is lvalue_varmat.hpp. The normal lvalue.hpp file has only been changed in templates, docs, and a little helper function for reusing the current assign() methods for var<matrix> types. So there's only about 500 lines of meaningful code additions here while the rest is for testing. The file lvalue_varmat.hpp only holds specializations for when the index type is a uni_index or multi_index since those ones require special fiddling.

assign(var<mat>, multi_index, var<mat>) is terribly expensive. Since we don't have any guarantees that each item in a multi index assignment won't be assigned to more than once we need to do a de-duping of the multi-index to make sure only the last item from the assigned from matrix associated with a particular index in the multi-index is used. This is rough because it makes assignment O(n^2). For example the following is legal stan code

vector[3] A = {1, 2, 3};
vector[6] B = {1, 2, 3, 4, 5, 6};
A[{1, 1, 2, 2, 3, 3}] = B;

In normal stan code a Matrix<var, -1, 1> is going to just loop over that duplicated multi_index and only the values of B associated with the last duplicate index will actually be used (in the case above that's cells 1, 3, 5 for B).

None of these assign() functions handle assign(var<mat>, index, MatrixXd);. I think we should do that in a separate PR

Intended Effect
Support assignment of var<matrix> types in the stan compiler's generated C++
How to Verify
Tests' have been added for all the same cases we currently tests for the standard assign() and can be run with
./runTests.py src/test/unit/model/indexing/lvalue_varmat_test.cpp

Side Effects
Documentation
Docs updated for each overload
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Steve Bronder
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

@t4c1 I managed to cut the size of the tests in about half by writing some extra utilities. I was also able to remove the specializations for min_max_index with another little utility function so there's just specializations for multi_index and uni_index stuff

Closing this to open up smaller ones

Shoot I closed the wrong pr

I think for assignment to a var<matrix> from a matrix<double> we should do it in a seperate PR. @t4c1 there's a few ways I can think of doing it

Specializations for each assign()
convert the double matrix with to_var_value() then do the assign
An operator= or something like it for var<mat> that takes in an Eigen matrix of doubles and then does value rewind thing. We could also have a method ilke a.update_vals(b) so that we don't accidentally do the value rewind when someone uses operator=

If you have any other schemes I'm def open to them!

I think 2. will be slow compared to other options. I don't understand what do you gain by doing 3., so my vote is for 1.

I think once we get rvalue in we can use rvalue to test all the combinations against assign. If I wrote some test suite to test all these combinations that's in effect what I would be doing anyway

The code now looks ok. I don't like the idea of testing this just by comparing with rvalue, although that would be better than nothing. Unless you also intend to test all possible rvalue signatures in some other way?

The main thing for me is that I don't really know how to meaningfully write a test suite to test all of these combinations that won't end up just being the equivalent of rewriting assign or rvalue. I think what I'd like to do is use rvalue to test assign and assign to test rvalue. Then at least if we can guarantee a level of consistency between the two

How about my suggestion in https://github.com/stan-dev/stan/pull/2977#discussion_r533234711 to compare all indices with multi index? Do you think that is unfeasable for some reason?

It's not that it's unfeasable it's that I think it would take me a lot of time and I'm not seeing what the benefit of 100% path coverage is here. These tests do have 100% code coverage for assign() (I just added all the bounds and range checks to the tests) so I'm having a hard time seeing how full path coverage is going to find a new bug. You said in a previous comment you would be worried about someone writing a new specialization that is not tested here, but for that PR why wouldn't we just have the person write a new test?
Maybe I'm missing something here? Can you think of an example path we don't test right now that would fail? If there is one then I'd be pretty easily convinced that we do need 100% path coverage

(also ignore the comment in that commit that's for assign())

Can you think of an example path we don't test right now that would fail?

Yes. Lets say you forgot to handle and test a certain obscure combination of index types. There are too many for me and probably for anyone to keep all in their head. A month after release someone uses it in model and gets a 10MB error from gcc about not finding correct overload.

Alright I'll have to eat my shoe here and apologize for being obstinate. I thought I'd have to do some crazy tuple thing to do all of these but I managed to get something up that's pretty clean by just checking against multi-index. The only thing is that it doesn't handle repeated multi-indices like {1, 2, 2, 3} because that changes the adjoints of the input to 0 in one row or col. We have specific tests for that in other places so I think that's fine

Ty! @syclik are my permissions not able to let me merge to the stan repo? @t4c1 would you mind clicking the merge button on this?


Set diff=rust for *.rs in .gitattributes

This slightly improves the diffs shown by git commands.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.242%

Totals

Change from base Build<PHONE_NUMBER>6:
0.0%

Covered Lines:
19670

Relevant Lines:
23630

💛  - Coveralls


/proc/net/tcp

@abhiyerra Thanks! I just noticed that nobody looked at this PR yet.
@brian-brazil you were always against reading /proc/net/tcp from the node exporter because of O(n^2) behavior, right?

It's on my review list.
procfs is a package independent of node_exporter. Any procfs support is welcome.

Makes sense. Thank you @grobie :)

It's already implemented in the node exporter, but disabled by default. It's not in general safe to use this file due to poor performance when you have thousands of connections.

Hello, it appears these PRs have grown very stale.  Closing for now due to lack of activity, but feel free to re-open if you're able to pick them back up.

Are there alternatives here? I'd like to see this(or something similar) in the package.
I tested reading /proc/net/tcp and it was pretty fast. sub 200ms to read the file on a host with 16k open connections. That seems good enough for me.
I can start a new PR based on this one, or if there is a different way of doing this, let me know and I can take a shot at it.

200ms is quite slow. But that's not really a big deal, we can still provide parsing support for this data in the library. There are other use cases for parsing this file and we ant this procfs library to be useful outside of just node_exporter.
@hubt If you want to open a new PR, please go ahead.


Allow using Eval to run Lime tools.

Similar to #1614, but using a different target. This version leaves Neko as the default, but adds Eval as an option. To enable, pass -eval as an argument.
Pros:

Eval fixes several of Neko's quirks. For instance, it should resolve #1307.
There's no need to run lime rebuild tools after each change.

Cons:

There's a ~2 second pause every time Eval starts up.
CFFI is disabled, which might make some features not work. (But do the tools really use audio and fonts and so on?)
If someone was already using the -eval flag for their own purposes, this will shadow that. Seems unlikely, given that the usual convention is to use two dashes for any flag longer than a letter.

@AdamHarte Give this one a try, see if it fixes your issue.


joplin 2.3.5 will not build because of a new python 2 dependency

As of release 2.3.3 and now 2.3.5. All builds began failing for me. :(
The first change was I had to npm install npm on most versions of the various OSes because they mostly all default to v6. Alas, the filelockVersion in package-lock.json changed (because the format of the file changed with v7). OK. No big deal, but I have no idea if the follow-on issue(s) is(are) related.
I get this error ... and I am unsure why except that maybe a dependency on python 2 somehow creeped back in?
lerna notice cli v3.22.1
lerna info versioning independent
lerna info Bootstrapping 15 packages
lerna info Installing external dependencies
lerna ERR! npm install exited 1 in '@joplin/tools'
lerna ERR! npm install stderr:
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated<EMAIL_ADDRESS>Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm WARN deprecated<EMAIL_ADDRESS>This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm ERR! code 1
npm ERR! path /builddir/build/BUILD/joplin-2.3/joplin-2.3.5/packages/tools/node_modules/sharp
npm ERR! command failed
npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)
npm ERR! info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.9.1/libvips-8.9.1-linux-x64.tar.gz
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| linux | x64
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: /usr/bin/python3 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack   File "<string>", line 1
npm ERR! gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack                       ^
npm ERR! gyp ERR! stack SyntaxError: invalid syntax
npm ERR! gyp ERR! stack
npm ERR! gyp ERR! stack     at ChildProcess.exithandler (child_process.js:319:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (events.js:376:20)
npm ERR! gyp ERR! stack     at maybeClose (internal/child_process.js:1055:16)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
npm ERR! gyp ERR! System Linux 5.11.18-300.fc34.x86_64
npm ERR! gyp ERR! command "/usr/bin/node" "/builddir/build/BUILD/joplin-2.3/joplin-2.3.5/packages/tools/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /builddir/build/BUILD/joplin-2.3/joplin-2.3.5/packages/tools/node_modules/sharp
npm ERR! gyp ERR! node -v v14.17.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok

I was forced to build using upstream binaries which is a no-no, of course. But ... we needed a functional Joplin. I will continue to troubleshoot the issue so that we can return to normal builds from source.

https://github.com/lovell/sharp/issues/2730
Apparently you need a more recent node-gyp?

Well, I do a ...
npm install npm@latest
npm install node-gyp@latest

I will continue to troubleshoot.

Closing this. I repackage upstream binaries for the time being. Have been for a couple releases now. That may change at some future date, but for now, that is what I am doing.


Waves (physics)

This pull request adds forces to the USV (usv or wam-v) to simulate the interaction with waves. Note that this patch doesn't add the visual aspect of the waves.
All the wave logic lives in the new Wavefield class. This class should be used in the following way:

You instantiate a Wavefield object, and call Load() passing the SDF. The class will parse the <wavefield> SDF element, store all the parameters, and internally generate the wavefield.
When needed, you can call ComputeDepthSimply() or ComputeDepthDirectly() to return the height of the wave at a particular location and time.

In our case, the Surface plugin is the one using the wave functionality.
Feel free to launch the usv or the wam-v normally. You should see the usual movements up and down in the vehicle. I configured the parameters to have a mild behavior. You can play with other parameters increasing the gain SDF parameter if you feel adventurous.

Thanks to @iche033 for helping with a missing include that was creating a missing symbol at link time.

47efdd9

I updated the wiki as well.


Implement tokio-dbus

We should focus on Async-first,
Async support in Rust has become a first class citizen and it's about time to use it.
While many things here do not require async right now, it will help with the Sync and the Send (not currently supported).

https://github.com/diwic/dbus-rs
https://crates.io/crates/dbus-async,

What do you think @he4d?

@IniterWorker
I would rather go with that one as it depends on the same dbus crate as we use here:
https://crates.io/crates/dbus-tokio/

Wouldn't it be better to use the official zbus crate instead which is developed by freedesktop, which has async


XRControllers do not track in projects created in alpha 15.

Godot version
4.0 alpha 15
System information
Windows 10
Issue description
In any OpenXR project created in alpha 15, controllers do not track and output is flooded with errors. Projects made in other alphas function in alpha 15, it only applies to newly created projects.
Output of minimum reproduction project:
Godot Engine v4.0.alpha15.official.432b25d36 - https://godotengine.org
OpenXR: XrGraphicsRequirementsVulkan2KHR:
 - minApiVersionSupported:  1.0.0
 - maxApiVersionSupported:  1.0.0
OpenXR: Requested Vulkan version exceeds the maximum version this runtime has been tested on and is known to support.
- desired_version  1.2.0
- minApiVersionSupported  1.0.0
- maxApiVersionSupported  1.0.0
Vulkan API 1.2.0 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1070

OpenXR: failed to create action  default_pose ! [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: failed to create action  haptic ! [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: failed to suggest bindings for  /interaction_profiles/htc/vive_tracker_htcx ! [ XR_ERROR_VALIDATION_FAILURE ]
OpenXR: Found supported reference space  XR_REFERENCE_SPACE_TYPE_VIEW
OpenXR: Found supported reference space  XR_REFERENCE_SPACE_TYPE_LOCAL
OpenXR: Found supported reference space  XR_REFERENCE_SPACE_TYPE_STAGE
OpenXR: Found supported swapchain format  VK_FORMAT_R8G8B8A8_UNORM
OpenXR: Found supported swapchain format  VK_FORMAT_R8G8B8A8_SRGB
OpenXR: Found supported swapchain format  VK_FORMAT_B8G8R8A8_UNORM
OpenXR: Found supported swapchain format  VK_FORMAT_B8G8R8A8_SRGB
OpenXR: Found supported swapchain format  VK_FORMAT_R16G16B16A16_SFLOAT
OpenXR: Found supported swapchain format  VK_FORMAT_B10G11R11_UFLOAT_PACK32
OpenXR: Found supported swapchain format  VK_FORMAT_D16_UNORM
OpenXR: Found supported swapchain format  VK_FORMAT_D32_SFLOAT
OpenXR: Found supported swapchain format  VK_FORMAT_D24_UNORM_S8_UINT
OpenXR: Found supported swapchain format  VK_FORMAT_D32_SFLOAT_S8_UINT
OpenXR: Found supported swapchain format  VK_FORMAT_BC1_RGBA_UNORM_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC1_RGBA_SRGB_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC2_UNORM_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC2_SRGB_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC3_UNORM_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC3_SRGB_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC6H_UFLOAT_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC6H_SFLOAT_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC7_UNORM_BLOCK
OpenXR: Found supported swapchain format  VK_FORMAT_BC7_SRGB_BLOCK
OpenXR initialised successfully
Using swap chain format: VK_FORMAT_R8G8B8A8_SRGB
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84016 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84017 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84018 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84019 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84020 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84021 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84022 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84023 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84024 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84025 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84026 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84027 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84016 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84017 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84018 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84019 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84020 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84021 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84022 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84023 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84024 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84025 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84026 [ XR_ERROR_PATH_UNSUPPORTED ]
OpenXR: Failed to get interaction profile for<PHONE_NUMBER>84027 [ XR_ERROR_PATH_UNSUPPORTED ]

Steps to reproduce
Create minimum OpenXR project in alpha 15
Observe
Minimal reproduction project
minimum vr.zip

Looks like the same issue is present in alpha 14 too, not sure how far back it goes.

Opening the project in previous, known-functional alphas does not fix the problem either, and deleting cached files doesn't fix it either. Opening a new project in Alpha 15 I did manage to get this one-off error:
(There were 8 of these in the debugger)

Issue still present in Alpha 16

Sorry guys, still need to look into this. As far as I can tell the issue is the added HTC tracker entries in the action map. Either there is a bogus entry that ended up in there or the system is not reacting the way I expect it to when HTC tracker support is not installed.
A potential work around is to open up the action map (action map tab in the bottom mid section) and just remove the HTC tracker entry from the list.

A potential work around is to open up the action map (action map tab in the bottom mid section) and just remove the HTC tracker entry from the list.

If this workaround does not work, another workaround is to make create your project in alpha 10, run it for the first time with OpenXR enabled, then transfer it to your desired version.

Here's an openxr_action_map.tres modified to remove the trackers, and I can confirm controllers work correctly with this file. (Removing the trackers from the action map in the Godot UI doesn't work - there are still some stray references in the file.)

It would be good to test #67529, I think that may solve the issue.

Unfortunately @ForestKatsch's action map is still the only one that works for me. Quest 2, Arch Linux.

Hmm, I just verified that with this PR it works on Rift S, I'll test with Quest 2 as well..

Found one more issue, this now works correctly on Quest 2, so https://github.com/godotengine/godot/pull/67529 fixes the issue completely for me.

This issue still applies for me in 4.0.2 stable.
Using HTC Vive Cosmos. So far the only actions that have restored controller tracking have been using the previously linked modified openxr_action_map.tres file, and strangely enough, switching from SteamVR to VIVE Console as my OpenXR runtime (But that seems to come with other issues).
Using Godot 4.0.2, SteamVR 1.25.7, HTC Vive Cosmos, VIVE Console <IP_ADDRESS>, Windows 10

@Haydoggo Are you sure this is not caused by https://github.com/godotengine/godot/issues/69937? If this is the case, then please open a new issue with a minimal reproduction project attached.

I'd previously tried changing the controller poses thanks to that very issue but didn't get any different behaviour. Though after reading your comment today, I decided to double check the behaviour, and now I can't reproduce the issue at all, even with default poses on the controllers and the auto generated openxr_action_map.tres. Maybe my computer/SteamVR just needed a restart?
I'll come back to this if the issue crops up again in the future.


Upgrade guava

Fixes #139 and brings us up to date with latest Guava
Brings us up to date with the latest fmt-maven-plugin

Pull Request Test Coverage Report for Build #406
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.805%

Totals

Change from base Build #405:
0.0%

Covered Lines:
496

Relevant Lines:
502

💛  - Coveralls


Running crc daemon on macOS prompts Do you want the application to accept incoming network connections?

General information

OS: macOS
Hypervisor: hyperkit

>= 1.19.0

Behaviour
When running crc daemon, macOS will open a dialog window asking the user accept incoming network connections.
This also affects people running crc setup --enable-experimental-features because the vsock host side code is launched in the daemon.
This will be fixed when crc will be correctly signed.

Duplicate of https://github.com/code-ready/crc/issues/836 ?

this is as expected, unless we probably use entitlements

this is as expected, unless we probably use entitlements


Refactor the Publication weight getting

This is a ticket to refactor the way we process publication weights so that the map loop doesn't have side effects (a secondary loop modifying the original array inside itself). It appears necessary for now, but we should try to find another way in the future.

Closing this as there is no change planned.


Remove iOS 8.x support

I plan to remove the code for iOS 8.x support in the near future. If you have concerns, please raise here.
FYI: The iOS 8.x version statistics and trend(nonofficial).

Are there significant advantages to dropping iOS 8.x support?
Our team generally targets the last major version behind the current release version. So we wouldn't be able to drop iOS 8 until after iOS 10 is officially released.

Your concern does make sense. Thanks for the feedback.
Actually no significant advantages, just remove some hacking code.

iOS 8.x support was removed in Swift 3.0 migration, because the market share of iOS 8 is very low now. This legacy code is still available on swift-2.3 branch.


Scaling fix

Fixing issue where nodes become tiny when one of the scales is negative.

Should we be committing the minified build?

Yeah, it's part of the distributables.

Gotcha. Okay, this looks good to me!


Missing Intellisense when using SvelteUI >= 0.15.0

What package has an issue
@svelteuidev/core
A clear and concise description of what the bug is
Intellisense does not work when using svelteui after 0.15.0.
In which browser(s) did the problem occur?
No response
Steps To Reproduce

Using VSCode or other editor with a LSP, start a svelte-kit project
Install @svelteuidev/core and @svelteuidev/composables  with version 0.15.0
Use the code <Button>Click</Button>
Try to set a prop in button, and notice that the autocomplete does not include any button prop

Do you know how to fix the issue
Yes
Are you willing to participate in fixing this issue and create a pull request with the fix
Yes
Relevant Assets
No response

Why is the intellisense not working?

Oh, forgot to submit the comment explaining, but the .svelte.d.ts os not being generated for some components. A commit that chances the yarn.lock was the one that caused this

Fixed in patch 0.15.4


fix: fixed test bug on static gw name

Description
Fixed default tests which now randomize the custom gateway(s) name (if set) to avoid stuck resources to fail tests
Release required?

[ ] No release
[X] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

When merging, use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author. The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).
Merge by using "Squash and merge".

@vbontempi upgrade test failed as its trying to destroy and recreate, however this is expected due to the change you made in the example, and has no impact to the root level module itself, so I approve skipping the upgrade test to get pipeline to pass

/run pipeline

:tada: This PR is included in version 2.7.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[#3732] Update Python client to align with the Java client API

What changes were proposed in this pull request?

Refactored the SupportsSchemas.list_schemas method to return a list of strings (List[str]) instead of NameIdentifier objects.
Updated the BaseSchemaCatalog class and related implementations to reflect this change.
Modified relevant test cases to verify the new return type and ensure functionality.

Why are the changes needed?

The refactoring aligns the list_schemas method with updated API specifications, making it more user-friendly by returning schema names as strings.

Fix: #3701
Does this PR introduce any user-facing change?
Yes, this PR introduces the following user-facing changes:

The list_schemas method in the SupportsSchemas interface now returns a list of schema names as strings (List[str]) instead of a list of NameIdentifier objects.

How was this patch tested?

Modified existing unit tests to cover the changes in the list_schemas method.

@noidname01 would you please help to review this?

@jerryshao Sure

Please check the python integration errors below, you need to fix them @LanceHsun :
************* Module gravitino.dto.dto_converters
gravitino/dto/dto_converters.py:42:19: E1120: No value for argument 'namespace' in constructor call (no-value-for-parameter)
************* Module tests.integration.test_fileset_catalog
tests/integration/test_fileset_catalog.py:90:16: E1123: Unexpected keyword argument 'ident' in method call (unexpected-keyword-arg)
tests/integration/test_fileset_catalog.py:90:16: E1120: No value for argument 'schema_name' in method call (no-value-for-parameter)
tests/integration/test_fileset_catalog.py:119:8: E1123: Unexpected keyword argument 'ident' in method call (unexpected-keyword-arg)
tests/integration/test_fileset_catalog.py:119:8: E1120: No value for argument 'schema_name' in method call (no-value-for-parameter)
tests/integration/test_fileset_catalog.py:150:45: E1123: Unexpected keyword argument 'namespace' in method call (unexpected-keyword-arg)
************* Module tests.integration.test_schema
tests/integration/test_schema.py:112:15: E1123: Unexpected keyword argument 'ident' in method call (unexpected-keyword-arg)
tests/integration/test_schema.py:112:15: E1120: No value for argument 'schema_name' in method call (no-value-for-parameter)
tests/integration/test_schema.py:129:12: E1123: Unexpected keyword argument 'ident' in method call (unexpected-keyword-arg)
tests/integration/test_schema.py:129:12: E1120: No value for argument 'schema_name' in method call (no-value-for-parameter)
tests/integration/test_schema.py:135:33: E1123: Unexpected keyword argument 'namespace' in method call (unexpected-keyword-arg)
tests/integration/test_schema.py:143:17: E1123: Unexpected keyword argument 'ident' in method call (unexpected-keyword-arg)
tests/integration/test_schema.py:143:17: E1120: No value for argument 'schema_name' in method call (no-value-for-parameter)

@noidname01 would you please help to work on this? Thanks a lot. I think @LanceHsun may not have the time to continue the work.

@noidname01 would you please help to work on this? Thanks a lot. I think @LanceHsun may not have the time to continue the work.

Sure, let me take a look.

These changes have been merged by Tim in another PR, so close this one.


Stylish login page used with html and css only.

Description

A stylish and sophisticated login page for general use.
The restaurant is fictional, created just as an example, to visualize how it would look in your style.
Contribution to hacktuberfet please tag this.
This project was created with the following languages:

Login structure with HTML
Styling with CSS

Type of change

[ x] New Project
[ ] Issue fix (issue number: )

Checklist:

[X] I have included a README.md file for my project clearly explaining its purpose, functionality, and usage instructions (applicable for new projects, not bug fixes).
[X] My code adheres to the style guidelines outlined by this project.
[X] I have thoroughly reviewed my code to identify and address any potential errors or inconsistencies.
[X] I have added clear and concise comments to my code, especially in sections that might be challenging to understand at first glance.
[X] I have reviewed and followed the project's Contributing Guidelines to ensure my contribution aligns with the project's requirements.

Good work @MarceleSilv


Fix onboarding modal ACM doc link 2.7.1

Signed-off-by: Feng Xiang<EMAIL_ADDRESS>https://issues.redhat.com/browse/ACM-3347

Fix doc link in onboarding modal

Btw we should cherry pick it to the main
/cherry-pick main

From Christine looks like there is no restriction for 2.7.1 so anything can go in without approval.


Token verification to app

If the token is expired or invalid, it will be removed from localhost.
Not tested yet. Merge PR #109 first.

Ready for review. Most of commits are duplicates from PR #109

Please review. Duplicate commits are gone.


Various potential bugs

The snapshot collector seems to work fine in production but we are having trouble in development/build since the snapshot collector is making a significant number of external calls that cannot route through a firewall.
Without the nuget package installed, everything runs as expected, the only app insights events I see in the debug log are what I expect using the correct iKey.
With the package installed, I see a significant number of events like these two:
Application Insights Telemetry: {"name":"AppEvents","time":"2021-09-30T09:20:56.8831014Z","iKey":"8a28de91-bcf6-44ac-9242-f7a64f1146b8","tags":{"ai.application.ver":"<IP_ADDRESS>","ai.device.osVersion":"Microsoft Windows 10.0.19043","ai.cloud.roleInstance":"/PU6k0iJgzHB","ai.session.id":"dYYeFjWs/Le7","ai.internal.sdkVersion":"dotnetc:2.18.0-315","ai.internal.nodeName":"DEV-01.smartsurvey.local"},"data":{"baseType":"EventData","baseData":{"ver":2,"name":"TelemetryProcessorCreated","properties":{"Runtime":".NET Core 3.1.19","TelemetryProcessor":"SnapshotCollectorTelemetryProcessor Problems:Count=0"}}}}
Application Insights Telemetry: {"name":"AppDependencies","time":"2021-09-30T09:20:56.8818670Z","iKey":"xxxxxxxx-xxxx-xxxx-xxxx-62d47594c409","tags":{"ai.application.ver":"<IP_ADDRESS>","ai.cloud.roleInstance":"DEV-01","ai.operation.id":"b7a8c124c63ab14db3955c8083467fce","ai.internal.sdkVersion":"rdddsc:2.18.0-315","ai.internal.nodeName":"DEV-01.ss.local"},"data":{"baseType":"RemoteDependencyData","baseData":{"ver":2,"name":"GET /metadata/instance/compute","id":"b2d10a6620b6864d","data":"http://<IP_ADDRESS>/metadata/instance/compute?api-version=2017-08-01","duration":"00:00:00.3702150","resultCode":"Canceled","success":false,"type":"Http","target":"<IP_ADDRESS>","properties":{"AspNetCoreEnvironment":"Development","DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Dependencies', Ver:'1.1')"}}}}
Note that the first one has an incorrect iKey, which I cannot find anywhere in my code or on github. The second has the correct key, which I have masked. The second one is occuring "correctly" in that the snapshot collector is calling out to http://<IP_ADDRESS>/metadata/instance/compute, whatever that is.
I then tried to set IsEnabled to false in appsettings and it didn't disable these calls.
"SnapshotCollectorConfiguration": {
    "IsEnabled": false,
    "IsEnabledInDeveloperMode": false
  }

Note that we are not hosting these on Azure App Service and don't have any App Services running for any of our apps, which I am mentioning because the first refers to a roleinstance and the second to metadata/instance, which I believe is a cloud service endpoint for local metrics data.

Both of those are coming from the Snapshot Collector itself.
The iKey on the first one is the Snapshot Collector's own internal telemetry which is used for usage metrics and troubleshooting. You can disable it (and others) by setting ProvideAnonymousTelemetry to false in SnapshotCollectorConfiguration.
The dependency is coming from Snapshot Collector attempting to detect whether it's running in an Azure VM via the Instance Metadata Service. It's expected to fail unless the IMDS is available.
You aid:

the snapshot collector is making a significant number of external calls that cannot route through a firewall.

The Snapshot Collector's internal telemetry is sent to the public global Application Insights endpoint: https://dc.services.visualstudio.com on port 443. If that address+port are blocked at the firewall, then no telemetry will get through. I presume, in that case, you've set the ingestion endpoint explicitly for your own telemetry.
With that explanation out of the way, are there actually bugs here? The title says "potential" bugs, so I'd like to understand if there are any blocking issues.

Thanks @pharring
OK, so the internal iKey makes sense, although it would be good to document this because it was not obvious. It also shows a very old ai version but I guess that is OK.
Although not necessarily a true "bug", I would argue that even a snapshot collector shouldn't sit there endlessly polling a non-existent endpoint. I've realised this IP address is a loopback so it is not an external call, but at most it should try, say, 5 times and then switch off. It is hard to debug some network issues when a lot of failed calls take 20 seconds to fail, at which point it could be causing issues in the application that are spawning all of these calls and being blocked waiting for a reply.
This is currently the sort of noise I am talking about:

Also, it doesn't explain why setting IsEnabled to false doesn't stop these calls being made.

Thanks for elaborating. I'll try and unpack:

... it would be good to document [the internal iKey].

Let this issue be the documentation. We could maybe add some exposition to the main docs on the ProvideAnonymousTelemetry option.

It also shows a very old ai version but I guess that is OK.

I see "ai.internal.sdkVersion":"dotnetc:2.18.0-315". That's the latest version. The SnapshotCollector nuget uses the same Application Insights SDK that the rest of your application uses.

snapshot collector shouldn't sit there endlessly polling a non-existent endpoint. [...] at most it should try, say, 5 times and then switch off.

I agree. Snapshot Collector tries to hit that endpoint exactly once. The timeout is set to 5 seconds after which the call is canceled.  It doesn't endlessly poll. If Snapshot Collector is enabled, then there will be a second identical call from the SnapshotUploader(64) process as it starts up.
Now, the screenshot from Fiddler shows a couple of interesting things.

Some of those IDMS calls are NOT from Snapshot Collector. They've been truncated, but I can say for sure that the ones that have compute?format=json in them (about half) are NOT from Snapshot Collector. The most likely source is the AzureMetadataRequestor component from base Application Insights SDK which is used to generate heartbeat telemetry.
Repeated calls. Again, half of them are definitely NOT from Snapshot Collector, but the other half could be (304, 306, 310, etc.). I'd be interested to see how many of those disappear if you remove Snapshot Collector from your project. If about half of them disappear (indicating that Snapshot Collector is responsible for half of them), then we're probably looking at a bug in your application where more than one TelemetryConfiguration is being created.

setting IsEnabled to false doesn't stop these calls being made.

That's probably a misunderstanding about what IsEnabled does. IsEnabled prevents the Snapshot Collector from contacting the snapshot service "front door", starting the SnapshotUploader process and triggering process snapshots. If you know about TelemetryProcessors, there's basically an IsEnabled check at the top of the SnapshotCollectorTelemetryProcessor.Next method to see if we should do any processing. It is an effective "gate" to stop all snapshotting.
To prevent usage telemetry, set ProvideAnonymousTelemetry to false.
However, neither of these will stop the IDMS call. There's no way to prevent those short of not adding the Snapshot Collector in the first place (either remove the Nuget package, or remove the code that calls "AddSnapshotCollector"). The 502s are safe to ignore.
So, that's a bit of a dive under the hood, but I want to repeat an earlier point, in case you missed it: From the Fiddler trace, it looks like you have a bug in your application that is creating more than one TelemetryConfiguration.

I read in the linked issue that you're running unit tests. Assuming a telemetry pipeline is created for each test, that could explain why we see multiple calls to IMDS.

Hi @pharring
The version I was referring to was "ai.application.ver":"<IP_ADDRESS>", but that was just an observation. The normal AI ones show application as v15.0 so 1.4 seemed old.
Setting ProvideAnonymousTelemetry doesn't make a noticeable difference, I was trying to get rid of the high number of failed connections. I suspect that the issue here is that the unit tests, using the WebApplicationFactory are effectively starting up new instances frequently which cause the issue.
Also worth noting is that we have tests hitting an App, which itself calls an API and both have the snapshot collector enabled, which is probably the duplicates you mentioned above.
When I removed the snapshot collector, the calls, obviously, disappear but we need them in production so that is not a solution.
It turns out these weren't the cause of the slowness I was seeing, there is something weird on the hosting provider that causes connections from one specific IP address to randomnly drop. There, I have to assume that these are not bugs, just noise and there is probably not much we can do about them.