AWS: We should run the master in an autoscaling group of size 1

This will provide automatic relaunch in case of failure.

How does AWS handle mounting persistent disks to instances in an autoscaling group? Also, what about health checks (you also want to re-launch the VM if the VM is running but the apiserver is down)?

Are the files/configuration that need to survive termination in a known location?
We could create an EBS volume and mount it in the master instance.  Alternately, I think the same idea would work, but it would need to be the boot volume.

@jboelter We put all of the config that needs to survive on an EBS that is mounted to the master when it is initially created (not the boot volume, but a second disk that has the essential info placed on it).
@roberthbailey We can mount a blank disk or a snapshot of a disk. But, I don't think there is any way to have the ASG know to remount the disk that was used previously.
For this to come back up with the correct data we could run a script when the instance starts. That script would make some AWS API calls to try to find an existing EBS volume for the master and remount it. @justinsb might have some better solution in mind though :)

@iterion perfect -- The ASG has an associated LaunchConfiguration that specifies the details. We should be able to reference a known volume id created prior. This assumes there are no race conditions w/ the volume in use after termination while a new instance is created.

@jboelter Interesting, I can't find where to specify the volume id when creating a launch configuration, perhaps I'm looking in the wrong place. It looks as if you can specify a BlockDeviceMapping. On that mapping I see that there is a way to configure an EBS instance but it only lets you specify a snapshot id.
FYI - I'm looking here: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html#cfn-as-launchconfig-blockdev-mapping-ebs

@iterion yeah, just noticed the same and edited my note above as you posted

Bummer, perhaps we could tag the ASG or launch configuration with the volume id that was used? Alternatively, we could tag the EBS with something that identifies it as the master disk for that cluster. We run the risk of having multiple disks with the same tags though.

I'm going to make an attempt at this.
I am planning on using the approach of tagging the volume and then trying to mount it as part of instance boot.

Rather than have a separate process or script that: discovers the volume, tries to mount it and then starts our processes, I am experimenting with using the kubelet for this:
https://github.com/justinsb/kubernetes/commit/334ad491734055bedcd6c7f3cf6154f1f77650bb
Advantages:

we could easily have hot-failover machines (i.e. run an auto-scaling group with multiple machines).  Mounting a volume is a simple way to do leader election on many clouds/environments.

Shortcomings:

