Added documentation to the invoke Lambda example

Issue #, if available:
Description of changes: Added some docs base don my poor understanding of Rust.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

RIP the build system.

build is happy except for cargo fmt

Diff in /home/ec2-user/environment/smithy-rs-1/aws/sdk/examples/lambda-invoke-function/target/debug/build/proc-macro-nested-2b4d61360fb53c5f/out/count.rs at line 1:
 #[doc(hidden)]
 #[macro_export]
 macro_rules! count {
-    () => { proc_macro_call_0!() };
-    (!) => { proc_macro_call_1!() };
-    (!!) => { proc_macro_call_2!() };
-    (!!!) => { proc_macro_call_3!() };
-    (!!!!) => { proc_macro_call_4!() };
-    (!!!!!) => { proc_macro_call_5!() };
-    (!!!!!!) => { proc_macro_call_6!() };
-    (!!!!!!!) => { proc_macro_call_7!() };
-    (!!!!!!!!) => { proc_macro_call_8!() };
-    (!!!!!!!!!) => { proc_macro_call_9!() };
-    (!!!!!!!!!!) => { proc_macro_call_10!() };
-    (!!!!!!!!!!!) => { proc_macro_call_11!() };
-    (!!!!!!!!!!!!) => { proc_macro_call_12!() };
-    (!!!!!!!!!!!!!) => { proc_macro_call_13!() };
-    (!!!!!!!!!!!!!!) => { proc_macro_call_14!() };
-    (!!!!!!!!!!!!!!!) => { proc_macro_call_15!() };
-    (!!!!!!!!!!!!!!!!) => { proc_macro_call_16!() };
-    (!!!!!!!!!!!!!!!!!) => { proc_macro_call_17!() };
-    (!!!!!!!!!!!!!!!!!!) => { proc_macro_call_18!() };
-    (!!!!!!!!!!!!!!!!!!!) => { proc_macro_call_19!() };
....
     ($(!)+) => {
         compile_error! {
             "this macro does not support >64 nested macro invocations"
Diff in /home/ec2-user/environment/smithy-rs-1/aws/sdk/examples/lambda-invoke-function/target/debug/build/aws-types-b3258422861bfd06/out/build_env.rs at line 1:
 static RUST_VERSION: &str = "1.54.0-nightly";

I have no idea how to debug this. I tried removing the comments from the imports and at the top of the file, but it's still failing.

rustfmt --check --edition 2018 ./src/main.rs  returns without comment on my machine. if I use the find *.rs like ht eCI step uses, I get some indecipherable error about recursive macro depth.

Sweet baby Jesus! It was an extra space after a //, which rustfmt very helpfully explains with this message
         // Payload: The response from the function, or an error object.
-        //
+        //
         // For our example, we are just going to interact with the payload
         // portion of the response
         Ok(resp) => {


Error serializer will copy id if provided

ping @sommestad

Coverage remained the same at 100.0% when pulling af7899ab41c15ddee3c045847c244e435543296e on feature/err-id into ea7e3397237be6795424e3eafc883d1cc78c4311 on master.

:+1:

:+1:


--#{$prefix}form-invalid-border-color is compiling as border: 1px solid...

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
We are using Bootstrap via NPM. When compiling the CSS for our theme, there seems to be something going wrong with the form valid/invalid rules originating in "node_modules/bootstrap/scss/_reboot.scss":
--#{$prefix}form-valid-color: #{$form-valid-color};
--#{$prefix}form-valid-border-color: #{$form-valid-border-color};
--#{$prefix}form-invalid-color: #{$form-invalid-color};
--#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};

When that compiles, we see the first three compile in the ":root" rules correctly with the "--bs-" prefix. But the last one simply compiles as "border." That same block in the compiled "styles.css" file is:
--bs-form-valid-color: #198754;
--bs-form-valid-border-color: #198754;
--bs-form-invalid-color: #dc3545;
border: 1px solid #dc3545;

If I edit that _root.scss file in the node_modules to remove the last "form-invalid-border-color" rule then the same thing happens with the "valid" border color rule and we get a play border rule with the valid (green) color instead.
You can see it here: https://nirhealth.org/ (I've added an inline rule to remove the border that would otherwise show up on the HTML element).
Reduced test cases
Inspect the HTML element on https://nirhealth.org. No border is visible, but you will see it in the list of ":root" styles.
Locked package.json to v5.2.3 and the issue resolved. Bumping up to v5.3.0 and any after brings it back.
What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Chrome, Safari, Firefox
What version of Bootstrap are you using?
v5.3.3

Hi @tim-arnold
In your website, we can notice the following:
:root,[data-bs-theme=light] {
  /* ... */
  --bs-form-invalid-color:#dc3545;
  border:1px solid #dc3545
}

[data-bs-theme=dark] {
  /* ... */
  --bs-form-invalid-color:#ea868f;
  --bs-form-invalid-border-color:#ea868f
}

Both are built the same way, based respectively on $form-feedback-invalid-color for the basic/light mode, and $form-invalid-border-color-dark for the dark mode.
I tried different updates of these values in a dedicated project, and it seems to work pretty well. Maybe there's an error with the way the values are updated on your side when trying to customize Bootstrap Sass values. I notice, that border:1px solid #dc3545 doesn't have any ";" at the end, for instance, that could show that there's something weird in the customization.
Could you share more elements relative to your customization, the corresponding Sass part for instance that you update?

Got exactly the same problem....

This problem can be caused of an old minifier or a minifier that does not support Bootstrap latest things. Try to use another minifier. Using an extension, like Web Compiler in VS did work as well as CleanCss: https://github.com/clean-css/clean-css/ and or in my case: https://www.npmjs.com/package/gulp-clean-css that is based on cleancss. Before I used cssnano and that npm caused this issue.


Revert [SPARK-27142][SPARK-31440] SQL rest API in branch 3.0

What changes were proposed in this pull request?

Revert https://github.com/apache/spark/pull/28208 and https://github.com/apache/spark/pull/24076 in branch 3.0
Why are the changes needed?

Unfortunately, the PR  https://github.com/apache/spark/pull/28208 is merged after Spark 3.0 RC 2 cut. Although the improvement is great, we can't break the policy to add new improvement commits into branch 3.0 now.
Also, if we are going to adopt the improvement in a future release, we should not release 3.0 with https://github.com/apache/spark/pull/24076, since the API result will be changed.
After discuss with @cloud-fan and @gatorsmile offline, we think the best choice is to revert both commits and follow community release policy.
Does this PR introduce any user-facing change?

Yes, let's hold the SQL rest API until next release.
How was this patch tested?

Jenkins unit tests.

Test build #122871 has started for PR 28588 at commit 9e39968.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/27514/
Test PASSed.

cc @erenavsarogullari @ajithme as well

agree. Its better to revert and we can reraise the PR on later release.

@ajithme thanks for understanding! The commits are still in the master branch and they will be 3.1 as well.

It's unfortunate that we find problems in SQL REST API at this stage which is too late to change. LGTM to revert it from 3.0 and release it in 3.1.

Hi @gengliangwang,
Sure, make sense so end-user can start to use single version(3.1) directly without backward compatibility requirement. Thanks for the effort.

merging to 3.0

@gengliangwang test is still running

+1 from me side too.

@HyukjinKwon oh thanks for reminder

Test build #122871 has finished for PR 28588 at commit 9e39968.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122871/
Test FAILed.

retest this please.

Test build #122876 has started for PR 28588 at commit 9e39968.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/27519/
Test PASSed.

Test build #122876 has finished for PR 28588 at commit 9e39968.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122876/
Test PASSed.

thanks, merging to 3.0!


ChatGoogleGenerativeAI is running slowly on my Apple Silicon machine.

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
from langchain.prompts import PromptTemplate
import google.generativeai as genai
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_google_genai import GoogleGenerativeAI
GOOGLE_API_KEY='My Api Key'

llm = ChatGoogleGenerativeAI(model="gemini-pro", temperature=0, google_api_key=GOOGLE_API_KEY)
prompt = "Where is Tajmahal"
result = llm.invoke(prompt)

Error Message and Stack Trace (if applicable)
Retrying langchain_google_genai.chat_models._chat_with_retry.<locals>._chat_with_retry in 2.0 seconds as it raised DeadlineExceeded: 504 Deadline Exceeded.
Description
I'm attempting to use ChatGoogleGenerativeAI, but it's running very slowly on my local Apple Silicon machine. The same code works well in Google Colab, but I'm receiving a 504 error locally.
System Info
aiohttp==3.9.4
aiosignal==1.3.1
annotated-types==0.6.0
attrs==23.2.0
cachetools==5.3.3
certifi==2024.2.2
charset-normalizer==3.3.2
dataclasses-json==0.6.4
frozenlist==1.4.1
google-ai-generativelanguage==0.6.1
google-api-core==2.18.0
google-api-python-client==2.125.0
google-auth==2.29.0
google-auth-httplib2==0.2.0
google-generativeai==0.5.0
googleapis-common-protos==1.63.0
grpcio==1.62.1
grpcio-status==1.62.1
httplib2==0.22.0
idna==3.7
jsonpatch==1.33
jsonpointer==2.4
langchain==0.1.16
langchain-community==0.0.32
langchain-core==0.1.42
langchain-google-genai==1.0.2
langchain-text-splitters==0.0.1
langsmith==0.1.47
marshmallow==3.21.1
multidict==6.0.5
mypy-extensions==1.0.0
numpy==1.26.4
orjson==3.10.0
packaging==23.2
proto-plus==1.23.0
protobuf==4.25.3
pyasn1==0.6.0
pyasn1_modules==0.4.0
pydantic==2.7.0
pydantic_core==2.18.1
pyparsing==3.1.2
PyYAML==6.0.1
requests==2.31.0
rsa==4.9
SQLAlchemy==2.0.29
tenacity==8.2.3
tqdm==4.66.2
typing-inspect==0.9.0
typing_extensions==4.11.0
uritemplate==4.1.1
urllib3==2.2.1
yarl==1.9.4
platform mac
python version 3.12.3

+1

+1

+1

async def chat_gemini(prompt):
    logger.info("Entered chat_gemini helper")
    try:
        llm = GoogleGenerativeAI(model="gemini-1.5-flash", google_api_key="AIzaSyBxgSGEXUdK6KCiGS33U26QAyMlkZeq4lY", transport='rest')
        result = await asyncio.to_thread(llm.invoke, prompt)
        logger.info("Exiting chat_gemini helper")
        return result
    except Exception as e:
        logger.error(f"Encountered a Gemini-specific exception: {e}")
        return "Null"

This has resolved my issue


Updated Package.swift definition to be compatible with the latest swift package manager

Thank you for the update. 👍
Now released it in version 14.


Authorization failed.

@joshlong I have tried to use the newest oAuth2 client(Spring Security 5.0) with the legacy OAuth server (the new OAuth server is not ready now, planned in Spring Security 5.1) in my application.
But when I ran the application and got the failure when it returned back from OAuth server:
Your login attempt was not successful, try again.

Reason: [authorization_request_not_found]
Login with OAuth 2.0
Login Client

I have tried your sample and get the same error.  I used Spring Boot 2.0 and spring-security-oauth2-autoconfigure in my OAuth server in my applications.

@joshlong  I forked this project, and upgraded to Spring Boot to produce this issue.
https://github.com/hantsy/spring-security-5-oauth-client/commit/7230319482bca2bf27213956a254939e4f382539


Updated readme file

Fixes Issue
Closes #227
Description:
Added open source development link in the readme file.
Checklist:
Before submitting your pull request, ensure that you have completed the following tasks:

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

I cant merged this PR since someone raise an issue before you, please always take a look for duplicate issues.  instead you can create an issue about this:

Tasks:
Move the overview description at the top (below the heading 1). Remove the overview heading and remove it from the table of contents.
Do it to other categories. For web, UI UX design, Open SOurce Dev, and many more. THnaks

@jfmartinz I will raise a new issue then kindly assign it to me


Upgrade RandomLib

Ensures compatibility with PHP 7.1.
Refs #574

Coverage remained the same at 100.0% when pulling 23a1d0934360b6260cfe577e2ffb8b8b6f136af7 on fix/upgrade-randomlib into a1ad0d014dbefd17fe900c88469e917d9e16a81f on master.

Experiencing this error with PHP 7.1.0


Add sniper specialist 'prepare position' ability

Why / Balance
CM13 content
Media
https://github.com/user-attachments/assets/83e4423e-4ba5-4909-9542-7fb340ec665c

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

:cl:

add: Added the 'prepare position' ability to the sniper specialist, which allows them to go invisible while standing still.

needs scout specialist PR for the IFF marine component

I'd also advise using the stealth system from the scout PR- actual transparency rather than the stealth box invisibility. That's how it's handled in 13 and is also probably just harder to see / easier to hide.

I'd also advise using the stealth system from the scout PR- actual transparency rather than the stealth box invisibility.


Notification

This is an early PR to share a simple testing for notification workflow

@nghivo94

Why did you need to set messages explicitly here?

The parameter messages are explicitly set here because it is a complex list of very specific structured items. In the simple implementation, the structure of items cannot be accurately extracted from the type-hinting yet, so it needs to be explicitly set in this context.


Title mistake.

Minor title typo fix.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thank you @geekygecko !


Please support MSYS2 MINGW64

There are currently no plans to support MinGW.
What is your use case where you need this?

I'm using legacy Windows so I can't install MSVC. I'm stuck with MinGW.

Unless the Windows version you have supports DirectX 12 or Vulkan, RavEngine won't work on it. Supporting old systems is a non-goal for this project, sorry.

MSYS2 has support for Vulkan (and OpenGL, too).

That doesn't matter if your system doesn't have a new enough graphics driver that supports Vulkan.
What GPU, os version, and driver version do you have?

Very old hardware. So perhaps I'm out of luck.


json  { 	"messages": [], 	"activationTimes": { 		"codeLoadingTime": 40754, 		"activateCallTime": 1, 		"activateResolvedTime": 143, 		"activationReason": { 			"startup": true, 			"extensionId": { 				"value": "ms-vsliveshare.vsliveshare-audio", 				"_lower": "ms-vsliveshare.vsliveshare-audio" 			}, 			"activationEvent": "*" 		} 	}, 	"runtimeErrors": [] } Extension issue

Closing and marking as a duplicate of #3808. Please try running the command >Live Share: Repair audio installation. You can also disable the audio extension so you can continue using Live Share without it.


When axisType is 'time', it is not able to set the interval of labels in timeline

Version
5.0.1
Steps to reproduce
In a timeline, set the interval of label to a value, for example label: {interval: 2}.
What is expected?
show a label every three labels
What is actually happening?
When axisType is 'time', all the labels occur, no matter what interval I set .

Another two quesstions:

In the example at the official document, set the axisType to 'time' would cause an error. Is it because the dates are not sequential?

I'm also curious that what is the label in timeline.progress used for? I don't see any other types of label in a timeline.

@Clarkkkk 我们也遇到同样的问题，你们找到解决方案了吗？

@zmm2015 只能先把 axisType 设为 category 了

@zmm2015 只能先把 axisType 设为 category 了

多谢，我试一下


Birthdays one day Early

Hi, I have an issue where all birthdays are displaying one day earlier than they are meant to, how can this be fixed?

Duplicate of #11


Shader script editor appears out of nowhere when backing out of the shader nodes

Operating system or device:
Win10 64 bit; 24 gigs RAM; third gen i7 CPU; ATI HD 7xxx GPU
Issue description (what happened, and what was expected):
In the original version 2 release for Godot, going into the shader node setup, then clicking the back arrow just closes the nodes window without opening something else. Newer builds (done in the last week) now show the shader script editor (regardless of whether I want to do any editing or not).
Then, returning to the shader does not close the script window, so now you have two additional windows instead of just one. I can see the use of having the raw code made available, but whether or not the script window is visible should be a user option rather than something done automatically by Godot (unless of course you're in the regular custom shader options and you explicitly use the script field in the reference area).
Steps to reproduce:
Open the file, select the mesh instance, go to the material editing buttons via the material override menu, go to the shader tree editing via the shader menu, then back out of the tree editing with the back button.
Edit:: Example file to try it with
Bugs.zip

I can confirm this happened to me as well, the code editor appears undocked from the GUI itself in front of the visual shader editor.

Fixed in #5308


[BEAM-1347] Create value state, combining state, and bag state views over the BagUserState.

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Also bind the state persistence to the end of finishBundle.

R: @vikkyrk

retest this please

retest this please

Coverage increased (+0.01%) to 69.967% when pulling 82927c5b2e2b7cd68502b31dae57cfc84896ff34 on lukecwik:state_api into f816ad87923610bd3fe507a298ac53ea49b4174a on apache:master.


xeditable success mathod not working with Angular2

Hi,
I want to make my form Submit button enable once you add the comment in the form field. But it is not working..
Here is my code snippet:
template:

< div class="col-sm-1 m-t-xs text-left">
< a (click)="showComment()" id="Comments" data-type="textarea" data-pk="1" data-url=""
data-title="Enter comments">< i (click)="showComment()" class="text-primary text-left" title="Click to enter comments">< /i>< /a>
< /div>
< button type="submit" id="saveData"
[ngClass]="editForm.valid && editForm.dirty ? 'btn-primary' : 'btn-default'"
[disabled]="!(editForm.valid && editForm.dirty)">Save changes< /button>

Component class:

$('#Comments').editable({
'rows   ': 4,
'inputclass': 'word-wrap newComments',
success: function(response, newValue) {
if (newValue) {
if(this.editForm.valid) {
this.editForm.dirty = true;
}
}

        }
    });

What is the error you are getting and can you provide a plunker or jsfiddle showing your issue?

It is not giving any error. It is not calling its success method or not invoking it.

See if there is anything in this thread that will help you.


Vehicle lifecycle network has error in transaction file

Looks like an await is missing in manufacturer.js inside updateOrderStatus inside the VIN_ASSIGNED if block. It is currently a return.

From a sample point of view its not great, however it could still work as it is returning a promise. Is there a known issue caused by this ?


[SPARK-23623][SS] Avoid concurrent use of cached consumers in CachedKafkaConsumer (branch-2.3)

This is a backport of #20767 to branch 2.3
What changes were proposed in this pull request?
CacheKafkaConsumer in the project kafka-0-10-sql is designed to maintain a pool of KafkaConsumers that can be reused. However, it was built with the assumption there will be only one task using trying to read the same Kafka TopicPartition at the same time. Hence, the cache was keyed by the TopicPartition a consumer is supposed to read. And any cases where this assumption may not be true, we have SparkPlan flag to disable the use of a cache. So it was up to the planner to correctly identify when it was not safe to use the cache and set the flag accordingly.
Fundamentally, this is the wrong way to approach the problem. It is HARD for a high-level planner to reason about the low-level execution model, whether there will be multiple tasks in the same query trying to read the same partition. Case in point, 2.3.0 introduced stream-stream joins, and you can build a streaming self-join query on Kafka. It's pretty non-trivial to figure out how this leads to two tasks reading the same partition twice, possibly concurrently. And due to the non-triviality, it is hard to figure this out in the planner and set the flag to avoid the cache / consumer pool. And this can inadvertently lead to ConcurrentModificationException ,or worse, silent reading of incorrect data.
Here is a better way to design this. The planner shouldnt have to understand these low-level optimizations. Rather the consumer pool should be smart enough avoid concurrent use of a cached consumer. Currently, it tries to do so but incorrectly (the flag inuse is not checked when returning a cached consumer, see this). If there is another request for the same partition as a currently in-use consumer, the pool should automatically return a fresh consumer that should be closed when the task is done. Then the planner does not have to have a flag to avoid reuses.
This PR is a step towards that goal. It does the following.

There are effectively two kinds of consumer that may be generated

Cached consumer - this should be returned to the pool at task end
Non-cached consumer - this should be closed at task end

A trait called KafkaConsumer is introduced to hide this difference from the users of the consumer so that the client code does not have to reason about whether to stop and release. They simply called val consumer = KafkaConsumer.acquire and then consumer.release().
If there is request for a consumer that is in-use, then a new consumer is generated.
If there is a concurrent attempt of the same task, then a new consumer is generated, and the existing cached consumer is marked for close upon release.
In addition, I renamed the classes because CachedKafkaConsumer is a misnomer given that what it returns may or may not be cached.

This PR does not remove the planner flag to avoid reuse to make this patch safe enough for merging in branch-2.3. This can be done later in master-only.
How was this patch tested?
A new stress test that verifies it is safe to concurrently get consumers for the same partition from the consumer pool.

Test build #88330 has started for PR 20848 at commit 9e440a4.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1573/
Test PASSed.

Test build #88330 has finished for PR 20848 at commit 9e440a4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88330/
Test PASSed.

Thanks! Merging to branch-2.3.


Added Badges

Added a badge to README.md and a link to CONTRIBUTING.md in compliance with http://makeapullrequest.com/

Thanks for the PR 👍


package:meta 1.9.0 has not been published yet

The version of package:meta on pub.dev currently is 1.8.0, which is 8 months old.
Now that Dart 2.19 has been released, a new version should be published for the new @reopen and @mustBeOverridden annotations.  Not sure if this was overlooked or if there's some other reason to delay publishing a new version. (Note that meta's pubspec.yaml in the GitHub repo still says 1.8.0.)
CC @srawlins

@devoncarew @srawlins - do we intend to publish this on a particular cadence?

No particular cadence, but I do intend to publish 1.9.0 tomorrow.

Thanks!


Can't save settings on mobile in portrait mode

Checklist

[X]  I am not using Home Assistant. Or: a developer has told me to come here.
[X] I have checked the troubleshooting section and my problem is not described there.
[X] I have read the changelog and my problem is not mentioned there.

Deploy method
Docker
Z-Wave JS UI version
8.8.3
ZwaveJS version
10.5.5
Describe the bug
Open the settings tab on a mobile device in portrait mode. The 4 buttons at the bottom are not all visible, the 'save' button is off the right side of the screen and can't be clicked. Need to change to landscape mode or desktop mode and zoom out in order to save.
To Reproduce
Open the settings tab on a mobile device in portrait mode.
Expected behavior
Either wrapping the buttons or being able to horizontal scroll to see them all would be enough.
Additional context
No response

This is reproducible in Firefox and in the HA app.


FR: Retain anonymous user credentials after non-anonymous sign in

Feature proposal

Firebase Component: Auth

Our app does not force users to sign in with a non-anonymous provider when they use the app. Instead, we authenticate them anonymously until they choose to sign in, allowing them to securely interact with Cloud Firestore and Cloud Functions as needed.
After signing into a non-anonymous provider, the user can at any later date choose to sign out. When this happens, the user has two choices: they can either sign into a different non-anonymous account, or they can proceed anonymously as they did originally before the initial non-anonymous sign in.
When anonymous users sign into non-anonymous accounts, the current Firebase SDK discards their anonymous credentials and abandons the account. This probably has little impact in most apps. However, in our app, we would really like it if the FIRAuth module could be configured to instead retain the anonymous credentials, so that the user could sign back into their original anonymous account, instead of needing to create a new anonymous account.
The reason this is important to us is because, in our app, we treat devices as first class citizens- meaning that some user generated content is associated with the device instead of the user. Users can link multiple devices together by signing into a non-anonymous provider- but devices can also stand alone with anonymous authentication. When users occasionally sign out of a non-anonymous provider, we don't want to have to create a new anonymous account. It would be fantastic if the Firebase SDK could retain the dormant anonymous credentials alongside the non-anonymous credentials if present, so that they could be re-activated later if desired.
Perhaps the signInAnonymously function could have a parameter added that opts into this functionality, such that if the flag is set to true: the previous anonymous account will be signed back into, and if set to false (default value and current SDK functionality): a new anonymous account will be created and signed into.

Hey Will, Malcolm from the Firebase team here.
First of all, thank you for the detailed summary of why this is an issue for you - it's so much easier to get on the same page given that you've been so prescriptive with your needs! And before I get any further, I've filed this as an internal feature request at b/162766712.
Now, when I look at the heart of your problem I see a conflict between two notions of identity. You have 'Users' and 'devices' as categories of identity, and sometimes those identities can be bound together. I assume, though you haven't made this explicit, that this is so that you can do some form of RBAC (role-based access control) based either on the device or the user accessing the data. The reason that you're then having problems is that linking accounts isn't used for RBAC - account linking is basically saying "I'd like to add an extra login to this account" not "I'd like to merge these two identities, which are equally privileged". Building RBAC yourself to properly account for having both devices and users as first-class identities would be fairly tricky (you'd have to build a user-relation table and query that before doing any operations, and you might potentially have to build an extra identity layer that can appropriately translate between the identities you're managing); this is a problem that we're interested in exploring internally, so it's good to get more feedback about this.
Now, ignoring the fascinating intricacies of making RBAC work with Firebase Auth, let's just consider this statement you made: "Users can link multiple devices together by signing into a non-anonymous provider". While that's true for the first time you link a non-anonymous provider to an anonymous account, the second time you try that (e.g. when a user tries to log into a second device that already has an anonymous account), you're going to get an error and you'll be required to do manual account merging. Given that that problem exists, I'm back to thinking that you might need to keep device accounts and user accounts separate and manage their relations in a table somewhere.
Given the above, I don't think that this feature request fully solves the set of problems that you'll run into. If I've missed something, please bring it up - I'm happy to figure it out together :) If not, I'd suggest you build a slightly different model for your authentication system. What do you think?

@malcolmdeck Thanks for the detailed insight. Let me respond to a few of your points.

Now, when I look at the heart of your problem I see a conflict between two notions of identity. You have 'Users' and 'devices' as categories of identity, and sometimes those identities can be bound together.

Correct.

I assume, though you haven't made this explicit, that this is so that you can do some form of RBAC (role-based access control) based either on the device or the user accessing the data.

Essentially, yes. We do RBAC using the user identity. For example, a user might be allowed to perform different actions if they are a free user of a paid subscriber. All RBAC is tied to the user, and not the device.

The reason that you're then having problems is that linking accounts isn't used for RBAC - account linking is basically saying "I'd like to add an extra login to this account" not "I'd like to merge these two identities, which are equally privileged".

Correct. We link accounts in order to provide means to authenticate beyond the original device, as well as to unify user content on multiple devices owned by the same user (see comment below regarding users/devices relationship in Cloud Firestore).

While that's true for the first time you link a non-anonymous provider to an anonymous account, the second time you try that (e.g. when a user tries to log into a second device that already has an anonymous account), you're going to get an error and you'll be required to do manual account merging. Given that that problem exists, I'm back to thinking that you might need to keep device accounts and user accounts separate and manage their relations in a table somewhere.

This is exactly what we do. In Cloud Firestore, we have a users collection and a devices collection, with a one-to-many relationship connecting them. We then also have collections for user content that I will represent and collectively refer to as the posts collection in this issue. In earlier versions of our app, we had only the users and posts collections, but eventually we introduced the devices collection as a means of avoiding user content migration- i.e., when we have to perform an account merge we don't want to have to iterate through posts associated with the user being merged to reassign the user. Adding the devices collection allowed us to associate posts with a device instead of a user, and then we associate devices with users. When we merge accounts we now need to only change which user the device is tied to. This might not normally be the best solution, but for the nature of our particular app it makes sense to treat devices as first-class identities.

Given the above, I don't think that this feature request fully solves the set of problems that you'll run into.

Correct. This feature on its own would not solve problems encountered when attempting to implement this. However, this feature would add some QoL-type value to existing mechanisms. Here are two examples that would benefit us:

When we perform account merging after encountering the linking conflict error, we have to migrate any applicable user data and then sign into the destination account. This process has several points at which failure could occur. Should there be a problem with the merge, be it an error in Cloud Firestore, Cloud Functions, authentication, or anything else involved, we want a mechanism to revert to the starting state. That is, we want to be able to restore the original anonymous credentials. These credentials are instead discarded by the SDK when the signInWithCredential function resolves. Currently, if we need to "back out" of a problematic merge after the sign in has occurred, we have no choice but to create a new anonymous user. This issue was previously discussed in #5342 where the suggestion arose to use two FIRApp instances- which could solve the problem but I would argue is not ideal. The fallback process would be much much simpler if we could instead just "reactivate" the anonymous credential.

Throughout the app life cycle as users sign in and out of non-anonymous accounts on their devices, we would prefer that the anonymous account not change every time. Retaining the anonymous account instead of them being disposable would make the identity terrain less chaotic. We find value in treating an anonymous user as the "root" identity of a device if no other identities (read: non-anonymous providers) are associated. If a single device will never have had more than one unique anonymous user used to authenticate, then we can call upon said user, even if dormant, to identify the device. Of course we're able to make do as-is, this is instead a "nice to have" type benefit.

Let me know if you think what I've described makes sense. I'd be more than happy to continue a discussion diving deeper into nuances, benefits, challenges, etc...

Thank you for the detailed response :)
I think that there are two things for us to consider

What can we do to make this easier for you right now?

We have this same problem in FirebaseUI where you might need to merge accounts and there's a concern of losing a user credential. The way that we solve it is by first creating a second FIRAuth instance, and then copying the user state from the existing instance to the new one using -updateCurrentUser (found here). Then, we can mutate as much as we want on the new instance (for example, trying to link accounts) without losing the existing credential. I know that that's not ideal for you, but it at least solves some of your migration story while we think about (and maybe build/release) your feature request.

Does your feature request hold water?

First of all, as I said in my first response, I've filed this as an internal feature request as b/162766712 so you'll get your due from the rest of the team independent of the opinions that I express here. I think that the first point you make about not being able to restore credentials to an Auth instance is a reasonable one - for example, if I sign a user in via the Admin SDK it's often not so easy to make the state on the client-side match up appropriately. We don't field a lot of complaints about this right now, but it annoys me anyways, and if you had some way to mint the anonymous user account a new token from the Admin SDK then I imagine you'd be set. (Actually, you might be able to do this - I need to refresh my memory on what happens when you specify an existing UID in a custom token and exchange it using the Admin SDK).
As for anonymous accounts persisting across log outs, that's against the core philosophy we have about what an anonymous account is/isn't for. In our view, anonymous accounts are transient state intended as part of an app onboarding flow. That way, you can have a UID for a user before making them sign up, which is an attractive feature for a variety of developers. Because the UID stays with the account when you link accounts, you can't have anonymous accounts bound to device identity in some way, since that will cause a collision when you have an upgraded (linked) anonymous account and try to mint a new anonymous account on that device.
Also, using device identifiers to keep track of anonymous accounts would be really tricky for us to do from a privacy/legal standpoint; I'm not a lawyer so I don't know the details here, but I would imagine that having anonymous accounts based on something device-specific wouldn't pass muster for some subset of the use cases that we currently cover (i.e. it may require user consent, which anonymous accounts presently do not IIRC). I could certainly be wrong, though - again, I'm not a lawyer.
Another thing that occurred to me is that you could be using Custom Authentication to identify devices in the way that you want. Custom Auth allows you to use the Admin SDK to mint user accounts based on anything you want (you could, for example, use the Firebase Installations ID to keep track of what app instance it is across sign outs, where an app instance is defined as an app on a device for the duration of the time it is installed). Then you get what you want, which is separate identities for devices and users, and both types of identities can be logged into and out of at will. The migration from one to another would be annoying, but you could write a batch job to upgrade the existing anonymous accounts to custom token accounts that should get the job done.
As always, if you have more thoughts or concerns, I'd love to hear them - this is a really interesting problem to try to solve, and your responses have been cogent and pleasant :)
Thanks,
~Malcolm

We have this same problem in FirebaseUI where you might need to merge accounts and there's a concern of losing a user credential. The way that we solve it is by first creating a second FIRAuth instance, and then copying the user state from the existing instance to the new one using -updateCurrentUser (found here). Then, we can mutate as much as we want on the new instance (for example, trying to link accounts) without losing the existing credential. I know that that's not ideal for you, but it at least solves some of your migration story while we think about (and maybe build/release) your feature request.

I didn't realize FUI did this, that's very interesting. I'll take a look to see if we can't do the same. We actually use FUI, but when there is a merge conflict we're on our own to handle it.

As for anonymous accounts persisting across log outs, that's against the core philosophy we have about what an anonymous account is/isn't for. In our view, anonymous accounts are transient state intended as part of an app onboarding flow. That way, you can have a UID for a user before making them sign up, which is an attractive feature for a variety of developers.

I'd like to respectfully challenge this philosophy. I completely agree that the primary value of anonymous authentication is to avoid onboarding friction caused by requiring the user to signup/in. This is the main reason that our app uses anonymous auth, and it does indeed solve that problem perfectly. What I would like to challenge, however, is the idea that anonymous auth has no further purpose beyond onboarding.

Because the UID stays with the account when you link accounts, you can't have anonymous accounts bound to device identity in some way, since that will cause a collision when you have an upgraded (linked) anonymous account and try to mint a new anonymous account on that device.

That is true for users that had their anonymous account upgraded- but not true for users that had to merge into an existing non-anonymous account.
Let's talk about two different configurations that provide different scenarios. In the first configuration we don't upgrade any anonymous accounts, instead we always create a new account with a new UID, etc.... In the second configuration we do upgrade anonymous accounts, and switch users only in the event of merge conflict.
The first configuration is the only one that would (theoretically) allow anonymous accounts to be bound to device identity, assuming we could retain them post-signin. In this configuration, the user initially starts with an anonymous account. Later, the user decides to sign in, and FIRAuth is switched to a new user account with one or more non-anonymous providers. When this happens, we would like for the now-dormant anonymous user/credential to not be discarded. Sometimes our users will decide to sign out of their account on one of their devices. When this happens, we present them with a screen allowing them to either sign into another non-anonymous account, or to continue anonymously as they did when they first installed the app. In the latter case, FIRAuth is currently designed to create a new anonymous account- which isn't catastrophic, but not ideal. In this configuration, I argue that we should be able to reactivate the previous anonymous account. This is part of my challenge to you and the Firebase team: I think anonymous accounts should be able to serve as more than just a transient state for onboarding. Why shouldn't our app be able to use anonymous accounts as a means of allowing users to sign out of an account without signing into a different one? What if the app imposes a limit on number of devices that can be signed into an account, and the user wants to swap one with another? What if the device changes hands? Why can't anonymous accounts provide a more general mechanism of anonymous identity beyond only the onboarding stage? I believe it's a reasonable idea to allow users to return to an anonymous state after having previously signed in. It's not a super common use case, I'll admit, but that shouldn't rule it out as a possibility. On top of that, there are more than a handful of apps that use only anonymous auth for permanent authentication, where they never ask or even allow the user to sign in. Regardless of the current intention of anonymous accounts, I urge the FIRAuth team to consider to consider the added utility that would come with anonymous account retention.
The second configuration is less black and white, as you mentioned. When anonymous accounts are upgraded with a non-anonymous provider, it doesn't make sense to retain the anonymous credential. In this configuration, trying to bind anonymous accounts to device identity doesn't really work- at least not very well. The only times you will have anonymous accounts left over are in cases where merge conflicts occurred and the authenticated user was changed. In this configuration, the only minor grievance we have is that if we later sign in anonymously then a new account will be created unnecessarily. FIRAuth should be able to reactivate the anonymous user if it is present, and create a new one only if there is no anonymous credential found on the client.
The main problem I see with this request is that it adds complexity to an otherwise simple mechanism. I do think my request holds water, but it's less of a simple drop-in and more of a beginning of a discussion about the anonymous account usage and lifecycle.

As a followup to my previous response, I guess there are really just the two sub-issues that we care about:

Robustness and fallback of user merging: where we need to be able to revert to our starting state in the event of uncorrectable error during data merge/migration. This ought to be achievable currently with the dual FIRApp instances mentioned in #5342 but is less than elegant in my opinion. It's also not documented very well because it's not a common configuration. This leads me to wonder what other Firebase users do to overcome this hurdle. I can't imagine that wanting to safely merge two accounts, with a sense of atomicity, is a rarity- and yet I don't see much discussion or documentation on the matter.

Unnecessary anonymous account creation when the last-used anonymous account on the device wasn't upgraded. Why do we have to create a new anonymous account when we previously had a perfectly valid one? The point of this item is to have more stable UIDs, where even if we can't bind them to device identity, we don't have to create a branch new user for no reason other than "that's just how the SDK works". There isn't a lot of weight to this item, it'd just be a nice-to-have. The first item is more important to us.

Hey Will,
Sorry for the slow reply - I have a few more plates spinning than I can comfortably handle right now. I talked to my team about this today, and the general sentiments that came out of that discussion were:

We can't change the existing behavior of anonymous accounts (like preserving the credential under-the-hood) without potentially breaking existing client flows. We're very sensitive to making changes to the model that we have, even if the initial decision that we made was arbitrary (which the discarding of anonymous accounts appears to be, to some degree - there are nuances related to what "signing-out" means that we haven't discussed, but I'm pressed for time).
Wanting to "sign in with device identifier" seems like a good proposal; it's slightly different than what you've proposed, but appears to solve your problem almost exactly without having to change the existing behavior. Our PM seemed interested in this, though I can't make any roadmap promises right now
Why do you need an Auth token in order to talk to your backend? Is there some Rules feature that makes it easier to do with Auth than just minting/storing a UUID per-device yourself?

I know that this doesn't really answer a fair amount of the argument you make above, and I apologize for that. That being said, I figured any news was better than no news, so I figured I'd at least let you know that we had talked about it.
Thanks,
~Malcolm

Hey Malcom, thanks for the info. There is some discussion happening on our end. I'll provide a full response when able.

Malcom, after further discussion, there are two things we would like to come from this discussion:

Improvements to documentation regarding dual FIRApp instances in order to more safely perform user merge in the event of conflict during anonymous upgrade. See related discussion here: https://github.com/firebase/firebase-ios-sdk/issues/5342#issuecomment-665146290

A deeper dive into the device identity concept, where one can either "sign in with device identifier" as you mentioned, such that we can ask FIRAuth "What user is currently signed in, and/or what device if applicable" (web clients may not make sense here, but Android and iOS should). Unlike most, our application treats devices as first-class citizens, and we want to be able to associate user generated content with both the user and the device it was generated on (think like a trail camera, where you want to know which of your cameras tagged the buck- not only that it was one of your cameras). It would be fantastic if FIRAuth could provide a mechanism for device identity in addition to the currently "primary" user identity. If amenable to you and your team, I would love to chat with your PM regarding this concept. We've had similar meetings with the ML Kit team in the past that proved fruitful.

@willbattel were you able to find an elegant solution for that?

Currently I'm the same situation described by @willbattel and I didn't find any reasonable solution.
@willbattel can you point us in the right direction on solving this specific use case?


makefile

Current dependencies on/for this PR:

main

PR #4   👈

This stack of pull requests is managed by Graphite.


fix: upgrade to version 3.0.646

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign pmuir
You can assign the PR to them by writing /assign @pmuir in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test kube

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test kube

vault
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test kube

vault
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test vault

gsm
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test gsm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test kube

vault
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test vault

gsm
88e8bd913d8bf0b918ec46dc40c23d27452fdc47
link
/test gsm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


:name: attribute conversion to :name (v3) / {:docName, :number} (v2) issues

Currently we deal with :name / {:docName, :number} separately, but I'd like to see them align to the usage shown in the README.
So setting the document attribute :name (or :rfc-name if it is more clear) should automatically set:
I-D

v3: the front/seriesInfo@value will be set to this value.
v2: the rfc@docName will be set to this value.

RFC

v3: the front/seriesInfo@value will be set to this value.
v2: the rfc@number will be set to this value.

Internet-Draft
= Document title
Author
:doctype: internet-draft
:name: draft-hello-00
:intended-status: informational
:submission-type: irtf

v3
<?xml version="1.0" encoding="UTF-8"?>
<rfc preptime="1970-01-01T00:00:00Z" version="3" submissionType="IRTF">
<front>
<title>Document title</title>
<seriesInfo name="Internet-Draft" status="informational" stream="IRTF" value="draft-hello-00"/>
<author fullname="Author" />
</front>
<middle></middle>
</rfc>

=> v2
<?xml version="1.0" encoding="UTF-8"?>
<rfc version="2" submissionType="IRTF" docName="draft-hello-00 ">
<front>
<title>Document title</title>
<seriesInfo name="Internet-Draft" value="draft-hello-00"/>
<author fullname="Author" />
</front>
<middle></middle>
</rfc>

RFC
= Document title
Author
:doctype: rfc
:name: 1234
:intended-status: informational
:submission-type: irtf

v3
<?xml version="1.0" encoding="UTF-8"?>
<rfc preptime="1970-01-01T00:00:00Z" version="3" submissionType="IRTF">
<front>
<title>Document title</title>
<seriesInfo name="RFC" status="informational" stream="IRTF" value="1234"/>
<author fullname="Author" />
</front>
<middle></middle>
</rfc>

=> v2
<?xml version="1.0" encoding="UTF-8"?>
<rfc version="2" submissionType="IRTF" number="1234 ">
<front>
<title>Document title</title>
<seriesInfo name="RFC" value="1234"/>
<author fullname="Author" />
</front>
<middle></middle>
</rfc>

I am not in love with :name: because of its ambiguity with author names; but done.

Thanks @opoudjis ! Open to suggestions though 😉

Let's leave it for now.
Btw, am making doctype default to internet-draft in v2 if doctype is not supplied, which is how this will be used anyway.

Exactly. Thanks @opoudjis !

For both v2/v3 we should have doctype set to "internet-draft" by default.


[Bug] markLine symbol covers final datapoint

Version
5.3.3
Link to Minimal Reproduction
https://codesandbox.io/p/sandbox/speed-graph-interactive-forked-ntgnvv
Steps to Reproduce

Chart is created with React

{
    title: {
      show: true,
      left: "center",
      text: `6 Months LADEN (Kt)  Min: ${min}  Max: ${max}  Avg: ${average}`,
      textStyle: {
        fontSize: 14,
        fontColor: "#5b626b",
        fontWeight: "normal",
        fontFamily: "Source Sans Pro"
      }
    },
    dataset: [
      {
        source: data
      }
    ],
    series: [
      {
        name: "LADEN",
        type: "line",
        encode: {
          x: "pos_date",
          y: "sog",
          tooltip: ["sog"]
        },
        markArea: {
          itemStyle: {
            color: "rgba(100, 0, 177, 0.1)"
          },
          data: [
            [
              {
                name: "NOPAC (NOV 2023 - DEC 2023)",
                xAxis: "2023-11-01"
              },
              {
                xAxis: "2023-12-18"
              }
            ],
            [
              {
                name: "SE Asia (OCT 2023)",
                xAxis: "2023-10-01"
              },
              {
                xAxis: "2023-10-30"
              }
            ],
            [
              {
                name: "Indian O. (DEC 2023 - FEB 2024)",
                xAxis: "2023-12-20"
              },
              {
                xAxis: "2024-02-18"
              }
            ]
          ]
        },
        lineStyle: {
          width: 2
        },
        areaStyle: {
          color: "#001446",
          opacity: 0.35
        },
        symbolSize: 6,
        connectNulls: true
      },
      {
        name: "LADEN AVG",
        type: "line",
        showSymbol: false,
        color: "transparent",
        tooltip: {
          show: false
        },
        markLine: {
          data: [
            {
              name: "average line",
              type: "average"
            },
            {
              name: "test",
              yAxis: 12
            }
          ],
          lineStyle: {
            color: "#001446"
          }
        }
      }
    ],
    grid: {
      zlevel: 0,
      borderWidth: 0,
      backgroundColor: "rgba(0,0,0,0)",
      borderColor: "rgba(0,0,0,0)",
      height: 390,
      right: 35
    },
    tooltip: {
      trigger: "axis",
      axisPointer: {
        type: "cross",
        crossStyle: {
          color: "#849CDB"
        }
      }
    },
    toolbox: {
      top: "0%",
      feature: {
        saveAsImage: {
          name: "aai-evolution-3m-speed"
        }
      }
    },
    dataZoom: [
      {
        backgroundColor: "#b2b6c3",
        fillerColor: "#001446",
        bottom: 28,
        textStyle: {
          width: 55,
          color: "#333333",
          fontSize: 10
        },
        handleSize: "200%",
        moveHandleStyle: {
          opacity: 0
        },
        type: "slider",
        show: true,
        xAxisIndex: [0],
        // start: 0,
        height: 10,
        selectedDataBackground: {
          lineStyle: {
            color: "rgba(1,1,1,0)"
          },
          areaStyle: {
            color: "rgba(1,1,1,0)"
          }
        },
        dataBackground: {
          lineStyle: {
            color: "rgba(1,1,1,0)"
          },
          areaStyle: {
            color: "rgba(1,1,1,0)"
          }
        }
      }
    ],
    color: ["#001446"],
    xAxis: [
      {
        type: "category",
        splitNumber: 3,
        axisLabel: {
          margin: 6,
          hideOverlap: true
        },
        axisPointer: {
          type: "shadow",
          label: {}
        }
      }
    ],
    yAxis: [
      {
        type: "value",
        nameRotate: 90,
        nameLocation: "middle",
        nameGap: 0,
        nameTextStyle: {
          fontWeight: "normal",
          fontSize: 12
        },
        min: 9,
        max: 15,
        axisLabel: {
          formatter: "{value} Kt",
          margin: 6,
          hideOverlap: true,
          showMinLabel: true
        },
        splitLine: {
          show: false
        }
      }
    ]
  }

Current Behavior
The markLine symbol for average markLine covers the last data point if the average and the last datapoint have the same value.

Expected Behavior
For the markLine symbol to not cover the last datapoint if the values coincide. Better to have the markLine extend beyond the bounds of the x-axis (the dotted line should be a little bit longer) so the arrow symbol does not cover the point.
Environment
- OS: Mac
- Browser: Chrome
- Framework: React

Any additional comments?
No response

Yu can specify start and end of the markline yourself as the various examples in the documentation suggest.
Demo

Using the example, the markLine disappears

In the original example I had two lines, one average line and another set at to a yAxis of 12. I suppose to use the items in the markLine array with item at 0 as start and 1 as end, I would need another markLine to render the line currently at yAxis: 12
However, it is puzzling why the line does not render at all when using the example code

You are missing one set of brackets.
In my example code
[     {yAxis: 'average', x: '10%', name: 'average'},     {yAxis: 'average', x: '90%'} ]
specifies a line between two points which have to be encapsulated into '[' brackets.
So the correct syntax is
data: [     [    // <-- brackets         {yAxis: 'average', x: '10%', name: 'average'},         {yAxis: 'average', x: '90%'}     ]    // <-- bracktes ]
instead of your
data: [     {yAxis: 'average', x: '10%', name: 'average'},     {yAxis: 'average', x: '90%'} ]

Thank you for spelling it out for me.


Distributed Systems Course by Martin Kleppmann

https://www.youtube.com/watch?v=UEAMfLPZZhE&list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB

1.1: Introduction

Lamport joke: Distributed system is "a system in which the failure of a computer you didn't even know existed can render your own computer unusable."

1.2: Computer networking

"Hard drives in a van" is actually an efficient way to transfer massive data and AWS actually provides such service!

Actually, this reminds me that IP over Avian Carriers.

Some figures (similar to Jeff Dean's)

Network latency

In the same building/datacenter ≈ 1 ms
One continent to another  ≈ 100 ms
Hard drive in a van  ≈ 1 day

Network bandwidth

3G cellular data ≈ 1 Mbit/s
Home broadband ≈ 10 Mbit/s
Hard drive in a van 50 TB/box ≈ 1 Gbit/s


Update index.md

Changed the printf (and Output) text. Added a new comment.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Thank you and happy coding.


Context menu follow up

Fixed up some examples:

Swapped actual examples between Sizes and Single panel. The pagination example seems actually more appropriate to exemplify why one would want a small context menu so I just swapped those examples.
Added a bit more to a few snippets

Created a specific small title class instead of relying on nesting …

Also updated the euiPopoverTitle() mixin to accept a size prop and re-created it for Amsterdam for better adjustments. This required less actual override structures.

Added prop comments and a few more tests.

@andreadelrio Not sure if you saw this one, I know notifications on forks can be iffy.

@andreadelrio Not sure if you saw this one, I know notifications on forks can be iffy.


Update Set-CsTenantFederationConfiguration.md

small change

OPS Build status updates of commit b693207:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsTenantFederationConfiguration.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@robertpp - thanks for catch and fix!


Update: export mongodb env variables

Fix mongo environment variables missing problem caused in https://github.com/xlang-ai/OpenAgents/pull/43
Add MONGO_SERVER script in backend/README.md, and backend/setup_script.sh

LGTM


Gitea v1.9.0 images do not contain entrypoint

It seems like the uploaded images on Docker Hub do not contain the root folder from the Gitea repo with the entrypoint and configuration files. Could you please adjust the images to include them?
I was using version v1.9.0-rc2 for armhf.

Thank you, I missed the changed directory structure.  Fixed for v1.9.0 release containers.

Now everything works as expected. Problem solved :)


Find widget shall be shown per split terminal

Testing #145629

Find widget is shown for all split terminals which makes it confusing where I am searching. For eg., in above screenshot the wrong terminal is highlighting find results which is not matched with with text in find widget.

I think it's just the find widget was added before splits. It would make sense to do this especially now considering we needed to reimplement parts of find inside the terminal editor; it'd be easier if it was encapsulated inside TerminalInstance or XtermTerminal.

Created PR https://github.com/microsoft/vscode/pull/155361 fixing this


Certain chacters in Label text do not display correctly

Godot version:
v3.2.3
OS/device including version:
Latest Manjaro Linux, XFCE desktop, en_US.UTF-8 locale, turkish keyboard
Issue description:
certain chacters in Label text do not display correctly
Steps to reproduce:

create empty project
add Label
set Label's text to Hello ç ş ı ğ ü
observe in 2d viewport that Label text does not display correctly
run the scene
observe that certain characters do not display correctly

Screenshot

Minimal reproduction project:
Tutor1.zip

Duplicate of https://github.com/godotengine/godot-proposals/issues/1079.
To solve this, assign a custom DynamicFont to your label (or in your theme resource).


[Templating] Difference between react and angular navmenus.

In the react navmenu we include the login-menu at the end
<Collapse className="d-sm-inline-flex flex-sm-row-reverse" isOpen={!this.state.collapsed} navbar>

    <NavItem>
      <NavLink tag={Link} className="text-dark" to="/">Home</NavLink>
    </NavItem>
    <NavItem>
      <NavLink tag={Link} className="text-dark" to="/counter">Counter</NavLink>
    </NavItem>
    <NavItem>
      <NavLink tag={Link} className="text-dark" to="/fetch-data">Fetch data</NavLink>
    </NavItem>
////#if (IndividualLocalAuth)
    <LoginMenu>
    </LoginMenu>
////#endif

</Collapse>

, while in the angular template we include it at the beginning

  <app-login-menu></app-login-menu>

      Home

      Counter

      Fetch data

@javiercn @blowdart Which milestone should this go in?

The soonest it can be addressed? It seems a pretty simple fix :)

It involves CSS, it's not easy :smile. That said, this is more of a code organization issue than it is a visual issue. Visually they both look the same. It's that the elements are in different order due to CSS magic.
This bug is to try and make the order the same.

That said, I think the issue might be that:

  <app-login-menu></app-login-menu>

Needs to go inside the ul tag. If not, I don't know whats going on there and it will be a wonderful journey of discovery. I recommend that we give it a try but don't spend a lot of time on it. I would also mark it as up for grabs to see if some hero from the community with more CSS knowledge is up to the task.


update to print() + switch indentation to spaces

tabs seem to mess up layout on the web (the groups web page is the only one using spaces and it looks fine)
screenshots for reference:

anchors (using tabs)

groups (using spaces)

im out of office now, but im quite sure I fixed the print functions
does the website still render the old examples?

Could be! I just responded to the lines in your example, not that he code. Sorry!


Publish docker image to docker hub

Is your feature request related to a problem? Please describe.
Downloading the source to build the docker image is inconvenient. A ready image in docker hub is ideal.
Describe the solution you'd like
Create a GitHub workflow to push the built shell-craft tag to docker hub
Describe alternatives you've considered
None
Additional context
I want to:

docker run JohnnyIrvin/shell-craft

I'll be able to work on this when #14 is finished. We have a PR (#46) but it has unexpected behavior.
We want to get the env var from host without passing it into Docker run, but I wasn't able to find anything on that in the docs.


Create tutorial from scratch ?

I'll start this with an anecdote: when I rewrote django-dynamic-fields into facond, I still had Form/Rule/Action/Conditions. When the code got to the point where i was satisfied with it i wrote the tutorial. This is how I figured this lib had just no need for the "Rule" component. Hopefuly, both python and js had serious unit test coverage, so I just removed the Rule stuff from Python and JS, changed all function signatures, and kept on fixing stuff until tests passed again. This strikes me: if i had started by writing the tutorial, I would not have wasted my time TDDing a component that I actually didn't need (the kind of things that would make me look silly in a retrospective right ? haha).
Currently, there's a lot of research documentation about low level components, a bit how "how it could be done", but isn't a lot of the fun about designing how we're going to use this package at a high level before digging into lower level components ?
Perhaps someone with experience about what this package is about (ie. has coded this kind of patterns in private or open source projects in the past) could write a tutorial for using this package ? yes, that means inventing the high level API from the top of their head for using the components which don't even exist yet ?
Sincerely hope this helps but if this doesn't make sense to you feel free to close ;)
FTR: How I failed at documentation driven design

Hi @jpic
I've tackled the problem of API design for this at django under the hood 2016; I've made some notes I believe I've never published, I'll try to find it and organize it into some sort of initial onepager later this week.
Thanks for bringing that up. :)

I am a fan of DDD (rather than exclusive TDD). It's an interesting one here because the "second level" (see #24) of the API is almost more important than the top one, and half of the point is that you can have multiple top level APIs which are created or create the same underlying infrastructure. For example, a (near) compatible version of the existing forms.Form API would be fantastic for adoption. But I get ahead of myself 😉

Oops sorry for duplicating #24...
@artcz thanks that'd be really nice !
Django forms compatibility or even declarative metaclass style are not a requirement for me, perhaps it will be easier to design the API if we don't think about it for now, I see no reason why that could not be added later, be careful @mjtamlyn because sometimes dreams come true ;)


Unable to delete cookies via $controller->sendResponse();

Laravel Version: 5.4.19
PHP Version:7.1
Database Driver & Version: Mysql 5.6

In short, returning from Controller method:
    return $this->sendResponse([], 'Logout successfully')
                ->withCookie(\Cookie::forever('CLIENT_ID_COOKIE', $CLIENT_ID))
                ->withCookie(\Cookie::forget('XSRF-TOKEN'));

'XSRF-TOKEN is not deleted
while
    \Cookie::queue(
        \Cookie::forget('XSRF-TOKEN')
    );
    return $this->sendResponse([], 'Logout successfully')
                ->withCookie(\Cookie::forever('CLIENT_ID_COOKIE', $CLIENT_ID));

works fine

The issue seems to be that Laravel add the XSRF cookie to the response. Thus, it looks as if it never got deleted but technically, it did. It's just that it creates another one afterwards.
And as for why the second example works, it's most likely because the queue is dealt with after the XSRF token has been added to the response.


How to know Find is success?

var user User
db.Where("name = ?", "job").Find(&user)

How to know it is found or not found?
now I use
var count int
db.Where("name = ?", "job").Find(&user).Count(&count)
if count > 0 {
//found
} else {
// not found
}

Is there a better way?

I believe you can do something like this
if err := db.Where("name = ?", "job").Find(&user).Error; err != nil {      // User not found }

@Lopastvertoleta  it works, thanks


Error right after installation

When I reload the jupyter lab after the installation I have the following error:
s3/auth?xxxxxxxxxxxxx:1 Failed to load resource: the server responded with a status of 404 (Not Found)
lab:1 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0

The s3 and s3/auth endpoints are not defined on the instance.
Is there a needed configuration prior to the reload in addition to the pip and jupyter labextension installations ?

Hello,
You may need to manually enable the server extension by running:
jupyter serverextension enable --py jupyterlab_s3_browser

Please let me know if that works for you and I'll make a note in the readme.

That was it thank you !

Great! I'll add a note to the readme


Tag the source

It would be very helpful if you could tag releases as well. This would enable distributions to fetch the package from GitHub instead of Pypi, where not all files are included.
Thanks

Oh, I had apparently not tagged 1.9. I have added that tag, so the tags should now be up to date with the releases!


Resolving project-id when not specified is very slow

After recently updating gcloud from 0.26 to 0.30 (cloud storage 1.8.0 to 1.12.0), I found that it became much slower when starting up. Looking at logs, I noticed that this URL fetch of the current project-id (when using getDefaultInstance() to initialize a service) is very slow, taking ~5-10 seconds
http://metadata.google.internal/computeMetadata/v1/project/project-id
I'm not sure if 0.26 did not make this call or not, but I don't think it had the performance issue.
Explicitly setting project id isn't so bad and eliminates this slowness completely, so it's not a huge issue, but I was surprised to see the significant slow-down when upgrading versions and wonder if this is intended. For context, this is not used in a server but rather in a build task (gradle build cache plugin), so this slow request happens at the start of every build, making them take several seconds longer.

@anuraaga Out of curiosity, how did you detect that it was the call that takes a long time?
I started up a test GCE instance and ran
$ time curl -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/project/project-id
pongad-testing
real    0m0.015s
user    0m0.004s
sys     0m0.000s

I think it's unlikely that the call itself is the problem.
@anuraaga Can you confirm that you're running on AppEngine, Compute Engine, or Container Engine? The endpoint is only available to them, so if your application is retrying to access that URL from your own machine, it might take it a little longer to fail.

Hi @pongad I should have clarified better that indeed, these are not running on GCP machines - the client is running on developer machines on a normal office internet connection in Japan.
After trying to use the client recently, and finding that commands that used to run instantly were taking several seconds to initialize, I looked at the INFO logs and noticed it was always hanging on that call. Explicitly setting project-id removed that from the logs and removed the slowdown completely too.
I noticed the slowdown for a couple of days - it could have coincidentally been timed with when I updated our dependency version though and be transient, I will get back with trying to revert to the old version and see if it's still slow.

@anuraaga Thanks for the investigations. Since your project is not on any GCP machines, can you also take a look where you specified the project-id per [here]
(https://github.com/GoogleCloudPlatform/google-cloud-java#specifying-a-project-id) before you explicitly set the project-id? Thanks.

The project ID is set using the gcloud sdk. I guess the client first polls that url to see if it's on compute engine and if that fails it checks the others. When the metadata endpoint is slow it affects the client during this check.
I tried reverting and found that it is not slow right now. I think I must have saw a transitive issue in the performance of the endpoint outside GCP and it might not be a problem to solve here. That being said, if the compute engine metadata endpoint has poor SLAs for latency outside of GCP, which is understandable, it might be a bad first check for the sdk.

@anuraaga I think the current implementation actually checks that endpoint last, but #2705 should remove this concern altogether.


Is -grabber:inMd5List working properly? (Pixiv)

Bug description
Grabber doesn't seem to be excluding images that are already in the md5 sqlite database when searching. Am I using the filter wrong or something? -grabber:downloaded didn't work either (even if I use it as a regular filter, in which case it should show only the image I downloaded). It's like the MD5 file isn't being referenced at all when searching.
Perhaps it's just Pixiv that isn't working properly with these filters? I tried Gelbooru and the post-filter seems to work fine. Deviantart doesn't seem to work with the filter either.
Steps to reproduce

Download an image from Pixiv with MD5 in the filename, keep in the same folder that I downloaded to
Confirm that the md5s.sqlite file updated with the MD5 (b319c9f05e751d6cbcf78d1cfcd6d138 in this case)
Search using "-grabber:inMd5List" as a post-filter
Image I just downloaded that's in the MD5 sqlite still shows up in the search results.

Expected behavior
Don't want to see images I already downloaded
Context
main.log
Keep deleted file in MD5 list: True
If file already exists globally: Save
System information
Windows 7
Grabber 7.9.1
.

I think I might've found out why it's not working. For some reason, Pixiv and Deviantart's downloaded images don't actually get registered as Saved. If you keep the window open and right click, it'll give you the option to Delete, showing that it was indeed saved. However, if you refresh the search, the same image will say Save, as if you didn't already download it. Here's a log file with Gelbooru (seems to be working as intended), and Pixiv/DA (not working as intended).
main.log
.

I believe that would be because Pixiv's API does not return the MD5 when listing results, so Grabber has nothing to match the MD5 database against. It works on save because after downloading the image Grabber will calculate its MD5, but before that it doesn't 🤔

What about just using the URL for Pixiv/DA since downloaded/MD5 doesn't seem to work?

Hello, dm seve.services on instagram for really good grabber. trust me.


[Ruby] Query a parquet file on S3 without downloading it (using byte ranges)

Describe the usage question you have. Please include as many useful details as  possible.
I am new to this project and I am looking at the Ruby gem in particular:
https://github.com/apache/arrow/tree/main/ruby
If you load a large Parquet file stored in S3:
require 'arrow-dataset'

s3_uri = URI('s3://bucket/public.parquet')
Arrow::Table.load(s3_uri)

Can you query it without downloading the entire file? Is it possible to download only the relevant parts using byte ranges? Or the above command will always download the entire file and it's the only available solution?
Thanks
Component(s)
Ruby

Sorry, I missed this.
We can't use byte ranges directly but we can use condition push down to reduce download size.
We doesn't provide DSL to build condition yet (#29928) but the following will work:
require 'arrow-dataset'

s3_uri = URI('s3://bucket/public.parquet')
Arrow::Table.load(s3_uri, filter: [:equal, :column_name, 100]) # "column_name == 100"

See https://arrow.apache.org/docs/cpp/compute.html for available functions.

@kou Thanks for the reply!

We can't use byte ranges directly but we can use condition push down to reduce download size

Can you please clarify this? Aren't they the same thing? You are basically avoiding the download of the entire file and you read it partially (so I guess that the partial download uses byte ranges under the hood)

If we use condition push down, we can reduce target data in .parquet. So we don't need to download entire data.
Could you explain your use case?

Internal S3 filesystem implementation will use bytes range: https://github.com/apache/arrow/blob/main/cpp/src/arrow/filesystem/s3fs.cc#L1103-L1104
But do you really want to know about it?

So we don't need to download entire data.

Great.

Could you explain your use case?

I would like to store a large parquet file on S3 and search on it with some conditions without having to download it entirely.

OK. Then you can use the condition push down.

Ah, you need to use URI instead of String to use filter: (and format: :parquet is redundant when a file name has .parquet extension):
table = Arrow::Table.load(URI('sample.parquet'), filter: [:equal, :status, 200])
puts table

@kou Thanks for the reply. Your code gives me this error:
/Users/example/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/red-arrow-12.0.0/lib/arrow/table-loader.rb:61:in `load': Arrow::Table load source must be one of [uri_https, file, uri_http]: #<URI::Generic sample.parquet> (ArgumentError)

There is a sample.parquet in the local directory, just for testing. filter doesn't work for local files?

Ah, sorry. I forgot to mention explicitly: You need to add require "arrow-dataset" to use filter:.

@kou Thanks! It works!
The only downside is that in my benchmark on a 100M log file I don't see any performance gains.
Original Ruby program:
require 'arrow'
require 'parquet'

table = Arrow::Table.load('sample.parquet', format: :parquet)
puts table.slice { |slicer| slicer['status'] == 200 }

Improved Ruby program:
require 'arrow'
require 'parquet'
require 'arrow-dataset'

file = URI('sample.parquet')
table = Arrow::Table.load(file, filter: [:equal, :status, 200])
puts table

Measuring with the time command I get ~ 1.2s for both versions.

Could you try a Parquet file on S3 too?


🐞bug:  editable={false} doesn't prevent editing content

Provide environment information

Describe the bug
bug:  editable={false} doesn't prevent editing content
Link to reproduction
https://github.com/steven-tey/novel/
To reproduce

Additional information

update: after testing it is coming from  @tiptap/react, it has the editable prop but no matter what we set up the editable it doesn't take any effect.


Now working with Worker Threads

I'm using chalk with my code which uses Worker Threads,
log(chalk.blue("text"))  is working inside main but not working inside child processes. Just prints my text without coloring.

Because child processes are piping their output to a non-TTY file descriptor.
In your parent code, you can do:
process.env['FORCE_COLOR'] = chalk.level.toString();

That should fix it. Let me know if it doesn't.


example : Folder:-Get-Details don't work

Hi,
I try to access to Exchange's public folder, for check mail.
when I try this https://github.com/jamesiarmes/php-ews/wiki/Email:-Get-List all are ok.
But when I try this https://github.com/jamesiarmes/php-ews/wiki/Email:-Get-List
I have got an error : "Fatal error:  Uncaught SoapFault exception: [soap11:Client] Ã‰chec de la validation de schÃ©ma pour la demande :L'attribut 'Id' n'est pas valide - La valeur 'publicfoldersroot' n'est pas valide selon son type de donnÃ©es 'http://schemas.microsoft.com/exchange/services/2006/types:DistinguishedFolderIdNameType' - Ã‰chec de la contrainte Enumeration. ..."
Why example don't work?
Thanks a lot,

This issue is over three years old. If you're still having trouble with the latest code from master, please open a new issue.


Search is too broad

So I was playing around with the website and I searched for "john" because I wanted to see the map adjust to the global view (super cool feature). The third hit was a woman named "Cate". Long story short, in her "home" section, she lives with her partner "John". Seems like a bug to me, that searching for "john" gets me "cate".
Maybe the eventual solution is just more advanced search (i.e. name="john", location="USA", etc.) so that you don't pick up names from the profile content?
Still, thought I should document and see if anyone agrees or I'm all alone.

This is intentional - I thought people are unlikely to search by name directly, so I included the whole profile by default.
But you're right it's a bit confusing, someone else reported the same bug

I could see it being most relevant if you're looking for a friend. It doesn't really impact your search (hence low priority), but it def struck me as weird.

Continued #1451


Added support for plugin relaunch API, update Figma type definitions

Hey @lennet,
Wanted to suggest a PR to add support for Figma's plugin relaunch API. This would enable someone to add a timer to a template, and when someone clicks on the text, launch the plugin from the properties panel, or prompt them to install it if they don't already have the plugin. Would be great for shipping sprint templates with a timer that is already on canvas and makes the functionality more discoverable.

Let me know what you think.

Hey, Thanks for your contribution! Thats awesome happy to merge it and release an update soon. Do you want to add the plugin to your template @killnicole?


fix: TOS checkbox links (GRO-359)

https://artsyproduct.atlassian.net/browse/GRO-359
~This change sets the Terms of Service checkbox link underline behavior to default which displays underlines under links.~
This change removes Terms of Service checkbox link underlineBehavior prop which defaults to links having andunderline.
:

underlineBehavior=default
prop removed

GDPR sign up modal
GDPR sign up modal

US sign up modal
US sign up modal

~I noticed that removing the prop entirely accomplishes the same and that we don't have any links with underlineBehavior=default across the code base. Would it be better to remove those props entirely from the TOS checkbox links?~

Would it be better to remove those props entirely

Yeah that seems slightly better to me. 👍

Would it be better to remove those props entirely

Yeah that seems slightly better to me. 👍

Cool. I've added screen grabs for comparison just to be sure it looks the same.

TY! 🏆


Export tags/categories

Category groups have recently been added.
Categories and tags are considered content and synchronising them will not be part of this tool.
If you wish you can write your own plugin and make use of the registerMigrationService hook.

@bvangennep sorry, I meant the groups :/ But still why do you only export the Category groups and not the Tag groups?

@kobeaerts Fair enough, tag groups can be a future addition


Gulp with ES6

Hello.
Have you considered replacing Grunt with Gulp using ES6?
Regards

I've wondered if we can use Webpack.

It can be used, but I think that that should be a choice of the end-user. I have been in projects where browserify and requirejs were good option, and where a bundler is not an option to considere. Besides, System.js is catching the attention in these days.
I think that Grunt must be replaced with Gulp, we (and others people in the web) are happy with it due to it's a little bit faster and the tasks configuration is less verbose. I can make the transition and pull a request.

Is gulp playing nice with docker? We currently don't support grunt on docker because it's a pain to set up in a development environment with docker-toolbox.

We had issues running sass, but we solved it some months ago. I don't know if that issues persist, I'm creating a new fresh container and I'll let you know if there is any issue.

It's still a pain in the neck to make sass works with Docker. I think Grunt is the best choice so far.


REE infers length from ends array

fixes #19

Will reopen this later, need to bring back some more scalar_at impls

possible now that #160 has merged 🥳


[AutoPR sql/resource-manager] Adding Swagger for POST APIs used to upload a customer TDE certificates

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3248

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/2102


feat: adding focus state

PR for adding focus state for buttons, text input and nav components
add global CSS classes

I think we still have some focus classes in the following files:
file-upload.tsx
select.tsx
text-input.tsx
header-menu.tsx
file-upload.html
select.html
text-input.html
header-menu.html
if you do a search with focus: in your editor you will see the components above are using generic tailwind classes instead of our custom components

The focus state on the link create a layout shift, the text is moving on left by few pixels. Please check with Lexa; on the link you should probably use box-shadow instead of border.

Good call, I replaced for box-shadow.
Focus and focus-visible states should be good now.

We are getting closer :)
I've noticed that the new focus on inputs (checkboxes, text-input, textarea) doesn't have rounded corners.

We are getting closer :) I've noticed that the new focus on inputs (checkboxes, text-input, textarea) doesn't have rounded corners.

This is intentional, I talked with Lexa she asked to not put them rounded.


[ENHANCEMENT] Remove "Clone" action for Longhorn V2 Storage Classes

Is your enhancement related to a problem? Please describe.
The Longhorn v2 data engine doesn't yet support volume clone, so we need to hide the Clone operations in the Harvester UI for LHv2 volumes.
Describe the solution you'd like
Much the same as https://github.com/harvester/dashboard/pull/1189 for snapshots, it would be ideal if we could:

Remove the Clone action for LHv2 Volumes
Remove the Clone action for VMs that have LHv2 Volumes attached.

Describe alternatives you've considered
Document the limitation
Additional context
Related issue: https://github.com/harvester/harvester/issues/5274

Hi @tserong, @a110605
LVM also needs to remove the Clone action in v1.4.0.
Could we use the same issue to track?

Could we use the same issue to track?

Fine by me :-)

Could we use the same issue to track?

Fine by me :-)

Thanks! Updated the title and content.

After today's discussion/test with @a110605
The LVM CSI driver had the capability to perform clone operations, so I opened the dashboard PR to add it back.


[BUG] Special Character Causes Queue Message to Fail

Describe the bug
When you try to place a message on a queue with a "�" character it causes an exception with the message " XML specified is not syntactically valid."
Expected behavior
The character would be escaped and therefore queued and dequeued successfully.
Actual behavior (include Exception or Stack Trace)
The call to place the message onto the queue causes a RequestFailedException to be thrown. Here is the stack trace:
Azure.RequestFailedException : XML specified is not syntactically valid.
RequestId:cd13cfd1-3a38-4156-9756-75d7d2f1a1e6
Time:2020-04-16T02:00:31.5292245Z
Status: 400 (XML specified is not syntactically valid.)
ErrorCode: InvalidXmlDocument

Additional Information:
LineNumber: 1
LinePosition: 78
Reason: Error parsing Xml content

Headers:
Server: Windows-Azure-Queue/1.0,Microsoft-HTTPAPI/2.0
x-ms-request-id: cd13cfd1-3a38-4156-9756-75d7d2f1a1e6
x-ms-version: 2018-11-09
x-ms-error-code: InvalidXmlDocument
Date: Thu, 16 Apr 2020 02:00:31 GMT
Content-Length: 327
Content-Type: application/xml

   at Azure.Storage.Queues.QueueRestClient.Messages.EnqueueAsync_CreateResponse(ClientDiagnostics clientDiagnostics, Response response)
   at Azure.Storage.Queues.QueueRestClient.Messages.EnqueueAsync(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri resourceUri, QueueSendMessage message, String version, Nullable`1 visibilitytimeout, Nullable`1 messageTimeToLive, Nullable`1 timeout, String requestId, Boolean async, String operationName, CancellationToken cancellationToken)
   at Azure.Storage.Queues.QueueClient.SendMessageInternal(String messageText, Nullable`1 visibilityTimeout, Nullable`1 timeToLive, Boolean async, CancellationToken cancellationToken)
   at Azure.Storage.Queues.QueueClient.SendMessageAsync(String messageText, Nullable`1 visibilityTimeout, Nullable`1 timeToLive, CancellationToken cancellationToken)
   at Azure.Storage.Queues.QueueClient.SendMessageAsync(String messageText)
   at MessageQueueProviderTests.invalid_message()

To Reproduce
The following xunit test will trigger the exception (assuming you have the queue "test-queue" in Azure storage emulator):
        [Fact]
        public async Task invalid_message()
        {
            var messageText = "String with � character";
            var queueClient = new QueueClient("UseDevelopmentStorage=true;", "test-queue");

            await queueClient.SendMessageAsync(messageText);
        }

Environment:

Azure.Storage.Queues 12.3.0
.NET Core SDK 3.1.101

Hi @speedy-ms ,
This is by design. We expect the message to be a valid xml body message. A quick workaround for you would be to base64 encode the string. Please ack if this works for you.
Thanks

Hi @amishra-dev,
I will base64 encode our messages going forward, I think that is one issue that we have faced when changing from Microsoft.Azure.Storage.Queue to Azure.Storage.Queues - that, in the former, all messages are automatically encoded to and decoded from base64 whereas the latter it does not appear to happen.

Hi @speedy-ms ,
This is by design. We expect the message to be a valid xml body message. A quick workaround for you would be to base64 encode the string. Please ack if this works for you.
Thanks

Would be helpful if this was written in the docs somewhere - neither the function signature nor the docs convey this information.
Also from a consumer point of view, wouldn't it be better if QueueClient did the unescaping/escaping? I imagine that a user of this API won't really care about the underlying format (xml). What's important is whatever string we pass to SendMessage will be equal to the string that is returned by ReceiveMessage.
I encountered this error today when I sent a message with a &. It was puzzling because there was no indication in the API that you need an xml escaped string (and the docs says The message content must be a UTF-8 encoded string that is up to 64KB in size.) but the exception says its invalid xml. It's not very intuitive.

This has been addressed in https://github.com/Azure/azure-sdk-for-net/pull/16689 along with base64 option and available in https://www.nuget.org/packages/Azure.Storage.Queues/12.5.0


Running a job every 5 seconds

Hi, I can't seem to get a cron job to run in seconds.
This is what I have:
const cron = require("node-cron");
var fiveSec = cron.schedule("5 * * * * *", function() {
    console.log("running a task every 5 seconds");
},false);

fiveSec.start();

I have a function that works every minute, but just having syntax struggle with seconds...
Any help is much appreciated!

For all the lost souls that arrived here, the reason is that you need to use an interval syntax: */5 , such as:
cron.schedule('*/5 * * * * *', () => {
  console.log('running a task every 5 sec')
});


Support of Wenxin's LLM

Hello everyone!
This framework is very useful, and I plan to use it in my project. My project intends to use Wenxin's large language model, and I hope to optimize the prompts based on it. Does anyone know if there's already an implementation for calling Wenxin's LLM? If not, I plan to work on this.
Thank you!

You should be able to use this by hosting on VLLM or SGLang and connecting via a dspy LM client


Link not active in certain situation

I have a route like this:
/some(/:page)

The link is not marked as active when I visit a page /some/about only when I visit /some. onlyActiveOnIndex is false.

This is covered in the troubleshooting guide. Please consult the docs before opening new issues.


#258 #118 | latest updates

@timlinux
added latest update. It is still for csv loader, not yet for edit locality in map, because the service is till not implemented.

Testing adding one data in south africa

closed, merging with edit locality


Make line-length guide optional.

I prefer turn off line-length guide. But it seems there is no option for it.
It would be great if we have it.

Hey @kybin, thanks for raising this. Sounds reasonable so I'll try and get it in next time I work on the UI.

Hey @kybin, I've basically accidentally added this for you since I've changed to CodeMirror, which doesn't have the line guide by default. Rest assured I will add an option to disable if it is ever reintroduced. :wink:


chore: deleting unsupported samples

go/cloud-ai-2021-snippet-cleanup
Devsite update: cl/362083053

@munkhuushmgl a couple of things:

Seems like there's one of the tags still being used in docs. See https://github.com/GoogleCloudPlatform/dotnet-docs-samples/pull/1280#issuecomment-796209547 for which, and I've left a comment on the cl as well.
Vision tests are failing with a build error. You've left a reference to DetectDocText somewhere.

Thannks for the cleanup.

Storage failures are known and unrelated. They are being tracked in #1272

@munkhuushmgl a couple of things:

Seems like there's one of the tags still being used in docs. See #1280 (comment) for which, and I've left a comment on the cl as well.
Vision tests are failing with a build error. You've left a reference to DetectDocText somewhere.

Thannks for the cleanup.

Thanks Amanda, I will resolve these issues.

the following region tags addressed in this cl/362343817:
vision_fulltext_detection_gcs
The following region tags need to be deleted from github first since there is no way to delete specific language from sample browser (example: cl/362321544 ). Once they are deleted, i will regenerate sample browser.
vision_web_detection_gcs
Last region _tag: vision_fulltext_detection has been already resolved in the cl/362083053

Still one of the vision tests failing. Can you take a look?
GoogleCloudSamples.ProductSearchTests.TestDeleteReferenceImage [FAIL]

Product Search get_similar_products dotnet-docs-samples-tests us-west1 indexed_product_set_id_for_testing apparel data\shoes_1.jpg style=womens

  X GoogleCloudSamples.ProductSearchTests.TestDeleteReferenceImage [52s 517ms]

  Error Message:

   Assert.Contains() Failure

Not found: fake_ref_image_idtvfutyvbknsqswunxlasqqurlvlvpmmkxnchuecb

Still one of the vision tests failing. Can you take a look?
GoogleCloudSamples.ProductSearchTests.TestDeleteReferenceImage [FAIL]

Product Search get_similar_products dotnet-docs-samples-tests us-west1 indexed_product_set_id_for_testing apparel data\shoes_1.jpg style=womens

  X GoogleCloudSamples.ProductSearchTests.TestDeleteReferenceImage [52s 517ms]

  Error Message:

   Assert.Contains() Failure

Not found: fake_ref_image_idtvfutyvbknsqswunxlasqqurlvlvpmmkxnchuecb

Hmm thats weird, I will take a look.

Eventually we will cleanup all ML API samples from here, I will also remove product search samples in this PR that will resolve this product search vision issue.
vision_product_search_tutorial_import

this region tag also sample browser so that github removal needs to be completed first.

I've created googleapis/repo-automation-bots#1511 to try and have these region tags that need to be deleted first from GitHub reported differently.

@munkhuushmgl let me know when you are ready to merge.

Closes #1277

@amanda-tarafa Looks like I do not have a permission to merge this PR with failing checks.
Could you please merge this for me once this CL is submitted & published cl/363078650 ?

Yep, no worries. Flag me here when the CL is merged, and I think that will also get rid of the remaining warning from snippet-bot. Once we have no warnings I'll merge the PR.
Thanks.