Cilium ignores ExternalIP from service spec in k8s

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

setup cilium with bgp-announce-lb-ip: "True"
setup address-pools in bgp config:

 address-pools:
     - name: default
       protocol: bgp
       addresses:
       - <IP_ADDRESS>/24

create service with specific externalIP:

 apiVersion: v1
 kind: Service
 metadata:
   name: test-lb-envoy-http
 spec:
   type: LoadBalancer
   ports:
   - port: 80
     targetPort: 8080
     protocol: TCP
     name: tcpport1
   selector:
     svc: test-lb-envoy-http
   externalIPs:
   - <IP_ADDRESS>
 ---
 apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: envoy-http
 spec:
   replicas: 1
   selector:
     matchLabels:
       svc: test-lb-envoy-http
   template:
     metadata:
       labels:
         svc: test-lb-envoy-http
     spec:
       tolerations:
       - effect: NoSchedule
         key: node-role.kubernetes.io/control-plane
       volumes:
       - name: envoy-config
         hostPath:
           path: /etc/envoy/envoy_http.yaml
           type: FileOrCreate
       containers:
       - name: envoy-http
         image: envoyproxy/envoy:v1.25.0
         imagePullPolicy: IfNotPresent
         ports:
         - containerPort: 8080
         volumeMounts:
         - name: envoy-config
           mountPath: /etc/envoy/envoy.yaml

         readinessProbe:
           exec:
             command:
               - ps
               - -aux
           initialDelaySeconds: 15
           periodSeconds: 20

BUG#1: no bgp annoncement of specified external service IP
BUG#2: service is not available on specified external ip even from k8s master. it's just ignored by cilium
Cilium Version
cilium version
cilium-cli: v0.12.5 compiled with go1.19.1 on linux/amd64
cilium image (default): v1.12.2
cilium image (stable): v1.12.7
cilium image (running): v1.13.0-rc4
Kernel Version
uname -a
Linux cplane1 5.15.0-58-generic #64-Ubuntu SMP Thu Jan 5 11:43:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.5", GitCommit:"804d6167111f6858541cef440ccc53887fbbc96a", GitTreeState:"clean", BuildDate:"2022-12-08T10:15:02Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.5", GitCommit:"804d6167111f6858541cef440ccc53887fbbc96a", GitTreeState:"clean", BuildDate:"2022-12-08T10:08:09Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"}

Sysdump
No response
Relevant log output
No response
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi, thanks for your report! Unfortunately this is not a feature we support yet... FYI we are deprecating MetalLB in future releases (#22246), so in the future this will added as part of the BGP Control Plane ongoing work (see #19376 for more details). Since it seems we don't have an issue specifically tailored to advertising cluster IPs via BPG, I will recycle this issue into a feature request to track it.

Now that MetalLB is deprecated, is this not actually planned, or did it just go stale?

This has not been planned yet, but we're willing to have this feature. If someone can contribute, that would be great.

Closing this issue since we deprecated MetalLB integration. I'll create a new issue for BGP Control Plane.

An issue for the BGP Control Plane: https://github.com/cilium/cilium/issues/30875


UI Dissappears while playing game

When playing on an Ubuntu 16.04 machine and an Ubuntu 17.10 machine the UI dissappears while playing the game. In order to make it re-appear you need to press the arrow keys. Then the UI will re-appear and you can continue playing (until the UI disappears again).
Please see here for a demo of this bug.

Thanks for the report!
I can reproduce on an old Ubuntu as well (14.04), with both Python 2 and 3. I’ll check what could be the cause this weekend.

Seems to be Linux-only as I can’t reproduce on macOS.

The same thing happens on windows too.

Pressing the arrow keys only makes it reappear if it also updates the board.

also happens in termux

I can reproduce on Ubuntu 20.04 and not on macOS.


Update Blog “pug-swag”

Automatically generated by Netlify CMS

👷 Deploy Preview for quiet-chimera-c1d66f processing.

Name
Link

🔨 Latest commit
ef73c87cd9b248faa815bdab6fdfb9264ef18a60

🔍 Latest deploy log
https://app.netlify.com/sites/quiet-chimera-c1d66f/deploys/64e23ea8a04b1b000837c1a2


allow importing JS files too

cc/ @pmowrer

@vieron Thanks for the PR! I've already turned down a request for the same functionality but perhaps it should be reconsidered. My hesitation is that "importing a JS file" can mean so many different things. In both this PR and the issue referenced, "importing a JS file" essentially means importing JSON format exported via CommonJS in a JS file, but if someone tried to import a "regular" JS file, the importer would break. By contrast, JSON is a much stricter format and easier to reason about.
What's your use-case? Why not just make it a JSON file to begin with?

Hi @pmowrer!
The reasons why I prefer JS over JSON are:

Be able to write comments!
Import another node modules, shared configs, built-in modules, etc...
Do math with numbers
Avoid a big nested tree (JSON), in favor of separate module.exports

I agree importing JS isn't as robust as JSON, and it could break the importer. But we could JSON.stringify and then JSON.parse the value of module.exports inside a try catch, to give feedback the user, and to ensure we'll always pass a valid JSON object to your parseJSON function. Something like...
var contents;

try {
    contents = require(file);
    if (isJSFile) {
        contents = JSON.parse(JSON.stringify(contents));
    }
} catch(e) {
    // log error
    contents = {}; // instead of return an empty object we could break the build
}

return {
    contents: parseJSON(contents)
};

What do you think?

I think those are good points. My main hesitation is that if someone wrote another importer that targeted JS files for some other reasons, they wouldn't be able to use this importer at the same time b/c they'd block each other.
A way of limiting that type of collision would be to return sass.NULL in the catch statement, basically saying that unless the JS file exports CommonJS in a JSON format, ignore it.

Thanks for the answer @pmowrer!
Let me perform those changes. I'll update the PR in the next days.

Sorry, I read too fast. If you don't feel comfortable having js support in this importer, I can move it to a separate repo and name it node-sass-js-importer. Let me know :)

I think it makes sense in this importer so long as we ignore JS files that aren't exporting JSON.

Ready for review!

Closing due to inactivity


MLeap Scikit Example Broken

Hi,
I tried to get the Scikit-learn example from the documentation to work
# Initialize a FeatureExtractor, which subselects only the features we want
# to run the Standard Scaler against
input_features = ['a', 'c', 'd']
output_vector_name = 'unscaled_continuous_features' # Used only for serialization purposes
output_features = ["{}_scaled".format(x) for x in input_features]

feature_extractor_tf = FeatureExtractor(input_scalars=input_features,
                                        output_vector=output_vector_name,
                                        output_vector_items=output_features)

# Define the Standard Scaler as we normally would
standard_scaler_tf = StandardScaler(with_mean=True,
                                    with_std=True)

# Execute ML-Init to add the require attributes to the transformer object
# Op and Name will be initialized automatically
standard_scaler_tf.mlinit(prior_tf=feature_extractor_tf,
                          output_features='scaled_continuous_features')

But ran into the following error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-a38e6a0355a2> in <module>()
     17 # Op and Name will be initialized automatically
     18 standard_scaler_tf.mlinit(prior_tf=feature_extractor_tf,
---> 19                           output_features='scaled_continuous_features')

/Users/avd/anaconda/envs/py35_auto_/lib/python3.5/site-packages/mleap/sklearn/preprocessing/data.py in mleap_init(self, prior_tf, output_features)
     88         output_feature_name = prior_tf.output_features
     89
---> 90     class_name = "{}".format(self.__init__.im_class).split('.')[-1].replace('>','').replace("'",'')
     91
     92     if output_features is not None:

AttributeError: 'function' object has no attribute 'im_class'

Any suggestions?
AirBnb price regression example breaks due to the same error.

Same here.

I experienced the same issue, it looks related to changes made in #344 which were merged to master.
If you change line 90 in your local /Users/avd/anaconda/envs/py35_auto_mrm/lib/python3.5/site-packages/mleap/sklearn/preprocessing/data.py  file, to match the master branch, the demo notebook works:

class_name = "{}".format(self.init.im_class).split('.')[-1].replace('>','').replace("'",'')

class_name = self.class.name

Alternatively, you could also rebuild from source from the current master branch.

@donigian @MTDzi Yes, @ksoucy is right, we merged https://github.com/combust/mleap/pull/344 in order to make mleap scikit-learn work with python 3.
I'll try to get a new version of the package published to pypi so that you don't need to rebuild from source.

Ran into this error, so I'm assuming a new version hasn't been published to pypi yet?
Just to be clear, line 90 of data.py needs to be changed to class_name = self.__class__.__name__ (github formatting rendered the underscores in @ksoucy's answer.

ran into this issue as well ... any updates on when this will be pypi?

I tested the workaround that @ksoucy and @andyliucoder suggested but it doesn't work.
Is there any other workaround to be applied before this issue is fixed?
Thanks.

ran into the same error

works only with Python 2.7. Python3 gives the following error.

We added support for Python 3 as part of Mleap 0.15.0, you can see the tests running successfully against Python 2.7, 3.6 and 3.7 in the Travis CI https://travis-ci.org/combust/mleap. Closing this, please let me know and feel free to re-open if you still find issues in Python 3. Thank you!

I am still facing this issue. Python 3, MLeap 0.16.0.


Add open ports to Azure node template, and fix node port tests

Tested Azure node provisioning
Node port tests against Azure, Custom, EC2

LGTM


Only adding event listeners when buttons/link exist

This comes in handy when using implicit approval and there is no "cookies-eu-accept" button.

Mmmh, OK :)
Thanks!


Is creating a generic data-access class an option?

I started off by writing something like this:
    using SQLite;

    public class Database<T>
    {
        public Database(string dataFilePath)
        {
            this._connection = new SQLiteAsyncConnection(dataFilePath);
            this._connection.CreateTablesAsync(CreateFlags.None, typeof(T));
        }

        private readonly SQLiteAsyncConnection _connection;

    }

... but then I quickly became stuck noticing how Table<>() (and other) methods requires a type that has a default constructor, making it impossible to create a class that could handle arbitrary types. Is there a solution, or would you consider adding Type arguments to all these methods?
Thanks.

Hello,
Congratulations on the excellent example.
I tried replicating it with SQLiteAsyncConnection and it doesn't work, making it impossible to create a class that could handle arbitrary types.
For example:
Before:
connection.CreateTable();
Later:
connection.CreateTableAsync();
Exception:
Error CS0310 "TEntity" must be a non-abstract type with a public parameterless constructor so it can be used as a "T" parameter in the generic type or method

Thanks @hlubovac for taking the time to report these solutions.

Hello,
Congratulations on the excellent example. I tried replicating it with SQLiteAsyncConnection and it doesn't work, making it impossible to create a class that could handle arbitrary types. For example: Before: connection.CreateTable();
Later: connection.CreateTableAsync();
Exception: Error CS0310 "TEntity" must be a non-abstract type with a public parameterless constructor so it can be used as a "T" parameter in the generic type or method

This is true.
Have you found a solution?


Update test environment for Ruby 3, Puppet 7, and related Gems

Current test setup is heavily outdated, creating two problems:

It's hard to build
It doesn't allow testing the module to Puppet versions 6 and 7

Fixed during migration to voxpupuli


Fix randomInt and randomRange to return numbers in the specified range

This closes #10

:+1: Looks good. @garyb ?

:+1: indeed!


Hidden Functional Extensionality

Equations introduce functional extensionality for per_univ_elem_equation_1, so basically all proofs are under the axiom.
It would be possible to remove the axiom by replacing Equations with some manual definitions.
C.C. @HuStmpHrrr

Note: There is Unset Equations With Funext. option but it just removes per_univ_elem_equation_1 or so, thus does not help.

what? I don't get it, why doesn't it help? where else is it used?

do you mean it's left as a proof obligation, or what?
in any case, why can't we have functional extensionality, though?

@HuStmpHrrr I mean it doesn't help in the sense that it completely removes per_univ_elem_equation_1 and effect of simp. Without those, yes, we can prove the relationship between per_univ_elem and per_univ_elem_core, but why would we use Equations to define per_univ_elem?

in any case, why can't we have functional extensionality, though?

Having functional extensionality itself is not a problem. This issue is more that we should note (and leave a comment or so) that our current approach based on Equations requires functional extensionality.

in any case, why can't we have functional extensionality, though?

Having functional extensionality itself is not a problem. This issue is more that we should note (and leave a comment or so) that our current approach based on Equations requires functional extensionality.

That's fine. We can do that. Not using functional extensionality is quite unnecessary.


patch: fix hits counter in readme

Please describe the changes this PR makes and why it should be merged:
Recently, we've let the hits.link domain expire, mainly because the renew price was $180, so we've resulted to stable and none changing links through vercel's and hop's domains. Sorry for the inconvenience!
Status

[x] Code changes have been tested against prettier, or there are no code changes
[x] I know how to update typings and have done so, or typings don't need updating

Semantic versioning classification:

[ ] This PR changes the codebase

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
[ ] This PR changes the internal workings with no modifications to the external API (bug fixes, performance improvements)

[x] This PR only includes non-code changes, like changes to documentation, README, etc.

No worries, thanks for the PR :)