this requires passing an explicit volume ID in, but I hope that in future we will be able to specify volumes using something like k8s selectors & labels (#9712).
this requires a volume per process.  This may not be a bad thing: better isolation & volumes are pretty cheap (on AWS & GCE at least).  We could implement volumes on volumes (a subdirectory on a volume, which k8s could copy/move around).
because of the above, there is no guarantee that we will launch everything on the same machine in a multi-machine environment.  This may require some tweaks particularly during bootstrapping, and we would prefer minimal latency to etcd.

+1, AWS should come up with an ASG in front of the master for self healing (in conjunction with master using an EIP, can't seem to find the issue # at the moment), or be configured with multiple masters (preferably still behind an ASG!).

Good news is I have this working on a branch.  Bad news is that the diff is pretty substantial.  I am cherry picking smaller PRs across so that the remaining changes become palatable!

Do you have a list of things which needs to be restored except etcd?

Is it plausible to split out etcd into its own autoscaling group?
If so, you could just scale masters and the etcd cluster independently and there's no need to persist anything.

This is implemented in kops.  As kube-up is in maintenance mode, it won't be implemented there.
@zilman it's plausible, but then the etcd ASG becomes the challenging one!

@justinsb: well, if you have an etcd ASG of size 3, seems to me like you don't really need to persist anything as at least one etcd instance is guaranteed to stay up.

A 3 node etcd cluster can't operate with less than 2 nodes running.  If you lose more than 1 nodes data you're restoring from backups.
Also, without running a runtime reconfig, your etcd instances are fixed.


Support ConfigMap cache entries with wildcard namespace

Issue #, if available:
#237
Description of changes:
Support wildcards for namespace, meaning any ServiceAccount of a given name will be used regardless of what namespace it is in. Entries with a specific namespace defined takes precedence.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks @olemarkus for the PR. @kmala would it be possible to take a look into this please?

Nice, thanks @olemarkus & @kmala. Looking forward to seeing this merged/in the next release. Happy New Year! :)


Remove workaround for issue fixed in Gradle 8.3

Fixed by https://github.com/gradle/gradle/pull/24846

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against 979964d8175e3aa348f5d9fc43f89b0e86e8ea21


Update README.md

Hahaha thank you for this crucial contribution @joshmoore 🙇♂

I have to start somewhere! :smile:


Remove TestContext

Not needed in Rust & Go - these return an error/Result type respectively, and Java could just throw an exception

Done


A generic type for all tensor (array) containers

I haven't found anywhere in xtensor such a generic type, i.e., something like xtensor_t<T, N> that we could use for xt::xtensor<T, N>, xt::pytensor<T, N>, xt::rtensor<T, N> or any other container adaptator using the tensor interface (there could be a similar type for the array interface). Am I missing something?
This would be handy for writing specific functions (e.g., that only deals with arrays of known dimensions) with clear signatures and just reuse them for bindings (python, r...).

I haven't thought about adding static asserts but it would be nice indeed!
I'd like to implement this kind of interface, but I have to admit that I'm a bit lost in C++ templates right now. @wolfv could you give me some hints on how to achieve this?
To give more context, here is an example of what I'd like to be able to write:
template<class T>
void func(xtensor_t<T, 2>& arr1,
          xtensor_t<int, 1>& arr2,
          xtensor_t<T, 1>& arr3)
{
   auto arr1_flat = xt::flatten(arr1);
   // do something with arr1_flat, arr2, arr3
}

and call func with either xt::xtensor or xt::pytensor or any object having the tensor interface...
The same example with a super explicit template would be something like:
template<class T, class N_Rows, class N_Cols, class N_Nodes = N_Rows * N_Cols>
void func(xtensor_t<T, xshape<N_Rows, N_Cols>>& arr1,
          xtensor_t<int, xshape<N_Nodes>>& arr2,
          xtensor_t<T, xshape<N_Nodes>>& arr3)
{
   auto arr1_flat = xt::flatten(arr1);
   // do something ...
}

but I don't know if it would work with numpy arrays and I don't even know if this is valid C++14. I'd be already very happy with the simpler version above.

I'm going to look into that right now. I think we need to add another "xexpression-like" type to the inheritance chain to enable this stuff... i'll be doing some quick experiments right now.


add a list of relevant in vivo models on the target profile page

from MGI, jackson,etc

Issue closed as target profile page includes data from MGI on mouse phenotype models


ability to send additional query params to edit page

Because our project deals with translations, our api endpoint now requires a localeId to be passed with the get/post request, ie ... api/resource/edit/1?localeId=2.
This is trivial on the list page, which already handles extra params to support searching.
However, I'd like to edit the content-edit-page-base-viewmodel to accept params as well.
I was thinking when we're implementing, we could just add a property to the view model, ex:
            self.apiCriteria = {
                localeId: wamApi.user().localeId
            };

and then modify content-edit-page-base-viewmodel's loadContentInner method like so:
        function loadContentInner(self, id, dfd) {
            var dataParams = null;

            if (self.apiCriteria) {
                dataParams = { data: $.param(self.apiCriteria, true) };
            }

            if (id) {
                self.api.getJson(self.apiResourceName + '/' + id,
                        function(content) {
                            ...
                        },
                        dataParams)
                    .fail(function(jqXHR, textStatus, errorThrown) {
...
        }

If that sounds good, let me know; of I'd be happy to hear other ideas for implementing this.

Good idea! I guess we can add this without breaking the API (additive change, so we don't have to create another major/minor version)?

Ad


[Distributed] Unlock test which was ASAN failures in the past (2)

This was very very likely solved by our ID/ActorSystem property ordering, this would have indeed triggered ASAN.
Resolves rdar://92277271

preset=buildbot_incremental_asan,tools=RDA,stdlib=RDA
@swift-ci Please test with preset macOS platform

Unrelated failure
Failed Tests (1):
Swift(macosx-x86_64) :: SourceKit/CursorInfo/cursor_info_async.swift

@swift-ci please smoke test

preset=buildbot_incremental_asan,tools=RDA,stdlib=RDA
@swift-ci Please test with preset macOS platform

--- Running tests for swiftpm ---
ERROR: command terminated with a non-zero exit status 1, aborting

preset=buildbot_incremental_asan,tools=RDA,stdlib=RDA
@swift-ci Please test with preset macOS platform

@swift-ci please smoke test macOS and merge

@swift-ci please smoke test macOS


Test jumbo frames across sriov devices

/cc @SchSeba @nikita133 need to find an environment to validate this

Refactored. Did not use CreateSriovPolicy as we need to specify the mtu.


Add support for DuckDB v0.9.0

The harlequin CLI is amazing!
The newest version of DuckDB v0.9.0 is not quite yet supported though:
╭─ DuckDB couldn't connect to your database. ──────────────────────────────────╮
│ IO Error: Trying to read a database file with version number 64, but we can  │
│ only read version 51.                                                        │
│ The database file was created with an newer version of DuckDB.               │
│                                                                              │
│ The storage of DuckDB is not yet stable; newer versions of DuckDB cannot     │
│ read old database files and vice versa.                                      │
│ The storage will be stabilized when version 1.0 releases.                    │
│                                                                              │
│ For now, we recommend that you load the database file in a supported version │
│ of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE   │
│ on the current version of DuckDB.                                            │
│                                                                              │
│ See the storage page for more information:                                   │
│ https://duckdb.org/internals/storage                                         │
╰───────────────────────────────────────────────────────────────── Try again? ─╯

Hi,
Thanks for your support and feedback.
Harlequin works fine with 0.9.0 if you create  database with 0.9.0. The error shown here is the same as you get from the DuckDB CLI or the Python API if you attempt to open a database file created by a different version of DuckDB.
You can pin the version of DuckDB that Harlequin uses by adding a pinned, direct dependency on DuckDB to your project. If you used pipx to install Harlequin, you can "inject" that dependency:
pipx inject harlequin duckdb==0.8.1

Sorry, just re-read your error message and my advice is the same, but in this case you need to upgrade (not downgrade) the version of DuckDB installed by Harlequin. You could do this by pinning the new version or just updating/upgrading/reinstalling Harlequin. (A new version will be out tomorrow)

Fantastic! Thank you for an absolutely phenomenal tool @tconbeer !!!


Add CSV manifests for v0.4.1

Additionally,

Includes the permissions required for Istio.
Changing the OpenShift package name to "oneagent-certified" since that it's the one we use when publishing.
Updating the Capabilities level to "Deep Insights".

As discussed we will skip CSV for v0.4.0. Just create the CSV for v0.4.1 for the upcoming release.


test: add test cases of adapter in hook

Added the remaining edge case in adapter file and the test cases of all the functions in adapter file.

Pull Request Test Coverage Report for Build 996975933

9 of 19 (47.37%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.7%) to 62.516%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

plugin/hook/adapter.go
9
19
47.37%

Totals

Change from base Build 992693592:
-1.7%

Covered Lines:
3489

Relevant Lines:
5581

💛  - Coveralls


[BENCHMARK] Add textX to benchmarks

textX seems quite promising with many features. But I wonder, (runtime and developing) performance-wise, is Lark better?
IMO, Lark's syntax is simpler (which is another advantage)

Well, someone will have to write the code to benchmark it.
But the right place to request it is here: https://github.com/goodmami/python-parsing-benchmarks

Oh cool! Thanks!


Could not load model due to Error initializing graph component for node 'run_LanguageModelFeaturizer1'

Rasa Open Source version
3.0.9
Rasa SDK version
No response
Python version
3.8
What operating system are you using?
Windows
What happened?
I have run the model successfully in the development environment. When I move it to a production environment, which has intranet access only, I found errors as below.
I tried to train the model in the production environment and failed as well.
Command / Request
(rasa_env) D:\chatbot>python -m rasa shell
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
D:\Python\Python38\venv\rasa_env\lib\site-packages\tensorflow\python\autograph\impl\api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
D:\Python\Python38\venv\rasa_env\lib\site-packages\keras_preprocessing\image\utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead.
  'nearest': pil_image.NEAREST,
D:\Python\Python38\venv\rasa_env\lib\site-packages\keras_preprocessing\image\utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead.
  'bilinear': pil_image.BILINEAR,
D:\Python\Python38\venv\rasa_env\lib\site-packages\keras_preprocessing\image\utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead.
  'bicubic': pil_image.BICUBIC,
D:\Python\Python38\venv\rasa_env\lib\site-packages\keras_preprocessing\image\utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
  if hasattr(pil_image, 'HAMMING'):
D:\Python\Python38\venv\rasa_env\lib\site-packages\keras_preprocessing\image\utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
  if hasattr(pil_image, 'BOX'):
D:\Python\Python38\venv\rasa_env\lib\site-packages\keras_preprocessing\image\utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
  if hasattr(pil_image, 'LANCZOS'):
D:\Python\Python38\venv\rasa_env\lib\site-packages\matplotlib\__init__.py:169: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  if LooseVersion(module.__version__) < minver:
D:\Python\Python38\venv\rasa_env\lib\site-packages\setuptools\_distutils\version.py:351: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  other = LooseVersion(other)
D:\Python\Python38\venv\rasa_env\lib\site-packages\tensorflow_addons\utils\ensure_tf_install.py:47: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  min_version = LooseVersion(INCLUSIVE_MIN_TF_VERSION)
D:\Python\Python38\venv\rasa_env\lib\site-packages\sanic_cors\extension.py:39: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  SANIC_VERSION = LooseVersion(sanic_version)
2022-12-05 16:44:20 INFO     root  - Connecting to channel 'cmdline' which was specified by the '--connector' argument. Any other channels will be ignored. To connect to all given channels, omit the '--connector' argument.
2022-12-05 16:44:21 INFO     root  - Starting Rasa server on http://<IP_ADDRESS>:5005
2022-12-05 16:44:21 INFO     rasa.core.processor  - Loading model models\20220908-080842-bounded-lot.tar.gz...
2022-12-05 16:44:22 ERROR    rasa.core.agent  - Could not load model due to Error initializing graph component for node 'run_LanguageModelFeaturizer1'..
2022-12-05 16:44:22 INFO     root  - Rasa server is up and running.
Bot loaded. Type a message and press enter (use '/stop' to exit):
Your input ->  /stop
2022-12-05 16:45:00 INFO     root  - Killing Sanic server now.

Relevant log output
No response

download the bert package to local

rasa.core.agent  - Could not load model due to Error initializing graph component for node 'run_LanguageModelFeaturizer1'..

download the bert package to local

How should I download new packages for different language model featurizers?

I' ve tried in a lot of ways... It may be the problem of insufficient memory.
see the log:
rasa shell nlu --model [model] --debug

I' ve tried in a lot of ways... It may be the problem of insufficient memory. see the log:
rasa shell nlu --model [model] --debug

it works, thanks


pipeline to maven central

@h1alexbel i'll take it

@l3r8yJ ok, can you write to the repository?

@h1alexbel no, but I don't think it's necessary, I can do through forks

@h1alexbel was wrong, i can

@h1alexbel I created this repo with secrets for rultor. Read more here

btw, eo-kafka uses Java 17, maybe we need a specific docker image of rultor with preconfigured java17 and related maven version.
If we gonna use current rultor`` image, we'll have invalid target release!``` exception

@h1alexbel I will create our own docker image, but after 27.02.2023 until that date I am a little busy

@h1alexbel I will create our own docker image, but after 27.02.2023 until that date I am a little busy

ok, no problem

@h1alexbel Now we need to register eo-kafka on sonatype to publish, as far as I know

@h1alexbel Now we need to register eo-kafka on sonatype to publish, as far as I know

@l3r8yJ
ok, for now, issue #68 has been created. Maybe I can implement this stuff tonight

@l3r8yJ
Decomposed into #113

@h1alexbel for this issue pom.xml must be configured
for #113 .rultor.yml must be configured

@l3r8yJ
Maybe I miss something, but pom.xml already prepared. If not, new tickets are welcomed


[Marker.io] Tablet- alignment of values not correct in one project

Steps to reproduce:

go to project detail page (captured by tool)
scroll down and notice values next to service value

Actual result: alignment is not correct
Expected result: it should be corrected

Reported by: Vinod<EMAIL_ADDRESS>- Contact via Marker.io
Source URL: https://kensway.webflow.io/projects/wellington-city-mission---whakamaru-14
Issue details: Open in Marker.io
Device typetabletBrowserSafari 17.3.1Screen Size768 x 1024OSiOS 17.3.1Viewport Size1024 x 729Pixel Ratio@2x

🤖 Marker.io bot - 💬 Vinod commented:

working now

Reply here


Allow schema to be explicitly set

Hi! I hope this PR makes sense.
We were running into issues running migrations during unit tests due to the hard-coded nature of the public schema in the current version.
This feature allows allows the user to set which schema to actually use, in case they care to.
I've continued to use public as the default, so there shouldn't be any breaking changes.
Let me know if you have any feedback. Thanks!

You are supposed to specify schema in the table name - schema.table. Does it make sense?

Elaborating more on that; you can see how it works here: https://github.com/go-pg/migrations/pull/56/files#r263369084
Just above the code you added.

@vmihailenco & @ECourant If I'm understanding you two correctly, you're asking people to specify the table name in the migration. So if I have a migration like:
1_init.tx.up.sql
CREATE TABLE users (
 ...
);

The way you'd expect someone to specify a schema would be with schemaName.users
The issue with this is it locks you into a single schema. If someone wanted to programmatically create schemas, for example during testing like @nwest1 is doing, they wouldn't be able to use the schemas they were creating, they'd be forced into using the single schemaName.
I'd like to be able to set the schema like this as well.

Would you be able to add a unit test to his PR that can be run in Travis to better illustrate this please?

Any additional tests you'd like to see or other changes?
Thanks!

I think that changing Postgres connection search_path via Collection.SetSchemaName is rather obscure/unpredictable.  Instead you could change default search_path

globally
for the postgres user
in go-pg via OnConnect hook

I don't think we need yet another way.
Also go-pg provides global named params so you can write something like this:
db = db.WithParam("schema", "myschema")

_, err := db.Exec("SELECT * FROM ?schema.table_name")

In fact go-pg/sharding uses that to implement sharding using schemas.
If you insist we could add general BeforeMigration(DB, Migration) hook instead where you could do whatever you want with passed DB.

@vmihailenco Maybe I'm missing something but I couldn't get changing the search_path to work.
I have tried the following:
db.Exec("SET search_path TO ?", schemaName)
db.Exec("ALTER ROLE userName SET search_path TO ?", schemaName)
db.Exec("ALTER DATABASE databaseName SET search_path TO ?", schemaName)
The issue isn't that setting the search_path doesn't work. It does what it is supposed to.
I believe the the issue is that go-pg/migrations doesn't always respect it.
I believe this is an issue with the function schemaTableName. It always returns public as the schema (if it is not defined as above https://github.com/go-pg/migrations/pull/56#issuecomment-470568480). The function does not care if the search_path has changed.
So, a bug arises when someone tries to use multiple schemas.
Init is ok
When the init command is run it uses:
https://github.com/go-pg/migrations/blob/5f7fd65c3d94f56a3f41277407dc972e6295fa27/collection.go#L622-L628
db.Exec respects the search_path and the gopg_migrations table is created under the correct schema.
Up is not ok
When the "up" command runs, the function tableExists is called to make sure the migrations table exists
https://github.com/go-pg/migrations/blob/5f7fd65c3d94f56a3f41277407dc972e6295fa27/collection.go#L579-L590
It calls the function schemaTableName which returns the schema name as public because it does not respect setting the search_path. This means when tableExists query runs, it does not find the gopg_migrations table because of Where("schemaname = '?'", pg.Q(schema)). Causing the "up" command to fail.

Wondering where your thoughts were on this.
The proposed solutions:

Altering search_path has a bug associated with it - unless @mfinley3 's implementation or analysis is incorrect
db.WithParam("schema", "myschema") - I agree this muddies the sql and shouldn't require changing every sql query to accommodate.
Adding BeforeMigration(DB, Migration) - is this something you'd prefer to do over the proposed solution?

@ECourant @vmihailenco

Hey! Is there any other feedback around this or are you not interested in supporting this?

Sorry, this was closed automatically after I deleted master branch.
As I understand this is all about calling SET search_path TO 'my_schema' before every migration / for every connection. As it is done now - it will only work with transactional migrations. Non-transactional migrations may get a different connection with different search_path.
What about using OnConnect hook to set schema:
pg.Connect(&pg.Options{
    OnConnect: func(cn *Conn) error {
         _, err := db.Exec("....")
         return err
    },
})

That should be more reliable than what you suggest here.


python3Packages.bip_utils: 1.4.0 -> 1.5.0

Motivation for this change
Version update
Things done

[ ] 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)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] 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.

The change itself LGTM. Can you move the src to fetchFromGitHub and try to enable tests?
Result of nixpkgs-review pr 99419 1

2 packages built:

python37Packages.bip_utils
python38Packages.bip_utils

@mweinelt tests enabled in f1057db80965b3ef65cff64be84269b6c8be1c44


Powr320d energy sensor with wrong state class

Hello, i believe I'm not the only one with this issue.
Since last update the energy sensor is working, thank you so much for your work, but the state class of the sensor Day and Month is defined as measurement. To this sensor be used in the energy panel it needs to be total_increasing.
It actually works if we create a template for this and copy the data from the sensor but there is no need to have extra entities if we already have one. Is it possible to change this data in the repo so it's used as an energy sensor.
I leave the log message of home assistant for reference.
Entity sensor.sonoff_100179ee63_energy_day (<class 'custom_components.sonoff.sensor.XSensor'>) is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total', 'total_increasing'; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
Entity sensor.sonoff_100179ee63_energy_month (<class 'custom_components.sonoff.sensor.XSensor'>) is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total', 'total_increasing'; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
Thank you for your hard work.

I am also getting this warning frequently with my POWR320D.
2023-04-20 22:00:47.470 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.sonoff_*********_energy_month (<class 'custom_components.sonoff.sensor.XSensor'>) is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total', 'total_increasing'; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.

Same here, for the same device - although the sensors do seem to work, at least they show data on it.

I also see this, and it prevents the sensor showing data in the energy dashboard.

I am having the same problem and unknowingly added it as a new issue.

Looks like this problem was fixed in march...
https://github.com/AlexxIT/SonoffLAN/commit/3e6a1a6d57f267d226765409df74082c7d06fd60
There just wasn't time for a release

Looks like this problem was fixed in march... 3e6a1a6
There just wasn't time for a release

Hi, first of all, thanks for your hard work.
Question, was the fix implemented in the master version? Cause i just reinstalled the master version and the problem is still there. The sensor can't be added cause the class is wrong.
Once again thank you.

Are you sure you have master version? Check this code on your hard drive

I'm running version 3.51. and I still have this problem.

Same problem here with Powr320d.
-Energy Dashboard shows device class unexpected.

Summation of energy.day  gives a negative total value each night at 00:00:00. This entry can be manually deleted and the energy dash board shows the correct energy consumption.

Looks like this problem fixed long time ago


Validation summary

For each validation, have a summary page that shows the history of processing for this validation.  On the rulesets/validations page, add a fourth button "Summary"

get the last 25 periods if periodicity is set or the last 25 processing jobs if not
show a summary (% jobs failed, average warnings, average dropped rows, is currently out of date)
show details on each job (maybe a chart if not too much effort) pass/fail, skipped, # errors, # warnings, # dropped rows

i 0.9.7


Feature Request: Returning owned types from Map

Hey! Thanks for the work on this -- It's super useful and I appreciate the technical effort.
I'm running into a bit of trouble that I don't think is currently resolvable by the current implementation. In short, I have the following:
struct GlobalConfig {
    config: Arc<ArcSwap<Config>>,
}

struct Config {
    sub_configs: HashMap<String, SubConfig>
}

struct SubConfig {} // implementation is unnecessary

I'm trying to implement the following function:
impl GlobalConfig {
    fn fetch_subconfig(&self, config_name: &str) -> Guard<&SubConfig> {
        // Doesn't work
        self.config.map(move |config| config.get(config_name))
    }
}

where I dynamically load a sub-config based on the provided config name.
The issue is that I don't think the current API offers an easy way to do. Map currently requires a  function that returns a reference, while HashMap::get returns an owned type (Option<&T>). This leads to two lifetime issues.
Here's a playground link of my attempt: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=cd5ff805d13d091e47852cf29266fec0
and where I get stuck.
Is there a way to offer this? Would a signature of something like map_owned<'a>(&'a self, f: impl Fn(&'a Self) -> T + 'a) work?
The closest API I can get is where I always return a static reference to a default value (https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=fbf48553ec5d3e85d0cb6aeb1dcf0d5d)
but that's not very useful as I'd optimally work with Result in this projection (e.g. it would return something like Result<&'a T, E>.

Hello
I confirm your observation that this doesn't exist. The idea of Map is that it simply „projects“ into the whole thing and doesn't actually store anything. I'm not entirely sure this can be done or, if it can, if there are some serious drawbacks, currently. But as Map doesn't use anything „special“ from inside, maybe you could sketch it out and we could decide if it fits into the crate in some place.


Payload size

The gnatsd enforces a maximum payload size.  In looking at the gnatsd debugging output, I can see that a message I am publishing exceeds this limit.  But the call to PublishMsg I'm making does not return an error.
Am I correct that nats doesn't detect when the server rejects a message (at least based on side)?  If so, is there some reason that the client doesn't/can't check for this?

The server enforces, but will send the error in an async fashion. The client should register this from the info and enforce it at the client API level. Will make sure to add it in.. Thanks..

I've got a few more details that you might find useful/interesting.  I do development on a 64-bit OSX machine.  I never saw this issue.  When I cross-compiled to 64-bit Windows on OSX, I never saw this issue.  As soon as I did a build for 32-bit Windows, suddenly I saw the issue.
I went back and checked on my Mac.  When I publish a message on my Mac, I can clearly see the size of the message and it is 1467349.  This is larger than MAX_PAYLOAD_SIZE.  Yet, gnatsd isn't rejecting the message.  The enforcement of the payload size only seems to be showing up on 32-bit machines?!?  Now, I have not ruled out some kind of version skew in gnatsd.  But I am quite sure that the version of gnatsd installed on my machine does define the MAX_PAYLOAD_SIZE to be 1Mb.
I have not dug through the code, so take all this with a grain of salt I suppose.  Ideally, I'd like to create a test case that demonstrates this issue clearly.  But right now I'm afraid I'm just swamped.  Until then, take all this as anecdotal.
I hope that helps in some way.

gnatsd will report the maximum_payload, you can check by telnetting to it
and trying a pub with large payload..

telnet demo.nats.io 4222

Trying <IP_ADDRESS>...
Connected to demo.nats.io.
Escape character is '^]'.
INFO
{"server_id":"1ec445b504f4edfb4cf7927c707dd717","version":"0.6.6","go":"go1.4.2","host":"<IP_ADDRESS>","port":4222,"auth_required":false,"ssl_required":false,"max_payload":
1048576}
pub foo 2000000
-ERR 'Maximum Payload Violation'
Connection closed by foreign host.
On Wed, Aug 26, 2015 at 3:22 PM, Michael Tiller<EMAIL_ADDRESS>wrote:

I've got a few more details that you might find useful/interesting. I do
development on a 64-bit OSX machine. I never saw this issue. When I
cross-compiled to 64-bit Windows on OSX, I never saw this issue. As soon as
I did a build for 32-bit Windows, suddenly I saw the issue.
I went back and checked on my Mac. When I publish a message on my Mac, I
can clearly see the size of the message and it is 1467349. This is larger
than MAX_PAYLOAD_SIZE. Yet, gnatsd isn't rejecting the message. The
enforcement of the payload size only seems to be showing up on 32-bit
machines?!? Now, I have not ruled out some kind of version skew in gnatsd.
But I am quite sure that the version of gnatsd installed on my machine
does define the MAX_PAYLOAD_SIZE to be 1Mb.
I have not dug through the code, so take all this with a grain of salt I
suppose. Ideally, I'd like to create a test case that demonstrates this
issue clearly. But right now I'm afraid I'm just swamped. Until then, take
all this as anecdotal.
I hope that helps in some way.
—
Reply to this email directly or view it on GitHub
https://github.com/nats-io/nats/issues/63#issuecomment-135195001.

OK, I did some experimenting and I figured out what was going on with the gnatsd diagnostics.  I was correct that under Windows I was getting an error about maximum payload size exceeded but I didn't see the issue on my Mac.  However, I was also correct that this was an issue with version skew.  A more accurate way to describe this was that I saw the error using gnatsd version 0.6.6 (what I was running on Windows) but not with gnatsd version 0.6.0 (what I was running on my Mac).
However, my original point still stands.  With both 0.6.6 and 0.6.0, that nats client doesn't report any error when publishing a message that is too large.
Here is my test program that tries to send a message that is twice as large as is supported.
Here is a Gist that demonstrates the issue.
If I run that program under Windows, I get this output:
2015/08/27 09:32:43 Created a message of length: 2097152
2015/08/27 09:32:43 err = <nil>
2015/08/27 09:32:43 closed = false
2015/08/27 09:32:43 LastError = <nil>
2015/08/27 09:32:43 Created a message of length: 100
2015/08/27 09:32:43 err = <nil>

(note, no indication of failure)
Strangely, if I run it under OSX, I get this:
2015/08/27 09:34:03 Created a message of length: 2097152
2015/08/27 09:34:03 err = write tcp <IP_ADDRESS>:4222: protocol wrong type for socket
2015/08/27 09:34:03 closed = false
2015/08/27 09:34:03 LastError = write tcp <IP_ADDRESS>:4222: protocol wrong type for socket
2015/08/27 09:34:03 Created a message of length: 100
2015/08/27 09:34:03 err = write tcp <IP_ADDRESS>:4222: protocol wrong type for socket

Here it indicates an error.  In both cases, gnats -D reports:
[70479] 2015/08/27 09:33:59.447518 [INF] Starting gnatsd version 0.6.6
[70479] 2015/08/27 09:33:59.447688 [INF] Listening for client connections on <IP_ADDRESS>:4222
[70479] 2015/08/27 09:33:59.447868 [INF] gnatsd is ready
[70479] 2015/08/27 09:34:03.324362 [DBG] <IP_ADDRESS>:55166 - cid:1 - Client connection created
[70479] 2015/08/27 09:34:03.343344 [ERR] <IP_ADDRESS>:55166 - cid:1 - Maximum Payload Exceeded: 2097152 vs 1048576
[70479] 2015/08/27 09:34:03.343369 [DBG] <IP_ADDRESS>:55166 - cid:1 - Client connection closed

All this is with Go 1.4.2 on both platforms.

Hi, as Derek mentioned the error is reported asynchronously so in this particular case it would be useful for you to pass a DisconnectedCB for the connection since the server would disconnect you once it identifies a transgression in the max payload size.  Showing its usage in the by extending your example a little bit:
package main

import (
        "log"

        gs "github.com/apcera/gnatsd/server"
        "github.com/nats-io/nats"
)

func msg(n int) []byte {
        ret := []byte{}
        for i := 0; i < n; i++ {
                ret = append(ret, byte(i))
        }
        log.Printf("Created a message of length: %d", len(ret))
        return ret
}

func init(){
        log.SetFlags(log.LstdFlags | log.Lmicroseconds)
}

func main() {

        opts := nats.DefaultOptions
        opts.Servers = []string{ nats.DefaultURL }

        nc, err := opts.Connect()
        if err != nil {
                log.Printf("Unable to connect: %v", err)
                return
        }

        disconnectedCh := make(chan struct{})
        nc.Opts.DisconnectedCB = func(conn *nats.Conn) {
                log.Printf("Disconnected!!!")
                disconnectedCh <- struct{}{}
        }

        subj := "Request"
        reply := "Reply"

        badMsg := nats.Msg{Subject: subj, Reply: reply, Data: msg(gs.MAX_PAYLOAD_SIZE * 2)}
        err = nc.PublishMsg(&badMsg)
        log.Printf("err         = %v\n", err)
        log.Printf("closed?     = %v\n", nc.IsClosed())
        log.Printf("LastError?  = %v\n", nc.LastError())
        <-disconnectedCh
        log.Printf("closed??    = %v\n", nc.IsClosed())
        log.Printf("LastError?? = %v\n", nc.LastError())
}

The above code would result in something like the following below, notice that there is a delay of a few microseconds in getting the error:
2015/08/31 19:32:43.010295 Created a message of length: 2097152
2015/08/31 19:32:43.011077 err         = write tcp <IP_ADDRESS>:4222: protocol wrong type for socket
2015/08/31 19:32:43.011091 closed?     = false
2015/08/31 19:32:43.011097 LastError?  = write tcp <IP_ADDRESS>:4222: protocol wrong type for socket
2015/08/31 19:32:43.011194 Disconnected!!!
2015/08/31 19:32:43.011200 closed??    = true
2015/08/31 19:32:43.011205 LastError?? = nats: 'Maximum Payload Violation'

On the other hand, the server does give the client the max payload size beforehand on its INFO payload when connecting, so it would be possible to enforce it in the client as well, looking into that too.
Hope this helps!

Added support to enforcing max payload size on the client level now: https://github.com/nats-io/nats/pull/64

what is the maximum configurable payload size?  We sometimes have to process large messages like 100's of MB... is this possible?

The server can be configured with a different limit for the message size. Probably would not recommend direct messages that are 100MBs. Can you describe the use case you are trying to solve for?

Derek's right. Typically with messages that large, we'd recommend "chunking" them (i.e. breaking them into smaller chunks on the producer end and reassembling in sequence on the consumer end), or simply passing URI references to some well-known storage location, vs. attempting to send them as one message. How often is 'sometimes'?  As Derek mentions, more details would be helpful if you don't mind sharing them.

We do calculations that return results that can get quite large.  We wanted
to break up into 2 micro services one to calculate and one to persist
results.
On Feb 3, 2016 9:35 PM, "Derek Collison"<EMAIL_ADDRESS>wrote:

The server can be configured with a different limit for the message size.
Probably would not recommend direct messages that are 100MBs. Can you
describe the use case you are trying to solve for?
—
Reply to this email directly or view it on GitHub
https://github.com/nats-io/nats/issues/63#issuecomment-179584681.

Ironically, my use case was very similar to @jmjava's.  I eventually refactored things to do what @mcqueary suggested (passing around an opaque identifier for the blobs).  Of course, I then needed to have some ubiquitous non-NATS driven system for managing those opaque identifiers.  But it worked out.  My main concern driving that approach was the case of having a blob come along at some point that violated whatever upper bound I established.

OK something like Swift or S3 and then passing message with pointer.
Sounds good.
On Thu, Feb 4, 2016 at 7:33 AM, Michael Tiller<EMAIL_ADDRESS>wrote:

Ironically, my use case was very similar to @jmjava
https://github.com/jmjava's. I eventually refactored things to do what
@mcqueary https://github.com/mcqueary suggested (passing around an
opaque identifier for the blobs). Of course, I then needed to have some
ubiquitous non-NATS driven system for managing those opaque identifiers.
But it worked out. My main concern driving that approach was the case of
having a blob come along at some point that violated whatever upper bound I
established.
—
Reply to this email directly or view it on GitHub
https://github.com/nats-io/nats/issues/63#issuecomment-179804994.


Set icon size and alignment to be geographically correct

Fixes misalignment in master
Testing

Checkout and yarn run gulp build
Enter any zipcode on the find a housing counselor page
Zoom in and out, note that all markers should remained pointing to the same spot at every zoom level (and that spot should correspond to the address)

Not sure about the necessity of those files if the code is being included as an app. Seems entirely duplicative with the code in unprocessed/apps. Perhaps @ans or @mistergone can chime in?

Yeah housing_counselor/static/hud/ is just there to support the old version of the page if the feature flag is turned off. Should be removed in https://github.com/cfpb/cfgov-refresh/pull/4689

👍  Thanks so much, @wpears !!


feat: kubeadm support [WIP]

Tasks description
support for kubeadm with better pkg management for k8s distro
Issues
Completed Issue(s)

Closes #313

Related Issue(s)

#247

Solution
Sub-Tasks

[x] modify the pkg structure
[ ] K3s is working?
[ ] Kubeadm?
[ ] UNit test case updates
[ ] e2e try out

Note to reviewers

[ ] Ran Tests locally
[ ] Checked Contribution's guidelines

[Cont] error encountered

Problem in create HA

Another Issue

also make sure you have good print info level
also when the ssh fails we only get the status code nothing else need to see different options in session()


Fix/bepo exhaustive remaps

Related issues : #4391 #4393
Draft status
This is a draft pull request because it adds a lot of changes that I'm not sure of. I'll use the module like that for a week or 2 before switching that to a PR for merge
Summary

Add C- and M- remaps to normal/visual/motion/operator states
Add operator state remaps wherever normal/visual/motion was remapped
Unbind s from notmuch-common-map

The rest is mostly comments.
Test
You can always pull the PR to test it yourself : git fetch origin refs/pull/{number}/head && git checkout FETCH_HEAD will put you on this branch if you really need to try anything now

I'm giving this a try but I don't think this is working. I pulled the PR and did a doom sync, but I still see the same issues (r and s not correctly bound in notmuch-show-mode, org-insert-link complaining about C-l not being a prefix key…)
What do I need to do to test it? I did:
git fetch github refs/pull/4403/head
git checkout FETCH_HEAD
bin/doom sync

and restarted emacs.

That’s the correct procedure indeed, you don’t need to call doom sync again for this particular PR.
But I really don’t know what happens then, because I definitely can’t repro the org-insert-link issue (using M-x org-insert-link or SPC m l l in normal mode in an org-mode buffer I have the prompt for links as expected), and I don’t use notmuch at all, and it’s so painful to setup that I don’t think I’ll be able to properly reproduce it before trying to fix the issue :(

I tracked down the source of the org-insert-link issue to this piece of code:
(map!
 :ie "C-h" #'backward-delete-char-untabify
 (:map (minibuffer-local-map
        minibuffer-local-ns-map
        minibuffer-local-completion-map
        minibuffer-local-must-match-map
        minibuffer-local-isearch-map
        read-expression-map)
  "C-h" #'backward-delete-char-untabify)

 (:after evil
  :map evil-ex-completion-map
  "C-h" #'backward-delete-char-untabify)

 (:after org
  :map org-mode-map
  "C-h" #'backward-delete-char-untabify)

 ;; If you use :completion ivy
 (:after ivy
  :map ivy-minibuffer-map
  "C-h" #'backward-delete-char-untabify)

 ;; If you use :completion helm
 (:after helm
  :map helm-map
  "C-h" #'backward-delete-char-untabify))

If I disable it, I no longer have the prefix key issue popping up.

Regarding notmuch, here are the bindings for the s key (for notmuch-search):
evil-collection-notmuch-common-keymap-normal-state-backup-map s
notmuch-common-keymap <normal-state> k
notmuch-common-keymap s
notmuch-hello-mode-map <normal-state> s
notmuch-search-mode-map <normal-state> s
notmuch-show-mode-map <normal-state> s
notmuch-tree-mode-map <normal-state> K
notmuch-tree-mode-map <normal-state> s

and the ones for the function bound to r c (notmuch-mua-new-mail):
evil-collection-notmuch-common-keymap-normal-state-backup-map C
evil-collection-notmuch-common-keymap-normal-state-backup-map c c
evil-collection-notmuch-show-mode-map-normal-state-backup-map C
evil-collection-notmuch-show-mode-map-normal-state-backup-map c c
notmuch-common-keymap <normal-state> L
notmuch-common-keymap <normal-state> l c
notmuch-common-keymap m
notmuch-hello-mode-map <normal-state> R
notmuch-hello-mode-map <normal-state> r c
notmuch-search-mode-map <normal-state> R
notmuch-search-mode-map <normal-state> r c
notmuch-show-mode-map <normal-state> R
notmuch-show-mode-map <normal-state> r c
notmuch-tree-mode-map <normal-state> R
notmuch-tree-mode-map <normal-state> r c

With this PR I no longer know how to finalize or abort an org-capture, as C-c does not work (it calls org-shiftleft). I tried C-h (I get the usual help bindings) and C-l (I get recenter-top-bottom).

With this PR I no longer know how to finalize or abort an org-capture, as C-c does not work (it calls org-shiftleft). I tried C-h (I get the usual help bindings) and C-l (I get recenter-top-bottom).

Nice catch, I'll fix that, and I'm pretty sure a few other org-mode maps will need that treatment

I tracked down the source of the org-insert-link issue to this piece of code:
If I disable it, I no longer have the prefix key issue popping up.

Is that code from your own config ? I can't find that in doom-emacs source. If so, basically we need to ensure that this map! call happens after all the remapping by the :input layout module

notmuch-common-keymap <normal-state> L
notmuch-common-keymap <normal-state> l c
notmuch-common-keymap m
notmuch-hello-mode-map <normal-state> R
notmuch-hello-mode-map <normal-state> r c
notmuch-search-mode-map <normal-state> R
notmuch-search-mode-map <normal-state> r c
notmuch-show-mode-map <normal-state> R
notmuch-show-mode-map <normal-state> r c
notmuch-tree-mode-map <normal-state> R
notmuch-tree-mode-map <normal-state> r c

I think that notmuch-{hello,search,show,tree}-mode-map are inheriting the modified notmuch-common-keymap and get modified just after, so there are 2 "rotations" happening on these keymaps. The evil-collection-setup-hook is supposed to run only once on the keymap, but somehow notmuch manages to set its maps so that it runs twice

After the current changes I still cannot use s and r. Here are the bindings for notmuch-search:
evil-collection-notmuch-common-keymap-normal-state-backup-map s
notmuch-common-keymap <normal-state> k
notmuch-hello-mode-map <normal-state> s
notmuch-search-mode-map <normal-state> s
notmuch-show-mode-map <normal-state> s
notmuch-tree-mode-map <normal-state> K
notmuch-tree-mode-map <normal-state> s

I suspect you are right regarding the parent keymap. Could you avoid doing the rotation on the notmuch-common-keymap?

Regarding the C-h mapping, they are from my config. I no longer need them so I'll close the issue.

I confirm the capture finalization works. I have found another place where bindings seem to be missing: the calendar view when doing a org-read-date (for instance to schedule a task). I'm used to do C-h to go to the previous day, C-l to the next day, C-j to the next week, and C-k to the previous week. I think this comes from evil-collection. Is this the right place to report such discrepancies?

I confirm the capture finalization works. I have found another place where bindings seem to be missing: the calendar view when doing a org-read-date (for instance to schedule a task). I'm used to do C-h to go to the previous day, C-l to the next day, C-j to the next week, and C-k to the previous week. I think this comes from evil-collection. Is this the right place to report such discrepancies?

I don't know what the default keys are supposed to be, it looks like (from running org-schedule) that those movements are on M-{ctsr} now

M-{ctsr} does work, thanks.

The keymap reverse suggestion on discord fixes notmuch.

One crucial binding to deal with is one for org-ctrl-c-ctrl-c. I use it a lot to evaluate code blocks. Right now, it is said to be bound as:
Key Bindings
org-mode-map C-c C-c

but I have org-shiftleft bound to C-c. I think org-shiftleft is less useful, and binding it to C-l could make sense.

One crucial binding to deal with is one for org-ctrl-c-ctrl-c. I use it a lot to evaluate code blocks. Right now, it is said to be bound as:
Key Bindings
org-mode-map C-c C-c

but I have org-shiftleft bound to C-c. I think org-shiftleft is less useful, and binding it to C-l could make sense.

I keep forgetting about that, thanks for reminding me. The issue is that evil-org has the nicest API to map the "movement keys", and I forget that C-c C-c has such a predominant place in org-mode. I think I’ll manually add a hook to override the movement keys just for C-c, and maybe make it an option so users can choose whether they want it or not

In org-mode there is a conflict between evil-redo and org-shiftright: both are bound to C-r.
evil-redo:
evil-collection-evil-normal-state-map-backup-map C-r
evil-normal-state-map C-r

org-shiftright:
evil-org-mode-map <insert-state> C-r
evil-org-mode-map <normal-state> C-r
org-mode-map <S-right>

I just noticed this error in my logs (it happened when I started an org capture): evil-collection: error setting key in pdf-view-mode-map (error "Key sequence s b starts with non-prefix key s")

I just noticed this error in my logs (it happened when I started an org capture): evil-collection: error setting key in pdf-view-mode-map (error "Key sequence s b starts with non-prefix key s")

Small suggestion: since you are leaving C-c alone for org-mode, it could be also the case for the org-capture map (at the moment capture is confirmed with C-l C-c).

Small suggestion: since you are leaving C-c alone for org-mode, it could be also the case for the org-capture map (at the moment capture is confirmed with C-l C-c).

I just found a small bug. In eshell, c is still bound to evil-collection-eshell-evil-change.
And please let me know if you prefer that I report such small issues in another way.

I just found a small bug. In eshell, c is still bound to evil-collection-eshell-evil-change.
And please let me know if you prefer that I report such small issues in another way.

Another small bug: in swipper mode (SPC S S), both C-t and C-s go to the next item. I expect C-s to go to the previous one.

Another small bug: in swipper mode (SPC S S), both C-t and C-s go to the next item. I expect C-s to go to the previous one.

Looks good to me! Thanks again for your help!


Ticket purchasing

Goals

Allow patrons to buy tickets securely and easily.
Interface with a trusted payments provider (Stripe, PayPal, etc) and lean on them for added security.
Email patrons with a receipt for their purchase/reservation (via Heroku-supported Sendgrid, possibly).

Specific Tasks

[x] Link from the event detail page (event.ejs) to a payments page for a ticket from a specific ticket category (already exists with price buttons)
[x] Save some data to MongoDB so we can track the ticket (preferably just name and email) before continuing with ticket purchase.
[x] Process payments via some payments provider
[x] Display some confirmation page
[x] Email a receipt to the patron (can be done by payment provider or us)
[x] Email ticket to the patron

Bare Minimum Acceptance Criteria
Support for free events:

[x] Link from the event detail page (event.ejs) to a payments page for a ticket from a specific ticket category (already exists with price buttons)
[x] Save some data to MongoDB so we can track the ticket (preferably just name and email).
[x] Display confirmation page
[x] Send email with ticket to patron

Closed in commit https://github.com/akeaswaran/tedxgt-ticketing/commit/422732a26cbee66626baafb029c8679db8f1340a.


Iterator regression in 9.5

There is a regression in 9.5 compared to 9.4.2 (and before — this is code that has worked for roughly a year). The following used to work:
for (let $section of document.getElementsByTagName('section')) // …

Now it fails with the classic TypeError: document.getElementsByTagName(...)[Symbol.iterator] is not a function. I believe the change that introduced the problem was:
https://github.com/tmpvar/jsdom/commit/4b80cd674418736fe4cde25414699440ece07d4c

As far as I can tell this is a spec-conformance improvement. HTMLCollection is not iterable.

I don't dispute that (sad as it is), and there is a simple workaround in calling code, it's just that it's a breaking change.

Sure, but we make breaking changes in patch releases all the time as long as they're for spec-compliance reasons. Pretty much every changelog entry contains such fixes.
Anyway, it turns out I was wrong; there's an implicit iterableness automatically granted to things with indexed properties. Fun. PR welcome to add it to HTMLCollection.

I'm looking at implementing this, and I have a couple of questions:

I was looking at copying the implementation from NodeList, but NodeList simply uses Array.prototype[Symbol.Iterator], which looks a bit unsafe to me. Is it better to implement it myself?

I didn't find a suitable test in web-platform-tests, so I'm thinking of adding one in to-upstream here that will look very much like  NodeList-iterable.html with the names changed. Does that sound right?

I was looking at copying the implementation from NodeList, but NodeList simply uses Array.prototype[Symbol.Iterator], which looks a bit unsafe to me. Is it better to implement it myself?

Nah, reusing that is correct. Per Web IDL, "If the interface defines an indexed property getter, then the Function object is %ArrayProto_values%."

I didn't find a suitable test in web-platform-tests, so I'm thinking of adding one in to-upstream here that will look very much like NodeList-iterable.html with the names changed. Does that sound right?

Yeah, except that HTMLCollection is not "iterable" per Web IDL, it just "has an iterator" (since it defines an indexed property getter). So per spec it should not have forEach, entries, values, and keys. Testing for the absence of those would be good, actually, so just flipping the assertion around.

I see, thanks! I'll have a PR ready shortly


Docs: Link to "Weave Net Docker API Proxy" does not exist

The link to Weave Net Docker API Proxy is broken in https://www.weave.works/documentation/net-1-5-0-troubleshooting/

I'm going to use this to test the CI integration once it is merged.

Closed by #2221.


Telework: Applications Tab and global changes to content, changes/change management

As the business owner of the Telework form, I want to know about a global change to the "applications" tab and any implications requiring updates to

the Telework content (in the tool and Careers & MyHR
change management - messaging to the Policy team, exec etc.
as well as to users who wrote DJ team earlier to say the form must be completed in one session, and there is "no ability to save" go back and edit later

PIA will have to be looked at as well, and this will be in a separate ticket

Hasan has set up meeting for October 27 to review the implicatiosn of the upgrade and write new tickets as needed.

@Stella-Archer, can you provide an estimate for this ticket?

I put in an estimate of 5 for now but i can anticipate this to be more complex as we'll have to dig into multiple places to change the messaging.


Help scaling SVGs to 100% screen width maintaining aspect ratio

Question
Note: I've read this tip #1145  but it doesn't quite fit my scenario.
I have been trying to do something that seemed easy, but I have been trying for a few hours and I can't find the solution.
I have an SVG that needs to be on top of a screen. It came from the designer with these dimensions:
<Svg width="354px" height="190px" viewBox="0 0 354 190">...</Svg>
In React Native, that would go inside of a container, and the SVG needs to take the full width of the screen, which I am taking from:
Dimensions.get("window").width
My problem is, I haven't found a way to scale the SVG to take 100% of the screen width, finding out the correct height (or a way for it to be set automatically), and preserve the aspect ratio. I've tried like a million things, including playing around with the container's aspectRatio style and its height (or not setting the height at all). Whenever I've found some "proportions" that worked, I tried in a different device with different screen width and it didn't look good at all (cropped, smaller than the screen's width, etc).
I feel like the preserveAspectRatio property in the SVG  is somehow conflicting with the aspectRatio style. And I am totally lost with the preserveAspectRatio, I haven't found a way to make it scale without being cropped.
Does anyone have any idea how to achieve this?
This is my final code, which returns a HeatMap component showing an SVG, but although it has the correct height, part of the SVG is out of the screen from the right (looks cropped because it's too wide):
const windowWidth = Dimensions.get("window").width;

const getSVGRootProps = ({ width, height }) => ({
  width: "100%",
  height: "100%",
  viewBox: `0 0 ${width} ${height}`,
  preserveAspectRatio: "xMinYMin meet", // I've tried a few options here, including 'none'
});

const FieldShape = () => {
  const width = 354; // Original width
  const height = 190; // Original height
  const aspectRatio = width / height;
  // adjusted height = <screen width> * original height / original width
  const calculatedHeight = (windowWidth * height) / width;
  const fieldStyles = {
    width: windowWidth,
    height: calculatedHeight,
    aspectRatio,
  };

  return (
    <View style={fieldStyles}>
      <Svg {...getSVGRootProps({ windowWidth, calculatedHeight })}>
      ...
      </Svg>
    </View>
  );
};

const HeatMap = () => {
  return <FieldShape />;
};

Looks like this (the pixelation is intentional, so I don't reveal the design):

I've found a solution, and I posted here, in case anyone runs into the same issue: https://stackoverflow.com/questions/61657859/how-to-find-correct-values-for-width-height-and-viewbox-with-react-native-svg/61792447#61792447


[Feature request]: Please provide the possibility to set aliases for component names

I would like to setup my component structure like this:
src
-- model 1
---- get.vue
---- save.vie
-- model 2
---- index.vue
---- model 3
------ get.vue
------ save.vue

However, it's not allowed to setup one worded components names like:
<get></get>
Furthermore, it could collide with other components. My idea is to implement something like this:
import Create from './Create.vue'
import Get from './Get.vue'

// ...

components: {
  Create: {
    component: Create,
    alias: 'CreateModel1'
  },
  Get: {
    component: Get,
    alias: 'GetModel1'
  }
}

Why? Just write this:
import Create from './Create.vue'
import Get from './Get.vue'

// ...

components: {
  CreateModel1: Create,
  GetModel1: Get
}

As @sirlancelot explained, we don't need a new API for that.

Thanks a lot for the clarification!


WIP: First pass at using the new EventBus to fire AuthC events.

I'm digging the simplicity of the EventBus, but currently it is only really* used by the ReflectionBuilder
This is attempt to see what publishing auth events from the AuthenticationRealm would look like.

The plumbing exists for custom realms, to make full use of the EventBus, it is just that none of the stock Realms make direct use of it at the moment.

@bdemers I like this one, we can add it to the 2.0.0 work.
Thoughts?

@fpapon yeah!
Does the EventBusAware and the other *Aware casting usage of Shiro work well with OSGi?

@fpapon yeah!
Does the EventBusAware and the other *Aware casting usage of Shiro work well with OSGi?

I never try but we have an EventAdmin in OSGi and I think it would be nice to use it. I will take a look ;)

Great! I am really looking forward to seeing other events, such as "configurationUpdatedEvent" (if that ever happened) or events about the realms from a SecurityManager perspective, as those could be useful for M(X)Beans.

I'm also thinking about to sent events to external bus like Kafka.


preview_characters

It's a bit inconsistent to me.
If preview_characters is 0, then the query grabs the entire body, though afterwards, the code cuts it down to 128 chars.
It's true I could just write an addon that hooks into the code, add another select entry, and then get the non-altered body, though it may be possible to handle it in a different way.
Dunno.

Huh? It grabs more than what it needs so it can parse out the BBC, smilies, and other stuff that might not be actual text.
Please elaborate on what the issue is here.

@joshuaadickerson let's try like this:

if preview_characters is 0, the query gets the whole body of the message and later on Topic_Util::prepareContext cuts it down to 128 chars.
if preview_characters is a number, the query cuts body at preview_characters + 256 and later on Topic_Util::prepareContext cuts it at preview_characters.

I have two doubts:

the code design would benefit from make the cutting a bit more consistent (because at the moment there are several checks in various places, while a single one would be enough),
wouldn't make sense to just always grab the whole body and cut it later according to the setting? It would be easier to change the behaviour if anyone, for example, would like to have the whole body instead of part of it.

It doesn't grab the whole body because it can be a huge strain on the database, network, and the application server to do. I think the large forums at SMF saw a lot of issues when they added that feature before it was reduced to a portion of the message. A setting is easy enough. If you want to change it, just do it in the template init function.

Somewhat OT.
Since we now have shorten_html in Util, it should be possible to pass the results of parse_bbc right to that and have it properly cut the preview to length and still maintain the rich format for the preview hover.   Just a thought.

In the end I just moved around some code https://github.com/emanuele45/Dialogo/commit/d0c3006867cbb06f0b80ba215d3cd3fca745a287

Looks good to me :+1:


Covid banner + thumbnail grid view is broken

What
If you open the viewer and click the 'View all' button top left, before having dismissed the yellow banner, the page will appear broken.

Dup of #5589


[WIP] Nopol

Sorry for this messy PR. I choose HEAD~1 by mistake while checking out.

Hi @martinezmatias ,
I'm having a bit of trouble in the "if condition update" pattern for nopol.
So just this can't find all instances of if condition update.
<entity id="2" type="*" role="condition">
        <parent parentId="1" distance="10"/>
 </entity>
 <action entityId="2" type="UPD"/>

But this results in finding too many instances of even a single if condition update.
    <entity id="2" type="*" role="condition">
        <parent parentId="1" distance="10"/>
    </entity>

    <entity id="4" type="Block">
            <parent parentId="2" distance="1000"/>
       </entity>
       <action entityId="4" type="*"/>

One of the ways to handle the later case is to consider only one instance per revision of a particular repair tool.
I've tried some other patterns configurations but they result in one of the above problems. Is there a better way to write patterns for this case?
What do you think?

Hi @sedflix

But the following pattern results in too many instances of even a single if-condition-update

But, are those instances correct? (Ratio False Positives).
Here, the point imho would be to focus on commits that only include changes on if, discarding commits with changes in other parts. Alternatively, you can put a threshold that indicates the max number of changes not related to the if (in the previous case would be zero ).
A suggestion for modeling the patterns could be to create different cases in test cases (invented cases) and to see what are the changes produced by GT-Spoon. Then, you try to model those changes using the pattern notation.
WDYT?

Hey!
I'm sorry for the late reply. I somehow missed the notif for this one.

But, are those instances correct? (Ratio False Positives).

Yes, kind of. We want instances of if-condition update, but that approach ends up giving each change in the condition as one of the instances. So there are multiple instances of a single if-condition update. For example, these are the instances of a single if-condition update.
[ChangePatternInstance [actions=[Insert VariableRead at com.google.javascript.jscomp.LightweightMessageFormatter:97
        error
]], ChangePatternInstance [actions=[Update Literal at com.google.javascript.jscomp.LightweightMessageFormatter:98
         to null
]], ChangePatternInstance [actions=[Move Literal from com.google.javascript.jscomp.LightweightMessageFormatter:98 to com.google.javascript.jscomp.LightweightMessageFormatter:97
        0
]], ChangePatternInstance [actions=[Delete TypeAccess at com.google.javascript.jscomp.LightweightMessageFormatter
        com.google.javascript.jscomp.LightweightMessageFormatter
]], ChangePatternInstance [actions=[Delete FieldRead at com.google.javascript.jscomp.LightweightMessageFormatter:97
        excerpt
]], ChangePatternInstance [actions=[Delete TypeAccess at com.google.javascript.jscomp.LightweightMessageFormatter:97
        SourceExcerpt.LINE
]], ChangePatternInstance [actions=[Delete Invocation at com.google.javascript.jscomp.LightweightMessageFormatter:97
        (excerpt.equals(SourceExcerpt.LINE))
]], ChangePatternInstance [actions=[Delete VariableRead at com.google.javascript.jscomp.LightweightMessageFormatter:98
        charno
]], ChangePatternInstance [actions=[Delete BinaryOperator at com.google.javascript.jscomp.LightweightMessageFormatter:98
        ( <= charno)
]], ChangePatternInstance [actions=[Delete BinaryOperator at com.google.javascript.jscomp.LightweightMessageFormatter:97
        ((excerpt.equals(SourceExcerpt.LINE)) && ( <= charno))
]], ChangePatternInstance [actions=[Delete VariableRead at com.google.javascript.jscomp.LightweightMessageFormatter:98
        charno
]], ChangePatternInstance [actions=[Delete VariableRead at com.google.javascript.jscomp.LightweightMessageFormatter:98
        sourceExcerpt
]], ChangePatternInstance [actions=[Delete Invocation at com.google.javascript.jscomp.LightweightMessageFormatter:98
        (sourceExcerpt.length())
]], ChangePatternInstance [actions=[Delete BinaryOperator at com.google.javascript.jscomp.LightweightMessageFormatter:98
        (charno < (sourceExcerpt.length()))

Here, the point imho would .... previous case would be zero ).

Right now, I'm not having problems in excluding commits "with changes in other parts". I will keep in mind to use those kinds of filters when necessary.

A suggestion for modeling the patterns could be to create different cases in test cases (invented cases) and to see what are the changes produced by GT-Spoon.

I'm sorry. I didn't get this part. Can you please give an example?

The last commit achieves 100% true-positive. But the problem of multiple instances still exists.

Thanks @sedflix !


⚠ Bofrost.lu has degraded performance

In 90903f5, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1242 ms

Resolved: Bofrost.lu performance has improved in 2c6ea34 after 6 minutes.


⚠ Bofrost.de has degraded performance

In 125aea0, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1029 ms

Resolved: Bofrost.de performance has improved in 4eabb8a after 7 minutes.


Add support page

Add support page to documentation website, with information on how to get help from community and project maintainers.
Closes https://github.com/sigstore/sigstore-website/issues/113

(Just a note as I haven't merge permissions for this PR)


Proposal: linalg.outer support batches of vectors

Current Status
Current API spec defines the linalg.outer behaviour for one-dimensional vector inputs only.
Quoting from the docs.

Computes the outer product of two vectors x1 and x2 .
Parameters

x1 :

first one-dimensional input array of size N . Should have a numeric data type.

x2 :

second one-dimensional input array of size M . Should have a numeric data type.

Proposal
Most of the array/tensor libraries involve the manipulation and usage of batched vectors. It would be worth considering batch support in linalg.outer for the Array API standard, instead of only the 1D Vectors. This will also make linalg.outer more in line with the behaviour offered by other linalg functions in the spec which generally take in an nd-array/tensor.

Interestingly

PyTorch currently has torch.outer which also only supports 1d Tensors.
NumPy though supports nd-arrays with numpy.outer, but the behaviour is to flatten the inputs to 1d Vectors in case the input is not already 1-dimensional.

This was initially discussed in pytorch/pytorch#63293.
cc @Lezcano @rgommers

It would be great if an array library (e.g., Torch) would implement such behavior. Without such an implementation, we'd be blazing a new path here, one which is incompatible with existing behavior. For NumPy, moving to batch would be a breaking change. For Torch, this too would be a breaking change (given the 1D requirement), but Torch also seems more generally willing to introduce breaking changes.

I think that we will be adding this behaviour as we add this function to torch.linalg.
Note that the change in Torch would not be BC-breaking. We tend to be quite happy to add changes as long as they are backwards compatible :)

For reference, the array API currently supports batching for both vector_norm, cross, and vecdot.
As mentioned previously, NumPy does not have a batched outer API, but does have ufunc.outer which supports multidimensional arrays; however, this functionality is the equivalent of the tensor product and may also be accomplished with tensordot.
Accordingly, there is no API currently for performing batch outer products. I will raise this at the next consortium meeting to determine whether there is appetite for adding support in the standard.

Based on discussions in recent consortium meetings, adding support for batching in linalg.outer has received positive support and is tentatively slated for the 2022 revision of the array API standard.

This still wasn't implemented in PyTorch. We should probably bump this, and deprecate the current numpy behavior (which is pretty bad, so deserves deprecation anyway even if it wasn't for this standard) first.


File moves may fail with OSError

https://github.com/UpstreamDataInc/goosebit/blob/f7a0ce7d05bce75bd168550313d611c17c42b00f/goosebit/updates/__init__.py#L50
May fail with OSError: [Errno 18] Invalid cross-device link: '/tmp/tmp0egb8ja1' -> 'goosebit/artifacts if target is on a different filesystem.

hmm, thinking we maybe need to put the tempfile in the artifacts directory somehow?

Fixed in #132 by using this instead, might as well have a separate PR -
        # basically os.rename, but sync and async versions of that break across filesystems
        async with await open_file(temp_file, "rb") as temp_file:
            async with await open_file(path, "wb") as file:
                while True:
                    chunk = await temp_file.read(1024 * 1024)
                    if not chunk:
                        break
                    await file.write(chunk)

Fixed in #132 by using this instead, might as well have a separate PR -

Maybe, should have this just as a fallback on failure of the rename?

Fixed in #132 by using this instead, might as well have a separate PR -

Maybe, should have this just as a fallback on failure of the rename?

Works for me, just catch OSError


[Bug] GridMove size is not working properly in 5.2.0/1

Hi,
When I just now upgraded from 5.1 to 5.2 (both .0 and .1), something happened to the matrix. The .vimrc has:
set gridmove_size=24x24

In 5.1 it looks like this:

But now in 5.2 it looks like this:

Please check this.
Edition	Windows 10 Pro
Version	22H2
Installed on	3/13/2021
OS build	19045.3086
Experience	Windows Feature Experience Pack 1000.19041.1000.0
Vind: <IP_ADDRESS> -> 5.2.0 and 5.2.1

I cannot reproduce it.
Please check the content or path of your .vindrc are correct, and validate the log.

I confirmed this issue.
If you write version huge at the beginning, this issue is solved.
However, this is not comfortable, so I fixed this as v5.2.2.
Please wait a while until its approval from Chocolatey/winget.

It is approved.

I confirm it is fixed!


n-modal Props "to" not work, Am I using it wrong?

TuSimple/naive-ui version (版本)
2.34.3
Vue version (Vue 版本)
3.2.45
Browser and its version (浏览器及其版本)
Edge/113.0.1774.35
System and its version (系统及其版本)
Window10(22H2)
Node version (Node 版本)
v19.8.1
Reappearance link (重现链接)
https://codesandbox.io/s/n-modal-1w1t0n
Reappearance steps (重现步骤)
Just config the
Expected results (期望的结果)
only show in div
Actual results (实际的结果)
still show in body
Remarks (补充说明)

Sorry, I didn't write the demo carefully, I configured it correctly in the actual project, it is in "n-modal", I have corrected the demo now, but it still doesn't work

The rendering is correct. 'n-modal' DOM is in the specified container.

I thought "n-modal-mask" would also be constrained to the div like "n-drawer"

If I want "n-modal-mask" to also be constrained inside div like "n-drawer", how can I do it

It's not possible. Modal is designed as a global modal.

ok, thx ❤


KAFKA-17227: Update zstd-jni lib (#16763)

KAFKA-17227: Update zstd-jni lib
Add note in upgrade docs
Change zstd-jni version in docker native file and add warning in dependencies.gradle file
Add reference to snappy in upgrade

Reviewers:  Chia-Ping Tsai<EMAIL_ADDRESS> Mickael Maison<EMAIL_ADDRESS>More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

This is a backport that I'll merge, just wanted to make sure CI works

No errors in CI look related to compression libraries. I'll cherry-pick it to the branch now


Does this mean only ASCII/English characters are expected in the external instace ID?

I have a form with an external instance that looks like this:
<instance id="सूचना_पत्र" src="jr://file/सूचना_पत्र.xml"/>

and an itemset that references it like so:
 <itemset nodeset="instance('सूचना_पत्र')/root/item[group= /external-data/grp ]">
                <value ref="name"/>
                <label ref="label"/>
            </itemset>

Enketo throws:
 FormLogicError{message: 'Could not evaluate: instance('सूचना_पत्र')/root/item[group= /model/instance[1]/external-data/grp ], message: Failed to execute 'evaluate' on 'XPathEvaluator': The string 'instance('सूचना_पत्र')' is not a valid XPath expression.', name: 'FormLogicError', stack: 'Error

Does this mean only ASCII/English characters are expected in the external instace ID?

Not sure if this is because of the browser's built-in XPath evaluator (following an XML spec) or because of our implementation in enketo/openrosa-xpath-evaluator.  Would be good if you could investigate.
The instance("abc") calls are transformed in to native XPath in enketo-core, so have a look at how that is done first perhaps.

I thought it might be an issue with the browser's built-in evaluator. Enketo transforms instance("something") here: https://github.com/enketo/enketo-core/blob/master/src/js/form-model.js#L1046
When trying in a (any) browser window, this doesn't crash:
document.evaluate('/model/instance[@id="a"]', document, null, 2)

but neither does this:
document.evaluate('/model/instance[@id="सूचना_पत्र"]', document, null, 2)

So, it is something else, and may very well be fixable.
I think it's the INSTANCE regex in that function. Would be happy if somebody else could continue investigating.


mac-24 is dead.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
mac-24 is dead.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

mac-24 is up and running fine, machine is out of sync with Salt master. Run command “salt-call state.apply” to re-sync salt master again.
flutter@flutter-devicelab-mac-24 ~ % uptime
9:11  up 15:55, 4 users, load averages: 1.53 1.55 1.51


Update smacss sort order

What do the changes you have made achieve?
The smacss order is updated to the latest version. This version was approved earlier this year and is used in other packages.
Are there any new warning messages?
Probably not.
Have you written tests?
No.
Have you included relevant documentation
Not needed.
Which issues does this resolve?
None.
<DCO 1.1 Signed-off-by: Vlad Shcherbin<EMAIL_ADDRESS>

Coverage remained the same at 97.591% when pulling 9eb37ea8e69cfba66bdd18a7cc5645a930bcbc40 on VladShcherbin:patch-1 into 508c135863b408d5dac45a18beccb96c230207ef on sasstools:master.

Do you think there's a reason not to call this a new sort order? I mean i can see from the PR to scss-lint that it's been updated there. I'm just thinking that maybe this should be smacss2017 or something? Happy to hear opinions @VladShcherbin as i don't personally ever use sort orders.

@DanPurdy not sure if a new preset is needed.
I actually found out about new rules when tried stylelint with stylelint-config-property-sort-order-smacss preset, which uses css-property-sort-order-smacss package inside. This package has updated syntax.
Personally, I'm happy with sass-lint and I thought that it would be great to have the same syntax everywhere (in scss-lint, sass-lint, stylelint, etc) so a user can easily migrate from one to another.
Since new rules were approved by smacss author, I think it'll be fine to update and stick to one style in all projects.

Any idea when this might release?

It would be great to release updated order as 1.*.0 so it could be used until 2.0 is released, seems like it takes more time then expected :)
@JWess meanwhile, you can use the updated version with this command (for yarn):
yarn add sass-lint#6a71e29920a386fd97b986eb54ed0123890c1913 -D

@vladshcherbin Thanks for the update. I also noticed that sass-lint is again behind scss-lint, as scss-lint has now added the grid properties:
https://github.com/brigade/scss-lint/blob/master/data/property-sort-orders/smacss.txt

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How do you install this?

Is this package pip installable? Or are we expected vendor it?

pip install google-genai
We'll resolve this issue once reflected in our docs.

also had this issue, please update docs

This is not reflected in the docs.


Visual marking of empty questions in the video editor

I would like a visual hint about questions with no defined answers in the video editor.
When a questionbox is inserted it should appear red or yellow until it has been assigned a questiontype and saved.

Also show the given answers


Add HTML meta tags for Algolia DocSearch

This PR is the scaffolding for a successful Algolia DocSearch deployment! We recently got approved for a DocSearch account since Open OnDemand is open source.
TLDR: We do not want to return search results from version 1.0 with latest
This PR needs to be merged into latest because Algolia scrapes https://osc.github.io/ood-documentation/master/ every 24 hours. The JavaScript code to enable DocSearch looks like this:
docsearch({
  apiKey: PUBLIC_API_KEY,
  indexName: 'osc_ood',
  inputSelector: '#rtd-search-form input[type=text]',
  debug: false,
  algoliaOptions: {
    hitsPerPage: 6,
    facetFilters: [
      'version:1.8.0'
    ]
  },
  custom_settings: {
    attributesForFaceting: ['language', 'version', 'branch']
  },
})

DocSearch specifically looks for meta tags named docsearch:TAG_NAME and adds it to the search index so results can be filtered based on tags. facetFilters is the important bit here, we don't have the following global meta tags deployed on latest:
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="1.8.0"/>
<meta name="docsearch:branch" content="latest"/>

Once those are added and Algolia re-scrapes the documentation, then I can introduce the PR that is behind the demos.
Why we want DocSearch:

Free, if we go over the limits then we can self host our own DocSearch Docker image. See DocSearch FAQ.
Algolia is amazing, look at the screenshot below for example. Typo tolerance will be great for searches.
Inline and instant search, look at the Video Demo (20s).

Screenshot:

Video Demo (20s): https://streamable.com/4wxy5u

The commit should be to develop and be able to be merged into all the branches. So if I have it correctly, there are two steps:

meta tags specify which git branch and app version a specific documentation URL is from
docsearch is configured/told which URLs to scrape

I don't recall why branch matters to docsearch if docsearch is just scraping the statically produced HTML. How does docsearch interact with the git repo?
I also notice version specified is 1.8.0 where the patch release is incorrect (current is 1.8.13). Can we just specify 1.8? What happens when the version string changes?


Backlight and Volume sliders not displayed properly.

Recently after an update (I'm not sure if polybar itself updated or just other packages such as libraries) Polybar now no longer displays the Volume or backlight slider it instead looks like this.

The issue seems mostly visual as scrolling over and clicking the volume work fine. The 'sound muted' message also displays fine.

This problem also happens on the default example bar.
Running  polybar-3.1.0-2 from the AUR.

Probably a duplicate of #1044. Check your Fonts

After installing polybar-git-3.1.0.r63.g2f62a6f-1 the problem persists.


Support withdraw address for rewards

Follow up on https://github.com/confio/tgrade/pull/123#discussion_r705500400
Requires https://github.com/confio/tgrade-contracts/issues/126

This updates the distribution adaptor to make full use of the fields present in the contract.
Not high priority, but a nice to have


Need to select debug target every time I switch configurations

Brief Issue Summary
Using a launch configuration with "program": "${command:cmake.launchTargetPath}",
Switching the configuration parameters, the debug target needs to be changed every time, even thought the project status still has the correct target selected.
CMake Tools Diagnostics
{
  "os": "win32",
  "vscodeVersion": "1.86.1",
  "cmtVersion": "1.16.32",
  "configurations": [
    {
      "folder": "a:\\Projects\\shards",
      "cmakeVersion": "3.26.4",
      "configured": true,
      "generator": "Ninja",
      "usesPresets": false,
      "compilers": {
        "C": "C:/Program Files/LLVM/bin/clang.exe",
        "CXX": "C:/Program Files/LLVM/bin/clang++.exe"
      }
    },
    {
      "folder": "a:\\Projects\\fbl",
      "cmakeVersion": "unknown",
      "configured": false,
      "generator": "unknown",
      "usesPresets": false,
      "compilers": {}
    },
    {
      "folder": "a:\\Projects\\formabble-docs",
      "cmakeVersion": "unknown",
      "configured": false,
      "generator": "unknown",
      "usesPresets": false,
      "compilers": {}
    },
    {
      "folder": "c:\\Users\\Fragcolor2\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\egui-0.25.0",
      "cmakeVersion": "unknown",
      "configured": false,
      "generator": "unknown",
      "usesPresets": false,
      "compilers": {}
    }
  ],
  "cpptoolsIntegration": {
    "isReady": false,
    "hasCodeModel": false,
    "activeBuildType": "",
    "buildTypesSeen": [],
    "requests": [],
    "responses": [],
    "partialMatches": [],
    "targetCount": 0,
    "executablesCount": 0,
    "librariesCount": 0,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": false
    },
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": null
    },
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": null
    },
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": null
    }
  ]
}

Debug Log
No response
Additional Information
I'm using a cmake-variants file.
I'm using the project status window to switch the configuration parameter:

After this, pressing launch will just output:
[main] =======================================================
[main] No executable target was found to launch. Please check:
[main]  - Have you called add_executable() in your CMake project?
[main]  - Have you executed a successful CMake configure?
[main] No program will be executed

Trying to change the target by pressing the button next to the debug target name does nothing until I manually run configure

After this I can successfully launch, although I don't want to go through this process every time, the target name stays the same I'm just changing the configuration
It might be worth noting that I have my cmake set to generate into different folders based on the configuration, along with the following settings:
{
"cmake.buildDirectory": "${workspaceFolder}/build/${buildKit}/${variant:buildType}",
"cmake.configureOnEdit": false,
"cmake.configureOnOpen": false,
"cmake.automaticReconfigure": false,
}

Ok, it seems like turning on cmake.automaticReconfigure fixed it, although I feel like this should work without re-running configure, maybe it's harder to fix. feel free to close this.

@guusw Thank you for letting us know the workaround! We'll make a note on our side, but since there is a workaround, we'll close this issue. Thanks.


Update aws-cwa-ciwindows by merging new changes from aws-cwa-dev

Description:
Updated aws-cwa-ciwindows by merging aws-cwa-dev using git merge aws-cwa-dev.
Conflicts
Resolved conflict in kubeletclient.go

Merging is squashing the commits, This will lead to merge conflicts when Raising PR from this dev branch again aws-cwa-dev branch


588 move request contract

Description
Upon comment to closed pull request #783 it is decided by team to go with another solution to the problem of duplicated protobuf contracts for the requests from the Metering Point domain to the Charges domain. The relevant protobuf contracts are now located in a common place for the two solutions, GreenEnergyHub.Charges and Energinet.Charges.Libraries.
Code in both solutions reference code autogenerated from the contracts, hence we have introduced a common project containing generated code and related mappers.
References

#588

Note that the "Publish Clients to Nuget.org / Publish to nuget feed" seem to contain an issue how its part of CI. An issue which we right now have to leave as is due to the infrastructure frozen zone.


How to run npm script always in new terminal instead of existing one?

I can execute npm script by running command npm-script.run in command palate or by hitting shortcut (ctrl+R shift+R).
However, it runs inside the currently opened integrated terminal of VSCode.
I want whenever I run a npm script from command palate it should run in a new terminal instance.

i was searching for a solution on the same problem described above .
i came to a decision to use the npm-script-running built-in functionality of vscode and vscode-npm-scripts for 2 reasons (purposes).
Link: https://code.visualstudio.com/updates/v1_23#_npm-script-running
What to use and why ?

i use the extension vscode-npm-scripts only for install, init .

why ? first initialization and starting a new project . Saving me typing the commands by hand.

i use npm-script-running built-in functionality of vscode for running my scripts defined in package.json

why? the npm-script-running understands each script as atask in vscode and executes the script in anew terminal.

tip: by hitting ctrl+shift+e i get focus on Explorer view. Then with tab i select the script to run with enter.


chore(CPlusPlus): add print all subsets

PR Checklist:

[x] My submission is formatted according to the guidelines in the contributing guide
[ ] My addition is on refer on the language README.md file
[ ] My addition does not have a spelling problem
[ ] My submission has a proper and user-friendly description of the algorithm
[ ] My submission has the time complexity of the algorithm
[ ] My submission has sample input-output of the program (NOT FOR PYTHON)

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

[x] Bugfix
[ ] New algorithm
[ ] Optimization in previous algorithms
[ ] Code style update
[ ] Refactor
[x] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR
Due to a spelling mistake Fibonacci Series was not loading when clicked.

Other information:

Please update the branch.