[Style] Define theme for Cloud Shell

Depends on https://github.com/microsoft/knack/pull/238
Description
In Cloud Shell, SECONDARY test's color Bright Black (#555753) in the color palette violates the required Contrast Ratio of 4.5:1

In Bash, #555753 on #000000 background has Contrast Ratio of 2.87:1
In PowerShell, #555753 on #092457 background has Contrast Ratio of 2.05:1

Changes

Hardcoding RGB values of Cloud Shell-specific theme, as users can't change the color palette of Cloud Shell
Make SECONDARY text's Bight Black lighter
Refine other colors to make them more pleasing

Cloud Shell theme:

Style
color

PRIMARY
#ffffff

SECONDARY
#bcbcbc

IMPORTANT
#f887ff

ACTION
#6cb0ff

HYPERLINK
#72d7d8

ERROR
#f55d5c

SUCCESS
#70d784

WARNING
#fbd682

Testing Guide
az demo style --theme cloud-shell

Before & After in Bash
Demo style - az demo style

Error handling - az group lsit

Before & After in PowerShell
Demo style - az demo style

Error handling - az group lsit

Style

Blue #6cb0ff cyan #72d7d8 and green #70d784 are little bit close, but given the choices on Cloud Shell are very limited, this is the best we can get for both contrast and aesthetic.


[WIP] Kernel PCA

It would be nice to have Laplacian eigenmaps as well. Or maybe in another PR ?

LGTM, merge when green !

@huguesva when checking if KernelPCA(keops=True) raises a NotImplementedError as expected, there is an error being raised first by super().__init__() because pykeops is not isntalled on the CI : https://github.com/TorchDR/TorchDR/actions/runs/9872897497/job/27263989347?pr=41#step:8:181
How can we properly test that ? Any part of the code after super().nit() is not accessible.


Python 3.9 + Bug

@jph00
I can't get nbprocess to work with python 3.9+.  I am not sure if 3.9+ is intentionally unsupported or not, but thought I would open an issue to be on the safe side.
I did upgrade both nbprocess + fastcore to the latest - and this was happening on a new project created yesterday via nbprocess_new in a new git repo.
Repo with library this happened on: https://github.com/Isaac-Flath/trading-testing
What I think is a part of the issue
I believe it is because setup.py has this, which does not include anything above 3.8.
py_versions = '2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8'.split()
In my settings.ini I had min_python = 3.9, but after rebuilding the library this was still not included in the setup.py file.  Should py_versions in setup.py be updated based on what is in min_python version in settings.ini?
Stack Traces
Here's the particular stack traces.  Changing to a 3.8 conda environment fixed these and it worked just fine in 3.8.  These are in my python 3.9 environment (p39).
When running make docs in python 3.9 environment
(p39) isaacflath@Isaacs-MacBook-Pro trading-testing % make docs
nbprocess_export
nbprocess_quarto
Traceback (most recent call last):
  File "/Users/isaacflath/opt/miniconda3/envs/p39/bin/nbprocess_quarto", line 33, in <module>
    sys.exit(load_entry_point('nbprocess', 'console_scripts', 'nbprocess_quarto')())
  File "/Users/isaacflath/opt/miniconda3/envs/p39/bin/nbprocess_quarto", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/Users/isaacflath/opt/miniconda3/envs/p39/lib/python3.9/importlib/metadata.py", line 86, in load
    module = import_module(match.group('module'))
  File "/Users/isaacflath/opt/miniconda3/envs/p39/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/Users/isaacflath/github/nbprocess/nbprocess/cli.py", line 10, in <module>
    from .processors import *
  File "/Users/isaacflath/github/nbprocess/nbprocess/processors.py", line 14, in <module>
    from .lookup import *
  File "/Users/isaacflath/github/nbprocess/nbprocess/lookup.py", line 53, in <module>
    nbprocess_lookup = NbdevLookup(_libs())
  File "/Users/isaacflath/github/nbprocess/nbprocess/lookup.py", line 48, in _libs
    modidx = import_module(f"{get_config()['lib_name']}._modidx")
  File "/Users/isaacflath/opt/miniconda3/envs/p39/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'tradingtesting'
make: *** [docs] Error 1

When running pip install -e . in python 3.9 conda env
(p39) isaacflath@Isaacs-MacBook-Pro trading-testing % make install_py
nbprocess_export
pip install -e ".[dev]"
Obtaining file:///Users/isaacflath/github/trading-testing
    ERROR: Command errored out with exit status 1:
     command: /Users/isaacflath/opt/miniconda3/envs/p39/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/Users/isaacflath/github/trading-testing/setup.py'"'"'; __file__='"'"'/Users/isaacflath/github/trading-testing/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/vs/j71s84gs4f7d059xxqrf71wc0000gn/T/pip-pip-egg-info-xr9u03w8
         cwd: /Users/isaacflath/github/trading-testing/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/Users/isaacflath/github/trading-testing/setup.py", line 39, in <module>
        ] + ['Programming Language :: Python :: '+o for o in py_versions[py_versions.index(min_python):]] + (['License :: ' + lic[1] ] if lic[1] else []),
    ValueError: '3.9' is not in list
    ----------------------------------------
WARNING: Discarding file:///Users/isaacflath/github/trading-testing. Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
make: *** [install_py] Error 1

Though the CI runs on py 3.10 @Isaac-Flath so I think it's just that the list needs updating: https://github.com/fastai/nbprocess/blob/master/.github/workflows/test.yaml#L16
(For your version issue. The other error is a duplicate of 80)

Thanks!  I believe both of these are the same cause.  Switching to python 3.8 fixes both stack traces above.
Once it can do the editable install of the lib, it is able to then find the library and all works well.

As a new note - I am able to clear both in python 3.9 by adding 3.9 to the setup.py py_versions variable

@Isaac-Flath I added the this to setup.py in 0ed967d6779d2e47c355be7f414e21b9e0c7f748

I've added make docs to the tests with different python versions, a run is now happening here: https://github.com/fastai/nbprocess/actions/runs/2544891736
If that clears we can close this issue.

I confirmed that make docs works for all versions of python in https://github.com/fastai/nbprocess/pull/83
Closing this


Pooler init containers do not inherit resource limits

Hello, I am running CloudnativePG in a K8S cluster that blocks resources without resource limits. Here is my pooler config
apiVersion: postgresql.cnpg.io/v1
kind: Pooler
metadata:
  name: mytestcluster-ro
  namespace: cnpg-clusters
spec:
  cluster:
    name: mytestcluster
  instances: 3
  type: ro
  template:
    spec:
      containers:
      - image: ghcr.io/cloudnative-pg/pgbouncer:1.19.1
        name: pgbouncer
        resources:
          limits:
            cpu: "1"
            memory: "1G"
          requests:
            cpu: "1"
            memory: "1G"
  pgbouncer:
    poolMode: transaction
    parameters:
      max_client_conn: "1000"
      default_pool_size: "10"

I see the following in operator logs
{"level":"info","ts":"2023-06-19T19:34:11Z","msg":"Creating deployment","controller":"pooler","controllerGroup":"postgresql.cnpg.io","controllerKind":"Pooler","Pooler":{"name":"mytestcluster-ro","namespace":"cnpg-clusters"},"namespace":"cnpg-clusters","name":"mytestcluster-ro","reconcileID":"a30def4c-674d-4d94-b338-18f156de6904","uuid":"444a15b9-0ed8-11ee-be3d-be1be5c54b21"}
{"level":"error","ts":"2023-06-19T19:34:11Z","msg":"Reconciler error","controller":"pooler","controllerGroup":"postgresql.cnpg.io","controllerKind":"Pooler","Pooler":{"name":"mytestcluster-ro","namespace":"cnpg-clusters"},"namespace":"cnpg-clusters","name":"mytestcluster-ro","reconcileID":"a30def4c-674d-4d94-b338-18f156de6904","error":"admission webhook \"admission-control-webhook-v1-deployments.foobar.com\" denied the request: missing resource.limits for: bootstrap-controller","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:329\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:274\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:235"}

From the error it seems that the init container is trying to run without any resource limits. It should inherit the pooler's resource limits.

If I'm not wrong you should be able to set resources on the initcontainer by setting them in spec.template.spec.initContainers

Thanks, this worked. But I still think it might be more userfriendly if we derive these limits from the pooler template itself.

I agree it's not the best, but it's the same as if you were defining a simple Deployment. The issue is with the hidden knowledge required to patch it, e.g the containers' names, which we still have to find a good solution for and we just rely on docs at the moment. In this case we could set some low default resources for the initContainer indeed.


Update from crate 1 to crate 2