Clean up documentation

Thanks! Unfortunately we raced a bit here; this was also covered in #666.

You’re welcome!  Your change was better anyway.


Support global config

Support a global config for the projects haven't .csscomb.json file.

Small clarification: if you has .csscomb.json file in $HOME directory is not works?

@mrmlnc no :/

You can set filepath to config in the csscomb.preset option in 3.2.1 version.

@mrmlnc I set:
"csscomb.preset": "~/Work/.csscomb.json"

And I have this output:

Error: "~/Work/.csscomb.json" is not a valid config name. Try one of the following: 'csscomb', 'yandex', 'zen'.

Sorry. I marked this issue as a bug because I don't have any time at the moment.

Please, try to use<EMAIL_ADDRESS>

@mrmlnc the same problem at https://github.com/mrmlnc/vscode-csscomb/issues/33#issuecomment-257156771 😕

😢

Aaaaaaaand try to use 3.2.3 😄

@mrmlnc now different error:

Error: ENOENT: no such file or directory, open '/~/Work/.csscomb.json'

Maybe the start /?
But my setup is:
"csscomb.preset": "~/Work/.csscomb.json"

Sorry, I not have macOS/Linux now and tomorrow I'm going to install Linux in VirtualBox. The problem is that I need to handle three ways:

Windows paths
Unix-like paths with ~
The path relative to the current directory

Well<EMAIL_ADDRESS>work correctly with this Issue on Manjaro & ElementaryOS. Please, try 3.2.4...

@mrmlnc the same problem at https://github.com/mrmlnc/vscode-csscomb/issues/33#issuecomment-260719604 😕

👀 OS?

macOS Sierra 10.12.1

Any news? :)

Fixed in 3.2.5. Tested on Windows 10, Manjaro, Elementary OS and macOS Sierra 10.12 Beta 8.

Thanks! 🎉


[Graph Executor Debugger] Fix parameter dump

This PR:

fixes graph executor parameter dump issue which happens by overriding intermediate nodes on executing full network
adds functions to graph executor debugger to run each node separately with/without assumption of previous nodes has been executed
increase memory in crt/host/main.cc since it is limited for debugging purposes.

@elvin-nnov Thanks for your feedbacks!
I agree with your suggestion and I'm changing it to have two functions with the purposes that you mentioned.
Regrading the debug_get_output function, I was going to remove it since it has wrong output. However, it has been mentioned in multiple places to be used like graph_executor.
wdyt?

cc @tkonolige

@tkonolige I'll try to add a C++ api that gets all outputs at one call.

@elvin-nnov actually debug_get_output by itself doesn't execute the network and only returns the output of a tensor that was captured by self. _get_output_by_layer() and recorded in self.debug_datum._output_tensor_list.
So assuming we fix the _run_debug, then we can use debug_get_output function.

debug_get_output

@elvin-nnov actually debug_get_output by itself doesn't execute the network and only returns the output of a tensor that was already captured by self. _get_output_by_layer() and recorded in self.debug_datum._output_tensor_list.
So assuming we fix the _run_debug, then we can use debug_get_output function.
here https://github.com/apache/tvm/blob/main/src/runtime/graph_executor/debug/graph_executor_debug.cc#L292 debug_get_output calls DebugGetNodeOutput and in its turn DebugGetNodeOutput executes required number of ops here https://github.com/apache/tvm/blob/main/src/runtime/graph_executor/debug/graph_executor_debug.cc#L225

@elvin-nnov sorry for the confusion. I meant debug_get_output in python API. You're right about the c++ api.
I'm renaming the names here to make it more clear.

@elvin-nnov PTAL.
Thanks!

@areusch PTAL.
Thanks!

LGTM

@areusch this PR finally passed CI. PTAL.
Thansk!

thanks @mehrdadh @elvin-nnov @tkonolige , the PR is now merged!


