Update further-reading.md

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Lowestcategoryscore
Spellingissues
Scorecard
Processed

articles/resources/further-reading.md
80
66
6
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx

Docs Build status updates of commit a5aaf79:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/resources/further-reading.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Lowestcategoryscore
Spellingissues
Scorecard
Processed

articles/resources/further-reading.md
80
66
6
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx

Docs Build status updates of commit 190b175:
:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/resources/further-reading.md
:warning:Warning
View
Details

articles/resources/further-reading.md

Line 27: [Warning-InvalidFileLink] Invalid file link:(~/resources/aka.ms/learnqc).

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

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Lowestcategoryscore
Spellingissues
Scorecard
Processed

articles/resources/further-reading.md
80
66
6
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx

Docs Build status updates of commit 870fb5c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/resources/further-reading.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


How to replay currnet file after finishing ?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Can i seek during pause ?

Hello @khaledelsherbiny
Can you share us more details about the issue you are facing please?

Closing this issue for now. Feel free to create a new one if you have any other issues.


National string literal with lower case n

It's used by Snowflake

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.009%) to 85.567%

Totals

Change from base Build<PHONE_NUMBER>:
0.009%

Covered Lines:
9729

Relevant Lines:
11370

💛  - Coveralls


java.lang.ClassCastException receiving foregrounded FCM ttl and sent_time