CrateDB version:
2.0.7
JVM version:
1.8
OS version / environment description:
Ubuntu
Problem description:
After upgrade crate refuses to start - or rather the elastic search engine refuses to start. Below is a stack trace. Coming from 1.1.4 to CrateDB version[2.0.7],
I understand the error message, but how do I fix this ?
java.lang.IllegalArgumentException: unknown setting [indices.recovery.compress] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
        at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:272) ~[crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:240) ~[crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.common.settings.SettingsModule.<init>(SettingsModule.java:138) ~[crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.node.Node.<init>(Node.java:278) ~[crate-app-2.0.7.jar:2.0.7]
        at io.crate.node.CrateNode.<init>(CrateNode.java:58) ~[crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.bootstrap.BootstrapProxy$1.<init>(BootstrapProxy.java:201) ~[crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.bootstrap.BootstrapProxy.setup(BootstrapProxy.java:201) ~[crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.bootstrap.BootstrapProxy.init(BootstrapProxy.java:297) [crate-app-2.0.7.jar:2.0.7]
        at io.crate.bootstrap.CrateDB.init(CrateDB.java:116) [crate-app-2.0.7.jar:2.0.7]
        at io.crate.bootstrap.CrateDB.execute(CrateDB.java:107) [crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) [crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) [crate-app-2.0.7.jar:2.0.7]
        at org.elasticsearch.cli.Command.main(Command.java:62) [crate-app-2.0.7.jar:2.0.7]
        at io.crate.bootstrap.CrateDB.main(CrateDB.java:84) [crate-app-2.0.7.jar:2.0.7]
        at io.crate.bootstrap.CrateDB.main(CrateDB.java:77) [crate-app-2.0.7.jar:2.0.7]

Steps to reproduce:
Starting with version 1.1.4 create a table. Upgrade to version 2.0.7

@Steve-hyas
Please check the Breaking Changes here: https://crate.io/docs/crate/reference/en/2.0/release_notes/2.0.0.html#breaking-changes
You'll see that indices.recovery.compress setting has been removed, so you need to remove it from your crate.yml configuration.

@matriv  Thanks, I had found the release notes, but they did not say where those settings were in. I had thought it was in some system table somewhere.


Add helper for JavaScript-escaping strings

Added a new helper, js_escape, which lets themes escape strings so they work in JavaScript strings. This allows for themes to use things like post.title within <script> tags, which I've seen themes do before and subsequently fail and mess up the layout whenever the title includes an apostrophe (which plain ol' encode doesn't escape).
Also sneakily moved a require, since all requires but that one was in alphabetical order.
Tested and works as it should.

Hi @obskyr thanks for taking the time to do this.
Adding new helpers to the Ghost theme API is never done without significant discussion around what problem we're solving, why we need to solve it, why a helper is the right solution and what the helper should look like. Helpers also need significant test coverage.
In this case, I understand the idea, but I think it would be helpful to start at the beginning. What are you trying to do and why? What are the differences between escaping for js and encoding for a URL? Is it just the apostrophe or are their other characters etc?
Once we've got a clear picture of the what, then we can look again at the best way to solve it. Perhaps there's no need for a new helper but we should instead either provide options for encode, or change what encode does. Also worth a read: https://github.com/TryGhost/Ghost/issues/4362

Ah, of course! Adding a feature for the sake of adding a feature is, naturally, not a very good approach.
The js_escape helper is meaningfully different from encode in three separate ways:

js_escape escapes apostrophes, encode does not.
js_escape escapes using backslashes, encode escapes using % codes.
js_escape does not escape all special characters; only characters that need to be escaped in JavaScript strings.

Beyond the first point, the second and third are very important, as they mean the string being used isn't actually altered. Using encode in JavaScript, a string like Welcome to my "blog", whatever that means! turns into Welcome%20to%20my%20%22blog%22%2C%20whatever%20that%20means!. As this isn't the same string, it won't work with some things: replaces, for example, or display / use in contexts where text isn't URL-unescaped.
The case I added the helper for was one where the theme author was adding a share button to the page using document.write. The HTML used there looks like this:
<script>
    document.write('<a href="http://www.tumblr.com/share?v=3&u=' + encodeURIComponent('{{url absolute="true"}}') + '&t={{encode title}}" class="popup">');
</script>

Whenever the title of the post includes an apostrophe in this case, the JavaScript string gets spliced and is rendered invalid, thus messing up the layout. To achieve a string that is both js_escaped and encoded, either encodeURIComponent({{js_escape string}}) or {{js_escape (encode string)}} can be used, which will fix cases like this one.
Using post titles, among many other things, unencoded in JavaScript may be useful in other cases, too. Building XHRs with headers and content, adding text or attributes to JavaScript-created elements, etc.
Hope I've managed to clear things up as to why I feel this is a necessary helper. If you've got other questions, I'd be happy to answer them.

Made sure iteration through replacements will always work - it's order-dependent, and while JS object keys are almost always iterated through in order of addition, the JS specification does not make sure this is the case. Switched over to arrays.

Were you thinking the encode helper would have an optional "format" argument or something along those lines instead?


HQL numeric literal tests

@beikov Can you tell me where I am missing your concern over numeric literals?  All these tests pass, so I must be missing something

I don't know if code in the SQM/SQL translators could ever calculate something with the literals

This is a good point. 👍 We should make sure that the translator never simplifies numeric expressions involving literals. That is, we should make sure that every numeric literal is passed through "literally", and not attempt to interpret it as a Double.
I think that is already the case, but if there's some doubt about it we should check.
(I just did a quick search for callers of Double.parseDouble(), and I don't see anything obvious, but I did not look carefully.)

The JPA spec 4.6.1 and SQL spec 5.3 say that numbers without type suffixes have to be exact.

Mmmmm, actually I think that single sentence of the JPA spec is extremely ambiguous, which is why I'm proposing to the JPA group that it be clarified. My best reading of the spec is that it's simply silent on the semantics of numeric literals. It defines the syntax that should be accepted, without specifying the interpretation of that syntax. OTOH, I think the reasonable inference is that the semantics/typing of JPQL literals is supposed to be the same as the semantics of Java literals.
On the other hand, I do agree with you Christian that in the—admittedly extremely unlikely, and frankly even a bit suspicious—case that we encounter a literal with more digits than can be represented as a double (~15 decimal digits) then we need to make certain that this literal is passed through to the database unmolested so that it will be interpreted in SQL. We should make sure we don't call Double.parseDouble() on it.

I think that is already the case, but if there's some doubt about it we should check.

Ooops, I'm wrong, we do indeed truncate floating point literals to 10 digits. So we need to fix that. (I don't know where we do it, but it happens somewhere.)
So @beikov is 100% right.

I'm thinking we should push this until after the 6.3 (Alpha/Beta/CR) release today.  It's not a great situation, but I don't think it is massively critical for a pre-production release and I'd rather not keep pushing that release.
But let's devise the plan moving forward here...  This breaks down into 2, 3 questions I think:

How do we handle the literal value in terms of what we render into the SQL?
How do we type the AST nodes?
As a follow-on to (2), how do we treat "known overflows"?  Ignore or error...

WRT (1), I think its going to be best to embed the text as-is into the SQL directly as opposed to embedding the parsed value.  That will help with the loss of precision.
WRT (2) and (3), I think it really comes down to whether we want to parse the values or do something like your length counting @beikov.  Parsing for decimal values, if we go that route, should be done using BigDecimal.

After looking at the code, my first thought was a new SqmDecimalLiteral and corollary SqlDecimalLiteral nodes that handle these concerns.  However, it seems like this will end up being a lot of work at all of the various call sites where a SqmLiteral is currently created (roughly 57).

IMO we don't need any new SQM nodes. AFAICT parsing and typing such a literal as BigDecimal should always work because all numeric types can be widened to BigDecimal according to our currently implemented rules. So (1) and (2) should be covered by https://github.com/hibernate/hibernate-orm/pull/6885
Since that solution will parse the literal into a type that can fit the value, (3) is not a concern as there won't be an overflow.

The sections from the JPA spec say

Exact numeric literals support the use of Java integer literal syntax as well as SQL exact numeric literal syntax.
Approximate literals support the use Java floating point literal syntax as well as SQL approximate numeric literal syntax.

The SQL spec specifies the scientific notation 1.123e10 to be the approximate numeric literal syntax and even though the spec does not explicitly say that such literals need to be typed as BigDecimal/BigInteger or anything alike, the word "exact" implies to me that there should be no loss of information.

@beikov My best interpretation of that (admittedly-highly-ambiguous) section of the JPA spec is that a literal like 123.456 or 1.23e10 should be interpreted exactly as it is in Java. So the following query:
select 123.456

should return type Double, not BigDecimal, exactly as it does in all versions of Hibernate prior to H6.
i.e. the type of such a literal from the point of view of the HQL language is Double.
However, that doesn't mean we should truncate the precision of literals which can't be represented as a double. As you quite rightly point out, we should never do that. Rather, we should pass the literal value unmodified to the database.
As to the JPA spec ambiguity, I'm going to talk to Lukas about that this week, because I think we can quite easily get that nailed down.

Since we have unparsed numeric literals in the SQL AST now, I'll close this.


[PAGOPA-956] removed unused fields

List of Changes

removed references to fields that no longer exist in the node's database

Motivation and Context

alignment to changes on node database

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

update_code


Summary PDF should merge short fields for method, population and result if the main field is null

Extract merge logic into commen maven module that is currently applied during the synchronization and is placed in PublicPaper in scipamato-core-sync
Implement same merging logic in Sumary report pdf
Amend search to apply method searches also in the population place field to be consistent with the merge logic.

Source: Trello Card 10/25


SaaS: API share tenant data after off-boarding

Is your feature request related to a problem? Please describe.
API to share data with the tenant in case he asks for it after removal. GDPR may require it.

Duplicate issue


No Visual Changes

I love your mods and would love to contact you about a custom variation (would pay for)
But regarding my issue
When equipping armor I see no stat changes in my stat window
I would like to k ow what my armor doing (via end amount) in my stat window
So far I can only see my own edit stats and nothing involving the equipment stat increase

Hi there,
Which version of RelicEx, PlayerEx and Data Attributes are you using? Are you playing with many other mods? Are there any you think could be conflicting or causing this behaviour?
Regarding a custom variation, I appreciate it, but I am not accepting commissions at this time.
Thanks.

Then I guess I'll need to learn the api and how to code and build the mod
my self
Also no I have no external mods only your mod and supporting as my mod pack
is very early production
And all I did was kill a mob till it dropped an armor piece and put it on
Version is what ever the 1.18 version curseforge gives you
I could check later after work
On Mon, Sep 12, 2022, 1:18 AM CleverNucleus @.***>
wrote:

Hi there,
Which version of RelicEx, PlayerEx and Data Attributes are you using? Are
you playing with many other mods? Are there any you think could be
conflicting or causing this behaviour?
Regarding a custom variation, I appreciate it, but I am not accepting
commissions at this time.
Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/CleverNucleus/RelicEx/issues/18#issuecomment-1243233208,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJPGCPWCGQ3GOBEUA2E5WTDV524KNANCNFSM6AAAAAAQJ724UQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Restructured Project File Structure

Pull Request: Restructured Project File Structure and Updated Home Component Routing
Summary
This pull request includes the following changes:

Restructured the project file structure to keep CSS files in their respective component directories.
Moved the Home component into the pages directory.
Rerouted the Home component page from /home to /.

Changes Made
1. Restructured Project File Structure

Moved CSS files to their respective component directories for better organization and maintainability.
Updated import paths to reflect the new file structure.

2. Moved Home Component

Relocated the Home component from the components directory to the components/pages directory to match convention.

3. Rerouted Home Component

Updated the routing for the Home component page:

Changed the route from /home to /.
Updated any navigation links or references to the Home component to use the new route.

Additional Notes

Please review the changes to ensure that all affected parts of the application are correctly updated.
Feedback and suggestions for further improvements are welcome.

Thank you for reviewing this pull request.

Great Job!


Bump the required version of thor. Rails 6 requires thor version 0.20.3

Rails 6 requires thor version v0.20.3 as seen here https://github.com/rails/rails/blob/0e8d85ddb54a7f08b027b2757c6678ebf74732d9/Gemfile.lock#L98
This PR updates the dependency to allow Apiary to be installed in Rails 6.

Thanks for the PR. We will do a release soon.


while selecting vendor under purchase transactions,vendor address shouldn't be seen

[x] purchase order
[x] purchase return
[x] purchase bills
[x] recurring bills

Fixed!

issue fixed !


how did you calculate the spearman corr?

Hi Eric,
I couldnt manage to send you a direct message on your github profile so i am writing my question here. pls feel free to move it somewhere else. I observe that in your paper, you have shown that the mean approach dominantly outperforms the other methods. I am curious about this. I see that you have shown a strong corr between baseline prediction (mean of the training data) and the actual fold change (spearman > 0.6). i wonder, considering that your baseline prediction has the same values for all samples of a given gene, how do you calculate the spearman correlation on this 2D space?is it something like this? corr, p_value = spearmanr(y_true.flatten(), y_pred.flatten()). would be kind of you to direct me to your actual code doing this.

No problem. If y is observed expression of all genes under a perturbation, yhat is the prediction for all genes under that perturbation, and x is expression of all genes with no perturbation, we are computing the correlation between yhat-x and y-x. The code doing that is here.

thanks for the prompt answer, Eric. so, you calculate corr. for each sample (perturbation) separately. have you tried the metrics that is designed for multi-target predictions? for example, r2 scores where it receives n_sample*n_genes? this is important because in the datasets that you have used, the variance within samples are more dominant than between samples. consequently, if you take the mean across samples and calculate corr. within samples, you will always get a high correlation. it's almost trivial that the mean approach would beat off the others as it gets most strong information of your dataset that other models are not getting. no?

I see your point that correlation has a very different baseline expectation depending on whether it's computed within each sample or within each gene. We haven't tried your exact suggestion yet, but we have used squared error and absolute error. Those come out the same whether they are computed row-first or column-first.
Regarding the info that the methods get:

it's almost trivial that the mean approach would beat off the others as it gets most strong information of your dataset that other models are not getting. no?

All of the methods receive access to the full training data, plus the post-perturbation expression of the gene or genes that were perturbed in each sample. The mean is implemented as just another regression method in the code too; it receives the data in the same type of function call as does e.g. LASSO or ridge regression. The code is not as clean as I'd like but that happens here.

Thanks for taking an interest in our work! I am really happy to be having these discussions. It's a complicated area and I am sure our work will benefit from more perspectives.
We have not tried this one-hot encoding idea exactly. The closest we have come is including certain methods whose predictions do not depend on the starting expression state: GEARS and the mean/median/empty network baselines.
There is one complication, which is always hard for me to express properly. What you describe is always the case when we go to make predictions: features are all matching the control expression, except for entries where that gene was directly targeted in that sample. But during training, we offer the user a choice for feature construction. One option is to pick a control sample and modify only the perturbed gene, similar to how predictions are made. The other option is to use the training data as-is under a steady state assumption, which would potentially have a lot more informative variation in the feature matrix. The user makes this choice via the parameter we call matching_method.
My intuition is that these choices estimate different parameters: option one estimates total or long-term effects, and option two estimates direct or instantaneous effects. Since the predictions require total or long-term effects, we also follow CellOracle in exposing a parameter we call prediction_timescale that allows the user to predict F(F(... F(X)...)) instead of just F(X). This is what we experiment with in figure 3's rightmost column. It's still not totally clear to me how this should be handled and I would definitely consider experimenting with it further.

Re The other option is to use the training data as-is under a steady state assumption, which would potentially have a lot more informative variation in the feature matrix.: can you elaborate on this? you use the training data in feature construction with some kind of target encoding to take into account the targeted gene or how? btw, would it be possible for you to share the single cell data of replogle2? if so, pls kindly write me<EMAIL_ADDRESS>

RE: target encoding for the "steady state" matching scheme, we train a model to predict each gene's expression from the other genes' expression. We use the following procedures to account for perturbations:

When we train a model to predict gene G, we omit samples in which gene G was targeted, because its expression is no longer determined by the mechanisms we want to study.
When we train a model to predict a gene other than G, samples in which gene G was KO'd are changed so expression of G is 0. This is because even if transcripts are detected, we assume they do not code for a functional protein. Samples in which gene G was knocked down or overexpressed are left as-is, and the model is not explicitly told which gene was targeted. The model only sees the resulting expression level. In other words, we assume the effect of KD or OE is fully mediated by the observed expression level of the targeted gene.
During quality control, we filtered out perturbations where the targeted gene did not change in the expected direction.

RE: replogle2, I'm sorry to say I do not have the single cell data for replogle2. In this project we only worked with the pseudo-bulk profiles. This prevented us from running GEARS on replogle2, which is unfortunate. But, even though you cannot train GEARS without scRNA data, the predictions from GEARS are the same across any group of cells with the same set of genes perturbed. So no essential information is lost.

I was not sure what to expect a priori, except that I would expect the steady-state matching to go better with longer prediction timescales and the non-steady-state to go better with short prediction timescales. Our experiments showed that a non steady-state matching method worked a little better overall, and the short timescales were always better than long timescales, even for experiments using steady state matching. I would be interested to try out more models built around an explicit timescale, so you can train it while saying "here's the outcome from 6 days of continuous perturbation". I think Bicycle is like this but I have not gotten a chance to test it. The experiments were very limited and I am not sure there is really any convincing signal of a biologically useful network model. We may end up learning that single-gene perturbation effects are mostly too weak to train and validate this type of model, and we may need training data with more dramatic biological variation.

I’ve also observed that the datasets you’ve integrated so far generally show a relatively low perturbation effect, making it challenging for a model to capture effectively. This issue becomes even more pronounced with pseudobulking. If you take single-cell data and compare the within-group versus between-group variation before and after pseudobulking, you’ll likely see a substantial decline. This suggests that the perturbation effect is not uniformly strong across all cells but rather concentrated in a subset of them, which gets smoothed out during pseudobulking.
On another note, would you be interested in joining us for our GRN benchmarking project? If so, please feel free to send me a direct message so we can keep this conversation on-topic here.

Regarding the pseudobulking: that does make sense. I have had trouble with gRNA quantification in the past when analyzing perturb-seq all the way from raw reads, and I suppose this is why there are methods like MIMOSCA. I have not studied this issue as much as I would like.
Regarding the collaboration, thank you and I will send you a message!


Plugin installation working correctly on windows

On windows, the process for npm installing plugins npm installs the directory that dext-core-utils is run in into the node_modules directory of the plugin instead of just npm installing the plugin. The fix was using npm install instead of npm install --prefix <directory> and just changing the working directory in the install options. Not sure why the previous command worked on osx and not windows, but this fixed it and should also still work with osx.

Coverage decreased (-6.6%) to 93.413% when pulling 912732fbecf24f5a8a8d4f80c59545670e5eabba on mrjohnyhats:develop into 5cc8d1681915f58bbf614a1a778ad32fbffe8887 on vutran:master.

oops, this was meant to go into the develop branch


add: Only logging SQL statements

fixes #1331. or at least show how complex it is to achieve

@divega It shouldn't be this hard; we also need to make sure we're using the new 3.0 patterns for logging effectively. This probably requires a bit more investigation.

As it stands, if this is currently the best way, shouldn’t this be merged?


Don't --password

az login -u  -p
Is it correct to have the password as a direct input? This may lead to unintentional password leak!

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

ID: 93174b3a-3e97-8304-83fc-807be75198fe
Version Independent ID: 1155045b-ce8c-2def-7b0e-043283f8be01
Content: Log in with Azure CLI 2.0
Content Source: docs-ref-conceptual/authenticate-azure-cli.md
Service: multiple
GitHub Login: @sptramer
Microsoft Alias: sttramer

@RonWang This is correct - there are many alternatives to logging in with a username/password. If you would like to make a feature request or improvement with the CLI team, please file a GitHub issue at http://github.com/azure/azure-cli.

The workaround should likely be made into the default behavior.  There are other examples throughout the docs where this warning is not displayed.
https://docs.microsoft.com/en-us/azure/storage/common/storage-azure-cli
for example.


[5.6] Feature/use current for timestamps

Description
These changes extend timestamps() method to add optionally useCurrent()
Motivation and context
As timestamps() method created to simplify adding such fields as created_at & updated_at, it could be also possible to add default values for these fields. Changes in my PR make it possible. It doesn't break existing API, only extend functionality by adding optional attribute.
How has this been tested?
Relevant tests has been added to DatabaseMySqlSchemaGrammarTest, DatabasePostgresSchemaGrammarTest, DatabaseSQLiteSchemaGrammarTest, DatabaseSqlServerSchemaGrammarTest
Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[x] Bug fix (non-breaking change which fixes an issue) -> Fix precision in typeTimestampTz() in SqlServerGrammar
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:
Go over all the following points, and put an x in all the boxes that apply.
Once your pull request is created, it will trigger a build on our continuous integration server to make sure your tests and code style pass.

[x] My pull request addresses exactly one patch/feature.
[x] I have created a branch for this patch/feature.
[x] Each individual commit in the pull request is meaningful.
[x] I have added tests to cover my changes.
[x] If my change requires a change to the documentation, I have updated it accordingly.

If you're unsure about any of these, don't hesitate to ask. We're here to help!

This PR include changes to method signatures with breaks backward compatibility for those that have already overridden the changed methods.

@sisve yes, you are right, but only partially.

Those, who overridden timestamps() functionality should overridden most part of migrations functionality
Even if someone overridden signature of timestamps() method, it will not break anything, they will just skip usage of CURRENT_TIMESTAMP for timestamps fields, as my changes no breaking functionality, just extending it
If someone overridden functionality of Laravel core functionality, I guess, they should be ready, that methods in original Laravel could change.

Your first point seems to be based on "it's hard to override it", which I do not see the relevance for. Your second point is wrong, their signature will no longer match your signature and php will issue warnings about it. Your third point seems to somewhat classify something as more core than anything else, and attempt to argue that this makes it okay. I disagree. This is as much core as anything else in the framework. Are you saying that my CustomMySqlConnection and CustomMigrator can be broken at any time because they are more core than other components?

Warning: Declaration of CustomBlueprint::timestamps($precision = 0) should be compatible with Blueprint::timestamps($precision = 0, bool $useCurrent = false)

@sisve hmmm, yes, you are right, declaration compatibility can be an issue.
Can you suggest any ideas how to resolve it? Make a pull request to next MINOR version (5.7)?

There is no case to do the method signature changes in 5.6 without using func_get_args(), and ... no, just don't do that. It's evil and basically messes up any attempts at static code analysis.
The easy answer is to target 5.7 with these changes.

No plans on adding this.

@taylorotwell https://github.com/laravel/framework/pull/23326 Please check, I hope this feature could be useful


[crt] Make the build system aware that English Breakfast does not have bitmanip

Description
@luismarques wants to enable bitmap in the toolchain .
However, English Breakfast does not have bitmanip enabled to keep it small. This creates an issue because it makes every test on this device fail. The goal of this issue to discuss how to fix this.
I had a look at how this is handle and here is a suggestion, probably based on a very insufficient understanding of the CRT:

create a new constraint for the cpu that does not bitmanip, e.g. @platforms//cpu:riscv32_nobitmanip (or alternatively keep @platforms//cpu:riscv32 and add @platforms//cpu:riscv32_zb for bitmanip)
have the CRT define two devices, one for each cpu (we just need to change the ARCHITECTURE)
in rules/opentitan.bzl, create a config option to distinguish between the two CPUs and choose OPENTITAN_CPU based on that, make the necessary changes related to that (hopefully none)
edit hw/top_englishbreakfast/util/prepare_sw.py and ci/scripts/run-english-breakfast-verilator-tests.sh to use this config to select the CPU without bitmanip

This is a bit hackish admitedly, but that's because English Breakfast is a hack that is not properly integrated into the build system.

Tagging @vogelpi would can answer your first question.
Question about //sw/device:is_english_breakfast (which I didn't know): it seems to set a copt option. Why do the two scripts that I mentioned in the issue don't use it and pass the copt config directly?

At least today, the prime application of English Breakfast is to have a minimal top-level for SCA evaluation on small FPGAs. Small FPGAs are much better for these kind of evaluations because:

Stronger signal, i.e., less noise. Meaning fewer traces need to be captured for analysis.
More reproducible results over bitstreams due to less P&R variation.
Much faster turn around time: FPGA build time for the CW305 is 15min compared to 1.5 - 3 hours for the CW310 (depending on overall utilization of the FPGA). This is very important to debug/fix and optimize countermeasures efficiently.

A minimal top-level is important for that because:

The FPGAs are smaller
The fuller the FPGA gets, the less meaningful / harder to reproduce results get. We usually try to not go beyond 70% utilization. I've recently worked very hard to get the utilization down again to that level.

Bitmanip is disabled exactly for that reason. It maps very badly to FPGA: Taking the core without PMP as a baseline, the area increase on ASIC is roughly 25%, on FPGA it's 60%.
Please let's not enable it on englishbreakfast.

Sounds good.  I needed to understand the reasoning to make sure that adding the extra sub-architecture complexity to the build system is the right solution.

I believe this issue can be closed?

I think so yes. QQ: from the linked toolchain PR it's not entirely clear whether the toolchain now supports the unratified extensions or "just" the ratified ones (zba, zbb, zbs, zbc). Do you know what the status is?

I am not sure to be honest, I think @luismarques would be the best person to answer that.

I think so yes. QQ: from the linked toolchain PR it's not entirely clear whether the toolchain now supports the unratified extensions or "just" the ratified ones (zba, zbb, zbs, zbc). Do you know what the status is?

All toolchains versions should support unratified bitmanip. The older ones support it because there was upstream support. The most recent ones support it because I backported that support.

Fantastic, thanks for clarifying @luismarques !


Custom Transformer v2 - Error: Template asset can be used only with TransformerStackSynthesizer

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
curl
If applicable, what version of Node.js are you using?
v17.0.1
Amplify CLI Version
7.6.4
What operating system are you using?
Mac
Amplify Categories
api
Amplify Commands
Not applicable
Describe the bug
When adding a slot to an existing resolver, the following error is thrown: Template asset can be used only with TransformerStackSynthesizer. It refers to amplify-graphql-transformer-core/src/cdk-compat/file-asset.ts
Expected behavior
I expect additional VTL files to be automatically generated when adding a slot. In my example Mutation.createTodo.auth.2.req.vtl
The Transformer v2 is very sparsely documented - any fix, help or workaround is appreciated 😥
Reproduction steps

Init amplify
Create GraphQL API with Basic Cognito Auth and the Demo "Todo" GraphQL Schema
Create a Custom Transformer (code below), configure transform.conf.json, add @tenant directive to GraphQL Schema
Run amplify push

Custom Transformer code:
import {
  MappingTemplate,
  TransformerPluginBase,
} from '@aws-amplify/graphql-transformer-core';
import {
  TransformerContextProvider,
  TransformerResolverProvider,
  TransformerSchemaVisitStepContextProvider,
} from '@aws-amplify/graphql-transformer-interfaces';
import { DirectiveNode, ObjectTypeDefinitionNode } from 'graphql';
import { printBlock, raw } from 'graphql-mapping-template';

const directiveName = 'tenant';
const directiveDefinition = `
  directive @${directiveName} on OBJECT
`;

export class TenantTransformer extends TransformerPluginBase {
  private typesWithModelDirective: Set<string> = new Set();

  constructor() {
    super('tenant-transformer', directiveDefinition);
  }

  object = (
    definition: ObjectTypeDefinitionNode,
    directive: DirectiveNode,
    ctx: TransformerSchemaVisitStepContextProvider,
  ): void => {
    const typeName = definition.name.value;
    this.typesWithModelDirective.add(typeName);
  };

  generateResolvers = (ctx: TransformerContextProvider): void => {
    const resolver = ctx.resolvers.getResolver(
      'Mutation',
      'createTodo',
    ) as TransformerResolverProvider;

    const snippet = printBlock(
      `Debug: Check if @tenant directive find its way to a VTL file`,
    )(raw('$util.unauthorized()'));

    resolver.addToSlot(
      'auth',
      MappingTemplate.s3MappingTemplateFromString(
        snippet,
        `Mutation.createTodo.{slotName}.{slotIndex}.req.vtl`,
      ),
    );
  };
}

GraphQL schema(s)
type Todo @model @tenant @auth(rules: [{ allow: private }]) {
  id: ID!
  name: String!
  description: String
}

Log output
✖ An error occurred when pushing the resources to the cloud
🛑 Template asset can be used only with TransformerStackSynthesizer
Error: Template asset can be used only with TransformerStackSynthesizer
    at new FileAsset (/Users/joey/Development/Playground/amplify-transformer-debug/tenant-transformer/node_modules/@aws-amplify/graphql-transformer-core/src/cdk-compat/file-asset.ts:40:13)
    at S3MappingTemplate.bind (/Users/joey/Development/Playground/amplify-transformer-debug/tenant-transformer/node_modules/@aws-amplify/graphql-transformer-core/src/cdk-compat/template-asset.ts:56:20)
    at new AppSyncFunctionConfiguration (/snapshot/node_modules/@aws-amplify/graphql-transformer-core/lib/appsync-function.js:11:62)
    at DefaultTransformHost.addAppSyncFunction (/snapshot/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js:81:20)
    at TransformerResolver.synthesizeResolvers (/snapshot/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.js:210:45)
    at TransformerResolver.synthesize (/snapshot/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.js:116:37)
    at GraphQLTransform.collectResolvers (/snapshot/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js:345:22)
    at GraphQLTransform.transform (/snapshot/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js:234:14)
    at _buildProject (/snapshot/node_modules/amplify-provider-awscloudformation/lib/graphql-transformer/transform-graphql-schema.js:511:37)
    at buildAPIProject (/snapshot/node_modules/amplify-provider-awscloudformation/lib/graphql-transformer/transform-graphql-schema.js:475:24)
    at transformGraphQLSchema (/snapshot/node_modules/amplify-provider-awscloudformation/lib/graphql-transformer/transform-graphql-schema.js:361:29)
    at Object.run (/snapshot/node_modules/amplify-provider-awscloudformation/lib/push-resources.js:221:5)
    at async Promise.all (index 0)
    at providersPush (/snapshot/node_modules/@aws-amplify/cli/lib/extensions/amplify-helpers/push-resources.js:105:5)
    at AmplifyToolkit.pushResources [as _pushResources] (/snapshot/node_modules/@aws-amplify/cli/lib/extensions/amplify-helpers/push-resources.js:72:17)
    at Object.executeAmplifyCommand (/snapshot/node_modules/@aws-amplify/amplify-category-api/lib/index.js:203:9)
    at executePluginModuleCommand (/snapshot/node_modules/@aws-amplify/cli/lib/execution-manager.js:164:5)
    at executeCommand (/snapshot/node_modules/@aws-amplify/cli/lib/execution-manager.js:35:9)
    at Object.run (/snapshot/node_modules/@aws-amplify/cli/lib/index.js:162:9)

Additional information
No response

It looks like you're hitting this exception because this instanceof check is failing. I believe it's failing because the Amplify CLI is resolving '@aws-amplify/graphql-transformer-core' to one location on disk, and your custom directive is resolving it to another, so you end up with multiple distinct TransformerStackSythesizer classes.
Since the CLI must be installed globally, it's probably easiest for your directive to rely on the global versions of the dependency.

Since the CLI must be installed globally, it's probably easiest for your directive to rely on the global versions of the dependency.

@cjihrig thanks - I can follow your reasoning, however I'm puzzled. How would I achieve this? Relying on the global versions of the dependency? From where would I import this 🤷♂
import {
  MappingTemplate,
  TransformerPluginBase,
} from '@aws-amplify/graphql-transformer-core';

I also had a look on a Custom Transformer V2 from another party, it is done the same way here, and it also does crash upon amplify push api.

From where would I import this

Node's module resolution algorithm searches some global installation locations by default (it's generally discouraged to rely on global installs, but since the CLI must be installed globally, 🤷). You can find out the exact path that a module is resolved to like this:
require.resolve('@aws-amplify/cli')

You can also figure out which paths the resolution algorithm will look in like this:
require.resolve.paths('@aws-amplify/cli')

If the modules that you need are installed globally, then you don't need to add them in your package.json (as that would install them in your local node_modules/ and cause this issue). Alternatively, you can pass an absolute path to require(), but this would probably not work well across machines.

Thanks for your suggestion, @cjihrig - Unfortunately this does not work at all.
// globalPath.js
const globalPath = require.resolve('@aws-amplify/graphql-transformer-core');

Running the code above (node globalPath.js) returns
Error: Cannot find module '@aws-amplify/graphql-transformer-core'

Same with const require.resolve('@aws-amplify/cli')
Despite that, I cannot use this in TypeScript
const globalPath = require.resolve('@aws-amplify/graphql-transformer-core');
const { TransformerPluginBase, MappingTemplate } = require(globalPath);

export class TenantTransformer extends TransformerPluginBase {
  ...
}

'extends' clause of exported class 'TenantTransformer' has or is using private name 'TransformerPluginBase'.ts(4020)

Question: Are we facing a bug or badly designed Plugin System here? What would be an appropriate flag (bug, documentation) to bring this issue to the attention of the AWS CLI team? Our company's development work has stopped for over two weeks because we're not able to implement 3 important Custom Transformers V2. The official documentation about Adding Custom GraphQL Transformers to the Project is not helpful.
Thank you very much in advance.

I found a workaround. The path below does the trick for me on my Mac, thanks for pointing into the right direction, @cjihrig.
// @ts-ignore
import { MappingTemplate, TransformerPluginBase} from '/snapshot/node_modules/@aws-amplify/graphql-transformer-core';

Still I feel this is no good approach for a Plugin System. Any comment/suggestion for a safe approach from AWS Amplify CLI team would be nice. I will leave this issue open.

Indeed. I'm not sure using instanceof is a good idea ever when the JS ecosystem is always duplicating and compiling classes into other things.
I've hit this issue too, and at least in my case it's only triggered when using MappingTemplate.s3MappingTemplateFromString. When I switch to MappingTemplate.inlineTemplateFromString I can bypass the errorr.

I realise this is happening because the amplify CLI is running via a global installation, with packages in /usr/lib, whereas your local plugin is using the same packages, installed locally to node_modules. Since these are different copies of the same code, any attempt to compare objects for exact equality will fail, and this includes checking the prototype of objects using instanceof.

Node's module resolution algorithm searches some global installation locations by default (it's generally discouraged to rely on global installs, but since the CLI must be installed globally, shrug).

I believe this is incorrect, as Node doesn't have this behaviour unlike say Python. I haven't tried this, but I wonder if setting export NODE_PATH=/usr/lib/node_modules and then uninstalling most of the amplify dependencies locally would work, as it's described here as a valid method of loading global modules.

I believe this is incorrect, as Node doesn't have this behaviour

It does. Node's module resolution algorithm is described here. Search for GLOBAL_FOLDERS. Using NODE_PATH might work for you, but it is somewhat discouraged in the docs.
I think the better short term solution is to investigate making the existing instanceof check more robust - there are other ways of doing type checking in JavaScript that work cross-realm.

Apologies, you're right. I guess because it's tricky to get Typescript to recognise these global libraries I assumed they weren't accessible.


kotlin: 1.8.10 -> 1.8.20

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/JetBrains/kotlin/releases.
meta.description for kotlin is: General purpose programming language
meta.homepage for kotlin is: https://kotlinlang.org/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.8.20 with grep in /nix/store/b9p7rg4qcr0bk95di5az9yj6bwxyp35a-kotlin-1.8.20
found 1.8.20 in filename of file in /nix/store/b9p7rg4qcr0bk95di5az9yj6bwxyp35a-kotlin-1.8.20

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
kotlin

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/b9p7rg4qcr0bk95di5az9yj6bwxyp35a-kotlin-1.8.20 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A kotlin https://github.com/r-ryantm/nixpkgs/archive/5934d979182b3532a568562a73b6c12010ae1a86.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/b9p7rg4qcr0bk95di5az9yj6bwxyp35a-kotlin-1.8.20
ls -la /nix/store/b9p7rg4qcr0bk95di5az9yj6bwxyp35a-kotlin-1.8.20/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

kotlin

Maintainer pings
cc @SubhrajyotiSen for testing.

Superseded by https://github.com/NixOS/nixpkgs/pull/225413


Adds support for Experiment Usecase Type

This pr adds Experiment Usecase type value on the ui and the logical changes related to it. solves jira 319,

@bhanvimenghani - Can you update the description.

@chandrams added


Aqara button lumi.sensor_switch.aq2 issues (wxkg11lm)

I don't receive button events, just attribute changed events.
Double Clicks result in an unknown attribute id=32768 value=2 message
Single clicks send an on_off attribute change twice.
https://gist.github.com/darkskiez/34afff2942a2968c113b4c8192db18ad

I am experiencing the same results on HA .97.2 for the same wxkg11lm switch:

2 zha_event events being fired for on_off (1/0) with a single press
Double-click shows unknown attribute w/value=2

More info:
The device is registered and shows the zhaquirks.xiaomi.aqara.switch_aq2.SwitchAQ2 quirk.  The battery is the only sensor registered, which appears to properly report battery status.

the only sensor you will get for this is the battery sensor. I'll take a look at the double press event soon.

for sample what i use in automation for single press, double press, triple press and quadruple press, all works fine.
`- id: '1551960941703'
alias: Inter_table_1clic
trigger:

event_data:
device_ieee: 00:15:8d:00:02:13:32:1d
attribute_name: on_off
command: attribute_updated
args:
attribute_id: 0
attribute_name: on_off
value: 1
event_type: zha_event
platform: event
condition: []
action:
entity_id: switch.lumi_lumi_ctrl_ln2_aq1_02488196_2
service: switch.toggle
id: '1551960941704'
alias: Inter_table_2clic
trigger:

event_data:
device_ieee: 00:15:8d:00:02:13:32:1d
attribute_name: on_off
command: attribute_updated
args:
attribute_id: 32768
attribute_name: Unknown
value: 2
event_type: zha_event
platform: event
condition: []
action:
entity_id: switch.lumi_lumi_ctrl_ln2_aq1_02488196_1
service: switch.toggle

id: '1551960941705'
alias: Inter_table_3clic
trigger:

event_data:
device_ieee: 00:15:8d:00:02:13:32:1d
attribute_name: on_off
command: attribute_updated
args:
attribute_id: 32768
attribute_name: Unknown
value: 3
event_type: zha_event
platform: event
condition: []
action:
entity_id: switch.lumi_lumi_ctrl_ln2_aq1_023fc9b2_2
service: switch.toggle

id: '1551960941706'
alias: Inter_table_4clic
trigger:

event_data:
device_ieee: 00:15:8d:00:02:13:32:1d
attribute_name: on_off
command: attribute_updated
args:
attribute_id: 32768
attribute_name: Unknown
value: 4
event_type: zha_event
platform: event
condition: []
action:
entity_id: switch.lumi_lumi_ctrl_ln2_aq1_023fc9b2_1
service: switch.toggle`

This is much easier to use in the next release of HA. The events will be irrelevant. HA .100 includes device automations which make this much easier to use:


fix Unicode tests in accordance to pattern/patternProperties spec

This PR is similar to #380, that fixed an issue almost identical to this one.
The assumptions in #498 are based on an incorrect reading of the spec, and that PR introduced invalid tests.
JSON Schema spec:
https://json-schema.org/draft/2020-12/json-schema-core.html#regex

6.4. Regular Expressions
Keywords MAY use regular expressions to express constraints, or constrain the instance value to be a regular expression. These regular expressions SHOULD be valid according to the regular expression dialect described in ECMA-262, section 21.2.1.

Regular expressions SHOULD be built with the "u" flag (or equivalent) to provide Unicode support, or processed in such a way which provides Unicode support as defined by ECMA-262.

Note the "according to the regular expression dialect described in ECMA-262, section 21.2.1." and "Unicode support as defined by ECMA-262" parts. Also the "with the "u" flag", which is what "Unicode support as defined by ECMA-262" actually means (see below for ECMA-262 spec refs).
https://json-schema.org/draft/2020-12/json-schema-core.html#rfc.references.1

15.1. Normative References
[ecma262]	"ECMA-262, 11th edition specification", June 2020.

https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.section.6.3.3

6.3.3. pattern
The value of this keyword MUST be a string. This string SHOULD be a valid regular expression, according to the ECMA-262 regular expression dialect.

Note the "according to the regular expression dialect described in ECMA-262" part.
https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.references.1

11.1. Normative References
[ecma262]	"ECMA-262, 11th edition specification", June 2020.

Btw, a mistype here, the link should be https://www.ecma-international.org/ecma-262/11.0/index.html,
/index.html is mising in the link.
It's correctly linked in the core schema html, but not in validation schema html.
ECMA-262 spec:
https://262.ecma-international.org/11.0/#sec-patterns
About Unicode mode:
https://262.ecma-international.org/11.0/#sec-regexp-constructor
The constructor accepts flags, and calls RegExpInitialize ( obj, pattern, flags ), which defines how those work. Let's take a look there:
https://262.ecma-international.org/11.0/#sec-regexpinitialize

<IP_ADDRESS>.2 Runtime Semantics: RegExpInitialize ( obj, pattern, flags )
When the abstract operation RegExpInitialize with arguments obj, pattern, and flags is called, the following steps are taken:
...
6. If F contains "u", let BMP be false; else let BMP be true.
7. If BMP is true, then
....
8. Else,
a. Let pText be ! UTF16DecodeString(P).
b. Parse pText using the grammars in 21.2.1. The goal symbol for the parse is Pattern[+U, +N]. Throw a SyntaxError exception if pText did not conform to the grammar, if any elements of pText were not matched by the parse, or if any Early Error conditions exist.
c. Let patternCharacters be a List whose elements are the code points of pText.

With the unicode mode (enabled with the u flag, mentioned above in JSON Schema Core spec), the goal symbol for the parse is Pattern[+U, +N].
Not relevant to this PR, but a general note: this changes the parse target, and there are e.g. valid ECMA-262 regexps in non-Unicode mode that are invalid in Unicode mode. JSON Schema declares usage of the Unicode mode part of the specification, hence we should use only that. I.e. anything specific to Pattern[~U, ~N] (non-Unicode mode) should be ignored.
https://262.ecma-international.org/11.0/#prod-CharacterClassEscape
+U labeled ones are the ones introduced in Unicode mode.
d and w are not labeled with U and don't depend on Unicode mode.
This is how patterns work:
https://262.ecma-international.org/11.0/#sec-characterclassescape

<IP_ADDRESS> CharacterClassEscape

The production CharacterClassEscape::d evaluates as follows:
Return the ten-element set of characters containing the characters 0 through 9 inclusive.

The production CharacterClassEscape::D evaluates as follows:
Return the set of all characters not included in the set returned by CharacterClassEscape::d .

The production CharacterClassEscape::s evaluates as follows:
Return the set of characters containing the characters that are on the right-hand side of the WhiteSpace or LineTerminator productions.

The production CharacterClassEscape::S evaluates as follows:
Return the set of all characters not included in the set returned by CharacterClassEscape::s .

The production CharacterClassEscape::w evaluates as follows:
Return the set of all characters returned by WordCharacters().

The production CharacterClassEscape::W evaluates as follows:
Return the set of all characters not included in the set returned by CharacterClassEscape::w .

The production CharacterClassEscape::p{UnicodePropertyValueExpression} evaluates as follows:
Return the CharSet containing all Unicode code points included in the CharSet returned by UnicodePropertyValueExpression.

The production CharacterClassEscape::P{UnicodePropertyValueExpression} evaluates as follows:
Return the CharSet containing all Unicode code points not included in the CharSet returned by UnicodePropertyValueExpression.

Note how \d is defined here as "ten-element set of characters containing the characters 0 through 9 inclusive."
For the definition of \w, we have to go to WordCharacters():
Definition for UnicodePropertyValueExpression (i.e. how exactly do \p{} and \P{}) work is available by the same link, I just didn't copy-paste it here.
https://262.ecma-international.org/11.0/#sec-runtime-semantics-wordcharacters-abstract-operation

<IP_ADDRESS>.1 Runtime Semantics: WordCharacters ( )
The abstract operation WordCharacters performs the following steps:

Let A be a set of characters containing the sixty-three characters: a	b	c	d	e	f	g	h	i	j	k	l	m	n	o	p	q	r	s	t	u	v	w	x	y	z   A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z   0	1	2	3	4	5	6	7	8	9	_

Note how this doesn't depend on the Unicode mode.
Refs:

https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.section.6.3.3
https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.references.1
https://json-schema.org/draft/2020-12/json-schema-core.html#regex
https://json-schema.org/draft/2020-12/json-schema-core.html#rfc.references.1
https://www.ecma-international.org/ecma-262/11.0/index.html
https://262.ecma-international.org/11.0/#sec-patterns
https://262.ecma-international.org/11.0/#sec-regexp-constructor
https://262.ecma-international.org/11.0/#sec-regexpinitialize
https://262.ecma-international.org/11.0/#prod-CharacterClassEscape
https://262.ecma-international.org/11.0/#sec-characterclassescape
https://262.ecma-international.org/11.0/#sec-runtime-semantics-wordcharacters-abstract-operation

Thanks for the well researched post (and again for your expertise!)
I'll have to review the links -- though even though I'm sure they're correct, we should keep all these in the ecmascript regex optional file. Implementations using another regex dialect (which they're allowed to do) may indeed have different semantics here, and it's easier to skip the ECMA specific tests if they're all in one place.

Those are already in the optional dir, just a separate file that test just the unicode part of the spec.

I agree that we should consolidate optional/unicode.json into optional/ecmascript-regex.json, as there is some crossover and duplication of functionality. I added this file originally, and did not notice the similarity of tests to ecmascript-regex.json at the time.
(I hope people aren't skipping entire test files just because they may have a few failures here and there, though!)

@karenetheridge I merged optional/unicode into optional-ecmascript-regex.
Could this be landed now perhaps? =)


interest in supporting nested querystrings?

Hello!
I just started trying out warp, which deserializes querystrings via serde_urlencoded.
I have a use case for nested querystrings, and I've been experimenting using serde_qs.
Is there any interest in supporting nested querystrings in serde_urlencoded, or is that beyond the scope of this project?
https://github.com/seanmonstar/warp/issues/22

That’s indeed beyond the scope of the project.

Ok, thanks!


RFC: callback guards

This is a kind of "request for comments" rfc, rather than a suggested change rfc. I outline the problem, a solution and then ask if it is possible in codegen from webidl.
The problem - tracking callbacks.
For the sake of demonstration, suppose that EventTarget has the following shape
pub struct EventTarget;

impl EventTarget {
    fn register_listener(&self, fn: OpaqueFunctionType);
    fn unregister_listener(&self, fn: OpaqueFunctionType);
    fn dispatch_event(&self);
}

This is a pain because we are responsible for storing our function pointer somewhere and then remembering to call the deregister function. If we don't, it's a memory leak (is this true - I'm not 100%). This is in some ways analogous to manual memory management.
A solution - RAII
The standard solution for this problem is RAII. The RAII version of this interface is
impl EventTarget {
    fn register_listener(&self, fn: OpaqueFunctionType) -> Guard;
    fn dispatch_event(&self);
}

In this implementation, the register_listener function returns a Guard that, and when that guard goes out of scope the listener is removed. This is easy to use, we can just store the guard inside objects that are interested in listening for events, so that when they go out of scope (maybe because part of a virtual dom is unmounted), the listener is automatically unregistered in the Drop implementation.
RFC
Is there any way of generating bindings following this pattern, and is it even desirable. My gut feeling is that it's not possible, but it would be such an ergonomics win if it was.

@derekdreery It's not really possible to automatically create nice bindings like that from WebIDL.
However, it is quite easy to create Rust abstractions which can wrap the WebIDL and provide nicer APIs.
I believe the current plan is that such wrappers will live in a crate outside of web-sys. That crate doesn't even need to be maintained by wasm-bindgen: it could be created by anyone!
As an example of an RAII wrapper for EventTarget:
pub struct EventListener<A> {
    node: EventTarget,
    type: &'static str,
    callback: Closure<FnMut(A)>,
}

impl<A> Drop for EventListener<A> {
    #[inline]
    fn drop(&mut self) {
        self.node.remove_event_listener_with_callback(self.type, self.callback.as_ref().unchecked_ref()).unwrap();
    }
}

In order to actually create an EventListener, I recommend something like this:
pub trait Event {
    const TYPE: &'static str;
}

// Type for the "click" event
pub struct ClickEvent {
    // ...
}

impl ClickEvent {
    // Various methods/properties specific to the "click" event
}

impl Event for ClickEvent {
    const TYPE: &'static str = "click";
}

// Type for the "change" event
pub struct ChangeEvent {
    // ...
}

impl ChangeEvent {
    // Various methods/properties specific to the "change" event
}

impl Event for ChangeEvent {
    const TYPE: &'static str = "change";
}

impl<A> EventListener<A> where A: Event {
    #[inline]
    pub fn new<F>(node: &EventTarget, f: F) -> Self where F: FnMut(A) + 'static {
        let callback = Closure::wrap(Box::new(f) as Box<FnMut(A)>);

        node.add_event_listener_with_callback(A::TYPE, callback.as_ref().unchecked_ref()).unwrap();

        Self {
            node: node.clone(),
            type: A::TYPE,
            callback,
        }
    }
}

And now you can create nice RAII event listeners like this:
let listener1 = EventListener::new(&node, |event: ClickEvent| {
    // ...
});

let listener2 = EventListener::new(&node, |event: ChangeEvent| {
    // ...
});

The reason I recommend this pattern is that the ClickEvent might have various methods which are specific to the "click" event, and the ChangeEvent might have various methods which are specific to the "change" event, so we want to ensure that everything is fully statically type safe.
The Event trait ensures that a ClickEvent is always tied to a "click" event in the DOM (and ChangeEvent is always tied to "change"), thus guaranteeing correct static types. This is a pattern which was pioneered by stdweb.
Without the Event trait you would need to do something like this:
let listener1 = EventListener::new(&node, "click", |event| {
    let event: ClickEvent = event.unchecked_into();
    // ...
});

let listener2 = EventListener::new(&node, "change", |event| {
    let event: ChangeEvent = event.unchecked_into();
    // ...
});

This is much more error prone, since you must carefully guarantee that the static types are correct. With the Event trait, the compiler guarantees everything is correct, so you cannot make mistakes.
As you can see, creating nice idiomatic Rust APIs cannot be done automatically, such wrappers must be written by hand, because they need to take JavaScript idioms and convert them into Rust idioms. Thankfully the wrappers only needs to be written once and then put into a crate, so everybody can use them.

I agree that while the issue here (auto-deregistering event listeners) is ripe for an abstraction such an abstraction probably wants to live externally of wasm-bindgen, built on the various web-sys APIs and such.

I've made a repository for experimenting with abstractions over web-sys called [dommer], if anyone is interested. It's currently wired for my personal directory structure, but reading the code in the example still works. :)
Interesting stuff

The guard pattern for event listeners (this issue)
Trying to write type-safe abstractions over stringly-typed stuff in web-sys
Unwrapping when errors never occur, either because they never do on the javascript side, or because we can control the input to functions using the type system.
rustifying stuff - like implementing standard traits, iterator patterns, that kinda stuff

Also I've not done it yet, but I want to experiment with integrating with serde, so you can pass serealizable structs as the body of a request, or receive structs from a response - and race the built-in json decoder :P
Just flagging it in case it's interesting to anyone.


Trimming commands.py and wallet.py, etc.

This is the opposite of https://github.com/lbryio/lbryum/issues/206
Please think of commands in lbryum/commands.py that do not make sense and should be removed (or makes sense but still should be removed) please add them in comments below.
lbryum/wallet.py also has many wallet implementations, if we can remove any of the implementations please comment.
lbryum/coinchooser.py has 4 coin choosers, do we use/need all 4 of them?
Anything else you can think of that can be removed.

This pull request in lbryum deletes a bunch of stuff (moves it to lbryschema?), we should finish and merge it: https://github.com/lbryio/lbryum/pull/177

Here is the code coverage report for lbryum/commands.py you can see which commands aren't tested and perhaps can be removed. If a command is not tested but should be, please not that here as well.

this may be a good item for lex-jack-IRL

Further discussion on this can go into #226


New regression: 5min test_no_duplicates

I'm not sure about this one, it might be a side effect of fixing the IE by delegating to AolIE, but test_no_duplicates is a new regression since commit 2396062c747ee81420dac0eac914d531ec8df910 ping @remitamine
FAIL: test_no_duplicates (test.test_all_urls.TestAllURLsMatching)

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

Traceback (most recent call last):

  File "/home/travis/build/anisse/youtube-dl/test/test_all_urls.py", line 94, in test_no_duplicates

    self.assertTrue(ie.suitable(url), '%s should match URL %r' % (type(ie).__name__, url))

AssertionError: False is not true : FiveMinIE should match URL 'http://delivery.vidible.tv/aol?playList=518013791

See this build:
https://travis-ci.org/anisse/youtube-dl/jobs/149816265

thanks for the report there was a small error in the _VALID_URL regex.


Add DTOs for unloaded data

These are the proposed formats for loading and unloading data as well as a
documentation for how the web APIs would work.

Added a glossary. It feels very "x is an x-like thing that accomplishes x"


[#2726] Add Dockerfile for Compile Gravitino using Docker

What changes were proposed in this pull request?
Add Dockerfile for Compile Gravitino using Docker
Why are the changes needed?
Gravitino community need to provide Docker images of the development environment, allowing developers to easily launch a Gravitino container and compile Gravitino within it
Fix: #2726
Does this PR introduce any user-facing change?
no
How was this patch tested?
a dockerfile

I haven't seen a Java project providing a Docker to compile. Is it a good practice?

hi @TEOTEO520 Thank you interesting Gravitino. I have a question, How is this PR different from https://github.com/datastrato/gravitino/blob/main/dev/docker/gravitino/Dockerfile
We already have been able to create Gravitino Docker image with https://github.com/datastrato/gravitino/blob/main/dev/docker/build-docker.sh.

hi @TEOTEO520 Thank you interesting Gravitino. I have a question, How is this PR different from https://github.com/datastrato/gravitino/blob/main/dev/docker/gravitino/Dockerfile
We already have been able to create Gravitino Docker image with https://github.com/datastrato/gravitino/blob/main/dev/docker/build-docker.sh.

The two are different. From your mention, my understanding is that in this image, Gravitino is already packaged and installed, and you can start the Gravitino project by simply running the relevant scripts. However, my intention was to provide an image that includes all the environments and third-party dependencies needed to package with the ./gradlew build command. A Docker created from this image can pull the Gravitino code using git clone, and then run ./gradlew assembleDistribution -x test in the corresponding directory to successfully generate the corresponding tar package. You can refer to the implementation of StarRocks for specifics.

I haven't seen a Java project providing a Docker to compile. Is it a good practice?

目前 starrocks 就提供了一个含有所有打包以及运行 Gravitino 所需要的所有依赖，可以用来给你做参考

Close this PR as it won't be needed; Please re-open one day we want to resume this.


The documentation describes how to create a package in Dynamics 365 and not in PowerApps

I would like to have a documentation that shows how to publish/create a package using only PowerApps instead of Dynamics 365, the steps 2 and 3 describes only Dynamics 365.

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

ID: bd2c7898-1e5f-184c-bb89-8acdf96c0023
Version Independent ID: f46bf08e-14dc-4111-c74e-db374f377566
Content: Step 3: Create an AppSource package for your app (Microsoft Dataverse) - Power Apps
Content Source: powerapps-docs/developer/data-platform/create-package-app-appsource.md
Service: powerapps
GitHub Login: @KumarVivek
Microsoft Alias: kvivek

@dansemedo
Thanks for your feedback. We are closing this issue because we are either unable to find relevant information or reproduce this. If you're still experiencing the issue described here, please reopen or create a new issue.


[#576] net-vpc - Add the ability to export/import custom routes throu…

…gh peering with PSA VPC

This is now actually failing for checksum error downloading a terraform provider. Needs further checks. Then tests will (possibly) pass.

Re-ran checks - all green.


Being able to append module template to templates

Vue.js version: ^1.0.21
consumed using: (webpack)

It would be nice if you could include a template via a module within the template key, instead of pure strings.

relevant code:

<template>
      <v-client-table :data="tableData" :columns="columns" :options="options"></v-client-table>
</template>

./Modal.vue
<template>
  Edit

Modal

</template>

Why not extract a component and use in the templates?
{
 templates: {
operations: "<modal some-prop="{some_column}></modal>"
}

@matfish2 But that for some reason doesn't work. It won't output any HTML

You probably registered the component locally on your instance, and so the table instance, which is a child, cannot access it.
Anyway, it is not a good idea to repeat the modal for each row. Instead use a link only as the template and client-side routing (vue-router) to load the modal.

@matfish2 You're right!

Glad I could help.


re-compiling or re-installing the module

Issue
Describe your issue, comment or suggestion
Hello
At the last step when I run command:
sudo npm start
I've got error:

The module '/home/mike/Git/msi-keyboard-gui/dist/app/node_modules/node-hid/build/Release/HID.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 54. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install).

Could you please explain me where I was wrong and what I had to do now ?
Thank you very much!
System versions:
Ubuntu 18.04
I run it on notebook msi ge73 rgb 8rf model  https://us.msi.com/Laptop/GE73-Raider-RGB-Intel-8th-Gen.html
nodejs:v8.11.3
npm: 6.3.0
libusb: libusb-1.0-0  libusb-0.1-4

Please use the latest binaries https://github.com/stevelacy/msi-keyboard-gui/releases/tag/0.2.1
The issue is a version mismatch between node and election, you can also use node v8* and it should work

Hello Steve!
Thank you for your fast answer!
I tried to run latest realize and got next error:
cannot open device with vendor id 0x1770 and product id 0xff00
So I run command:

sudo msiklm list

and got next output:

Device: SteelSeries KLC
Device Vendor ID: 4152
Device Product ID: 4386
Device Serial Number: (null)
Device Manufacturer: SteelSeries
Device Path: 0001:0002:00
Device Interface Number: 0
Device Release Number: 553
Device: SteelSeries KLC
Device Vendor ID: 4152
Device Product ID: 4386
Device Serial Number: (null)
Device Manufacturer: SteelSeries
Device Path: 0001:0002:01
Device Interface Number: 1
Device Release Number: 553

So it looks like my keyboard doesn't support, does it?
Could you please to make necessary changes for supporting my keyboard?
Thank you very much!
Best wishes, Mike/
2018-08-08 8:54 GMT+03:00 Steve Lacy<EMAIL_ADDRESS>
Please use the latest binaries https://github.com/stevelacy/
msi-keyboard-gui/releases/tag/0.2.1
The issue is a version mismatch between node and election, you can also
use node v8* and it should work
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stevelacy/msi-keyboard-gui/issues/52#issuecomment-411293963,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE1jAegxedA_T7kNgdLIi0KvBRPKFu8rks5uOn0agaJpZM4Vy_ro
.

I do not have a laptop with the new keyboard, so I can not test it.
What we can do is you could try to make the needed changes on your system, and figure out if the keyboard will work with the controller.

Yes please, let's do it! :)  If you like I could provide you remote access
to my notebook.
I'm located in Moscow ()Russian Federation) so we could do it from 10-00 am
to  00-00 am local time.
my skype is unimilk456. Please  let me know  when you'll be ready :)
Be happy
Mikhail. :)
2018-08-08 19:01 GMT+03:00 Steve Lacy<EMAIL_ADDRESS>
I do not have a laptop with the new keyboard, so I can not test it.
What we can do is you could try to make the needed changes on your system,
and figure out if the keyboard will work with the controller.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stevelacy/msi-keyboard-gui/issues/52#issuecomment-411459414,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE1jAZl6mdWgbQWEPSS6HvK9Sd0_fpBtks5uOwtlgaJpZM4Vy_ro
.

I don't use skype, but I do use appear.in I should have free time next week, ping me by Wednesday if I don't contact you.

okay, I will! What time for ping will good for you?
2018-08-08 23:49 GMT+03:00 Steve Lacy<EMAIL_ADDRESS>
I don't use skype, but I do use appear.in I should have free time next
week, ping me by Wednesday if I don't contact you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stevelacy/msi-keyboard-gui/issues/52#issuecomment-411547382,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE1jATHqewYlVwCZbxqPwuOw3sdNnSGOks5uO07TgaJpZM4Vy_ro
.

Hello Steve!
I’m sorry I will not can be available today. Could  we please appoint other
day for checking keyboard?
Best wishes
Mikhail
ср, 8 авг. 2018 г. в 23:50, Mikhail<EMAIL_ADDRESS>
okay, I will! What time for ping will good for you?
2018-08-08 23:49 GMT+03:00 Steve Lacy<EMAIL_ADDRESS>
I don't use skype, but I do use appear.in I should have free time next
week, ping me by Wednesday if I don't contact you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stevelacy/msi-keyboard-gui/issues/52#issuecomment-411547382,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE1jATHqewYlVwCZbxqPwuOw3sdNnSGOks5uO07TgaJpZM4Vy_ro
.

Yes, early next week should work for me, email me to ensure I get the notification

Moving to #53 as it uses the same keyboard


Prepare v2.0.2 release

          1 Message

:book:
We really appreciate pull requests that demonstrate issues, even without a fix. That said, the next step is to try and fix the failing tests!

  Generated by :no_entry_sign: Danger


See my events

There should be nice for us to have a menu option, to show a list of events that i am the author. Like we have in "My proposals". With the same layout of the Events page.

Hey @luanfonceca I think I can do this :)
I'll talk to you on gitter when I'll do it ok?

Can you get another one @gtsalles, this issue will be used for a software maintenance course in my university by @hugoandregg :(

Sure, no problem :)

Closing this with the PR #125


Adding a demo of integrating StreamNative's Ursa cluster

Add a demo of integrating StreamNative's Ursa cluster.

Let's create a different demo folder "integration-demos"


[BUG] Extractor pipeline is not working only in 1 specific repo

Release version
v<IP_ADDRESS>
Describe the bug
The pipeline is running successfully, but it is not creating a new branch or pull request in the repository.

I have verified repository has all permission in place

Expected behavior
After running the extractor pipeline, it should create a new branch and also generate a pull request.
Actual behavior
The pipeline has run successfully, and I can confirm that the artifacts are visible in the extractor pipeline as well.

I am not sure why new branch is not getting created in ado repo
Reproduction Steps
.

@guythetechie , @waelkdouh  The repository was created with a .gitignore file:  Visual Studio, which is causing an issue: despite the pipeline running successfully, it does not create a new branch or pull request.