fix(snapshot): fix alloc value for thik and thin provisioned lvol when snapshot is created from it (Cherrypick #1452)

bors try

You need to rebase and resolve conflicts, btw just spotted  a typo: thik/thick

You need to rebase and resolve conflicts, btw just spotted a typo: thik/thick

Yes. Kept the latest hash from spdk which is merged today. Changed the typo.

bors merge


Manual sync of the upstream PRs: #149

Closes #535

/cherry-pick release-2.6

/override "KinD / Tests (latest, false, hosted)"

/override "KinD / Tests (latest, false, hosted)"


feat: Change to allow create variable within specific vpc objects

Description
This change is to allow for create to work within each vpc endpoint object. If the create is outside of a vpc endpoint then that will take priorty over the specific vpc endpoints create.
Motivation and Context
This will make the script alot more flexible and fine grain. As you can go down to object level to specify which objects should be created or not. Making a lot more use cases possible.
Breaking Changes
The only thing that was introduced that would be debtable is try but it seems try has been there for a long time so seem like it is backwards compatible.
How Has This Been Tested?
Yes I have an example project which I tested this on. I tested with multiple use cases to make sure.
This change will also default create to true with object level vpc endpoints just like it has been. Meaning create is still optional for object level and resource level create.

Looks good. Could you please update the code in examples/complete-vpc and include one line with create = false to show this feature?
In this block, for example:
https://github.com/terraform-aws-modules/terraform-aws-vpc/blob/e02118633f268ff1f86021a8fa9f3afcd1c37d85/examples/complete-vpc/main.tf#L123-L127

Looks good. Could you please update the code in examples/complete-vpc and include one line with create = false to show this feature?
In this block, for example:
https://github.com/terraform-aws-modules/terraform-aws-vpc/blob/e02118633f268ff1f86021a8fa9f3afcd1c37d85/examples/complete-vpc/main.tf#L123-L127

Awesome I have added it in the complete vpc

This PR is included in version 3.14.0 :tada:

Thank you @matipadeveloper for this PR!

Anytime @antonbabenko thank you for the module!


Add paint hooks to Worldview

Summary
Add hooks for paint start/end of our painting loop. This will make it easier to measure paint performance.
Test plan
Tested manually.
Versioning impact
Incremented patch version.

Closing this, it's not important at this point.


Pick a friend to call

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the feature
There should be a way to pick which friend to call after you already called them. (Like a list of people you already called and you can select them to dial them instantly. Mainly when you're in an emergency!)
Basically:
Once you already dialed a friend in a round
You have a list of what you  can pick from (Like a way to go down and up on the phone)
Once you leave a match though and join another you have to re-dial and you will be able to pick which friend to call that you already dialed. (Sorry if I worded this strangely I'm very tired.)

This should be limited to one individual at a time, like single person speed-dial. The point of the phone numbers is that it's supposed to take a bit to dial as part of the trade-off for walkie-talkies.

That seems fair enough to me. Cause whenever you want to call someone else you have to dial their number and then their number will be the next speed-dial person you can pick from. I like that!


Keysend should be eventually replaced with AMP or BOLT12

Keysend was meant to be a temporary solution and will one day be deprecated. It'd be great to eventually replace it with something better. Perhaps have a way to use both for a while to ensure smooth transition.
Some other discussion: https://github.com/breez/breezmobile/issues/743

Would be great to add BOLT12 support to the spec. But, we really can’t even think about that until it’s supported by LND. I think the only software supporting it right now is c-Lightning.

Going to close this until the lightning community comes together around broader adoption of bolt 12.


Permanent border on focus window plugin

A permanent border around the single focused window to satisfy issue https://github.com/workspacer/workspacer/issues/228 (and my own preference).

LGTM. Merged!

I get this error:
Microsoft.CodeAnalysis.Scripting.CompilationErrorException: (19,18): error CS0234: The type or namespace name 'FocusBorder' does not exist in the namespace 'workspacer' (are you missing an assembly reference?)
when I use
using workspacer.FocusBorder;
I am running Windows 11 and installed workspacer using scoop

You're likely missing a #r "C:\...\workspacer.FocusBorder.dll at the top of your csx file.

But I don't have such a dll file though. My plugins directory looks like

workspacer (0.9.11)

You'll need to download an unstable version (0.9.12.x)

I see...is there any other alternative? Like can I manually compile the dll files from the source files?

Yes, you could compile it. Alternatively, you could download the specific dll from the release .zip and place it in the appropriate location (https://github.com/workspacer/workspacer/releases/tag/unstable).
However, there aren't any guarantees that it'll work with 0.9.11.

Thanks! I downloaded the unstable release and used that plugin dll and now i am able to import it without any error. Working on figuring out how to actually use it haha 😅


clean up contributing directions

Just a quick cleanup of the contributing guide.

Very simple and easy-to-understand directions. ✅


Add support for v1beta1 API

PR upgrades snippet content, fix some indentation issues.
Snippets migrated to v1beta1 version according to https://github.com/tektoncd/pipeline/blob/master/docs/migrating-v1alpha1-to-v1beta1.md
This PR brings a new npm command to regenerate snippets json file.

Note: Tekton resource create with new snippets will not work on OpenShift until Tekton with v1beta1 version support will not released for OpenShift.

Fix: #183
Also this PR fix: #184, #185, #225, #176

Codecov Report

Merging #245 into master will decrease coverage by 0.11%.
The diff coverage is 58.33%.

@@            Coverage Diff             @@
##           master     #245      +/-   ##
==========================================
- Coverage   71.15%   71.03%   -0.12%
==========================================
  Files          37       37
  Lines        2368     2372       +4
  Branches      397      400       +3
==========================================
  Hits         1685     1685
- Misses        683      687       +4

Impacted Files
Coverage Δ

src/yaml-support/tkn-yaml-schema.ts
42.42% <0.00%> (-2.74%)
:arrow_down:

src/tkn.ts
79.44% <87.50%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c4fbbe0...7cc4ffe. Read the comment docs.


Extra special coverage percolator filters

@benghaziboy @MichaelButkovic
Fixes 2 issues I ran into testing w/ Onion

LGTM


Limit to Cumulative Flow Diagram rolling report period to 180 days, documentation

Document limit to rolling period for Cumulative Flow Diagram
Appears as if the limit to report is 180 days. Is this documented anywhere?
I believe a logical place to document might be
https://docs.microsoft.com/en-us/azure/devops/report/dashboards/cumulative-flow-cycle-lead-time-guidance?view=azure-devops
Screenshot below of report ran today, showing limit of 180.

@jstallm Thank you for the feedback, assigning to the author.

@jstallm - Thank you for the feedback. I will update the topic to note the limit. The limits are between 14 and 180 days.


UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 59495: character maps to

how to fix?

Does the script you are trying to obfuscate contains wierd symbols? Can you share the full traceback along with the script you are trying to obfuscate

No response, reopen if necessary


Global literal & temporary precision (for int & float) extended to gt4py and centralized

Debugging the 32-bit GEOS model we figured out that the precision was not necessarily pass down to gt4py properly. We've added a `GT4PY_LITERAL

Move precision definition to ndsl.dsl.__init__
Detect bad order of imports, e.g., gt4py import before NDSL Adapt code to use the newly defined NDSL_GLOBAL_PRECISION - Set internal GT4Py literal precision definition

:warning:  This enforces order of import. Any file that starts with import gt4py.cartesian.gtscript... which is often the case WILL FAIL. :warning:
The above points to a wider refactor: forward imports of gtscript to ndsl so user don't have to import gt4py ever
How Has This Been Tested?
Should be transparent to 64-bit cases and in GEOS test. That said, I expect many failures in pyFV3/Pace because of the order of import.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] Any dependent changes have been merged and published in downstream modules
[ ] New check tests, if applicable, are included

Expecting failure here


Enable auto update for renovate between 8:30 and 15:30 GMT on every workday

/kind enhancement
What this PR does / why we need it:
There are many self updates for renovate. Let's merge them automatically on workdays as we do it for prow too.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:

/approve


Example/Help with Dealing with MultiLabel + Stacked Classifier Case

The docs shows an example and explanation of working with stacked classifiers and how to use attr_dict + predict_proba to avoid ovefit. I am attempting to implement this usage of predict_proba after working with my model in a case of multilabel classification, but I am facing some challenges with this upgrade.
In the docs the issue is fixed with the use of drop_first_col lambda which  fixes the issue for a single class inference with predict proba. I have created a similar lambda which works to do the same task but for each class(see example below of predict_proba output to illustrate).
multilabel_proba_reduced = Lambda(lambda prpr: np.array([prpr[i][:, 1:].flatten() for i in range(n_classes)]).T)
Which returns (n_samples, n_classes) from the predict_proba operation.
After I got the model to work in training, the prediction step is now throwing errors. I think im close but my solution, similar to the doc example's 'drop_first_col' lambda, is hidden inside the overridden 'fit_predict' function. This is why I am guessing things break at predict time, as the operation is not in the graph outside of fitting. When I attempt fix this like in the example via lambda, I ran into many issues trying to get things right for training step, and went in circles.
To illustrate the primary difference, we get the 2 probabilities for each class, so a y sample takes the form:
y_test[0] == [1 1 0]
y_test[1] == [0 1 0]

Then the output from predict_proba takes on the form:
[
		array([[ 0.46147748,  0.53852252],
                          [ 0.46147748,  0.53852252],
		          [ 0.52721207,  0.47278793]]),

	 	array([[ 0.55917461, 0.44082539],
                          [ 0.44082539,  0.55917461],
	 	          [ 0.50852903,  0.49147097]])
]

Describe the solution you'd like
I have that can run but  it crashes on predict step after training, the error is share as well below the code in a comment. Any suggestions for getting around my confusing with tying to tie together the first and second level classifiers would be very much appreciated!
PLEASE SEE THE FULL EXAMPLE CODE HERE
https://gist.github.com/DMTSource/368b09e2c7f780f1355606f6e716d197
Terminal error here:
https://gist.github.com/DMTSource/368b09e2c7f780f1355606f6e716d197#gistcomment-3677803

There is a lot going on this script and will take me a bit to look at it in detail. At first glance I don't even understand why the fit step is succeeding in the first place. I have my hands a bit full at the moment, I'll get back to you possibly over the weekend.

Sorry about the script it does appear to be a bit of a mess. I will try to clean it up and rephrase some things to hopefully save you some time:
In the above script I had to throw in a bunch of column stacks to get the outputs of RandomForestClassifier work due to errors with the multi label output. But as you touched on, my magically getting fit to work in this way was not successful.
Please ignore the first script, here is the same process/attempt but I applied it as closely as I could to the "Stacked classifiers (standard protocol)" example so its easier to follow what I am trying to do i.e. work with multilabel outputs via the predict_proba route.
https://gist.github.com/DMTSource/26b6a386a6ba54f23d0ae0a9d22ddbfa
I think my big issue issue/mistake(as mentioned before) is instead of a Lambda function in the graph, I sort out the multilabel extraction(leave out 1 of the 2 values that sum to 1) inside the 'fit_predict' operation. This probably means when its time to predict(where the crash occurs) there is no operation in the graph to perform this reduction and we see a shape error of some kind. But I am having trouble trying to use Lambda in this manner, as the first layer of classifiers then complain about their outputs being the wrong shape due to the multi label output.

Thank you for simplifying the script!
Yes, you are right. The output of fit_predict (a single array) and the output of predict (a list of arrays) is not consistent. During fit, since fit_predict (with the custom stacking of multi-output probabilities) is used ColumnStack does not complain because is only receiving a single array. But during predict, predict_proba is used instead and that returns a list of several arrays which conflicts with the expected number of outputs (just one).
I guess there are other ways if you play around somehow with Lambdas or ColumnStacks, but I think the easiest way is to override the API of RandomForestClassifier:
import numpy as np

import sklearn.ensemble
import sklearn.linear_model
from sklearn.metrics import f1_score
from sklearn.model_selection import cross_val_predict, train_test_split

from baikal import Input, Model, make_step
from baikal.plot import plot_model
from baikal.steps import ColumnStack

def stack_multioutput_proba(mop):
    return np.column_stack([c[:, 1:] for c in mop])  # or :-1 if you prefer to drop the last

def predict_proba_stacked(self, X):
    # NOTE: plain super() does not work
    mop = super(RandomForestClassifier, self).predict_proba(X)
    return stack_multioutput_proba(mop)

def fit_predict(self, X, y):
    self.fit(X, y)
    cvp = cross_val_predict(self, X, y, method="predict_proba")  # note that this NOT predict_proba_stacked
    return stack_multioutput_proba(cvp)

attr_dict = {"fit_predict": fit_predict, "predict_proba_stacked": predict_proba_stacked}
RandomForestClassifier = make_step(sklearn.ensemble.RandomForestClassifier, attr_dict)
ExtraTreesClassifier = make_step(sklearn.ensemble.ExtraTreesClassifier)

# ------- Random Multilabel dataset
X = np.random.random((1000, 50)) # feature array
y_p = np.random.randint(0,2, (1000, 2)) # miltilabel aray, ex sample: [1 1] aka both classes detected
X_train, X_test, y_train, y_test = train_test_split(
    X, y_p, test_size=0.2, random_state=0
)

# ------- Build model
x = Input()
y_t = Input()
y_p1 = RandomForestClassifier(random_state=0)(x, y_t, compute_func="predict_proba_stacked")
y_p2 = RandomForestClassifier(random_state=0)(x, y_t, compute_func="predict_proba_stacked")

stacked_features = ColumnStack()([y_p1, y_p2])
y_p = ExtraTreesClassifier(random_state=0)(stacked_features, y_t)

model = Model(x, y_p, y_t)
plot_model(model, filename="stacked_classifiers_standard.png", dpi=96)

# ------- Train model
model.fit(X_train, y_train)

# ------- Evaluate model
y_train_pred = model.predict(X_train)
y_test_pred = model.predict(X_test)

print("F1 score on train data:", f1_score(y_train, y_train_pred, average=None))
print("F1 score on test data:", f1_score(y_test, y_test_pred, average=None))

Essentially, override the original API of RandomForestClassifier to something that is more easily handled by your application. In this case note that instead of overriding predict_proba I created another predict_proba_stacked that stacks the outputs. This is because cross_val_predict (a function native of scikti-learn) expects the original predict_proba that gives a list of outputs.
Also note that since I'm using super perhaps it would be easier and more readable to just use the sub-classing style (inheriting from Step and the classifier class) instead of using make_step.

By the way, note that steps accept a n_outputs argument that is meant precisely for these cases. That argument allows you to specify the number of outputs you expect from the step (2 in this example). I haven't tried it, but if you specify n_outputs=2, you should be able to do it without overriding predict_proba and without stacking the outputs within fit_predict. fit_predict could just return the list of arrays just like predict_proba, and then do the column stacking with Lambdas and ColumnStack steps.

If the either of the above solutions work and help you achieve what you want, it would be nice to add a new example of this use case :)

For completeness here is the same model implemented using n_outputs and Lambda steps. You can see the it produces the same results as the script above. On second thought, this style seems simpler.
import numpy as np

import sklearn.ensemble
import sklearn.linear_model
from sklearn.metrics import f1_score
from sklearn.model_selection import cross_val_predict, train_test_split

from baikal import Input, Model, make_step
from baikal.plot import plot_model
from baikal.steps import ColumnStack, Lambda

def fit_predict(self, X, y):
    self.fit(X, y)
    return cross_val_predict(self, X, y, method="predict_proba")

attr_dict = {"fit_predict": fit_predict}
RandomForestClassifier = make_step(sklearn.ensemble.RandomForestClassifier, attr_dict)
ExtraTreesClassifier = make_step(sklearn.ensemble.ExtraTreesClassifier)

# ------- Random Multilabel dataset
np.random.set_state(np.random.RandomState(0).get_state())

n_outputs = 2
X = np.random.random((1000, 50))  # feature array
y_p = np.random.randint(0, n_outputs, (1000, n_outputs))  # miltilabel aray, ex sample: [1 1] aka both classes detected
X_train, X_test, y_train, y_test = train_test_split(
    X, y_p, test_size=0.2, random_state=0
)

# ------- Build model
# The model is built similarly as the naive case. The difference is that during fit
# baikal will detect and use the fit_predict method above.
x = Input()
y_t = Input()
y_p1 = RandomForestClassifier(random_state=0, n_outputs=n_outputs)(x, y_t, compute_func="predict_proba")
y_p2 = RandomForestClassifier(random_state=0, n_outputs=n_outputs)(x, y_t, compute_func="predict_proba")

stack_multioutput_proba = Lambda(lambda mop: np.column_stack([c[:, 1:] for c in mop]))
y_p1 = stack_multioutput_proba(y_p1)
y_p2 = stack_multioutput_proba(y_p2)

stacked_features = ColumnStack()([y_p1, y_p2])
y_p = ExtraTreesClassifier(random_state=0)(stacked_features, y_t)

model = Model(x, y_p, y_t)
plot_model(model, filename="stacked_classifiers_standard_2.png", dpi=96)

# ------- Train model
model.fit(X_train, y_train)

# ------- Evaluate model
y_train_pred = model.predict(X_train)
y_test_pred = model.predict(X_test)

print("F1 score on train data:", f1_score(y_train, y_train_pred, average=None))
print("F1 score on test data:", f1_score(y_test, y_test_pred, average=None))

The solutions above should solve the issue so I'll close this. If the issue is not solved feel free to reopen.


Nonexistant IDs should always return 404, regardless of form.

Currently IDs that do not conform to the internal ID formatting requirements raise a specific error class. However, the client should always get an object not found error.

Fixed in #562


View Starting Date

As a user I want to be able to see the starting date of my task

Live link
http://reminders.zuri.chat


Boolean in select

resolves #3703
Issue: SQL does not allow not operation on Boolean type directly. They must be compared with true or false. Fix is to convert unary operations on Boolean type to comparison operation.
resolves  #3618
Issue: SQL does not allow comparison operation into projection. They must be wrapped in Case When Then block.
Fix: Whenever there is comparison operation into projection, convert it to conditional expression.
If comparison operation is inside conditional expression already then do no convert.
Issue: Comparison follows null semantics.
Implementation: While processing SelectExpression process the projection accordingly.
resolves #649 for projections

Updated
Split converting comparison to case block to SqlServer Specific. Null semantics are required for SQLite too so it is in relational.

@smitpatel Does this potentially resolve #649?

#649 is resolved by this at least for projections.

:shipit:


Dependency: Upgrade lunr from v0.5.12 to v0.6.x

https://github.com/olivernn/lunr.js
Concerns:

Might have breaking changes
Outstanding Issues with Chinese support

Trying out Lunr v0.6.0 in next release

Fixed in #246 by @Orhideous


Can I package the specified version of Node-RED?

It's an excellent project and I'm already using it！
However, I need to use Node-RED version 3.0 or version 2.0. Is it possible? And how should I do it?
thanks!

Hi @Doboo,
See this https://github.com/marcus-j-davies/Node-RED-SFE/issues/5


4.2 Beta 3 Mesh Compression Alters Models and resulting texturing

Godot version
4.2 Beta 4
System information
Windows 10
Issue description
When importing models with mesh compression on there are artifacts created that affect the texturing and look of the models.  In the Minimal Reproduction Projects attached, I have the same model imported in 4.1 and in 4.2 to show the difference between the imported models.  While troubleshooting, it seems the model scale can be a contributing factor (as this models default scale was 0.01 in blender).  However, this does not happen in 4.1 or when mesh compression is disabled.

4.1 on the left, 4.2 with compression on the right
Steps to reproduce
Import a mesh and create a new inherited scene to view it (does not need a texture to notice issue).  Go to import settings and select "Force Disable Compression" under Meshes and reimport it removes the issue.
Minimal reproduction project
GodotCompressionMVP.zip

After some troubleshooting with some other godot users.  Narrowed it down to the glb/gltf file based on blender version.  When the model in the MRP is exported from Blender 3.2.1 Godot Mesh Compression causes those artifacts.  But when the same model is exported from Blender 3.6.2, then Godot Mesh Compression does not cause any artifacts.  I hope this helps narrow down the possible culprit so older glb/gltf files still work with Mesh Compression as expected

The issue here is that mesh compression relies on having valid tangents.
In the importer we can generate tangents based on normals and UVs if the "ensure_tangents" box is checked off.
This model contains UVs, but the UVs don't contain valid UV data, so the generated tangents are bogus. When they get passed to the renderer, the renderer creates invalid normals. The current solution is to either uncheck ensure_tangentss or check force_disable_compression.
I'm investigating whether we can do something more and detect these cases. We might be able to check for bogus UVs and then fallback to a different method of generating tangents (the same as what we use when UVs aren't present)


feat: replace wilder by cmp.cmdline

https://github.com/ayamir/nvimdots/discussions/494#discussioncomment-6618808

I haven't used wilder for a while, what makes statusline of wilder special

Wilder integrates better with "stuffs outside Neovim" - e.g., cmp.cmdline doesn't provide completions for files under cwd, :Man pages, shellcmds, etc. But what makes me question the potential benefits this PR may bring is closely related to how nvim-cmp sorts its entries:
https://github.com/ayamir/nvimdots/blob/8325140dead9f4eb7d33960ca25ae291e3b9142a/lua/modules/configs/completion/cmp.lua#L49-L68
- We didn't take cmp-cmdline into consideration while adjusting sorting.comparators (which will also be used to filter/sort those cmdline completions) - IMO calling those whole bunch of comparators will be a complete overkill; This implies to support cmp.cmdline without causing performance overhead, we must change those sorting criteria exclusively for cmp-cmdline; the formatting of these entries also needs to be changed, as meta information about those slots no longer becomes relevant and could be misleading. FWIW it would be better to have a plugin focus on "what it's mainly designed for", what's the motivation behind this change?

I am not quite sure how the performance of cmp is affected, and I have gotten used to its slowness (due to the inherent issues of Python LSP and Copilot, it's unlikely to be fast). Are you referring to the completion of :Man and :! in command mode? For file paths, it seems to work.
I just cherrypick something in my config in case someone else may found useful  :)

Are you referring to the completion of :Man and :! in command mode? For file paths, it seems to work.

Ys. But there're several corner cases for file paths, e.g., too many nested dir changes like ../../.././../. This is b/c cmp.cmdline itself does not perform any sort of analysis, it's just a wrapper around Vim's default completion engine (which means it "inherits" all the problems of omnicomp).

I am not quite sure how the performance of cmp is affected, and I have gotten used to its slowness

I have been experiencing input lags while trying to specialize configs for cmp.cmdline these days (which was not the case before). After I removed cmp.cmdline, everything went fine - so I doubt something must be wrong there.

I just cherrypick something in my config in case someone else may found useful :)

