This list seems to include common misspellings and 1337 speak (e.g., f1nancially, di3.)

If you want a clean dictionary you should use frequency_dictionary_en_82_765.txt , the one that is in the symspell directory. This is derived as intersection between Google Books Ngram data ( Provides representative word frequencies) and SCOWL Spell Checker Oriented Word Lists (Ensures genuine English vocabulary).
See also https://github.com/wolfgarbe/SymSpell#frequency-dictionary
The frequency_dictionary_en_500_000.txt is derived only from Google Books Ngram data and is intended for benchmarking purposes only. It contains common spelling errors and does not ensure genuine English vocabulary.
Probably I should move the test_data directory from SymSpell.Demo to SymSpell.Benchmark to make that clearer.

Would you be willing to release your code for generating frequency data? I'm in the midst of paring down Princeton's WordNet databases to word/phrase lists. I could just map the frequencies from your dictionaries, at least to the covered words, but generating new data would probably be more useful.

`
public static Dictionary<string, Int64> termlist = new Dictionary<string, Int64>();
    //create a word frequency dictionary
    private static void CreateWordFrequencyDictionary()
    {
        //spelling dictionary
        //http://app.aspell.net/create?defaults=en_GB-large
        //http://wordlist.aspell.net/
        HashSet<string> hs = new HashSet<string>();
        using (StreamReader sr = new StreamReader(@"scowl2.txt"))
        {
            String line;
            //process a single line at a time only for memory efficiency
            while ((line = sr.ReadLine()) != null)
            {
                if (line.Length < 1) continue;
                if (Char.IsUpper(line.Last())) continue; //do not allow abbreviations
                if ((line.Length <= 2) && Char.IsUpper(line.First())) continue;
                hs.Add(line.ToLower());
            }
        }

        //### process google ngrams
        //http://storage.googleapis.com/books/ngrams/books/datasetsv2.html

        for (int i = 0; i < 10; i++)
        {
            using (StreamReader sr = new StreamReader(@"googlebooks-eng-1M-1gram-20090715-" + i.ToString() + ".csv"))
            {
                String line;

                //process a single line at a time only for memory efficiency
                while ((line = sr.ReadLine()) != null)
                {
                    string[] lineParts = line.Split('\t');
                    if (lineParts.Length >= 3)
                    {
                        string key = lineParts[0].ToLower();

                        //allow only terms from the google n-grams which are also in the SCOWL lis
                        if (!hs.Contains(key)) continue;

                        //allow only terms which start with a letter
                        if (!Char.IsLetter(key.First())) continue;

                        //only a & i are genuine single letter english words
                        if ((key.Length == 1) && (key != "a") && (key != "i")) continue;

                        //addition filters
                        if (key.EndsWith(".")) continue;
                        if ((key.Length == 2) && ((key.StartsWith("'")) || (key.EndsWith("'")))) continue;

                        if (key == "ha") continue;
                        if (key == "te") continue;
                        if (key == "sp") continue;
                        if (key == "th") continue;
                        if (key == "ca") continue;
                        if (key == "yu") continue;
                        if (key == "ms") continue;

                        if (key == "ins") continue;
                        if (key == "ith") continue;
                        if (key == "spp") continue;
                        if (key == "hou") continue;
                        if (key == "ewith") continue;
                        if (key == "fori") continue;

                        //set word counts
                        Int64 count;
                        if (Int64.TryParse(lineParts[2], out count))
                        {

                            //add to dictionary
                            if (termlist.ContainsKey(key))
                            {
                                termlist[key] += count;
                            }
                            else
                            {
                                termlist[key] = count;
                            }

                            //Console.WriteLine(key+" "+count.ToString("N0"));
                        }
                    }
                }
            }
        }

        //add some additional terms
        foreach (string key in new string[15] { "can't", "won't", "don't", "couldn't", "shouldn't", "wouldn't", "needn't", "mustn't", "she'll", "we'll", "he'll", "they'll", "i'll", "i'm", "wasn't" })
        {
            termlist[key] = 300000;
        }

        //sort by frequency
        List<KeyValuePair<string, Int64>> termlist2 = termlist.ToList();
        termlist2.Sort((x, y) => y.Value.CompareTo(x.Value));

        //limit size
        if (termlist2.Count>500000) termlist2.RemoveRange(500000, termlist2.Count - 500000);

        //write new dict to file
        using (System.IO.StreamWriter file = new<EMAIL_ADDRESS>false, Encoding.UTF8))
        {

            for (int i = 0; i < termlist2.Count; i++) file.WriteLine(termlist2[i].Key + " " + termlist2[i].Value.ToString());
        }

        Console.WriteLine("ready: " + termlist.Count.ToString("N0") + " terms");

    }

`

Thanks! I tweaked your code to read ngrams from ZIP archives with SharpZipLib, and changed that for loop to a foreach, so you don't have to hardcode the CSV filename. Works great!
Some questions:

Any particular reason for using V1 (20090715) over V2 (20120701)? The V2 ngrams are alphabetically sorted and includes transliterated non-Latin scripts. Not sure how much that matters.

When I generated frequences for the WordNet word list, I noticed all the phrases were removed. How do you deal with terms like "a cappella" and "ipratropium bromide"?

OT: How do you use both SymSpell and SymSpellCompound together? I think SymSpellCompound can work with phrases, right? (By the way, the InitialCapacity commit in SymSpell does not seem to have made its way to SymSpellCompound. Any plans to integrate compounds into SymSpell?)

Any particular reason for using V1 (20090715) over V2 (20120701)?

The "English One Million" is only available as Version 20090715. I just wanted the more compact version.

How do you deal with terms like "a cappella" and "ipratropium bromide"?

Either you spell check the word parts separately (both dictionary and input terms are splitted) or you can take the 2-grams from the Google n-grams and generate a dictionary which contains both 1-grams and 2-grams. Or you just use SymSpellCompound.

How do you use both SymSpell and SymSpellCompound together?

SymSpellCompound  can work with single terms, phrases and whole sentences. SymSpellCompound  is still based on SymSpell v4.1. Either SymSpellCompound will be integrated into SymSpell or at least updated to the recent code base.


YARN-3660. [Addendum] Fix GPG Pom.xml Typo.

Description of PR
JIRA: YARN-3660. [Addendum] Fix GPG Pom.xml Typo.
When I was on BackPort YARN-3660, I wrote a typo wrong in pom.xml, and fixed this issue in this pr.
How was this patch tested?
For code changes:

[ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 51s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+0 :ok:
xmllint
0m  0s

xmllint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
48m  6s

trunk passed

+1 :green_heart:
compile
0m 25s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
compile
0m 23s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
mvnsite
0m 28s

trunk passed

+1 :green_heart:
javadoc
0m 31s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
0m 24s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
shadedclient
88m 45s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 17s

the patch passed

+1 :green_heart:
compile
0m 17s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javac
0m 17s

the patch passed

+1 :green_heart:
compile
0m 16s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
javac
0m 16s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
0m 18s

the patch passed

+1 :green_heart:
javadoc
0m 18s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
0m 17s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
shadedclient
39m 14s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
0m 36s

hadoop-yarn-server-globalpolicygenerator in the patch passed.

+1 :green_heart:
asflicense
0m 35s

The patch does not generate ASF License warnings.

134m 47s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5903/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5903

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint

uname
Linux 49f6a96d98e8 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk /<PHONE_NUMBER>f0483fdb3688a8c19eeeaecc70ca33

Default Java
Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5903/1/testReport/

Max. process+thread count
589 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-globalpolicygenerator U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-globalpolicygenerator

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5903/1/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@ayushtkn Can you help review this pr? Thank you very much!

@goiri Thank you very much for your help in reviewing the code!


Enable use in multiple contexts

Seems to work fine in Workers after this change. Fixes #65.

Thanks @LubosD - I'll look into this in a few hours.


ViewContext.ViewData should throw if set to null

A ViewContext instance cannot be created with ViewData == null; even the test-only constructor sets the property appropriately. However the ViewData property has no null checks in its setter and downstream code compensates for the odd possibility of context.ViewData = null in user code. We should disallow that possibility i.e. throw an ArgumentNullException and remove ViewExecutorTest.ExecuteAsync_ViewResultAllowNull() -- the only code that uses this "capability".

Not sure I see any big problem allowing it. If anyone does this, they either know exactly what they're doing, or they don't, and they'll see the error in their ways when they get a NullRef.


Bug in outlook web - custom property not saved in onsend script

when you set properties in onsend script, the last property you set is not being saved. I have an onsend script that saves some custom data in the mail item metadata. After each property change I save the custom property and wait until the save callback called with success. All data is saved except from the last one. If I repeat the last property set twice, it works. The bug doesn't exist in windows or mac, just in the web version.

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

ID: 6df38293-7e0a-a019-ded2-3ed960ceb18b
Version Independent ID: 62a8ffba-8baa-c6ff-4063-81b507fc8dd4
Content: Get and set metadata in an Outlook add-in - Office Add-ins
Content Source: docs/outlook/metadata-for-an-outlook-add-in.md
Product: outlook
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

Hi @amiram,
Thanks for reporting this. I'm going to transfer this issue to the office-js repo, where they monitor product bugs. Tagging @exextoc to investigate.


tf.math.floordiv produces incorrect result when the denominator is -inf

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
2.17.0
Custom code
Yes
OS platform and distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Based on the documentation https://www.tensorflow.org/api_docs/python/tf/math/floordiv, tf.math.floordiv should be equivalent to python's // operator. However, when the x=1.4 and y=-np.inf, tf.math.floordiv outputs -0.0 while // outputs -1.0.
I also checked Numpy and PyTorch's APIs, both output -1.0.
It seems that the implementation of tf.math.floordiv is different from others, it would be nice if you can fix the implementation inconsistency, or make this inconsistency in the documentation.
Standalone code to reproduce the issue
import tensorflow as tf
import torch
import numpy as np
a = 1.4
b = -np.inf
print("Numpy's result: ", np.floor_divide(a, b))
print("Python's // result: ", a // b)
print(f"TF's result: {tf.math.floordiv(a, b)}")
print(f"PyTorch's result: {torch.floor_divide(torch.tensor(a, dtype=torch.float32), torch.tensor(b, dtype=torch.float32))}")

### Relevant log output

```shell
Numpy's result:  -1.0
Python's // result:  -1.0
TF's result: -0.0
PyTorch's result: -1.0

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

I was able to reproduce the issue on tensorflow v2.15, v2.17 and tf-nightly. Kindly find the gist of it here.


update deployment apiverion to apps/v1

update deployment apiversion extensions/v1beta1[2] to apps/v1

@woopstar Please review, Thanks.

ci check this

@chadswen Sorry, I forgot selector matchLabels, Please ci check this again, thanks.


rpy2 integration

We should be able to integrate, at least on the data layer, with R.  This would allow us to more easily leverage functionality in R like ggplot.  rpy2 seems like an appropriate project to mediate this conversion.  pandas also seems to have some functionality here.
@davclark seems to be thinking about this.

Closing old issues. Feel free to reopen with up to date info.


Update reference-aadsts-error-codes.md

AADSTS530032 | BlockedByConditionalAccessOnSecurityPolicy - Blocked by security policy

Hi @CelesteDG - Could you review the proposed changes? Thanks.

@rebrit : Thanks for your contribution! The author, @CelesteDG, has been notified to review your proposed change.

@rebrit - Thank you for your contribution. Please add the row towards the end of the file, just after the entry for AADSTS240002. Numerically, this is where we'd put this error code. For the description, please put "BlockedByConditionalAccessOnSecurityPolicy - The tenant admin has configured a security policy that blocks this request. Check the security policies that are defined on the tenant level to determine if your request meets the policy requirements."
Once these changes are made, I can approve the PR. Thank you.
CC @ktoliver

Done Celeste. Thank you.

Thank you very much, @rebrit :) We appreciate the contribution! Hope you have a wonderful weekend.
#sign-off


Getting method parameter names

Getting parameter name from "parameters" just doesn't work, this data comes from bytecode ad local variables list.

Getting parameter name from "parameters" just doesn't work, this data comes from bytecode ad local variables list.

More precisely, this is specified in https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-2.html:

On class method invocation, any parameters are passed in consecutive local variables starting from local variable 0. On instance method invocation, local variable 0 is always used to pass a reference to the object on which the instance method is being invoked (this in the Java programming language). Any parameters are subsequently passed in consecutive local variables starting from local variable 1.


Question - this value model self-references, but still healthy.  Is that normal?

This is maybe a better question for @sbodorkos rather than an issue, but here goes anyway.  I recently noticed that one of my expressions in the demonstration squid project gave a nonsensical result.  I eventually realized it was because the expression itself (Hfsens) was referred to in the error portion of the value model expression (see screen shot below).  So technically the expression was healthy because it had all the arguments it needed, but it referred to itself.  Is there any situation where this could be true and still lead to a correct result?  Or should this also be a flag that results in a an expression being classified as "unhealthy".

I have since fixed this all up and will be providing an updated, error free demo file shortly.

@NicoleRayner I thinkin the absolute strictest arithmetical sense, it's fine, because of the missing 'default' array-indices. The yellow Hfsens on the left refers to the 3-component ValueModel array arising from the expression (value, uncertainty, Boolean), whereas the Hfsens that is part of the expression (on the right) is (I think) actually a 'default' reference to Hfsens[0], i.e. the Value part of the ValueModel array.
So strictly, the expressions here should be written (and, in my opinion, portrayed) as:
Hfsens = ValueModel( Hfsens[0], Hfsens[1], Hfsens[2] )
where Hfsens[0] = 8200/ Hf_bwt[0]
and Hfsens[1] = Hf_bwt[1] / Hf_bwt[0] * Hfsens[0]
The second equation can be rearranged as:
Hfsens[1] = 8200 * Hf_bwt[1] / ( Hf_bwt[0] ) ^2
Arithmetically, that's fine. Isotopically, I don't understand it, but that's a different issue...
At the moment the array-index [0] is optional in expressions i.e. if you write Hf_bwt, the Expression Manager assumes you mean Hf_bwt[0]. SQUID 2.50's Task Editor behaved similarly. I think that convention was OK in SQUID 2.50, where it was usual to treat expressions generating a value and its uncertainty separately. I'm not sure it's such good practice in Squid3, where the ValueModel binds value and uncertainty more tightly together.
Plus people (sensu Squid3 users) don't tend to naturally think in terms of zero-addressed arrays, not least because the user-facing sections of SQUID 2.50 did not use them. Even people who do understand the use of array-indexing in the Expression Manager will need to remember that Hf_bwt = Hf_bwt[1] in SQUID 2.50, but Hf_bwt = Hf_bwt[0] here.
I would prefer to see all arithmetic involving array-elements explicitly labelled with the index, as per my rewritten equations above. But I am not sure whether the broader Squid3 user-base would expect (or enjoy) that. It might be cumbersome if people are mostly writing expressions to handle Values only... but it would reduce the sort of confusion that is the basis of this issue.
And it is definitely confusing! I had to look at it for ages, because I was convinced it was not healthy/normal, but I couldn't understand why Squid3 would not have crashed out...

Getting to the essence: a ValueModel does not do any calculation itself, rather it stores a value expression and the uncertainty expression for that value expression.  Thus the reference to Hfsens[0] in the uncertainty part of the expression is really 8200 / Hf_bwt[0] as @sbodorkos shows.  The preferred usage would be to use the latter.


Visualization: Custom legend markers and colors

while a prototype of custom legend works are done, it is still required to add markers at legend labels like plotly's legend. A basic square markers are already made at #637 which would work for histogram, barplot, mosaic (2x2 and RxC) Vizs but still need to consider two more cases, scatter plot and boxplot Vizs. This ticket will handle the task.

Boxplot Viz is done via #251

@moontrip
Before I approve this ticket could you confirm the following things.

That the open dots are the correct icon in the scatter plot legend
That the clickable legend thing is supposed to be there

I am attaching photos

@sweverschulman Thank you for your review and tests. Sorry that it is not clear of your question 1: The attached one is boxplot and you are saying scatter plot legend. FYI, it seems that my custom legend works for the scatter plot (and possibly the latest works from developers) are not updated correctly at qa/qa.restricted: asking Dave about this. So, if you are asking about the style of scatter plot then yes they are almost identical to what the Plotly's default legend shows. You can see my screenshot in this link, which shows what the new markers/colors of custom legend for the scatter plot look like.
As for the number 2, unlike Plotly's default legend that offers clicking texts, we are not supporting it. This is the reason why we have introduced checkbox instead, which controls on-off plot trace(s).
Hope this would be helpful for you.

thanks @moontrip. So to clarify the custom legend this.

@sweverschulman yes correct. FYI, Jamie just committed his work for overall layout of plot, custom legend, bird eye plot, and table: certainly not reflected at as site yet. Also, we will disable the Plotly's default legend sooner or later and stick to the new custom legend instead for both regular plots and faceted plot.

the new custom legend markers and colors are present in both scatterplots and boxplots


Add experimental helpers for event pool

Added
zeEventPoolGetFileDescriptorFromIpcHandleExp
zeEventPoolGetIpcHandleFromFileDescriptorExp
To help users with the management of IPC event pool handles.
Resolves: #205

Closing as deprecated from Commit 2dec183


[stable/mcrouter] upgrade memcached chart requierements in mcrouter chart

What this PR does / why we need it:
Upgrade chart version of memcached in requierements.yaml to get annotations on pod / latest features and values configurations for memcached.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @scottrigby

Hi :) any chance to get a memcached chart up to date ?

/ok-to-test

/lgtm


Add !mute command

Created a role that already mutes the person from being able to send messages on text channels and from talking in voice channels.


use FormBodyWrapperFilter  will result in a multi-threaded blocked

FormBodyWrapperFilter   137line  use AllEncompassingFormHttpMessageConverter，it final will use

when enable FormBodyWrapperFilter    tps in 4core8G server only have 400+tps

when i disable FormBodyWrapperFilter    tps  increase to 4900+

@dsyer any particular reason synchronized is used here?

I ran our local integration tests without failures. @demochen any chance you could compile without the synchronized keyword and verify your tests?

There's one instance of the converter per request, so I don't see how a synchronized block there could be a bottleneck. Also it's in Spring (not Cloud) so we can't do anything about it.

@demochen is it still an issue with the latest release trains?

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


"Lnd has unexpectadly [sic] quit"

Error message appears a few seconds after sync begins.
Occurs at every launch since 0.2.1 update.

@CaptainHadacol there are a couple of things that you could do to try to debug this:

check out the code from the master branch, and run that. There are a number of fixes merged recently that partially address this issue, including a change that can enhance that particular error message with some additional details about why it quit.

Start the app in debug mode, which you can do like so:

a) if you are running the 0.2.1 release:
DEBUG=zap* DEBUG_LEVEL=debug /Applications/ZapDesktop.app/Contents/MacOS/ZapDesktop

b) if you are running the code from a clone of the master branch
DEBUG=zap* DEBUG_LEVEL=debug yarn dev

This will allow you to see the logs from the app and from lnd and get some more insight into why it crashed.
Additionally, you can inspect the lnd logs directly which you can find at:
if you are running the 0.2.1 release:
 ~/Library/Application\ Support/Zap/lnd/bitcoin/testnet/wallet-1/logs

If you are running in dev mode from a git clone.
 ~/Library/Application\ Support/Electron/lnd/bitcoin/testnet/wallet-1/logs

Thought I would add my logs for the exact same problem
zap-crash.log

@Darkbladecr thanks for the details. Please could you try running with more debugging enabled as per my comments above, and post the logs from that? Thanks.

No logs present on the release version so I will have to rebuild from source, let me see if I get the same issue.

I think this happens if the admin.macaroon file cannot be found or opened

Attached: log details from debug mode; launch Sep 6
zap-lnd-log.txt
zap-bash.txt

I'm going to close this issue as it hasn't been updated for about a month, however please feel free to reopen if you experience the issue with the latest version of Zap which should now also provide more detail as to the specific cause of the error.


Android-Kotlin : 09.8 Navigation Drawer and Drawer Layout tutorial in Android (Kotlin)

Description 📜

Give a step-by-step tutorial of Navigation Drawer and Drawer Layout in Android (Kotlin).
Required Documentation or Video or Audio.

Domain of Contribution 📊

[x] Android Dev (Flutter, Java, Kotlin)

References :

https://abhiandroid.com/materialdesign/navigation-drawer

Please Read it Carefully Before Contributing

Changes should be made in Android_Development_With_Kotlin/ directory under Android_Development_With_Kotlin branch.
Inside Android_Development_With_Kotlin/ directory creates a directory and names it according to the topic ( for this issue 09. Dynamic User Interface)
Inside 09. Dynamic User Interface/ directory add your task with subtopic number and name and make changes accordingly.
You have to push your PR to the Android_Development_With_Kotlin branch only.
You can take help to the references but don't simply try to copy it. Just explain in your own word.
This issue is for GWOC'21 contributors only.
You need to push in a single commit. If there exists more than one commit then you need to squash your commits into one commit.
Will assign you on a first come first serve basis.
Please try to complete your assigned task within 7 days. If you need some more time then, please inform mentors and supervisors.
If you have two previously assigned issues on Android-Kotlin pending then please first complete them.

Supervisor @rahulsain

Happy Contributing. Best of Luck.💖

assign me this issue

Yeah you can proceed.
On Wed, 22 Sep 2021, 9:36 pm Yuvraj Singh, @.***> wrote:

assign me this issue
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/girlscript/winter-of-contributing/issues/1415#issuecomment-925071157,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASIF5UBJU43EASBPB5MAIL3UDH5HFANCNFSM5EMUEFYQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@yuvraj-2503 hey any update regarding your work.

@rahulsain


Understanding GitHub permissions

There are two times that the end user via a GitHub website, and I don't yet understand what roles they have etc. To understand that is quite relevant for anyone being an admin of a hub that provides this if the admin gets questions from users.
I don't clearly understand the parts here. I've typically been very afraid of whenever I've accepted "act on behalf of you". But, I guess perhaps it's just "act on behalf of me" with restricted permissions based on how the application is installed for various repos.
Task to complete

[ ] Clarify the role of various steps taken somewhere in this project's documentation
[ ] BONUS: Include some screenshots
[ ] BONUS: Include references to verify what's said in official github documentation

Step 1 - When an end user installs the github application, granting it specific permissions to various repos
This can be triggered by visiting https://github.com/apps/hub-jupytearth-org-github-integ

Step 2 - When an end user authorize the application to "act on your behalf"
This can be triggered by running github-app-auth-user, getting a device code, and opening https://github.com/login/device

So the actual permissions granted are specified by the admin when they create the app itself. Step 1 grants permissions to the app to act on the repos, while step 2 grants permission for the app to act on behalf of the user on those particular repos - if they users don't have access to the repo they still can't push. So the effective permission requires that:

GitHub app is created with correct scopes (push, pull)
GitHub app is installed in the repos where we want end users to eventually push / pull
Users authorize the app to act on their behalf, so users still need to (independently) have permissions to these repos.

I hope this helps! Should also be more clearly documented

Thanks @yuvipanda I think you summarized it as comprehensible as something this complex can be summarized!
Hmmm, so there is like two separate distinctions:

Does the user trust the app to act with your credentials?
Does the github repo owners trust the app to make changes for users who trusts the app?

I don't yet understand this as clearly as I hope to, but I do understand it better thanks to your help @yuvipanda!
I think what I look to understand more clearly are the security implications in various scenarios, for example if a GitHub app developer is malicious, and what steps then are needed for that malicious GitHub app developer needs to get done to do harm - and how great that harm will be - and such questions.

@consideRatio oooh, great question. I think the developer of the app could possibly write to the repos even without user authentication :| https://github.com/yuvipanda/git-credential-helpers relies on that to work with nbgitpuller on private repositories. We should make that clear.

Ah now i understand that project:
1 create an app
2 create a key (in app settings) to act as the app
3 declare permissions for app
4 install app on org/repo
5 use app credentials (via git cred. helper) to do what you want
Okay, so the app has permissions by itself.
Hmmmm, but in this case (github-app-user-auth) a user knowing the client-id (public) can use the app to generate credentials which is the intersection of the app credentials and the user credentials, and with github-app-user-auth, those stay with the end user rather than to be used by some server doing automation etc?

@consideRatio yeah, so if you just know the client id, you can use it only in conjugation with user credentials to get access to repos with intersection of these permissions. You need access to the GitHub app's private key (not used in this repo) to get access without user authorization. So the presence of the github app ID acts purely as a constraint on what scopes the user's permissions are reduced to.

No key is created here - only the (public) client ID is used.


Add number validations

I'm submitting a feature request
Current behavior:
There are no number validations
Expected/desired behavior:

What is the expected behavior?

I'd like to have number validations such as lessThan, greaterThan, between, etc.

What is the motivation / use case for changing the behavior?

I have a lot of numeric properties and having to use the satisfies() method takes up a lot more space than built-in number validations

+1 gets my vote too, this is such a common pattern on select based drop downs.

Would you mind sharing your custom validations for numbers? Will help us to make sure we're hitting your use cases.

@jdanyow me or the op?

Both! 😀

LOLZ...  :-)
Well for me, I usually create my drop downs something like the following:
<select value.bind="theSelectValue">
  <option value="0">Please Select something</option>
  <option repeat.for="option of selectOptions" value.bind="option.value">${option.text}</option>
</select>

My "selectOptions" are then populated thus:
private selectOptions = [
  { value: 1, text: "Option 1" }
  { value: 2, text: "Option 2" }
  { value: 3, text: "Option 3" }
  { value: 4, text: "Option 4" }
];

Or by loading from Ajax in that format.
I then handle my rules in the VM thus:
  ValidationRules.customRule(
      'ddlValueSelected',
      (value: number, sender: ProjectDetails) => {
        if (value > 0) {
          return true;
        }

        return false;
      },
      `Drop down value MUST be selected`
    );

    ValidationRules
      .ensure((p: myVmType) => p.theSelectValue).satisfiesRule('ddlValueSelected').withMessage("Option must be selected.")
      .on(this);

Or more often, I actually create a
  private myData = {}

Then bind my controls to
  myData.foo....

and put the validation on
  .on(this.foo)

If that helps :-)
Shawty

Here's mine, so far:
    'numberRange',
    (value, obj, min, max, dollar : boolean = true) => {
      let number = numeral(value).value();
      return value === null || value === undefined
        || number >= min && number <= max
    },
    `\${$displayName} must be between \${'$config.min} and \${$config.max}.`,
    (min, max) => ({ min, max })
  );

  ValidationRules.customRule(
    'lessThan',
    (value, obj, max) => {
      let number = numeral(value).value();
      return value === null || value === undefined
        || number <= max
    },
    `\${$displayName} must be less than \${$config.max}.`,
    (max) => ({ max })
  );

  ValidationRules.customRule(
    'greaterThan',
    (value, obj, min) => {
      let number = numeral(value).value();
      return value === null || value === undefined
        || number >= min
    },
    `\${$displayName} must be greater than \${$config.min}`,
    (min) => ({ min })
  );```

thanks!

Any progress on this issue?


ZIP-221: Validate chain history commitments in the non-finalized state

Is your feature request related to a problem?
In order to implement ZIP-221 in Zebra, we will need to update our implementation of Zebra state for non-finalized chains, and validate chain history commitments in the non-finalized state.
Describe the solution you'd like
Maintaining history

[ ] Add a history MMR data field to the Chain type

this stores the MMR history for each non-finalized tip

[ ] When adding a block to a non-finalized tip:

update the history MMR (see #2134 for details)
add blocks using Zebra's API for Tree::append_leaf
prune unused entries using Zebra's pruning function

[ ] When forking a new side-chain:

clone the list of MMR entries
rollback blocks using Zebra's API for Tree::truncate_leaf
add blocks using Zebra's API for Tree::append_leaf
prune unused entries using Zebra's pruning function

Contextual validation of non-checkpoint blocks

[ ] Add a post-fork contextual validation function to the check module
[ ] Call it from commit_block and commit_new_chain, right before we add the block to the chain
[ ] Check that the history commitment from the history MMR matches the history commitment in the block header

if it doesn't, return a new BlockError variant

Describe alternatives you've considered
We could re-calculate each side-chain starting from the finalized tip.
We could keep the (non-finalized) leaf nodes for each non-finalized block, and share forked block state using Arc or im. However this:

costs some RAM
should only be done as part of a redesign that avoids rollbacks entirely

Additional context
See https://github.com/zcashfoundation/zebra/issues/2091#issuecomment-832311598 for further details

We need the sapling tree root for this change, so testing and full implementation are blocked by the sapling part of #1287.

#2396 does not actually close this ticket

https://github.com/zcashfoundation/zebra/issues/2562 ended up being similar to this
I think this one can be closed by #2609


Cannot extend Mutation

Hi! We've been struggling with this for quite a while now, so thought I'd try and ask for help.
Our use-case is simple. Extend an existing schema, and implement new Mutations and Queries. While extending the original Query type works perfectly fine for us, as soon as we try extending the original Mutation type, we get strange errors, possibly related to how the merge is being done and the resulting AST parsed / constructed. Please note we only get this result when using variables; sending hard-coded values works just fine.
We have done some investigation and it appears that the culprit is this method https://github.com/APIs-guru/graphql-faker/blob/master/src/proxy.ts#L122. Unfortunately, this is where we run out of depth, as we currently don't have the bandwidth to study the visit method / API properly.
If anyone here has enough insight on this, it would be awesome if you could help us out. Any input and / or advice is greatly appreciated :)
Our "extend"
type Car {
  id: String @fake(type: uuid)
  ownerName: String @fake(type: fullName)
}

input NewCarInput {
  ownerName: String!
}

extend type Mutation {
  createCar(input: NewCarInput!): Car!
}

Our mutation
mutation CreateCar($input: NewCarInput!) {
  createCar(input: $input) {
    id
  }
}

Result
{
  "errors": [
    {
      "message": "400 Bad Request\n{\"errors\":[{\"message\":\"Unknown type \\\"NewCarInput\\\". Did you mean ... ?\",\"locations\":[{\"line\":1,\"column\":28}]},{\"message\":\"Variable \\\"$input\\\" is never used in operation \\\"CreateCar\\\".\",\"locations\":[{\"line\":1,\"column\":20}]}]}"
    }
  ]
}

@slavovojacek This day has come 😢
I hide this problem under TODO, here is real problem:

"message":"Variable \"$input\" is never used in operation \"CreateCar\".

If some variable used only inside faked part it still presented in the query to the origin server and it complains about an unused variable.
Will try quick fix it by inlining all parameters inside the query.

@slavovojacek Also notice the second error in your sample. Then you define new mutation you reference NewCar type but you only define Car type.

@slavovojacek I fixed the unused variables issue and released v1.2.2.
Does it solve your issue?

@IvanGoncharov Just tested it, works perfectly! Thanks a lot 👍
PS. I fixed the typo (NewCar / Car type) in the description, thanks for pointing it out.

@slavovojacek Great 🎉
If you have any other suggestion would be happy to help.
P.S. It looks like you use Faker to its maximum since nobody report this issue previously.
It would be great if you share your experience with it. Please consider writing a blog or giving a talk on your local API/JS/GraphQL meetup.

Hi @IvanGoncharov! Thanks for your reply and I am of course more than happy to share any feedback. I have already done a number of presentations and talks on how and why we use GQL Faker – in the SE Asia region, where I am currently based.
On another note, however we've just found out, that it is now impossible to run a parameterised query, defined in the original schema.
So let's say we extend our schema, which has card(id: ID!): Card, then we attempt:
query ($id: ID!) {
  card(id: $id) {
    id
  }
}

And this is the error we get:
{
  "errors": [
    {
      "message": "400 Bad Request\n{\"errors\":[{\"message\":\"Variable \\\"$id\\\" is not defined.\",\"locations\":[{\"line\":2,\"column\":12},{\"line\":1,\"column\":1}]}]}"
    }
  ]
}

As before, when id is hardcoded, it works correctly, e.g.
query {
  card(id: 1) {
    id
  }
}

Can you please advise?

I have already done a number of presentations and talks on how and why we use GQL Faker – in the SE Asia region, where I am currently based.

Thanks a lot 👍 Do you have any video online or a slide deck?

On another note, however we've just found out, that it is now impossible to run a parameterised query, defined in the original schema.

That's why I need to add test suite to prevent regressions like that 😞
Meanwhile, I fixed regression and published v1.2.3.
BTW. Are you planning on coming to GraphQL Summit?
Would be great to see you there.

Thanks a lot 👍 Do you have any video online or a slide deck?

For now only pictures of me introducing GraphQL during JakartaJS Meetup, sorry!

Meanwhile, I fixed regression and published v1.2.3.

I tried installing latest (1.2.3), however the issue seems to still be occurring.
As for the Summit, I'd love to, just not sure I can actually make it due to my current engagement in Indonesia ([flight] time is the issue). But one never knows..

To add to your question, I did a number of internal presentations with the client and onsite teams, so no documentation there, sorry... If I get a chance to present in the future, and there is some documentation, I will let you know.

I tried installing latest (1.2.3), however the issue seems to still be occurring.

Can you please post schema extension and query here?

There is no schema extension other than the default
extend type Query {
  pet: Pet
}

type Pet {
  name: String @fake(type:firstName)
  image: String @fake(type:imageUrl, options: {imageCategory:cats})
}

The query is
query ($id: ID!) {
  card(id: $id) {
    id
  }
}

Card being only defined on the original schema.

@slavovojacek I can't reproduce it 😞
Can you please copy paste error message from 1.2.3. Maybe it's different now?
Can you try to reproduce it with http://swapi.apis.guru instead of your api?
Just to be sure can you please run $ npm list -g | grep graphql-faker to make sure you install new version globally?

^^ Oops! My bad, I assumed 1.2.3 was installed but in fact it wasn't.
It now works flawlessly. Many thanks again. I might look into contributing to this project in the nearby future. Happy to look into testing, and all sorts of other things – I love TypeScript you see? :)

@slavovojacek Great! Tests will be great especially some snapshot testing will be great.
My main goal at the moment is to stop using custom forks of graphql-js and express-graphql.
So I'm working on pushing necessary functionality into mainlines testing is my second priority after that.

Hey guys, I am having this issue or something similar. Am I doing anything wrong?
export const GET_ACTIVITIES_BY_LOCATION = gql`
    query activities($locationId:Int!) {
        activities(locationId: $locationId) {
        image
        id
        name
        kind
        bookingsCalID
        staffingCalID
        spaces{
            id
            name
            locationId
            activities {
            id
            }
            calId
        }
        bookableProducts {
            id
            name
            duration
            rolesRequired
        }
        }
  }
`

the error I get is
400 Bad Request {"errors":[{"message":"Variable \"$locationId\" is never used in operation \"activities\".","locations":[{"line":1,"column":18}],"extensions":{"code":"GRAPHQL_VALIDATION_FAILED","exception":{"stacktrace":["GraphQLError: Variable \"$locationId\" is never used in operation \"activities\".","

@codenakama Thanks for reporting this issue 👍
Fixed in 2.0.0-rc.5 🎉
Can you please test it?

@IvanGoncharov can confirm it's fixed! thank you very much for the swift resolution. I discovered this tool just a few hours ago and its super useful.

I am really struggling to find an example that would work. My mutation is
export const CHANGE_TIME = gql`
  mutation ChangeMaterControl(
    $model: MOVIE
    $action: PAUSED
    $value: Boolean
  ) {
    masterControl(model: $model, set: { action: $action, value: $value }) {
      success
    }
  }
`;

Can you help me @IvanGoncharov? I am really struggling with finding examples with mutations

@zsid $model: MOVIE looks suspicious? Are you sure that MOVIE is a type name and not enum value?
You need to specify variable type when you define it and it can't be value it should be the name of the type.
So did you meant something like this instead:
  mutation ChangeMaterControl($value: Boolean) {
    masterControl(model: MOVIE, set: { action: PAUSED, value: $value }) {
      success
    }
  }


How to Include 'default' Key in YAML Output

I'm using Pkl version 0.27.1 on macOS.
% pkl --version
Pkl 0.27.1 (macOS 15.1, native)

I want to write Pkl that produces YAML output like the following, but I'm having trouble figuring out how to do it.
list:
  default:
    value: dummy1
  mykey:
    value: dummy2

I understand that when I write Pkl as shown below, 'default' is omitted from the output by specification.
list {
    default {
        value = "dummy1"
    }
    mykey {
        value = "dummy2"
    }
}

$ pkl eval -f yaml sample.pkl

list:
  mykey:
    value: dummy2

So, I tried enclosing 'default' in backticks, but the result remained the same.
list {
    `default` {
        value = "dummy1"
    }
    mykey {
        value = "dummy2"
    }
}

$ pkl eval -f yaml sample.pkl

list:
  mykey:
    value: dummy2

How can I write the Pkl to produce YAML output that includes the 'default' key as shown above?
list:
  default:
    value: dummy1
  mykey:
    value: dummy2

You would need to either a) define a class with a property default or use Mapping with key "default". You're (implicitly) using Dynamic here, which has a property default that's marked hidden.

@HT154 Thank you, I'll try.

Here's the updated Pkl code that worked:
list = new Mapping {
    ["default"] {
        value = "dummy1"
    }
    ["mykey"] {
        value = "dummy2"
    }
}

Using this approach, the "default" key is no longer hidden, and the YAML output is as expected:
list:
  default:
    value: dummy1
  mykey:
    value: dummy2

Thanks for the guidance!


session should be re-used

listsites command returns a list of sites to which the logged in user belongs.
Tabcmd doc for listsites - https://help.tableau.com/current/server/en-us/tabcmd_cmd.htm#idc7467cb6-6cef-49bf-9358-a3e4addd5fa0
When you run the example
tabcmd listsites --username adam --password mypassword you get an AttributeError: 'NoneType' object has no attribute 'sites'

the listsites command works for me, but in our current implementation we would ask you to log in again if you gave just username and password. The old tabcmd would re-use the old session info.

I think the output could use some tweaks, but it successfully re-runs the command without asking for input so it's functional now at least.


Silent SignIn

Describe the solution you'd like
In order to determine whether a user has ever signed in:
The ability to call a silent sign in as the first call to Auth
Describe alternatives you've considered
Keeping persisted local state to indicate whether the user has ever signed in or not on the device.
Completely customising presentation of the auth flow which is overkill.
Additional context
Use case - user downloads app and opens up the app. User is presented with a button to initiate sign in or sign up.
Next time user opens the app, they will need to be presented with the same button.
Of course, the app can attempt to silently auth the user and skip presentation of the button the second time. But, in that scenario, if it is the user's first time opening the app, the first thing they will see is the auth views. The requirement is that they see something else descriptive before they are directed to the auth flow, but that this is skipped if there is a current valid auth.
Looking at the source code, it shouldn't be too much to implement a signInSilently() or hasValidAuth() function and parse the results to see if the user should be presented with a "sign in/sign up" button, in the same way the existing signIn() function works, or continue to the authenticated areas of the app. Alternatively, the existing signIn() function can be overloaded with a bool silent parameter.

Hey @ibraheemhlaiyil, thank you for reaching out and sharing your feature request! I see your user scenario:

Check if the user is signed in,
Show an alternate screen if so
with a isSignedIn() e.g. method.

You can do that today, but it's not exactly elegant.
To do so,

call the signIn() method (for example, in the Auth Andriod SDK)
In the else statement of the signIn() method, you can edit the code to modify the user experience when the user has signed in to show an alternate screen, etc. The signIn UI wouldn't appear again: if the app calls signIn again, the SDK shows the sign-in UI again only if the saved sign-in information expired or was revoked by the authentication server.

The feature is on our backlog, but ETA so far unfortunately. I'll leave this feature request here, and if you're keen on this feature, please give it a thumbs up.

I suppose it's related to #860 with regards to silentSignIn.
However, it would be useful to also retrieve from Auth, whether a user has signed in previously, to support "new user" or "try to sign in again" flows, without having to store data to indicate this.

Thank you so much for your request and valuable feedback. We announced this week in a blog post that we’re retiring the Auth and Data services later this year and recommending customers transition to Azure Active Directory B2C and Azure Cosmos DB instead. Let me know if you have any additional questions about this transition and i'll make sure to get them answered! Closing this issue.


Interesting behaviour regarding MAX_CACHE_SIZE

Hi,
I wanted to share some interesting behaviour I've observed over the past few days since increasing MAX_CACHE_SIZE to inf. First, some information about my Graphite setup:
My setup is clustered, with a top level carbon-relay filtering metrics through to 3 dedicated Carbon Cache machines. The top relay receives around 300k metrics per minute, and ships them to the caches with a replication factor of 2.
The motivation behind this change was due to high CPU and low memory utilisation on each box. Previously, MAX_CACHE_SIZE was set to 15000000. Once this was changed this to inf, I observed some positive changes in my carbon metrics, and some that I'm struggling to explain. Note, each of the lines in the following diagrams are carbon process on one of the 4 mentioned machines.
Firstly, CPU has decreased drastically:

However, this has been coupled with erratic changes to memory usage - note, the top three metrics come from the same machine:

It's also worth adding that the cache sizes have increased from < 1000 to over 150k on this problematic machine, whilst remaining stable on the other two. This has been met with a drop in update operations and committed points.
Finally, and the reason that I'm filing this issue is I've observed a visible drop in metrics received (the yellow line being the top relay):

I can say with absolute certainty that I am still shipping exactly the same number of metrics as I was before the change and therefore I think it's quite clear that one of my machine has/is dropping metrics since the config change. Whether this is a software or hardware issue I am unsure, but all three of these cache machines are the same spec.
I guess what I came here to ask is has anybody seen this issue before? I don't want to spend time swapping the machine out only to realise that it's a software bug, or a problem with my config. Any help is greatly appreciated.
Thanks,
Oliver.

For reference, heres my carbon.conf - everything not included is commented out:
`[cache]
ENABLE_LOGROTATION = True
USER = _graphite
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 1000
MAX_CREATES_PER_MINUTE = inf
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
#LINE_RECEIVER_PORT = 2003
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_PORT = 2004
USE_INSECURE_UNPICKLER = False
USE_FLOW_CONTROL = True
LOG_UPDATES = True
LOG_CACHE_HITS = False
LOG_CACHE_QUEUE_SORTS = False
CACHE_WRITE_STRATEGY = naive
WHISPER_AUTOFLUSH = False
WHISPER_FALLOCATE_CREATE = True
[cache:a]
LINE_RECEIVER_PORT = 2013
PICKLE_RECEIVER_PORT = 2014
CACHE_QUERY_PORT = 7012
[cache:b]
LINE_RECEIVER_PORT = 2023
PICKLE_RECEIVER_PORT = 2024
CACHE_QUERY_PORT = 7022
[cache:c]
LINE_RECEIVER_PORT = 2033
PICKLE_RECEIVER_PORT = 2034
CACHE_QUERY_PORT = 7032
[cache:d]
LINE_RECEIVER_PORT = 2043
PICKLE_RECEIVER_PORT = 2044
CACHE_QUERY_PORT = 7042
[relay]
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
LINE_RECEIVER_PORT = 2003
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_PORT = 2004
LOG_LISTENER_CONNECTIONS = True
RELAY_METHOD = consistent-hashing
REPLICATION_FACTOR = 1
DESTINATIONS = <IP_ADDRESS>:2014:a, <IP_ADDRESS>:2024:b, <IP_ADDRESS>:2034:c, <IP_ADDRESS>:2044:d
MAX_DATAPOINTS_PER_MESSAGE = 500
MAX_QUEUE_SIZE = 10000
USE_FLOW_CONTROL = True
USE_WHITELIST = True
`

Hello @olivermc1
Please note that carbon_ch hash has quite big difference in metric distribution - it can be 20-30% - https://github.com/graphite-project/carbon/issues/485
Also, sometimes metrics are also not evenly distributed by time - so, the maybe problematic machine just getting more metrics?
Another issue - I completely don't know how carbon working if the cache is set to Inf, but USE_FLOW_CONTROL = True. If someone knows - please explain, I'm very interested.
That's why I usually recommend setting MAX_CACHE_SIZE to some big but sane value. Looks like 15 000 000 is too low, try to increase 10 times, to 150 000 000.
The third issue is very strange, I have no explanation too. That's a number of metrics on an incoming relay, right? How can it drop then?

PS: MAX_CACHE_SIZE is not in bytes, it's in data points, so, approximately 12 bytes each.

Hi Deniszh,
Thanks for the response.
Prior to this config change, each machine was receiving an even number of metrics (within 5%), which is why the discrepancies seem so unnatural.
Since this morning I've had the MAX_CACHE_SIZE set to 30000000, which has resulted in the memory usage and cache queues stabilising and the CPU rising back up - the reason I made this config change in the first place.
Purple and blue lines are the problematic machine again:

and as you can see, the memory use has now been capped:

Imported obfuscurity's extended dashboard and thought this graph really highlights the problem -
my 8 other caches have less than 1k datapoints whereas the 4 on this machine have 12-15k. Clearly this is an abundance of metrics stuck in these caches.

Closing this - was indeed an underlying hardware issue. Swapped out the machine and now all three are performing similarly.


Extention ignores user configured indentation.

Steps to reproduce:

Set indent to anything different then 4 spaces
Write any code which sorcery suggests a refactoring, which spreads over multiple lines.
For example:

def foo():
	a = []
	for i in range(10):
		a.append(f"a very long string to force a newline {i} yes this is very long")

Accept the refactoring.

Expected:
The refactoring uses user configured indentation.
Behavior:
The refactoring always uses four spaces for indentation.
This is especially bad, if the user uses tabs for indentations since unless fixed by the user this will cause an error.

Hi @MinekPo1,
Thanks a lot for reporting this issue. :+1:
I've tried to reproduce it with multiple examples and it seems it varies whether Sourcery follows the indentation or always adds the 4 spaces. :see_no_evil:
We'll look into it and let you know when there's a fix.
Cheers,
Reka

I've also seen the extension splitting lines on the 70 char mark, which I personally don't mind, but I feel like being able to configure that would be nice!


[examples/tv-casting-apapp/darwin] Build iOS tv-casting-app as part of CI

Reproduction steps / Feature
The iOS tv-casting-app located here: https://github.com/project-chip/connectedhomeip/tree/master/examples/tv-casting-app/darwin should be built as part of the Matter CI.
Platform
darwin
Platform Version(s)
No response
Type
Manually tested with SDK
(Optional) If manually tested please explain why this is only manually tested
No response
Anything else?
No response

Closing as this looks complete.


Use delimiter for outputting multiline strings

Multiple lines of logs are displayed without line breaks now.
The following links show that multiline strings output no longer needs to be escaped, and the best way is to use delimiter.
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings
https://github.com/marocchino/sticky-pull-request-comment/issues/837
https://github.com/orgs/community/discussions/26288#discussioncomment-3876281

The comment output method is referring to following article.
https://help.autify.com/docs/en/integrate-with-code-review-process

I confirmed it works well with the following configuration 👍

Workflow config

on: pull_request

jobs:
  actions-web-test-run:
    runs-on: ubuntu-latest

    steps:
      - id: autify
        uses: autifyhq/actions-web-test-run@fix/output-multiline-strings
        with:
          access-token: ${{ secrets.MTSMFM_AUTIFY_WEB_ACCESS_TOKEN_TEMP }}
          autify-test-url: xxx
          wait: true
          timeout: 300
      - env:
          GH_TOKEN: ${{ github.token }}
        run: |
          body=$(cat <<'EOS'
          Autify test has started. Check ${{steps.autify.outputs.result-url}}.
          ```
          ${{steps.autify.outputs.log}}
          ```
          EOS
          )
          gh pr comment --body "$body" ${{ github.event.pull_request.html_url }}

I'll release new version soon.
Thank you for your contribution!


Remove GOPATH in run command workflow

As noticed by @dsimansk here
https://github.com/knative-extensions/knobots/blob/2a13968ef02d437e353792b118958e558f21aacc/actions/update-deps/entrypoint.sh#L36-L41

/approve
/lgtm


gateways: Use OVSDB bindings.

Signed-off-by: Gurucharan Shetty<EMAIL_ADDRESS>

@TomCodeLV
Can you please glance this through to see if the work looks sane?


How are keys compared?

I'm guessing Object.is but it is not specified anywhere on https://reactjs.org/docs/reconciliation.html.
I couldn't easily find it with Google as well :/
This should be added to the abovementioned page.

Thanks so much


New updated version doesn't allow to collapse non-functions block of codes

I updated VSCode this morning and suddenly I can't collapse blocks of code that aren't wrapped in curly brackets.

VSCode Version:1.22.1
OS Version: Ubuntu 16.4

For example:
var test = createTest(
    anotherFunction(
        param1,
        param2
    )
);

before I was able to collapse it as I don't want it in one line.
Same with JavaScript string using ticks:
var string = `test
    test
    test
    test`;

Used to let me collapse it, but not anymore, also if within that string I have curly brackets I can't collapse them either:
var string = `test
    test {
        something
        something2
    }
    test`;

Try setting:
    "[javascript]": {
        "editor.foldingStrategy": "indentation"
    },

I've opened https://github.com/Microsoft/TypeScript/issues/23382 to track enabling folding of multiline template strings when using syntax aware folding


Code Clean up

Removed unnecessary files and folders, Added Unit test cases, code changes to improve code quality

Please revert c476f8a.  We exit on purpose, trigger_error does not stop execution of the script.

Also, you can just reopen the same pull request, you don't need to make a new one.

@chasethenag420 Fix the commented code and we should be able to merge.


Saving searches does not work when authenticated in production

Describe the bug

After authenticating, saving searches does not work. There is a server 500 error in the console.
Desktop (please complete the following information):

OS: [e.g. iOS] Mac OSX
Browser:

[x] Google Chrome

Version:

[ ] Safari

Version:

[ ] Mozilla Firefox

Version:

[ ] Microsoft Edge

Version:

[ ] Internet Explorer

Version:

[ ] Other (specify)

Version:

To Reproduce

Log in
Perform a search
Click save
Nothing pops up (usually notification) and console logs error message

Expected behavior

Searches should save to the user's search library.
Screenshots

Additional context

This was caused by failing to run django migrations with the latest migration files.
docker-compose -f docker-compose.prod.yml run --rm django python manage.py migrate

This was caused by failing to run django migrations with the latest migration files.
docker-compose -f docker-compose.prod.yml run --rm django python manage.py migrate


Change the project name

Change the project name to scikit-analysis

project name changed to scikit-data (skdata)


Switch to auditd logs for log enricher

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
We should rely on the auditd logs for the log enricher since the
audit messages will not appear in /dev/kmsg if auditd is running.
We can assume that most distributions ship with auditd enabled, and if
the file does not exist we simply handle the log enricher as no-op.
Which issue(s) this PR fixes:

None
Does this PR have test?
None

Special notes for your reviewer:
@pjbgf I have no idea how we could avoid the privileged container. A symlink will not do the trick because the audit logs are usually really restrictive.
Does this PR introduce a user-facing change?

Log enricher now requires running auditd (`/var/log/audit/audit.log`)

@saschagrunert the only way to avoid a privileged container is to run it with a custom selinux/apparmor profile. Then we could add permissions to read the audit logs. The problem is the bootstrapping of those profiles.

Hm, yeah probably. In any case I think we have to rely on auditd logs for the enrichment feature, so this PR is ready for review.


RT-DETR

Describe the feature
implement RT-DETR proposed by Baidu recently.
Motivation
RT-DETR has defeated YOLO series models. I expected to use it on Openmmlab platform!😘
Related resources
If there is an official code release or third-party implementations, please also provide the information here, which would be very helpful.
Additional context
Add any other context or screenshots about the feature request here.
If you would like to implement the feature and create a PR, please leave a comment here and that would be much appreciated.

@Jordan-Haidee Ok, there are already community users to support

@hhaAndroid Thanks!

May I ask how the progress is going on in terms of support for this model?

I'm also interested in how far along this model is


empty values on STMNT_STATUS for FilerFilingsCd handled differently in databases?

When running ./manage.py loadcalaccessrawfile -v 3 FilerFilingsCd against a PostgreSQL database, I noticed that a few entries have no value for STMNT_STATUS in the cvs. If I remove the NOT NULL constraint on that column, I can import, with the following result:
ccdc> select "STMNT_STATUS", count(*) from "FILER_FILINGS_CD" group by "STMNT_STATUS" order by "STMNT_STATUS" ASC;
+----------------+---------+
|   STMNT_STATUS |   count |
|----------------+---------|
|          11001 | 1325466 |
|          11002 |    2092 |
|          11003 |  492704 |
|         <null> |       2 |
+----------------+---------+

This looks similar to what's described in #256, but with NULL rather than 0. I wonder this might be MySQL treating "" as NULL then coercing NULL values to the default value for that field:

An attempt to load NULL into a NOT NULL column causes assignment of the implicit default value for the column's data type and a warning, or an error in strict SQL mode

Ah, here it is:

When reading data with LOAD DATA INFILE, empty or missing columns are updated with ''. To load a NULL value into a column, use \N in the data file. The literal word “NULL” may also be used under some circumstances. See Section 13.2.6, “LOAD DATA INFILE Syntax”.

Interesting quirk.  probably don't fully grok the implications, but does this suggest we are improperly saving null values as zeroes and need to add a null=True to the field definition?

I'd need to test against MySQL. I set null=True on the field definition so that loadcalaccessrawfile would work not error out when using PostgreSQL. I don't know that changing the field definition would affect MySQL's behavior for LOAD DATA INFILE. Fixing it might require some logic for the MySQL import, assuming we want to adopt NULL as the "correct" value.

It's an interesting question. In this case the meaning of an empty string versus a null is unclear -- let alone the meaning of the more common values that truly matter. Perhaps the more prudent approach is convert the field to a CharField and just load everything as is rather than even try to convert the values to integers at this stage.

If at this "raw" stage we don't know what to expect from various data attributes, it might me better to stick with a charfield.
Since it looks like this case is a MySQL behavior, I'd be tempted to see what sort of filtering could be done at the python-MySQL level to prevent conversion of empty strings to 0.

Daniel Cloud

On Aug 20, 2015, at 3:45 PM, Ben Welsh<EMAIL_ADDRESS>wrote:
It's an interesting question. In this case the meaning of an empty string versus a null is unclear -- let alone the meaning of the more common values that truly matter. Perhaps the more prudent approach is convert the field to a CharField and just load everything as is rather than even try to convert the values to integers at this stage.
—
Reply to this email directly or view it on GitHub.

That's a good point. Okay. I think the right call is to change that field to a char, and we should file a new ticket to investigate the MySQL data typing during LOAD DATA INFILE.

Consolidated into #1194


GP Regression with Poisson likelihood for 300 observation took  a 65 minutes on Desktop

%pylab inline
import numpy as np
import gpflow
import tensorflow as tf
import time
import matplotlib.pyplot as plt
Sampling from Poisson distribution
np.random.seed(100)
plt.figure(figsize=(8, 8))
samples =300
x = np.linspace(1, 300, samples)[:, None]
noise= np.random.normal(0,1,samples)
f_true = np.random.multivariate_normal(np.zeros([samples]), gpflow.kernels.RBF(1,lengthscales=30., variance = 1.0).compute_K_symm(x))
y = np.array([np.random.poisson(np.exp(f)) for f in f_true])[:,None]   + np.eye(samples) * 1e-10  # nugget needed
plt.plot(x,y,'kx')
plt.plot(x, np.exp(f_true), '--k', linewidth=2)
fitting a GP
t0 = time.time()
with gpflow.defer_build():
kern = gpflow.kernels.RBF(1, variance= 1.,lengthscales =3.,ARD=False)
lik = gpflow.likelihoods.Poisson()
m = gpflow.models.VGP(x, y, kern , lik)
m.compile()
gpflow.train.ScipyOptimizer().minimize(m,maxiter=20000.0)
Time=time.time() - t0
print('Time:',Time/60.)
#output:
INFO:tensorflow:Optimization terminated with:
Message: b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'
Objective function value:<PHONE_NUMBER>85
Number of iterations: 556
Number of functions evaluations: 639
Time: 65.59093526999156 minutes
How can I make it faster ?

Your y is the wrong shape, unless you really want 300 outputs. It's the np.eye(samples) that's doing it.

Thank you.


Add Pan and Zoom using PanZoom library

Pan and Zoom is now handle natively by vue-d3-network for SVG rendering using the panzoom library available on npm.
Panzoom is fully customizable using the props: panzoomOptions
changes:

SVG renderer renders all g nodes inside one g node which is used to apply transformation globaly (for zooming and panning).

panzoom require the root g element of the SVG to have an id or at least a way to obtain the html element. d3-network can now have an id that will be given to the root g element of the SVG. If no id is given, a UUID is generated.

Add events drag-start, drag-end to listen for drag and drop of nodes.

Fix issue in README and update it.

Prevent click event to be triggered when dragging node

Select labels when nodes or links are selected

Thank you very much for your input.
But I don't plan add more libraries to my project.


Recursive template

Hello! Is there any way to compile a recursive template like this?
http://www.boduch.ca/2014/03/recursive-list-building-with-handlebars.html

Sorry folks, I had not noticed the possibility of registering partials with RegisterTemplate.


Update LocalRest for add setTimer function

See LocalRest PR https://github.com/Geod24/localrest/pull/69

@TrustHenry how about using it?
https://github.com/bpfkorea/agora/blob/bebe6555052b830bff1040847edd035046d24cd4/source/agora/consensus/protocol/Nominator.d#L507-L509
https://github.com/bpfkorea/agora/blob/bebe6555052b830bff1040847edd035046d24cd4/source/agora/network/NetworkManager.d#L203-L210
https://github.com/bpfkorea/agora/blob/bebe6555052b830bff1040847edd035046d24cd4/source/agora/network/NetworkManager.d#L235-L246

I think can change it to that function.
But I think it would be good to change it to a separate PR from the update PR.

Sure.

Only the build artifacts failed, so I will merge as-is.

Ah CircleCI failed too. Let me re-run it.


Introducing .xcode-version

This is a proposal for a new standard for the iOS community: a text-based file that defines the Xcode version to use to compile and package a given iOS project.
This will be used natively in fastlane.ci with the new Xcode management feature, however it's designed in a way that any tool in the future can pick it up, no matter if it's Ruby based, Swift, JavaScript, etc..
Similar to the .ruby-version file, the .xcode-version file allows any CI system or IDE to automatically install and switch to the Xcode version needed for a given project to successfully compile your project 👍

Let's 🚀 it


Firebase. Not get sms for users with migrate phone numbers

In my app/build.gradle:
compile 'com.firebaseui:firebase-ui-auth:2.3.0'
compile 'com.google.firebase:firebase-auth:11.0.4'

In my fragment when click my custom button I call Firebase authentication screen for SMS authentication
button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FirebaseAuth.getInstance().signOut();
                FirebaseAuth.getInstance().addAuthStateListener(((MainApp) getActivity().getApplication()).firebaseCallback);

                startActivityForResult(
                        AuthUI.getInstance()
                                .createSignInIntentBuilder()
                                .setTheme(R.style.SG_Firebase_Theme)
                                .setAvailableProviders(
                                        Collections.singletonList(new AuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build())
                                )
                                .build(),
                        RC_SIGN_IN);
            }
        });

Steps:
1.After click my button show Firbase screen
2.I input phone number
3.Forward to second Firebase screen
4.Success get SMS code
5.Input SMS
6.Success verify SMS
Nice. It's work fine... with one exception.
In our country we have 3 mobile operators. And any user can migrate from one operator to another WITHOUT change it's phone number. It is very convenient for users.
And if this kind of users input it's phone number in first Firebase screen and click button "Confirm phone number", they NEVER get SMS confirm code.
But the user that not mirgate to another mobile operator SUCCESS get sms.
Why?

@lmdic thanks for this report.
Unfortunately I can't help you here.  If you're having issues with SMS delivery please try Firebase Support:
firebase.google.com/support
Hope you get it figured out!


BombPush should push away other bombs

Related to #291 ("weight component")

Wouldn't this create non-commutative effects for delayed effects, something you want to avoid?

@asa-z BombPush explodes instantly so it's fine.

Oh. I forgot.


Implement an endpoint to fetch a game by it's game id

an endpoint to fetch a game from DB by its game id.

test:
https://chess.zuri.chat/api/games/[id]
some game IDs for testing:
6136a519098aca7c1a5bc6e4
6136a5b2098aca7c1a5bc6e5
resolves #423, #465

@ChenemiKen run yarn run lint --fix in the server folder to fix the BE lint errors

open for too long


chore(lifecycle): Upgrade dependencies

Upgrade most dependencies. I left esprima and the @types\estree alone. The latest estree types break stryker because the stryker-api uses custom estree definitions.

Thanks 👍


Default assigments are not working

Hi,
I still have problem with default assigments. I've set this assigment:
default-assignments:
  rule1:
    if:
      has-true: <freebuild/group.vip>
    give:
      - hub/group.vip

Then I gave player vip on freebuild. He has vip on freebuild, but when he joins hub, he has only default rank. Luckperms is connected in bungee and mysql.  Here is player info:
[22:54:17 INFO]: [LP] > User Info: testowygracz514
[22:54:17 INFO]: [LP] - UUID: 77133823-4ae4-3a35-8b02-6c71120792d2
[22:54:17 INFO]: [LP] - Status: Online
[22:54:17 INFO]: [LP] - Primary Group: default
[22:54:17 INFO]: [LP] - Parent Groups:
[22:54:17 INFO]: [LP] -    > default
[22:54:17 INFO]: [LP] - Temporary Parent Groups:
[22:54:17 INFO]: [LP] -    > vip (server=freebuild)
[22:54:17 INFO]: [LP] -    -    expires in 1 month 1 day 23 hours
[22:54:17 INFO]: [LP] - Contextual Data:
[22:54:17 INFO]: [LP] -    Has contextual data: true
[22:54:17 INFO]: [LP] -    Applicable contexts: (server=hub) (world=spawn)
[22:54:17 INFO]: [LP] -    Prefix: None
[22:54:17 INFO]: [LP] -    Suffix: None
[22:54:17 INFO]: [LP] -    Meta: (default=false)

I don't know what to do. I tried putting this assigment only on hub, then on all servers (including bungee), but it still won't work. Please help me.

same thing happening for me.

Seems to be an issue with temporary permissions.


sops-nix Breaks nixos-rebuilds build-vm and build-vm-with-bootloader Scripts

When trying to create any secret, the commands nixos-rebuild build-vm and nixos-rebuild build-vm-with-bootloader don't work anymore and instead report an error.
This error only occurs once at least one config.sops.secrets is added.
Sadly, I can't find myself able to find out what the exact error is. The stack trace doesn't help very much either.
All I do know is that my flake is working out properly. Only once I add a secret to sops-nix.secrets, the build-vm and build-vm-with-bootloader commands break.
The only thing kind of hinting towards sops-nix is the virtualisation.vmVariantWithBootLoader.system.activationScripts.generate-age-key.text part in the stack trace.
Edit:
I believe I found it:
It's caused by enabling generateKey but having no age.keyFile set.
Expected Behavior
The commands should run through successfully.
Actual Behavior
An error cannot coerce null to a string is reported.
Steps to Reproduce

Clone the repository https://github.com/manuth/sops-nix-vm
Try to invoke nixos-rebuild build-vm or nixos-rebuild build-vm-with-bootloader
Notice that an error saying cannot coerce null to a string is reported
Remove the default_password = {}; part from the flake.nix file
Re-run the previous command
Take note that the VM builds successfully now

Further Resources
A repository for reproducing the error has been created here:
https://github.com/manuth/sops-nix-vm
The full error logs are here:

Stack Trace
building the system configuration...
trace: warning: system.stateVersion is not set, defaulting to 23.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion.
error:
       … while calling the 'derivationStrict' builtin

         at /builtin/derivation.nix:9:12: (source not available)

       … while evaluating derivation 'nixos-vm'
         whose name attribute is located at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'buildCommand' of derivation 'nixos-vm'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/pkgs/build-support/trivial-builders/default.nix:87:14:

           86|       enableParallelBuilding = true;
           87|       inherit buildCommand name;
             |              ^
           88|       passAsFile = [ "buildCommand" ]

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:918:24:

          917|     let f = attrPath:
          918|       zipAttrsWith (n: values:
             |                        ^
          919|         let here = attrPath ++ [n]; in

       … while calling 'g'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:701:19:

          700|           g =
          701|             name: value:
             |                   ^
          702|             if isAttrs value && cond value

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:704:20:

          703|               then recurse (path ++ [name]) value
          704|               else f (path ++ [name]) value;
             |                    ^
          705|         in mapAttrs g;

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:242:72:

          241|           # For definitions that have an associated option
          242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          243|

       … while evaluating the option `virtualisation.vmVariantWithBootLoader.system.build.toplevel':

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:822:28:

          821|         # Process mkMerge and mkIf properties.
          822|         defs' = concatMap (m:
             |                            ^
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while evaluating definitions from `/nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/nixos/modules/system/activation/top-level.nix':

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:823:137:

          822|         defs' = concatMap (m:
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
          824|         ) defs;

       … while calling 'dischargeProperties'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:894:25:

          893|   */
          894|   dischargeProperties = def:
             |                         ^
          895|     if def._type or "" == "merge" then

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/nixos/modules/system/activation/top-level.nix:71:12:

           70|   # Replace runtime dependencies
           71|   system = foldr ({ oldDependency, newDependency }: drv:
             |            ^
           72|       pkgs.replaceDependency { inherit oldDependency newDependency drv; }

       … while calling 'foldr'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/lists.nix:53:20:

           52|   */
           53|   foldr = op: nul: list:
             |                    ^
           54|     let

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/lists.nix:60:8:

           59|         else op (elemAt list n) (fold' (n + 1));
           60|     in fold' 0;
             |        ^
           61|

       … while calling 'fold''

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/lists.nix:56:15:

           55|       len = length list;
           56|       fold' = n:
             |               ^
           57|         if n == len

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/nixos/modules/system/activation/top-level.nix:68:10:

           67|     then throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failedAssertions)}"
           68|     else showWarnings config.warnings baseSystem;
             |          ^
           69|

       … while calling 'showWarnings'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/trivial.nix:414:28:

          413|
          414|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                            ^
          415|

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/trivial.nix:414:33:

          413|
          414|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                                 ^
          415|

       … while calling 'foldr'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/lists.nix:53:20:

           52|   */
           53|   foldr = op: nul: list:
             |                    ^
           54|     let

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/lists.nix:60:8:

           59|         else op (elemAt list n) (fold' (n + 1));
           60|     in fold' 0;
             |        ^
           61|

       … while calling 'fold''

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/lists.nix:56:15:

           55|       len = length list;
           56|       fold' = n:
             |               ^
           57|         if n == len

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/nixos/modules/system/activation/top-level.nix:48:16:

           47|   # makes it bootable. See `activatable-system.nix`.
           48|   baseSystem = pkgs.stdenvNoCC.mkDerivation ({
             |                ^
           49|     name = "nixos-system-${config.system.name}-${config.system.nixos.label}";

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/pkgs/stdenv/generic/make-derivation.nix:604:3:

          603| in
          604|   fnOrAttrs:
             |   ^
          605|     if builtins.isFunction fnOrAttrs

       … while calling 'g'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:701:19:

          700|           g =
          701|             name: value:
             |                   ^
          702|             if isAttrs value && cond value

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:704:20:

          703|               then recurse (path ++ [name]) value
          704|               else f (path ++ [name]) value;
             |                    ^
          705|         in mapAttrs g;

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:242:72:

          241|           # For definitions that have an associated option
          242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          243|

       … while evaluating the option `virtualisation.vmVariantWithBootLoader.system.systemBuilderArgs':

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:844:59:

          843|       if isDefined then
          844|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                                                           ^
          845|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … while calling 'merge'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/types.nix:556:20:

          555|       check = isAttrs;
          556|       merge = loc: defs:
             |                    ^
          557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/types.nix:557:35:

          556|       merge = loc: defs:
          557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                   ^
          558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … while calling 'filterAttrs'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:381:5:

          380|     # The attribute set to filter
          381|     set:
             |     ^
          382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:382:29:

          381|     set:
          382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
             |                             ^
          383|

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:382:62:

          381|     set:
          382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
             |                                                              ^
          383|

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/types.nix:557:51:

          556|       merge = loc: defs:
          557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                                   ^
          558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/types.nix:557:86:

          556|       merge = loc: defs:
          557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                                                                ^
          558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:822:28:

          821|         # Process mkMerge and mkIf properties.
          822|         defs' = concatMap (m:
             |                            ^
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while evaluating definitions from `/nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/nixos/modules/system/activation/activatable-system.nix':

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:823:137:

          822|         defs' = concatMap (m:
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
          824|         ) defs;

       … while calling 'dischargeProperties'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:894:25:

          893|   */
          894|   dischargeProperties = def:
             |                         ^
          895|     if def._type or "" == "merge" then

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/nixos/modules/system/activation/activation-script.nix:133:18:

          132|       apply = set: set // {
          133|         script = systemActivationScript set false;
             |                  ^
          134|       };

       … while calling 'systemActivationScript'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/nixos/modules/system/activation/activation-script.nix:20:33:

           19|
           20|   systemActivationScript = set: onlyDry: let
             |                                 ^
           21|     set' = mapAttrs (_: v: if isString v then (noDepEntry v) // { supportsDryActivation = false; } else v) set;

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/nixos/modules/system/activation/activation-script.nix:49:9:

           48|
           49|       ${textClosureMap id (withDrySnippets) (attrNames withDrySnippets)}
             |         ^
           50|

       … while calling 'textClosureMap'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/strings-with-deps.nix:75:35:

           74|
           75|   textClosureMap = f: predefined: names:
             |                                   ^
           76|     concatStringsSep "\n" (map f (textClosureList predefined names));

       … while calling 'id'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/trivial.nix:14:5:

           13|     # The value to return
           14|     x: x;
             |     ^
           15|

       … while calling 'g'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:701:19:

          700|           g =
          701|             name: value:
             |                   ^
          702|             if isAttrs value && cond value

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/attrsets.nix:704:20:

          703|               then recurse (path ++ [name]) value
          704|               else f (path ++ [name]) value;
             |                    ^
          705|         in mapAttrs g;

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:242:72:

          241|           # For definitions that have an associated option
          242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          243|

       … while evaluating the option `virtualisation.vmVariantWithBootLoader.system.activationScripts.generate-age-key.text':

       … while calling anonymous lambda

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:822:28:

          821|         # Process mkMerge and mkIf properties.
          822|         defs' = concatMap (m:
             |                            ^
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while evaluating definitions from `/nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/flake.nix':

       … from call site

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:823:137:

          822|         defs' = concatMap (m:
          823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
          824|         ) defs;

       … while calling 'dischargeProperties'

         at /nix/store/nsaxv5k14h91rcxfqkinxzpp156217k6-source/lib/modules.nix:894:25:

          893|   */
          894|   dischargeProperties = def:
             |                         ^
          895|     if def._type or "" == "merge" then

       error: cannot coerce null to a string

I don't think nixos-rebuild build-vm has any mechanism to add the current key file into the VM, so I don't know. If you use age.generateKey than it will generate a new key each time you throw away the key file, so it's not very useful. Until we have such a mechanism, I don't see how we can support this mechanism in a meaningful way.


Keep it Nord

I know you'll give workbench theming after VS Code releases its API for it. This is not about it.
Mattia Astornio has its theme now for VS Code
https://marketplace.visualstudio.com/items?itemName=Equinusocio.vsc-material-theme
and Dracula has it too
https://marketplace.visualstudio.com/items?itemName=dracula-theme.theme-dracula
I want you to try out both the themes.
And then reconsider about the color schemes provided here
https://github.com/arcticicestudio/nord-visual-studio-code/issues/8#issuecomment-292127716
Nord is made to be non-obstructive kind and that's what people love about it. Giving the above workbench theming will make it too obstructive. Please keep it minimal when you release. Thanks! 🙌

The styles posted in the linked comment have been made by a user of the theme, they won't be implemented like this 😉
I'll try to adapt to the style of the Nord Atom UI port project to keep it consistent over all UI port projects and adhere to the Nord style.
As soon as I start working on it there will be a PR everyone can test and post suggestions for improvements to preview the styles before it'll get merged.

The new workbench UI is now available as of the 🚢 shipped extension package release version 🏷 0.2.0.

Thanks for informing! I was checking for it everyday... Downloading it straightaway now

It's beautiful 😍