webmetro: init => unstable-20180426

Motivation for this change
Interesting new server for streaming webm video.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build webmetro

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: webmetro
Partial log (click to expand)
Cannot nix-instantiate `webmetro' because:
error: while evaluating 'callPackageWith' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:113:35, called from /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/top-level/all-packages.nix:12984:14:
while evaluating 'makeOverridable' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:72:24, called from /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:117:8:
syntax error, unexpected ID, expecting '.' or '=', at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/servers/webmetro/default.nix:31:12

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: webmetro
Partial log (click to expand)
Cannot nix-instantiate `webmetro' because:
error: while evaluating 'callPackageWith' at /home/ofborg/ofborg1/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/builder-7c6f434c1/lib/customisation.nix:113:35, called from /home/ofborg/ofborg1/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/builder-7c6f434c1/pkgs/top-level/all-packages.nix:12984:14:
while evaluating 'makeOverridable' at /home/ofborg/ofborg1/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/builder-7c6f434c1/lib/customisation.nix:72:24, called from /home/ofborg/ofborg1/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/builder-7c6f434c1/lib/customisation.nix:117:8:
syntax error, unexpected ID, expecting '.' or '=', at /home/ofborg/ofborg1/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/builder-7c6f434c1/pkgs/servers/webmetro/default.nix:31:12

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: webmetro
Partial log (click to expand)
Cannot nix-instantiate `webmetro' because:
error: while evaluating 'callPackageWith' at /var/lib/gc-of-borg/nix-test-rs-27/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-27/lib/customisation.nix:113:35, called from /var/lib/gc-of-borg/nix-test-rs-27/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-27/pkgs/top-level/all-packages.nix:12984:14:
while evaluating 'makeOverridable' at /var/lib/gc-of-borg/nix-test-rs-27/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-27/lib/customisation.nix:72:24, called from /var/lib/gc-of-borg/nix-test-rs-27/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-27/lib/customisation.nix:117:8:
syntax error, unexpected ID, expecting '.' or '=', at /var/lib/gc-of-borg/nix-test-rs-27/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-27/pkgs/servers/webmetro/default.nix:31:12

Success on aarch64-linux (full log)
Attempted: webmetro
Partial log (click to expand)
cp: -r not specified; omitting directory 'target/release/native'
cp: -r not specified; omitting directory 'target/release/deps'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/zq71a41r3m06q8jpxkdj6vh9miv8kk7r-webmetro-unstable-20180426
shrinking /nix/store/zq71a41r3m06q8jpxkdj6vh9miv8kk7r-webmetro-unstable-20180426/bin/webmetro
strip is /nix/store/jk6j4lh9v5mvjdbdc35sj0zffhhf6s56-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/zq71a41r3m06q8jpxkdj6vh9miv8kk7r-webmetro-unstable-20180426/bin
patching script interpreter paths in /nix/store/zq71a41r3m06q8jpxkdj6vh9miv8kk7r-webmetro-unstable-20180426
checking for references to /build in /nix/store/zq71a41r3m06q8jpxkdj6vh9miv8kk7r-webmetro-unstable-20180426...
/nix/store/zq71a41r3m06q8jpxkdj6vh9miv8kk7r-webmetro-unstable-20180426


Index order is not correct

Problem Description
The index order should be 0,1,2,3,4,5.....10,11,12,13
Not 0,1,10,11,12,13...

Versions

Spyder version: Spyder 4.0.0 beta4
Python version: Python 3.7.3
Qt version:  Qt version 5.9.7
PyQt version: PyQt5 5.10.1
Operating System name/version: Win10

Thanks for reporting. This will be fixed in beta5.


Clarify procedural documentation

The documentation in Contributing.md and ChangeAndReleaseManagement.md needs updating, clarification, and cross-references. For example:

Explain how to use a precommit hook for the serializer

Fixed in PR #573.


Keys are not getting clicked from console

Hi,
I have used your package react-simple-keyboard in my project. However, to implement automation testing or selenium, I am finding it difficult to implement click method on the keys.
For example
if I enter the below statement on the console and by 5th element of  is '3' on the keyboard.
document.getElementsByTagName('span')[5].click();
'3' is not getting typed on the input field.
can you please help?

Hello @chetrix,
You might find react-simple-keyboard unit tests useful:
https://github.com/hodgef/react-simple-keyboard/blob/master/src/lib/components/tests/Keyboard.test.js#L103
Specifically clicking a button, like so:
keyboard.getButtonElement("q").onclick();

https://hodgef.com/simple-keyboard/documentation/methods/getbuttonelement/
One thing to keep in mind is that simple-keyboard uses PointerEvents by default, so you might have to use button.onpointerdown() and button.onpointerup() instead.
If you would like to use mouse events, you can use the option useMouseEvents.
Hope that helps,
Francisco Hodge

thank you so much. it worked like a charm


ADBDEV-6641: Rework Fix gprestore/gpbackup hanging in case the helper goes down

Rework Fix gprestore/gpbackup hanging in case the helper goes down
Commit 8060b4e starts a goroutine in gpbackup/gprestore which polls every 5
seconds if the helper has failed and cancels pending COPY commands via the
execution context. I think it's a big overhead to execute commands via ssh so
often, especially on large clusters.
In case of a fatal error on the helper, gprestore/gpbackup could hang forever.
gprestore hung because the COPY command was expecting data from a pipe file
(via 'cat <pipe_file>') which was deleted in the helper's DoCleanup function
before any data was put into the pipe by the restore helper, when the restore
helper exited due to some error. gpbackup hung for similar reasons - the backup
helper exited before it opened the pipe for reading.
The new solution is quite simple: on exit, if was not sigpiped, the helper
opens and closes the pipes that the COPY command is waiting for, which also
causes it to exit. Now we don't need pipe lists in helpers, because an error in
a helper can occur before these lists are filled.
The test has been modified to show and fix more relevant results.

With this patch, in case the error happened on the helper very early (for ex, error was returned by getOidWithBatchListFromFile()), restore will hang.
Try this patch to simulate an error:
diff --git a/helper/restore_helper.go b/helper/restore_helper.go
index 7d08f5d8..ce9e4f63 100644
--- a/helper/restore_helper.go
+++ b/helper/restore_helper.go
@@ -152,6 +152,7 @@ func doRestoreAgent() error {
        readers := make(map[int]*RestoreReader)

        oidWithBatchList, err := getOidWithBatchListFromFile(*oidFile)
+       err = errors.New("test")
        if err != nil {
                return err
        }

and perform steps:

create a 3 segment cluster, and create and fill with some data several tables there (I used 3 in my test);
do backup with a plugin:
gpbackup --verbose --dbname postgres --plugin-config <PATH_TO_PLUGIN_CONFIG>
re-create a 1 segment cluster;
try to restore:
gprestore --verbose --plugin-config <PATH_TO_PLUGIN_CONFIG> --resize-cluster -timestamp <TIMESTAMP>

With this patch, in case the error happened on the helper very early (for ex, error was returned by getOidWithBatchListFromFile()), restore will hang.
Try this patch to simulate an error:
diff --git a/helper/restore_helper.go b/helper/restore_helper.go
index 7d08f5d8..ce9e4f63 100644
--- a/helper/restore_helper.go
+++ b/helper/restore_helper.go
@@ -152,6 +152,7 @@ func doRestoreAgent() error {
        readers := make(map[int]*RestoreReader)

        oidWithBatchList, err := getOidWithBatchListFromFile(*oidFile)
+       err = errors.New("test")
        if err != nil {
                return err
        }

and perform steps:
1. create a 3 segment cluster, and create and fill with some data several tables there (I used 3 in my test);

2. do backup with a plugin:
   `gpbackup --verbose --dbname postgres --plugin-config <PATH_TO_PLUGIN_CONFIG>`

3. re-create a 1 segment cluster;

4. try to restore:
   `gprestore --verbose --plugin-config <PATH_TO_PLUGIN_CONFIG> --resize-cluster -timestamp <TIMESTAMP>`

fixed

With this patch, in case the error happened on the helper very early (for ex, error was returned by getOidWithBatchListFromFile()), restore will hang.
Try this patch to simulate an error:
diff --git a/helper/restore_helper.go b/helper/restore_helper.go
index 7d08f5d8..ce9e4f63 100644
--- a/helper/restore_helper.go
+++ b/helper/restore_helper.go
@@ -152,6 +152,7 @@ func doRestoreAgent() error {
        readers := make(map[int]*RestoreReader)

        oidWithBatchList, err := getOidWithBatchListFromFile(*oidFile)
+       err = errors.New("test")
        if err != nil {
                return err
        }

and perform steps:
1. create a 3 segment cluster, and create and fill with some data several tables there (I used 3 in my test);

2. do backup with a plugin:
   `gpbackup --verbose --dbname postgres --plugin-config <PATH_TO_PLUGIN_CONFIG>`

3. re-create a 1 segment cluster;

4. try to restore:
   `gprestore --verbose --plugin-config <PATH_TO_PLUGIN_CONFIG> --resize-cluster -timestamp <TIMESTAMP>`

fixed

The issue is still reproduced on my side. Here is the backup I used for your reference
plugin_dest.tar.gz

The issue is still reproduced on my side.

fixed again

I've backed up data from a 6-segment cluster and injected an error in the data (backup data attached - 6-segment-backup-with-error.tar.gz).
When I try to restore to a 3-segment cluster with jobs:
gprestore --verbose --plugin-config <PATH_TO_PLUGIN_CONFIG> --resize-cluster --jobs 3 -timestamp<PHONE_NUMBER>1608
the restore hangs.

I've backed up data from a 6-segment cluster and injected an error in the data (backup data attached - 6-segment-backup-with-error.tar.gz).
When I try to restore to a 3-segment cluster with jobs: gprestore --verbose --plugin-config <PATH_TO_PLUGIN_CONFIG> --resize-cluster --jobs 3 -timestamp<PHONE_NUMBER>1608 the restore hangs.

Reproduced, but the behavior is very strange: helpers did not complete, but expect something from zombie-plugins.

I've backed up data from a 6-segment cluster and injected an error in the data (backup data attached - 6-segment-backup-with-error.tar.gz).
When I try to restore to a 3-segment cluster with jobs: gprestore --verbose --plugin-config <PATH_TO_PLUGIN_CONFIG> --resize-cluster --jobs 3 -timestamp<PHONE_NUMBER>1608 the restore hangs.

Reproduced, but the behavior is very strange: helpers did not complete, but expect something from zombie-plugins.

I returned contexts to successfully handle the situation when the helper dies with signal 9 or 11.

It looks that --on-error-continue is not working properly now.
If I use previously attached 6-segment backup with injected error on a 1-segment cluster with --on-error-continue:
gprestore --verbose --plugin-config <PATH_TO_PLUGIN_CONFIG> --resize-cluster --jobs 1 -timestamp<PHONE_NUMBER>1608 --on-error-continue

it hangs for 300 sec timeout on 2nd and 3rd tables, and finally doesn't restore them.

gprestore --verbose --plugin-config <PATH_TO_PLUGIN_CONFIG> --resize-cluster --jobs 1 -timestamp<PHONE_NUMBER>1608 --on-error-continue

This is not a problem with this patch, because it is reproduced without it!


Remove expand_config

Now that k2recon has been merged, we should no longer depend on expand config.

When I remove expand_config, keyPair templating changes in a breaking way: ```diff --git a/Users/dwat/.kraken/dewMaybe_noexpand/keypair/module.tf b/Users/dwat/.kraken/dewMaybe/keypair/module.tf
index b575adf..c9b4049 100644
--- a/Users/dwat/.kraken/dewMaybe_noexpand/keypair/module.tf
+++ b/Users/dwat/.kraken/dewMaybe/keypair/module.tf
@@ -3,7 +3,7 @@ variable "keypairs_name" {}
resource "aws_key_pair" "defaultKeyPair" {
key_name = "${var.keypairs_name}_defaultKeyPair"

public_key = "${file("$HOME/.ssh/id_rsa.pub")}"

public_key = "${file("/root/.ssh/id_rsa.pub")}"
}```

The problem is that expand_config is even more magical than I thought. It also expands environment variables in the k2 config file.
def expand_envs(obj):
  if isinstance(obj, dict):
    return { key: expand_envs(val) for key, val in obj.items()}
  if isinstance(obj, list):
    return [ expand_envs(item) for item in obj ]
  if isinstance(obj, basestring):
    return os.path.expandvars(obj)
  return obj

The terraform templating for credentials and keyPairs uses the file() built-in interpolation function According to the documentation the path is relative to the working directory, which is a little confusing to me in view of this code In any case, the problem is real and recent: https://github.com/hashicorp/terraform/issues/6193
So I am keeping expand_config for now and just limiting it to only expanding environment variables.


Problem with Collaborative plugin - ace.js

Hi,
I have one problem in Codiad with plugin Collaborative if other user typing in the code.
Error in console : "ace.js:1 Uncaught TypeError: Cannot read property 'row' of undefined"
Tested with Chrome, Firefox and Edge.
Thank you!
Greetings from France

This plugin is not part of the core anymore. See here for further support https://github.com/Codiad/Codiad-Collaborative

Codiad don't have anymore collaborative support?

@mgurgev
There's a temporary workaround I found by downgrading the ace.js file to an older version. I'm not sure if anyone has made an official fix yet.
https://github.com/Codiad/Codiad-Collaborative/issues/10#issuecomment-213799614

So does Codiad support collaborative editing? it's the only feature I really need...

I have got it to work with the workaround but there are some minor problems with it.
Because the collaborative system keeps it's own shadow copy of files, if you edit a file externally then open it in Codiad, you'll see the updated data briefly before it is replaced with the older version. Also, if several people are working on the same file, the I-beams indicating a collaborator's position in the document don't disappear completely.
In a project I'm working on the collaboration feature in Codiad is essential, so at some point in future I'll be attempting to fix it.

In a project I'm working on the collaboration feature in Codiad is essential, so at some point in future I'll be attempting to fix it.

Good news :+1:
When you say "edit a file externally" you mean during a session? would it be also the case when using git to update a tree?

@JamoDevNich you are welcome to merge your fixes.
In my opinion the whole collaboration component needs some kind of rewrite.

So I should not go with Codiad if it's the feature I'm looking for?

@gregfr For now, I can't recommend the plugin (until it's fixed). I've disabled it on my install because both Atom and Codiad are used for development. If you're using only Codiad then you're good to go.


[Keras] Conv2DTranspose constfolding issue with variable batch size.

TF Version
TF 2.10
Gist of the issue
The Conv2DTranspose does not behave the same when batch_size is fixed (e.g. batch_size=32) and when it's variable (e.g. batch_size=None). The problem seems to reside in the way constant_folding is working or in the way input_sizes is managed (which in this context is actually meaning the output shape).
Google Colab for Repro
Full repro case in detail: https://colab.research.google.com/drive/1sv3c8KqcK1lcUKmvJAAQheSU9VPiJH6N?usp=sharing
A picture is worth a thousands word
1. Let's create the model
Picture the most basic model using Conv2DTranspose
def create_model(batch_size=None):
  inputs = keras.layers.Input((128, 128, 3), dtype=tf.float32, batch_size=batch_size)

  net = keras.layers.Conv2DTranspose(filters=32, kernel_size=(3, 3))(inputs)

  model = keras.models.Model(inputs=inputs, outputs=net)
  return model

Fixed BS:

Variable BS:

So far so good, everything looks the same ...
2. Freeze + ConstFold + Plot
Now let's freeze the graph and plot the resulting graphdef:
Fixed BS:

Variable BS:

Conclusion
I hope the difference is fairly self explanatory, and that's a problem because that's a very different graph for inference and a lot more complicated graph to optimize by compilers (e.g. TF-TRT, XLA, TF Lite, TVM, etc).
The input_sizes tensor should have been const folded, it's perfectly independent of input batch size. There's no reason to the best of my knowledge that the const folding behavior changes by changing the BS value.
My guess is that the shape tensor is seen as variable because of one value being None, however the None dimension is not being used and therefore the slice of the Shape tensor is perfectly static in this case and should have been const folded.
To go further
It should not be runtime computed when the shape are perfectly static, we should not need to constfold this graph in the first place. This could be perfectly computed in python when all the shapes are defined. This is very expensive to compute over and over at each iteration even in training.
A very similar issue was fixed with a different layer here, we should consider a similar fix here: https://github.com/tensorflow/tensorflow/pull/31450/files

Related TF Issue: https://github.com/tensorflow/tensorflow/issues/57853

@gadagashwini I was able to replicate the issue on colab, please find the gist here for reference. Thank you!

@DEKHTIARJonathan
Thank you for the report, this is a very interesting finding. I do have a few questions:

First, the colab you linked doesn't work as-is, a lot of utility functions you used are not defined: get_model_func, fx_to_graphdef, get_constfolded_graphdef_from_fx, graphdef_to_dotfile etc.
The colab has a bunch of Conv2D not a Conv2DTranspose. But my question is, it this issue very specific to Conv2DTranspose or more general? Does it apply to all convolutions? All layers?
The implementation of Conv2DTranspose is pretty straightfoward and basically calls the Tensorflow op. At this stage, do you understand where those extra operations come from?

@DEKHTIARJonathan
I found the utility functions in the other bug report and I was able to perform the analysis for Conv2DTranspose. Now I understand what the issue is and where it comes from.
The issue is that tf.nn.conv2d_transpose takes the output_shape as input and output_shape is expected to have all the dimensions, included the batch size. So what is done today is tf.shape then slice then stack to integrate the dynamic batch size in output_shape, and output_shape cannot be const.

The input_sizes tensor should have been const folded, it's perfectly independent of input batch size.

input_sizes in the implementation is what's called output_shape in tf.nn.conv2d_transpose, and unfortunately it's not independent of the batch size because it contains the batch size.
Now, what's interesting, is this: https://github.com/tensorflow/tensorflow/commit/9dadbb283d04d8df54fad48e9faee7a51b769098 , which was done specifically to solve the issue you're pointing out.
The non-XLA implementation of Conv2DBackpropInput has an affordance for passing a 2 value tensor (height, width) instead of a 4 value tensor, in which case it infers the batch size from the input and the channels from the filter. However, the XLA implementation of Conv2DBackpropInput absolutely requires the 4 values, and the batch size has to have a correct value (not -1 for instance).
So the way forward would be to add this same logic in the XLA implementation to allow passing (height, width) only.


chore: standard semantic release rules

Description
Remove the custom release version calculation rules: feat -> patch, braking -> minor, feat(MAJOR) -> major.
Motivation and Context
There were no braking changes recently, we can assume the code is major enough not to produce tons of major versions.
We also need to align the rules for calculating releases with pan-os-ansible project.
How Has This Been Tested?

Screenshots (if appropriate)

Types of changes

Checklist

[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes if appropriate.
[ ] All new and existing tests passed.

Shall we wait for the #128 merge which would be a breaking change before merging this?

:tada: This PR is included in version 1.0.0 :tada:
The release is available on PyPI and GitHub release

Posted by semantic-release bot


Dataset disappears when "Proportional symbol" vis selected

Dataset disappears when "Proportional symbol" vis selected
Steps to reproduce

Load any dataset
Switch item visualization of numerical column to Proportional symbol

fixed in https://github.com/datavisyn/lineupjs/commit/a889ce548cab6a6c967007fe03601701b41d6395#diff-8982e6863f958abb4d030707c708d487


Error: cts.tcl, 110 couldn't execute "eqy": no such file or directory, asap7 jpeg

Describe the bug
Run: ./build_openroad --local --latest
To reproduce:
$ make DESIGN_CONFIG=designs/nangate45/gcd/config.mk generate_abstract
[deleted]
OpenROAD v2.0-10646-g0dff30da2
[deleted]
[WARNING RSZ-0062] Unable to repair all setup violations.
[INFO RSZ-0033] No hold violations found.
Error: cts.tcl, 110 couldn't execute "eqy": no such file or directory
Command exited with non-zero status 1
Elapsed time: 0:03.21[h:]min:sec. CPU time: user 3.18 sys 0.02 (99%). Peak memory: 111884KB.
make[1]: *** [Makefile:669: do-4_1_cts] Error 1
make: *** [Makefile:669: results/nangate45/gcd/base/4_1_cts.odb] Error 2

Expected Behavior
Should run to completion without error
Environment
Git commit: e70606743bb66db93f0a918975bff23455ad16c5
kernel: Linux 6.2.0-32-generic
os: Ubuntu 23.04 (Lunar Lobster)
cmake version 3.25.1

To Reproduce
See above
Relevant log output
No response
Screenshots
No response
Additional Context
No response

@maliberty @vvbandeira I updated the testcase. No need for a giant download, happens with make DESIGN_CONFIG=designs/nangate45/gcd/config.mk generate_abstract
Works with make DESIGN_CONFIG=designs/asap7/gcd/config.mk generate_abstract though...

@vvbandeira please update

Both I and one of my students ran into this. I think one of the main problems is that there are default designs, e.g. nangate45/gcd, which have equivalence checking turned on. There either needs to be a check for whether eqy is actually installed, or EQUIVALENCE_CHECK = 1 needs to be removed from designs.

@vvbandeira perhaps we can just call eqy from Jenkins (as the default)

I had the same issue and had to follow the comment here https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/issues/1513#issuecomment-1741746622 to fix it. Thanks.

This should be resolved once https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/1751 is merged

#1751 was replaced by #1754

@kush-manchanda
Could you try again with the latest code? Please also make sure to source env.sh before running the flow if you used sudo ./setup.sh to install the dependencies.

@vvbandeira cloned it again and did the build locally. It worked fine.


fix: point docs to graph tooling for example subgraph

In plans to unify all tooling, one of the things we did last week was migrate all the example subgraphs to graph-tooling https://github.com/graphprotocol/graph-tooling/pull/1204 and we are going to archive the example-subgraphs repo https://github.com/graphprotocol/example-subgraphs/pull/5. So merging this docs is the last step for us to be able to archive the old example subgraph repo.

I think this LGTM - just checking with @benface that changing all the non "en" language pages will be ok with Crowdin?

@azf20 – Sorry for the delay. It will be "ok" in the sense that it'll work for now, but unless translators apply the same changes in Crowdin (which they should because changing the source string will mark the translated strings as outdated, but it might take some time), they will be overwritten the next time we merge the Crowdin PR.


Scorer super init, should be dict

https://github.com/bigdong89/xgboostExtension/blob/18d4b8bb5fc0dfb13f2b2af590fd5adc7f5232c8/xgboostextension/scorer/__init__.py#L25
On the above line, should be {} instead of None, otherwise pickling (for parallel CV) will still not work.
Also note that this functionality is not present in the pip packages, I think the classes are not registered for packaging or smth.
Finally, I find the multiple classes quite too much, the same can be achieved with a single class in the style of:
class RankingScorer(_BaseScorer):
    def __init__(self, score_func, sign=1, k=None, stats=False):
        """
        Base class for applying scoring functions to ranking problems.
        This class transforms a ranking metric into a scoring function
        that can be applied to estimations that take a group indicator in
        their first column.

        Parameters
        ----------
        sign: maximize/minimize
        k: optional, if @k scorer
        stats: metric from scipy.stats, e.g. only use [0] element
        """
        super(RankingScorer, self).__init__(
            score_func,
            sign,
            {}
        )
        self.k = k
        self.stats = stats

    # First column of X has to be the group indicator
    def __call__(self, estimator, X, y, sample_weight=None):
        group_labels = X[:,0]
        (sizes, order_ixs) = group_col2len(group_labels)

        # reorder X and y (assumption of predictor)
        X = X[order_ixs, 1:]
        y = y[order_ixs]

        y_predicted = estimator.predict(X)
        return self.val(sizes, y, y_predicted)

   # also easy for non-sklearn access
    def val(self, sizes, y_true, y_pred):
        # indices at which to split
        split_indices = np.cumsum(sizes)[:-1]

        # Split into a different set for each query
        y_true_split = np.split(y_true, split_indices)
        y_pred_split = np.split(y_pred, split_indices)

        # Go through each query and calculate the statistic's value
        results = np.zeros(sizes.shape[0])
        for i, (yg_true, yg_pred) in enumerate(zip(y_true_split, y_pred_split)):
            r = None
            if self.k == None:
                r = self._score_func(yg_true, yg_pred)
            else:
                r = self._score_func(yg_true, yg_pred, self.k)

            if self.stats:
                r = r[0] # scipy.stats returns (val, significance)
            results[i] = r

        # Return the average over all statistics
        return self._sign * results.mean()

You are right about the first point! I've noticed that #7 introduced some other small bugs. I'll create a new PR to fix those.
Regarding the PyPi package: I think this new functionality has not yet been published to PyPi by @bigdong89.
For the last point, I would be fine merging the _make_grouped_metric into the Scorer class like you propose. I would support a PR for that.

Going to publish it to PyPi

@FlorisHoogenboom
going to add you as collaborator on pypi. I need your pypi accounts

Sure, FlorisHoogenboom

new package has been uploaded to pypi.
However, I have no py3 environment issue #10


Variables after an inline table get pulled into the table

If I parse this toml and dump it (echo $input | ./main -d) it seems like the second table is getting added to the first:
name = { first = "Tom", last = "Preston-Werner" }
point = { x = 1, y = 2 }

produces:
[name]
first = "Tom"
last = "Preston-Werner"
	[name.point]
	x = 1
	y = 2

But the following input (avoiding the inline tables feature):
[name]
first = "Tom"
last = "Preston-Werner"

[point]
x = 1
y = 2

Produces different output:
[name]
first = "Tom"
last = "Preston-Werner"

[point]
x = 1
y = 2

According to the spec these should be equivalent.

I believe these are fixed with my latest commits along with support for nested inline tables.


Fixed wrong keyboard shortcuts for Visual Studio in getting-started-with-github-copilot.md

Why:
The proof is in the Options -> Environment -> Keyboard -> Edit.NextSuggestion or Edit.PreviousSuggestion keyboard shortcuts in Visual Studio if you have installed Visual Studio with Copilot.

I think the mistake is due to the fact that Visual Studio Code tools use Alt+] and Alt+[, but not Visual Studio.

What's being changed (if available, include any code snippets, screenshots, or gifs):
The Keyboard shortcuts showed in the Github Copilot getting started page for Visual Studio for Next Suggestion and Previous Suggestion.

Check off the following:

[x] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

@DomenicoAltieri Thanks so much for opening a PR! I'll get this triaged for review :zap:

I'm seeing these two shortcuts in VS

Thank you for checking @ayim ❤ I have now been able to verify this issue specifically for cycling through suggestions on my machine.
Thank you @DomenicoAltieri for highlighting this and raising the PR. I will get this reviewed and merged for you. :sparkles:


Submit button not visible on small screen sizes when in windowed mode

When using the application, users cant access the submit button in windowed mode, necessitating a switch to Fullscreen for pressing the button "submit". Needs slight repositioning of the submit button in windowed mode, eliminating the need for fullscreen access.

Fixed in #7
Window now automatically adjusts to fit the required size


Meta to stderr

Adds --errmeta option which tells the lib to output --info and --rejected information (ie, non-CSS output) to stderr instead of stdout. Allows users to easily filter out stuff that isn't the final CSS, as in:
$ purifycss my.css my.html my.js --rejected --errmeta >purified.css 2>purified.meta

Ignore this, messed up the git history


Async posts

We add in a new environment variable CHUNK_SIZE which should be set in the deployed environments to 6


text color

need improvement in the text color its not matching the theme please assign me under the gssoc

I want to work on this project.Please assign this issue to me.

I would like to work on this issue. please assign it to me.

i would like to work on this issue. Please assign it to me

hi @PranavSangave can u label some issues under gssoc? we can't contribute to them otherwise

hi @TeeWrath can u label some issues under gssoc? we can't contribute to them otherwise

@TeeWrath *

kindly assign me this issue


In "runupdate" wait for crowbar service to restart

The zypper command might update the crowbar packages and trigger a restart
of the service. Wait for the crowbar service to answer queries before
continuing with the next mkcloud step.

+1

+1


[WIP] Make Engine the owner of all Func instead of Store

The effect of this is that accessing Wasm function should become faster whereas dispatching host functions probably is getting a bit slower. Due to the new built-in fuel meterin one can expect fewer host function calls to happen in those use cases where fuel metering is enabled and therefore it makes sense to optimize Wasm function calls over host function calls.
With this PR the Store is only going to own the host function trampolines/closures. This is due to the fact that the Store is generic over the host state which is required for those host function trampolines while the Engine type is non-generic and therefore cannot store those generic instances.

The diff coverage is 29.70%.

@@            Coverage Diff             @@
##           master     #684      +/-   ##
==========================================
- Coverage   81.05%   80.40%   -0.65%
==========================================
  Files         100      102       +2
  Lines        8478     8550      +72
==========================================
+ Hits         6872     6875       +3
- Misses       1606     1675      +69

Impacted Files
Coverage Δ

crates/wasmi/src/func/mod.rs
76.47% <ø> (-4.24%)
:arrow_down:

crates/wasmi/src/engine/func_registry.rs
3.38% <3.38%> (ø)

crates/wasmi/src/engine/mod.rs
77.03% <7.69%> (-4.60%)
:arrow_down:

crates/wasmi/src/func/host_func.rs
93.10% <93.10%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

It was found that the design introduced in this PR would make Wasm functions disconnect from their instances which renders optimizations ineffective. What is needed instead is a differentiation at Wasm module compile time for function calls to either imported or module internal functions since it is possible to speed up module internal Wasm function calls. Currently we treat all functions the same and therefore internal function calls cannot profit from potential optimizations.


add KServe and KNative to deployKF

Checks

[X] I have searched the existing issues.
[X] This request is NOT specific to the CLI. (Please open a CLI issue)

Motivation
We would like to add support for KServe in Serverless mode, which also requires KNative.
While users can already install KServe alongside deployKF manually, we want to make it an official part of deployKF.
We need to discuss the best way to achieve this, while not encouraging users to do something that is dangerous for themselves. Namely, for production use-cases, it might not make sense for users to run serving and training in the same cluster, as you don't want training jobs taking down production API endpoints.
Implementation
No response
Are you willing & able to help?

[X] I am able to submit a PR!
[X] I can help test the feature!

For those wanting to use KServe with the current version of deployKF, please see the following discussion:

https://github.com/orgs/deployKF/discussions/78


MinGW-w64 failed: error: cast from 'BSTR {aka wchar_t*}' to 'int'

D:/mini_tool/third_party/hwinfo/include/hwinfo/WMIwrapper.h:91:23: error: cast from 'BSTR {aka wchar_t*}' to 'int' loses precision [-fpermissive]
       value.push_back((T)((bstr_t)vtProp.bstrVal).copy());
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make32[2]: *** [third_party\hwinfo\src\CMakeFiles\HWinfo.dir\build.make:406: third_party/hwinfo/src/CMakeFiles/HWinfo.dir/windows/cpu.cpp.obj] Error 1
make32[1]: *** [CMakeFiles\Makefile2:140: third_party/hwinfo/src/CMakeFiles/HWinfo.dir/all] Error 2
make32: *** [Makefile:90: all] Error 2

Hi, could you please provide the full error stack?
Also could you built the example project?

OS: windows 10
MinGW-W64 version: gcc version 7.3.0 (x86_64-win32-seh-rev0, Built by MinGW-W64 project)
step
git clone https://github.com/lfreist/hwinfo
mkdir build
cd build
cmake -G "Unix Makefiles" ..
make

and got the error:
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/include/hwinfo/WMIwrapper.h: In instantiation of 'bool hwinfo::wmi::queryWMI(const string&, std::__cxx11::string, std::vector<T>&, const string&) [with T = const wchar_t*; std::__cxx11::string = std::__cxx11::basic_string<char>]':
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/src/windows/cpu.cpp:31:58:   required from here
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/include/hwinfo/WMIwrapper.h:79:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       value.push_back((T)vtProp.intVal);
                       ^~~~~~~~~~~~~~~~
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/include/hwinfo/WMIwrapper.h:81:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       value.push_back((T)vtProp.boolVal);
                       ^~~~~~~~~~~~~~~~~
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/include/hwinfo/WMIwrapper.h:83:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       value.push_back((T)vtProp.uintVal);
                       ^~~~~~~~~~~~~~~~~
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/include/hwinfo/WMIwrapper.h:85:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       value.push_back((T)vtProp.uiVal);
                       ^~~~~~~~~~~~~~~
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/include/hwinfo/WMIwrapper.h: In instantiation of 'bool hwinfo::wmi::queryWMI(const string&, std::__cxx11::string, std::vector<T>&, const string&) [with T = int; std::__cxx11::string = std::__cxx11::basic_string<char>]':
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/src/windows/cpu.cpp:93:58:   required from here
C:/Users/WDAGUtilityAccount/Downloads/hwinfo-main/include/hwinfo/WMIwrapper.h:91:23: error: cast from 'BSTR {aka wchar_t*}' to 'int' loses precision [-fpermissive]
       value.push_back((T)((bstr_t)vtProp.bstrVal).copy());
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/HWinfo.dir/build.make:407: src/CMakeFiles/HWinfo.dir/windows/cpu.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:134: src/CMakeFiles/HWinfo.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

This library requires C++17, and gcc 7 doesn't support it. Can you upgrade it to gcc 8 or greater?

#31

@facug91
gcc 8 still got the same error

Then it seems to be a problem in Windows with the conversion performed in WMIwapper.h. At the moment, I don't have a Windows machine to test it, so I can't fix it either.

@facug91  yeah, MinGW-w64 doesn't work well with WMI, it's an old problem.

@pigLoveRabbit520, I have fixed the MinGW build. Some of the WMI stuff does not work properly and the HWinfo library returns <unknown> or similar. However, it builds and runs the example successfully.
I will further debug the MinGW build. However, I hope it is working for you for now.
Please let me know, (if something)/whats missing for you.


Allow string on image arg

Is your feature request related to a problem? Please describe.
To use the lib you need to couple it with the PIL library, but I believe this shouldn't be a requirement.
Describe the solution you'd like
I think we should allow image to be of type str.
Describe alternatives you've considered
Maybe we could change the image type from Image to Image | str in order to keep retrocompatibility and add an if isinstance(image, str): image = Image.open(image).
Additional context
None.

Implemented on #65


[QAB] Showing fallback avatar when clicking on quick action button

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: needs reproduction
Reproducible in production?: needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @shawnborton
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1711619534568459
Action Performed:

Open ND app
Click on the global FAB icon
Look at the quick action button/short cut at the bottom

Expected Result:
The avatar should be a real user, but it's a fallback avatar. Also, when you go through the flow, there is no user pre-selected and you have to manually pick a contact to send money to.
Actual Result:
No real user/avatar is present.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

cc @Gonals since we chatted about this one in Slack

So I think for our expected results, we need to firm up a little on what we want here Alberto.
We want to hide the QAB if the app gets into a state where the destination is not known (which in the UI results in that fallback avatar being displayed otherwise). Is that, right?

We're not clear on the reproduction steps to make this happen. Going to close this one for now until we can consistently reproduce/diagnose what causes this.


Refactor SILCombiner code for better reuse and extensibility

This PR refactors SILCombiner code by
(1) Changing the return type of "propagateConcreteTypeOfInitExistential(FullApplySite Apply, WitnessMethodInst *WMI)" to a boolean instead of "SILInstruction *". Today, the return type is not used anywhere. See https://github.com/apple/swift/pull/17373.
(2) Adding a new method replaceWitnessMethodInst that abstracts out WMI creationfunctionality to a new function. No new new functionality added here.
(3) In function "createApplyWithConcreteType", the condition
"if (CEI.isCopied && !canReplaceCopiedSelf(Apply, CEI.InitExistential, DA))" was changed to
"if (CEI.isCopied && (!CEI.InitExistential ||
!canReplaceCopiedSelf(Apply, CEI.InitExistential, DA)))"
in order to handle scenarios where CEI.InitExistential is null. This happens for https://github.com/apple/swift/pull/17373.

@atrick @slavapestov could you guys review this PR quickly? I am blocked on this for my PR https://github.com/apple/swift/pull/17373

static bool canReplaceCopiedSelf(FullApplySite Apply,
                                 SILInstruction *InitExistential,
                                 DominanceAnalysis *DA) {
  // If the witness method mutates self, we cannot replace self with
  // the source of a copy. Otherwise the call would modify another value
than
  // the original self.
  if (Apply.getOrigCalleeType()->getSelfParameter().isIndirectMutating())
    return false;

The check above is independent of InitExistential and applies to my case.
So, I need to be checking that first.
Then, if it is Copied, then I do not wish to perform the optimization, at
least for now.
Are these two sufficient to replace the self with CEI.ConcreteValue?
On Mon, Jul 16, 2018 at 1:12 PM Andrew Trick<EMAIL_ADDRESS>wrote:

@atrick commented on this pull request.
In lib/SILOptimizer/SILCombiner/SILCombinerApplyVisitors.cpp
https://github.com/apple/swift/pull/17934#discussion_r202808771:

@@ -712,7 +729,8 @@ SILCombiner::createApplyWithConcreteType(FullApplySite Apply,
}
// The apply can only be rewritten in terms of the concrete value if it is
// legal to pass that value as the self argument.

if (CEI.isCopied && !canReplaceCopiedSelf(Apply, CEI.InitExistential, DA))

if (CEI.isCopied && (!CEI.InitExistential ||

                  !canReplaceCopiedSelf(Apply, CEI.InitExistential, DA)))

canReplaceCopiedSelf currently assumes that self is coming from an
init_existential, so you should not call it in your case, at least
without somehow generalizing it.
In the subsequent code, self is being replaced by the concrete value from
the existential (CEI.ConcreteValue). If the existential itself was
copied, then that's not generally valid!
In your case, how to you know it's safe to replace self with
CEI.ConcreteValue? What if the original self was copied?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apple/swift/pull/17934#discussion_r202808771, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFBwaTucsq3a8QzJEbfq-Ae2x-CCoZ7Dks5uHPPHgaJpZM4VPQKc
.

Are these two sufficient to replace the self with CEI.ConcreteValue?

I don't know. This is the most dangerous part of the code now because propagateConcreteTypeOfInitExistential is making an assumption about what its caller is doing and how ConcreteExistentialInfo was generated.
We need to establish some contract between ConcreteExistentialInfo and its clients. The client knows that the apply will be rewritten with ConcreteValue as the new self argument. If that's not clear, could you improve the comments?
So, in your new optimization, how can we guarantee that it's safe to replace self with ConcreteValue? In canReplaceCopiedSelf we have some very hacky but conservative logic that proves that a value being used in init_existential is still live at the call site. What SIL patterns can you handle now where self is an address? Can ConcreteValue and self be actually be a different memory location? If so, you could probably generalize canReplaceCopiedSelf to handle your cases.
Again, I don't think you should attempt to weaken the check at all until you have test cases for each pattern you need to optimize.

I am going to have to brainstorm with you a bit to get this fleshed out :)
For common scenarios that I am targeting:
protocol P {
func bar()
}
class C : P { // only confirming type of P
func bar() -> Int  {...}
}
class K {
let x:P
// x is initialized to a concrete type C in the constructor
func foo() {
self.x.bar()  // devirtualize this knowing that self.x can only be C.
}
}
The generated SIL for method foo looks something like this:
r1 = ref_element_addr %0 : $K, #K.x
o1 = open_existential_addr immutable_access r1 : $P to $@opened P
w1= witness_method $@opened P, #P.bar!1 :  (Self) ->
() -> Int, o1 : $*@opened P: $@convention(witness_method: P) <τ_0_0 where
τ_0_0 : P> (@in_guaranteed τ_0_0) -> Int
i1 = apply w1<@opened P>(o1) : $@convention(witness_method: P) <τ_0_0 where
τ_0_0 : P> (@in_guaranteed τ_0_0) -> Int
In this case, there are no IE or copy_addr in foo. It should still be safe
to perform a transformation that casts o1 to a type of C (where C is the
sole type conforming to P) and devirtualizes "apply". This scenario needs
that your check for
if (CEI.InitExistential && CEI.isCopied && !canReplaceCopiedSelf(Apply,
CEI.InitExistential, DA))
be relaxed somehow. One proposal is to add an extra field in the
OpenExistentialInfo to mark that it is a SoleConformingType scenario like
this
if (!CEI.SoleConformingType && CEI.InitExistential && CEI.isCopied
&& !canReplaceCopiedSelf(Apply, CEI.InitExistential, DA))
For cases when there is an IE and a copy_addr leading up to the
open_existential:  this scenario should have been already devirtualized by
existing propagateConcreteTypeOfInitExistential. Currently my pass is
invoked if existing propagateConcreteTypeOfInitExistential fails. Still, to
be safer, I could invoke findInitExistential in my pass and determine
IE/copy_addr and pass them to your createApplyWithConcreteType --
everything should work as is.
Sounds good?
On Mon, Jul 16, 2018 at 4:24 PM Andrew Trick<EMAIL_ADDRESS>wrote:

Are these two sufficient to replace the self with CEI.ConcreteValue?
I don't know. This is the most dangerous part of the code now because
propagateConcreteTypeOfInitExistential is making an assumption about what
its caller is doing and how ConcreteExistentialInfo was generated.
We need to establish some contract between ConcreteExistentialInfo and
its clients. The client knows that the apply will be rewritten with
ConcreteValue as the new self argument. If that's not clear, could you
improve the comments?
So, in your new optimization, how can we guarantee that it's safe to
replace self with ConcreteValue? In canReplaceCopiedSelf we have some
very hacky but conservative logic that proves that a value being used in
init_existential is still live at the call site. What SIL patterns can
you handle now where self is an address? Can ConcreteValue and self be
actually be a different memory location? If so, you could probably
generalize canReplaceCopiedSelf to handle your cases.
Again, I don't think you should attempt to weaken the check at all until
you have test cases for each pattern you need to optimize.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apple/swift/pull/17934#issuecomment-405410983, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFBwaTpZvllJD-5cs40kRhY9a3zwKcUIks5uHSCegaJpZM4VPQKc
.

Thanks for the example. I don't see why there would be an issue with this case; CEI.isCopied should be false...

This scenario needs that your check for
if (CEI.InitExistential && CEI.isCopied && !canReplaceCopiedSelf(Apply, CEI.InitExistential, DA))

I don't know where this expression came from, the condition for bailout in on your patch is currently:
CEI.isCopied && (!CEI.InitExistential ||
                   !canReplaceCopiedSelf(Apply, CEI.InitExistential, DA))

Maybe you would prefer to write the equivalent:
 if (CEI.isCopied) {
   if !(CEI.InitExistential
        && canReplaceCopiedSelf(Apply, CEI.InitExistential, DA))
      // BAILOUT

I could invoke findInitExistential in my pass and determine
IE/copy_addr and pass them to your createApplyWithConcreteType --
everything should work as is.

I'm not sure why you would do that. Is there a case that is not currently being optimized that you think should be optimized?

Hi,
That seems reasonable. Here is the new PR:
https://github.com/apple/swift/pull/18109/
Best,
Raj
On Wed, Jul 18, 2018 at 4:22 PM Andrew Trick<EMAIL_ADDRESS>wrote:

Thanks for the example. I don't see why there would be an issue with this
case; CEI.isCopied should be false...
This scenario needs that your check for
if (CEI.InitExistential && CEI.isCopied && !canReplaceCopiedSelf(Apply,
CEI.InitExistential, DA))
I don't know where this expression came from, the condition for bailout in
on your patch is currently:
CEI.isCopied && (!CEI.InitExistential ||
!canReplaceCopiedSelf(Apply, CEI.InitExistential, DA))
Maybe you would prefer to write the equivalent:
if (CEI.isCopied) {
if !(CEI.InitExistential
&& canReplaceCopiedSelf(Apply, CEI.InitExistential, DA))
// BAILOUT
I could invoke findInitExistential in my pass and determine
IE/copy_addr and pass them to your createApplyWithConcreteType --
everything should work as is.
I'm not sure why you would do that. Is there a case that is not currently
being optimized that you think should be optimized?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apple/swift/pull/17934#issuecomment-406104027, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFBwaS3uuGgFzD1Ud8GblPaOaOJDIItpks5uH8MngaJpZM4VPQKc
.

Refined version at https://github.com/apple/swift/pull/18109/


fix page order in pdf and more by using natural sort instead of python sort

Fixes #587
Fixes #595
So that's why we did number padding in the old sort method.
Related: #507
Windows EXE: https://github.com/axu2/kcc/actions/runs/6123144358
Mac DMG: https://github.com/axu2/kcc/actions/runs/6123143150

Thanks @axu2
I'll adapt dockers and such before merging this.

@darodi Could we get a hotfix v5.6.4 release with this included (and maybe some of the other easier pending PRs)? I see a little too many complaints about this related to pdf especially.
Looks like I broke pdf image extraction order too since our pdf extraction method names files without padding (0.jpg, 1.jpg... 10.jpg, etc.)

had problems with page number and this fixed it

@darodi could we get a mini-release with this fix included?

merging this.
I'll test docker build later and create a PR at that moment if this is needed


feat(): replace worker-client with internal workers

Short description of what this resolves:
In my cleancss.config.js and uglifyjs.config.js, I am dependent on npm args. However the worker-client is being spawned as another process, which is causing the args not to be passed.
Changes proposed in this pull request:

replace worker-client with local workers

Fixes: #463

Hi @alan-agius4,
We think there is a better approach here with passing the args to the worker itself rather than NOT using the worker. We don't intend to merge this at this time.
Could you make another PR where you pass the args to the worker?
Thanks,
Dan

@danbucholtz sure, I can do that


Error intitializing plugin with Interface

When a plugin project has an Interface, this error is thrown while starting up the v rising server:
[Error  :Bloodstone] System.NullReferenceException: Object reference not set to an instance of an object.
   at VampireCommandFramework.CommandRegistry.IsGenericConverterContext(Type rootType)
   at VampireCommandFramework.CommandRegistry.RegisterConverter(Type converter)
   at VampireCommandFramework.CommandRegistry.RegisterAll(Assembly assembly)
   at VampireCommandFramework.CommandRegistry.RegisterAll()
   at VcfErrorExposure.Plugin.Load()
   at Bloodstone.Features.Reload.LoadPlugin(String path)

I created an example plugin to demonstrate the issue:
https://github.com/cheesasaurus/v-rising-vcf-error-demo

Thanks for the great report @cheesasaurus. I'll hold off and encourage a PR as it looks like you already have a fork to fix this flaky check (which is equally flaky in IsSpecificConverterContext).


Set protocol: GoogleMapsScriptProtocol.HTTP always failed.

Hi,
Now i want use "http:maps.google.cn/maps/api/js" . so i set
"hostAndPath: 'maps.google.cn/maps/api/js' , protocol: GoogleMapsScriptProtocol.HTTP"
hostAndPath worked. But protocol not work.
Because  GoogleMapsScriptProtocol.HTTP= 0 , and GoogleMapsScriptProtocol.HTTPS = 1,
so if( 0 || 1) = 1 not 0.
It is a bug.Please fix it. Thanks.

For reference to those reading, the line 198 in lazy-maps-api-loader.ts is where it's evaluating (0 || 1) .
config.protocol = config.protocol || DEFAULT_CONFIGURATION.protocol;

@SebastianM I just update the latest version of google map. It's not fixed. The bug still there. I think you should try different test. Or maybe  my using way is wrong.
AgmCoreModule.forRoot({
apiKey: 'xxx-UT-nmViTlyxrP98IYnE3XXY',
hostAndPath: 'maps.google.cn/maps/api/js' ,
protocol: GoogleMapsScriptProtocol.HTTP
})
Thank you very much.


Release 0.7.4

update dependencies
npm audit fix
update ChangeLog

I merged this in. It was never released, but it had some dependency updates that are useful to get into master.
The 'support clipboard...' commit was already duplicated in master.


SAM Template for Cache Extensions

Issue #, if available:
#27
Description of changes:
Added SAM Template for deploying the sample Lambda application, Dynamo DB table and the Go Executable as a Lambda layer.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi @vamsivikash, please remove the .aws-sam directory from this PR. Also, there is a merge conflict that needs to be resolved before merging.

Hi @vamsivikash, please remove the .aws-sam directory from this PR. Also, there is a merge conflict that needs to be resolved before merging.


Javascrit error in main process

A user reported -

My brother saw this today when he tried to open the Zulip app. This happened every time he tried to switch to the app. When he quit and relaunched it worked ok.

https://chat.zulip.org/#narrow/stream/9-issues/topic/JavaScript.20error.20in.20the.20main.20process

@akashnimare might be a problem with electron, similar issue here .

Nah that warning's about having a lot of event emitter handlers set.
This bug is basically something that electron does temperamentally.

@vsvipul looks like a similar error which is coming from the electron.

@akashnimare I think this problem was addressed in #761, right? I haven't seen reports of a similar issue since then.

Yeah, I think we are good here.


Checking Python Version

The section that says:
"Make sure that you have Python on your machine using the following command: python -version" did not work, I had to type python -V

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

ID: fa22c539-d211-af5e-b5f1-415b835c6281
Version Independent ID: 2b44632b-017f-52e5-6f2c-e37ffec1f5b8
Content: Palo Alto Networks (Firewall) connector for Microsoft Sentinel
Content Source: articles/sentinel/data-connectors/palo-alto-networks-firewall.md
Service: microsoft-sentinel
GitHub Login: @cwatson-cat
Microsoft Alias: cwatson

@PaulSIsaac
Thanks for your feedback! We will investigate and update as appropriate.

Hi,
I just realized.  I had to replace python with python3 as well. I missed putting that in the note I sent.  Sorry.
Sent from my T-Mobile 5G Device
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: AjayBathini-MSFT @.>
Sent: Friday, January 5, 2024 11:22:23 PM
To: MicrosoftDocs/azure-docs @.>
Cc: Paul isaac @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Checking Python Version (Issue #118582)
@PaulSIsaachttps://github.com/PaulSIsaac
Thanks for your feedback! We will investigate and update as appropriate.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/118582#issuecomment-1879533805, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHYEW2ITWOZ4F2LPO3DZXVDYNDGP7AVCNFSM6AAAAABBO7ONVWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZZGUZTGOBQGU.
You are receiving this because you were mentioned.Message ID: @.***>

@PaulSIsaac
Thank you for bringing this to our attention! We've initiated a pull request (PR) to address this issue. Once the author reviews the changes, they will be merged, and the updates should go live shortly. Your diligence is much appreciated!


location of example blue bike data

Hi,
this repository could be very useful to help understand how an RML to LDES mapping works if there were just a bit more documentation. Here are a couple of problems I came across.

it would be useful if there were a small extract of blue-bike-data so that one can see what the structure of the input data being transformed is. This would just make it a lot easier to read the transformation RML.
I could find links to bluebike web sites from this repo, but not to the data being used or to documentation about the data. Searching the web gave me some links such as https://www.bluebikes.com/system-data but I found it difficult to work out which data set was being used, especially because there is no clear example here (see point 1 above).
I found a link to https://datapiloten.be/bluebike/availabilities.geojson in mapping-webapi-official.rml.ttl but I am not sure what that file is meant to be.

That would be just a matter of adding some links to the README explaining perhaps what some of the main files are doing, and what the roles of the directories are. Also a link to the helpful github workflows action would help to understand how to run things.

@DylanVanAssche ↑ can you take this?

it would be useful if there were a small extract of blue-bike-data so that one can see what the structure of the input data being transformed is. This would just make it a lot easier to read the transformation RML.

There's such a file in the root of the repository: bluebike.jsonld. I used this file to write the RML mappings.

I could find links to bluebike web sites from this repo, but not to the data being used or to documentation about the data. Searching the web gave me some links such as https://www.bluebikes.com/system-data but I found it difficult to work out which data set was being used, especially because there is no clear example here (see point 1 above).

I'm afraid this data is not Open Data, @pietercolpaert knows the details about the license and usage.
Because of that, we cannot share the live URL with the world.

I found a link to https://datapiloten.be/bluebike/availabilities.geojson in mapping-webapi-official.rml.ttl but I am not sure what that file is meant to be.

datapiloten.be provides live data about BlueBike but it is not the official data, it is scraped from BlueBike.
I hope this helps? Feel free to ask if you're stuck with something.

@DylanVanAssche wrote in response to my remark:

it would be useful if there were a small extract of blue-bike-data so that one can see what the structure of the input data being transformed is. This would just make it a lot easier to read the transformation RML.

There's such a file in the root of the repository: bluebike.jsonld. I used this file to write the RML mappings.

Is that not the output of the RML transformation? (I don't see how you would need RML for JSON-LD input.)
Also: is there a version of the 'availabilities.shacl' around?
Btw. I am trying to use this to document how one can do this whole transformation using some open CSV data that we have.

Oh this is the original datasource: https://datapiloten.be/bluebike/availabilities.geojson
Not sure what the JSON-LD file was then anymore, the output from the RMLMapper is writting with a Logical Target as Turtle.
I don't have the SHACL shape, my repo was forked by @pietercolpaert and he applied some changes on it. Maybe he can shine light on this.

Mhh, both of the files in the bluebike container https://datapiloten.be/bluebike/  are geojson files with "@context" indicating they are in json-ld format already. So that also does not look like the original data.... (Unless during Covid all devs suddenly had a json-ld enlightening that I missed)

Note: you should warn folks that this github repo is 1.9 GB large...

Was the answer I was looking for not simply that some example BlueBike data is available https://github.com/RMLio/RML-LDES-mapping-rules/tree/main/mappings ?


Postgres lowdowntime migration support using HarbourBridge

Added support for postgres low downtime migration
Modified the datastream package because some options were deprecated in older one
Added UI options for specifying replication slot and publication

Can you also add the flow you tested?

Added test cases which were verified


Slovenian language introduced

Slovenian language (sl) is introduced in HowTo section
a filename free-courses-sl.md is renamed to free-courses-si.md (because Sinhala language abbreviation is 'si' and not 'sl' which stands for Slovenian)

Thanks, and welcome to free-programming-books!


When can we get a NuGet release?

I need this ASAP.

Instead of NuGet you should use Paket and reference this right from GitHub.

Is available now https://www.nuget.org/packages/System.Ben/

Already has 40 installs; with this rapid growth it will shortly over take @JamesNK's Json.NET.
I may have to look at an early IPO...

OMG you ACTUALLY packaged this... :package:  :1st_place_medal:


(Question) What is the ETA to leave beta?

There's no fixed timeline — this app will launch, replacing the legacy zulip-mobile app, when it's ready.
I've previously referred to "late this year" as a possible timeframe. Probably the next time that we re-evaluate the overall state and make a new rough timeline will be in September, after the current GSoC program and the August vacation season are complete. For week-by-week updates, one can take a look at the long-running thread #mobile-team > Flutter beta timeline on chat.zulip.org.


request permission for nomad-plugin

Description
I'm requesting permissions to upload releases for the nomad-plugin and make an official release containing https://github.com/jenkinsci/nomad-plugin/pull/73.
@phedoreanu said is OK with it in https://github.com/jenkinsci/nomad-plugin/pull/73#issuecomment-825033697
See also my request on the mailing list: https://groups.google.com/g/jenkinsci-dev/c/SlUkpR01b5c
Submitter checklist for adding or changing permissions
Always

[x] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[ ] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[x] All newly added users have logged in to Artifactory at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @daniel-beck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

multani needs to log in to Artifactory. We resync our Artifactory list hourly

I just login for the first time minutes ago, I'll trigger a rebuild in a few hours :+1:

go jenkins

Thanks for stepping up @multani !


WIP: Proposing changes to core/connection module

The connection module is less than ideal especially regarding the consistency.
This proposal introduces a consistent way of sending received connection data via the bus to all verticles which need it. As all incoming connection-data at least consists of a byte-stream and some sender information, this can be used to create one universal ConnectionData-class and let the interfaces create their own participants (e.g. TcpConn.Participant) which implement ConnectionDetails.
ConnectionType then helps to provide the parsing-class for the participants, which can be achieved via reflection.
Please tell me what you think about this.
Note: This is WIP and should neither be merged nor be seen as final.

ConnectionType then helps to provide the parsing-class for the participants, which can be achieved via reflection.

Maybe you are thinking the wrong way round. To decouple things the information which parsing class is used is defined in the configuration file. But I don't know for sure. A small use-case example would be great.

Yes this doesn't build at the moment and I am aware of the old packages. That's why this is still WIP/Draft.
I will add documentation soon, that should clarify what I want to do.

Closed with #266


chore(master): Release 0.63.1

:robot: I have created a release beep boop
aztec-package: 0.63.1
0.63.1 (2024-11-19)
Miscellaneous

aztec-package: Synchronize aztec-packages versions

barretenberg.js: 0.63.1
0.63.1 (2024-11-19)
Miscellaneous

barretenberg.js: Synchronize aztec-packages versions

aztec-packages: 0.63.1
0.63.1 (2024-11-19)
Bug Fixes

Fix npm publishing (#10041) (1dae760)

Miscellaneous

Revert "feat: IPA Accumulator in Builder" (#10036) (9b10f7f)

barretenberg: 0.63.1
0.63.1 (2024-11-19)
Miscellaneous

Revert "feat: IPA Accumulator in Builder" (#10036) (9b10f7f)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/aztec-packages-v0.63.1 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/barretenberg.js-v0.63.1 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/barretenberg-v0.63.1 :sunflower:


Error validating XML

Hey!
There is awesome that someone working on converter of rules to wazuh!
I'll be active tester :D
Have a problem with validating converted XML with default settings in config.ini.
I think problem in groups like antivirus, rpc_firewall, application and so on that not in Wazuh group rules lists

Thanks, can you provide the exact error and Sigma rule(s) that are generating the error and any other information around the error? thanks

I just tried to paste whole text from converted xml. Hmm, there is the problem with lost  somewhere. I pasted the first rule, and it's ok

I think the problem with \ for a new line. I mean text wrap

Found the example!

Thanks for finding this, should be fixed now. Problem was regex was not being escaped properly on some rules.

The rule its failed on is also not having its logic converted correctly.

I will test the new version, when it's ready. I hope it'll be ok 👍

Tested again and have the same problem.

Got the answer

Think this is fixed but there have been a lot of changes since this was reported.
Still working on converting more complex Sigma logic to Wazuh. Not sure if I'll ever get it working fully tbh.


Record new fields: translation_service, source_lang, target_lang

Based on analysing the page URL's proxy information (e.g. for Google Translate)

Migrated to https://github.com/snowplow/enrich/issues/230


Kernel version string updated release tags

Hi folks,
Just wanted to quickly jump in related to this issue. Current Rocky Linux kernel is not ahead of RHEL, but the Release tags can differ for a few reasons. Mostly, and in this case, it's because we've had to republish the same version because of a non-technical change. Because we never publish same NVR twice, we can add .rocky or .0.1 in this case to the Release field.
kernel-4.18.0-372.16.1.el8_6.0.1 and kernel-4.18.0-372.16.1.el8_6 is in fact equal.
I'm not sure if there is a good way to make this work with kmods. Thankfully though we do keep all published artifacts so users can generally use the first released version using the dnf install method you provided above @kmittman.
Thanks,
Mustafa Gezen
Release Engineering lead @ Rocky Linux
Originally posted by @mstg in https://github.com/NVIDIA/yum-packaging-precompiled-kmod/issues/35#issuecomment-1194523399

Hi @mstg
Thank you for the clarification!
Given the new information, I'm not sure how to resolve this situation.
We use a Python script: https://github.com/NVIDIA/yum-packaging-nvidia-plugin/blob/rhel8/nvidia-dnf.py to pick the appropriate precompiled kmod dependency (and block kernel updates for unavailable kmods). This requires the kernel version string to match exactly.
Also, as I mentioned - officially this project only supports RHEL8 (and RHEL9) kernels. So I will need to ponder about how to unblock Rocky users.

Thanks for opening a new issue @kmittman.
I took a look at some of the kmods provided by Red Hat, and they seem to use >= rather than = when matching kernel versions. I know that it might not be very ideal, as someone can then install the kmod on a newer kernel that the kmod wasn't built for. Although it might be worth taking a look at.
Example: https://git.centos.org/rpms/kmod-kvdo/blob/c8/f/SPECS/kmod-kvdo.spec#_29
For now this seems to be the "only" solution that can be achieved using RPM only. We're evaluating options on doing Provides: original-NVR as well, so I'll let you know if we can fix this on our end (hopefully).

I'd like to provide my thoughts on this particular situation. I would highly recommend going with an approach like kmod-kvdo or the approach that the elrepo community members handle these types scenarios going forward.
The elrepo approach:
The initial kernel version is defined and can be overridden in special circumstances.
The build requires the version defined. It does not have the be the latest. It just has to be an initial or older version during EL's 6 month cycle for that kernel release.
Ultimately, it requires equal or newer than it was built with.
kvdo does it a bit differently but the premise is the same:
Initial version is defined
Build requires it or newer
Ultimately, it requires equal or newer than it was built with.
Changing our spec file to fix a packaging issue outside of our ecosystem is not the right approach, in my opinion. In Fedora, it makes sense to be constantly rebuilding and have very specific requirements (when not using akmods for example). In enterprise linux, it makes less sense because the kernel release version (kernel-4.18.0-XXX in this example) changes once every 6 months.

Any thoughts on this?  Unfortunately, still without a working Nvidia driver since 2022-08-02.

Just wanted to say that we're experiencing this issue again on Rocky Linux 9.

@michaelbarkdoll
Can you clarify if this is an upgrade or a fresh install?

If upgrade then dnf-plugin-nvidia should hold back the Rocky kernel for which there is no matching kmod

@michaelbarkdoll Can you clarify if this is an upgrade or a fresh install?

If upgrade then dnf-plugin-nvidia should hold back the Rocky kernel for which there is no matching kmod

It was an upgrade.

https://forums.developer.nvidia.com/t/nvidia-driver-not-booting/241056

The strictness of the kernel version in the kmod packaging here is what is ultimately causing this issue for RL9 users. I would recommend the packaging be eased to how elrepo, rpmfusion, or even red hat (using kmod-kvdo as the example) does their packaging. See my previous comment for more details.
There shouldn't be a reason that an added .0.X at the end of a kernel version should cause a kmod update to not succeed in any manner. Holding back a kernel shouldn't have to happen either in my opinion. This causes issues for users who are using the nvidia repositories for their drivers rather than elrepo or rpmfusion.
In the rpmfusion case, when you dnf install kmod-nvidia which is a meta package, it pulls kmod-nvidia-5.14.0-162.el9_1... which means this was specifically built for 5.14.0-162, regardless of the updates that come after. Here are the requires as a result:
. . .
/usr/sbin/depmod
/usr/sbin/depmod
/usr/sbin/weak-modules
/usr/sbin/weak-modules
kernel >= 5.14.0-162.el9_1
kernel < 5.14.0-163.el9_1
. . .

This specifically wants anything equal or greater than 5.14.0-162.el9_1 but less than 5.14.0-163.el9_1. This is logical as 162 is for 9.1, and it will be higher in 9.2 come May, and this driver should just work on any updates that come to 5.14.0-162.
Here is their spec file for reference.


Update master-pipeline.yml

@mhmdksh It's been here long time, do you want to merge it?

@mhmdksh It's been here long time, do you want to merge it?

@aminlatifi I added this manually no need to merge this to production. Thanks for the reminde


I broke drops

sn:36 is already minted and it offers me to mint it even if i refresh the page:
https://github.com/kodadot/nft-gallery/assets/36627808/b0d4afd2-397a-48c6-bed8-4f5a675a8446

cc: @yangwao

Cc @preschian

minted few and haven't happed so far tho, but I know we have this for while

minted few and haven't happed so far tho, but I know we have this for while

cool cool, i saw it
yes, we had this problem for a while, but let's hope no id gets stuck like it did on the test drop
i can also see that minting ids are scrambled, number 15 just got minted

@yangwao it broke right now

https://github.com/kodadot/private-workers/issues/97


Fix: is_generator logic

Fix the is_generator logic to allow passing a callable object as a handler.
# simple example
import runpod

class Handler:

    def __call__(self, job):
        for x in range(10):
            yield {"message": f"Hello, World! {x}"}

runpod.serverless.start(
    {
        "handler": Handler(),
    }
)

Closing this as it's not absolutely necessary


EAS_BUILD_PROFILE and EAS_BUILD_PLATFORM are not always set when running EAS cloud builds

Build/Submit details page URL
here
Summary
We have encountered a recurring issue where the EAS_BUILD_PROFILE and EAS_BUILD_PLATFORM environment variables are not always being set during the execution of EAS cloud builds. Specifically, these variables appear to be missing or not populated in some instances when referenced within the app.config.ts file. This inconsistency is leading to configuration issues and unpredictable build behaviors.
Managed or bare?
Managed
Environment
expo-env-info 1.0.5 environment info:
System:
OS: Linux 6.2 Ubuntu 22.04.3 LTS 22.04.3 LTS (Jammy Jellyfish)
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 20.1.0 - ~/n/bin/node
Yarn: 1.22.15 - ~/n/bin/yarn
npm: 9.6.4 - ~/n/bin/npm
SDKs:
Android SDK:
API Levels: 29, 31, 32, 33
Build Tools: 30.0.3, 32.0.0, 33.0.1
System Images: android-24 | Google Play Intel x86 Atom, android-30 | Google TV Intel x86 Atom
npmPackages:
expo: ~49.0.16 => 49.0.16
react: 18.2.0 => 18.2.0
react-native: 0.72.6 => 0.72.6
Expo Workflow: managed
npx expo-doctor
✔ Check Expo config for common issues
✔ Check package.json for common issues
✔ Check dependencies for packages that should not be installed directly
✔ Check for common project setup issues
✔ Check npm/ yarn versions
✔ Check Expo config (app.json/ app.config.js) schema
✔ Check for legacy global CLI installed locally
✔ Check that native modules do not use incompatible support packages
✔ Check that packages match versions required by installed Expo SDK
✔ Check that native modules use compatible support package versions for installed Expo SDK
Didn't find any issues with the project!
Error output
No response
Reproducible demo or steps to reproduce from a blank project
app.config.ts file:
export default (context: ConfigContext): ExpoConfig => {
  const { EAS_BUILD_PROFILE, EAS_BUILD_PLATFORM } = process.env;
  const APP_NAME = "MyApp";
  const name = (() => {
    if (EAS_BUILD_PLATFORM === "ios") {
      return APP_NAME;
    }
    switch (EAS_BUILD_PROFILE) {
      case "staging":
        return `${APP_NAME} (Staging)`;
      case "production":
        return APP_NAME;
      case undefined:
        return `${APP_NAME} (Dev)`;
      default:
        throw new Error(`Unknown EAS_BUILD_PROFILE: ${EAS_BUILD_PROFILE}`);
    }
  })();
  return {
    name,
    /// ...otherFields
  };
};

Run the build over EAS, notice that the build profiles are not reliably read, this is causing inconsistencies in the name filed and causes the iOS build to fail.

Hi,
I tried to reproduce your issue based on the config that you gave me, but unfortunately, I failed to do so. I think I would need to get more details about your project to help you. Do you have the .env file in your project by any chance?

There is no .env file. This can be reproduced by running eas build --platform ios --profile staging --local.
Here is the content of eas.json:
{
  "cli": {
    "appVersionSource": "remote"
  },
  "build": {
    "staging": {
      "developmentClient": false,
      "distribution": "store",
      "autoIncrement": true
    }
  }
}

I think that the issue for you can be that because you don't have these env vars in your env when running the EAS CLI locally to trigger the build, it can prepare credentials for a different target (probably dev one, because the values which you are relying on are undefined at this moment), but if the env vars are present on EAS. server the target bundle identifier etc. becomes different.

Some of variables specified in the documentation (like EAS_BUILD_PROFILE) are unusable in the app.config.ts file in both local and remote builds.

I'm so sorry, but I truly can't replicate it in my project. I ran a couple of builds, and I was always able to use these vars in my app.config.ts even using parts of your config relying on these vars. I'm wondering what can be causing issues for you. You can even see that they are set in the Spin up build environment phase on the server in your build 🤔.

Could you explain one more time what you expected that will happen in https://expo.dev/accounts/goveni/projects/fairytell/builds/4bafe95a-1542-488b-aa1f-8438c1f17d83 and what went wrong, please?
Regarding documentation: It's documented that they are not available when evaluating app.config.js locally (ex. when triggering your build using EAS CLI) but they are available during the build process itself. As far as I know, the docs are accurate here. Let me know if some part of these docs is not clear to you, so I can try to add something here to make it better!
https://docs.expo.dev/build-reference/variables/#built-in-environment-variables

Regarding documentation: It's documented that they are not available when evaluating app.config.js locally (ex. when triggering your build using EAS CLI) but they are available during the build process itself. As far as I know, the docs are accurate here. Let me know if some part of these docs is not clear to you, so I can try to add something here to make it better!
https://docs.expo.dev/build-reference/variables/#built-in-environment-variables

The linked docs about built-in environment variables says:

The following environment variables are exposed to each build job and can be used within any build step. They are not set when evaluating app.config.js locally

But what does "when evaluating app.config.js locally" actually mean? I thought it meant that it won't evaluate when I run npx expo config. I'm having issues where EAS_BUILD_PROFILE is undefined when I'm running npx eas build --local - is that what the docs are referring to, that local EAS builds don't have built-in environment variables?

@carleberg can you take a look at https://github.com/expo/expo/issues/24061, it's the same issue and comes with a minimally reproducible example.

But what does "when evaluating app.config.js locally" actually mean?

It means that these env vars are only available on EAS servers and when you run eas build on your local machine it won't have access to them when evaluating the build config when submitting the build. These are only available on remote worker itself.


skip .terraform directories when searching for discover_test.go

when searching for the integration test directory the hidden terraform folders .terraform  should be skipped.
during development, if we use make docker_test_lint all  dependencies are downloaded  into the .terraform  directories , which includes a version of the git repository for the modules used.
An example from the foundation:
cft test list
Error: found multiple discover_test.go files: [
"/workspace/3-networks/envs/shared/.terraform/modules/base_transitivity.templates/test/integration/discover_test.go"
"/workspace/3-networks/envs/shared/.terraform/modules/restricted_transitivity.templates/test/integration/discover_test.go"
"/workspace/3-networks/modules/transitivity/.terraform/modules/templates/test/integration/discover_test.go"
"/workspace/5-app-infra/business_unit_1/development/.terraform/modules/base_shared_gce_instance.instance_template/test/integration/discover_test.go"
"/workspace/5-app-infra/business_unit_1/non-production/.terraform/modules/base_shared_gce_instance.instance_template/test/integration/discover_test.go"
"/workspace/5-app-infra/business_unit_1/production/.terraform/modules/base_shared_gce_instance.instance_template/test/integration/discover_test.go"
"/workspace/5-app-infra/modules/env_base/.terraform/modules/instance_template/test/integration/discover_test.go"
].
Exactly one file was expected

@daniel-cit what version is the CFT cli? I believe i fixed this in v0.4.4 via https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit/pull/1108

nice catch.
I am using
gcr.io/cloud-foundation-cicd/cft/developer-tools:1.4

with
cft  version
v0.4.3

fix validated with version v0.4.4


feat: add langs with tagged template syntax support

Resolves #25

@zardoy Can you check, please? Didn't get how to determine if the completions request was invoked in tagged template. Maybe you can give me a hint?

Since this change would make new release also would be good to update tailwind deps to latest

@maIIady short answer: you can try to adopt typescript plugin from https://github.com/zardoy/vscode-better-snippets to check the kind of current node and then return its start & end. If you don't have much time or struggling with adopting TS plugin code you can use alternative way: TypeScript Essential Plugins API e.g.: https://github.com/zardoy/vscode-experiments/blob/bec7c7f70d7b15cd323a0c1097496e5112fc7ef7/src/features/tsPluginIntegrations.ts#L17 (check kind + styled.* before start), but it'd require this plugin to be installed & active which is not ideal, but better than nothing it might be okay for this time

Ok, thanks. I think I'll go with the second suggested solution for now and rewrite to use adopted TS plugin later. Hope @alvarosoaress wouldn't mind installing an excellent extension.

@maIIady Have you a chance to try it to use with volar? You can probably build TS-checking or any other ls features

@maIIady Have you a chance to try it to use with volar?

ps You can also probably build TS-checking or any other ls features

If I'll fugure out cases and how to use it there, of course there is a chance :)

Made it work, gonna add tests and ts extension requirement soon

@maIIady Your refactor is exactly what I wanted to see 👏. Lastly, to support LastTemplateToken try to use tsEssentialPlugins.getNodePath command instead that will return array of { kindName, start, end } (where last item is what we're using now)

Made it work in all parts of the tagged template (suggestions work like a charm in my tests). However, there are cases when usedRules strikethrough/deletion doesn't work correctly which I tried to fix here too.
Given this CSS:
.test {
  padding-left: 1px;
  padding-right: 1px;
  display: flex;
  flex|(trigger suggestions) - works correctly
}

.test {
  padding-left: 1px;
  padding-right: 1px;
  flex|(trigger suggestions) - doesn't strikethrough already used rule
  display: flex;
}

A weird postCssParser error line causes this: e.g. for the second case calling error.showSourceCode() result in
   3 |   padding-right: 1px;
   4 |   flex
 > 5 |   display: flex;
     |   ^
   6 | }

This makes sense but dunno how to handle this in extension code correctly.
Gonna think about it a little bit later when writing tests, currently just have no ideas

deleted lang annotations in tests didn't like them too

But why? What didnt you like? It was giving syntax highlighting for much easier review

I'll review test and maxAttemp probably tomorrow

deleted lang annotations in tests didn't like them too

But why? What didnt you like? It was giving optional syntax highlighting for much easier review

It looked like mess for me yesterday. Gonna roll back and try to get used to them

It looked like mess for me yesterday. Gonna roll back and try to get used to them

Its not enforcement, and fixtures are relatively small so I shouldn't really care for now

@maIIady eta? I think i can finish it

@zardoy Won't have time to work on it today. You can finish

@zardoy Sorry, can you check if it works correctly after last commit? Ts essential plugins broke everywhere on my side. When I'm trying to execute any extension command even in normal development environment I'm continuously getting command not found error.

(tried reinstalling, tested on windows machine, tried disabling all other extensions :( ). Need some time to figure out the reason.

Btw I can't test if it is working right now. It falls with this error and lowering the version of the essential plugins doesn't help (I tried 0.0.42 instead of the latest). Is it the same for you?

@maIIady Randomly I've found the bug. Most probably you had vscode.typescript-language-features builtin extension disabled to activate takeover mode, this is why it was internally never activating. This is was intentional: if builtin ts ext is disabled -> then we don't have a way to pass settings from vscode to typescript plugin (since ts extension is disabled), but this is no longer true since volar takeover mode is supported, I'll fix it in this extension.

finally!
@maIIady can you check if its okay?


Switches cpu_model to host-model

Switch cpu_model = host-model which uses the model from libvirt cpu_map that most closly matches the host and requests additional cpu flags to complete the match.
We need this to make live-migration work in rackspace env. For more info on cpu_modes see openstack docs on CPU models.

https://docs.openstack.org/nova/latest/admin/cpu-models.html