Yeah it's just a matter of taste & perference, and Neovim is (as always) supposed to be a PDE, not an IDE 😄 Just curious, is there any issue regaring wilder.nvim that motivated u to make this change?

can't really remember maybe just cause it's dead/written by vim/have to fixed stuffs like https://github.com/ayamir/nvimdots/issues/923


Group margins

Added group margins (named Group Space on the UI for consistency), which I find helps massively in separating the symbol groups visually on Sketch.
Because groupSpace was already a variable I had to create a new one based on the other margin variable names, but they should probably be sanitized if this is accepted.

@gusso I know this is an old pull request, sorry for not responding when you submitted it. The code has changed quite a bit since your submission, but I liked the idea so I implemented it as a new feature in v14 (https://github.com/sonburn/symbol-organizer/releases/tag/14.0). Thanks for your feature idea, contribution, and support of Symbol Organizer!

@sonburn Wonderful, thanks for implementing!


support export values from other backends as env variables?

Hi,
it would be useful to export by configuration some values grabbed from a not env backend, as env variables.
my use case :
i grab my unknown host IP from rancher backend via confd, which will be used in a startup script.
actually, i need to put another template to export this value in a bash script.
It would be nice if confd export by configuration these grabbed values out of the box.
best regards,
Charles.

This issue makes me believe we need a general discussion around multiple sources for configuration values. The goal with confd is to have users pull all configuration, from multiple sources, and push them to a single configuration data store. This data store would become the source of truth for all configuration and would be the only source confd would pull from.
IMO this is the only way to keep things simple and make it much easier to troubleshoot what confd is doing. I also think it would give you the flexibility down the road where additional sources of configuration are needed.
I'm closing this issue not because this is a bad idea, but I feel it's out of scope for confd and I believe you will get better results pulling all the data you need into a single data store and pointing confd at that.


Regroup imports

I was able to hack a version of rustfmt locally and just tweaked the one line that prevented it from grouping use statements with newlines between them back together and ran that once to get this diff. No rush on this one, but I figured it would be good to toss it together quickly for when we talk about import style in our next gardening session.

I really don't think that we should implement custom rustfmt rules for use in our project.

I really don't think that we should implement custom rustfmt rules for use in our project.

I haven't, it was a onetime hack to see how hard it would be to get our repo into a consistent state once where we could go back to maintaining our preferred style via code review after.


feat(FN-2021): add closing div

Introduction :pencil2:
There was a missing closing div in one of the nunjucks files.
Resolution :heavy_check_mark:
Adds the closing div back.

Codecov Report
Attention: 206 lines in your changes are missing coverage. Please review.

Comparison is base (91637c1) 17.31% compared to head (637d1d3) 22.51%.
Report is 223 commits behind head on main-stbr-tfm-5.

Files
Patch %
Lines

...ervice/put-utilisation-report-status.controller.ts
0.00%
38 Missing and 3 partials :warning:

dtfs-central-api/src/drivers/db-client.ts
37.50%
11 Missing and 4 partials :warning:

...al-api/src/v1/routes/utilisation-reports-routes.js
0.00%
14 Missing :warning:

...rs/tfm/amendments/tfm-get-amendments.controller.js
0.00%
10 Missing :warning:

...pi/src/v1/controllers/bank/get-banks.controller.js
0.00%
7 Missing :warning:

...c/v1/controllers/tfm/users/tfm-users.controller.js
0.00%
7 Missing :warning:

dtfs-central-api/src/generateApp.js
0.00%
5 Missing :warning:

...c/v1/controllers/tfm/users/tfm-teams.controller.js
0.00%
5 Missing :warning:

...ports-reconciliation-summary.controller/helpers.ts
91.37%
5 Missing :warning:

...src/services/repositories/utilisation-data-repo.ts
75.00%
2 Missing and 2 partials :warning:

... and 43 more

Additional details and impacted files
@@                 Coverage Diff                 @@
##           main-stbr-tfm-5    #2592      +/-   ##
===================================================
+ Coverage            17.31%   22.51%   +5.19%
===================================================
  Files                 1120     1152      +32
  Lines                25591    26530     +939
  Branches              4101     4272     +171
===================================================
+ Hits                  4432     5974    +1542
+ Misses               18423    17964     -459
+ Partials              2736     2592     -144

Flag
Coverage Δ

api-test
0.48% <ø> (ø)

ui-test
64.57% <ø> (+13.75%)
:arrow_up:

unit-test
9.98% <52.75%> (+2.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


X axis scale does no go beyond 100 km

For cars that (gasp!) get more than 100 km range - the X and Y axis scales need to auto-set up to fit the available range.
Could use the battery SOH% value to estimate max range.

66% SOH - my 2011 car max GOM range is 105 km
81.7% SOH - my 2011 car max GOM range was 141 km
83.07 SOH - my 2011 car max GOM range was 150 km
85% SOH - Jodene's 2014 car max GOM is 140 km
??% SOH - Martins 2014 car max GOM is ??? km
??% SOH - Tom's 201? car max GOM is ??? km
81% SOH - John's 2015 car max GOM range is 147 km
79% SOH - John's 2015 car max GOM range is 135 km
??% SOH - Merewyn's 2011 car max GOM range is ??? km

Here's my rough formula:
max range = 2.23 * SOH - 40
Would help to have a bit more data on battery SOH% vs Guess-O-Meter max range (from cars with less than my 66 SOH%.

Version 116 fixes this limitation by making the x and y axis scale to 110% that of the initial range.


Diagnostics are not being cleared after formatting (rubocop)

The format on save is working now, but the diagnostics are not being cleared.

does au TextChanged and InsertLeave  have guard au ?

okay the autocmd event create successful .so I wonder why not trigger there
https://github.com/nvimdev/guard.nvim/blob/1154a72a7094d09cae01e97de005459b6fe03d57/lua/guard/lint.lua#L16

Fixed in last commit!


move checks to dedicated script

We should make general checks on the inputs for inputs that live in a dedicated script. This would disentangle the checks from the model.
The check should be like: check_at_least_2d, check_at_least_3d, or similar...
this type of generic check could be called by all sort of models in the future, not only GLMs.

now we have a validate.py


[GOBBLIN-2104] Initialize dagProcessingEngine metrics

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[X] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-2104

Description

[X] Here are some details about my PR, including screenshots (if applicable):
This PR adds a common metrics utility class DagProcessingEngineMetrics  that is used to trace life cycle of a request from moment it’s received through completion.

DagActionChangeMonitor -> DagManagement -> DagTaskStreamImpl -> MySqlMultiActiveLeaseArbiter -> DagProc
Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:
N/A

Commits

[X] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

TODO: need to add docs/desc

checks on my fork https://github.com/umustafi/gobblin/pull/31/checks


Add bwctestsuite in gradle task

Signed-off-by: Zelin Hao<EMAIL_ADDRESS>Description
Add bwcTestSuite task into the gradle file for run combined bwc Test.
This functionality is said in the guide but didn't actually get implemented. https://github.com/opensearch-project/notifications/blob/main/DEVELOPER_GUIDE.md#building-from-the-command-line
Issues Resolved
Part of the https://github.com/opensearch-project/opensearch-build/issues/1873
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #519 (b1b44cd) into main (1def41d) will decrease coverage by 9.35%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #519      +/-   ##
============================================
- Coverage     70.80%   61.45%   -9.36%
  Complexity      112      112
============================================
  Files           124       73      -51
  Lines          3946     2467    -1479
  Branches        631      266     -365
============================================
- Hits           2794     1516    -1278
+ Misses          971      773     -198
+ Partials        181      178       -3

Flag
Coverage Δ

dashboards-notifications
?

opensearch-notifications
61.45% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...s-notifications/public/pages/Channels/Channels.tsx

...ns/public/components/ContentPanel/ContentPanel.tsx

...es/Channels/components/modals/DetailsListModal.tsx

dashboards-notifications/public/utils/helpers.ts

...es/Channels/components/modals/MuteChannelModal.tsx

...ifications/public/pages/Emails/CreateSESSender.tsx

...c/pages/CreateChannel/components/SlackSettings.tsx

...notifications/public/pages/Emails/CreateSender.tsx

...c/pages/CreateChannel/components/ChimeSettings.tsx

.../Channels/components/modals/DeleteChannelModal.tsx

... and 41 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Closed in favor of #587


Modernization Niceties

This fixes few issues I noticed after PR #27.

upgrade tslib-cli to fix below warning generated during builds:

fix an oversite in tsconfig.json related to outDir - it being lib, not dist

This update can be bundled in next time we cut a new release.
If you prefer releasing it now, a patch release would suffice.

Thanks! I noticed that too when I did the version bump; I don't think it warrants it's own version though, cause it's just for the build.


Praise the companies who do not up-charge for SSO

As well as shaming companies who up-charge for SSO, I think it would be a nice gesture to praise the companies who don't.

duplicate: https://github.com/robchahin/sso-wall-of-shame/issues/22


[codegen] move remapUnionTypeAnnotationMemberNames to Parser

Summary

Part of https://github.com/facebook/react-native/issues/34872#issuecomment-1304236257

[Assigned to @youedd] Create a new function remapUnionTypeAnnotationMemberNames in the parser.js file and add documentation to it. Implement it properly in the FlowParser.js and in the TypeScriptParser.js. Remove the function remapUnionTypeAnnotationMemberNames and update the emitUnionTypeAnnotation signature to accept a Parser parameter instead of a language one. Use the new Parser function instead of the old one here.

Changelog

[Internal] [changed] - move remapUnionTypeAnnotationMemberNames to the parsers implementations
Test Plan

yarn jest react-native-codegen

Could you rebase to solve conflicts? :pray:

@cipolleschi  it's rebased !


Start emulator with custom zerolog to log out debug information

Instructions
In the following Thread in discord @janezpodhostnik gave some very nice debug information about a transaction<PHONE_NUMBER>80981278
Testnet:
ComputationKindStatement: 2111,
ComputationKindLoop: 150,
ComputationKindFunctionInvocation: 605,
ComputationKindGetValue: 134858,
ComputationKindSetValue: 185044
Mainnet:
ComputationKindStatement: 2561,
ComputationKindLoop: 150,
ComputationKindFunctionInvocation: 755,
ComputationKindGetValue: 396052,
ComputationKindSetValue: 434249,
It would be very nice if this information was present in the emualtor. If nothing else then as log messages
Issue To Be Solved
Adding an option to allow starting emulator with a custom zerolog implementation.
https://github.com/onflow/flow-emulator/blob/master/blockchain.go#L364

Closed with https://github.com/onflow/flow-emulator/pull/166
We can close this issue


Service Worker are broken in Firefox on private browsing

Everything is described here:
https://bugzilla.mozilla.org/show_bug.cgi?id=1320796
ATM and since.. Always ?
Service Workers are unsupported in private browsing with Firefox.
'serviceWorker' in navigator;
// returns false in private browsing

"Deliberately not supported" isn't exactly "broken"... "missing" maybe.

"Deliberately not supported" isn't exactly "broken"... "missing" maybe.

Sure, but end result is that doesn't work. I can't use that feature. Shouldn't it be documented?

Thanks, have added a note on this under Known Issues:
https://caniuse.com/serviceworkers

Thanks, that will add some visibility.
Can I suggest to add a numbered note as well? It's not obvious that Firefox
has a problem by looking at the table.
Thanks
Le sam. 10 sept. 2022 à 21:49, Alexis Deveria @.***> a
écrit :

Thanks, have added a note on this under Known Issues:
https://caniuse.com/serviceworkers
—
Reply to this email directly, view it on GitHub
https://github.com/Fyrd/caniuse/issues/6352#issuecomment-1242795575, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWBMUE6ZUAZH3X7MENI3EDV5TQ4JANCNFSM52KXASEQ
.
You are receiving this because you commented.Message ID:
@.***>

--
Yannick Majoros
Valuya sprl


chore(avm): remove trailing minus zero in codegen

Please read contributing guidelines and remove this line.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#7185  👈
#7178
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @IlyasRidhuan and the rest of your teammates on  Graphite

Benchmark results
Metrics with a significant change:

proof_construction_time_sha256_30_ms (16): 1,852 (+28%)
avm_simulation_time_ms (Token:transfer_public): 31.4 (-52%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_30_ms
11,723
3,215 (+3%)
:warning: 1,852 (+28%)
1,665
1,464 (-6%)

proof_construction_time_sha256_100_ms
43,992 (-2%)
11,802 (+1%)
5,630 (+4%)
5,502 (+1%)
5,382 (+1%)

proof_construction_time_poseidon_hash_ms
78.0
34.0
34.0
58.0 (+2%)
87.0

proof_construction_time_poseidon_hash_30_ms
1,516
417
200
220 (-1%)
266

proof_construction_time_poseidon_hash_100_ms
5,744
1,575
724
776 (-1%)
797 (+1%)

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
1,412
1,412
1,412

l1_rollup_calldata_gas
9,440
9,468
9,464

l1_rollup_execution_gas
610,261
610,289
610,285

l2_block_processing_time_in_ms
753
1,410
2,686 (-2%)

l2_block_building_time_in_ms
25,721 (+1%)
51,102 (-1%)
101,383 (+1%)

l2_block_rollup_simulation_time_in_ms
25,625 (+1%)
50,800 (-1%)
101,025 (+1%)

l2_block_public_tx_process_time_in_ms
22,029 (+1%)
47,009 (-2%)
97,282 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
7,007
9,843

node_database_size_in_bytes
12,148,816
16,093,264

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Function
time_ms
bytecode_size_in_bytes

GasToken:_increase_public_balance
65.4 (-5%)
13,873

GasToken:set_portal
16.5 (-2%)
3,495

Token:constructor
91.5 (-1%)
24,207

FPC:constructor
61.7 (-2%)
13,893

GasToken:mint_public
52.3 (+2%)
10,241

Token:mint_public
74.2 (+18%)
19,216

Token:assert_minter_and_mint
207 (+2%)
13,034

AuthRegistry:set_authorized
33.8 (+13%)
7,869

FPC:prepare_fee
179 (-6%)
15,187

Token:transfer_public
:warning: 31.4 (-52%)
31,425

FPC:pay_refund
130 (+15%)
20,080

Benchmarking:increment_balance
2,688 (-1%)
15,465

Token:_increase_public_balance
60.6 (+8%)
15,089

FPC:pay_refund_with_shielded_rebate
167 (+18%)
21,167

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.154 (+1%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.3 (-5%)
16.7 (-4%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.598 (-5%)
0.513 (-4%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
48.2
76.3 (-11%)
131
245 (-1%)
471 (-10%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.493
0.469 (-12%)
0.452
0.445
0.438 (-10%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
59.4
112 (-10%)
184 (-1%)
353
693

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.503
0.501 (-11%)
0.486 (-1%)
0.478
0.475

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
72.9 (-1%)
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
133
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.519 (-2%)
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
85,672
670,983

Transaction size based on fee payment method
| Metric |  |
| - |  |


[20.09] nvidia-x11: 455.38 -> 455.45.01 and stable marked broken with kernel >= 5.11

Motivation for this change
Resolves #114075
(cherry picked from commit a68a0bc)
Reason: compiling with linuxPackages_5_10 package fails with nvidia
455.38 driver.

455.45 introduced support for kernel 5.9 and 5.10

Previous versions will fail to compile due to "get_dma_ops" being
refactored to a different include in kernel 5.10

"get_dma_ops" in kernel 5.9 tree: https://elixir.bootlin.com/linux/v5.9.16/A/ident/get_dma_ops
"get_dma_ops" in kernel 5.10 tree: https://elixir.bootlin.com/linux/v5.10/A/ident/get_dma_ops

Relevant Gentoo issue: https://bugs.gentoo.org/755722#c2
Release Highlights: https://www.nvidia.com/Download/driverResults.aspx/166883/en-us

Additionally, marks stable as broken if kernel package version selected is >= 5.11 due to lack of support for the 5.11 kernel tree in the nvidia 455.XX driver releases
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review pr 120972"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 120972 at 25458ec1 run on x86_64-linux 1

16 packages marked as broken and skipped:

linuxPackages_5_11.nvidia_x11
linuxPackages_5_11.nvidia_x11_beta
linuxPackages_hardkernel_4_14.nvidia_x11
linuxPackages_hardkernel_4_14.nvidia_x11_beta
linuxPackages_hardkernel_latest.nvidia_x11
linuxPackages_hardkernel_latest.nvidia_x11_beta
linuxPackages_latest-libre.nvidia_x11
linuxPackages_latest-libre.nvidia_x11_beta
linuxPackages_latest.nvidia_x11
linuxPackages_latest.nvidia_x11_beta
...

10 packages skipped due to time constraints:

nvtop
python27Packages.TheanoWithCuda
python27Packages.cupy
python37Packages.TheanoWithCuda
python37Packages.cupy
python37Packages.pytorch-bin
python37Packages.tensorflowWithCuda
python38Packages.TheanoWithCuda
python38Packages.cupy
python38Packages.pytorch-bin

16 packages built successfully:

bumblebee
geekbench
linuxPackages-libre.nvidia_x11 (linuxPackages-libre.nvidia_x11_beta)
linuxPackages.nvidia_x11 (linuxPackages.nvidia_x11_beta ,linuxPackages_5_4.nvidia_x11 ,linuxPackages_5_4.nvidia_x11_beta)
linuxPackages_4_14.nvidia_x11 (linuxPackages_4_14.nvidia_x11_beta)
linuxPackages_4_19.nvidia_x11 (linuxPackages_4_19.nvidia_x11_beta)
linuxPackages_4_4.nvidia_x11 (linuxPackages_4_4.nvidia_x11_beta)
linuxPackages_4_9.nvidia_x11 (linuxPackages_4_9.nvidia_x11_beta)
linuxPackages_5_10.nvidia_x11 (linuxPackages_5_10.nvidia_x11_beta)
linuxPackages_hardened.nvidia_x11 (linuxPackages_hardened.nvidia_x11_beta)
linuxPackages_testing_bcachefs.nvidia_x11 (linuxPackages_testing_bcachefs.nvidia_x11_beta)
linuxPackages_xen_dom0.nvidia_x11 (linuxPackages_xen_dom0.nvidia_x11_beta)
linuxPackages_xen_dom0_hardened.nvidia_x11 (linuxPackages_xen_dom0_hardened.nvidia_x11_beta)
linuxPackages_zen.nvidia_x11 (linuxPackages_zen.nvidia_x11_beta)
primus
psensor

To follow up, I managed to stumble upon this today which might change how we want to handle this.
https://nvidia.custhelp.com/app/answers/detail/a_id/5172
I think the problem here is 455 was a latest features (aka beta in my opinion at least) driver being used for the generic expression. Since they have a new latest features major release, 465, they didn't backport a fix for 455 is my guess. Since legacy drivers were impacted too, I would expect 455 to be impacted.
I am thinking two potential routes we can go with this for addressing the CVEs in question.

Backport 20.09 to the latest feature release with the patch and then address the generic vs beta expression concern in master.
Address the generic vs beta concern in master and then backport that into 20.09.

https://www.nvidia.com/en-us/drivers/unix/

To follow up, I managed to stumble upon this today which might change how we want to handle this.
https://nvidia.custhelp.com/app/answers/detail/a_id/5172
I think the problem here is 455 was a latest features (aka beta in my opinion at least) driver being used for the stable expression. Since they have a new latest features major release, 465, they didn't backport a fix for 455 is my guess. Since legacy drivers were impacted too, I would expect 455 to be impacted.
I am thinking two potential routes we can go with this for addressing the CVEs in question.

Backport 20.09 to the latest feature release with the patch and then address the stable vs beta expression concern in master.
Address the stable vs beta concern in master and then backport that into 20.09.

https://www.nvidia.com/en-us/drivers/unix/

Looks like PR #121166 resolved my concerns about stable vs beta. I guess the question remains what to backport to 20.09 given the security concern.

Unfortunately NixOS 20.09 has reached its end-of-life status on 2021-07-01, one
month after the release of NixOS 21.05.
Since we do not accept any changes to its branches anymore, I'm closing this pull
request.


array specialization in phpdoc

If this is in line with Slim's codebase philosophy, here is a minor change (phpdoc comments) about the returning type of Request's getUploadedFiles() method. Since this method always returns an array (possibly empty) of UploadedFileInterface instances, this phpdoc change enables IDE analysis and auto-complete in call chaining.
Thanks.

Yes! more type hinting :D :+1:

Nope, look at the interface: https://github.com/php-fig/http-message/blob/master/src/ServerRequestInterface.php#L137
If I remember correctly array was chosen over UploadedFileInterface [], because it can be a "tree", not just a list of.

@JoeBengalen What kind of tree shall we expect? Do you have an example in mind, that could help me understand the construct of such tree? Thanks a lot.

@gabrielzerbib Read the standard: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-7-http-message.md#16-uploaded-files
Examples are given ;)

(yep :) )


Could not open Wordlist

I'm a Windows user getting an error -> Could not open .\SecLists\Discovery\Web-Content\raft-medium-directories.txt
I browsed to the directory -> C:\Users\Bray\AppData\Roaming
But it doesn't find -> ferox-config.toml
But still error too.

howdy!
the wordlists aren't provided with feroxbuster, it's expected that you provide your own. The default location on windows is
#[cfg(target_os = "windows")]
pub const DEFAULT_WORDLIST: &str =
    ".\\SecLists\\Discovery\\Web-Content\\raft-medium-directories.txt";

however, if that doesn't fit your situation, you'll need to provide a path to your wordlist via the -w option.
similarly for the config file, it doesn't get installed automatically on windows. You'll need to create one with your config and then drop it in one of 3 locations

C:\Users\Bray\AppData\Roaming\feroxbuster
The same directory as the feroxbuster executable
your current working directory

closing this since there's no response. feel free to reopen if you need to

I have the same problem
the solution you added didn't help me

@revorun could you be more specific? which part of the provided solution doesn't solve your problem? What exactly is the problem you're having?

i am using WSL when i try to use feroxbuster that massage pops up
itried to make the file .config but still didnt work
i tried the solution you added it also didnt work
so i need help

the exact error you provided can be fixed with the following:
./feroxbuster -u roknsh.com -w Downloads/common.txt

WSL is linux and the backslash character (\) is special to the executing shell.

i tried it but still didnt work

does that file exist? can you run the following commands
pwd
ls -al
ls -al Downloads

it must exist but it is deosnt in the WSL how can make it exist??

try
ls /mnt/c/Users/<YOUR_WINDOWS_USER_NAME>/Downloads/

if the file is there, point your -w to it.
you can also just symlink your windows downloads folder into a friendlier location in wsl
ln -s /mnt/c/Users/<YOUR_WINDOWS_USER_NAME>/Downloads ~/downloads


How can i change the dots and buttons position?

Current:

I need some help with customizing on the swiper. Is it possible to move the dots and buttons up to the text area?
Like this:

And how can i change the color on the buttons?

This was closed. Any idea how is this to be achieved?

bump

So the paginationStyle prop refers to the pagination container. What worked for me was to set top: 0 and alignItems: "flex-start" (since the pagination container by default has flexDirection: "row"). And then apply paddings to your liking


[5.0] Support Blade Relative Paths

#6081
If you want to include a partial file that located at same folder with requested view, use the @include directive like:
@include(‘.partial’)

Why did this get closed with no explanation? I would very much like to have this.


Workaround for StartSmeshing and NodeID

Right now calling SmesherService.StartSmeshing starts creating PoST data using key.bin created on the Node start. On the second App session, Node will try to find key.bin file in the PoST data directory and use it. It causes a bug, when the User specifies a custom directory (non default ~/post/data) — it does not contain key.bin and Node will create a new one there and created PoST data files mismatches the newly created ID. The Node exits with panic: ID mismatch.
Details: https://github.com/spacemeshos/go-spacemesh/issues/2858
In the issue mentioned above, we decided to make a workaround in Smapp until we have implemented big changes in go-spacemesh. See https://github.com/spacemeshos/go-spacemesh/issues/2858#issuecomment-960733520
So we need to implement a temporary workaround in the Smapp:

On start smeshing (but before calling GRPC SmesherService.StartSmeshing) Smapp should check for the existence of the key.bin file in the selected directory:

If it is not there — just copy it from the default path (~/post/data/key.bin)
If it is there — check that this is the same file as in the default path (~/post/data/key.bin) using shasum.

If it differs — update the config and restart the node.
If it is the same — just call StartSmeshing.

If ~/post/data/key.bin is not found — update the config and restart the node as well

After all, show the success screen as usual

@noamnelke also note that we have another client - smrepl and users must use it in upcoming devnets until we can ship smapp 0.2. We need to fix post in the node so smeshing will work after restart in smrepl where user updated the node config file. Smrepl is a 100% stateless client so it doesn't keep any post related state or any other user data.

@avive I don't think this issue applies to smrepl. I assume that smrepl users create a config that includes the correct PostDatadir before starting the node for the first time, rather than the SMApp flow of starting the node with a temporary folder and then changing it at runtime. Is there any reason to think this is not the case?

That's unfortunately not how currently smrepl works. User sets up smeshing via a repl command and is given the code snippet to update the config file and instructions to edit the config file. On next session node takes post data from the config file it is given in startup.

@avive

That's unfortunately not how currently smrepl works.

See my comment here: https://github.com/spacemeshos/smrepl/issues/56#issuecomment-962909774

@brusherru one point I just noticed: when you mention the default location, that could work for the common case, but not always. Ideally, the location you copy key.bin from and compare an existing file with should be the previous location, which is the default location in the common case (but not always).
If it considerably complicates the kludge, we can consider just doing what you wrote, but it will break badly if the user changes from one non-default location to another. Not very common, but nasty behaviour.

@noamnelke thanks for the attention to detail. I got the same idea when implementing it, so I've already done it using this approach. So, I'm getting the "previous" key.bin path by getting property smeshing.smeshing-opts.smeshing-opts-datadir from the config and, in case if it is empty, fall back to the default ~/post/data/.
Also, if the data-dir path does not change, it starts smeshing as usual without any additional logic.
You can check out PR, I have written quite detailed comments there: https://github.com/spacemeshos/smapp/pull/824/files#diff-0e9c78b6209a81be37df60ca8f7b90f25717ad80685e4de9c5f5337a64758205R98


WIP: Inbound channel verification rebased

This is a WIP implementing inbound channel verification through light client bridge.
Current blocker is that relay chain returns beefy commitment hash hashed with blake2b, which for performance reasons needs to be keccak256 instead.

continued on https://github.com/Snowfork/polkadot-ethereum/pull/406


Python - Sum of the elements of an array

https://github.com/tasnimzotder/hactoberfest-2020/blob/f174f45ae15c7c742439891576636fae5b2b2957/python/array_sum.py#L4

Hello @tasnimzotder , I would like to contribute to this issue, all python code in your repository

Hi @hritik5102 you are welcome to contribute.

Hi @tasnimzotder , I would like to contribute to this issue

sir @tasnimzotder I have contributed to this problem pls accept my pull request


Bug With Sale of Zippy Pet

Sale of Zippy pet went through but I do not have the pet nor does the person who sold it to me. It looks like it was a bug when two people tried to sell me items at once...
https://imgur.com/a/xNP9xAH

Do you have the Fremennik Kilt?

Yes I received the kilt

This was a combined bug where a mass is sent out at the exact same time as a trade resulting in the bank commands overlapping. Haven't happen since the queue fix.

This was a combined bug where a mass is sent out at the exact same time as a trade resulting in the bank commands overlapping. Haven't happen since the queue fix.


How do I build the OCI so I can try submitting PRs?

$ pack package-buildpack drnic/paketo-ruby --package-config buildpack.toml
ERROR: reading config: unknown configuration elements api, buildpack.id, buildpack.name, metadata, order in buildpack.toml

How do I build the ruby OCI? I'd like to try adding https://github.com/paketo-buildpacks/procfile support.

Ok, I've found the scripts/package.sh:
$ ./scripts/package.sh --version <IP_ADDRESS>
...
Successfully created package /Users/drnic/Projects/paketo/community/ruby/build/buildpackage.cnb

Using it:
pack build drnic/simple-cli --builder gcr.io/paketo-buildpacks/builder:cflinuxfs3 --buildpack /path/to/this/ruby/project/build/buildpackage.cnb


Create models layer

At least for user, currently doing too much business logic in the API handlers, i.e.:
case db_user:create(Email, Name, PasswordHash, LCountry) of
                {ok, _User} ->
                    db_holiday:set_default_holidays(Email, LCountry),
                    db_reminder:set_default_reminder_config(Email),
                    db_reminder:regenerate_reminders(Email)

The backend model got simpler, this is not needed for now


Using our data to run example

@cristianochesi Are you sure you want to merge this in? It's really testing code on our data.

ups, just clicked on the wrong button... but I updated the relevant part of the lexicon so that you can run the tests on your examples


Internal Error for too large Javascript files included with ui.inline_script

Wave SDK Version, OS
0.17.0, Linux
Actual behavior
Including plotly as inline script via:
import plotly # v2.3.1

# ....

q.page['meta'].script = ui.inline_script(plotly.offline.get_plotlyjs())

fails with
h2o_wave.core.ServiceError: Request failed (code=500): Internal Server Error

Interestingly, I could not reproduce this in a minimal example app using the same script. However, using the unminified version from https://cdnjs.cloudflare.com/ajax/libs/plotly.js/1.33.1/plotly.js does the trick.
Expected behavior
I would expect no error to be thrown, or a more informative error message that the size is too large.
Now, since my app has to work offline, I have to create a NamedTemporaryFile with the minified plotly and use q.site.upload (which is also slower than I would expect) to upload the file, then ui.script(...) to include it as a non-inline script.
Steps To Reproduce

wget https://cdnjs.cloudflare.com/ajax/libs/plotly.js/1.33.1/plotly.js

app.py
from h2o_wave import Q, main, app, ui

@app("/demo")
async def serve(q: Q):
    q.page['meta'] = ui.meta_card(box='')
    q.page['meta'].script = ui.inline_script(open("plotly.js", "r").read())

    await q.page.save()

$ wave run app
INFO:     Uvicorn running on http://<IP_ADDRESS>:8001 (Press CTRL+C to quit)
INFO:     Started reloader process [7325] using statreload
INFO:     Started server process [7327]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     <IP_ADDRESS>:33598 - "POST / HTTP/1.1" 200 OK
Unhandled exception
Traceback (most recent call last):
  File "/home/bminixhofer/h2o/wave-minimal/venv/lib/python3.7/site-packages/h2o_wave/server.py", line 305, in _process
    await self._handle(q)
  File "./app.py", line 8, in serve
    await q.page.save()
  File "/home/bminixhofer/h2o/wave-minimal/venv/lib/python3.7/site-packages/h2o_wave/core.py", line 605, in save
    await self.site._save(self.url, p)
  File "/home/bminixhofer/h2o/wave-minimal/venv/lib/python3.7/site-packages/h2o_wave/core.py", line 721, in _save
    raise ServiceError(f'Request failed (code={res.status_code}): {res.text}')
h2o_wave.core.ServiceError: Request failed (code=500): Internal Server Error

I still got an error with plotly.min.js in a larger app (Hydrogen Torch) though - I'll check again if I can reproduce it.

I can't reproduce this right now so in my opinion this part is solved by https://github.com/h2oai/wave/commit/006e2827a3ab52698f6bb647e5b084fe35428707 .
Should I open a separate issue for the upload speed problems?

I opened a new issue here: #982


Reporting battery level and signal strength of Wireless TECH Thermostat R-8b

Hi,
Amazing job, reviving this integration project! I've just migrated from original integration to your's and wanted to check if the wireless thermostat data such as battery level and signal strength are available. Unfortunately they're not. In emodul I can see battery level and signal strength (represent with "bars")
Please tell me, are those features are already in your fork or are they in development  ?
I've TECH: L4-WiFi (v.1.1.10) controller and TECH R-8b Wireless thermostats for each area. Below is example of attributes from thermostat:
  - heat
  - "off"
min_temp: 7
max_temp: 35
current_temperature: 22.6
temperature: 21.5
current_humidity: -2
hvac_action: idle
friendly_name: Biuro
supported_features: 385```

Hello.
Not sure what you mean exactly. Battery level for wireless sensors is extracted as separate sensor under device:

Signal strength is currently not extracted.
PS. I was added as collaborator to the upstream repo, so this repo will become obsolete and everything will happen in the upstream:
https://github.com/mariusz-ostoja-swierczynski/tech-controllers/pull/55

Oh, now I see them in UI. I was too quick with issue. Thanks!
I've one extra sensor for humidity that shows -2% in all areas.

Ok, for humidity it would be great if you could provide a json dump of what emodul is returning for your module.
Go to emodul.pl while logged in, developer tools (F12), network tab, refresh page and then look for XHR type request to your module id. Click on it and get the JSON response:

JSON response is quite long, so I've putted it here: https://pastebin.com/TmseCEUb
(I've redacted controller id, rest of the response is untouched)

Ok, so the API is reporting "-2" for each of 8 sensors. What does that translate into in emodul itself?

emodul doesn't show anything regarding humidity

All right, then it seems like some error value on their side as well.  Right now I only check if humidity is reported and if it is different than zero. I will need to then check if it is greater than zero, and then you will not have such sensor entity.

Perfect, let me know when it's ready then I'll test it

Ok, it is fixed now on the main branch. You can download and test.

Works good, no humidity sensor and no errors in logs 👌


docs: update reference architectures

Description

Add toc-version attribute for Cloud Docs use.
Remove HTML comments
Remove FedRAMP compliance from QuickStart
Remove email from authors metadata.

Types of changes in this PR
No release required

[ ] Examples or tests (addition or updates of examples or tests)
[x] Documentation update
[ ] CI-related update (pipeline, etc.)
[ ] Other changes that don't affect Terraform code

Release required

[ ] Bug fix (patch release (x.x.X): Change that fixes an issue and is compatible with earlier versions)
[ ] New feature (minor release (x.X.x): Change that adds functionality and is compatible with earlier versions)
[ ] Breaking change (major release (X.x.x): Change that is likely incompatible with previous versions)

Release notes content
Replace this text with information that users need to know about the bug fixes, features, and breaking changes. This information helps the merger write the commit message that is published in the release notes for the module.

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

Merge by using "Squash and merge".

Use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author.
The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).

:tada: This PR is included in version 3.3.0 :tada:
The release is available on:

GitHub release
v3.3.0

Your semantic-release bot :package::rocket:


[AutoPR resources/resource-manager] ARM new Py Path

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

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


Enforce scalastyle

trigger scalastyle sbt plugin as part of compile and test configuration
revised and cleaned up scalastyle config
added/enabled more rules, as specified in:
http://www.scalastyle.org/rules-1.0.0.html
fixed scalastyle issues or disabled specific rules on the spot
introduced String helper function toOneLine to work with multiline text
deprecated Dim.=<(value: String)

Should we remove scalafmt then?

Should we remove scalafmt then?

I do not think so. Scalafmt and Scalastyle are complementary tools.
Yes, in part they control the same aspects and can be contradictory. Therefore, they both need to be carefully fine-tuned.

Regarding the sbt-scalafmt, I noticed that the com.lucidchart plugin we're using is on low freq maintenance (i.e. "done"), but there's another plugin of the same name but different groupId that's much more recently maintained.
I chose to stick with the one we're already using to minimize impact. If we're doing a larger overhaul in this area, we might want to update to the newer one.

LGTM

LGTM too


Cache last-used JVM

Right now, Jaunch performs the jvm-root-directory search every time. Better would be to cache the last successful matching Java, and try using that again preferentially before continuing on to any others. That way, the user has a stable application setup until/unless the last-used Java actually stops meeting Jaunch's constraints (e.g. if the developer bumps up the jvm-version-min). (Contrast with the ImageJ Launcher, which always chooses the Java with the newest timestamp... pretty limited...)

@hinerm and I decided to handle this issue by supporting a .cfg file of key=value pairs, which Jaunch now reads as of d35cb3bf497271e321f9c909ba12d25e1ec3b3a0 and e44236b0ce3e3d02ed390c9855570e72205b989f, and which Jaunch's JVM launcher respects via (tentatively named) variable jvm.app-configured as of 9f9b02d3c7210695946c71056ae29f03f6e15fc7 / 27e26149fc37d98e2d0669d42ed7f62c830528c9 /e5283d58d03d50f36467711c906889d39c205d86.
It is outside the scope of Jaunch (for now) to manage JVM installations; it's up to the JVM-based application to write this .cfg file however it wants in order to record its preferred installation of the JVM via this variable.


add metalogo and metalogox compatibility

Lists metalogo and metalogox as compatible and adds tests.

Ah I was assuming the behavior of the default \LaTeX etc. was correct. Will fix

partially compatible. They inherit in part from our tagging of TeX and LaTeX, but e.g. \LaTeXe copy and paste as LaTeXLATEX2ε which is clearly wrong.

There's a few odd things with copy/paste. If you copy just one line from the following document you get something reasonable, but if you copy both lines you get
LaTeX
LaTeX
LATEX2ε

\DocumentMetadata
  {
    lang=en-US,
    pdfversion=2.0,
    pdfstandard=ua-2,
    testphase={phase-III,math,title,table,firstaid},
  }
\documentclass{article}
\begin{document}
\LaTeX

\LaTeXe
\end{document}

If they're both \LaTeXe you get
LATEX2ε
LaTeX
LATEX2ε

That's with luatex. With pdftex I get the same thing but with no line breaks or spaces.


Fix the vSphere template uploading error in edge cases

This fixes the issue that when provisioning multiple vSphere VMs from the same template in multiple Go routine, the slower job will be failed because the template is created by faster routine.
This fix just skips the upload if the same template is created or been uploading by other jobs.
@variadico @zquestz @mbhinder @y0ssar1an

I also agree with @mbhinder I do not believe this code belongs in libretto. This is the callers concern, and we should be bubbling up the error to them, and THEY can choose what to do.

The current code base of Provision function doesn't allow you check the upload error from outside caller, once the error returns, the whole provision process will be terminated. We can lock the mutex base on template name, so that will restrict only one Go routine to do the upload.


Does longhorn has capability to identify all secondary disk attached to nodes and format them

Is there a way if longhorn can identify secondary disks attached to the node and based on the disk name mentioned in disks configuration create a filesystem on top of it and then mount it to dir mentioned in disks configuration?

No.
Also, automatic format based on the disk name is risky because there is no guarantee after the node reboots, the disk name (I guess what you meant is /dev/sdxx) will remain the same.