Env: Ti SDK 7.1.1.GA, Android 7.0. Tested with android module v4.1.0 and v4.1.1
Is the php FCM example on the module homepage working when an app is foregrounded? When I run it with the app backgrounded and sending to a single device token, the title and body of the notification is correctly received and shown in my Android system tray. When I run it with the app foregrounded, I receive the following stack trace:
[WARN]  Bundle: Key google.sent_time expected String but value was a java.lang.Long.  The default value <null> was returned.
[WARN]  Bundle: Attempt to cast generated internal exception:
[WARN]  Bundle: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
[WARN]  Bundle: 	at android.os.BaseBundle.getString(BaseBundle.java:995)
[WARN]  Bundle: 	at com.google.android.gms.gcm.zza.zzu(Unknown Source)
[WARN]  Bundle: 	at com.google.android.gms.gcm.GcmListenerService.handleIntent(Unknown Source)
[WARN]  Bundle: 	at com.google.firebase.iid.zzc.run(Unknown Source)
[WARN]  Bundle: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
[WARN]  Bundle: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
[WARN]  Bundle: 	at java.lang.Thread.run(Thread.java:761)
[WARN]  Bundle: Key google.ttl expected String but value was a java.lang.Integer.  The default value <null> was returned.
[WARN]  Bundle: Attempt to cast generated internal exception:
[WARN]  Bundle: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
[WARN]  Bundle: 	at android.os.BaseBundle.getString(BaseBundle.java:995)
[WARN]  Bundle: 	at com.google.android.gms.gcm.zza.zzu(Unknown Source)
[WARN]  Bundle: 	at com.google.android.gms.gcm.GcmListenerService.handleIntent(Unknown Source)
[WARN]  Bundle: 	at com.google.firebase.iid.zzc.run(Unknown Source)
[WARN]  Bundle: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
[WARN]  Bundle: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
[WARN]  Bundle: 	at java.lang.Thread.run(Thread.java:761)
[DEBUG] D/ti.goosh.IntentService: Push notification received from:<PHONE_NUMBER>13
[DEBUG] D/ti.goosh.IntentService: Notification key : google.sent_time =><PHONE_NUMBER>351 (java.lang.Long)
[DEBUG] D/ti.goosh.IntentService: Notification key : google.ttl => 2419200 (java.lang.Integer)
[DEBUG] D/ti.goosh.IntentService: Notification key : google.message_id => 0:1531022880353590%0163e4800163e480 (java.lang.String)
[DEBUG] D/ti.goosh.IntentService: Notification key : notification => Bundle[{alert=This is a message sent from my http server, title=From server side}] (android.os.Bundle)
[DEBUG] D/ti.goosh.IntentService: Notification key : collapse_key => com.test.testapp (java.lang.String)
[WARN]  W/ti.goosh.IntentService: Show Notification: FALSE
[INFO]  Android onPushReceived
[INFO]  data received: {"inBackground":false,"data":"{\"c.i\": \"null\"}"}
[INFO]  data: "{\"c.i\": \"null\"}"
[WARN]  Could not process push notification```

@jkotchoff did u find anything? I'm also getting the same error.

@jkotchoff did u find anything? I'm also getting the same error.

I gave up on this module due to the lack of response on this issue. I switched over to:
titanium-firebase-cloud-messaging


Increase timeout for replaying journal

Now that the raft metastore can support billions of files,
we may take more than an hour to replay the journal on
fresh startup. With no checkpoints, I see replay taking about
1 hour per 150 million files.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/1930/
Test PASSed.

Merged build finished. Test PASSed.


Minor docs changes

Changed print statements to functions
Added a missing NumPy import
Updated to the latest Python gitignore
Removed some accidental whitespace

Hey, thanks a lot!
Any chance you can merge into the development branch instead?

Yes, one moment...

Ok, I think I fixed it.


GREL AND boolean function is not short-circuit evaluation?

GREL Boolean Functions should be short-circuit.
AND(A,B)  if A is not true, should not verify B. I get an error because, if A is not true B will throw me an error.

@wetneb Considering your comment in #1496 about this issue,
Do we consider this issue as not fixable/not warranted ?  I need a use case for this issue presented so that it shows where something with GREL Eval causes tremendous grief for folks...otherwise 👎 Can you put that use case together for me to understand the impact of this issue ?

I actually think it would not be too hard to fix this, by changing and to be a control rather than a function. We should think carefully about the implications of this - there might be cases where that breaks workflows - but it's not as bad as I thought.

@wetneb It does break workflows that I rely on and other users.  I think we can instead introduce Short-circuit functions and keep our Eager functions as is.  I highlighted the reasons in the referenced issue #2121
## CURRENT Eager functions
or()
and()

## NEW Short-Circuit functions
orelse()
andalso()

I'd be curious to see a concrete example of one of your workflows where changing this breaks anything?

Disregard that previous comment, Antonin.  :)  I tried a few things and it seems since we changed null handling as you mentioned in previous comments, there's no potential for breakage (an ERROR'ed evaluation) that I can see any longer.  So I give up.  Basically, it looks like GREL execution order is pretty solid now, but if anything ever changed that, then that is when Short-circuit functions might be useful to introduce.


Feature: add invert-color mode support.

For example:

invert whole screen color
invert some window color
...

Thank you. The effect is very good.


Update QC report to include post processing stats and UMAP

Closes #121
Here I started making changes to the QC report to incorporate the additional processed SCE object that we are now creating as output in scpca-nf. I added a param to the report for the processed_sce and set the default to NULL, similar to the setup for the filtered_sce. I also added to the Cell Statistics table additional rows to include the method used for filtering low quality cells, number of cells, and normalization method. I also thought we should include any parameters that might be altered such as the min genes cutoff and the probability of a cell being compromised cutoff used for miQC but we currently don't store those in the metadata of the SCE object and we probably should. I still added a line for them in the table here and if we like that change we can file an issue to add that change to the script in scpca-nf.
The other thing I did was add a UMAP if the processed_sce param was not null. I wasn't quite sure what we wanted for color here so I tried a few things. I think if we aren't going to be coloring by clusters then we probably want to color by either total UMI count or by total genes detected which is what I did for now. I did also play around with plotting the gene expression of the most highly variable gene too and that might be promising. I included a screenshot here:

I think if we went this route we would want to also include the gene symbol, but I didn't do much formatting since I wasn't sure if that was really a joke or not... We could also plot a few of the most HVGs and make a faceted UMAP...
Another thought I had was that we might want to include a plot showing the filtering cutoffs of the cells that were kept vs. thrown out after using miQC + min gene threshold. I didn't add it in yet because I think that might be a separate issue, but just wanted to mention that here.
I'm attaching a current copy of the QC report with the new additions and filing this as a draft PR just to get some initial feedback on the UMAP mostly. Once we decide the direction we want to go with the UMAP then I'll polish up the plot and report and add in a description around it like we have for the other plots.
test.html.zip

I do also like the idea of faceting a few different genes as a secondary view, but I would probably end up wanting to do that more manually than with the plotUMAP function, so I might save it for another day/PR. I would implement this as our own function, which is easier given that we are already working within a package!

This sounds good to me! I'll leave the faceted plots showing HVGs for another PR and file an issue about adding that.

I kind of like this idea, but what kind of plot were you thinking of? Was this going to be some kind of distribution plot, or would we overlay it one of the other plots we already have somehow?

I was thinking something similar to this plot where we show both distributions and then we just label the keep cells. But here we would only have one dashed line indicating the num genes detected cutoff. Would also want to file an issue about this to do in a separate PR.

Thanks for taking a look at this! I went ahead and added a section for the UMAP and a brief description. I was struggling with a heading title and the detail in the description, so any feedback on that would be great!
I also added a "unless otherwise specified" to the filtering statement and a "adapted from" in the reference. These were the lines from the alevin-fry paper, about where they got emptyDropsCellRanger from:

To compare the results from different quantification tools in the snRNA-seq setting under a consistent and robust barcode filtering approach, we implemented the emptyDrops_CR functionality of STARsolo in R. The emptyDrops_CR filtering method is, itself, reverse engineered from the hybrid filtering strategy of Cell Ranger, which combines filtering based on various thresholds with the statistical testing method introduced by Lun et al. (13). This functionality is now included in the DropletUtils R package as the emptyDropsCellRanger function.

I also made the small adjustments to the UMAP, but I couldn't remove the dimred argument because it throws an error that it's required. I also thought about using another color scale but we would ned a colorblind friendly continuous scale? Any suggestions on other ones besides viridis that you like?
I filed the other issues that will need to be addressed too.
Attached is the most updated copy of the report.
SCPCL000001_test.html.zip

LGTM! My only comment below is about the name of the section: For some reason "Dimensionality Reduction" seems a bit opaque to me. I don't feel very strongly about this at all.

I would agree that it's vague. I wasn't really sure what to name it... But "UMAP" also seemed opaque. I also think we might update this as we add in additional UMAPs showing HVGs. If you have other ideas I am definitely open to them.


Add a DB function to delete all selectors for a profile

Summary
We'll do a dumb but easy way of updating selectors - we'll drop all
current for the profile being updated and re-add them.
Relates: #3723
Change Type

[ ] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
there is a test + I cherry-picked the patch out of a larger branch
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[x] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 54.183%. remained the same
when pulling 5a5cb540a1e84a14d09518d172a166b028825e34 on jhrozek:selectors_delete_by_profile
into 8041df27e1a06c680702ecce1ac9c05055a3dc15 on stacklok:main.


ScrollView and hide toolbar need fix

Stop animation if another is already started.
Scroll View must have some padding at top.

Fixed in https://github.com/ubelab/androidtoolbarexperiments/commit/4a50044d2b807d49d8461aca292e0f3a027d0a2a


Remove the platform.ready for the Observable

Removing the platform.ready event for faster loading and really better behavior in bad network areas. (As explained, sometimes, the platform.ready event is never fired, but it is hard to find why)

deviceready doesn't fire if !platform.is('cordova').

I see, but using the platform.ready is really bad here, the behavior when I am using my phone in the subway (where the cache is important) is crazy, and also for huge amounts of my users...
Do we need the platform.ready event to use the platform.is function ?

No, platform.ready is not needed for platform.is.

Then this commit could be better, and working for both  ?
And just for myself, you are using the !platform.is(cordova) first because Ionic is mainly used on desktop ?

Yeah this PR looks good now.
I'll merge it soon when I'm ready to publish a new release.


[FEATURE REQ] Improve the IAM related document of Spring Cloud Azure

Context
IAM is short for Identity and Access Management.
Here are all existing contents about IAM in Spring Cloud Azure:

Secure REST API using Spring Security 5 and Azure Active Directory.

Enable OIDC sign in for Spring with Azure AD B2C

Developer Guide -> Spring Security support

Problem
Current contents about IAM in Spring Cloud Azure is not easy to understand for customers.
For example: In Enable OIDC sign in for Spring with Azure AD B2C, it actually tech customer how to support sign up / sign in Spring web app. But the following contents will make customer confused:

Goal
Make contents about IAM in Spring Cloud Azure easier to understand.
Solution proposal
Need a new design about IAM in Spring Cloud Azure document.
Here is an example of design:

Secure REST API using Spring Security 5 and Azure Active Directory
1.1. Change title to "Add Login with Azure AD Account in Spring Web App"
1.2. Update description. The article actually teaches customer how to make the login page from image-1 to image-2:

image-1:

image-2:

Enable OIDC sign in for Spring with Azure AD B2C
2.1. Title should change to "Add Login with Azure AD B2C in Spring Web App".
2.2. This article should have corver these contents:

     	1. user sign up
	2. user sign in
	3. social account login
	4. user profile update
	5. logout support
	6. reset password
	(Maybe we should consider split this into a multi docs)

Provide a new article named "Secure your REST API using Spring Cloud Azure"
3.1. The new article will like this one https://auth0.com/docs/quickstart/backend/java-spring-security5/interactive
3.2. The new article should contain these contents:

	Authorization
	Using your api
	troubleshooting

3.3 It should also cover this topic https://learn.microsoft.com/en-us/azure/architecture/solution-ideas/articles/protect-backend-apis-azure-management

@chenrujun how's this one, I thought we said we should fix the minor issue first

@stliu

@chenrujun how's this one, I thought we said we should fix the minor issue first

The name in left TOC and article title update PR already merged into main branch. Link to PR: https://github.com/MicrosoftDocs/azure-dev-docs-pr/pull/4047
The live site hasn't taken effect now. Because the change hasn't merge to live branch yet. To make it take effect, the change must be merged into live branch. Here is the link about PRs merging main branch to live branch:
https://github.com/MicrosoftDocs/azure-dev-docs-pr/pulls?q=is%3Apr+Publish+is%3Aclosed

Hi, @stliu

Secure REST API using Spring Security 5 and Azure Active Directory
1.1. Change title to "Add Login with Azure AD Account in Spring Web App"
1.2. Update description. The article actually teaches customer how to make the login page from image-1 to image-2:

I created a PR for this: https://github.com/MicrosoftDocs/azure-dev-docs-pr/pull/4064. Please take a look when you have time.
There are some differences comparing to the issue description:

The title changed to Develop a Spring web app which supports sign-in by Azure AD account. I think Develop a Spring web app which supports sign-in by Azure AD account is better than Add Login with Azure AD Account in Spring Web App. Because the latter one is more like add this feature in an existing app.
The description doesn't have any content about image-1. Because the image-1 didn't appear in the article.
The image-2 is not same with the image used in current issue description. The image-2 in issue description is about Azure AD B2C. Only Azure AD B2C support features like sign up / Sign in with social account. Azure AD doesn't support these features. I use the Azure AD login screenshot in the description.

Unassign myself according to @stliu 's ask.
Current process:

[x] 1. Secure REST API using Spring Security 5 and Azure Active Directory
[ ]  2. Enable OIDC sign in for Spring with Azure AD B2C
[ ] 3. Provide a new article named "Secure your REST API using Spring Cloud Azure"

Relate issue: https://github.com/MicrosoftDocs/azure-dev-docs/issues/710

Another related issue: https://github.com/MicrosoftDocs/azure-dev-docs/issues/747


Decide if we want to run CI for automated translation PRs

As explained in https://github.com/Qiskit/documentation/pull/541, we're using GitHub Action's builtin token to create a PR every week with translations, such as https://github.com/Qiskit/documentation/pull/563.
But we're being hit by this restriction:

When you use the repository's GITHUB_TOKEN to perform tasks, events triggered by the GITHUB_TOKEN, with the exception of workflow_dispatch and repository_dispatch, will not create a new workflow run. This prevents you from accidentally creating recursive workflow runs. For example, if a workflow run pushes code using the repository's GITHUB_TOKEN, a new workflow will not run even when the repository contains a workflow configured to run when push events occur.

It means that our CI GitHub workflow is not triggered, so we're stuck with forever waiting for a job that won't trigger:

We have two options:

Don't worry about this. Currently, none of our CI checks even look at the translations/ folder. Unless we make that change, we should be fine.
Switch to using a personal access token, which can be less secure because it's linked to an individual's personal account.

We turned off crowdin for globalization. We'll reopen this if it ends up being relevant with Globalization Pipeline.


The choices normalised logprobs calculation returns poor results due to bias for longer-token options

Problem
I've noticed that the gen(choices=[...]) functionality sometimes performs poorly, even for simple tasks. This is due to a flawed normalised logprobs calculation. The calculation biases options that comprise more tokens, where the latter tokens are highly predictable given the prior tokens.
Reproducible Example
This is most easily seen in choices with token overlap, so I've constructed a contrived example that illustrates this. The outputs are generated with llama 3 8B instruct, which should breeze through this task under normal circumstances.
import sglang as sgl
import textwrap

# Define answer choices with overlapping substrings and tokenised forms
# assumes llama 3 8B tokeniser
choices_and_tokenised_forms = [
    ("organ", ["organ"]),
    ("organism", ["organ", "ism"]),
    ("organisation", ["organisation"]),
    ("organelle", ["org", "ane", "lle"]),
    ("organometallic", ["organ", "omet", "al", "lic"]),
]
choices = [c for c, _ in choices_and_tokenised_forms]

# Define the categorisation question
template = "What category does '{input}' belong to? {choices}"

# Generate the (optional) system prompt with few-shot examples
sys_prompt = ""
for example in [
    ("ribosome", "organelle"),
    ("liver", "organ"),
    ("Google", "organisation"),
    ("ferrocene", "organometallic"),
    ("human", "organism"),
]:
    sys_prompt += "user:" + template.format(input=example[0], choices=choices)
    sys_prompt += f"\nassisant:{example[1]}\n\n"

@sgl.function
def run(s, input: str, show_few_shot_examples: bool = False):
    if show_few_shot_examples:
        s += sgl.system(f"You categorise things.\n\n ##Examples\n{sys_prompt}")
    s += sgl.user(template.format(input=input, choices=choices, temperature=0))
    s += sgl.assistant(sgl.gen("answer", choices=choices))

def format_results(state, input):
    answer = f"  '{input}' categorised as: '{state['answer']}'"
    meta = state.get_meta_info("answer")
    out = f"{answer:<50}    {'normalised'}    {'prefill token logprobs'}"
    for i in range(len(meta['normalized_prompt_logprobs'])):
        option = f"{choices_and_tokenised_forms[i][0]} ({choices_and_tokenised_forms[i][1]})"
        npl = meta['normalized_prompt_logprobs'][i]
        ptl = [f"{p[0]:.4f}" for p in meta['prefill_token_logprobs'][i]]
        out += f"\n{option:<50} -> {npl:<10.4f} -> {ptl}"
    return out

sgl.set_default_backend(sgl.RuntimeEndpoint("http://localhost:30000"))

for include_examples in [False, True]:
    print(f"Show few-shot examples in context = {include_examples}\n")
    for input in ["heart", "nucleus", "Microsoft", "mouse", "trimethylboron"]:
        state = run(input, show_few_shot_examples=include_examples)
        print(textwrap.indent(format_results(state, input), "    "))
        print()
    print("-" * 120)

Outputs:
Show few-shot examples in context = False

      'heart' categorised as: 'organelle'                 normalised    prefill token logprobs
    organ (['organ'])                                  -> -1.6190    -> ['-0.1265', '-3.1116']
    organism (['organ', 'ism'])                        -> -1.7443    -> ['-0.1265', '-3.1116', '-1.9949']
    organisation (['organisation'])                    -> -3.8885    -> ['-0.1265', '-7.6506']
    organelle (['org', 'ane', 'lle'])                  -> -1.3777    -> ['-0.1265', '-5.3772', '-0.0048', '-0.0023']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -1.3915    -> ['-0.1265', '-3.1116', '-3.7136', '-0.0034', '-0.0023']

      'nucleus' categorised as: 'organometallic'          normalised    prefill token logprobs
    organ (['organ'])                                  -> -1.8324    -> ['-0.2145', '-3.4502']
    organism (['organ', 'ism'])                        -> -1.8675    -> ['-0.2145', '-3.4502', '-1.9378']
    organisation (['organisation'])                    -> -3.1800    -> ['-0.2145', '-6.1456']
    organelle (['org', 'ane', 'lle'])                  -> -1.1103    -> ['-0.2145', '-4.2237', '-0.0013', '-0.0017']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -1.0997    -> ['-0.2145', '-3.4502', '-1.8284', '-0.0029', '-0.0022']

      'Microsoft' categorised as: 'organometallic'        normalised    prefill token logprobs
    organ (['organ'])                                  -> -1.5901    -> ['-0.1446', '-3.0355']
    organism (['organ', 'ism'])                        -> -1.6397    -> ['-0.1446', '-3.0355', '-1.7391']
    organisation (['organisation'])                    -> -2.9416    -> ['-0.1446', '-5.7387']
    organelle (['org', 'ane', 'lle'])                  -> -1.4376    -> ['-0.1446', '-5.5746', '-0.0283', '-0.0029']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -1.1792    -> ['-0.1446', '-3.0355', '-2.7079', '-0.0052', '-0.0028']

      'mouse' categorised as: 'organelle'                 normalised    prefill token logprobs
    organ (['organ'])                                  -> -1.7110    -> ['-0.1392', '-3.2829']
    organism (['organ', 'ism'])                        -> -1.5566    -> ['-0.1392', '-3.2829', '-1.2477']
    organisation (['organisation'])                    -> -3.9181    -> ['-0.1392', '-7.6969']
    organelle (['org', 'ane', 'lle'])                  -> -1.3491    -> ['-0.1392', '-5.2516', '-0.0041', '-0.0015']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -1.4992    -> ['-0.1392', '-3.2829', '-4.0680', '-0.0033', '-0.0028']

      'trimethylboron' categorised as: 'organometallic'    normalised    prefill token logprobs
    organ (['organ'])                                  -> -1.4093    -> ['-0.1379', '-2.6806']
    organism (['organ', 'ism'])                        -> -2.7661    -> ['-0.1379', '-2.6806', '-5.4796']
    organisation (['organisation'])                    -> -3.9659    -> ['-0.1379', '-7.7939']
    organelle (['org', 'ane', 'lle'])                  -> -1.3317    -> ['-0.1379', '-5.1338', '-0.0527', '-0.0023']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -0.5933    -> ['-0.1379', '-2.6806', '-0.1436', '-0.0034', '-0.0008']

------------------------------------------------------------------------------------------------------------------------
Show few-shot examples in context = True

      'heart' categorised as: 'organ'                     normalised    prefill token logprobs
    organ (['organ'])                                  -> -0.2509    -> ['-0.0799', '-0.4219']
    organism (['organ', 'ism'])                        -> -2.0750    -> ['-0.0799', '-0.4219', '-5.7232']
    organisation (['organisation'])                    -> -3.7431    -> ['-0.0799', '-7.4063']
    organelle (['org', 'ane', 'lle'])                  -> -0.9032    -> ['-0.0799', '-3.5000', '-0.0298', '-0.0031']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -1.7599    -> ['-0.0799', '-0.4219', '-8.2857', '-0.0087', '-0.0034']

      'nucleus' categorised as: 'organelle'               normalised    prefill token logprobs
    organ (['organ'])                                  -> -1.7653    -> ['-0.1489', '-3.3817']
    organism (['organ', 'ism'])                        -> -1.8995    -> ['-0.1489', '-3.3817', '-2.1678']
    organisation (['organisation'])                    -> -3.7379    -> ['-0.1489', '-7.3270']
    organelle (['org', 'ane', 'lle'])                  -> -0.0921    -> ['-0.1489', '-0.2176', '-0.0006', '-0.0011']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -1.9658    -> ['-0.1489', '-3.3817', '-6.2928', '-0.0040', '-0.0017']

      'Microsoft' categorised as: 'organisation'          normalised    prefill token logprobs
    organ (['organ'])                                  -> -0.8883    -> ['-0.1198', '-1.6569']
    organism (['organ', 'ism'])                        -> -1.1325    -> ['-0.1198', '-1.6569', '-1.6208']
    organisation (['organisation'])                    -> -0.6383    -> ['-0.1198', '-1.1569']
    organelle (['org', 'ane', 'lle'])                  -> -1.2105    -> ['-0.1198', '-4.5866', '-0.1336', '-0.0021']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -0.7088    -> ['-0.1198', '-1.6569', '-1.7615', '-0.0043', '-0.0017']

      'mouse' categorised as: 'organism'                  normalised    prefill token logprobs
    organ (['organ'])                                  -> -0.1719    -> ['-0.1273', '-0.2166']
    organism (['organ', 'ism'])                        -> -0.1188    -> ['-0.1273', '-0.2166', '-0.0127']
    organisation (['organisation'])                    -> -2.9610    -> ['-0.1273', '-5.7947']
    organelle (['org', 'ane', 'lle'])                  -> -1.0844    -> ['-0.1273', '-3.9744', '-0.2330', '-0.0030']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -2.2812    -> ['-0.1273', '-0.2166', '-11.0517', '-0.0086', '-0.0020']

      'trimethylboron' categorised as: 'organometallic'    normalised    prefill token logprobs
    organ (['organ'])                                  -> -0.3231    -> ['-0.0992', '-0.5471']
    organism (['organ', 'ism'])                        -> -3.2023    -> ['-0.0992', '-0.5471', '-8.9607']
    organisation (['organisation'])                    -> -3.1551    -> ['-0.0992', '-6.2111']
    organelle (['org', 'ane', 'lle'])                  -> -0.7889    -> ['-0.0992', '-2.9299', '-0.1246', '-0.0018']
    organometallic (['organ', 'omet', 'al', 'lic'])    -> -0.1314    -> ['-0.0992', '-0.5471', '-0.0076', '-0.0025', '-0.0007']

------------------------------------------------------------------------------------------------------------------------

The second set of results yields the expected categorisations.
Explanation
We see that only 1/5 answers are correct in the first set of results. Not coincidentally, the only correctly answered question ('trimethylboron' categorised as: 'organometallic') is the one where the correct answer has the most tokens.
The first prefill token, common across all options, is ":". I'm not actually sure why this is present — something to do with token healing? Is this coming from the assistant: role prefix? Regardless, it's not important as it's consistent across all options, and it's not responsible for the poor performance (although does skew the logprobs calculations in unpredictable ways).
Inspecting the prefill token logprobs for the "organometallic" responses is instructive. Even if the ["organ", "omet"] tokens are relatively disfavoured, the ["al", "lic"] tokens are essentially guaranteed once you have the "organomet-" substring. The normalised logprobs calculation is a simple average of the prefill token logprobs, which means the ["al", "lic"] tokens massively inflate the score, even if "organometallic" is obviously wrong given the prior context.
The second set of results — which provides in-context few-shot examples — does rectify this with 5/5 correct answers. It seems that showing the model expected outputs leads to tokens beyond "organ", such as "omet" , being sufficiently penalised to avoid the problem. It is surprising that the model requires this level of priming for such a simple task, however (even without the few-shot examples, the model is told the permitted options in the user prompt).
Other Observations

Prefixing the the assistant response with "Answer: " doesn't help, but does result in prefill tokens that only correspond to the choices and nothing else (i.e. no ":" prior token, or similar). Why? The inconsistent presence/absence of prior tokens skews the scores and can lead to erratic selection behaviour when small tweaks are made to the prompt prefixes.
I tried running this example using regex instead (i.e. gen(regex="(" + "|".join(choices) + ")")), thinking this would resolve the issue with simple greedy token selection. But this also performs poorly (and extremely unpredictably, without temperature=0).
I've also explored avoiding overlapping options by wrapping each option in double quotes, but this doesn't solve the problem.

Suggestions

I think this is a severe enough flaw in the normalised logprobs calculation to be considered a bug. The outputs I've observed in several real-world settings are also unreasonably poor for simple tasks and capable models. I think evaluating all the options in their entirety is a good approach in theory, but a more sophisticated normalised logprobs calculation is required to adjust for bias towards options with more tokens.
Offering an alternative, greedy token selection choices decoding option could help. That said, I'm not sure why I still get poor outputs when I attempt to simulate this via gen(regex=...).

Tagging @merrymercy based on git history of RuntimeEndpoint.select. Do you have any thoughts on this?

Hi @AidanCooper Thanks for the detailed explanation and experiments.
I noticed that you used a base model together with chat template-related primitives (e.g., sgl.user). This creates multiple issues which can be the reason for the poor performance.

The base model is not fine-tuned to follow instructions, so you need few-shot examples to make it work.
sgl.user and sgl.assistant will apply chat templates to the prompts.  These are special tokens not seen during the training of the base model, so they will lead to strange behavior. Also, in you system prompt, you used another custom chat template style user: ... assistant:.... All these mismatches create issues.
I would suggest you use the instruct-tuned model and correctly format your few-shot example. You can print s.text() to inspect the real prompt. Then redo all of your experiments
Effects like token healing do affect the logits a lot. You can play with the tokenization and white space.

The two points in your suggestions totally make sense.

Do you know any better normalized logprob calculation method?
Yes. regex with temperature=0 can simulate the greedy sampling. Could you describe what is wrong with the regex? @hnyls2002

I noticed that you used a base model together with chat template-related primitives

Nice catch, although that's actually a mistake in my original post — I am using the instruction-tuned variant. I've updated my post with the corrected link.

I would suggest you ... correctly format your few-shot example

Also a fair point, although I don't think this is proving to be an issue in practice. My examples demonstrate that the model returns incorrect answers without the few-shot examples, but correct answers with the few-shot examples (even if the formatting isn't optimal).

Do you know any better normalized logprob calculation method?

No, not that I'm aware of. Is this approach to choices unique to SGLang, or is it common across constrained decoding libraries? Whilst I like the idea of evaluating options in their entirety in principle, I think it might be fundamentally flawed for the reasons demonstrated by my examples, and perhaps greedy sampling is more reliable.
I might play around with this and see if there's a better algorithm for normalising the logprobs — perhaps a heuristic that upweights earlier tokens relative to later tokens in the average calculation. But ultimately, I can't see a straightforward way to distinguish options whose tokens are favoured because of the tokens that precede them (e.g., 'organ', 'omet', 'al', 'lic') from options whose tokens are favoured because they actually represent the best response.

SGLang uses token-length normalized log probabilities, a commonly used method

Hey everyone.
I would like to build on this to better understand how the confidence is actually calculated.
As @AidanCooper did, I will be using a real example.
I am currently using a model as a ZeroShotClassifier, my goal is to be answered with Success or Failure.
In the following you can find my debug variables.

As you can see, the candidate_labels are the ones I mentioned above.

The decode_token_logprobs assigns a lower value (a higher probability) to the second label (i.e., Failure), it seems to be pretty certain about it.

I still don't get the prefill_token_logprobs, why are they 3? why do they seem to change the result?

As you can see, the model is going to give a higher probability to the label Success.
Furthermore, the results are normalized but are not currently adding to 100%, (e^(-0.06) = 94%, e^(-1.49) = 22%)
Could someone explain to me what are the prefill_token_logprobs and why they tend to change the result this way?

@SimoneRaponi Can you share the code?  prefill_token_logprobs are the logprobs on the prompt tokens (i.e. prefill tokens).  decode_token_logprobs are the logprobs on the output tokens (i.e. decode tokens)

@merrymercy so lets say I have a classification prompt and I present the labels both in the prompt and in the list of the choices. the logprob of the answer of the classification (the class) is the decode_token_logprob? and if its so why in the example of @SimoneRaponi the two classes even if they are opposite have a very similar decode_token_logprob?

SGLang uses token-length normalized log probabilities, which is a commonly used method for model evaluation.

Thanks for sharing this.
@merrymercy — would you be open to supporting other normalisation methods for choices? Token-length normalised could be kept as the default, but I think it would be a useful enhancement to support other methods. Using regex is a workaround for achieving greedy-like selection, but I think users would prefer to access this behaviour via the Pythonic choices interface. There could also be value to supporting other methods such as those in the link you shared.
I think the API could look like this:
from sglang.lang.choices import token_length_normalized, greedy_selection, ...

...
sgl.gen("example", choices=["A", "B", "C"], choices_method=greedy_selection)
...

If you agree that this is a worthwhile addition and approve of the high-level design, I can work on a PR for this.

This issue has been quite problematic for us too. We're using forced choices heavily, but have had to mostly switch to using regex for it, because the output is so biased it's unusable. However, regex is not an option when the choices are dynamically determined, because it takes 20+ seconds to build the FSM whenever a new regex is encountered, which can't work for live serving. Would love to have at least a greedy sampling option for the regular select()/choices, and maybe the option to try a weighted sum biased towards earlier tokens.
One trick that has helped us improve the choices version slightly is to suffix all the choices with a line break, which counters the bias slightly (my understanding is that the probability of a line break or other semantically "ending" token or is lower when the answer is wrong), but it is no silver bullet.


Fix uncommitted code error.

When I tried to install react_on_rails, I got "ERROR: You have uncommitted code. Please commit or stash your changes before continuing." but all of my code were committed.
The problem was in the git localization: "нечего фиксировать, рабочая директория пуста" instead of "nothing to commit, working directory clean" (but both are the same).
Here is the fix that checks on empty git status if no uncommitted changes.

 Thanks!

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from the review on Reviewable.io

@nmatyukov Can you please rebase this on top of master. Then I'll have the auto-merge button.

@justin808 Branch was rebased.

Thanks @nmatyukov!


Deployment instructions on www.elastic.co/downloads/ecctl don't support default macOS shell (zsh)

Readiness Checklist

[x] I am running the latest version
[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed
[x] I am reporting the issue to the correct repository (for multi-repository projects)

Current/Expected Behavior

I followed these steps from www.elastic.co/downloads/ecctl today on macOS on 10.15.5 and run into this problem:
tony@tony-mbp ~ % source <(ecctl generate completions)
complete:13: command not found: compdef
tony@tony-mbp ~ % bash
bash-3.2$ source <(ecctl generate completions)
bash-3.2$ echo $?
0

The issue is zsh is now the default shell on macOS. This works fine on bash.

That's interesting, @tonymeehan I've got zsh and it works fine for me:
$ source <(ecctl generate completions)
$ echo $SHELL
/bin/zsh
$ ecctl version
Version:               v1.0.0-beta3
Client API Version:    2.5.0-ms36
Go version:            go1.13.10
Git commit:            4d5ca4e0
Built:                 Tue 12 May 00:30:44 2020
OS/Arch:               darwin / amd64

Hrm.
tony@tony-mbp Desktop % source <(ecctl generate completions)
complete:13: command not found: compdef
tony@tony-mbp Desktop % echo $SHELL
/bin/zsh
tony@tony-mbp Desktop % ecctl version
Version:               v1.0.0-beta3
Client API Version:    2.5.0-ms36
Go version:            go1.13.10
Git commit:            4d5ca4e0
Built:                 Tue 12 May 00:30:44 2020
OS/Arch:               darwin / amd64

It looks like this is the problem: https://apple.stackexchange.com/a/340718
I just followed those instructions, and now it's working for me on zsh:
tony@tony-mbp Desktop % autoload -Uz compinit
tony@tony-mbp Desktop % compinit
tony@tony-mbp Desktop % source <(ecctl generate completions)
tony@tony-mbp Desktop %

Ah good to know, I'll tag this issue as "Documentation" and see how we can address this.

This issue hasn’t been updated in 2 years and doesn’t have an owner. If there are no replies in 2 weeks, we will close this issue.


chore: removing node7 job from CircleCI

We don't need to test on Node 7 anymore. Note: no action is required for this PR for now.

This looks good, but why do we no longer need to test on Node 7.

@DominicKramer Because node7 is EOL for almost a year: https://github.com/nodejs/Release
We'll start testing on node10 when it becomes available in April.


fix: manipulate copy instead of original

#158 Introduced a bug since lua doesn't send tables by value and instead uses reference, that was fine when we didn't have the values stored in a variable (hardcoded parameters) but started getting corrupt when sent into a function that manipulates the input parameter.
Solved it by making copies of the arguments but the correct solution is to use immutable tables for readonly values.

sorry!


Generated static files are not optimized

Is this a bug report?
No
Have you read the Contributing Guidelines on issues?
Yes
Proposal
The generated static files in the build directory upon running yarn build are not minified, which can cause longer load times. Ideally, Docusaurus should have an asset minification pipeline that:

[ ] Minifies HTML
[x] Minifies CSS
[x] Optimizes image size

@yangshun I would like to claim the image optimization part. I made some progress that looks good! I integrated imagemin > optipng. Checkout the size difference on the screenshot below 🎆

I still need to add optimization for SVG and jpg 🕺

By the way it increased the build time a few seconds but it is normal.

Cool, it's all yours! Yeah more processing definitely takes time. We can
add in a flag for compression in the build command that is set to true by
default.
On Mon, May 7, 2018, 6:58 PM Ahmad Alfy<EMAIL_ADDRESS>wrote:

By the way it increased the build time a few seconds but it is normal.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/facebook/Docusaurus/issues/568#issuecomment-387260349,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABQRHTVeBf4ZUYCZfBjSUGBnNtweOsS6ks5twPuugaJpZM4TVs7q
.

Gosh, BlueWhale.png is 1.3MB. If you don't mind, please help to compress the original image asset down to < 100kb in your PR too 👍

Yes I was going to replace all the original images with the optimized the ones in the PR as well 😁

Should we update the list and remove optimizing the images?

Ok checked "Optimized images". Thanks for reminding

Let me take care of that 😃
On Wed, Jun 13, 2018 at 5:26 AM Yangshun Tay<EMAIL_ADDRESS>wrote:

If anyone wants to take charge of the HTML minification it would be much
appreciated 😄
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/facebook/Docusaurus/issues/568#issuecomment-396802046,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFWO_rixz54bt_hIj2h2a6yVWd8xPVPks5t8IZpgaJpZM4TVs7q
.

--
Ahmad Alfy
alfy.me

@ahmadalfy How's your progress for this task? Let us know how we can help. If you are no longer available for this task, just let us know and we can free it up for someone else. Do keep us updated 😄

My bad I got hooked with other stuff. Give me one more trial this week and I will get it done

Closing due to stale. Let's free this up. We are getting closer to next major version anyway :)


Unable to find an entry point named '?' in DLL 'WebView2Loader.dll'

Describe the bug
Since I have installed the product AWS Q in my Visual Studio Community, it has never loaded the Chat feature. It shows an error which says Error loading chat. Restart Visual Studio or review logs in Amazon Web Services output window for troubleshooting
Base on the message, here is the log info (before restarting):

Initializing: Amazon Q Language Client
Launching Amazon Q Language Server v2.0.0 from local cache location: C:\Users\johndoe\AppData\Local\aws\toolkits\language-servers\AmazonQ\2.0.0 (Attribution notice for aws-lsp-codewhisperer can be found at: https://aws-language-servers.us-east-1.amazonaws.com/a8dafbc7-b928-4ca5-82b4-c261f51dd39f/THIRD_PARTY_LICENSES)
Activating: Amazon Q Language Client
Initialized: Amazon Q Language Client
Reconnected to Amazon Q with awsBuilderId:amazonQ
Error occurred while attempting to determine if WebView2 runtime is installed. Error: Unable to find an entry point named '?' in DLL 'WebView2Loader.dll'.
Loading Amazon Q Chat UI: C:\Users\hfmad\AppData\Local\aws\toolkits\language-servers\AmazonQ\2.0.0\clients\amazonq-ui.js

To Reproduce
I do not have any specific steps to reproduce

Expected behavior
It should load the chat and allow interaction

Screenshots

Toolkit Logs
log_2024-07-14_22-17-54_16692.txt

Development System (please complete the following information):

Windows Version:  Microsoft Windows Version 23H2 (OS Build 22631.3880)
Visual Studio Version: Microsoft Visual Studio Community 2022 (64-bit) Version 17.10.4
AWS Toolkit for Visual Studio Version: AWS Toolkit with Amazon Q <IP_ADDRESS>

Additional context

Hi @hmadrigal , thank you for reaching out.
It sound like you were using version <IP_ADDRESS> of the extension. Can you please update to the latest version of the extension and try again? If it fails, please attach that log. It contains additional details that may help us in understanding when this problem occurs.

@awschristou Thank you for the quick response. It loaded well after I ran the update.


pull request for e2e test at 01/12/2017 06:15:14

:white_check_mark: Validation status: passed
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.


Hdr tone mapping (for all input color encoding) & frame skipping for saving resources

Fixes: #927
also affected: #497, #524
3D LUT HDR to SDR tone mapping based on the solution from fast-hdr project. RGB LUT file (lut_rgb.3d) must be present in the Hyperion configuration folder. There will be a HTML5 page that could generate that file or user can always download prebuild one: lut_rgb.zip
Some theory:

after analyzing solution from fast-hdr its seems, that modern 1080p/4k capable grabbers and scallers produce SDR output from HDR input that has broken gamma part. The chrominance is quite well preserved to my surprise .
The output gamma has characteristic of SMPTE ST 2084 HDR transformation. We must reverse it to XYZ coordinates and apply some simply linear gain (for ex. L=50).

apply one of the tone mapping algorithm (hable,  Reinhard) or leave it alone

revert back gamma from XYZ to sRGB

The process is quite challenging for CPU so no surprise that devices cant handle it. LUT table solves that problem, but to be fully efficient must be implemented on the hardware. This patch also produces quite good results but there is one limitation: we don't have some information that are encoded in HDMI protocol meta-data.

There is also new settings that allows skipping frames to save resources.

Frame skipping for saving resources:
current status: 800x600 30fps, decimation = 1 => CPU-core reaches it's limit

current status: 800x600 custom 5fps, decimation = 1 => no change, CPU-core reaches it's limit, hardware FPS limit overrides custom one

new feature: 800x600 new software frame skipping 5 for 30FPS so 6fps, decimation = 1 => CPU-core usage lowered to 60%

What kind of change does this PR introduce? (check at least one)

[x ] Feature

Does this PR introduce a breaking change? (check one)

[x ] No

I think I can easily expand that solution to other color spaces & encoding (beside MJPEG) in ImageResampler. But first we should review & test that patch.

nice, hope it will work well

Why don't we just add lut_rgb.3d as a resource ?

Why don't we just add lut_rgb.3d as a resource ?

It's ~50MB raw though it compresses really well. As an alternative I'm thinking about WWW subpage in Hyperion panel that could generate that file dynamically in HTML5: with more option to tune that 3d lut table by user. Then he would have to upload that generated file to config directory manually.

Why won’t you separate the js code in a file itself? (Don’t know if you are still developing it or not)

Why won’t you separate the js code in a file itself? (Don’t know if you are still developing it or not)

it's already present in the latest commit

Why won’t you separate the js code in a file itself? (Don’t know if you are still developing it or not)

it's already present in the latest commit as one page you can open using link in the new option's description. It's all in one, standalone solution as I planned without any external dependencies. Want to separate it from the hyperion portal because don't want to mess with it's design as it's only an option that not everyone needs it. I need full page width to compare before and after result for the test image also.
For now I think I'm done with changes. I'll investigate QByteArray to see if there will be any negative performance impact vs using unsigned char* buffer.

It won’t affect the design of the Hyperion portal and will look more cleaner if you segregate the JavaScript part of your HTML and call the file only on this specific HTML page
Like ‘

Yes I know, but there is to much integration with UI. As it's only one totally separate page & without any layout it don't think it's worth effort to rewrite and separate view & controller on this stage before test.

nice work, i just compiled your fork and will test it a bit.
any hints on generating a good lut file?

nice work, i just compiled your fork and will test it a bit.
any hints on generating a good lut file?

Default settings are prepared for my ezcap269 (and as I know it fit at least one other device).
I have tested them with some samples found in the internet related to HDR color washed out problem and them passed that tests also.
You should start with gain 100 (maybe a little too bright for hable) and check if the result is comparable to TV (or HDR capable video player on PC)

take few test screenshots from your grabber in LED visualization (for example). Crop then with irfanview if needed.
run the creator

and upload test image, then apply LUT and compare to the reference image on TV or PC

What is the reason that this isn’t merged? @awawa-dev

@domeOo my guess is that they rather released they own version of hyperion.ng with the HDR correction in it, which is a same.
https://github.com/awawa-dev/HyperHDR


What is the best version of Python to  use for IronPython 2.7.11

I don't see any documentation of the best dependency versions to install with a specific version of IronPython. It would be helpful to put this upfront somewhere.
For example, for IronPython 2.7.11 should I install Python 2.7?  I currently have 3.8.8 installed and I dont know if thats why I get the errors:
IronPython.Runtime.Exceptions.ImportException - No module named requests
or
IronPython.Runtime.Exceptions.ImportException - No module named urllib.error
Thank  you.

I'm not sure what you mean. IronPython is an alternate implementation of Python so it does not have a dependency on a Python installation...

I may have framed the question wrong, but it seems that different versions of IronPython support different versions of Python.  For example, if I have IronPython 2.7.11 will there be any issues with calling a scripts from Python 3.8.8 and the modules that may be imported for that script?


Inject generated script as embedded resource

Translator should inject generated script to an assembly and if the assembly is referenced inside another project then extract embedded script to output folder
Bridge project should reuse the same approach for bridge.js and bridge.min.js

May be related to #355

7f70b24332b56271c4fd91f73f626cf1d0a311f7


How to pass a vector<vector> into moveCall and execute tx?

contract code like this:
    public struct File has key {
        id: UID,
        name: vector<u8>,
        extension: vector<u8>,
        bytes: vector<vector<u8>>,
    }

    public entry fun upload(
        name: vector<u8>,
        extension: vector<u8>,
        bytes: vector<vector<u8>>,
        ctx: &mut TxContext
    ) {
        let id = object::new(ctx);
        let file = File {
            id: id,
            name: name,
            extension: extension,
            bytes: bytes,
        };
        transfer::share_object(file);
    }

ts code like this:
            const tx = new TransactionBlock()
            tx.moveCall({
              target: `${contractAddress}::${contractModule}::${contractMethod}`,
              // typeArguments: [coinType],
              arguments: [
                tx.pure('pic'),
                tx.pure('jpg'),
                tx.makeMoveVec({ type: '0x1::vector::vector', objects: [tx.pure(bytes), tx.pure(bytes)] }),
              ]
            })
            const resData = await wallet.signAndExecuteTransactionBlock({
              transactionBlock: tx,
            });

and got a error:
Expected object with one key, but found 0 for type CallArg} (code: -1)
how can i pass vector<vector>

There are a few ways to do this:
transaction.pure('vector<vector<u8>>', [
	[1, 2, 3],
	[4, 5, 6],
]);
transaction.pure.vector('vector<u8>', [
	[1, 2, 3],
	[4, 5, 6],
]);
transaction.pure(
	bcs.vector(bcs.vector(bcs.u8())).serialize([
		[1, 2, 3],
		[4, 5, 6],
	]),
);


Using Unsupported mongoose version, highest supported is 5.10.18 (Current version: 5.11.13)

Hey, i am getting this logged in console, is that coming from your package, can you please check out this :(
Also
1|rg  | (node:244799) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.

Just pass that option to the MongoClient constructor and you should be good.

Just pass that option to the MongoClient constructor and you should be good.

@paulhobbel are you using an unsupported version of mongoose? i am getting this error as well,, while using the mongodb provider for commando
2|rg  | Using Unsupported mongoose version, highest supported is 5.10.18 (Current version: 5.11.16)

There is no mongoose dependency in commando-provider-mongo

Closing this as this is not something we can fix


False-positive DTZ007:  The use of datetime.datetime.strptime() without %z must be followed by .replace(tzinfo=)

import datetime

DT_FORMAT = "%a, %d %b %Y %H:%M:%S %z"
file_data = "Fri, 23 Sep 2022 08:42:36 +0000"

parsed_date = datetime.datetime.strptime(
    file_data, DT_FORMAT
)

$ ruff test_ruff_DTZ007.py
Found 1 error(s).
test_ruff_DTZ007.py:7:15: DTZ007 The use of `datetime.datetime.strptime()` without %z must be followed by `.replace(tzinfo=)`

Probably a stretch to fix this right now since it relies on static analysis that's beyond Ruff's current capabilities (understanding that DT_FORMAT is assigned to a string containing %z).

yeah i was actually wondering how you going to address that in the feature, by reusing parts of RustPython to actually run some parts?

Just to dream a little bit here, I think there could be a future where we integrate with mypy or another type checker to enable type-aware lints.
In that world, one could write
from typing import Final

DT_FORMAT: Final = "%a, %d %b %Y %H:%M:%S %z"
file_data = "Fri, 23 Sep 2022 08:42:36 +0000"

parsed_date = datetime.datetime.strptime(
    file_data, DT_FORMAT
)

The Final annotation (PEP 591) promises that the value won’t be reassigned, and allows the type checker to infer a type Literal["%a, %d %b %Y %H:%M:%S %z"] (PEP 586) for DT_FORMAT, which could be used in the Ruff rule. This kind of integration would enable us to improve the accuracy of many rules and enable a variety of new ones.

As a starting point... we could support Final specifically. Maybe that's slightly unprincipled though.

A similar case I ran across today was that grabbing only date-related items from a string, e.g.:
from datetime import datetime
datetime.strptime("2022-01-01", "%Y-%m-%d").date()

...also results in a DTZ007 false-positive:
$ ruff check --isolated --select DTZ strptime_test.py
strptime_test.py:2:1: DTZ007 The use of `datetime.datetime.strptime()` without %z must be followed by `.replace(tzinfo=)` or `.astimezone()`
Found 1 error.

In a case like this where not dealing with time, the resulting date value is the same and is not dependent on a timezone. To detect this case, though, it seems that we'd have to recognize both that the format string contains no time-related items and that there's a following conversion with .date().

@youknowone - We do have some of our abstractions in Ruff for implementing a semantic model -- we track scopes, bindings, etc. I want to spend some time improving the semantic model, so I'll take a look at what you have in RustPython as part of that exercise -- maybe there are things we can leverage!


modified the listFiles() function

Using the ArrayList instead of ImmutableList for the files so that we can sort them before set them to the task.
To load the files exactly in the correct order. The max_threads should equal 1. Using multi threads to load the files is impossible to load them in the correct order.

@icaiyu Thanks for your contribution.
But why do you think an alphabetical order is the "correct" order? It needs to be consistent per run (to resume), but it does not need to be an alphabetical order actually. AFAIU, the current ordering is at least consistent (per file system or else) even if it may not be in alphabetical order. It may be nice to have an alphabetical order just for usability, but it's not a "problem".
I think we cannot accept this PR as-is because it may break compatibility of "resumed" users. Consider that a user has used LocalFileInput with the current Embulk version and resumed with some files done. The config diff is generated with the current version. Imagine the user upgrades Embulk to a new version (with this PR merged), and resume with the config diff generated by the older Embulk version. The behavior can be totally "broken" -- some files may be uploaded twice, and some files may be never uploaded. It's a bigger problem than just a non-alphabetical ordering.
An acceptable option may be to have a new configuration option like sort: alphabetical or like that not to break existing behaviors.
What do you think?

@dmikurube
Thank you for your reply, but I am getting more confussing about the Resume function of Embulk now.
Say that I have 9 files:
sample_01.csv, sample_02.csv, sample_03.csv...sample_09.csv
I want to upload them to the server using the LocalInputPlugin
After embulk upload 4 files, what if the network is broken? what if I press the Ctrl+C the stop the upload, Could the embulk record the number the sample files which are not uploaded yet?
In this case, it should record sample_04.csv in the diff.
So that I could resume the upload from the sample_05.csv.

@icaiyu Can you share that the real example what you observed? As I've mentioned above, it may not be alphabetical, but I think it'd not be a problem in resuming.

@icaiyu
I hope this comment solve your question.
Summaries.

The LocalFileInput load data in parallel.  (number of files = tasks)

Slideshare

So, those data don't always load in alphabetical order.

How to resume?
Let's explain about resume behavior.
You can download all of the sample files from here.
Input Data
The following example uses three files.
hoge/csv/sample_01.csv
hoge/csv/sample_02.csv <-- this fie has invalid record
hoge/csv/sample_03.csv

Line 3 in sample_02.csv has invalid record.
The aaa isn't a valid number.
aaa,14824,2015-01-27 19:01:23,20150127,embulk jruby

run
So embulk run fail.
embulk run -r resume.yml config.yml
[INFO] Writing resume state to 'resume.yml'
[INFO] Resume state is written. Run the transaction again with -r option to resume or use "cleanup" subcommand to delete intermediate data.
java.lang.RuntimeException: org.embulk.spi.DataException: Invalid record at line 3: aaa,14824,2015-01-27 19:01:23,20150127,embulk jruby
	at org.embulk.EmbulkRunner.runInternal(EmbulkRunner.java:360)
	at org.embulk.EmbulkRunner.run(EmbulkRunner.java:173)
	at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:475)
	at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:99)
	at org.embulk.cli.EmbulkBundle.checkBundleWithEmbulkVersion(EmbulkBundle.java:42)
	at org.embulk.cli.EmbulkBundle.checkBundle(EmbulkBundle.java:15)
	at org.embulk.cli.Main.main(Main.java:26)

resume file.
After fail embulk run, Embulk generate resume.yml file
In this case, LocalFileInput load sample01.csv and sample03.csv correctly,
But, sample02.csv doesn't load yet.
The null records in in_reports part mean "That task not complete yet".
in_task:
  FileInputTaskSource:
    Files: [hoge/csv/sample_01.csv, hoge/csv/sample_02.csv, hoge/csv/sample_03.csv]
in_reports:
- {}   # Task1
- null # Task2 <-- this data not load completely, 2nd is hoge/csv/sample_02.csv
- {}   # Task3
out_reports:
- {}
- {}
- null
- null
- {}
- {}

@icaiyu Apart from this issue itself, we've found that the -r option was not working very well. It turned out that very very few people have actually tried using the resume feature... including ourselves as well.
We'll be discussing it at #740. Everything is TBD, but our future options may include removing the resume feature.
If you could share your practical and real use-cases/requirements for the resume feature, those may be very helpful for us to decide, and maybe to re-design. Thanks!

@hiroyuki-sato
The -r option doesn't generate the resume.yml.
I try the
embulk run config.yml -o resume.yml
My sample
sample_01.csv.gz, sample_02.csv.gz, sample_03.csv.gz, ... , sample_07.csv.gz
In the sample_04_csv.gz it have an invalid record.

I expect that embulk stop at the sample_04.csv.gz
Thus in the resume.yml, it should have
last_path: sample_04.csv.gz
so that I can fix the invalid record in sample_04.csv.gz
And then I can continue at the sample_04.csv.gz
Actual result
in:
type: file
path_prefix: /home/cy/data/try1/csv/sample_
decoders:

{type: gzip}
parser:
charset: UTF-8
newline: LF
type: csv
delimiter: ','
quote: '"'
escape: '"'
null_string: 'NULL'
trim_if_not_quoted: false
skip_header_lines: 1
allow_extra_columns: false
allow_optional_columns: false
columns:

{name: id, type: long}
{name: account, type: long}
{name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
{name: purchase, type: timestamp, format: '%Y%m%d'}
{name: comment, type: string}
last_path: /home/cy/data/try1/csv/sample_07.csv.gz
out: {type: stdout}

@icaiyu

Add stop_on_invalid_record: true in your config.yml
Exeucte embulk run -r resume.yml config.yml

Your embulk run will fail and generate resume.yml.
You have to set stop_on_invalid_record: true. Otherwise, embulk skip an invalid record.
https://github.com/hiroyuki-sato/embulk-support/blob/master/core_736_resume_test/config.yml#L16
Your embulk run generate the following line.
2017-07-24 10:33:23.458 +0200 [WARN] (0015:task-0005): Skipped line 3 (java.lang.NumberFormatException: For input string: "aaa"): aaa,14

The resume file generated if eumbulk run failed.

@hiroyuki-sato
Thank you, I got the resume.yml now. What if I fix the invalid record in the sample_04.csv.gz(For example, I just delete that record manually)
Could I run the Embulk again that it only parse the sample_04.csv.gz ?

@icaiyu
@dmikurube mentioned above,
https://github.com/embulk/embulk/pull/736#issuecomment-317349995
we've found that the -r option was not working very well.
Probably, -r option does not work as you expected.
That's why he asked you below.

If you could share your practical and real use-cases/requirements for the resume feature, those may be very helpful for us to decide, and maybe to re-design. Thanks!

Maybe, you can't delete sample_04.csv.gz. you need sample_04.csv.gz file even it is empty.
But I've never tested it before.

@hiroyuki-sato
I means in the sample_04.csv there are many lines of record, only some of them are invalid, after I fix those invalid record, I hope that the embulk could continue to deal the sample_04.csv, and then the sample_05.csv, sample_06.csv ....
In my case , the order is very important, the embulk deal the file one by one
sample_01.csv     OK. upload it to the server.
sample_02.csv     OK. upload it to the server.
sample_03.csv     OK. upload it to the server.
sample_04.csv     Oh, there are some invalid records in this file!
The embulk should stop and record the
"last_path: sample_04.csv" in the resume.yml
Then I fix invalid data in the sample_04.csv then I run the resume.yml, the embulk should start again.
sample_04.csv     OK. upload it to the server.
sample_05.csv     OK. upload it to the server.
..
sample_09.csv     OK. upload it to the server.
It seems that the embulk doesn't work as I want.  I am trying to solve this problem in my plugin. Maybe I can write the certain resume() function in my plugin.
Anyway, Thank you for your reply, they are really helpful for me to understand how the embulk work.

If you load those files one by one, I recommend you below.
It is the simplest way.

Put data files into queue directory.
Create data load directory
Save the following file as load.sh
Execute load.sh

It moves one file from the queue to data directory.
Execute embulk. It loads the single file. (sample01.csv)
Embulk save diff.yml as sample01.csv loaded.
It moves one file from queue to data directory. (sample02.csv)
Execute embulk. It loads the single file. (sample02.csv), because embulk knows sample01.csv already loaded.

You simply modify error file(sample04.csv) if load.sh stopped.

#!/bin/bash

while [ $( ls queue | wc -l ) -ne 0 ] ; do
  ls -1 queue/sample* | head -1 | xargs -I % mv % datas
  embulk run conf.yml -c diff.yml  >> embulk.log 2>&1
  ret=$?
  if [ $ret -ne 0 ] ; then
    echo "Failed: $ret" >> embulk.log
    exit 1
  fi
  echo ""
done

in:
  type: file
  path_prefix: datas/sample_
  # ...


Terminal entry not found

I just tested the linux64 binary of the last release on Alpine Linux Vanilla, with st installed and TERM=st-256color. Micro complains with the error in the title. The workaround is setting TERM=xterm-256color before launching micro.
More details on #1077, where I thought it was an issue of outdated micro, but even with the newest release the error persists.

If you are using micro 1.4.0, micro should read the terminfo entry with infocmp. Are you using a prebuilt binary or did you build from source?

I have a similar problem. The package is installed from AUR
[~]$ micro -version                                                                                *[master]
Version: 1.4.0
Commit hash: af520cf
Compiled on January 26, 2018
[~]$ micro                                                                                *[master]
terminal entry not found
Micro does not recognize your terminal: dvtm-256color
Please go to https://github.com/zyedidia/mkinfo to read about how to fix this problem (it should be easy to fix).
[~]$ ./mkinfo_linux64                                                                                *[master]
./mkinfo_linux64: /usr/lib/libtinfo.so.5: no version information available (required by ./mkinfo_linux64)

@Jipok you might need to install libtinfo in order to use mkinfo to generate the information for terminal

Suddenly getting this issue myself. Using 1.4.1 nightly (from AUR pkg).
$TERM is xterm-termite
micro -version
Version: 1.4.1
Commit hash: 1856891
Compiled on August 11, 2018

I also see the same with micro 1.4.1 on openSUSE Tumbleweed x86_64. When launching micro with TERM=rxvt-265color, it works. With TERM=tmux-256color or TERM=kitty, I get:
terminal entry not found
Fatal: Micro could not initialize a screen.

It would help if micro would be permissive in what values of TERM it accepts. I think a list of known-good TERM values in the docs would be fine, and users with less-common TERM configurations can be advised to look there first when encountering display oddities

This problem is resolved for me by using the latest nightly build. Currently micro 1.4.2-dev 29
From reading some other issues as well I think that you have to use 1.4.2 or newer for some terminals like Termite, there was still some unsharpness in 1.4.1
(Archlinux / Termite)

1.4.1 still doesn't recognize st-256color
Guess I'll give compilation from source a shot. (I have an xterm-256color but I can't use it since OBS refuses to Window capture it...)

I had the same problem with kitty and micro 1.4.1-1. Upgrading to the git version (currently 1.4.2-61) fixed it.

Can confirm @Mark-Westons first post - adding TERM=xterm-256color to my .bashrc fixed the "terminal entry not found" issue for me on 1.4.0. The error only happened when running micro in screen.


Scan oclint integration

Continuing the work provided in https://github.com/fastlane/fastlane/pull/4841
Addresses #4327 and #1934

Looks good to me!

Left one nitpicky comment above, but otherwise this looks great! Also, totally not necessary to make the change I mentioned. 🚢 :shipit:


Building holepunch client

Hi joonas-fi,
I am new to this and I am trying to build and use your code by following the README. But I am falling short. Could you please update the README on how I can build holepunch client and execute it?
Also, if the remote server has the sshd running on a port other than 22, then how can I introduce custom port in the json file?
So far I have done this:

Edited a file holepunch.json (similar to holepunch.example.json) and kept it in cmd/holepunch directory.
Put an extra line: "port" : <custom_port_num> under "ssh_server": {...} since my ssh server uses a custom port for sshd and not the regular 22
Invoked the command: go build main.go

But I am unable to make this work by following the README. I am getting errors.
Thanks,
-amit

Hi Amit, sorry you've had trouble.
Building
First off, I want to confirm that you really want to build it? There's ready-made releases for Windows, Linux (both amd64 and ARM for Raspberry Pi etc.)? If your platform (Mac?) is missing, I can add it.
If you really want to build it (maybe you want to hack on the code):
If you've installed the Turbo Bob util, then all you need to do is run $ bob build
If you prefer not to install Turbo Bob, then you need to have basic understanding of building Go-based projects.  I tested building it just now in a Docker container:
$ docker run --rm -it golang:1.13.5-stretch
$ mkdir /project && cd /project
$ git clone https://github.com/function61/holepunch-client.git
$ cd holepunch-client/
$ cd cmd/holepunch/
$ go build

SSH port other than 22
You should just be able to set the port after the colon, see example config file. Sorry, the example was missing the port (I fixed it just now) which was super confusing - my bad. :(
Thanks for bringing this to my attention!

Hi joonas-fi,
Thanks for your prompt response. Really appreciate it.

port issue is now resolved. I tried the way you mentioned in holepunch.json and it worked
Barebone build worked too. I am not using turbo bob and wanted to do native "go build". It works now
I am successful in opening multiple connections, closing them and reopening them. It simply works.

Like you, I also got inspired by the work of codref (https://gist.github.com/codref/473351a24a3ef90162cf10857fac0ff3) and started tinkering around the code. But I wanted to be in a position to open multiple client connections and opening and closing them at will. I saw yours and wanted to use it. I will go over the "main.go" code really well and would try to understand every line, particularly the part which enables the multiple connections possible. If you get some time and add some documentation in the code then that would be great addition for people like me who gets inspired and try to use the awesome work like yours and 'coderefs'.
Would like to stay in touch with you.
Thanks,
Amit

Glad that took care of your problems :)
You're right, the code documentation could be improved on a bit. I added some comments here: https://github.com/function61/holepunch-client/commit/5681ff45af2a0d36941176f9d814050637b9af7b
(I also split the code in a couple more files, but I didn't change functionality)
I didn't go crazy with my comments (too little time) - I only added comments to the most hairiest places.
This comment explains, why multiple connections work: https://github.com/function61/holepunch-client/blob/5681ff45af2a0d36941176f9d814050637b9af7b/cmd/holepunch/client.go#L117
Hope this helps, best luck :)

Thanks much!
I will go over it thoroughly, now that it is much more readable. Appreciate it.
-amit


How to get a 2D bbox features from a 3D bbox

Hi, sorry to interrupt. After get a result from FCOS3d, I get a dict result with key['boxes_3d'], the value is a CameraInstance3DBoxes with a lot attributes. I have several problems, hope you can solve it.

The tensor's shape is [num_bboxes, 9] as I see, I wanna know if this tensor is [x, y, z, x_size, y_size, z_size, yaw, velo_x, velo_y]
I wanna know how to convert the 3D boxes into 2D boxes features, like xmin, ymin, xmax, ymax, 2d_center and so on~~

Thx for your help.

Yes, and you can refer to https://github.com/open-mmlab/mmdetection3d/blob/145e592ebab29fd9f4aac54501cefd7a84706c1e/tools/data_converter/nuscenes_converter.py#L454 for converting 3d boxes into 2d boxes in nuscenes datasets.

Thx for your reply, but I didn't use nuscenes as our dataset, The results I get is actually that the model's output, which like this.

I think I didn't need to get_box, actually I have already get the box and corresponding 'cam2img'. The key:boxes_3d with function variables as follows, I didn't find any function can change the 3dbox into 2d~

I wanna know which method maybe I should apply, a demo perhaps is the most needed thing.

Thx for your reply, but I didn't use nuscenes as our dataset, The results I get is actually that the model's output, which like this.  I think I didn't need to get_box, actually I have already get the box and corresponding 'cam2img'. The key:boxes_3d with function variables as follows, I didn't find any function can change the 3dbox into 2d~  The attributes boxes_3d with:
I wanna know which method maybe I should apply, a demo perhaps is the most needed thing.

Hi , how do you solve this problem

Thx for your reply, but I didn't use nuscenes as our dataset, The results I get is actually that the model's output, which like this.  I think I didn't need to get_box, actually I have already get the box and corresponding 'cam2img'. The key:boxes_3d with function variables as follows, I didn't find any function can change the 3dbox into 2d~  The attributes boxes_3d with:
I wanna know which method maybe I should apply, a demo perhaps is the most needed thing.

Hi , how do you solve this problem

Hi. I have the same problem. How did you solve?


Item Icons Stretched in Chat

Describe the bug
A pic is worth a thousand words so:

To Reproduce
Steps to reproduce the behavior:
Buy an item from a merchant.
 Very nice job on this, it's working much better for me than the 5E loot sheet which I removed a while ago)

Also fixed in 1.0.1

Thank you Whelan for all your efforts!


Document options

Dear GSAlign,
Please could you provide a longer description of what the program options actually do?
e.g. What changes when using one on one aligment mode. What is a use case?

If I remember correctly, the option ("one on one") forces the query
sequence is only allowed to be aligned at most one position. Thank you for your suggestion. I've added this comment on the description.


[MDM-399] User search does not work when adding a role

401 unauthorized error is sending from the backend when searching for users.Reference: https://wso2.org/jira/browse/MDM-399

@chamaraanu Is this reproducible in 3.1.0-beta?

Tested and no longer reproducible, hence closing


View unit tests PoC

Pull Request Description
WIP
Important Notes

Checklist
Please include the following checklist in your PR:

[ ] The documentation has been updated if necessary.
[ ] All code conforms to the Scala, Java, and Rust style guides.
[ ] All documentation and configuration conforms to the markdown and YAML style guides.
[ ] All code has been tested where possible.

Closing until an abstraction for WebGl2RenderingContext will be implemented


Fix duplicated events

daysFromRange should be calculated separately for each event however in current implementation there is just one list to which new elements are added as we iterate over _rangingEventList.

This issue is fixed by PR #116 .


Project name

I see in package.json of next that the name is changed back to react-admin . Is this going to be the official package release name? Or is going to be reversed to admin-on-rest?

Yes, it is going to be the official package name :)


Changes to ValueSources used only as inputs to other ValueSources should not invalidate configuration cache

Consider this build file:
import org.gradle.api.provider.*

abstract class MySource implements ValueSource<String, Parameters> {
    interface Parameters extends ValueSourceParameters {
        Property<String> getValue()
    }
    @Override String obtain() {
        parameters.value.orElse("whatever")  // Obtain a value
        return "String that is not affected by value"
    }
}

// system properties are value sources internally
def someProp = providers.systemProperty("someProperty")

def mySource = providers.of(MySource) {
    parameters.value = someProp
}

println(mySource.get())

Steps to Reproduce

Run gradle --configuration-cache -DsomeProperty=A
Run gradle --configuration-cache -DsomeProperty=B

Expected Behavior
Configuration cache should be reused at step 2.
Current Behavior
Configuration cache is not reused at step 2:
Calculating task graph as configuration cache cannot be reused because system property 'someProperty' has changed.

Note that reading a system property with System.getProperty inside the value source doesn't add the property to the configuration cache fingerprint already.

I think this issue is related to the one I reported: https://github.com/gradle/gradle/issues/22328
But I might be wrong


Open Src Contributions

GitHub recommended this as open-src, and I'm not sure if you want contributions but here I am.
I had a similar project, so let me know if you would appreciate the help.
some of the possible features I had in mind in addition to creating snippets were creating visualization representations for each predictor and adding docs

Hi Dima!
Yes, I would love people to contribute and add to this repo, so feel free to suggest, make changes and so on.
And prior to continue, thank you so much for the interaction.

I just added you as a contributor Dima 🤠👍

thank you


chore: upgrade golangci-lint to v1.46.1

chore: upgrade golangci-lint to v1.46.1

Fix new lint failures

chore: re-enable fixed linters

whitespace
dogsled
bodyclose

chore: replace deprecated linters

Replace golint with revive
Replace scopelint with exportloopref
Remove deprecated interfacer (no replacement)
Skip linting thirdparty, to keep it closer to upstream
Reduce stuttering in names
Remove redundant types
Avoid returning private types from public functions
Replace +=1 with ++
Remove unnecessary array init from Stack & PkgStack

Thanks for doing this! Looks good to me, but I want to let @droot also take a look at it.

Thank you @karlkfi


Board description file (boards.txt) not found

I tried everything possible. Went through all the forums and issues on this repository. Seems like this issue has been solved, but not for me. Please help. Kind of frustrated with Arduino IDE. Following is the error.
Searching for Board description file (boards.txt) ... FAILED
Board description file (boards.txt) not found. Searched in following places:

/Applications/Arduino.app/Contents/Java/hardware/**
/Applications/Arduino.app/Contents/Resources/Java/hardware/**
/usr/local/share/arduino/hardware/**
/usr/share/arduino/hardware/**

what version of the Arduino IDE are you using and on what platform?

Hey @scottdarch, I am using Arduino 1.6.5 on Yosemite OS X (10.10.1).

README.md mentions that Arturo supports only "Arduino 1.6.1 or earlier":

A command-line tool for Arduino 1.6.1 or earlier

Yeah. Sorry. That's where Arturo leaves off for now: 1.6.1. I have been picking away at a v2 but so far I haven't found any collaborators so no telling if I'll have a chance to finish it or not.

What do you need?
~Mark
On 24 Nov 2015 6:37 pm, "Scott Dixon"<EMAIL_ADDRESS>wrote:

Yeah. Sorry. That's where Arturo leaves off for now: 1.6.1. I have been
picking away at a v2 but so far I haven't found any collaborators so no
telling if I'll have a chance to finish it or not.
—
Reply to this email directly or view it on GitHub
https://github.com/scottdarch/Arturo/issues/43#issuecomment-159351103.

Just someone with Python and/or GNU Make chops to collaborate with. The V2 is about 25% done and with my schedule through next year I'm not going to have much time for it until February or so. At this pace I'd be lucky to have v2 done in time to support Arduino Mille (featuring Atmel's latest 8 qbit processor).


Add Subscript support for text editor

https://quilljs.com/docs/formats/ might help?

This would be cool for the v3 editor

v3 should do this


Handle creating an array for missing index properties.

This brings seamless-immutable more in line with how lodash works. From the _.set documentation - "Arrays are created for missing index properties while objects are created for all other missing properties."

Seamless-immutable differing from lodash and not creating arrays for new indexes in paths has tripped us up a few times. Thoughts?

Any updates on this?


Reporter chart block overflowing if used in compose and block has title

If you used a reporter chart in compose and the block had a title, the chart was overflowing the block

Tested and confirming that this now looks good. The only thing left now is the CL entry.

Fixed:

What: If reporter chart was used inside a compose page block and the block had a title, the chart would overflow the block
How: By using the same layout as on regular compose charts


The Theme editor should show the parser error when an invalid color is used

I was confused when my dashboard preview would bounce back to the dashboard editor. I only discovered that the theme color I picked was invalid when I checked my terminal and found the following warning:

This would probably be solved when we move to one common Editor that's used for all resources. The common Editor will display reconcile/parse errors for the current file.

@ericpgreen2 if it will be solved by the common editor it feels like we can defer this until the common editor lands?

@ericpgreen2 if it will be solved by the common editor it feels like we can defer this until the common editor lands?

Agree, this one isn't critical, just further motivation to refactor to a common Editor.


Updated maturation dates as per DevStats

In prep for creating a chart of CNCF projects over time, I've added maturation dates as per the Devstats records. When there was a discrepancy between existing dates, I favored the Devstats date. Note that Devstats needs updating in several cases where projects were being listed as being in "Sandbox" when they are listed as "Incubating" in landscape (cc @lukaszgryglicki). There were also other questions that came up:

when did Cloud Custodian go incubating?
what date was Brigade archived?
what date did in-toto go to incubating?
when did Volcano go to incubating?
when did Contour go to incubating?
when did Operator Framework go to incubating?
when did Chaos Mesh go to incubating?
when did Backstage go to incubating?
when did Emissary-Ingress go to incubating?
when did Dapr go to incubating?
when did Knative go to incubating?
Is Curve a CNCF project? In landscape it is not listed as one but it is in Devstats.
Is Armada a CNCF project? In landscape it is not listed as one but it is in Devstats.
Is Carvel a CNCF project? In landscape it is not listed as one but it is in Devstats.

@caniszczyk could you help answer these?

I updated dates @cjyabraham - and yes to the last 3 questions but @lukaszgryglicki needs to add those projects to devstats

Actually those projects (Curve, Armada, Carvel) are already in Devstats but in landscape they are not correctly assigned to a maturation level. Should I add project: sandbox to each entry in landscape?

@cjyabraham yes

Done for Carvel and Curve. There is no entry for Armada at all in landscape.yml but here it is in Devstats. It will need an entry in landscape so not sure who should add that and where to get all the bits from...

@cjyabraham let's start with this and build out the rest as we come across issues


Enhancement: what about datamatrix support?

Thanks you very much for this, it's very useful.
But are you planning to add datamatrix support?
It's a free standard, and it is quite used.

You can add this by yourself.
https://github.com/schmich/instascan/issues/59


Consensus manager reorg bug

When we handle ChanedHeaders we should assume that at any given moment a peer may get disconnected and the chain will be removed form the tree.
Unhandled yet
The problematic scenario is when we are in the middle of a big reorg and the only peer that claims this branch gets disconnected.
For example a reorg of 10 blocks and at block 5 the only peer claiming this branch is disconnected we will remove the entire branch of the reorg from the tree.
Two ways to fix it

We observe the branch was disconnected and try to reconnect
We place a temporary claim on a branch that is about to be connected, then this branch will not get removed on disconnect.

Ok after further reviewing the code I think this fix is enough.
Observing the method PartialValidationSucceeded if the header has more work then our current tip we already claim that tip by calling  this.ClaimPeerTip(LocalPeerId, chainedHeader.HashBlock);
This means even if the peer disconencts the ChainedHeader will remain in the tree, if validation failes we just remove that subtree and the claimed tip along with it.


return router list as json object

as mentioned in issue #10 with this extension you have the possibility to return a router list as JSON object divided in sub-router-routes.

A colleague of mine, who works with Windows-based systems, told me that the Windows drive letter is output with the complete path specification. In addition, backslashes are output instead of slashes with Windows.  (Example: C:\apiV1\\path\\ ...)
So I created another commit today and converted the path with replace. I am not a regex expert and it may be that this can be solved more nicely or better.

@rottriges Thank you for the contribution, however, your current impletion has a lot of duplication. Think we can achieve the same result and reuse the existing loops and instead of logging results we just store them in a map and have it always returned.
If I can get some time I will look at refactoring your approach.
Essentially I am thinking we could extend the code at this point, and maybe have option to just disable logging.
  if (options.logger) {
    options.logger(stackMethod, stackSpace, stackPath);
  }
  map[stack.routerPath] = [...(map[stack.routerPath] ?? []), { method: stackMethod, path: stackPath, routePath: stack.route.path }]

........

return map;

expressListRoutes(app, { logger: null });


compiling the default example according to the setup guide fails because it has a dependecy to the Arduino_APDS9960 library

this dependency is useless

Also the following libraries have to be installed:

Arduino_LPS22HB
Arduino_HTS221
Arduino_LSM9DS1

Can we get rid of these dependencies (they are part of the Nano Sense) without a custom board config? Otherwise we should clarify the setup guide to mention that these libraries have to be installed to compile successfully but they are unused because they are not required.


Not so sure about how StateProvider.family works

Describe what scenario you think is uncovered by the existing examples/articles
I created a class called AppLocalizations that handles all app translations. I followed Reso Coder tutorial on YouTube for that. A written tutorial can be found here: https://resocoder.com/2019/06/01/flutter-localization-the-easy-way-internationalization-with-json/
I want to use Riverpod to manage the language, so that I don't have to write (AppLocalizations.of(context)?.translate('some json key'))! all over the place. I am aware I could use a method that only takes context and key as parameters, however I would like to use a provider for this. This way I can also optimize the code a bit, e.g., avoid passing the context each single time to infer the right AppLocalization instance, e.g., AppLocalization(Locale('de')).
Describe why existing examples/articles do not cover this case
I tried to solve this issue by looking at the API, but I found no solution.
Additional context
My current code:
final selectedTranslationsProvider =
    StateProvider.family<AppLocalizations, Locale>(
        (ref, locale) => AppLocalizations(Locale('en')));

If I want to switch to italian, I am very unsure if I should write ref.read(selectedTranslationsProvider.create(Locale('it')));, ref.read(selectedTranslationsProvider.call(Locale('it'))); or maybe use overrideWithProvider. The API and the website don't have much documentation regarding what problems these methods try to solve. It would be cool if also important differences between them could be described. I know it would become obvious what their purpose is once someone delves in, however they don't seems intuitive to me at the moment.
Without .family it is a bit more straightforward, as I would have simply updated its state, i.e., (ref.read(selectedTranslationsProvider.state).update...).
Additional question: If I change the state, will Riverpod automatically erase the values held in the map by the previous AppLocalizations instance? Or should I explicitly dispose of the provider's state (previous language), somehow?

If I want to switch to italian, I am very unsure if I should write ref.read(selectedTranslationsProvider.create(Locale('it')));, ref.read(selectedTranslationsProvider.call(Locale('it')));

Do:
ref.watch(family(key))

which is strictly identical to:
ref.watch(family.call(key));

Additional question: If I change the state, will Riverpod automatically erase the values held in the map by the previous AppLocalizations instance? Or should I explicitly dispose of the provider's state (previous language), somehow?

If you use autoDispose too, yes.
Otherwise the state associated to the previous locale will stay active.

These should be covered by the doc of family: https://riverpod.dev/docs/concepts/modifiers/family#prefer-using-autodispose-when-the-parameter-is-not-constant


Fix for fin undefined on useInterApplicationBus hooks

@ColinEberhardt -
I added checks for fin on window to useInterApplicationBus hooks, so we can run outside of openfin for UI automation program.

Thank you for your contribution and Welcome to our Open Source Community!
To make sure your pull request is successful, we need all our contributors to be identifiable, but we couldn't parse the GitHub details of the following people : Darren Furr
Luckily, resolving the issue is straightforward and you can resolve it by following the instructions below.

Alternatively, use the slightly more complex git reset --soft and git rebase to checkout your changes, rewrite the commit history locally and (force) push changes to the downstream branch.
If you have any issues with the steps above, please email<EMAIL_ADDRESS>so we can help you resolve before reviewing and accepting your pull request.
Thanks once again for the contribution and understanding.
cc @finos-admin

Hi @darrenfurr thank you for this fix, that's great - sorry it's taken so long to look at this PR. This project required that people who contribute code sign a Contribution Compliance Agreement, as described here:
https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/75530375/Contribution+Compliance+Requirements#ContributionComplianceRequirements-ContributorLicenseAgreement
Is this something you'd be happy to sign so that we can accept your commit? Thanks.

@ColinEberhardt - Checking with my employer. I don't think it will be a problem. I'll let you know.

@finos-cla-bot[bot] check

Thank you for your contribution and Welcome to our Open Source Community!
To make sure your pull request is successful, we need all our contributors to be identifiable, but we couldn't parse the GitHub details of the following people : Darren Furr
Luckily, resolving the issue is straightforward and you can resolve it by following the instructions below.

Alternatively, use the slightly more complex git reset --soft and git rebase to checkout your changes, rewrite the commit history locally and (force) push changes to the downstream branch.
If you have any issues with the steps above, please email<EMAIL_ADDRESS>so we can help you resolve before reviewing and accepting your pull request.
Thanks once again for the contribution and understanding.
cc @finos-admin

The cla-bot has been summoned, and re-checked this pull request!

Thank you for your contribution and Welcome to our Open Source Community!
To make sure your pull request is successful, we need all our contributors to be identifiable, but we couldn't parse the GitHub details of the following people : Darren Furr
Luckily, resolving the issue is straightforward and you can resolve it by following the instructions below.

Alternatively, use the slightly more complex git reset --soft and git rebase to checkout your changes, rewrite the commit history locally and (force) push changes to the downstream branch.
If you have any issues with the steps above, please email<EMAIL_ADDRESS>so we can help you resolve before reviewing and accepting your pull request.
Thanks once again for the contribution and understanding.
cc @finos-admin

@finos-cla-bot[bot] check

The cla-bot has been summoned, and re-checked this pull request!

@darrenfurr , we got a green light! Thanks for your first contribution! FYI @ColinEberhardt

Nice one - thanks @darrenfurr - much appreciated!


Corp Damage /Special Attack counter

Move the Damage dealt text to the corp beast.
Reposition the Arclight/BGS images on the special attack counter.

You can reposition the acrlight/bgs images by yourself, hold ALT

I mean the Arclight image is getting cut by the side of the indicator square. and the bgs is almost.

you can now resize infoboxes to fix this