Make Build One Step

Is your feature request related to a problem? Please describe.
Currently while editing the dashboard templates or regenerating the library with newer specs, it can take a lot of setup and teardown.
Describe the solution you'd like
It would be a good idea to create a Makefile that will take care of the building and code generation for us. Having to run through the commands and clean things up inside the client/ directory is pretty annoying for small changes.
Describe alternatives you've considered
We could theoretically make the template a separate repo and vendor in the OpenAPI spec, but I think for now it would be best to have a Makefile that runs through all the commands inside of the README in the client/ directory.

That's a great suggestion. Using a Makefile to automate the build process will undoubtedly help save time.
An alternative worth considering is to leverage a tool like act to run GitHub Actions files locally.
By separating the existing "generate.yml" into "check-version.yml," "generate.yml," and "release.yml," we could preserve the triggered workflows and just run our targeted build process locally.
I have had success using this tool with other repositories, and it is potentially a fit here as well.

Added a Makefile and updated docs with detailed instructions.


chore: remove binary propagator

Follow-up of #762

Codecov Report

Merging #804 into master will decrease coverage by 0.79%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #804     +/-   ##
=========================================
- Coverage   93.13%   92.34%   -0.8%
=========================================
  Files         244      231     -13
  Lines       12228    10071   -2157
  Branches     1232      962    -270
=========================================
- Hits        11389     9300   -2089
+ Misses        839      771     -68

Impacted Files
Coverage Δ

...telemetry-tracing/test/BasicTracerRegistry.test.ts
100% <ø> (ø)
:arrow_up:

packages/opentelemetry-tracing/src/config.ts
100% <ø> (ø)
:arrow_up:

packages/opentelemetry-tracing/src/Tracer.ts
96.55% <ø> (-0.17%)
:arrow_down:

packages/opentelemetry-api/src/trace/NoopTracer.ts
100% <ø> (ø)
:arrow_up:

packages/opentelemetry-api/test/api/api.test.ts
96.66% <ø> (ø)
:arrow_up:

...-api/test/noop-implementations/noop-tracer.test.ts
47.82% <ø> (+47.82%)
:arrow_up:

...opentelemetry-node/test/NodeTracerProvider.test.ts
100% <ø> (ø)
:arrow_up:

...ry-scope-async-hooks/src/AsyncHooksScopeManager.ts
96.55% <0%> (ø)
:arrow_up:

...y-exporter-stackdriver-trace/test/exporter.test.ts
100% <0%> (ø)
:arrow_up:

...ckages/opentelemetry-core/src/common/NoopLogger.ts
50% <0%> (ø)
:arrow_up:

... and 202 more

@open-telemetry/javascript-approvers Please review when you get a chance.


what is the actual motivation for this proposal?

As I understand it, there is no downside to giving a class a name. There is nothing you can do with an unnamed class that you cannot do with a named class. Correct me if I'm wrong. Given that, what motivation does this proposal have other than not having to choose a name for your class? If I choose the name _class for my class, it is only one character off from what you propose and works today with no language changes.

For me, having to repeat the name increases both refactoring burden and also the risk of bugs (ie, the primary benefit of object destructuring to me is that you don't have to repeat the property name, even if it's really short).

I don't know, you could say that about any name used anywhere. If you change a binding, you must also change the references. Between tooling, error messages, and vigilance, renaming variables has proven to not be a huge source of bugs.

To be honest, I feel this proposal was more like a "patch" for a serious footgun of private class fields/methods, but as https://github.com/tc39/proposal-class-access-expressions/issues/4#issuecomment-688039020 , such try was failed and removed for some reasons I have not yet fully understood.


Add missing ${DOCKER_BUILD_ARGS}

Add missing "${DOCKER_BUILD_ARGS}" for building rpm with docker build,
this is quite important when running make rpm behind http proxy.
Signed-off-by: Zhang Wei<EMAIL_ADDRESS>

As said above, I need to pass the HTTP_PROXY and HTTPS_PROXY down to docker build in case to cross our firewall, This should be a reasonable change. :smile:


Cannot import local storage nugets via Nuget.Server import

Describe the bug
I have a local storage feed run under Nuget.Server. I am trying to upgrade to BaGet and no matter what I do I get an error. BaGet is running behind IIS. Tried in console and IIS mode with no results
To Reproduce
Steps to reproduce the behavior:

Using this version of BaGet 'v0.3.0-preview4'
Running the script from the Nuget.Server folder as per the documentation for importing Nuget.Server
With these arguments   -  as per documentation
See error - redacted

nuget.exe push -Source http://localhost:5060/v3/index.json "Packages\***********.nupkg"
Pushing ******** to 'http://localhost:5060/v3/index.json'...
Failed to process request. 'Method Not Allowed'.
The remote server returned an error: (405) Method Not Allowed..

Expected behavior
Packages are pushed and visible in BaGet UI
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Console error
      Executing endpoint '405 HTTP Method Not Supported'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '405 HTTP Method Not Supported'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/v3/index.json'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint 'BaGet.Hosting.ServiceIndexController.GetAsync (BaGet.Hosting)' w
ith route pattern 'v3/index.json' is valid for the request path '/v3/index.json'

dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint 'BaGet.Hosting.ServiceIndexController.GetAsync (B
aGet.Hosting)'```

