Rfg/create b2c web api

Description
References

Codecov Report

Merging #486 (c5f289a) into main (21978a1) will decrease coverage by 1.54%.
Report is 171 commits behind head on main.
The diff coverage is 58.80%.

@@            Coverage Diff             @@
##             main     #486      +/-   ##
==========================================
- Coverage   83.07%   81.54%   -1.54%
==========================================
  Files         456      564     +108
  Lines       10418    13948    +3530
==========================================
+ Hits         8655    11374    +2719
- Misses       1438     2166     +728
- Partials      325      408      +83

Files Changed
Coverage Δ

...ivedMessages/ArchivedMessageGetDocumentListener.cs
0.00% <ø> (ø)

.../ArchivedMessages/ArchivedMessageSearchListener.cs
0.00% <0.00%> (ø)

source/Api/Common/HttpHeadersExtensions.cs
0.00% <ø> (ø)

source/Api/Configuration/InboxMessageMetadata.cs
0.00% <0.00%> (ø)

...iddleware/Authentication/ActorForAuthentication.cs
0.00% <ø> (ø)

...ntication/Bearer/BearerAuthenticationMiddleware.cs
0.00% <ø> (ø)

...MarketActors/MarketActorAuthenticatorMiddleware.cs
0.00% <ø> (ø)

...ation/Middleware/Correlation/CorrelationContext.cs
66.66% <ø> (ø)

.../Middleware/Correlation/CorrelationIdMiddleware.cs
0.00% <ø> (ø)

...iguration/Middleware/Correlation/UserProperties.cs
0.00% <ø> (ø)

... and 158 more

... and 314 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[stable/prometheus-operator] warning: cannot overwrite table with non table for value

Is this a request for help?: No

Which chart:
stable/prometheus-operator
What happened:
When trying to install the chart with an overrides file:
$ helm install --name prometheus-operator stable/prometheus-operator -f overrides.yaml --no-crd-hook
2019/02/20 17:21:03 Warning: Merging destination map for chart 'prometheus-operator'. Cannot overwrite table item 'remoteWrite', with non table value: map[]

There is a warning due to the values.yaml file in the prometheus-operator chart containing remoteWrite: {} rather than remoteWrite: [].
What you expected to happen:
Install should succeed with no warnings.
How to reproduce it (as minimally and precisely as possible):
Run
$ helm install --name prometheus-operator stable/prometheus-operator -f overrides.yaml --no-crd-hook

where overrides.yaml looks like:
prometheus:
  prometheusSpec:
    remoteWrite:
    - url: <your_url>

Anything else we need to know:
This is the same as https://github.com/helm/charts/issues/7585, just a different place in a different file. PR incoming

Changing from {} to [] did work.


locale.json instructions are not externelized

I would expect these comments to be externalized since this is the entry point for changing vscode language preferences

They are however the content is generated on the first time use. If you switch later we don't replace the content. No further action planned.


Fix build warnings when building docs

We have a few warnings that we should fix + update RTD to fail if there is a warning

Resolved by https://github.com/OpenFreeEnergy/IndustryBenchmarks2024/pull/86


I'm interested in adding SDR capabilities to Apollo or Vice-Versa

Hello,
I just came back from "Silicon Valley" where I have the interest of a Automobile Manufacturer and would like to add Software Defined Radio capabilities to Apollo's Autonomous Open Vehicle System  as a SDR device can either generate and/or receive GOS signals and some other stuff already implemented in your code.
Do you have instructions on installing your software WITHOUT DOCKER 🤔?
Docker just is too heavy and again, I •think• I can "blend" some of Apollos features into the SDR stuff I've been doing for awhile now as you can see here:  http://twitter.com/WindyCitySDR
Please assist.
Sincerely,
WindyCitySDR

Yes, it's possible, though not recommended.
You can follow the Dockerfile to build up your environment step by step:
https://github.com/ApolloAuto/apollo/blob/master/docker/build/dev.x86_64.dockerfile

Xiaoxq,
Thank you for replying!


Create KiCAD.gitignore

This adds a .gitignore for the KiCAD EDA software.
Documentation on the file types is available here.
Essentially all files that are either temporary files or can be generated directly from a file already under version control (e.g. .net files are generated from .sch files) are ignored.

Thanks!


Fixed issue with transpilation of cjs files

Fixes #176

Not sure why AppVeyor has failed on one of its check, the second one seems to be ok.
It seems though that we should drop support for babel6 entirely here (AppVeyor is trying to test the plugin with babel6 too)

What is status of this PR? Just trapped into issue with import rollupPluginBabelHelpers 😞

@farwayer could you specify in more detail what kind of problem have you encountered? Are you certain this PR would solve it for you? At the moment this is waiting for a proper review before merging and releasing.

@Andarist I have the same problem as @edoardocavazza in #176: inserting import rollupPluginBabelHelpers forces rollup-plugin-commonjs consider source file is a module even it is not.

@farwayer Does this PR solve the problem, can you test it?

@danez Yes but with warning
(!) Missing exports
https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module
 commonjs-proxy:rollupPluginBabelHelpers
default is not exported by rollupPluginBabelHelpers
1: import * as rollupPluginBabelHelpers from "rollupPluginBabelHelpers"; export default ( rollupPluginBabelHelpers && rollupPluginBabelHelpers['default'] ) || rollupPluginBabelHelpers;

About this warning. Probably could be fixed somewhere, but rather not a priority at the moment.

Because this fix is for beta version IMO it is ok to have this warning. Better than having an error 😄

@danez can you try to restart the failed AppVeyor build? I have no such permissions.

neither have i, but it is just a timeout so ¯_(ツ)_/¯

@Andarist Updating to babel .35 will trigger all checks I think.

@danez I've went ahead and merged this, you need to publish this though :)


Remove unneeded "api" segment in path

Playing around with this code, it seems exports.api links the path to "/api" automatically, it's redundant to add it in the get/post path and causes the url to fail.

I signed it

Thanks @LloydVincent that's right, the 'api' prefix was never needed :)


Make esi node network list more efficient

I think this is close! The last suggestion I'd make is fairly minor: in any conditional where you check if parsed_args.network, I'd suggest changing to if filter_network instead. That makes it clearer what the nature of the conditional is.

Not sure if line #100 "elif not parsed_args.network" should be changed to "filter_network". I think it should remain as it it.


[Feature Request] Preloader重写splash接口

Checklist

[X] I searched exising issues and no one else requests similar feature.
[X] I think that 25%+ users are positive towards this feature.

Describe the feature
Preloader
Additional context
No response

System.setProperty("javafx.preloader",xxx.class.getCanonicalName())

Hello @unknowIfGuestInDream. This issue is marked as deprecated and closed.


Made pipeline work on linux + used Toast

Note that this test is commented out cause idfk why it breaks yes fix please thanks.

Installing toast:
Invoke-RestMethod https://raw.githubusercontent.com/AntoniosBarotsis/toast/main/install.ps1 | Invoke-Expression

You can run the full workflow locally with toast or toast [TASKNAME]

Will merge the LLVM branch here once the migration to LLVM is complete, fix any issues in veritas and then we can merge back to LLVM and DEV.

The tests seem to be fixed both locally and in the pipeline. Currently, both are failing because the compiler itself is not done migrating to LLVM.
To make sure they worked I commented out all tests and only included the following:
def runTest2(): (Boolean, String) =
"""def main(): int {
     val a: int = 5;
     print(a);
     return 0;
   }"""
  .ShouldBe("5")
  .Run()

I created a Docker image with all native dependencies needed to compile the code and run the tests to save some time in the workflow.
The toast workflow is divided into 3 parts:

build_dependencies: Builds all libraries used in the project. This speeds up the following 2 tasks as this layer will be cached locally.
build: I decided to have a separate build stage in the workflow to give us more insight in case something goes wrong. This will not run locally (to save some time) as test performs a build anyways.
test: Runs the tests and generates a coverage report.

Had some issues with the Gradle wrapper not being executable and forgot I need to specify the CI env variable. Both are fixed
Enjoy 🚀 Blazingly Fast ✨ pipelines


Review 2nd half of CNN chapter

From NiN to DenseNet.

LGTM, thanks! can you please resolve the conflicts, we can merge it after it.

merged in #273


[owc-dev-server] support app index in a subdir

If your app's index is in a sub directory it's not possible to combine the app-index and root-dir options.

Closing sine this is supported in https://github.com/open-wc/open-wc/pull/520


[SPARK-8525][MLLIB] fix LabeledPoint parser when there is a whitespace between label and features vector

fix LabeledPoint parser when there is a whitespace between label and features vector, e.g.
(y, [x1, x2, x3])

Can one of the admins verify this patch?

CC @mengxr to see if whitespace is supposed to be tolerated

LGTM. Merged into master. Though the format is designed for internal save/load only, it is still good to have some robustness. Also note that the preferred format is Parquet now. Thanks!


error MSB3030: Could not copy the file

Hi I am using deployment framework  5.5 for thr first time on a project which already has mature and exisiting Biztalk solution based on 2010.
I am trying to deploy using this tool but till data not sucrssful.
The error I am getting is
error MSB3030: Could not copy the file
In more detail The error is more confusing.
All our DLLs have name such as sdm.pubsub3.Schemas.dll
but the error below only pick pubsub3.Schemas.dll"
C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.WiXSetup.targets(113,5): error MSB3030: Could not copy the file "..\pubsub3.Schemas\bin\Debug\pubsub3.Schemas.dll" because it was not found. [C:\SDM_DEV\Trunk\Code\DELIVERY\pubsub3\Deployment\Deployment.btdfproj]
C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.WiXSetup.targets
I have attached my .btdproj file.
Please anyone can point me to the right direction.
Thanks
neeraj
Attachments
Deployment.btdfproj
sdm.pubsub3.UAT1.BindingInfo.xml
bitalk.PNG
This work item was migrated from CodePlex
CodePlex work item ID: '10594'
Vote count: '1'

[tfabraham@4/16/2014]
Hi neeraj,
Most, if not all, of the DLLs that you are referencing in AdditionalFiles items belong in Schemas, Orchestrations, Transforms and Components items.  Please take some time to go through the tutorial and review the documentation on how to configure these references.
http://www.tfabraham.com/btdfdocs/v5_5/CreateaDeploymentProjectfortheHe.html
http://www.tfabraham.com/btdfdocs/v5_5/ArtifactTypes.html

[neerajk@4/17/2014]
Thanks,
I guess my issue is the folder structure, here in this project. Deployment Framework is expecting
"pubsub3.schemas" without "" but what I have here is "schemas" etc. Now I can see how $ProjectName it is being configured in the  BizTalkDeploymentFramework.targets file but I don't want to modify this unless and untill I understand the impact.
Is there a way where I can modify  in Deployment.BTDFProj and expect it to work?
Any help/or suggesting will be really helpful to get Deployment Framework working here.
Regards,
Neeraj

[tfabraham@4/17/2014]
The folder structure is not the issue.  The Deployment Framework supports any kind of folder structure, and you can name your folders and files any way you like.
You should start by deleting all of the AdditionalFiles items and properly configuring your DLL's using Schemas, Orchestrations, Components, etc. items.  You do not need to change ProjectName to make things work.  Please review the sample applications and the documentation that I referenced above.

[UnknownUser@4/22/2014]

[neerajk@4/22/2014]
Hi,
I have got as FAR as Creating the MSI file and able to run it(though unsuccessfully).
I guess the issue is with Binding File.
Since this project is already deploying BizTalk using combination of NANT/Powershell etc. They have pretty complicated Binding File. Please see attached.
I have few questions if you could help me with.

Shall I create 'Deployment' project without using the options 'Deploy BizTalk Biniding =True'
How My PortBinding File in the deployment folder will pick the structure of existing Binding File(please see attached.)

[neerajk@4/22/2014]
I HAVE ADDED SCREEN OF THE ERROR.

[UnknownUser@4/22/2014]

[neerajk@4/22/2014]
EXEC : error : Failed to add resource(s). [C:\Program Files (x86)\pubsub3 for B
izTalk\1.0\Deployment\Deployment.btdfproj]
Resource (-Type="System.BizTalk:BizTalkAssembly" -Luid="sdm.pubsub3.schemas,
Version=<IP_ADDRESS>11, Culture=neutral, PublicKeyToken=5ff3f05752dba8e8") al
ready in store.

Use BTSTask's overwrite flag or
Set redeploy flag to true in BizTalk Project or
Click overwrite all checkbox in Admin MMC
to update if the resource exists in the specified target application "sdm.pub
sub3.test".
Overwrite flag will be ignored if the resource is associated with another app
lication.

Command failed with 1 errors, 0 warnings.
C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deployment\Framework\BizTalkDepl
oymentFramework.targets(1352,5): error MSB3073: The command "BTSTask.exe AddRes
ource -Type:BizTalkAssembly -Source:"..\sdm.pubsub3.Schemas.dll" -ApplicationNa
me:"sdm.pubsub3.test" -Options:GacOnAdd,GacOnImport,GacOnInstall" exited with c
ode 1. [C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deployment\Deployment.bt
dfproj]
Done Building Project "C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deploymen
t\Deployment.btdfproj" (Deploy target(s)) -- FAILED.
Build FAILED.
"C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deployment\Deployment.btdfproj"
(Deploy target) (1) ->
(PreprocessBindings target) ->
C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deployment\Framework\BizTalkDe
ploymentFramework.targets : warning : PortBindings.xml : No matches found for X
Path expression '//ApplicationName'. [C:\Program Files (x86)\pubsub3 for BizTal
k\1.0\Deployment\Deployment.btdfproj]
"C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deployment\Deployment.btdfproj"
(Deploy target) (1) ->
(DeploySchemas target) ->
EXEC : error : Failed to add resource(s). [C:\Program Files (x86)\pubsub3 for
BizTalk\1.0\Deployment\Deployment.btdfproj]
C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deployment\Framework\BizTalkDe
ploymentFramework.targets(1352,5): error MSB3073: The command "BTSTask.exe AddR
esource -Type:BizTalkAssembly -Source:"..\sdm.pubsub3.Schemas.dll" -Application
Name:"sdm.pubsub3.test" -Options:GacOnAdd,GacOnImport,GacOnInstall" exited with
code 1. [C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deployment\Deployment.
btdfproj]
1 Warning(s)
2 Error(s)

Time Elapsed 00:00:07.83
Project "C:\Program Files (x86)\pubsub3 for BizTalk\1.0\Deployment\Framework\Bi
zTalkDeploymentFramework.ServerExecute.targets" on node 1 (Deploy target(s)).
Copy:
Copying file from "....\DeployResults\DeployResults.txt" to "....\DeployRes
ults\DeployResults_PCKMA0416_20140422_1710.txt".
PauseForError:

************* FAILED! ***************

Press a key to continue...

[tfabraham@4/22/2014]
The attached bindings file is actually very small.  Do yourself a favor and delete all of the  elements inside .  They're not necessary and just leave you with a huge bindings file.  After removing them your bindings file is only 122 lines long.
As for your error message, it's telling you that the DLL sdm.pubsub3.schemas,
Version=<IP_ADDRESS>11, Culture=neutral, PublicKeyToken=5ff3f05752dba8e8 is already deployed into BizTalk, so it can't deploy it again.  If you are running the Deploy step after installing the MSI, and the app is already deployed into BizTalk, then you need to use the Redeploy option instead, or Undeploy then Deploy.

[neerajk@4/29/2014]
Thanks, for the pointers. It worked out for me. Please close the issue.

[UnknownUser@4/29/2014]

Issue closed by tfabraham with comment
User requested to close issue
Reason closed
As Designed


Allow vim-style and arrow key bindings in sway config

I would deem it sensible to enable both vim-style (hjkl) and arrow key bindings for moving focus and resizing and so on by default, as the keys aren't used by something else anyways and I as a vim user use both from time to time.

I am certainly no opposed to it, as you're not the first to look for vim-bindings. BUT: right now it is configured so you can override the keybinds easily. With your proposal this would mean we'd have to duplicate all the defintions in which we use $up $down $left or $right to be using hjkl too. Or did you have something else in mind?

yes, we have to duplicate them, as is already done in the default /etc/sway/config at least on my system.
The way they do it there, arrow keys always work and vim-style keys work additionally if the variables are set.

ok, I'd propose we add it like this then:
set $left_alt h
set $down_alt j
set $up_alt k
set $right_alt l

and duplicate every place where we use $left etc. which should be around four places (resize 10px, resize 50px, move, focus). wdyt?

Hm, I don't see why we wouldn't do it like sway does by default:
Hardcode arrow keys in addition to the variables.

I mean, both is fine. Having both as variables gives ppl. the option to combine other variants, like wasd & hjkl etc.,  which clearly will be an edge case, so you're probably correct.

I don't see how anyone used to vim-style would ever go back to wasd ^^ I dunno, I guess this is bikeshedding at this point though

added the alternative bindings, for me they seem to work just fine!


Persist alert 'for' state across restarts

Currently if Prometheus restarts, we lose the 'for' state for firing alerts. While this isn't an issue for short for clauses, it presents a problem for clauses that are in the hours to days range.
It'd be good to persist this state in some way, so that alerts don't have to start again from scratch. We probably don't want to count the time the prometheus server is down against the 'for' clause.

How would this work? Do we evaluate from the point we terminated on startup again as a way of catching up?
For example take an alert A1 with FOR 12h that has started life at 0000. Now it is pending and we shut down the server at 0600 and we persist A1 pending for 6h at 0600. Suppose we restart at 01500, do we start evaluating from 0600-01500 and then say catched up, continue normal evaluation? Isn't this going to be costly?
Are we going to have a threshold? Something like you lose alert state if Prometheus is down for more than 1h? We can make this a flag to support use-cases where the server was down for a long time.

Suppose we restart at 01500, do we start evaluating from 0600-01500 and then say catched up, continue normal evaluation?

No, and the alert probably wouldn't be firing during that period anyway as there'll be no data from the Prometheus going down.
What we want is that we remember that 6h of the FOR has already been satisfied, and when it's satisfied for another 6h then we alert. We need to be a little careful here, for safety if the remaining time is <10m we should treat that as min(remaining-10m, for).
To implement I was thinking an analouge to ALERTs that'd track when an alert started, and when Promethus restarts it'd check that metric (adjusting if needed for the 10m safety) and initialise internal state accordingly.
One other thing is that it can take a while for a Prometheus to warm up and have done enough scrapes for alerts to start firing properly. Thus we should delay rule&alert evaluation for 2 scrape_intervals at starttup to mitigate this.

Okay, biggest facepalm moment ever! How could I not see that the server is not running! Sorry about that!
Coming to when to start evaluation, will 2 global scrape_interval be okay? Because we might be alerting on series that scraped much less frequently. And what about alerts on range queries?

global scrape interval is all that makes sense.
Range queries will usually be rate(), and two scrapes+slack should be enough for that to work.

Do we want to persist state? If state is persisted then it means that the alerts require a timeseries store locally to enforce the alerting. This is fine for prometheus itself (although it is storing data we might not care about) but does pose a problem for things that use the alerting libraries to enforce promql alerts to remote storage systems. I had hacked up an approach for backfilling on startup, but that doesn't cover the case that you mention here that you don't want to count "prom downtime" against the alert FOR interval. Maybe it'd be helpful to make some interface for "load alert state" that can be passed in (prometheus itself can store/load from a timeseries, others can re-query etc.)?

Do we want to persist state?

That's kind of the entire point of this PR. If you're running some non-standard system then you won't get the benefit of this feature, but alerting will continue to function as it does today.

I assume then that this functionality would be optional (through some config)?

I see no reason why this functionality would not be always on in the Prometheus server. The Prometheus server always has a local tsdb.

Quoting from myself:

If state is persisted then it means that the alerts require a timeseries store locally to enforce the alerting. This is fine for prometheus itself (although it is storing data we might not care about) but does pose a problem for things that use the alerting libraries to enforce promql alerts to remote storage systems.

TLDR; What about others using the library?

It's an internal API so we offer no guarantees there, but you can pass in whatever storage objects you like.

Closed by #4061


[WIP] Add missing methods to Decimal

[Description and tests to follow shortly.]

/cc @natecook1000 @phausler

These are API changes, we should sync up over email to appropriately handle a proposal for this.

@xwu What was the outcome of this?  Should we still hold this pull request open?

We never synced up. It's fine to close.


always pass public key on mpma sends

Some users are reporting errors when trying to do a MPMA send from a new address which has never done a send before
{
	"error": {
		"code": -32000,
		"data": {
			"type": "UnknownPubKeyError",
			"args": ["Public key was neither provided nor published in blockchain."]
		},
		"message": "Server error",
		"id": 0,
		"jsonrpc": "2.0"
	}
}

should consider updating freewallet to always pass the public key with multi-send requests to avoid this issue

should be fixed with commit cfae67


Bugfix: wrong {dav:} namespace, should be {DAV:}

PdoAddressBook has some bugs where it is looking for {dav:} while it should lookup {DAV:}

Nevermind, seems you use array_change_key_case()


TCMalloc and Transparent Huge Pages

https://google.github.io/tcmalloc/tuning.html#system-level-optimizations says:

TCMalloc heavily relies on Transparent Huge Pages (THP)

And requires that /sys/kernel/mm/transparent_hugepage/enabled be set to always.
This requirement is not ideal because:

The default for /sys/kernel/mm/transparent_hugepage/enabled is often madvise.
Some legacy applications exhibit performance degradation with always option.

I wonder why wouldn't TCMalloc explicitly request transparent huge pages using madvise(..., MADV_HUGEPAGE), to not have this requirement, please?

Are there any plans to take this up in the near future @ckennelly ? There appear to have been some changes in recent Linux kernels which cause thread stacks to be backed by hugepages (and therefore use a lot more memory) by default if transparent_hugepage/enabled is set to always.

Ok. For what it's worth, I'm seeing stack sizes of 8 MiB (virtual memory) on Linux, which other people seem to agree with: https://unix.stackexchange.com/questions/473416/why-on-modern-linux-the-default-stack-size-is-so-huge-8mb-even-10-on-some-di?rq=1. I think there might have been a recent change (in the last year) that causes these stacks to be aligned properly to be backed by THP now.
I'll do some profiling to see if there's a performance impact to our application with THP madvise instead of always though.


Implement new export button

Remove "Export Image" button from map toolbar.
"Export" button on top right now performs this action.

:+1:


Uncaught ReferenceError: Gmaps is not defined

I'm using gmaps4rails 2.1.2, and Rails 4.2, and followed the exact tutorial at readme page. Everything works ok on my local dev machine. However, when I deploy to AWS, it can't to initialize Gmaps.
On local dev machine:

On production:

I open the compressed application.js on production, and see that gmaps4rails scripts are included there. What could be the problem Gmaps can't be initialized?

Weird...
What if you use the version in cdn?
https://cdnjs.cloudflare.com/ajax/libs/gmaps4rails/2.1.2/gmaps4rails.min.js

On 16 Mar 2016, at 05:13, Khanh Dao<EMAIL_ADDRESS>wrote:
I'm using gmaps4rails 2.1.2, and followed the exact tutorial at readme page. Everything works ok on my local dev machine. However, when I deploy to AWS, it can't to initialize Gmaps.
On local dev machine:
On production:
I open the compressed application.js on production, and see that gmaps4rails scripts are included there. What could be the problem Gmaps can't be initialized?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

@knd I'm curious to know what was the problem

@apneadiving I moved from Rails 3 to Rails 4 so there was something different in asset pipeline settings.  Thank you for your reply.

@knd what did you have to change? Having the same issue, currently on Rails 4


Garden View is not set as initial view controller

Need to update segues between 'add a plant' scene and 'garden view' scene

Fixed!


Document mixed eureka/non-eureka ribbon usage

Any updates for this? I have a case need use both but cannot find how to config.

I'd also like this to be implemented.
When using Ribbon to provide a RestTemplate bean, all hosts are resolved using Eureka (if configured accordingly). This also means that requests to https://api.somewhere.com are handled in a way that Eureka is used to provide instances of api.somewhere.com, although this URL is absolute and not registered in Eureka.
It would be great to have Ribbon/Eureka fallback to standard RestTemplate functionality (DNS) for such URLs, either automatically or using some per-call/per-host configuration.

Ribbon has entered maintenance mode. This means that the Spring Cloud team will no longer be adding new features to the module. We will fix blocker bugs and security issues, and we will also consider and review small pull requests from the community.


Migration Script Created With Foreign Key Fields in Wrong Order

Bug description

I am trying out a schema with a model that has a foreign key relation containing three fields.
Running migrate against this schema results in a generated migration.sql where there is an issue with the foreign key fields being in the wrong order
How to reproduce

Run prisma migrate dev --preview-feature
See error

Error: Database error: Error querying the database: db error: ERROR: foreign key constraint "Person_partyId_tenant_partyType_fkey" cannot be implemented
DETAIL: Key columns "tenant" and "partyType" are of incompatible types: integer and text.
   0: migration_core::api::ApplyMigrations
             at migration-engine\core\src\api.rs:72

The bug is a result of the following  SQL that gets generated.
ALTER TABLE "Person" ADD FOREIGN KEY ("partyId", "tenant", "partyType") REFERENCES "Party"("partyId", "partyType", "tenant") ON DELETE CASCADE ON UPDATE CASCADE;

Notice that the foreign key fields are specified in the wrong order.
If I manually go in there and re-order the foreign key fields to this, it resolves the issue.
ALTER TABLE "Person" ADD FOREIGN KEY ("partyId", "partyType", "tenant") REFERENCES "Party"("partyId", "partyType", "tenant") ON DELETE CASCADE ON UPDATE CASCADE;

Expected behavior

Migrate should complete successfully.
Prisma information

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["createMany"]
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model Party {
  partyId      Int            @default(autoincrement())
  tenant       Int
  partyType    String
  Tenant       Tenant         @relation(fields: [tenant], references: [tennantId])
  Person       Person?

  @@id([partyId, tenant])
  @@unique([partyId, partyType, tenant], name: "Party_partyId_partyType_tenant_key")
  @@index([tenant], name: "fki_Party_Tenant_tenantId_fkey")
}

model Person {
  partyId   Int
  firstname String
  lastname  String?
  tenant    Int
  partyType String
  Party     Party   @relation(fields: [partyId, partyType, tenant], references: [partyId, partyType, tenant])
  Tenant    Tenant  @relation(fields: [tenant], references: [tennantId])

  @@id([partyId, tenant])
  @@unique([partyId, partyType, tenant], name: "Person_partyId_partyType_tenant_key")
  @@index([partyId, partyType, tenant], name: "fki_Person_Party_partyId_partyType_tenant_fkey")
  @@index([tenant], name: "fki_Person_Tenant_id_fkey")
}

model Tenant {
  name                 String
  tennantId            Int                    @id @default(autoincrement())
  Party                Party[]
  Person               Person[]
}

Environment & setup

OS: Windows
Database: PostgreSQL
Node.js version: 14.14.0
Prisma version:

Environment variables loaded from ..\.env
Environment variables loaded from prisma\.env
prisma               : 2.16.1
@prisma/client       : 2.16.1
Current platform     : windows
Query Engine         : query-engine 8b74ad57aaf2cc6c155f382a18a8e3ba95aceb03 (at<EMAIL_ADDRESS>Migration Engine     : migration-engine-cli 8b74ad57aaf2cc6c155f382a18a8e3ba95aceb03 (at<EMAIL_ADDRESS>Introspection Engine : introspection-core 8b74ad57aaf2cc6c155f382a18a8e3ba95aceb03 (at<EMAIL_ADDRESS>Format Binary        : prisma-fmt 8b74ad57aaf2cc6c155f382a18a8e3ba95aceb03 (at<EMAIL_ADDRESS>Studio               : 0.346.0
Preview Features     : createMany

That looks like a legit bug — I flagged this so we can reproduce the issue, and fix it soon. Thanks for reporting!

Checking this out today.

Yup, can reproduce.

Fix in 2.18.0.


virt-launcher was OOM killed by kubelet with dedicatedCpuPlacement enabled

What happened:
The VM (virt-launcher container) is killed by kubelet with dedicatedCpuPlacement option on in VM manifest.
With dedicatedCpuPlacement option, I can observe kubevirt automatically adds limits value to virt-launcher POD manifest, and this in turn leads VM OOM kill.
What you expected to happen:
VM should not be killed by kubelet, on dedicatedCpuPlacement option enabled.
How to reproduce it (as minimally and precisely as possible):
Spawn a VM with dedicatedCpuPlacement option enabled, and execute a memory intensive workload. In my case, I ran SPEC CPU benchmark tool.
Additional context:
Kubevirt should not add limits attribute to virt-launcher POD with dedicatedCpuPlacement option enabled.
Environment:

KubeVirt version (use virtctl version): v1.0.0
Kubernetes version (use kubectl version): v1.27.5
VM or VMI specifications:

apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  annotations:
    kubevirt.io/latest-observed-api-version: v1
    kubevirt.io/storage-observed-api-version: v1alpha3
  creationTimestamp: "2024-01-02T03:51:17Z"
  finalizers:
  - kubevirt.io/virtualMachineControllerFinalize
  generation: 15
  name: vm
  namespace: default
spec:
  dataVolumeTemplates:
  - metadata:
      name: vm-boot-dv
    spec:
      preallocation: true
      pvc:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 512Gi
        storageClassName: hostpath-csi
      source:
        pvc:
          name: rocky-9-image
          namespace: imagevolume
  running: true
  template:
    metadata:
      labels:
        kubevirt.io/domain: vm
    spec:
      architecture: amd64
      domain:
        cpu:
          cores: 8
          dedicatedCpuPlacement: true
          isolateEmulatorThread: true
          model: host-passthrough
          sockets: 2
          threads: 1
        devices:
          disks:
          - disk:
              bus: virtio
            name: bootdisk
          interfaces:
          - bridge: {}
            name: default
          - bridge: {}
            macAddress: 02:00:00:18:92:ed
            name: external-net-net
        firmware:
          bootloader:
            efi:
              secureBoot: false
        ioThreadsPolicy: auto
        machine:
          type: q35
        memory:
          guest: 160Gi
        resources: {}
      networks:
      - name: default
        pod: {}
      - multus:
          networkName: external-net
        name: external-net-net
      nodeSelector:
        node-role.kubernetes.io/worker: ""
      terminationGracePeriodSeconds: 30
      volumes:
      - dataVolume:
          name: vm-boot-dv
        name: bootdisk

Cloud provider or hardware configuration: N/A
OS (e.g. from /etc/os-release): Rocky 8.8
Kernel (e.g. uname -a): 4.18.0-477.13.1.el8_8.x86_64
Install tools: N/A
Others: N/A

/cc @jean-edouard @vladikr

Kubevirt should not add limits attribute to virt-launcher POD with dedicatedCpuPlacement option enabled.

Kubevirt needs to set limits, see https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ for exclusive cpus. What should not happen is the OOM, this is Kubevirt bug in the calculation of "how much memory overhead we need to assign to the Pod".
Could you please share the Pod yaml?

Where can we find the codebase to see how is the memory limit calculated? And can you share the pod yaml to see how much memory is allocated, also after reproducing the issue we can have a pod top to check how fast the allocated limit gets consumed

Here is the virt-launcher POD manifest which was generated by the VM.
apiVersion: v1
kind: Pod
metadata:
  annotations:
    cni.projectcalico.org/containerID: a5c4b8838bc8cb769bcd43984f67dffc6ed40f0b2e4bd447fd316d5bc82a8249
    cni.projectcalico.org/podIP: <IP_ADDRESS>/32
    cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
    description: test
    flavor: test
    image: rocky-9-image
    interfaces: '[{"network": "external-net", "ipAddress": "<IP_ADDRESS>"}]'
    k8s.v1.cni.cncf.io/network-status: |-
      [{
          "name": "k8s-pod-network",
          "ips": [
              "<IP_ADDRESS>"
          ],
          "default": true,
          "dns": {}
      },{
          "name": "default/external-net",
          "interface": "pod0fd4e90722c",
          "mac": "02:00:00:18:92:ed",
          "dns": {}
      }]
    k8s.v1.cni.cncf.io/networks: '[{"interface":"pod0fd4e90722c","mac":"02:00:00:18:92:ed","name":"external-net","namespace":"default"}]'
    k8s.v1.cni.cncf.io/networks-status: |-
      [{
          "name": "k8s-pod-network",
          "ips": [
              "<IP_ADDRESS>"
          ],
          "default": true,
          "dns": {}
      },{
          "name": "default/external-net",
          "interface": "pod0fd4e90722c",
          "mac": "02:00:00:18:92:ed",
          "dns": {}
      }]
    keypair: master
    kubectl.kubernetes.io/default-container: compute
    kubevirt.io/domain: vm
    kubevirt.io/migrationTransportUnix: "true"
    kubevirt.io/vm-generation: "17"
    managedk8s: "false"
    post.hook.backup.velero.io/command: '["/usr/bin/virt-freezer", "--unfreeze", "--name",
      "vm", "--namespace", "default"]'
    post.hook.backup.velero.io/container: compute
    pre.hook.backup.velero.io/command: '["/usr/bin/virt-freezer", "--freeze", "--name",
      "vm", "--namespace", "default"]'
    pre.hook.backup.velero.io/container: compute
    securityGroups: '["c5071a6b-d606-4fde-86c1-6bcc3160bb28", "eb99fdd0-560f-4f85-b3a4-3780a22f3a00"]'
  creationTimestamp: "2024-01-08T12:06:22Z"
  generateName: virt-launcher-vm-
  labels:
    kubevirt.io: virt-launcher
    kubevirt.io/created-by: f2eb100b-a60e-46d3-8918-4b4f422ff829
    kubevirt.io/domain: vm
    kubevirt.io/nodeName: x86-poc-worker
    vm.kubevirt.io/name: vm
  name: virt-launcher-vm-ktmkc
  namespace: default
  ownerReferences:
  - apiVersion: kubevirt.io/v1
    blockOwnerDeletion: true
    controller: true
    kind: VirtualMachineInstance
    name: vm
    uid: f2eb100b-a60e-46d3-8918-4b4f422ff829
  resourceVersion: "229787812"
  uid: 03251174-2f58-4926-b110-812398ce1c65
spec:
  automountServiceAccountToken: false
  containers:
  - command:
    - /usr/bin/virt-launcher-monitor
    - --qemu-timeout
    - 317s
    - --name
    - vm
    - --uid
    - f2eb100b-a60e-46d3-8918-4b4f422ff829
    - --namespace
    - default
    - --kubevirt-share-dir
    - /var/run/kubevirt
    - --ephemeral-disk-dir
    - /var/run/kubevirt-ephemeral-disks
    - --container-disk-dir
    - /var/run/kubevirt/container-disks
    - --grace-period-seconds
    - "45"
    - --hook-sidecars
    - "0"
    - --ovmf-path
    - /usr/share/OVMF
    - --run-as-nonroot
    env:
    - name: XDG_CACHE_HOME
      value: /var/run/kubevirt-private
    - name: XDG_CONFIG_HOME
      value: /var/run/kubevirt-private
    - name: XDG_RUNTIME_DIR
      value: /var/run
    - name: KUBEVIRT_RESOURCE_NAME_external-net-net
    - name: POD_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
    image: quay.io/kubevirt/virt-launcher:v1.0.0
    imagePullPolicy: IfNotPresent
    name: compute
    resources:
      limits:
        cpu: "17"
        devices.kubevirt.io/kvm: "1"
        devices.kubevirt.io/tun: "1"
        devices.kubevirt.io/vhost-net: "1"
        memory: 164522Mi
      requests:
        cpu: "17"
        devices.kubevirt.io/kvm: "1"
        devices.kubevirt.io/tun: "1"
        devices.kubevirt.io/vhost-net: "1"
        ephemeral-storage: 50M
        memory: 164522Mi
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        add:
        - NET_BIND_SERVICE
        drop:
        - ALL
      privileged: false
      runAsGroup: 107
      runAsNonRoot: true
      runAsUser: 107
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/run/kubevirt-private
      name: private
    - mountPath: /var/run/kubevirt
      name: public
    - mountPath: /var/run/kubevirt-ephemeral-disks
      name: ephemeral-disks
    - mountPath: /var/run/kubevirt/container-disks
      mountPropagation: HostToContainer
      name: container-disks
    - mountPath: /var/run/libvirt
      name: libvirt-runtime
    - mountPath: /var/run/kubevirt/sockets
      name: sockets
    - mountPath: /var/run/kubevirt-private/vmi-disks/bootdisk
      name: bootdisk
    - mountPath: /var/run/kubevirt/hotplug-disks
      mountPropagation: HostToContainer
      name: hotplug-disks
  dnsPolicy: ClusterFirst
  enableServiceLinks: false
  hostname: vm
  nodeName: x86-poc-worker
  nodeSelector:
    cpumanager: "true"
    kubernetes.io/arch: amd64
    kubevirt.io/schedulable: "true"
    node-role.kubernetes.io/worker: ""
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  readinessGates:
  - conditionType: kubevirt.io/virtual-machine-unpaused
  restartPolicy: Never
  schedulerName: default-scheduler
  securityContext:
    fsGroup: 107
    runAsGroup: 107
    runAsNonRoot: true
    runAsUser: 107
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 60
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - emptyDir: {}
    name: private
  - emptyDir: {}
    name: public
  - emptyDir: {}
    name: sockets
  - emptyDir: {}
    name: virt-bin-share-dir
  - emptyDir: {}
    name: libvirt-runtime
  - emptyDir: {}
    name: ephemeral-disks
  - emptyDir: {}
    name: container-disks
  - name: bootdisk
    persistentVolumeClaim:
      claimName: vm-boot-dv

/remove-lifecycle rotten
@gunine what kind of workload did you run inside the VM?
@Avr8 https://github.com/kubevirt/kubevirt/blob/e6207f255d85c24567f1d28b5a6f232279ae68ff/pkg/virt-controller/services/template.go#L1443

Is there any resolution to this?

Hey @gunine!
It would be helpful if you'd share more details, like which type of workload is running inside the guest, and libvirt's domain XML.
That being said, due to Kubernetes' memory model it is required to set a memory limit (or, more precisely, create a pod of Guaranteed QoS) in order to allocate dedicated CPUs. The VM pod (virt-launcher) doesn't only run the guest, but also runs QEMU, libvirt and other managerial processes that are essential to run the guest.
Kubevirt tries to guess how much memory overhead is needed in order to run both the guest and the managerial layer. While this guess is usually good enough, it is not guaranteed to always be valid for every VM. Usually the guess starts to be off when the guest memory is high, which is the scenario with your VM (160 GB RAM).
The following field might help, which also documents what I've explained above:
https://github.com/kubevirt/kubevirt/blob/96c9f1180eb8770d58a1f74eb70f0a569d074e8e/staging/src/kubevirt.io/api/core/v1/types.go#L2495-L2501
If you wish to avoid using this as a cluster-wide setting, it is also possible to manually set the memory request/limit for specific VMs as well.


Update issue templates

How to test

[ ] Automatic tests should pass

Review

[ ] Tests executed by GitHub actions
[ ] "Merge and deploy" approved by
Thanks for filling in who performed the code review and the test!

This version is a

[ ] MAJOR - when you make incompatible API changes
[x] MINOR - when you add functionality in a backwards compatible manner
[ ] PATCH - when you make backwards compatible bug fixes or documentation/instructions

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

Project coverage is 95.30%. Comparing base (123ee47) to head (105727c).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #130   +/-   ##
=======================================
  Coverage   95.30%   95.30%
=======================================
  Files          11       11
  Lines         490      490
=======================================
  Hits          467      467
  Misses         23       23

Flag
Coverage Δ

unittests
95.30% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Python filter: regex.mon triggers error 'dict' object has no attribute 'mon'

Describe the bug
I tried to write a python filter that takes a short month name and returns the corresponding month number. I took the python filter example from the docs that changes the last name into an email, and changed it as needed (see below)
Issue
The preceding regex filter creates a mon attribute.
Python should be able to fetch that attribute as
regex.mon

but I get an error instead: (python) ERROR! 'dict' object has no attribute 'mon'
When I change the code as follows:
regex["mon"]

the code works.

OS: macOS 12.6
Output of organize --version: organize, version 2.2.0
Python 3.10.8

Your config file
  - name: "Monthly Hours"
    tags:
      - finances
    locations:
      - ~/Downloads
    filters:
      - extension: csv
      - regex: 'Monthly_Hours_(?P<year>\d\d\d\d)-(?P<mon>...)'
      - python: |
          print(regex)
          print(regex["year"])
          print(regex.mon)  # <- This syntax errors out
          months = {
            "Jan": "01",
            "Feb": "02",
            "Mar": "03",
            "Apr": "04",
            "May": "05",
            "Jun": "06",
            "Jul": "07",
            "Aug": "08",
            "Sep": "09",
            "Oct": "10",
            "Nov": "11",
            "Dec": "12",
          }
          return {"month": months[regex["mon"]]}
    actions:
      - move: "target_dir/Monthly_Hours_{regex.year}-{python.month}.csv"

Output of organize sim:
  Monthly_Hours_2022-Jan-01-2022-Jan-31.csv
    - (python) {'year': '2022', 'mon': 'Jan'}
    - (python) 2022
    - (python) ERROR! 'dict' object has no attribute 'mon'

Update: This seems to be a documentation error in the organize docs.
The syntax dict.attribute fails in plain Python as well.
>>> regex = { "year": "2022", "mon": "01" }
>>> regex.mon
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'mon'

Thanks for reporting. Yes, this is a documentation issue. The dotted dictionary access is only available in the templates, not in Python code.


Can we run this on Theano?

Hi Xi,
I want to run the code on Theano. Can you suggest any other implementation of CapsNet which is over Theano?.
Thanks.

@vivek14632 I believe this repo can be easily adapted to Theano backend by taking care of the order of data channels and some tf functions.
There maybe other implementation by Theano, which you can search on GitHub.

Thanks @XifengGuo


Question regarding this commit

feat: 允许查看历史响应结果
In your recent commit, I can't see any changes? can you kindly please explain where this take effect. where to viewing historical response results? I see a group button is implemented but can't access it

Like this. Only after regenerate response, it will be shown. The function is to display the previous response.

Like this. Only after regenerate response, it will be shown. The function is to display the previous response.

thank you Kerwin. I have another question regarding this commit: chore: Each dialog context is independent
Can you please explain how this works: Each dialog context is independent. I mean a working principle.

If I need a certain chat room just to provide me with the function of regular expressions, every time I enter, for example, email, it will only return the regular expression of email. Or the function of translation, I only need to input the original text, and he will output the translated content for me. At this time, there is actually no need for context association, because this has already been set in the prompt. So closing the context at this time can reduce the consumption of tokens. Adding this commit is convenient for different chat rooms to switch settings, so save this setting for a certain chat room

Each room can set its own status, without forgetting when switching rooms.
Most of the time, regular expressions and translations do not require context and should be turned off. This avoids frequent switching and is easy to forget.
The purpose is to reduce the consumption of tokens.


When setting the value, item in the overlay should be selected

It needs some changes in vaadin-list-box see  https://github.com/vaadin/vaadin-list-box/issues/7

Shouldn't value be read-only? Example: https://www.webcomponents.org/element/PolymerElements/paper-dropdown-menu/elements/paper-dropdown-menu#property-value

As far as I know, this component should replace vaadin-combo-box in bakery, so it should be possible to set the value with the item in the database.
Also this element should be a replacement for the native select that allows to execute select.value = 'foo'
Not familiar with paper solution though

The value of <vaadin-dropdown-menu> is by default textContent of a listed item. It would be weird if you had to set the value to match textContent of some arbitrary html content (that might not event have been stamped yet). Only logical API for selecting would be to mark an item as selected. @jouni?

Well, I see this working the same way as combo box and radio group: each item can have a specified “value” to which we can match.
For example:
<vaadin-dropdown-menu selected="1234">
  <template>
    <vaadin-list-box>
      <vaadin-item value="1234">Jose</vaadin-item>
      <vaadin-item value="2345">Manolo</vaadin-item>
      <vaadin-item value="3456">Pedro</vaadin-item>
    </vaadin-list-box>
  </template>
</vaadin-dropdown-menu>

Without that, you are right, it doesn’t make much sense to match to the textContent. Although, for simple string content that could be very convenient. But I’m not sure that use case is that relevant.
Bonus question:
Can we omit the <vaadin-list-box> from the boilerplate, and just have:
<vaadin-dropdown-menu selected="1234">
  <template>
    <vaadin-item value="1234">Jose</vaadin-item>
    <vaadin-item value="2345">Manolo</vaadin-item>
    <vaadin-item value="3456">Pedro</vaadin-item>
  </template>
</vaadin-dropdown-menu>

It’s not like you should be putting anything else there, right?

@jouni you meant value or label as the custom value we are copying to the dropdown value ?
Related with textContent, I agree that is convenient to select it, in this way is done with native select
<select>
  <option value="volvo">Volvo</option>
  <option >Audi</option>
</select>

select.value = 'volvo' -> selects 1st item
select.value = 'Volvo' -> selects empty
select.value = 'Audi' -> selects 2nd item

Side note: not having a value property on <vaadin-dropdown-menu> makes it harder to submit it in <iron-form>. Would prefer having value both on items and on the menu element.
What concerns the bonus question: let us consider shortcuts later. Would prefer explicit <vaadin-list-box>.

Not having <vaadin-list-box> needs to include the nav complexity into the dropdown.
It also might remove the current feature of replacing vaadin-list-box with vaadin-tabs or any other custom element the developer could make.

Having explicit <vaadin-list-box> allows more flexible use in the future: user’s custom list box elements inside, arbitrary dropdown content aside the list box, and so on.
It does not mean we have to support all of these use cases in the first version. For now, we can document that only <vaadin-list-box> is supported. What I like about explicit <vaadin-list-box> is that this kind of an API is more open for adding dropdown content customisation features in future. Shortcuts could be added later as well.

What concerns the bonus question: let us consider shortcuts later.

Yes, absolutely. I just couldn’t help myself and wanted to ask this already.

Not having  needs to include the nav complexity into the dropdown.

My thinking was that we could “inject” that automatically in the shadow DOM. So in the end vaadin-list-box would still be there handling the navigation, but we would make the dropdown-menu API a bit more convenient.

this kind of an API is more open for adding dropdown content customisation features in future

Yeah, it has more flexibility, which I would not like to lose either. Just thinking if we would want to make some conditional magic depending on what element is used as the direct child of the template.

@jouni you meant value or label ? as the custom label is what we are copying to the dropdown value ?

I meant value, not the visible label in the UI.

My thinking was that we could “inject” that automatically in the shadow DOM

My thinking was that we could “inject” that automatically in the shadow DOM

I see the point, yes that is doable

So my proposal for setting the value is:
When dropdown.value changes, it visits the array dropdown._menuElement._navItems (_menuElement is a Vaadin.ListMixin), and calculates the selected index based on the first element that matches the value attribute, the label attribute or the textContent string, and updates the selected property of the _menuElement appropriately.

Maybe we could limit it to value. "..the label attribute or the textContent string" could make it quite magical

Also, this would not block us from later adding a property like attr-for-value (that would default to value)

Maybe we could limit it to value

Maybe we could limit it to value

Which implies that the users always need to provide a value. I feel like we have to remove the code that assigns dropdown.value = label || textContent

Had a discussion with the team and PM and the following was agreed:

<vaadin-dropdown-menu> should have a read/write value property.
The value property will change only if a <vaadin-item> with value defined gets selected. In that case, value will equal to that of the <vaadin-item>’s.
If <vaadin-dropdown-menu>’s valueis changed, a <vaadin-item> with a matching value gets selected (if one exists).
Align behaviour with <vaadin-radio-group>

value is optional for the <vaadin-item>s since <vaadin-dropdown-menu> can still be used without value for example by binding to selected property of the wrapped <vaadin-list-box> or selected property of <vaadin-item>s.

Now I’m wondering about the semantic difference between “value” and “selected”…

well selected will be needed when multi-select menus


CB-12879-1: Add tests around GcpEnvironmentNetworkConverter

Related to CB-12979.
I'm touching code in the parent class, EnvironmentBaseNetworkConverter.java and want to add regression tests to make sure I don't break anything.

retest this please

If I understand correctly, the goal of this PR is to get the tests in place before your changes, so that we'll be able to detect any regression problems your next set of changes potentially cause?

If I understand correctly, the goal of this PR is to get the tests in place before your changes, so that we'll be able to detect any regression problems your next set of changes potentially cause?

Yes! It also establishes the test classes which I'll then add on to for the main changes in CB-12879.

If I understand correctly, the goal of this PR is to get the tests in place before your changes, so that we'll be able to detect any regression problems your next set of changes potentially cause?

Yes! It also establishes the test classes which I'll then add on to for the main changes in CB-12879.

What a great proactive change :). Thanks for doing it!


Update configure-ad-fs-and-azure-mfa.md

Change $certbase64 to $newcert in section ### Configure each new AD FS Azure MFA certificate in the Azure AD tenant.

(ref. #3542)

(ref. #3542)


QC Fiber photometry

Document for the website access: https://docs.google.com/document/d/18FO78rAbUU19wX9oN3lfyD6kNqvFsil5t_jE2oAbKVE/edit

There are 2 sheets:

https://docs.google.com/spreadsheets/d/1I2kD-YbsfETNxUKikHrGNirCWTvSKbq0UQ2T3h5i7_E/edit?pli=1&gid=1587932980#gid=1587932980 The one where we did the QC, that is at the session level
https://docs.google.com/spreadsheets/d/1YlvY1RoqxSMwWqFx7MJjaQd6gwRIsxqszqbs0Yw5wHM/edit?gid=0#gid=0 There is another sheet where Kcenia labelled each fiber (that is equivalent to a chronic insertion)

We want to have a feel for the quality of all recorded photometry sessions at IBL.

photometry website recipes: https://docs.google.com/document/d/18FO78rAbUU19wX9oN3lfyD6kNqvFsil5t_jE2oAbKVE/edit
-overview spreadsheet: https://docs.google.com/spreadsheets/d/1I2kD-YbsfETNxUKikHrGNirCWTvSKbq0UQ2T3h5i7_E/edit?gid=1587932980#gid=1587932980

[ ] label sessions acquired at CCU as a first pass and provide pivoted statistics

[ ] despike / handle sharp photobleaching for unknown sessions

[ ] add sessions from Princeton to the website

Alejandro refs:

https://int-brain-lab.github.io/iblenv/notebooks_external/loading_photometry_data.html
https://github.com/int-brain-lab/ibldevtools/blob/c025b236b04bb15e8bbb25449e1b526b56abadaa/olivier/2024-10-09_load_photometry_alejandro.py#L19-L18
https://github.com/alejandropan/fiber_photometry/blob/master/DAQ_extractor.py > dff_qc

[ ] Fiber photometry - Run code from Georg on Alejandro's dataset

[ ] run qc on the level of individual animals


How to stop listening to signals

I am binding an event handler as followed
var screenSaver;
sessionBus.getService('org.gnome.ScreenSaver').getInterface(
    '/org/gnome/ScreenSaver',
    'org.gnome.ScreenSaver',
    function(err, _screenSaver) {
        screenSaver = _screenSaver;

        screenSaver.on('ActiveChanged', screenSaverActiveChange);
    }
);

Now after some time I want to unbind the screenSaverActiveChange event handler, so I tried,
screenSaver.removeListener('ActiveChanged', screenSaverActiveChange);

But it says,

removeListener not implemented for dbus signals

Now, what is the correct way to unbind this event handler? Is there any other way I can implement the similar thing?

yes, it's currently not implemented. You can manually call sessionBus.removeMatch(rule) - see how to construct rules here: http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-routing-match-rules

And feel free to send PR if you add proper support for interface.removeListener :)

Could you provide an example for bus.removeMatch?
I tried this:
> bus.signals._events
{ '{"path":"/org/mpris/MediaPlayer2","interface":"org.freedesktop.DBus.Properties"}': [Function],
  '{"path":"/org/mpris/MediaPlayer2","interface":"org.freedesktop.DBus.Properties","member":"PropertiesChanged"}': [ [Function], [Function] ] }
> bus.removeMatch('path=\'/org/mpris/MediaPlayer2\',interface=\'org.freedesktop.DBus.Properties\',member=\'PropertiesChanged\'', function(err, data){console.log(err, data)})
undefined
> undefined undefined
> bus.signals._events
{ '{"path":"/org/mpris/MediaPlayer2","interface":"org.freedesktop.DBus.Properties"}': [Function],
  '{"path":"/org/mpris/MediaPlayer2","interface":"org.freedesktop.DBus.Properties","member":"PropertiesChanged"}': [ [Function], [Function] ] }

What you tried looks ok to me. Do you still get signals back after removeMatch?
Note that removeMatch only changes your subscription on the bus, you still need to call removeListener to remove EventEmitter handler from associated signal event ( but first even part should be enough as it would prevent signal messages from being sent to your client )
note that to implement this properly we probably need to refcount signals as multiple path in the code can subscribe ( = AddMatch ) and only last removeListener need to cause RemoveMatch to be invoked

also see #26

Yes, I still receive signals (I bound a simple logging function to the Event, and I still get the output).
I never used any EventEmitter handlers, so what would I need to do to remove it?

bus.signals is EventEmitter ( https://github.com/sidorares/node-dbus/blob/master/lib/bus.js#L16 )
but handler is not assigned directly ( see https://github.com/sidorares/node-dbus/blob/master/lib/introspect.js#L37 )
The fact that you receive signals means match rule is probably not correct. Can you print one used by AddMatch? Add console.log(match) before https://github.com/sidorares/node-dbus/blob/master/lib/introspect.js#L32

Okay, this actually worked:
> dbus = require('dbus-native')
{ [Function: createConnection]
  createClient: [Function],
  [...]
  createServer: [Function] }
> bus = dbus.sessionBus()
{ connection:
   { domain:
      { domain: null,
  [...]
  nameHasOwner: [Function] }
> var interface
undefined
> bus.getService('org.mpris.MediaPlayer2.spotify').getInterface('/org/mpris/MediaPlayer2', 'org.freedesktop.DBus.Properties', function(err, _interface){interface = _interface})
undefined
> function testLog(a, b, c) {console.log(a); console.log(b); console.log(c)}
undefined
> interface.on('PropertiesChanged', testLog)
type='signal',member='PropertiesChanged'
undefined
> org.mpris.MediaPlayer2.Player
[ [ 'Metadata', [ [Object], [Object] ] ] ]
[]

undefined
> bus.signals._events
{ '{"path":"/org/mpris/MediaPlayer2","interface":"org.freedesktop.DBus.Properties","member":"PropertiesChanged"}': [Function] }
> bus.removeMatch("path='/org/mpris/MediaPlayer2',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'")
undefined
> org.mpris.MediaPlayer2.Player
[ [ 'Metadata', [ [Object], [Object] ] ] ]
[]
> bus.signals._events
{ '{"path":"/org/mpris/MediaPlayer2","interface":"org.freedesktop.DBus.Properties","member":"PropertiesChanged"}': [Function] }
> bus.removeMatch("type='signal',member='PropertiesChanged'")
undefined
> bus.signals._events
{ '{"path":"/org/mpris/MediaPlayer2","interface":"org.freedesktop.DBus.Properties","member":"PropertiesChanged"}': [Function] }
>

I don't get the logging output anymore now. I think I was confused by the bus.signals._events containing something different that seemed to match the binding.

On doing removeListener on bus.signals, I am able to get bus.signals._events empty after changing a bit in introspect.js.
My problem now is, do I still need to do RemoveMatch after  bus.signals._events is empty for some signal or is it taken care of?

I think I now understand how this works - interface.on is a binding for bus.addMatch and bus.signals.addListener.
It adds a match for the signal you specified (e.g. ActiveChanged) so that every time an ActiveChanged DBus signal is sent, it checks the listeners specified in bus.signals._events if it matches any of them.
If it finds a listener that matches, it executes that (e.g. the path is /org/gnome/ScreenSaver, the interface is org.gnome.ScreenSaver and the signal sent is ActiveChanged).
So when you remove the listener, you still have the match so it will still check your listeners everytime an ActiveChanged signal is sent.
If you remove the match, you still have the listener, so when you do interface.on again, you'll have two listeners doing the same.

Hmm. looking into it. Will send a PR soon, if everything goes fine!

See #63.

@jazzpi bus.addMatch sends a message to a dbus daemon "hey, whenever you have 'ActiveChanged' signal message, please send it to me as well". bus.signals serves as a client side router: it's a node EventEmitter, and event name here is signal + object path + interface ( so that same signals from different objects / interfaces are distinguished )
@nisargjhaveri as I mentioned, signals needs to be refcounted client side. Imagine that in two parts of your code working with one single dbus connection you have on('signal1', handlerOne) and on('signal1', handlerTwo). RemoveMatch needs to be sent only when both listeners are removed on client, otherwise when you remove handlerOne handlerTwo stops getting messages

also it looks like match rule is very broad - it's for any signal matching a name ( regardless of object / interface ) and additional filtering is performed at client. Need to add object and interface to a match rule

I think, It takes care of interface at https://github.com/sidorares/node-dbus/blob/master/lib/introspect.js#L37. See the signalFullName argument.
Also, can you look at the PR. I think I have taken care of the removeMatch problem you mentioned.

only client side- see match rule printed in https://github.com/sidorares/node-dbus/issues/60#issuecomment-87395532 is type='signal',member='PropertiesChanged' and does not include service name / object path or interface name

@nisargjhaveri I think both problems still exist: 1) you can accidentally remove match for all signals with that name while you intended to unsubscribe only from one and 2) if you have multiple listeners for one signal RemoveMatch needs to be sent when last listener is removed

Oh wait! It just doesn't care which interface it is when addMatch or removeMatch is called. This means that if some other interface has member with same name, it is also matched. Am I right?
In that case, Shouldn't we should change addMatch and reomoveMatch also to account for object path and interface name?
Also, is there any way to get all handlers listening to a single match?

yes. Documentation on how to construct match rule is here - http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-routing-match-rules
I would suggest to use dbus-monitor as a tool to explore & verify match rules

I've updated the PR. Can you look at it?

Thanks! Looks good to me! I'll try to test match rules.
Some style nitpicks: use [] instead of new Array() and arr.length = 0 to clear array instead of arr = new Array();
https://coderwall.com/p/h4xm0w/why-never-use-new-array-in-javascript
http://stackoverflow.com/questions/4804235/difference-between-array-length-0-and-array
http://www.2ality.com/2012/12/clear-array.html

@nisargjhaveri moving discussion to pr thread


⚠ Bofrost.at has degraded performance

In d33ea5c, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 816 ms

Resolved: Bofrost.at performance has improved in 0d8c11e after 307 days, 2 hours, 18 minutes.


Prepare release 0.8.3

Our CI tests are failing on version 0.8.2 because of missing facts so we'd like to get a new release with the new changes if possible.

Coverage remained the same at 100.0% when pulling 29cc9dd1070b15ef4931d98a983980628f55f4c2 on Phil0xF7:release-0.8.3 into df02b39800a6096c6f796da6a77f7c82c93928a6 on camptocamp:master.

+1

Any objections on a 1.0.0 release?

@bastelfreak No objections from me :)

This PR is obsolete since https://github.com/camptocamp/facterdb/pull/134


Error when unprovision app versions

When using the Unprovision option to remove unused App Type versions, after correctly entering the name/version of the type to confirm the operation, first i don't get any feedback (as the button still states "Unprovision") then after few seconds i get two error notifications (see attachment)
Reloading the page shows that the app type version have been correctly removed.

It appears that some actions attempt to get called twice.


Cmorizers for ESACCI data

Includes: AEROSOL, CLOUD, FIRE, LANDCOVER, OZONE, SOILMOISTURE, SST.

The OBS filenames have been changed in view of #775 (see this comment).


Incorrect indentation for lodash arrow function

See this example.
The result is indented in a strange way:
_method() {

    let classNames = document.body.className.split( " " );

    return _.some( classNames, (className) => {

        return className === "a";
      } ) === false;
  }

.esformatter file:
{
    "plugins": [
        "esformatter-jsx"
    ],
    // this is the section this plugin will use to store the settings for the jsx formatting
    "jsx": {
        // by default is true if set to false it works the same as esformatter-jsx-ignore
        "formatJSX": true,
        // keep the node attributes on the same line as the open tag. Default is true.
        // Setting this to false will put each one of the attributes on a single line
        "attrsOnSameLineAsTag": false,
        // how many attributes should the node have before having to put each
        // attribute in a new line. Default 1
        "maxAttrsOnTag": 1,
        // if the attributes are going to be put each one on its own line, then keep the first
        // on the same line as the open tag
        "firstAttributeOnSameLine": true,
        // default to one space. Make it empty if you don't like spaces between JSXExpressionContainers
        "spaceInJSXExpressionContainers": " ",
        // align the attributes with the first attribute (if the first attribute was kept on the same line as on the open tag)
        "alignWithFirstAttribute": true,
        "htmlOptions": { // same as the ones passed to js-beautifier.html
            "brace_style": "collapse",
            "indent_char": " ",
            "indent_size": 4,
            "max_preserve_newlines": 2,
            "preserve_newlines": true
        //wrap_line_length: 250
        }
    }
}

@doque hi don't really see the issue in the formatting,
can you post also what is the expected/desired formatted output?
Also, the demo in requirebin is still pending to update to the latest version of esformatter-jsx/esformatter
Can you give it a try to https://github.com/royriojas/esbeautifier and see if you can replicate the issue there?

Desired output would be:
_method() {
    let classNames = document.body.className.split( " " );
    return _.some( classNames, (className) => {
    	return className === "a";
    }) === false;
}

I can replicate this issue with esbeautifier as well, using default settings.

@doque are u able to replicate the issue while not using the plugin?


arm64 docker image

Description of the new feature / enhancement
An arm64 docker image would be great especially since I'm trying to use it with https://github.com/spantaleev/matrix-docker-ansible-deploy and I am on an arm64 box.
Scenario when this would be used?
arm64 machines
Further information
No response

Is there at least a way to self-build this? I can't find any docs about it.


Dialog subtitle support in additional to prehead

Area
UI Components
The problem
It would be nice to have an option to display some text at the bottom of Dialog header, similar to existing prehead option.
Guidance from my Content team:

Preheaders are often used to introduce a section or draw attention to important information. They're not necessarily related to titles or subtitles.
A subtitle, on the other hand, is a secondary text element that provides additional information or context to the main title. Subtitles can be used to provide a brief description, clarify the main title, or provide further details about the content of the design.

On top of #3601
The solution

Alternatives and examples
Add subtitle to body section of Dialog
Are you a JPMorgan Chase & Co. employee?

[X] I am an employee of JPMorgan Chase & Co.

@bhoppers2008  to prioritise design effort

@bhoppers2008 what's the priority of this, as not in your list

Cortado Goal:
Complete by EOS

Kick off scheduled with @yunjungyeh @origami-z + @dplsek for 08/08

Will be closed by #3839


Update dependencies

This PR updates most of the dependencies except for child_pty.
I added eslint-plugin-react to the root package because otherwise eslint would sometimes complain about not being able to find the plugin when running it manually.
On my system, building with child_pty using version v3.0.3 or v3.0.4 caused CTRL-C to stop working. However, CTRL-C does work properly again if you build from master. Since Gottox/child_pty@f416b22 is the only post-v3.0.4 commit, it appears that some termios flags (probably ISIG, maybe others) are not being set properly.
I did try to fix that by calling setattr after the pty is created with child_pty.spawn() in session.js but still couldn't get it to work. In any case, the termios stuff has been removed after v3.0.4 so it's probably not worth bothering with.

CCing @gottox to he knows

Thank you!


Change default percent of scrolling(50%) to switch to next snap point

I need less than 50% scroll the bottom sheet to switch him to next snap point. Help pls)

I have same problem.
I find in lib code:
node_modules/reanimated-bottom-sheet/src/index.tsx:350
for (let i = 1; i < snapPoints.length; i++) {
      middlesOfSnapPoints.push(divide(add(snapPoints[i - 1], snapPoints[i]), 2))
}

From this follows the intermediate point is always 50% of the distance between the points.
In my case, I just changed the divisor.

I have same problem.
I find solution - toss field in springConfig attr:
<BottomSheet
    springConfig={{
        toss: 10,
    }}
     ...
    />

Thanks =)

Hi @zybkinel , can you explain what this "toss" prop does?

Hi @Filetes97, I found a better solution: https://jeremybarbet.github.io/react-native-modalize/#/

@zybkinel ahah funny. I started the transition to that lib too.
It looks better for the solution I need :)


Only try to serialize PhoneNumber instances

Dear team, I stumbled upon a small issue in my project, and am proposing a fix below.
AbstractBillingAddress has no phone_number field. For reasons I'm not sure about, Oscar has code dealing with it's existence. I suppose because it's common to add the field? The existing code assumed that a PhoneNumberField model field would be added, which might not always be the case.
I stumbled upon this in a project of mine where phone_number was a CharField (for reasons...). That would break with an AttributeError. The fix is easy enough, we check if we're indeed dealing with a PhoneNumber instance before calling as_international on it.
Note that this fix does not need to be applied to shipping addresses, because there we actually define a PhoneNumberField, so our assumptions hold.

The test failure seems to be related to npm, not my changes.

@maikhoepfel thanks for this. The CI build is failing because of your changes - a flake8 error:
src/oscar/apps/checkout/utils.py:3:1: E302 expected 2 blank lines, found 1
Could you please update to fix that?

(Never mind - I've fixed it for you).

Thanks! And sorry about the flake8 error.


ACAD-658 Enable the ability to configure an internal and an external login system at the same time

The first commit here is to enable the configuration of the dual login system. When internalAndExternal is set, a user can select from logging in via an external system or just use an internal account.
The second commit is a commented-out sample configuration override in config_custom.js
https://jira.rsmart.com/browse/ACAD-658
This also contains the fix for https://jira.rsmart.com/browse/ACAD-659 -- allowing the top navigation links to have additional configurability.

Merged


Add scrollbars to the workflow UI

Is this a BUG REPORT or FEATURE REQUEST?:
Bug
What happened:
Using a large-scale DAG visualization, with deep hierarchies and multiple steps is difficult as UI does not have scrolling option.
**What you expected **:
Option to pan, resize and scroll the large workflows.

I think this works as described.


Update version of rust-toolchain for cargo-compare extended tests

Update the version while https://github.com/EmbarkStudios/cfg-expr/pull/41 is in progress.

Done with bad49e55b978365cf6fa47a67ceefe070e299c0e


add params for create schema

Hello.
We need some parameters before creating models in vertica for better working of our queries.
So we propose some parameters for models:

order_by_string - string of order by columns ("col1,col2,col3")
segmented_by_string - string of segmented by columns ("col1")
partition_by_string - string of partition by columns ("EXTRACT(YEAR FROM col1)*10000 + EXTRACT(MONTH FROM col1)*100")

And set KSAFE = 0 for all models, if database is "docker", because it use for development, and KSAFE = 1 in other.

Hello.
This is official doc - https://www.vertica.com/docs/11.1.x/HTML/Content/Authoring/SQLReferenceManual/Statements/CREATETABLE.htm
'order by' is about indexing in vertica and effective storing data on disks.
'segmented by' is key for splitting of data batch to the current node.
'partition by' is about delete or archive old data.
ksafe is replication factor for vertica.

Hi @barloc ,
I was more thinking towards our docs so we can explain how to use the functionality.
Question: have you written any tests for this to make sure it works, and it won't accidently break if we refactor anything?

The KSAFE parameter shouldn't be hardcoded as 0 or 1 based on the database name. This should be an option just like the others.
We definitely need a test to go along with this.

I also see that you're checking that these tables aren't temporary in many cases here, which isn't necessary in each case.
Temporary tables seem to allow segmentation, ordering, ksafe. They don't allow partition clause. Even in the latter case, should we be protecting the user from themselves here?

I realize this is a lot of questions.
I think this would be a great addition, to fully utilize table optimization on Vertica. However, we need to get this right!

One more thought: you're allowing these to be set by strings, when really they are often lists of columns. Rather than the user setting col1,col2, they should be able to use a list instead.

the other option, if this isn't handled by dbt, is to first create the table before dbt runs and force dbt to insert into them rather than build the tables (incremental). I don't really like that, since dbt creating tables is a big part of what it's doing.
you could also argue that this can just be handled by creating appropriate projections outside of dbt. however, that's imposing a lot of work when dbt could just do these table-level optimizations while it runs.

one more thing - we would need to check that the table is not being created a view.
a neat concept that I haven't tried yet, but plan to, is forcing dbt to build everything as views in a different schema just to validate the sql syntax, before building the actual data pipeline.

That is true. A large part of dbt is that a lot of the DDL is hidden behind the scenes. Just a fine line on where to draw this. Perhaps it's on a what makes sense. I do think they are value adding additions, of course it's important to need to challenge ideas

the other option, if this isn't handled by dbt, is to first create the table before dbt runs and force dbt to insert into them rather than build the tables (incremental). I don't really like that, since dbt creating tables is a big part of what it's doing.
you could also argue that this can just be handled by creating appropriate projections outside of dbt. however, that's imposing a lot of work when dbt could just do these table-level optimizations while it runs.

I reopened this, with nearly identical code as https://github.com/vertica/dbt-vertica/pull/39


Feature: Added Random Mesh Gradient Background & LinkedIn Banner Ratio

I raised an issue about feature request #1 where I mentioned why we require this feature.
Implementation Details of #1

Modified Files

package.json

added meshgrad as devDependencies (meshgrad is a lightweight package that is used to generate mesh gradient CSS properties.)
pnpm-lock.json

src/route/+page.svelte

Added LinkedBanner in the ratios list with its dimensions
Added Random Mesh Gradient in bgOptions
Added Styling for applying gradient properties on the background

New Created Files

src/lib/components/RegenerateGradientButton.svelte

Button same as InputImage

Result of Implementation

Why do we need this feature & How it's useful?

As I already mentioned the requirement in issue #1, It makes the code look stunning if there is a colorful mesh gradient background as shown in the result section.

Let me know in case more info is needed!
Thanks!

Hey @eldadfux, @TGlide
Waiting for your review on this PR!
Let me know if more info is needed from my end.
Thanks!

Hey, this is awesome! I'd say the mesh gradient is useful, but it should be limited to brand colors only. Do you think that's possible?

Sure, Let me give it a try! Meanwhile can you please provide me a color palette for the appwrite theme?

Sure, Let me give it a try! Meanwhile can you please provide me a color palette for the appwrite theme?

The colors are present in src/styles/colors.scss :)


forex: float support

Adds support for float input to forex
Before:

After:

Noticing now that float conversion error should return error as message instead of throwing generic command error

Added custom response :)