Found a workaround
in the import script replace
Write-Host "nuget.exe push -Source $destination ""$path"""   & nuget.exe push -Source $destination $path
With
Write-Host "dotnet push -k <apikeyifyouhave> -s $destination ""$path"""   & dotnet push -k <apikeyifyouhave> -s $destination ""$path"""


Android: Video Encoding progress do not completed

Environment

Android API Version:4.3, 4.2.1, 6.0.1
AIR SDK Version: 26.0
Device: Moto G (2nd Generation)
Os:Android 6.0
Device Link: http://www.gsmarena.com/motorola_moto_g_dual_sim_(2nd_gen)-6648.php

Problem Description

Screen flicker (shows previous screen for a some milliseconds-then shows animation screens for some milliseconds, so it looks fleshing lights in mobile) while video creation process is in progress.
I do not interrupt the process of the video creation, so encoding event was listed and it do not completed.

Steps to Reproduce

Open the app
Tap a button to start video creation process
Animation flickered after 2 to 3 seconds.

Hi, thanks for the report. The flicker is a known issue in some situations, though I saw it mostly happening when video camera was displaying a video. Does the app display video camera output on screen?
Android device log would help me to determine why the encoding didn't complete, otherwise there's no chance to tell.
Also if you can, try to record in software mode:

see if you observe the flicker  (I think you shouldn't)
see if you can finish the encoding

Thanks

Hello @rainbowcreatures
Please find the log in the link:
https://www.dropbox.com/s/2k5iaj17b9fm7dg/FWlog.txt?dl=0

Hello @rainbowcreature
I found that when i start the recording with software method by belowcode, it do not record the video and directl shows merge video log
Here is the code for starting the recording for android:
_fwEncoder.start(24, FWVideoEncoder.AUDIO_STEREO, false);
				_fwEncoder.forcePTSMode(FWVideoEncoder.PTS_REALTIME);   //  force software mode to work in realtime
				_fwEncoder.forceFramedropMode(FWVideoEncoder.FRAMEDROP_ON);   //  force software mode to work in realtime

Here is the log message i get instantly after starting the record.
[FlashyWrappers] Merged file path: /storage/emulated/0/Android/data/air.app_package_id/files/video_merged.mp4

Hello @rainbowcreatures
Am i doing any mistake in starting record with software mode ?

This seems weird, the first log is only the "clean" FWLog, I'd need complete device log for the whole of the recording session. Also set FW logging to "verbose" mode before starting:
http://flashywrappers.com/asdoc/com/rainbowcreatures/FWVideoEncoder.html#setLogging()
Android Studio device log

Hello @rainbowcreatures
Here is Android studio device log:
https://www.dropbox.com/s/ng5t8gntc94199r/Flashy_wrapper_Android Studio device log.txt?dl=0
i found that plugin is crashed. Here are the stacktrace of crash:
09-20 10:30:30.848 29274-29927/? I/ACodec: setupVideoEncoder succeeded
09-20 10:30:30.863 29274-29925/? E/[EGL-ERROR]: EGLBoolean __egl_platform_create_surface_window(egl_surface*, mali_base_ctx_handle):787: [__egl_platform_create_surface_window]: dequeueBuffer fail on native win 0x5b39c008, buffer 0x0
09-20 10:30:30.868 29274-29925/? W/System.err: java.lang.Exception: eglCreateWindowSurface: EGL error: 0x3003
09-20 10:30:30.868 29274-29925/? W/System.err:     at com.rainbowcreatures.FlashyWrappersAndroidHW.ae.a(Unknown Source)
09-20 10:30:30.868 29274-29274/? I/[FlashyWrappers]: Waiting for composer to start...
09-20 10:30:30.868 29274-29925/? W/System.err:     at com.rainbowcreatures.FlashyWrappersAndroidHW.ae.<init>(Unknown Source)
09-20 10:30:30.868 29274-29925/? W/System.err:     at com.rainbowcreatures.FlashyWrappersAndroidHW.z.a(Unknown Source)
09-20 10:30:30.868 29274-29925/? W/System.err:     at com.rainbowcreatures.FlashyWrappersAndroidHW.ag.handleMessage(Unknown Source)
09-20 10:30:30.868 29274-29925/? W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:99)
09-20 10:30:30.868 29274-29925/? W/System.err:     at android.os.Looper.loop(Looper.java:176)
09-20 10:30:30.868 29274-29925/? W/System.err:     at com.rainbowcreatures.FlashyWrappersAndroidHW.af.run(Unknown Source)
09-20 10:30:30.868 29274-29925/? W/System.err:     at java.lang.Thread.run(Thread.java:841)
09-20 10:30:30.868 29274-29925/? I/[FlashyWrappers]: Finishing composerRunnable loop...

Nice catch @jkpatel1463 , so its in OpenGL (eglX messages). This is a low-level issue. It is something specific to this Android device make/model/Android or GL ES implementation. Without having the exact device here this will be hard to debug.
The only weird thing I see is width and height reported as -1 by Android before initialization.
You might try swapping around couple resolutions when initializing recording, that's the only thing that seemed to sometimes help with weird GL ES implementations. I particularly remember there were strange issues with the Mali GPU's, unfortunately. Maybe try forcing 1280x720 (or even lower, but something "safe", ie same as Android screen resolution):
myEncoder.setDimensions(1280, 720);
myEncoder.start(....);

Software mode won't help with this, as the video composer I'm using to render the final video uses GL ES as well (I could add one that doesn't use GL ES, but making fallback purely software mode seemed like overkill, its not too trivial and might bring its own issues).


ocis full deployment example WOPISERVER_DOMAIN(s)

In the deployment example valid for v5, we only have one WOPISERVER_DOMAIN valid for both office products which are onlyoffice and collabora.
With v6 (rolling) we now have:

WOPISERVER_DOMAIN which is valid for collabora only, see the collabora.yml file
WOPISERVER_ONLYOFFICE_DOMAIN which is valid for onlyoffice only, see the onlyoffice.yml file.

Q1: is there a particular reason splitting that up?
Q2: what is planned when integrating office 365? (see PR: #9686) will there be an additional envvar in .env?
The background of the question is, that we have deployment examples in the admin docs where we need do document if wopiserver domains need to be considered in the setup when using valid certificates with letsencrypt.
@micbar
@tbsbdr fyi

Please wait after my vacation

Simple explanation: The collaboration service needs a wopiserver domain for every single web office.


fix: adding sysmsg() to failed metadata calls

Tests are passing

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[WIP] Failure 0.2

Hi! This PR introduces a few of the things I've talked about in #287, namely:

[x] Compile on the 2018 Edition
[x] Rename #[derive(Fail)] to#[derive(Error)]
[x] Rename failure::Error to failure::DefaultError

Still needed:

[ ] Review all documentation for accuracy
[ ] Compile without warnings, especially in the AsFail for Fail definition.
[ ] Rename Fail to ErrorExt
[ ] Change the derive to work on std::error::Error, pending backtrace support in std. This might need to wait until Failure 0.3, however—I haven't thought through the ramifications of that breaking change.

Feedback, help and contributions are welcome!

I think ChainedError or ErrorChain or LinkedError are other good names. I would love to see some progress and decision on this PR.


Reward page is not looking nicely when using many reward types

Description
When using reward types that are e.g. Average position, average position market a, average position market b etc the tables gets mixed up and are not usable.
https://governance.fairground.wtf/rewards

Acceptance Criteria

[ ] Filter out all reward types except global rewards and infra fees since these are the ones relevant for stakers

Wont do this ... this screen is being decommissioned as this is all now in Console.
Have asked about it

Someone needs to pick this up for the release as its properly bugged out in FG now

@JonRay15 I've made a change to correctly filter out reward types that aren't relevant for the table. Just wanted to double confirm which reward types were expected. Can you confirm what types we want to show?


[FLINK-16345][table-planner-blink] Fix computed column can not refer row time attribute column

What is the purpose of the change
If a computed column refers a rowtime column (the column has been defined watermark), a query on the table will be failed with the following exception:
[ERROR] Could not execute SQL statement.

Verifying this change

added a unit plan test to reproduce this problem and verify the changes.

Does this pull request potentially affect one of the following parts:

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

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

cc @danny0405

I don't fully understand this, if we just throw time indicator information, how to support process time field? Downstream operators how to know this is a process time field?

I don't fully understand this, if we just throw time indicator information, how to support process time field? Downstream operators how to know this is a process time field?

We didn't drop the time indicator information. The RelDataType from CatalogSourceTable to TableScan -> Project -> Watermark is identical, which means it keeps the time indicators. After translation, the time indicator is attached by Watermark node.

LGTM, +1 for merging.

Thanks for the reviewing @libenchao @danny0405 , will merge this.


use apache git path in release.pl

use apache git path in release.pl
(cherry picked from commit 6ba77187a2b5c25f50a1cd2a1e44ec702e2acdfd)

already merged to 1.8.x


Can't increase Sorcerery points on Sorcerer only

Hi There. Have 2 issues, but main one is with Sorcerer, the in game value for sorcerery points won't change using the party editor for Sorcerer only. Any other class can increase or decrease no issues.
Second issue, more minor, is that I'm stuck with all spells being available to any caster, even after turning off that feature. Not sure how to fix it.
Any help is greatly appreciated, thanks!

Unfortunately party editor is in beta and the original developer isn’t working on it. Nothing I can do about it. Share a save for the second issue.

Unfortunately there isn't much I can do to help here. This save file is corrupted. Probably reason why you're seeing all the spells.


Make a proper LOST form.

I will make a proper Lost form using bootstrap

please assign this to me

I am done with this form...Please assign this to me.


Add --compile_one_dependency as overrideable flag

Documented here: https://docs.bazel.build/versions/3.7.0/user-manual.html#flag--compile_one_dependency

What an interesting flag! Thanks for sending in the PR.

What an interesting flag! Thanks for sending in the PR.

I'm trying this locally and I don't know that it actually does the right thing. It keeps Bazel from barfing while querying for targets, but I think the list of watched files is incomplete because changing them doesn't cause ibazel to run another build.

I'm trying this locally and I don't know that it actually does the right thing. It keeps Bazel from barfing while querying for targets, but I think the list of watched files is incomplete because changing them doesn't cause ibazel to run another build.

I wrote the code a long time ago, but I don't think flags passed into ibazel are passed into the bazel query. This would only affect the flags sent to the build, test or run invocation.
Or, I'm totally wrong and forgot how it worked

I wrote the code a long time ago, but I don't think flags passed into ibazel are passed into the bazel query. This would only affect the flags sent to the build, test or run invocation.
Or, I'm totally wrong and forgot how it worked


Render signatures for externally defined symbols

Currently, hover messages only render signatures for symbols that are defined within the repository. The compiler plugin has all of the information to emit SymbolInformation for externally defined symbols as well so it would be nice if we added support for that as.

For just rendering signatures, this should be relatively trivial. The awkward part comes from also extracting the javadoc.
If we decide to get the javadoc via the source jars, I have previous work that was functional for the job (albeit with a non-zero amount of hacks due to 1) my inexperience at the time and 2) the unfortunate reliance on non-stable-guaranteed APIs.
Aside from that, performance took a nose dive (runtimes more than doubled iirc) once I implemented that, so I would be very much for doing this processing on a separate thread/thread pool if that functionality is permitted by the compiler API.

I think we can separately deliver external signatures and docstrings. Signatures are more helpful IMO (but I suspect other people disagree) and they're easier to implement. The big question is whether external signatures should be emitted by semanticdb-javac or if they should be loaded on-demand during SemanticDB->LSIF conversion.
I think it would be ideal if we can do it on-demand. There is an API called "metacp" from the Scalameta repo that reads signatures directly from classfiles without a compiler. Alternatively, maybe we can somehow use semanticdb-javac APIs as a library during LSIF generation 🤔

For javadocs, we can build on top of the new ClasspathEntry.sources field here https://github.com/sourcegraph/lsif-java/blob/04287b3d3bad99e1dffc0c6c623b4a3f284f1c76/lsif-java/src/main/scala/com/sourcegraph/lsif_java/buildtools/ClasspathEntry.scala#L19
It's currently None most of the time but that can be fixed with small changes to the Maven/Gradle integrations.
I suspect performance will degrade if we use the javaparser library but we should first confirm with benchmarks before eliminating that route. The Metals repo has an API called "mtags" that already loads docstrings on-demand that we can use. The benefit of mtags and metacp is that they also support Scala.

@Strum355 given that https://github.com/sourcegraph/sourcegraph/issues/21057 has been fixed, what do you think about closing this issue with "wontfix"? Once we have cross-repo navigation, the hover message will anyways include the signature

Yea that seems reasonable to me :+1:


Remove unnecessary null pointer checks

Extra null pointer checks are not needed in functions like the following.

AACEncoder
AMFValue::destroy
H264Encoder

Hello, thank you very much for your advice. I'm on vacation, so I'll reply you now,
I've checked all the suggestions you mentioned. If it's not in a destructor, it's still necessary to check the null pointer. At present, this code runs well. Deleting the redundant null pointer will not improve the performance, but deleting the code may cause unnecessary irritation, so I plan not to modify the code temporarily,thak you!

How do you think about to use a development tool like “clang-tidy” for corresponding source code adjustments?

I agree with you very much about dangling pointer. At present, I also try to use smart pointer to avoid using raw pointer. Because some of the codes in zlmediakit have a long history, some of them are not very elegant but without bug, Some unimportant points or details don't need to be paid much attention to. Although it's very simple to modify the code, it's very troublesome to test the code. To be honest, I think it's possible to introduce bugs into the proposed changes...


update sqlx from 0.3 to 0.5

When you update the SQLX version from 0.3 to 0.5
First I changed
 Pool::new(&db_url).await.unwrap()
for
 Pool::connect(&db_url).await.unwrap()
Then, this error occurs:

error: one of the features ['runtime-actix-native-tls', 'runtime-async-std-native-tls', 'runtime-tokio-native-tls', 'runtime-actix-rustls', 'runtime-async-std-rustls', 'runtime-tokio-rustls'] must be enabled
--> /home/jose/.cargo/registry/src/github.com-1ecc6299db9ec823/sqlx-rt-0.5.10/src/lib.rs:9:1
|
9  | / compile_error!(
10 | |     "one of the features ['runtime-actix-native-tls', 'runtime-async-std-native-tls',
11 | |      'runtime-tokio-native-tls', 'runtime-actix-rustls', 'runtime-async-std-rustls',
12 | |      'runtime-tokio-rustls'] must be enabled"
13 | | );
| |_^
error: could not compile sqlx-rt due to previous error
warning: build failed, waiting for other jobs to finish...
error: build failed

I understand that I have to add runtime-async-std-rustls, as it explains here [1]. By adding it, the aforementioned error is solved, but others appear:
In all query_as!

let row = query_as!(
|  __________^
...
| |^ expected i32, found enum std::option::Option

let row = query_as!(
|  __________^
...
57 | |     )
| |^ expected struct std::string::String, found enum std::option::Option
|
= note: expected struct std::string::String
found enum std::option::Option<std::string::String>
= note: this error originates in the macro $crate::sqlx_macros::expand_query (in Nightly builds, run with -Z macro-backtrace for more info)

Please, I could give me any help with this
Thanks
Jose
[1] https://javierviola.com/post/06-basic-crud-with-rust-using-tide-final-refactor-and-complete-ci-cd/

I was reading this [1] I could solve it, but I do not understand what happens.
I had to do for each field, regardless of the same type:
my-field as "my-field!"
Is there a better way to do this?
[1] https://docs.rs/sqlx/0.5.10/sqlx/macro.query_as.html#troubleshooting-error-mismatched-types

Hi @josejachuf, that is mostly because the fields in the table accept NULL, I need to update the schema in the post since the code assume those have the NOT NULL contraint. I will try to review and update asap.
Thanks!!

I understand the point @pepoviola. On my table, only one field accept NULL, however I had to make the modification [my-field as "my-field!"]  for all fields.


Explain parent signer when creating a SubDAO.

Needs discussion
Need to add some text explaining that the parent will be added as a signer when creating a multi sig subDAO.
right now if you create a subDAO, the subDAO will show as having 1 more signer then it actually does.
OR
Subtract 1 from signers total on multisig subDAOs (this is kind of a bad representation hack)

Closing this, as this is being addressed in https://github.com/decent-dao/fractal-interface/issues/886


Code Improvements

Hi @samrocketman, I just wanted to ask if you could find some time for this pull request?

@samrocketman let me try another ping.

@darxriggs sorry about that.  I’ve been away a few months moving cross country.  I’m back now and will be active.

Thanks for contributing I will assign this to myself for testing and merging.

@samrocketman Let me try to remind you again.


STR-734: OPERATOR REASSIGNMENT

Description
Functional test where we make deposits, then trigger the withdrawal. client associated with assigned operator id is stopped. We produce l1 blocks so that the dispatch assignment duration is over, and later check if new operator is being assigned or not

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature/Enhancement (non-breaking change which adds functionality or enhances an existing one)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Refactor
[x] New or updated tests
[ ] Dependency Update

Notes to Reviewers

Checklist

[x] I have performed a self-review of my code.
[x] I have commented my code where necessary.
[x] I have updated the documentation if needed.
[x] My changes do not introduce new warnings.
[x] I have added tests that prove my changes are effective or that my feature works.
[x] New and existing tests pass with my changes.

Related Issues

STR-734

I think it's reasonable to include the fix for this ticket in this PR too, since it's all related.


contrib/k8s: Add 'nsexec' script to run commands in the network namespace of a POD

Add script 'nsexec' for running commands in the network namespace of a
k8s POD. This is useful for inspecting and debugging the networking
configuration within a pod, or originating traffic from a POD without
needing to install 'curl' in there, for example.
Currently this relies on Docker being the container runtime.
Signed-off-by: Jarno Rajahalme<EMAIL_ADDRESS>

This is a new script not being used by default, so running the CI is not necessary.


Update the PC monitor app for the SDK version 0.100 f7

Hello!
Your PC monitor app version 1.0 fails to build with the SDK version 0.100.0-rc f7. Please update the app in your repository and create a new pull request to the catalog repository with the updated manifest file.

IMPORTANT: Don’t forget to update the app version and commit version in the manifest file.

View logs
Flipper Team

I am again here!
Your PC monitor app version 1.0 fails to build with the SDK version 0.100.1-rc f7. Please update the app in your repository and create a new pull request to the catalog repository with the updated manifest file.

IMPORTANT: Don’t forget to update the app version and commit version in the manifest file.

View logs
Flipper Team


about examples/vector_field_imaging

Hello, I have some question about using your LIC.
I want to use LIC by optical flow.
The third parameter of calcOpticalFlowFarneback() is type CV_32FC2.
calcOpticalFlowFarneback(prevgray, img, flowUmat, 0.5, 1, 12, 2, 5, 1.1, 0);
flowUmat.copyTo(flow);
I think I can use flow calculated by calcOpticalFlowFarneback.
So I passed the flow to lic function but had something wrong.
printf("[LIC] Classic     -> ");
lime::npr::lic(classic, noise, flow, 20, lime::npr::LICType::Classic);
printf("OK\n");
Should I do some pre-process on the flow image first? It seems like type error.

Hello @AwenHuang
Thanks for your interest in my project.
I did not completely understand your problem, but what do you mean by "something wrong"?
You got some errors? the result is different from your expectation? or other problem?

Thanks to your reply
My problem is I want to use the flow image created by OpenCV function "calcOpticalFlowFarneback()".
(the third parameter is type CV_32FC2 which is like vfield in LIC)
cv::Mat vfield = cv::Mat(height, width, CV_32FC2);

But I passed this flow image to LIC it has some errors.

I think maybe the format of flow image (created by calcOpticalFlowFarneback()) it's not correct ?

Hello @AwenHuang,
I am really sorry for the delay in responding.
Thank you for explaining your problem in detail. I understand your problem.
I think the problem is that the output of OpenCV's optical flow method includes
flows whose "length" or "L2-norm" are over 1.
As you can see in the example, the calcVectorField in
https://github.com/tatsy/lime/blob/master/examples/vector_field_imaging/vector_field_imaging.cpp#L77
includes only the flows whose length are between 0 and 1.
Accordingly, I think normalizing your flows before computing LIC can solve your problem. If it's not working, please try other LIC algorithm than "Classic", i.e., Eulerian or Lunge-Kutta.
It is still not working, could you tell me the situation again, please?
Thank you very much for your cooperation.

@tatsy  Thanks for your explanation and guid !
I will try when I have time as soon as possible and let you know the result. Sorry for late reply I'm busy this week (mid-term week haha).

@tatsy Thanks a lot! It worked!
But I didn't normalized optical flow vector field.
I just change the LIC algorithm from classic to Eular method.

Hello @AwenHuang,
Actually, normalizing the flow field is not mandatory. However, it can cause the problem particularly when you use the classical algorithm. Eulerian is relatively robust for the magnitude of flows, it can work for your situation.
Anyway, I am happy that your problem has been solved successfully. I will close this issue soon.


Moran's I as bio conservation metric

I have finally added Moran's I as bio conservation metric.
Motivation:
Metric that captures bio preservation ** without cell type labels. Useful when no annotation is available or annotation is unreliable (e.g. for cell subtypes*).
Method:
Moran's I measures how clear spatially variable patterns genes have across embedding. Thus, if genes vary non-randomly on non-integrated data one would also want them to vary non-randomly across embedding on integrated data.

Compute HVGs on non-integrated data.
Compute Moran's I for these genes on integrated data. Case B: report mean(integrated_I).
Optional: Compute Moran's I on for each non-integrated sample. Case A: report mean(integrated_I - max(sample_I))

I have used only case B so far. But if same HVGs are used across different integrations  it might be the case that B would suffice (with less computation). However, this would need to be tested.
** This corresponded strongly to ranking from other metrics on my pancreatic beta cell subtypes.

I think this is very important point. Conservation across cell sub-types may sometimes be much worse than across cell types, as I have observed when comparing scVI and the autoencoder from scArches (not trVAE).

TODO:

Please check that code matches your parameter naming etc. or add any other parameters you may find necessary. For example I always recompute connectives.
Please check that it runs in your env (Moran's I was added to Scanpy only recently) - I did not try to run it in any of your envs, just in mine

Known issue: If any of the batches has <15 cells this will raise an Error since PCA with 15 components can not be computed.


fix(api): Use query params instead of body

📑 Description
The getVideoStatistics arguments were passed using body, but the Bunny API uses query string for this method.
The consequence was to have no argument passed to the API and return a global information (the whole library) instead of a specific video by its GUID.
The fix changes where the data are put: in the query string instead of the body.
✅ Checks

[x] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[x] All the tests have passed

ℹ Additional Information
The tests should have seen it but the cost to update the test for this case is high: it would require to upload 2 videos (easy) but also to simulate watch time (harder) to distinguish between the global stats and the specific stats which have both '0' values because no watch time is set.
To me it's not worth it.

@vladimirkosmala Great catch, I agree with your thoughts on the tests, it's not feasible or necessary to attempt to add watch time or a similar statistic


Versions link opens web office

Describe the bug
"Show file versions in web browser" opens online office, not the file list with the versions open in the sidebar.
Steps to reproduce
Steps to reproduce the behavior:

setup desktop client with<EMAIL_ADDRESS>click "Show file versions in web browser" action for New file.odt in desktop file explorer

Expected behavior
File list with the versions should open in the sidebar.

Actual behavior
Web office opens

Setup
[Log]  ownCloud Web UI 8.0.0-alpha.4  (index.html-3c2aed60.mjs, line 1)
[Log]  Infinite Scale 4.0.0+337dca17e Community  (index.html-3c2aed60.mjs, line 1)

Additional context
@TheOneRing does the desktop client compose the versions URL ? Would it be more robust if the desktop client would request the full URL from the backend?

Actual behavior
Web office opens

Same for Copy private link to clipboard and Show in web browser right-click actions:
https://ocis.ocis-wopi.latest.owncloud.works/f/0ad6c97c-f0ac-4c2d-b140-29e9ca52618c$4c510ada-c86b-4815-8820-42cdf82c3d51!75478407-899c-447b-9131-8ec1e8cf0c05


Assert input type for transform functions

add assert_is_image in transforms/image
add assert_is_bbox in transforms/bbox
refine transforms_tests/bbox_tests

Updated to pass with nosetests -a '!gpu,!slow'


Extract and refactor initial CDFContext

This simplifies encode_tile_group() and (hopefully) improves the readability of the code which retrieve the initial CDFContext.
(these are currently the 2 first commits of my #1126, which can be merged independently).

Coverage increased (+0.6%) to 82.896% when pulling 911fd02c5d7044a5262e06ffc47359a2839a747a on rom1v:get_initial_cdfcontext into 274182ef90f939382c14921e644f0d6267c6f7a4 on xiph:master.


Move setup/independent files to setup/production-environment

This PR moves the documentation under /fr/docs/setup/independent/* path to /fr/docs/setup/production-environment/* in order to match the english version.

I signed it

/assign @jygastaud

/approve

/approve

/lgtm


Typo in PFSGroup for 384-bit ECP

PFSGroup should be ECP384 not ECP284.
https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-about-compliance-crypto#a-name-dhawhich-diffie-hellman-groups-are-supported

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

ID: 98d7fd30-80a8-f690-6191-d97ae4cac174
Version Independent ID: 3e15f99b-2f2d-7adc-a2d9-0b2184989db7
Content: Azure VPN Gateway FAQ
Content Source: articles/vpn-gateway/vpn-gateway-vpn-faq.md
Service: vpn-gateway
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@lfshr Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.
@cherylmc The area with the issue is in an include, and there seem to be some pending changes to that doc.

@anzaman

@yushwang

#please-close

@lfshr We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


not implemented error while using langchain llm.with_structured_output() with gemini-pro model.

NotImplementedError                       Traceback (most recent call last)
Cell In[8], line 21
18 # LLM with function call
19 # llm = ChatOpenAI(model="gpt-3.5-turbo-0125", temperature=0)
20 llm = GoogleGenerativeAI(model="gemini-pro", temperature=0.7)
---> 21 structured_llm_grader = llm.with_structured_output(GradeDocuments)
23 # Prompt
24 system = """You are a grader assessing relevance of a retrieved document to a user question. \n
25     If the document contains keyword(s) or semantic meaning related to the question, grade it as relevant. \n
26     Give a binary score 'yes' or 'no' score to indicate whether the document is relevant to the question."""
File c:\Users\Acer\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain_core\language_models\base.py:208, in BaseLanguageModel.with_structured_output(self, schema, **kwargs)
[204](file:///C:/Users/Acer/AppData/Local/Programs/Python/Python311/Lib/site-packages/langchain_core/language_models/base.py:204) def with_structured_output(
[205](file:///C:/Users/Acer/AppData/Local/Programs/Python/Python311/Lib/site-packages/langchain_core/language_models/base.py:205)     self, schema: Union[Dict, Type[BaseModel]], **kwargs: Any
[206](file:///C:/Users/Acer/AppData/Local/Programs/Python/Python311/Lib/site-packages/langchain_core/language_models/base.py:206) ) -> Runnable[LanguageModelInput, Union[Dict, BaseModel]]:
[207](file:///C:/Users/Acer/AppData/Local/Programs/Python/Python311/Lib/site-packages/langchain_core/language_models/base.py:207)     """Implement this if there is a way of steering the model to generate responses that match a given schema."""  # noqa: E501
--> [208](file:///C:/Users/Acer/AppData/Local/Programs/Python/Python311/Lib/site-packages/langchain_core/language_models/base.py:208)     raise NotImplementedError()
NotImplementedError:

already added, closing this one.


Provide default reconcile timeout value

Solves: https://github.com/nephio-project/nephio/issues/287

/cc @johnbelamaric

/approve
/lgtm


[test] face API with enable-subclient

enable-subclient is added in my local, hence Analysis CI won't pass.
Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure:azure-ai-vision-face


update CSRFProtect in extensions

FlaskWTFDeprecationWarning: "flask_wtf.CsrfProtect" has been renamed to "CSRFProtect" and will be removed in 1.0.
http://flask-wtf.readthedocs.io/en/stable/csrf.html

Thanks!


Drop duplicate test in test_describe_empty

It appears this test is run twice. Since it is already covered once, just drop the second one.

[ ] Closes #xxxx
[ ] Tests added / passed
[ ] Passes black dask / flake8 dask

Thanks James! 😀


Pass dev to openaps-install.sh

If we want to install dev, we should tell openaps-install.sh to pull and install the dev branch.

Do we actually want to install dev here?  Aren't these the commands run by default by users installing master?  It looks like those have always pointed to the dev version of the install script (probably because we never bothered to change it to master, and never noticed because they're similar enough that it hasn't mattered), but AFAICT they've always installed master.

Yeah I think you're right; the issue this was trying to solve is turning out to be something else.

iirc it defaults to installing master if no branch is specified, I'll close this out.


FilePickerContracts Update

Update FilePickerContracts to work on mobile and desktop. Background task added to the sample, as it is need for all platforms other than desktop.

merged into staging repo. Closing this PR.


Weird heap overflow when compiling a single line of code with recursive type definition.

TypeScript Version<EMAIL_ADDRESS><EMAIL_ADDRESS>
Search Terms:

Heap overflow

Code
type Foo<T> = Extract<{[i in keyof T]: Foo<T[i]>; }[0], 0>;

Expected behavior:
Should print an error for indexing object literal with 0 or using circular references.
Or at least the same behavior as in v3.3.4000:

Output when compiled with<EMAIL_ADDRESS>

Actual behavior:
NodeJS standard heap crash report: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

Details

Playground from typescriptlang.com produces in-browser heap memory allocation failure:

Details

Playground Link:
Klick me if you are not afraid of crashing your browser's heap
Related Issues:

typesafe-joi heap overflow #30794
extremely slow compilation #30781
performance degradation since<EMAIL_ADDRESS>#30663
weird stack overflow issue #30804
stackoverflow question about heap overflow

Great! I think this will be the minimal reproduction of this issue. Thanks a lot!

The example above produces the expected errors with #30769.
t.ts:1:6 - error TS2456: Type alias 'Foo' circularly references itself.

1 type Foo<T> = Extract<{[i in keyof T]: Foo<T[i]>; }[0], 0>;
       ~~~

t.ts:1:23 - error TS2536: Type '0' cannot be used to index type '{ [i in keyof T]: any; }'.

1 type Foo<T> = Extract<{[i in keyof T]: Foo<T[i]>; }[0], 0>;
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

t.ts:1:40 - error TS2315: Type 'Foo' is not generic.

1 type Foo<T> = Extract<{[i in keyof T]: Foo<T[i]>; }[0], 0>;
                                         ~~~~~~~~~

Found 3 errors.

Confirmed that this doesn't crash in 3.5.0-rc, although the only error I get is
main.ts:1:23 - error TS2536: Type '0' cannot be used to index type '{ [i in keyof T]: Extract<{ [i in keyof T[i]]: Extract<{ [i in keyof T[i][i]]: Extract<{ [i in keyof T[i][i][i]]: Extract<{ [i in keyof T[i][i][i][i]]: Extract<{ [i in keyof T[i][i][i][i][i]]: Extract<{ [i in keyof T[i][i][i][i][i][i]]: Extract<{ [i in keyof T[i][i][i][i][i][i][i]]: Extract<{ [i in keyof T[i][i][i][i][i][i][i][i]]: Extract<{ [i in keyof T[i][i][i][i][i][i][i][i][i]]: Extract<{ [i in keyof T[i][i][i][i][i][i][i][i][i][i]]: Extract<any[0], 0>; }[0], 0>; }[0], 0>; }[0], 0>; }[0], 0>; }[0], 0>; }[0], 0>; }[0], 0>; }[0], 0>; }[0], 0>; }[0], 0>; }'.
1 type Foo = Extract<{[i in keyof T]: Foo<T[i]>; }[0], 0>;
🤔

Talked to @weswigham and this is probably caused by #31354. I think the new output here is not super desirable, but it's not related to this issue per se. If there are new real-world issues with this code or other conditional types in the RC, a new issue is welcomed.


Rearrange header elements to match XSD sequence

Fixes #42

Many thanks for opening this!
The test failures are not in the test suite per se, but because our mypy type-checking tool has new requirements in its latest version. I'll push (a) commit(s) to your branch to address these.

Many thanks for opening this!
The test failures are not in the test suite per se, but because our mypy type-checking tool has new requirements in its latest version. I'll push (a) commit(s) to your branch to address these.


[WIP] Add ceph-monitoring data

This PR integrates https://github.com/Mirantis/ceph-monitoring/
Data is collecting by cron in cron docker container, served by Caddy and proxied on frontend by /clusterdata endpoint.
Also, this PR removes dependency on netaddr package. Required code was rewritten to support standard ipaddress package from Python3 stdlib.

Please do not merge yet. Cluster visualization is still WIP: tracebacks on execution.


Releases/0.4

Hi @carllangley, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@carllangley, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

deprecated


Fix one remaining case of incorrect audio testing

Had a feeling I missed one..
https://ci.appveyor.com/project/peppy/osu-framework/builds/29163136/tests

Sorry I should have caught that 😓

@phosphene47 also for future reference, the expected value goes first in an Assert.AreEqual. or use Assert.That(1, Is.EqualTo(1)) instead for clarity.

Noted.


[Admin Portal]: Add resource ID param in the URL

Which issue this PR addresses:
JIRA Ticket: SRE Portal v2 accepts a cluster Resource ID as a parameter
Fixes
What this PR does / why we need it:
The PR contains changes to the SRE portal so that it accepts Resource ID as a URI parameter which opens the detailed view of the desired cluster directly.
Test plan for issue:
E2E tests have been added as part of the changes
Is there any documentation that needs to be updated for this PR?

@microsoft-github-policy-service agree [company="Red Hat"]

@microsoft-github-policy-service agree company="Red Hat"

it looks like you are using a newer version of go than 1.17 and file generation has some caveats that require you to run with 1.17
also, while it is a good initiative, the removal of ioutil should probably be in another pr because it does not really have anything to do with your pr

I have added you as a collaborator to the repo, you might have to accept an invitation in your mailbox or something

it looks like you are using a newer version of go than 1.17 and file generation has some caveats that require you to run with 1.17
also, while it is a good initiative, the removal of ioutil should probably be in another pr because it does not really have anything to do with your pr

Done with these changes


Discussion: create source without consuming data until a start command

Currently, when users create a source and then create some Mvs on it, it will immediately consume data. However, in some circumstances,  it will be better if we don't consume it first.
Case1:
Users may want to rebuild the entire streaming job without waiting for each individual Mv to be backfilled. To achieve this, they can create a source without consuming the data. Once the pipeline is built, they can then start consuming the source data.
Case2:
I have found that a user used temporal join to enforce some invariants for the output data. To ensure that the invariants are valid for all output, we need to ensure that there is no data consumption between Mv latest_b_per_kind and a_b. Otherwise, the temporal join may lookup future data.
SET streaming_parallelism = 1;

CREATE TABLE events (seq bigint, event_type int,  kind varchar) APPEND ONLY
WITH (
    connector = 'datagen',
    fields.seq.kind = 'sequence',
    fields.seq.end = '9223372036854775807',
    fields.event_type.kind = 'random',
    fields.event_type.min = '1',
    fields.event_type.max = '2',
    fields.event_type.seed = 1,
    fields.kind.kind = 'random',
    fields.kind.length = 2,
    fields.kind.seed = 1,
    datagen.rows.per.second = 10000
) FORMAT PLAIN ENCODE JSON;

CREATE MATERIALIZED VIEW IF NOT EXISTS a AS (
    SELECT
        DISTINCT ON (seq) seq,
        kind
    FROM
        events
    WHERE
        event_type = 1
);

CREATE MATERIALIZED VIEW IF NOT EXISTS b AS (
    SELECT
        DISTINCT ON (seq) seq,
        kind
    FROM
        events
    WHERE
        event_type = 2
);

CREATE MATERIALIZED VIEW IF NOT EXISTS latest_b_per_kind AS (
    SELECT
        kind,
        seq
    FROM
        (
            SELECT
                kind,
                seq,
                row_number() OVER (
                    PARTITION BY kind
                    ORDER BY
                        seq DESC
                ) as rank
            FROM
                b
        )
    WHERE
        rank = 1
);

CREATE MATERIALIZED VIEW IF NOT EXISTS a_b AS (
    SELECT
        a.seq as a_seq,
        a.kind as kind,
        latest_b_per_kind.seq as b_seq
    FROM
        a
        LEFT JOIN latest_b_per_kind FOR SYSTEM_TIME AS OF PROCTIME() ON a.kind = latest_b_per_kind.kind
);

Check invariant:
SELECT count(1) from a_b where b_seq is not null and a_seq < b_seq;

This can also be a very useful admin operations for troubleshooting and issue mitigation. Related: https://github.com/risingwavelabs/risingwave/issues/12997

There's a similar issue long ago: https://github.com/risingwavelabs/risingwave/issues/3073

For case1, I think transactional DDL makes more sense.

some discussion about case1: https://github.com/risingwavelabs/risingwave/issues/12771


Adding Approximate PCA tests.

I've added a few tests to the pca-nodes branch.
I think these should be enough to capture that

The sketch algorithm used by the approximate PCA is correct.
The net effect we want to capture here (diagonal covariance on dimensionality reduced data) is preserved.

Updated.

Awesome, LGTM!


[QUERY] How to replace GetAccessTokenAsync from Microsoft.Azure.Services.AppAuthentication

Library name and version
Azure.Identity 1.6.1
Query/Question
Dear,
I was using Microsoft.Azure.Services.AppAuthentication and the GetAccessTokenAsync to get the access token of the scope "https://database.windows.net/"
Now with Azure.Identity I tried like this :
var _defaultAzureCredential = new DefaultAzureCredential(new DefaultAzureCredentialOptions
{
InteractiveBrowserTenantId = "TestTenant" //_tenantId
});
var accessToken = await _defaultAzureCredential.GetTokenAsync(
new TokenRequestContext(new[] { _azureServiceTokenProviderResource })).ConfigureAwait(false);
The issue is that the tenantId is ignored, it will use the one of my azure account and not the tenantId of my sql database.
So the accessToken is always valid and I don't want this to be the case.
Is it possible to help me to fix this issue ?
Regards
Environment
No response

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Hi @azerios - Are you sure that the credential being selected is the InteractiveBrowserCredential? Enabling logging may provide more helpful information - Details:
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/identity/Azure.Identity/README.md#logging


[QuestionAnswering] Add new 2021-07-15-preview version

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
If updating an existing version, please select the specific langauge SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following apply to the PR so that label “WaitForARMFeedback” will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

To note, the one diff URL compared files from different repos and branches, but then OpenAPI Hub gave me an error for a different file across both that they had to be the same repo and branch: https://portal.azure-devex-tools.com/tools/diff/eyJzb3VyY2VVcmwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQXp1cmUvYXp1cmUtcmVzdC1hcGktc3BlY3MvZmVhdHVyZS9jb2duaXRpdmVsYW5ndWFnZS9xdWVzdGlvbmFuc3dlcmluZy1wcmV2aWV3LjEvc3BlY2lmaWNhdGlvbi9jb2duaXRpdmVzZXJ2aWNlcy9kYXRhLXBsYW5lL0xhbmd1YWdlL3ByZXZpZXcvMjAyMS0wNS0wMS1wcmV2aWV3L3F1ZXN0aW9uYW5zd2VyaW5nLWF1dGhvcmluZy5qc29uIiwidGFyZ2V0VXJsIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Jva3Vsa2EvYXp1cmUtcmVzdC1hcGktc3BlY3Mvcm9rdWxrYS92ZXJzaW9uL3NwZWNpZmljYXRpb24vY29nbml0aXZlc2VydmljZXMvZGF0YS1wbGFuZS9MYW5ndWFnZS9wcmV2aWV3LzIwMjEtMDctMTUtcHJldmlldy9xdWVzdGlvbmFuc3dlcmluZy1hdXRob3JpbmcuanNvbiJ9
/cc @akning-ms on the error and inconsistency here.

This looks good to me. I had a similar version change in my PR. But I will update more and merge it after this one merged.


Misspell on "ArgumentError: please provide atleast one version"

Small misspelling on:
https://github.com/Sutto/rocket_pants/blob/5ffadb9b30b7414f5359f80ace3a8ca8bcf20b5d/lib/rocket_pants/routing.rb#L22

v1.12 is out now which fixes this. Thanks all!


Bump default Accumulo RPC client to TLSv1.3

This also adds TLSv1.3 to the list of accepted protocols for the RPC server and Monitor server, while still supporting TLSv1.2.
I didn't add any extra tests as all of the existing SSL/TLS testing should provide sufficient coverage.
This closes #3786

We don't want to be creating a situation where a partially upgraded cluster (where we support less coordination for upgrades, as patch releases are typically drop-in substitutes) can't properly talk between services because servers are using different default configs.

Fair point.

I made the change to TLSv1.3 as the only protocol by default, I can go ahead and merge if no other comments


fix(cron-workflow): fix active and conditions nullity

Cron workflow example can not be executed properly due to ValueError: Invalid value for active, must not be None. I have added  V1LocalObjectReference to  active and conditions empty list of V1alpha1CronWorkflowStatus.

Thank you so much for contributing again @mobin102 🚀  Is the ValueError thrown right by the cron_workflow_service.create(...) or the initialization phase of the CronWorkflow object?

@mobin102 I have a PR in Argo Workflows to fix the autogenerated SDK: https://github.com/argoproj/argo-workflows/pull/7363 I think that will help solve the issue without us modifying Hera. We're going to be dependent on migrating to argo-workflows==6.0.0, which is https://github.com/argoproj-labs/hera-workflows/issues/7, but that should not be that big of a change 🙂

@mobin102 check out this line: https://github.com/argoproj-labs/hera-workflows/pull/38/files#diff-40b2cae22ec120b51dde27b367365d8ae1aa08f425cfd186da5c1712b31e5cefR60 That's the one that makes the SDK not check the return type validity (it is a valid response, it just doesn't have all the expected fields but that's fine).

@mobin102 I just merged https://github.com/argoproj-labs/hera-workflows/pull/38! I am going to close this for now. Thank you for looking into this issue in the first place! I hope the new releases fixes the problems you noticed 🙂 New issues are always welcome!


Writing Empty files

Does anybody know why resumable.js might be writing empty (0kb) files for me - it was previously uploading the full file but now the file generated is 0kb, and I cannot figure out why. It goes through the full upload process, but the file getting written is empty.

Does the network requests contain data and the right number of chunks?

Its not because its not iterating over the data from the input stream.
InputStream pis = request.getPortletInputStream(); //This must be empty now
long readed = 0;
long content_length = request.getContentLength();
log.info("Content Length: " + content_length); //Always -1
byte[] bytes = new byte[1024 * 100];
while(readed < content_length) {
// Not getting into the loop even
}

This used to work - I am not sure what I changed to cause the input stream to be empty

We do not provide support on any backend/receiving code, only the frontend library, as it can any of a 1000 constellations, code, server setup, etc.

Its not backend - the request from resumable.js used to contain an input stream with the file chunks, now its not. Resumable.js is not sending data to the backend anymore (it used to).

Can you verify, in a browser or via network sniffer (WireShark, Fiddler, etc.) that the requests contain no data?

When I write the contents of the request.getPortletInputStream() to console - its empty now. Again, this previously worked
InputStream pis = request.getPortletInputStream(); //This is empty now
br = new BufferedReader(new InputStreamReader(pis));
while ((line = br.readLine()) != null) {
    sb.append(line);
}

This is printing out nothing.

@vaskaloidis Again, I cannot tell why the data is not reaching your backend and I cannot help you debug that part. Did you update to a new version of Resumable.js that caused this change? Otherwise it sounds like it's an issue with your server setup.

@vaskaloidis I had this same problem of empty inputstream when I put testMethod: 'POST', the server side receives the various parameters normally in the request, such as chunck number, chunck size, etc., but the inputstream is always empty for me. Using testMethod: 'GET' the inputstream comes with the data, however smoothing the network tab in the browser I notice that the requests fail a lot, although the file upload is completed correctly. This question has been open for many years, but perhaps this information will be useful to someone.


[Bug]: Possible issue with Nil data or Channel in Fan-Out

🐞 Describe the bug
Panic occurred in Stream possibly due to nil channel or nil data on channel when using fan-out
panic: reflect.Select: SendDir case missing Send value

goroutine 817 [running]:
reflect.Select({0xc0002aca80?, 0x2, 0x0?})
        /usr/local/go/src/reflect/value.go:2922 +0x6f2
go.atomizer.io/stream.FanOut[...]({0x55f8d88, 0xc009086000?}, 0xc009088120?, {0xc009090000, 0x1, 0x2})

📚 To Reproduce
💡 Expected behavior
Should not panic on nil channel or nil data
⚙ Environment

Release Version: v1.0.7
OS: Linux
Architecture: x86_64
Go Version: 1.19

I encountered this panic when I attempted to send nil on a channel that was part of a FanOut

I haven't been able to reproduce this since


use k8s namespace

creating namespaces can work, but the image registry secret is not automatically copied to the new namespace, so the image pull on container creation fails.
Ref here for a hint on copying the secret from default to the new namespace.

Closed.
Updated scripts to set registry pull secret and copy TLS key from default namespace.


Add DevServices support for Ollama model

This PR adds dev services to Ollama, so in dev mode, you don't need to have Ollama running locally; it starts an Ollama container and installs the first time the model you want to use. After that, every run against the same model will reuse the created image.
One of the things in this implementation that is different from other devservices is that it is developed in its module, so you need to add the module to enable it.
The reason it is this way is that the Ollama container takes a lot of minutes to start the first time, and also when running it and querying locally might take  some seconds, so maybe it's not always the best to have devservices running. I know there is the enable flag, so here we can decide if we want to set the flag enabled to false by default and let the user explicitly set to true (which means that developers might not notice there is a devservice by default) or we explicitly make them add as a dependency enabled to true by default

Thanks for this!
@cescoffier WDYT?

Tests are not the best, I followed what I've found. I tested locally

The build is failing because of modules not related with my change.

Indeed, I restarted CI

When the PR is merged, I'll update the documentation with DevServices section.


Blackbird Program Compliation Bug

Issue description

Expected behavior: (What you expect to happen)

If I attempt to compile a program, specifying only a portion of a the modes on an X8 chip, for anything other than an identity operation (for I understand SF will fill in unspecified modes with an identity operation) I expect a CircuitError.

Actual behavior: (What actually happens)

The program
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[1], q[2])
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[1], q[2])
MZgate(0, 0) | (q[0], q[1])
MeasureFock | (q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7])

compiles as
S2gate(0, 0) | (q[0], q[4])
S2gate(0, 0) | (q[3], q[7])
S2gate(0, 0) | (q[2], q[6])
S2gate(0, 0) | (q[1], q[5])
MZgate(3.142, 0) | (q[0], q[1])
MZgate(3.142, 0) | (q[2], q[3])
MZgate(3.142, 3.142) | (q[1], q[2])
MZgate(3.142, 3.142) | (q[0], q[1])
MZgate(3.142, 0) | (q[2], q[3])
MZgate(3.142, 3.142) | (q[1], q[2])
Rgate(3.142) | (q[0])
Rgate(0) | (q[1])
Rgate(0) | (q[2])
Rgate(0) | (q[3])
MZgate(3.142, 0) | (q[4], q[5])
MZgate(3.142, 0) | (q[6], q[7])
MZgate(3.142, 3.142) | (q[5], q[6])
MZgate(3.142, 3.142) | (q[4], q[5])
MZgate(3.142, 0) | (q[6], q[7])
MZgate(3.142, 3.142) | (q[5], q[6])
Rgate(3.142) | (q[4])
Rgate(0) | (q[5])
Rgate(0) | (q[6])
Rgate(0) | (q[7])
MeasureFock | (q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7])

without raising an error.

Reproduces how often: (What percentage of the time does it reproduce?)

100% of the time

System information: (post the output of import strawberryfields as sf; sf.about())

Strawberry Fields: a Python library for continuous-variable quantum circuits.
Copyright 2018-2020 Xanadu Quantum Technologies Inc.
Python version:            3.7.6
Platform info:             Linux-5.3.0-46-generic-x86_64-with-debian-buster-sid
Installation path:         /home/heltluke/anaconda3/envs/sf_latest/lib/python3.7/site-packages/strawberryfields
Strawberry Fields version: 0.13.0.rc0
Numpy version:             1.18.1
Scipy version:             1.4.1
SymPy version:             1.5.1
NetworkX version:          2.4
The Walrus version:        0.12.0
Blackbird version:         0.2.3
TensorFlow version:        None
Source code and tracebacks
This happened due to a bug in a script I wanted to use to generate a program using MZI gates from an array of phases. I thought I was creating an "anti-identity" operation on modes 0-4, instead I created the program above
phases = np.zeros(12)

prog = sf.Program(8)
with prog.context as q:
    for mzi_index in range(6):
        in_block_index = mzi_index % (4 - 1)
        upper_mode = in_block_index % 2
        sf.ops.MZgate(
            phases[mzi_index * 2], phases[mzi_index * 2 + 1]
        ) | (q[upper_mode], q[upper_mode + 1])
    sf.ops.MeasureFock() | q

prog.compile("X8").print()

I note that even the compiled version of
prog = sf.Program(8)
with prog.context as q:
    sf.ops.Interferometer(np.identity(4)) | (q[0], q[1], q[2], q[3])
    sf.ops.MeasureFock() | q

is not the same as the compiled version of
prog = sf.Program(8)
with prog.context as q:
    sf.ops.Interferometer(np.identity(4)) | (q[0], q[1], q[2], q[3])
    sf.ops.Interferometer(np.identity(4)) | (q[4], q[5], q[6], q[7])
    sf.ops.MeasureFock() | q

@heltluke : I am not sure if I follow why is this a bug. All the programs you wrote are instructions for preparing vacuum in all the modes.

All the programs you wrote are instructions for preparing vacuum in all the modes.

This was just to reduce the number of lines copied and pasted above, as I'm concerned with how prog.compile("X8") works in terms of the interferometer phases that are set, and I don't need to specify
for i in range(n_modes):
    sf.ops.S2gate(1) | (q[i], q[i + n_modes])

for compilation to work.
I guess it's a question of desired vs (my) expected behaviour. What happens is potentially intentional, it's just a surprise to me. I would have expected the default / unspecified / "identity" interferometer to be
MZgate(pi, 0) | (q[0], q[1])
MZgate(pi, 0) | (q[2], q[3])
MZgate(pi, 0) | (q[1], q[2])
MZgate(pi, 0) | (q[0], q[1])
MZgate(pi, 0) | (q[2], q[3])
MZgate(pi, 0) | (q[1], q[2])
Rgate(0) | (q[0])
Rgate(0) | (q[1])
Rgate(0) | (q[2])
Rgate(0) | (q[3])
MZgate(pi, 0) | (q[4], q[5])
MZgate(pi, 0) | (q[6], q[7])
MZgate(pi, 0) | (q[5], q[6])
MZgate(pi, 0) | (q[4], q[5])
MZgate(pi, 0) | (q[6], q[7])
MZgate(pi, 0) | (q[5], q[6])
Rgate(0) | (q[4])
Rgate(0) | (q[5])
Rgate(0) | (q[6])
Rgate(0) | (q[7])

and see seeing all of the extra factors of pi around is what's surprising to me.

I think the issue with the pis comes from the rectangular symmetric decomposition. Indeed if you
sf.decompositions.rectangular_symmetric(np.identity(4))
you get
([[0, 1, 3.141592653589793, 0.0, 4],    [2, 3, 3.141592653589793, 0.0, 4],   [1, 2, 3.141592653589793, 3.141592653589793, 4],   [0, 1, 3.141592653589793, 3.1415926535897936, 4],   [2, 3, 3.141592653589793, 0.0, 4],   [1, 2, 3.141592653589793, 3.1415926535897927, 4]],  array([-1.+5.6655389e-16j,  1.-4.8985872e-16j,  1.-2.4492936e-16j,  1.+0.0000000e+00j]),  None)
which seems to have all the pis that appear in your decompositions. Maybe @ishdhand or @shreyapkumar  can comment?

Good catch @nquesada, perhaps this is fixed in #363?

Right, so the default is
MZgate(3.142, 0) | (q[0], q[1])
MZgate(3.142, 0) | (q[2], q[3])
MZgate(3.142, 3.142) | (q[1], q[2])
MZgate(3.142, 3.142) | (q[0], q[1])
MZgate(3.142, 0) | (q[2], q[3])
MZgate(3.142, 3.142) | (q[1], q[2])

I guess it's simply coincidence that my "swap and swap back" sequence of gates
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[1], q[2])
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[1], q[2])
MZgate(0, 0) | (q[0], q[1])

has the same "external" phases? What about the Rgates?

perhaps this is fixed in #363

That PR looks awesome!

I am not so sure anymore. What is the unitary decomposition used by the X8 compiler?

perhaps this is fixed in #363?
This shouldn't be fixed there. What I wrote should (hopefully) give the same results as rectangular_symmetric

Actually, reading @heltluke first post: https://github.com/XanaduAI/strawberryfields/issues/368#issue-600426936 more carefully, this is the behaviour one would expect, no, except for some of the external phases which are pi. The input was a series of swaps which all cancel one another, so the output is just "bars" in all the MZIs.

Yeah, I've come to see that it's "bars"for modes 0, 1, and 2. My concern is about the second arguments of the MZgates and the arguments of the Rgates. If "identity" is
MZgate(pi, 0) | (q[0], q[1])
MZgate(pi, 0) | (q[2], q[3])
MZgate(pi, pi) | (q[1], q[2])
MZgate(pi, pi) | (q[0], q[1])
MZgate(pi, 0) | (q[2], q[3])
MZgate(pi, pi) | (q[1], q[2])
Rgate(pi) | (q[0])
Rgate(0) | (q[1])
Rgate(0) | (q[2])
Rgate(0) | (q[3])

was it just coincidence that
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[1], q[2])
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[0], q[1])
MZgate(0, 0) | (q[1], q[2])
MZgate(0, 0) | (q[0], q[1])

comes out the same?

If I understand correctly, all these input MZ gates are first complied by being multiplied together (in this case it would multiply to the identity). Then the decomposition sees no difference between these MZ gates and when you input the identity matrix.

I mean, I guess it does, right? Two rotations of pi on q[0] and q[2] effectively cancel. But the point is that they require different settings on the hardware

Perhaps the clearest way of stating what I expected is that I expected the check of whether the circuit for modes 0-3 matches the circuit for modes 4-7 during compiling on X8 to verify that the circuit for modes 0-3 was "the" identity and not merely "an" identity (and also not for compilation to subsequently alter whatever identity operation I'd set up on modes 0-3).

My understanding is that if you dont have access to the low level interface, SF compiles everything. So a series of "swap and swap back" would first get compiled and become the identity. Then the rectangular decomposition gives identical results for such a series of MZIs and the identity.
When I tried to fix the identity decomposition, I was only able to fix the internal phases (now hopefully they are all pi), but the external phases are somewhat arbitrary.

Thanks @shreyapkumar. I think it's OK to close this then, as it's more user error than a "bug". If one wants to specify phases, they must specify ALL in a sequence such as
MZgate(phi1, phi2) | (q[0], q[1])
MZgate(phi3, phi4) | (q[2], q[3])
MZgate(phi5, phi6) | (q[1], q[2])
MZgate(phi7, phi8) | (q[0], q[1])
MZgate(phi9, phi10) | (q[2], q[3])
MZgate(phi11, phi12) | (q[1], q[2])
Rgate(0) | (q[0])
Rgate(0) | (q[1])
Rgate(0) | (q[2])
Rgate(0) | (q[3])
MZgate(phi1, phi2) | (q[4], q[5])
MZgate(phi3, phi4) | (q[6], q[7])
MZgate(phi5, phi6) | (q[5], q[6])
MZgate(phi7, phi8) | (q[4], q[5])
MZgate(phi9, phi10) | (q[6], q[7])
MZgate(phi11, phi12) | (q[5], q[6])
Rgate(0) | (q[4])
Rgate(0) | (q[5])
Rgate(0) | (q[6])
Rgate(0) | (q[7])


Hi！I just wonder the difference between precompute the address and address(this).

From my test, address(this) cause less gas.
So, what's your point to update your code to precompute the claimer address?
Thank you!

From my test, address(this) cause less gas. So, what's your point to update your code to precompute the claimer address? Thank you!

Actually it's unnecessary to precompute. lol


into-the-graph: switch to React

Which lib to use?

React Material Web Components: Google reference implementation

Example

Material UI: more popular and mature

Example

Required for https://github.com/MaastrichtU-IDS/data2services-project/issues/1

done: https://github.com/MaastrichtU-IDS/into-the-graph


Just-in-Time Mode Support

Hi!
Thanks for creating this awesome extension for VSCode!
Are there any plans to support Tailwind's new Just-in-Time "Arbitrary Value" classes (i.e. break-out classes created with square bracket notation)?
For example:
<img class="absolute w-[762px] h-[918px] top-[-325px] right-[62px]" src="/crazy-background-image.png">

Cheers!
🤓👍

@praveenperera any updates about the JIT mode support ?

Any updates here? Thanks!

Hey sorry everyone @heybourn hasn't released a new version in a while.
I think he is busy with a new project. Once he is back I can look into putting more work into this. Or maybe I'll fork this and create a new extension until he can get back and release new versions.

An idea: any classname in the format foo-[something] breaks all sorting. What about treating these as "custom classes" and sending them to the front of the classlist?

I thought changing the RegExp to match brackets would work, but I couldn't seem to get it working.

I've changed over to eslint-plugin-tailwindcss which has full JIT mode support and it's brilliant!

Thanks for the tip @sam3d, cheers!

Thanks for the hot tip! @sam3d


Handle timeout units in doc/v1, and catch parse errors in handler

@hmusum or @baldersheim please review.

Merging to fix that test.


alt+insert on mac

Witch command is on the mac for a new document?
thanks for help

Hi,
Good question! Actually I work on Linux Plateform, so I did not check on OS X. I will ask my colleague to help me on that issue with his MBP.
For now, you can use [+] button
Regards


Lambda for sql database rotation does not work as expected

Hi,
Pymssql has been deprecated and no longer functions when attempting to rotate passwords.
#https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-required-permissions-function.html
The Microsoft stance is that you should be using pyodbc.
https://learn.microsoft.com/en-us/sql/connect/python/pyodbc/python-sql-driver-pyodbc?view=sql-server-ver16
Also there is no guide on how to get the lambda to rotation to work with ssl connections to the database.

Hi Mark,
would you mind sharing more information with us? We're interested about your:

Python version
MSSQL version
Error message you see in your rotation lambda logs

We are running integration tests against rotation functions, and don't observe anything out of ordinary. Microsoft still advertises pymssql as supported driver.

Hi @jirkafajfr,
They python version is 3.11, and you can build the layer to whatever version you need.
The sql server version is 17 I believe, and pymssql failed with the ssl connections originally and it's undocumented.
I stopped using the pymssql lambda function after the second set of failures because of the ssl issues (it won't connect to the database, and there are no options that require ssl set).
As you can see - https://github.com/pymssql/pymssql/issues?page=1&q=is%3Aissue+is%3Aopen the project has 150 open issues and it is not actively being worked on.
As compared to pyodbc - https://github.com/mkleehammer/pyodbc/issues 35 known issues and is actively being worked on.
I'm glad you can get the pymssql working but I was forced to give up due to time constraints.

Hi Mark,
the latest sql server is version 16 (reference). When you say 17 do you mean 2017? I can verify with our integration tests that the library is really not a problem - but I need to know the exact versions - right now we don't see any failures in our coverage.
I agree that pyodbc is newer and more maintained version. But as pointed out in previous post pymssql is still advertised as valid driver on the Microsoft site. We have no plans to migrate away from pymsql unless Microsoft declares it as not recommended solution or if there is a compatibility problem.
Please feel free to share exact SSL problems you're experiencing. But unless we can reproduce on our side, we are not willing to migrate away from current driver.
I also wanted to let you know that these lambdas are reference implementation for customers that want to customize the code. Using one of the following two deployment options is typically much easier and you don't have to worry about exact python / driver versions:
Service Application Repository

SecretsManagerRDSSQLServerRotationSingleUser
SecretsManagerRDSSQLServerRotationMultiUser

CloudFormation - Transform
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-secretsmanager.html


add hydra hyperparam configs and ability to do multirun , still need …

…to verify with multiple gpus

Example to run
python ppo.py --multirun <hyperparam1_name>=<hyperparam1_value1>,<hyperparam1_value2>,..... <hyperparam1_value_n>    ....  <hyperparam_n_name>=<hyperparam_n_value1>,<hyperparam_n_value2>,..... <hyperparam_n_value_n> seed=<seed_1>,...,<seed_n>

We can leave the multi gpu launching for another PR, this one looks good!


Unit tests for zcl_abapgit_persist_settings clear settings

Title says it all: If I run these unit tests then the global settings are cleared and overwritten with a single value:
  <SETTINGS>
    <PROXY_URL>http://proxy</PROXY_URL>
   </SETTINGS>

these test only run when "critical unit test" setting is enabled.

however, if you allow the tests to run, they fail:

it appears the tests are from a time before settings where stored as XML and are therefore not relevant anymore. I will delete them.


Do not add months/days to publication or creation dates entered with only a year or with only a year and month.

I entered a creation date of September 1987,

but it was saved as Sep. 1, 1987.

And I see that in the form when I edit the item again:

This also happens when I just enter years -- in this case I'd only entered 1967 and 1987 without months or days:

I'm also noticing that these dates are entered in the form as well, so that if a user enters September 1987 as shown above, saves the draft, and then reopens the item to edit, the form shows the entry was September 1, 1987. The form and the item view page should show what the user entered -- Sep 1987 only without a day.

I'm also noticing that these dates are entered in the form as well, so that if a user enters September 1987 as shown above, saves the draft, and then reopens the item to edit, the form shows the entry was September 1, 1987. The form and the item view page should show what the user entered -- Sep 1987 only without a day.


feat(da): Add EVM da [WIP, DO NOT MERGE]

First trying with a smart contract inbox.
TODO Later: EIP-4844
Overview

Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

closing in favor of https://github.com/rollkit/go-da


Prompts for developers

This a pull-request that adds the first stage of allowing for the creation of developer prompts on the profile. This is referenced in #412. It enables an admin to add, delete, and enable or disable prompts for response on the site. At this time, the code still needs a set of end-to-end regression tests.
Pull request checklist

[ ] My code contains tests covering the code I modified
[x] I linted and tested the project with bin/check
[ ] I added significant changes and product updates to the changelog

This PR is at this time a draft. I will ensure to handle each of these todo items before marking it for review.

@joemasilotti This is in what I consider a minimal state for functionality of the feature now.  This is a huge feature, so let me know if you need help getting through everything and understanding how it works.

This is looking like a great start! I haven't looked at the code yet but I have a few comments on the UX.

The prompts feel kind of thrown in my face on the developer profile. Maybe all that's missing is a title/heading, though?
I think I'd rather see the responses to a prompt be paywalled - not the entire section. Then developers without any responses won't have a huge paywalled component on their profile.
I'm not sure how I feel about having the CTA on the developer show page vs. on the edit screen. What are your thoughts for keeping it there?
Disabling a prompt should hide the prompts for folks who have already filled that out, too.
Design-wise, I think the prompts should flow vertically, not in a grid. This encourages more to be written, as well.
Along those lines, some guidelines or description of what these prompts are and why you might want to use them is needed. Feel free to copy/paste some Tailwind UI design into there and I can tweak the copy.

How do you want to proceed next? Want me to dive into the code or do you want to take a pass at these UX items first?

Hey! I can take a look at this after work. I think a few questions that you mentioned have already been taken care of. I can handle the bulk of it so long as you aren't in a rush to get it merged. I'm moving sometime next week so I'm a bit more limited after work than usual.
Feel free if you want to just run with it too. Still need tests around the response code.
Regarding the length of the prompts, are you thinking going for something longer? I've capped them to be pretty short, reason being that I figured this feature could be used in lots of other places. For instance, this could lead to a blind_digest model that is used to serve up a handful of prompts and responses with no name or image attached to them. I know that diversity is something that's important to you, and this can help with implicit bias.
Additionally, I've already sketched out a likes feature that could go with that perfectly. We could serve up a digest of 5 little response cards on the home page, the company rep can like the cards that interest them, and then they see a feed of liked devs on another view. Then once you start collecting digests with likes, you can start doing a recommendation engine.
I know that's a big info dump, but I definitely had this idea after watching a video about matrix factorization a few months. I googled "Ruby sparse matrix factorization" and Andrew Kane had already written library that I wanted to try and use somewhere. 😆

Alright, finally getting around to this. Going to handle a couple of things that you mentioned, but I still think there's a point of discussion to be had around a few. I'll document this discussion points after I've corrected the obvious stuff.
-[ ] The prompts feel kind of thrown in my face on the developer profile. Maybe all that's missing is a title/heading, though?
-[ ] I think I'd rather see the responses to a prompt be paywalled - not the entire section. Then developers without any responses won't have a huge paywalled component on their profile.
-[ ] I'm not sure how I feel about having the CTA on the developer show page vs. on the edit screen. What are your thoughts for keeping it there?
-[ ] Disabling a prompt should hide the prompts for folks who have already filled that out, too.
-[ ] Design-wise, I think the prompts should flow vertically, not in a grid. This encourages more to be written, as well.
-[ ] Along those lines, some guidelines or description of what these prompts are and why you might want to use them is needed. Feel free to copy/paste some Tailwind UI design into there and I can tweak the copy.

I'm not sure how I feel about having the CTA on the developer show page vs. on the edit screen. What are your thoughts for keeping it there?
I love the idea of breaking down the developer profile into multiple pieces.
Tailwind UI, for example, has Submit/Save buttons one very section of the form. This could be a good starting point as this form continues to grow. You can come back and edit a small piece without having to scroll to the bottom. And to start, we could disable the "inline" submit buttons when creating a new profile.
Thinking ahead, having some sort of wizard or multi-part form submission probably makes sense. I'd like to hand hold developers (and businesses) through onboarding a bit and this could be a good excuse to kick that off.
But back to the point you made - yes. It does feel a little against the grain right now. What about adding a sidebar/menu to the left of the developer form that has Profile and Prompts in it? Then prompts could have its own index page and could use Hotwire (or not) to get everything in there?
This Tailwind UI example is a pretty good approximation of where I'd like to see the Developer form on railsdevs in the future.

Design-wise, I think the prompts should flow vertically, not in a grid. This encourages more to be written, as well.
OK, you sold me. :)
I think the super rounded corners and default height of the cards made it look too a bit too... aggressive? in my mind. Maybe we can take some inspiration form Tailwind UI's Card Headings section to lighten up the borders, bolden the title, and let the card grow based on the content (while still making two side-by-side equal).
How does that sound?

All good! This is definitely a long term thing, so no sense in rushing it.
I think nested attributes should work? As in, these are records that a developer instance owns? Something like this, maybe.
class Developer < ApplicationRecord
  has_many :prompt_responses

  accepts_nested_attributes_for :prompt_responses

For sure, that'd absolutely work. Just wanted to ensure that was the approach that you were looking for. It'll take some retooling on my end to get that compatible, since the Hotwire approach for nested models like that is a bit different. We'd be injecting forms into the page instead of actually creating/updating. Those actions will be removed.
I need to brush up on how nested validations works again too. Last time I got into that, I got down into the weeds a fair bit. My first ever "big" project for my student club involved some serious injection of nested models for a form generator, and that was a huge pain to do by hand with JS. Hotwire should make this much easier.
Last thing, I remember from that project that by convention, Rails has a weird _delete convention that only truly removes records after submitting the form. That seems like an awful modern design pattern, so I imagine we'd immediately want to remove the record, right? The only reason I ask is because that will differ from our behavior for editing and creating which will only save after submitting the form.

Oh, good call. You know what? What if we keep all the Hotwire stuff you've built but only allow existing developers to respond to prompts? So when you create your profile initially you don't see anything to do with prompts. But we could redirect them somewhere to answer their first question or two?
That also means we can have a dedicated page to answer prompts that's all Hotwire-powered.

That sounds good to me. I like breaking up the flow, into separated submissions. You good with separating the the behavior of the responses from the behavior of the form?
I don’t mind retooling the interface. I’m more concerned about developing the right interface for you. I think nested attrs is the right solution for a single form.

Yeah let's split it then!

Hey @jacobdaddario, I've been thinking about this a bit over the past month and I'm not sure I'm ready to merge something like this in just yet.
I love the idea of enabling developers to share more information. And this feels like a great start. But I'd like to do a little more research before we bring in the maintenance and complexity of this feature.
I'm planning to start talking to developers (and businesses) on the site more in the coming month. Do you mind if I close this PR for now? We can always revisit when I have some more information from folks using the site.

Yeah of course! I'm so sorry for letting this go stale 🤦🏻 That's on me for not following through on this. I've always tried to stay on top of things opened up on Railsdevs and dropped the ball on this anyways. Let me know what you come up with, I'd be happy to implement. I think there's a lot of chances to improve discoverability right now for the site.

No worries and no need to apologize!
I agree that now that there are 500+ (!) developers on the site discoverability is becoming an actual issue. I'll keep you posted and thanks for understanding.

Jacob, I'm going to close this for now. Feel free to reopen if you want to pick it back up!
I'll also keep you in mind for when the next batch of work comes in related to developer discoverability.


Added the ability to view XCom variables in webserver

Screenshot speaks a thousand words.

NB: If you don't wish the XCom variables to appear, mark them as private by prefixing them with _

Thanks! Can you add a license header to the new files you added? This is required for our apache incubator status.

Coverage increased (+0.1%) to 67.676% when pulling 1fdeefda59d8b5b3ea4f29c9b12b7151ce40a688 on withnale:www_xcom_view into 9410715c81a2a16dcd04e7cce56d75747bb19ff6 on airbnb:master.

Thx. @withnale Please squash your commits into a single one and ping me on gitter to merge.

Coverage decreased (-0.1%) to 67.869% when pulling 46dd920e26a71cecdef2057ac013a153e4dd0b18 on withnale:www_xcom_view into 96891596f9c392a9a477e5e564ea08a84095386b on airbnb:master.

@withnale You need to also add an apache license header on top of the xcom.html file. Please fix, squash commits, and ping me on gitter when ready.

:100:

Coverage decreased (-0.1%) to 67.954% when pulling 5e28807b2b20f87cc211d4faa8070083cc9db2f7 on withnale:www_xcom_view into eca6a5a619bd7f1a995fa1522c5506146ab69882 on airbnb:master.

Thx for this change @withnale

:+1:

Nice!


[REQ] Use apt-get instead of apt

What kind of request is this?
None
What is your request or suggestion?
Investigate using apt-get for more stability instead of apt for Debian patching.
Are you willing to submit PRs to contribute to this feature request?

[ ] Yes, I am willing to implement it.

hello @ashnamehrotra, I would like to give it a try, can you assign it to me


Chunk Hamiltonian, PauliSentence, LinearCombination [sc-65680]

Before submitting
Please complete the following checklist when submitting a PR:

[x] All new features must include a unit test.
If you've fixed a bug or added code that should be tested, add a test to the
tests directory!

[x] All new functions and code must be clearly commented and documented.
If you do make documentation changes, make sure that the docs build and
render correctly by running make docs.

[x] Ensure that the test suite passes, by running make test.

[x] Add a new entry to the .github/CHANGELOG.md file, summarizing the
change and including a link back to the PR.

[x] Ensure that code is properly formatted by running make format.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context:
Parallelizing over observables can accelerate adjoint Jacobian calculations' backward pass. This PR revisits our implementation for L-Qubit and L-GPU which are the two devices that support it. Certain observables like Hamiltonian, PauliSentence, and LinearCombination can be split into many observables, enabling the distribution of the cost of expectation value computation. This strategy is initiated by the serializer which partitions the observables if split_obs is not False. The serializer proceeds to a complete partitioning, meaning a 1000-PauliWord PauliSentence is partitioned into a 1000 PauliWords. We note in passing that L-Qubit does not split observables since it does not pass a split_obs value to _process_jacobian_tape. This is wasteful because we end up with either of two situations:

The Jacobian is computed N processes (threads, devices, etc.) at a time which results in a lot of duplicate computation (forward/backward passes are repeated and the results combined);
The Jacobian is parallelized over all observables, each of which requires a state vector copy which increases the memory requirements by as much.

We explore chunking instead of full partitioning for LinearCombination-like objects, meaning a 1000-PauliWord PauliSentence is partitioned into four 250-PauliWords PauliSentences if we parallelize over 4 processes.
Description of the Change:
Modify the serializer to chunk LinearCombination-like objects if self.split_obs is truthy.
Correctly route _batch_obs such that L-Qubit splits observables.
Enhance/adapt tests.
Analysis:
Lightning-Qubit
applyObservable is a bottleneck for somewhat large linear combinations (say 100s or 1000s of terms). Chunking isn't helpful for a circuit like
    @qml.qnode(dev, diff_method="adjoint")
    def c(weights):
        qml.templates.AllSinglesDoubles(weights, wires, hf_state, singles, doubles)
        return qml.expval(ham)

because L-Qubit's applyObservable method is parallelized over terms for a single Hamiltonian observable. Chunking in this case is counter-productive because it requires extra state vectors, extra backward passes, etc.
For a circuit like however
    @qml.qnode(dev, diff_method="adjoint")
    def c(weights):
        qml.templates.AllSinglesDoubles(weights, wires, hf_state, singles, doubles)
        return np.array([qml.expval(ham), qml.expval(qml.PauliZ(0))])

applyObservable is parallelized over observables, which only scales up to 2 threads, and with poor load-balance. In this case, it is better to split the observable, which is what the current changes do.

mol
master-serial
master-batched
chunk-serial
chunk-batched

CH4
1.793e+01
1.330e+01
1.819e+01
8.040e+00

Li2
5.333e+01
3.354e+01
5.289e+01
1.839e+01

CO
9.817e+01
5.945e+01
9.619e+01
2.559e+01

H10
1.220e+02
7.317e+01
1.182e+02
3.305e+01

So for this circuit the current PR yields speeds-up ranging from 1.5x to >2x by using obs-batching + chunking (compared with the previous obs-batching).
Lightning-GPU
Lightning-GPU splits the observables as soon as batch_obs is true. The current code splits a Hamiltonian into all its individual terms, which is quite inefficient and induces a lot of redundant backward passes. This is visible benchmarking the circuit
    @qml.qnode(dev, diff_method="adjoint")
    def c(weights):
        qml.templates.AllSinglesDoubles(weights, wires, hf_state, singles, doubles)
        return qml.expval(ham)

mol
master-serial
master-batched
chunk-serial
chunk-batched

CH4
1.463e+01
forever
5.583e+00
3.405e+00

Li2
1.201e+01
forever
5.284e+00
2.658e+00

CO
2.357e+01
forever
4.716e+00
4.577e+00

H10
2.992e+01
forever
5.476e+00
5.469e+00

HCN
8.622e+01
forever
3.144e+01
2.452e+01

The batched L-GPU runs are using 2 x A100 GPUs on ISAIC. The speed-ups for batched versus serial are OK, but most important is the optimization of Hamiltonian::applyInPlace which brings about nice speed-ups between master and this PR.
Related GitHub Issues:

I will re-trigger your CIs as there was some problem with the test pypi.


Firebase Url Wrong in README.md

It should be https://firebase.google.com/ instead of https://www.firebase.google.com/

Sure! you can make the changes


how can i serialize Transaction object

now i hava Transaction object， i want to serialize it, how to do?

Do you need this?
val transaction = Transaction(
   messages = listOf(SendMessage(
       fromAddress = "terra1~~~~~",
       toAddress = "terra1~~~~~",
       amount = listOf(Coin("uusd", Uint128("1"))),
   )),
)

val serialized = AminoFormat.encodeToString(transaction)

Do you need this?
import kotlinx.serialization.encodeToString
import money.terra.amino.AminoFormat
import money.terra.message.SendMessage
import money.terra.model.Coin
import money.terra.model.Transaction
import money.terra.type.Uint128

val transaction = Transaction(
   messages = listOf(SendMessage(
       fromAddress = "terra1~~~~~",
       toAddress = "terra1~~~~~",
       amount = listOf(Coin("uusd", Uint128("1"))),
   )),
)

val serialized = AminoFormat.encodeToString(transaction)

The kotlin interface https://bombay.stakesystems.io/txs requires a very high miner fee, why is the miner fee of the web wallet so low? Can I turn Transaction in kotlin into tx_bytes?

request：
{"tx":{"msg":[{"type":"bank/MsgSend","value":{"from_address":"terra1vvlfsgd74t5m8u2q326ht3j0e6n4f6vnxl2cj3","to_address":"terra1uv5acl0xnckxd76s630h5erm8l8nuw9hq6gr2s","amount":[{"amount":"100000","denom":"uluna"}]}}],"memo":"","fee":{"gas":"128630","amount":[{"amount":"1457","denom":"uluna"}]},"signatures":[{"signature":"Sj+CzgFx+LUqgJo+hP4+onE+JDQk4dQVPgWZdikCxTheh4y9Cr1aKB51pJE1sMpmB0kfC8Q1BYcgmq7qZyS3ZA==","pub_key":{"value":"Az3bY8meExVKaFCrSPnr849KwO6SK5GV3WCUx6weSZtn","type":"tendermint/PubKeySecp256k1"},"account_number":"494781","sequence":"0"}],"timeout_height":"0"},"mode":"sync"}
response:
{BlockTxBroadcastResult(height=0, txhash='7786FC5B926C05B7A31A52A26F1C2441299DC096811F21D7DDF17FFF82016F4D', raw_log='insufficient fees; got: "1457uluna", required: "24440uaud,24440ucad,16722uchf,124772ucny,115767udkk,16079ueur,14150ugbp,149726uhkd,280413400uidr,1414930uinr,2058080ujpy,22902572ukrw,19295uluna,55520040umnt,160788unok,977588uphp,13095usdr,160788usek,25726usgd,594271uthb,19295uusd"="24440uaud,24440ucad,16722uchf,124772ucny,115767udkk,16079ueur,14150ugbp,149726uhkd,280413400uidr,1414930uinr,2058080ujpy,22902572ukrw,19295uluna,55520040umnt,160788unok,977588uphp,13095usdr,160788usek,25726usgd,594271uthb,19295uusd"(gas) +""(stability): insufficient fee', gas_wanted=128630, gas_used=1009, logs=None, code=13, codespace='sdk', info=None, data=None, timestamp=None)}
How to calculate fee

If you only want to estimate fee, Maybe TerraLcdClient is useful.
Only estimateFee
val client = TerraLcdClient("bombay-12", "https://bombay-lcd.terra.dev")
val estimateFeeResponse = client.transactionApi.estimateFee(messages, senderAddress, senderAccountNumber, senderSequence, feeDenomination gasAdjustment) //coroutine suspend function
val fee = estimateFeeResponse.fee

If you want to broadcast a transaction, i recommend below.
With FCD
val mnemonic: String = "..."
val terra = Terra.fcd("bombay-12", "https://bombay-fcd.terra.dev")
val wallet: TerraWallet = terra.walletFromMnemonic(mnemonic)
val receiveWallet: TerraWallet = TerraWallet("terra1x46rqay4d3cssq8gxxvqz8xt6nwlz4td20k38v")
val deferredResult: Deferred<Pair<BroadcastResult, Transaction>> = wallet.broadcast {
    SendMessage(wallet.address, receiveWallet, listOf(Coin(Uint128(1000), "uluna)).withThis()
}

With LCD
val mnemonic: String = "..."
val gasPricesProvider = StaticGasPricesProvider(mapOf("uluna" to Decimal("0.01")))
val option = AminoTerraOption("bombay-12", "https://bombay-lcd.terra.dev", gasPricesProvider = gasPricesProvider)
val terra = Terra.amino(option)
val wallet: TerraWallet = terra.walletFromMnemonic(mnemonic)
val receiveWallet: TerraWallet = TerraWallet("terra1x46rqay4d3cssq8gxxvqz8xt6nwlz4td20k38v")
val deferredResult: Deferred<Pair<BroadcastResult, Transaction>> = wallet.broadcast {
    SendMessage(wallet.address, receiveWallet, listOf(Coin(Uint128(1000), "uluna)).withThis()
}