Is there a reason you aren't using dcmd.Float?


Improved image names & README Improvements

The two image names are postfixed with "-nvidia" in build.yml for more clarity
The README now mentions the new images and not the one simply called "nvidia" as after #26 it is no longer updated.

Note: Build not properly tested as my repository is not configured correctly. I'm trusting that the on: pull_request: trigger will test building this. I believe the build will succeed with proper configuration, as only the image name (and one line which depended on it) has been changed in build.yml with code I did verify working.

Thank you, this is very helpful!

RE: Failed checks

Wasn't aware of conventional commits, will have to keep that in mind
The changes in build.yml aren't crucial, as ublue doesn't really need to have some other image named just "silverblue" or "kinoite"'

We can always merge even if the coventional commits fails, that's more to get us used to generating useful changelogs, etc. but we're still figuring stuff out.


Default keycloak password is not working

Describe the bug: (a clear and concise description of what the bug is)
I am unable to login to Keycloak with the password in the install log.
To Reproduce
Steps to reproduce the behavior:
I looked in the logs, here is the content:
    #  To start using Otomi, first follow the post installation steps: https://otomi.io/docs/installation/post-install/
    #  The URL to access Otomi Console is: https://otomi.xxxxxxxx.nip.io
    #  The URL to access Keycloak is: https://keycloak.xxxxxxxx.nip.io
    #  When no external IDP was configured, please log into Keycloak first to create one or more users and add them either to the 'team-admin' or 'admin' group.
    #  The password of the Keycloak admin user is: xxxxxxxxx

Expected behavior: (a clear and concise description of what you expected to happen)
I expect the password in the logs to work.
Cluster(s):

Cloud: GCP
Cluster: [e.g. demo]

Hi, I think the docs are not clear enough on this perhaps, but you must log in with the keycloak url first and create a user there. You can recognize the url as it uses the "master" realm.
Afterwards you can log in with that user with the otomi url.
Can you check if that works?

We added a first user during install to bypass this problem. The log output is updated to reflect that. Closing this issue.


how to request/reply when using NewEncodedConn (Go client)

hi,
I tested the request/reply operation with success by following the provided examples.
but I can't find a way to combine request/reply with encoded connections, because either my subscribe handler is like func(msg *nats.Msg) (which receives the raw message, including the reply-to field) or is like func(s *mystruct) (which does not receive a reply-to field)
maybe there could be a type of handler like this: func (s *mystruct, raw *nats.Msg) so the raw/un-encoded message could be available if necessary.

https://github.com/nats-io/go-nats/blob/master/enc.go#L113
https://github.com/nats-io/go-nats/blob/master/enc_test.go#L149

Ah I see what you are asking. You can easily roll your own as well.

my point is, when we use:
msg, err := nc.Request("help", []byte("help me"), 10*time.Millisecond)

nats will automatically create a new response inbox and set it into the message (see https://github.com/nats-io/go-nats/blob/master/nats.go#L2600)
and so, the following code is possible:
nc.Subscribe("help", func(m *Msg) {
    nc.Publish(m.Reply, []byte("I can help!"))  // <-- here m.Reply is available because m is of type *Msg
})

but when we use encoded connections, like in:
nc, _ := nats.Connect(nats.DefaultURL)
c, _ := nats.NewEncodedConn(nc, nats.JSON_ENCODER)
// (...)

// msg, err := c.Request(subj, &myStruct, time.Second)  // no way here to use the encoder

then:
nc.Subscribe("help", func(s *MyStruct) {
    nc.Publish(s.Reply, []byte("there is no s.Reply field available"))
})

I know I could manually generate a response subject, subscribe to it, insert it in a Reply field I should add to MyStruct (*), send the message and sync wait into my new subject... but all this seems too inconvenient when compared to the former way.
(*) I could better create my version of Msg like this:
type MyMsg struct {
  Reply string
  MyStruct MyStruct // or interface, whatever
}

and then use MyMsg in the encoded request....
am I missing something? I mean... is there a way to combine encoded connections AND request/reply?

I understand your point. I would write a wrapper of my own for your responder. Encoded conns don't directly support that at the moment.

For the subscriber you can create func that has reply in it but encodes the request properly.
Example here: https://github.com/nats-io/nats.go/blob/master/enc_test.go#L192


Installation Failure

C:\windows\system32>cinst autodesk-fusion360
Installing the following packages:
autodesk-fusion360
By installing you accept licenses for the packages.

autodesk-fusion360 v2.0.1407 [Approved]
The package autodesk-fusion360 wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider setting
 'allowGlobalConfirmation'. Run 'choco feature -h' for more details.
Do you want to run the script?([Y]es/[N]o/[P]rint): y

WARNING: Write-ChocolateyFailure is deprecated and will be removed in v2. If you are the package maintainer, please use 'throw $_.Exception' instead.
ERROR: Cannot bind argument to parameter 'packageName' because it is an empty string.
The install of autodesk-fusion360 was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\autodesk-fusion360\tools\chocolateyInstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - autodesk-fusion360 (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\autodesk-fusion360\tools\chocolateyInstall.ps1'.
 See log for details.

Looks like the code was depending on a pre-defined variable that is not pre-defined any more...


Activate Enrollment does not work.

[Enter feedback here]
Hello Team,
As I was go over the documentation for activate enrollment as below link, from this guide I am afraid this guide does not active the enrollment.
https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/direct-ea-administration#to-activate-an-enrollment
I had test with the customer and found out that enrollment was still in pending status, even though the customer clicked the right enrollment from the billing scope page.
Under the essentials category, the enrollment was still in pending status, so I had to guide the customer again to activate by log-in EA Portal.
I could not retrieve any screenshots from the customer however, it would be great if you could double check this guidance and help to edit it, please?
Thank you.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: f83c18d8-14be-4262-035f-0caa6e2cf3b2
Version Independent ID: 17274f5d-d9fa-fdc3-2f72-e421be13cd00
Content: EA Billing administration on the Azure portal - Microsoft Cost Management
Content Source: articles/cost-management-billing/manage/direct-ea-administration.md
Service: cost-management-billing
Sub-service: enterprise
GitHub Login: @bandersmsft
Microsoft Alias: banders

@sarahyoon Thank you for bringing this to our attention. We will review the document and get back to you soon.

@sarahyoon Closing, as the EA Billing team has verified that the article is technically accurate. If you feel a doc update is needed, please reopen this issue and tell me what updates might help clarify.
#please-close


Issue with doctrine:decrypt:database command

When I use the  doctrine:decrypt:database command, I get the following error :
In DoctrineDecryptDatabaseCommand.php line 102: Cannot use object of type App\Entity\User as array
The bug fix is quite easy, I believe. You just have to modify line 102 in DoctrineDecryptDatabaseCommand.php:
Actual code :
$entity = $row[0];
Fixed code :
$entity = (is_array($row) ? $row[0] : $row);
Sorry I did not make a pull request, but I'm not sure how to do that...

Created a pull request for this in Feb see #63

@lamselli Just bumped into this issue. Thank you... saved me time in debugging.


cleanup : custom commands

Description
cleanup: custom commands used to generate the deprecated api dashboard
Motivation
Better maintainability and allow re-usage of its methods and rules

Pull Request Test Coverage Report for Build 956908851

0 of 218 (0.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 0.93%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/reports/custom/custom_helpers.go
0
65
0.0%

pkg/reports/custom/api_dash_report.go
0
76
0.0%

pkg/reports/custom/deprecate_rules.go
0
77
0.0%

Totals

Change from base Build 954065949:
-0.1%

Covered Lines:
18

Relevant Lines:
1935

💛  - Coveralls


Incorrect undefined variable on return statement

Environment data

VS Code version: Version 1.32.3 (1.32.3)
Extension version (available under the Extensions sidebar): Python Version 1.32.3 (1.32.3)
OS and version: macOS 10.14.4
Python version (& distribution if applicable, e.g. Anaconda): N/A
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: N/A

Expected behaviour
No problem reported
Actual behaviour
Undefined variable problem reported
Steps to reproduce:
def _():
    return [int(x) for x in range(5)]

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
Starting Microsoft Python language server.
[Info  - 10:23:15 PM] GetCurrentSearchPaths /usr/local/bin/python3
[Info  - 10:23:15 PM] Python search paths:
[Info  - 10:23:15 PM]     /private/var/folders/5v/x8dcvr4n2wl0dlq2pxd35y2w0000gn/T/4p2tms4o.xpz
[Info  - 10:23:15 PM]     /usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7
[Info  - 10:23:15 PM]     /usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload
[Info  - 10:23:15 PM]     /usr/local/lib/python3.7/site-packages
[Info  - 10:23:15 PM] Configuration search paths:
[Info  - 10:23:15 PM]     /usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python37.zip
[Info  - 10:23:15 PM]     /usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7
[Info  - 10:23:15 PM]     /usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload
[Info  - 10:23:15 PM]     /usr/local/lib/python3.7/site-packages
[Info  - 10:23:15 PM]     /usr/local/bin
[Info  - 10:23:15 PM] Microsoft Python Language Server version <IP_ADDRESS>
[Info  - 10:23:16 PM] Initializing for /usr/local/bin/python3

Where is this Undefined variable problem reported reported.
Please provide a screen sample.

@DonJayamanne Oh yeah :). I did take a screenshot and forgot to attach it.

I have the same issue with:

VS Code version: 1.30.0
ms-python.python version: 2019.1.0
OS: Linux

The issue comes up every time there is some code in the form of:
def f():
  return [g(idx) for idx in some_list]

Issue moved to Microsoft/python-language-server #882 via ZenHub


Updates actual plan text to enable/disable instead of include/exclude

This PR updates the actual execution plan button text to "Disable Actual Plan" and "Enable Actual Plan".

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.002%) to 42.121%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/query/browser/queryActions.ts
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/sql-bindings/src/common/azureFunctionsUtils.ts
1
72.73%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
28170

Relevant Lines:
62399

💛  - Coveralls


[oadp-1.3] bump kubevirt to 0.6.2

Signed-off-by: Tiger Kaovilai<EMAIL_ADDRESS>Why the changes were made
We're using a VERY old kubevirt plugin in prow tests and dev setup
How to test the changes made
make deploy-olm and check the deployment

/retest-required

I saw some errors I never saw: api server may have been down. Should we investigate that?

Error came from https://github.com/openshift/velero/pull/315

Error came from openshift/velero#315

uh oh..  Tiger please investigate this.

Takes about 20 sec after creation to fail.
2024/06/20 21:04:31 Creating backup mysql-csi-e2e-90f0f6b7-2f48-11ef-a75a-0a580a812821 for case mysql-csi-e2e
2024/06/20 21:04:41 backup phase: InProgress
2024/06/20 21:04:52 backup phase: Failed

/retest

fix fyi: https://github.com/openshift/velero/pull/324/

/hold for https://github.com/openshift/velero/pull/324

/retest
/unhold

/retest


Github integration: API rate limit exceeded

First of all, congratulations and thanks for the great work being done on Github integration #363.
Describe the bug
On a large repository where there are a lot of commits, API rate limit is always so I can't generate the release note.
My understanding from #363 is that ALL of the commits in the repository is fetched, so in this way every git cliff attempt will be turned down by the API limit. Even if # of the commits to be contained in a release note is small (e.g. between two minor releases), it's not like the PR information about each commit is fetched but it's like git-cliff is trying to fetch everything.
To reproduce
neovim/neovim has ~28k commits as of today.
git clone https://github.com/neovim/neovim && cd neovim

Apply the patch:
diff --git scripts/cliff.toml scripts/cliff.toml
index 3fc10e5d1..bc1f22c56 100644
--- scripts/cliff.toml
+++ scripts/cliff.toml
@@ -1,5 +1,9 @@
 # configuration file for git-cliff (0.1.0)

+[remote.github]
+owner = "neovim"
+repo = "neovim"
+
 [changelog]
 # changelog header
 header = """
@@ -18,12 +22,12 @@ body = """
     ### {{ group | upper_first }}
     {% for commit in commits%}\
         {% if not commit.scope %}\
-            - {{ commit.message | upper_first }}
+            - {{ commit.message | upper_first }} (#{{ commit.github.pr_number }})
         {% endif %}\
     {% endfor %}\
     {% for group, commits in commits | group_by(attribute="scope") %}\
         {% for commit in commits %}\
-            - **{{commit.scope}}**: {{ commit.message | upper_first }}
+            - **{{commit.scope}}**: {{ commit.message | upper_first }} (#{{ commit.github.pr_number }})
         {% endfor %}\
     {% endfor %}
 {% endfor %}\n

Then run:
git cliff --config scripts/cliff.toml v0.9.4..v0.9.5  --github-token <TOKEN>

Expected behavior
No errors.
Screenshots / Logs
Bunch of API limit errors (possibly one log is per page request):
▹▹▸▹▹ Retrieving data from GitHub... (neovim/neovim)

 ERROR git_cliff_core::github    > Request error: {
  "documentation_url": "https://docs.github.com/en/free-pro-team@latest/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits",
  "message": "You have exceeded a secondary rate limit. Please wait a few minutes before you try again. If you reach out to GitHub Support for help, please include the request ID D7CB:1218:1333433:289A206:65902213."
}

Software information

Operating system: macOS 14
Rust version: 1.73.0
Project version: git-cliff 1.4.0 (built from source) after #363 is merged to master

Additional Information
If I may suggest, fetching PR information for only the relevant commits, e.g., via https://api.github.com/repos/neovim/neovim/commits/COMMIT/pulls, would be an alternative, efficient way.

Hello! 🐻

First of all, congratulations and thanks for the great work being done on Github integration

Thank you! I'm glad it is being tested already before the release.

Even if # of the commits to be contained in a release note is small (e.g. between two minor releases), it's not like the PR information about each commit is fetched but it's like git-cliff is trying to fetch everything.

Yes, I mentioned the reasoning behind this briefly in #363 and the problem is generating the list of "new contributors". GitHub doesn't provide an API for easily fetching this so we need all the data for figuring out if someone has contributed to the repository in the past.
I don't know how to solve this yet. One thing we can do for large repos is that use date filters for the GitHub API requests so that we only request the relevant part of the history. But then you won't be able to generate the list for first-time contributors - but you can still list the contributors of the release.
Do you think that would be something feasible?

If I may suggest, fetching PR information for only the relevant commits, e.g., via api.github.com/repos/neovim/neovim/commits/COMMIT/pulls, would be an alternative, efficient way.

This means fetching the pull request for each commit which adds up to a lot of requests as well.

Thanks for the reply.
For me, I don't need "first-time contributors". It would be great if there's a knob for this. If this is disabled, we might be able to save a lot of unnecessary API calls.

Yes, I agree. I think I send less API requests based on whether "first-time contributors" variable is used in the template and document this behavior.

I took a stab at this at #431, however it doesn't have a significant speed up for the neovim repository. Although git-cliff only requests a time frame of the commits/PRs, it still takes a lot of time due to the number of pull requests. Maybe it makes more sense to use the commit/pulls API instead as you mentioned. But that approach might also take some time in cases where there are not a lot of PRs but commits.
Any ideas?

Also, it's not clear how many requests are (unawarely) being made through git cliff. Can we make it a bit more verbose?

You can see the network requests via giving -v flag while running `git-cliff.

Thanks, -v is helpful. #431 reduces the number of API calls, but if I understood correctly it still tries to fetch all the PRs, rather than only in a given range (there are ~30K PRs!) right? I think we might need a fundamentally better approach of not fetching all the (unnecessary) data. Fetching pull information for each of the commits can be also limited, because the number of commits in a big release can be thousands and we probably don't want to make thousands of pulls API calls.

it still tries to fetch all the PRs given a time range right? However, for me it still gives the secondary API limit error on 11-12 pages (which were requested in < 1 seconds) Guess this might be a throttling issue?

Yes, it needs to fetch all the PRs in the given time range (and there is a lot 😕) There is probably a throttling issue.

Fetching pull information for each of the commits can be also limited, because the number of commits in a big release can be thousands and we probably don't want to make thousands of pulls API calls.

Exactly. :/


API report return type flips order during build

@tylerbutler any idea why this keeps flip flopping? seen in it my changes as well
Originally posted by @anthony-murphy in https://github.com/microsoft/FluidFramework/pull/6106#discussion_r632758224

I think this was fixed by upgrading api-extractor, but I am keeping this open so I can test it.


{Redis} Updating Redis api version in Private endpoint configuration

Description
Updating the Redis api version to the latest in private endpoint configuration
Testing Guide
Test private endpoint commands over redis resources
example: az network private-endpoint-connection list --id /subscriptions/{subscriptionID}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Cache/Redis/{AzureCacheName}
This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Redis

@evelyn-ys I see some failures in PR check which is not related to my change.

/azp run

@gorandom Can you sync with latest dev branch?

@evelyn-ys @kairu-ms Can you check and merge this PR?