Modules should tolerate non-xclim variable names

Setup Information

Xclim version: master
Python version: all
Operating System: all

Description
When creating an indicator through a Yaml file and using the input: {old: new} construct to rename an input, xclim currently need a name (new) that exists in variables.yml. It fails otherwise. This was done because this construct activates the CF checks, so standard CF attributes must be available and the only way currently is through that internal file (or adding them dynamically to xclim.core.utils.VARIABLES).
Steps To Reproduce
realm: land
indicators:
  freq_analysis:
    base: freq_analysis
    input: {da: Dis}
    parameters:
      mode: max
      t: [2, 20, 100, 350]
      dist: genextreme

When loading this as an xclim module, it will fail with :
ValueError: Compute argument da was mapped to variable Dis which is not understood by xclim or CMIP6. Please use names listed in `xclim.core.utils.VARIABLES`.

Additional context
I think we could simply downgrade the error to a warning and mention that the unknown name means no CF-checks will be performed.
A fancier solution would be to provide tools to add variables to the known list. If it could be made through the yaml file and be module-dependent, that seems to me to be elegant enough?
@RondeauG
Contribution

[X] I would be willing/able to open a Pull Request to address this bug.

Code of Conduct

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

Idea after discussion:
Add an optional section in the virtual module's yaml : "variables" where one declares those new variables that xclim doesn't know. It must contain at least the "canonical_units" entry and optionally all other CF fields, so that xclim is able to build input units and CF checks for custom variables.
The potentially confusing thing here is that the xclim.core.utils.VARIABLES dict is global. There is not module-dependent version and thus when adding (or overriding) variables through a module, they get added to the global dict, for as long as the session runs.

This sounds like a very good compromise! As for the point in the last paragraph, this implementation could maybe be purely additive (aka, no overriding accepted)?


Token registred but more than confused

Hey sry but I am very strongly confused. My token is displayed with picture and it says unknown there on the right side but everything is.

when i go to the token adress there is nothing there at all

can i delete it pls


add alternative dns servers.

added some support for alternative dns servers other than defined in the dns server. requires execute rights for the dig command. also a callable can be used to pick a server (similar to what unblockus.com does).
If not supplied, the provider still works the same as it used before.

The core of this PR doesnt fall in line with the idea of having a pure PHP DNS server if we were to starting using a system dependency such as dig which for that you need on linux dnsutils and on osx and windows it doesnt ship by default at all sadly
The aim for this library would be to not be dependent on anything but the PHP interpreter for running.


feat: backreferences, named capture groups, named backreferences

changed babel.config.js to support node version 10.0 and greater (for named capture support).

Summary
Added support for named-capture, backreference, name-backreference.  All three functions are as defined in the Swift RegEx Builder.
I needed to make a change to babel.config.js because the default config didn't support named capture groups.  This was the toughest bug I've tracked down in quite a while.  I'm not confident that my solution is optimal and would appreciate a second set of eyes.
Test plan
Added unit tests for each of the new functions.
Add a couple of new examples showing how to use new functions in typical use cases.

@PaulJPhilp There already is an open PR #66 (of mine) about named captures and backreferences. It's nearly finished in terms of features, I was planning to gather some critique about the API to perfect it before merging.
Let's pick the best parts of both and unify them. Please take a look at it, and I will take a careful look at your PR, and let's discuss it in the following days.

Sounds good to me.
On Tue, Mar 12, 2024 at 4:38 PM Maciej Jastrzebski @.***>
wrote:

@PaulJPhilp https://github.com/PaulJPhilp There already is an open PR
#66 https://github.com/callstack/ts-regex-builder/pull/66 (of mine)
about named captures and backreferences. It's nearly finished in terms of
features, I was planning to gather some critique about the API to perfect
it before merging.
Let's pick the best parts of both and unify them. Please take a look at
it, and I will take a careful look at your PR, and let's discuss it in the
following days.
—
Reply to this email directly, view it on GitHub
https://github.com/callstack/ts-regex-builder/pull/71#issuecomment-1992536128,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BA6V6ZSDCD3F3YHJAUM43SLYX5RVJAVCNFSM6AAAAABESQ7HSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJSGUZTMMJSHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Agreed.  Your API is an improvement.
On Wed, Mar 13, 2024 at 5:36 PM Maciej Jastrzebski @.***>
wrote:

@.**** commented on this pull request.
In src/constructs/tests/named-capture.test.tsx
https://github.com/callstack/ts-regex-builder/pull/71#discussion_r1523945179
:

expect(match).not.toBeNull();

expect(match?.groups?.group1).toBe('ab');
expect(match?.groups?.group2).toBe('b');
});

it('should handle nested named capture groups', () => {
const regex = buildRegExp(namedCapture(['a', namedCapture('b', 'group2')], 'group1'));
const match = regex.exec('ab');
expect(match?.groups?.group1).toBe('ab');
expect(match?.groups?.group2).toBe('b');
});
+});

+describe('namedCapture RegEx matching', () => {

test('named-capture pattern', () => {
expect(namedCapture('a', 'abba')).toEqualRegex(/(?a)/);

When seeing namedCapture('a', 'abba') it's hard to tell which part is the
matched pattern and which one is the name of capturing group.
—
Reply to this email directly, view it on GitHub
https://github.com/callstack/ts-regex-builder/pull/71#pullrequestreview-1935259435,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BA6V6ZU2LPRNOYU73RZBTETYYDBEZAVCNFSM6AAAAABESQ7HSGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTSMZVGI2TSNBTGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

I don't see a use case for it.  If I don't specify the name, I can use the
group number (\1).
On Wed, Mar 13, 2024 at 5:38 PM Maciej Jastrzebski @.***>
wrote:

@.**** commented on this pull request.
In src/constructs/named-backreference.ts
https://github.com/callstack/ts-regex-builder/pull/71#discussion_r1523947207
:

@@ -0,0 +1,24 @@
+//import { encodeSequence } from '../encoder/encoder';
+import type { EncodeResult } from '../encoder/types';
+//import { ensureArray } from '../utils/elements';
+import type { RegexConstruct } from '../types';

+export interface NamedBackreference extends RegexConstruct {

type: 'named-backreference';
name: string;
+}

+export function namedBackreference(groupName: string): NamedBackreference {
In #66 https://github.com/callstack/ts-regex-builder/pull/66 I proposed
an option to skip the name, in which case Regex Builder would
autogenerate a brief name for the user (ref-1, etc). That matches Swift
Regex Builder which defines Reference without name parameter at all. Not
sure if this is worth it. wdyt?
—
Reply to this email directly, view it on GitHub
https://github.com/callstack/ts-regex-builder/pull/71#pullrequestreview-1935262592,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BA6V6ZXSLOBM2N3OCZTJFFDYYDBOLAVCNFSM6AAAAABESQ7HSGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTSMZVGI3DENJZGI
.
You are receiving this because you were mentioned.Message ID:
@.***>


[sqlsmith] crash for std::bad_alloc

Steps to reproduce the behavior (Required)

CREATE TABLE '...'
INSERT INTO '....'


repo size

the z4_012_monster folder is around 350mb you might want to reduce the size?

This is because of all the funny JavaScript things which got added when I imported a UI5 app into SAP. There are thousands of the things. Is there a way to exclude anything with ZMONSTERSVSFS in the name?

Maybe if I take the root BSP application package out of the class. I will try that.

There we go. Thousands of un-needed files removed.

"7,660 changed files with 0 additions and 1,484,526 deletions"
👍
closing


Update connection secret naming override in databases to pattern in buckets

Migrate databases to override the connection secret in the same way that the buckets do.
Currently in the databases spec there is a connectionSecretRef that can either act as an override name or is set with a default name after the database has been initialized. The reason for the change is to not have the operator need to conditionally update the Spec after initialization and instead only update the status.
The bucket pattern is to move ConnectionSecretRef into status, and to add a override to Spec like the following:
S3BucketSpec struct {
...
ConnectionSecretNameOverride string `json:"connectionSecretNameOverride,omitempty"`
}

S3BucketStatus struct {
...
ConnectionSecretRef v1.LocalObjectReference `json:"connectionSecretRef,omitempty"`
}

I'd hope to resolve this as part of https://github.com/crossplaneio/crossplane/issues/451.


Document another way to access tutorials

$ docker pull nsls2/tutorial:latest
$ repo2docker --image-name=nsls2/tutorial \
              --cache-from=nsls2/tutorial:latest \
              https://github.com/bluesky/tutorial

Thanks @mrakitin --- I came here to open a GH issue for this and was glad to see you documented it. I think that before we document this we should address:

[ ] Can we build and upload the image as part of CI so that nsls/tutorial:latest stays up to date without our intervention?
[ ] Does it make sense to use nbgitpuller to streamline re-launches when the only that has changed is the content as opposed to the environment? (Perhaps not, if CI works.)

I finally circled back to this suggestion @mrakitin. Addressed by https://github.com/bluesky/tutorials/pull/114

Notice that we can do it now with Docker directly. If the user has Docker, they don't need to install jupyter-repo2docker or learn any new tools before getting started. Also, the image at nsls2/tutorials:latest is automatically updated by a GH Actions workflow every time a change is merged into the main branch of this repo.

Cool, thanks @danielballan!


Lowl::Space - channel converting

Add functionality to convert from mono to stereo, etc so that proper channel information is present.
At the moment, it is hardcoded to Channel::Stereo which will cause issues when opening a stream with a different channe count

https://github.com/sebastian-heinz/lowl_audio/commit/94071dc66cd67338885129cd943ba214fd3d430e


Values as type parameters

Pony will be supporting values as type parameters. For example:
class Vector[A, n: U64]

class Matrix[A, n: U64, dims: Vector[U64, n]]

From a type system point of view, since Pony generics are invariant, the type will also be invariant based on the values used to parameterise the type as well as the types used to parameterise the type. Structural typing (with structural types dependent on values) can then be used to make more complex value-dependent guarantees involving co/contra-variance on type parameters.
This will require some type system work, some codegen work (particularly compiler intrinsic support for vectors as fixed-size arrays), and some other semantic work (embed fields for matrix representation without indirection).
It will also require an (evolving) method of handling compile-time expressions to generate the values that types can depend on. Obviously, literals are trivially compile-time expressions, but it's an open question as to how much staged-compilation we want to benefit/suffer from.

This work was done by Luke Cheeseman and will be PR'd soon.

The PR is not ready? Could you tell the current status please?

i'd suggest asking on the mailing list. Luke sometimes lurks there. He also sometimes lurks on IRC.


Suggestion: Add #[inline(always)] to most derives

Since most derives don't really contain any logic, it would be best to mark then as #[inline] or #[inline(always)] to allow them to be easily optimized away across crates and make them zero cost abstractions.
If you are interested I could work on a PR.

I know that #[inline] is used to instruct compiler to inline functions.
How does it apply to derives? Could you please elaborate on this more?

I mean the implementations of traits nutype generates should have an #[inline] attribute if the are trivial.

I interpret that as "inline functions of traits that nutype generates". (please correct me if that interpretation is wrong).
As far as I know Rust is good at determining what should be inlined automatically.
Could you provide a measuarable example, where inlining of trait methods/functions generated by nutype makes a noticeable difference in performance?

Ok, I checked the implementation generated by Debug and some traits from derive_more. I see what you mean.
If you're fine you can proceed with a PR.
Thanks!

@Sympatron Hi, are you still planning to open a PR for this?

@Sympatron Thanks for the update, no problem at all.
Would you mind describing the problems you have discovered?

It was mostly not very no-std friendly and does not add a const constructor. Apart from that nutype focuses a lot on validation which is probably super useful in some cases, but I just wanted a thin wrapper around a u32 to prevent accidental misuse of my API. So it just wasn't the right fit for me.

@Sympatron  Hi, I just published 0.4.1-beta.1 which comes with some support of no_std.
Note:

String type is still not supported in no_std environment.
Use default-features = false for nutype dependency


Accept API key (and other options?) from environment variables

Right now the Client() constructor accepts parameters (API key, email, site, etc.) through constructor arguments, falling back to values in the config file. It would be convenient to also support getting those parameters (at least API key) through environment variables as well: argument->environment->config or so.
My sense is that it's reasonably common for people to stick secrets in environment variables (I know CircleCI supports this), and it would be mildly convenient if the API bindings (and thus all the sample code) supported this directly, rather than implementing it in each API consumer.
This was briefly discussed on Zulip.

Yeah this is a great idea.


ResNeSt Cascade RCNN S101 doesn't support mini-batch size of 1

Use the ResNeSt Cascade RCNN S101 config
Change the samples_per_gpu property to 1.

Result: an error that the number of channels for the input to the model is incorrect.
I think that MMDetection should allow mini-batch size of 1 here to cater for people that cannot fit multiple samples onto their GPU. With the default config, I expect a mini-batch size of 1 will save a couple of GB compared to size of 2.

Seems to be a bug. Please @AronLin take a look.

Maybe you have not set model.train() or model.eval()?
In mmdet, model.train() or model.eval() will set our BatchNorm to evaluation mode.
Or the BN will verify the input size, when the input size is 1, there will be an assert error.


Rename ParticlesMaterial's "ParticleFlags" group to "Particle Flags"

Adds a space to the group name: "ParticleFlags" -> "Particle Flags".
I recall seeing an issue about this somewhere but I can't find it now. It might have been a comment on https://github.com/godotengine/godot/issues/54161.

Thanks!


MOBT-199: mosg__model_run in metadata interpreter

Summary
This change removes warnings raised by the inclusion of the mosg__model_run attribute. It also makes use of the attribute to provide information about the input cycles to a blended diagnostic file when interpreting the metadata. Tests have been added.
Output changes
Prior to this change a blended diagnostic would be interpreted as follows:
file : 20220113T1200Z-B20220113T1100Z-precip_rate.nc
cube name : probability_of_lwe_precipitation_rate_above_threshold
This is a gridded probabilities file
It contains probabilities of lwe precipitation rate greater than thresholds
It has undergone some significant post-processing
It contains blended data from models: Nowcast, UKV, MOGREPS-UK
WARNINGS:
dict_keys(['institution', 'mosg__model_configuration', 'mosg__model_run', 'source', 'title', 'Conventions', 'least_significant_digit']) include unexpected attributes ['mosg__model_run']. Please check the standard to ensure this is valid.

Following this change the output looks like this:
file : 20220113T1200Z-B20220113T1100Z-precip_rate.nc
cube name : probability_of_lwe_precipitation_rate_above_threshold
This is a gridded probabilities file
It contains probabilities of lwe precipitation rate greater than thresholds
It has undergone some significant post-processing
It contains blended data from models: Nowcast (cycle: 20220113T1100Z), UKV (cycle: 20220113T0900Z), MOGREPS-UK (cycle: 20220113T0800Z)

Closes https://github.com/metoppv/mo-blue-team/issues/199
Testing:

[x] Ran tests and they passed OK
[x] Added new tests for the new feature(s)

Acceptance test data also merged.


Using Embedding layer without minibatch

Keras gives an excellent example on how to use pre-trained vectors for text classification:
https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html
However, the provided example uses minibatches. As my dataset is small, I want to process the training data one sample at a time. From my understanding of the provided code, I can do this easily by removing
input_length=MAX_SEQUENCE_LENGTH from the Embedding layer
and
setting
batch_size=1 in model.fit.
Is it correct? Should I also remove the pad_sequences part ?

However, the provided example uses minibatches. As my dataset is small, I want to process the training data one sample at a time

Use a batch_size of 1.
input_length is purely optional, so feel free to remove it if your sequences do not have a fixed length. In that case, padding is no longer necessary, so you can remove the pad_sequences call to.

Without pad_sequences, the input array to model.fit has mismatching dimensions. This will give an error: ValueError: setting an array element with a sequence. Am I missing something here ?
The error can be reproduced by first replacing pad_sequences with data = np.array(sequences) or
lse = []
for sequence in sequences:
    lse.append(np.array(sequence))
data = np.array(lse)

Both gave the same error.
Second, change the model to the following as the one in the example cannot handle input with varying size:
sequence_input = Input(shape=(None,), dtype='int32')
embedded_sequences = embedding_layer(sequence_input)
x = GlobalMaxPooling1D()(embedded_sequences)
preds = Dense(len(labels_index), activation='softmax')(x)

Finally, setting the batch_size to 1 in model.fit
model.fit(x_train, y_train, validation_data=(x_val, y_val),
          nb_epoch=2, batch_size=1)

In the example, you said that "although an Embedding layer is capable of processing sequence of heterogenous length, if you don't pass an explicit input_length argument to the layer". Is it the case that the Embedding layer can handle input with heterogeneous length but model.fit can't?


Disallow @typePolicy on unions

Since union don't have fields, it doesn't make sense to allow it.

Done in #5562


Dashboard issue with multiple imports on Angular

Adding the following code to dashboard.component.html results in none of the widgets being displayed - and only the builder component:

    <app-builder></app-builder>

I've made sure that dashboard.module.ts imports BuilderModule and BuilderModule exports BuilderComponent.
I'm not sure where the issue is coming from. Any help appreciated.

Hi
When you use <app-builder></app-builder>, the BuilderComponent will be fixed to that position in your template. If you intend to make it part of the routing system, replace it with a <router-outlet> tag. This way, the component can be loaded dynamically based on the route configuration.


How do I continue training?

I have saved the .tar.gz file, ran the first cell, opened the GUI, stopped the first cell, ran the second one while the load option and then in the train tab put the name of my model and click train, but it doesn't work. Tbh I'm absolutely confused at this point.

Just put the same Name and Information (Version, Pitch Guidance, ETC) of your model under the train tab
and DON'T do pre-process or pitch extraction and it should start off from were it stopped.

I get error, I don't know what am I doing wrong :(

.tar.gz is not the standard ckpt files format

Well that's the file I got when I ran the second cell, the one for saving a Google Drive Backup

.tar.gz is not the standard ckpt files format

Closing without solving, nice 👍🏻

@jassomsc  - Finding your post while dealing with the same problem. Just wanted to say you didn't get any help because you didn't provide any information of your process, and expected the people here to automagically know what the specifics of your situation was. Also your general attitude and apparent neediness doesn't really do much to motivate people into helping you either.


Search commands as a motion

Implement the use of search commands (/) as a motion.
As I suggested here, a way to get at least some functionality could be:

Find the shortest unique substring of the file which starts from the target position
Convert that into a search command
Select either the search or the standard movement path depending on the number of keypresses required for each

Using searches in combination with other motions seems like a more difficult problem to tackle.

I would approach this issue like how would a human who knows about all the Vim motions, marks and / would do something.
First I think we should give the special marks, gg, G and other such 1/2 keystroke motions the highest value.
Then coming to search let's say the one way of getting somewhere is "} 3W". Another way is doing a search entering 3 letters let's say and moving there. I think above a certain line count if the, let say 10, the goal is not to move to the start of a sentence or paragraph we should prioritize search. Why? Well with 3 alphabets nearly everything unique can be identified well. Another thing is I am doing "} 3W" it takes some thinking to do the 3W part. After the initial "}" there is a split delay the user will go through before putting in the 3W. / with 3 alphabets seems to me the less choppy option in this case. What do you think? Fundamentally I believe if two approaches provide the same functionality with nearly the same number of keystrokes I prefer the more smoother option, one that requires less active thinking and is more lazy. It's like how the top Vim golf solution appear impractical to come up with.
We could give the user the choice for the keystrokes in which the system will prioritize search results over motions with a sane default like 2. What do you think? We should go after this after 12, 7. That will save us some code rewrites.

I think this sounds like a good idea. Some additions to your suggestion:

Disable searches by putting the setting to a negative value.
Completing #4 first would make a nice starting point for this code. Feel free to re-assign that if you want to take it on too.

I've started working on 12, once I've made a commit I'll open a draft PR to track progress.

That's cool. I will take on #4. You finish #7 #12. Then give me a week. I will come up with a PR draft. Then together we should be able to polish it up


Update to Trino-431

Should we also add a note mentioning the change from javax -> jakarta in the release log?

Should we also add a note mentioning the change from javax -> jakarta in the release log?

Will do!


Make peer to peer Node mDNS optional, and unicast DNS preferred

@andrewbonney: can we merge this now?


We no longer reserve these articles in README?

We no longer reserve these articles in README?
Originally posted by @tokers in https://github.com/apache/apisix/pull/6445#r814623925

Hi, @tokers, most of the removed contents are also put in blogs.

Hi, @tokers, most of the removed contents are also put in blogs.

Got it.


Improve the documentation

I'm really sorry to say that but, well, this documentation is bad. I'm sorry to just complain. I may contribute in the meantime to fix some issues, but for now I just wanted to tell why I don't like it and get some feedback or guidance (maybe I'm just blind) and find out what you think about it.
I thought that this kind of a library from a big and respected company as Google, stating Google's officially supported Node.js client library for accessing Google APIs. will be easy to dive into. Unfortunately I wasted a lot of time figuring out how to work with an API client (which IMO should simplify my workflow greatly) and most likely would end up a lot better just using the services via REST APIs.
Here's why:
ToC in the main docs
The ToC there is completely broken - only the right hand side ToC works as expected.
ToC in README
There are non-working links in the ToC in the main README, like this. But I guess it's the only one here.
Getting the Google Apis instance
In the examples of usage in the main README there is:
var { google } = require('googleapis');
var urlshortener = google.urlshortener('v1');

while in the main docs:
var google = require('googleapis');
var urlshortener = google.urlshortener('v1');

which of course won't work because there will be no urlshortener function (note the { google } object deconstructure).
Creating a service client
This one is really, really incomprehensible.
The docs identically (docs, readme) give this as an example:
var {google} = require('googleapis');
var urlshortener = google.urlshortener('v1');

which is ok, but when I go further I get really confused, because there are examples like:
var drive = google.urlshortener({
  version: 'v2',
  auth: oauth2Client
});

so I go to find some kind of reference documentation at the main docs page, but there also is nothing telling that while creating a service I can invoke it with a string (with a version), or with a object (with auth and version properties). These are just in the examples... In the Authentication section (and not in the Create service client section)
Mysterious apirequest_1
Like..
So... What do you think? Is this just me or is this documentation really unclear?

I totally agree with this one.  Searching through the documentation results in getting redirected to the API's documentation which shows examples that differ from the original sample code you got on the first documentation.

#1063 and #1064 are encompassed by this, just each more specific


Tests need a bit of re-organizing

The test suite doesn't provide much insight into what is being executed. It would be better if we would split tests by groups/simulator.
We would like to be able to run a single test in all simulators. We would also like to be able to run all tests using a single simulator, potentially without running the framework tests.

If I were to implement this, I would do it in Python instead of bash. Any objections against this?


Enable sync for Minimal-VM Cloud images

We can test these images using a cloud-int basic config in openQA.

Thanks, merging!
For Minimal-VM, I will wait until the images are renamed to Cloud only (without OpenStack).


getting the interactive button to work with ipywidgets 7.6 and tested…

… with Python 3.8.1 on NeSI

Good, works on local jupyterlab too (and doesn't without the changes).
Note for myself: remove the "if statement" about pywidget version once the README is updated to new versions.


python312Packages.pyoverkiz: 1.13.6 -> 1.13.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.pyoverkiz is: Module to interact with the Somfy TaHoma API or other OverKiz APIs
meta.homepage for python312Packages.pyoverkiz is: https://github.com/iMicknl/python-overkiz-api
meta.changelog for python312Packages.pyoverkiz is: https://github.com/iMicknl/python-overkiz-api/releases/tag/v1.13.7
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.13.7 in filename of file in /nix/store/nwa77s7ynslj3hnn0dd37y2q8wd02ih7-python3.12-pyoverkiz-1.13.7

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
home-assistant-component-tests.overkiz
python311Packages.pyoverkiz
python312Packages.pyoverkiz

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/36a74ec8eefd52b4ea155dec1048256e94e811f7#python312Packages.pyoverkiz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nwa77s7ynslj3hnn0dd37y2q8wd02ih7-python3.12-pyoverkiz-1.13.7
ls -la /nix/store/nwa77s7ynslj3hnn0dd37y2q8wd02ih7-python3.12-pyoverkiz-1.13.7/bin

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

Maintainer pings
cc @fabaff for testing.

Duplicate of #289778


Update articleheader.css

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--famous-smoke-cigaradvisor--hlxsites.hlx.page/cigaradvisor/posts/2023/12/top-10-best-new-cigars-of-2023
After:https://feature-article-header--famous-smoke-cigaradvisor--hlxsites.hlx.page/cigaradvisor/posts/2023/12/top-10-best-new-cigars-of-2023

@bstopp I am already fetching these for indix(es)
https://github.com/hlxsites/famous-smoke-cigaradvisor/blob/27d403eac0311b09cd02911c034a8068694232a1/cigaradvisor/blocks/articleheader/articleheader.js#L12
https://github.com/hlxsites/famous-smoke-cigaradvisor/blob/27d403eac0311b09cd02911c034a8068694232a1/cigaradvisor/blocks/articleheader/articleheader.js#L21


Solving #12

Adding https support to both API and client server
Describe your changes
Adding HTTPS support to both API and client server
Issue ticket number and link
#12
Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests.
[ ] Does the change include a new project dependency?
[ ] Will this be part of a product update? If yes, please write one phrase about this update.

Closes #12


simultaneous script install for multiple packages in --merge build results in unpredictable files copied to lib/package_name

When multiple packages have a [tool.poetry.scripts] script and are installed with the parallel executor and merge flag (colcon build --merge), there could be potentially be multiple packages writing scripts to bin while one package is copying bin/*. I believe this is a race condition between build tasks.
Additionally, any package that have previously written files to /bin would be damaged due to the use of globing here.
I'm testing some solutions to #20 and consistently see this occurring.
possible solutions:

if it wasn't the case that previous packages could have installed to bin, mutexing the install (there was similar race condition in the the core python that was fixed like so https://github.com/colcon/colcon-core/pull/142)
assuming script names are unique across packages (should they be?), reading the list of scripts to copy from pyproject.toml
install into a staging area (eg. in build) before copying to install

since the scripts go from bin->lib/package_name, two scripts having the same name should be possible as long as they are in different packages...
My bigger concern is with globbing bin.
In my workspace, various packages do install files to bin, which blocks my adoption of this package.
I'm fairly convinced that using the staging area is a decent solution
-> pip install the built wheel into build/package_name/staging
-> using the list of scripts retrieve from toml, copy from staging/bin to install/lib
-> copy staging into install
I'm unsure if a mutex is actually necessary if the install is done like this.
I'll give it a go and make a PR if it works out


Add secret_id to SecretListItem

Need to populate this one in the server in preparation of removing dummy apps for secrets

@prbot approve


typo

https://github.com/ManimCommunity/manim/blob/master/manim/animation/transform.py#L155
"configuration of the transform itslef"
should be
"configuration of the transform itself"

Feel free to submit a PR :)

I believe @co-bordism is not a github user, so anybody who is reading, please feel free to submit a PR :)

manual pull request: I request that you pull my 'typofix' branch  :D
git remote add cobordism https://gitlab.com:co-bordism/manim.git
git pull cobordism typofix

I have added two more typo fixes to that branch.

Didn't work:
$ git remote add cobordism https://gitlab.com:co-bordism/manim.git
$ git pull cobordism typofix
fatal: unable to access 'https://gitlab.com:co-bordism/manim.git/': Port number ended with 'c'

Perhaps I should try with SSH?

its / instead of :
https://gitlab.com/co-bordism/manim.git

Just pushed your typofixes! Thanks much! I think this manual PR will work. Next time please make sure to include the same two lines of instructions ;)


Fix selection handlers height for BasicTextField

Describe proposed changes and the issue being fixed
Fixes https://youtrack.jetbrains.com/issue/CMP-6634/iOS.-BTF2.-Selection-handlers-looks-wrong
Testing
This should be tested by QA
Release Notes
Fixes - iOS

(prerelease fix) Fix selection handlers height for BasicTextField on iOS

@MatkovIvan ,

Was it broken in all cases?

What do you mean here? Selection handlers was broken on BasicTextNode.

Also, I guess we should stop changing common without a strong reason in fork. Such changes should be merged in AOSP first. Release blocker emergency is an exception of course.

Current implementation of handlers should be upstreamed as well, so both changes should go together.

Also №2: no tests

I will add some

Current implementation of handlers should be upstreamed as well, so both changes should go together.

I've already upstreamed this year - https://android-review.googlesource.com/c/platform/frameworks/support/+/2981911
Did I miss something and we changed this again after that?

@MatkovIvan , to display iOS-like selection handlers, we're relying on line height: https://github.com/JetBrains/compose-multiplatform-core/blob/44ed9b7c3e4ee66c583196baca38e300e91b84d7/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionHandles.kt#L83
This also good to have in AOSP.

Lineheight wasn't upstreamed. Such changes are fine util upstreaming


How to generate a source with only main sequence stars?

Firstly, I built stellar populations  and drew HR-diagram of the stellar evolution stages that interest me.

Then I wanted to generate a source with only the main sequence star, and I used the following code, but there were errors. How can I input the values of labels to obtain the desired results?

Thank you very much for your help!

Hey @PaulLiu666 – I think the simplest approach would be to build the source object from the ground up:

generate a stellar population and use the MS-star boolean mask to get the stellar mags (like you did to make the figure)
generate xy positions for each star using sersic_xy
Use the xy positions and mags to initialize a Source object.

If your end goal is to simply create an RGB image of the source, the observe method of Imager objects have an optional mask argument for selecting the stars you want to inject.
This is how we made the figure below in the ArtPop paper:

The script for making this figure is here.

@johnnygreco Thank you very much!


Home Assistant Media Players

This adds on to #166 to add Media Players to the mix.
Your media players can now be exposed via HomeKit. They support on/off and volume.
Read the header of the shim to learn more.

/cc @balloob to sanity check my expectations when talking to media players


Fetch all fields

Is there a way to fetch all fields, including the relational fields, with prisma client?
Currently, relational fields have to be included explicitly in the query but it doesn't work if the model definition is not known by the client beforehand.
One use case is to dynamically display entries of different models in tables.

Hi @ragnorc
I struggle a bit to understand how you would go about using that dynamic result. Would you mind sharing a bit more details about what you're trying to achieve with this.
Any kind of example code would definitely help.
As per the current description I can't really make a call about how important this would be.
Thank you!

Hi @thebiglabasky,
I would like to be able to display all entries with all their fields for a given model, without explicitly specifying the fields.
So something like this:
´´´prisma.books.findMany({
select: "*"
})´´´

I understood that part but I wonder what you expect out of such a query depending on the model and the use case behind, versus using a raw SQL query?

Can you maybe show an example of a) what is currently returned by default @ragnorc, b) what you can access if you know about the relation names, and c) what you would want to get returned if you request is implemented?


Be able to run simulation without GUI and still save results/constraints to file for later display.

Simulations with GUI can be slow to run. It might be worthwhile for running multiple simulations in a row, evaluating performance of the simulation, being able to run the simulation in the background.

this is being closed as a non-issue, we are addressing the performance part of the simulation with other cards

this is being closed as a non-issue, we are addressing the performance part of the simulation with other cards


Make LoggerPlugin keep track of the exception's code and previous exception

When LoggerPlugin catches a thrown exception, it modifies $message, and throws a new Swift_TransportException.  Previously, it only provided $message to the Swift_TransportException constructor.  Now, it will also pass the code and previous exception, so no information will be lost.
Also, it will append the code to the log message.

Thank you @timewasted.


Ensure cluster disk type used for root EBS volume and if gp3 used specify throughput

As confirmed with Mark Csepke gp3 requires 250MB/s throughput.  gp2 does not require this to be set.
Also use the cluster_disk_type variable is not applied to the root block device volume type. So even if you specify gp3 you still get a gp2 root volume.
I've raised a pull request to rectify (https://github.com/rubrikinc/terraform-aws-rubrik-cloud-cluster-elastic-storage/pull/5)

Fixed by #5


use denseflow

how to extract optical flow of a list of videos
denseflow test.txt -b=20 -a=tvl1 -s=1 --saveType=jpg -v
" does not exist!
check init param error.

how to extract RGB frames
denseflow test1.avi -s=0 -v
"test1.avi", frames ≈ 312
extracted frames of video "test1.avi", 312 frames
1 videos (312 frames, 0 tvl1 flows) processed, using 0.858s, decoding speed 363.636fps, flow speed 0fps

could you provide more info?

what's the error in item 1
what's the error in item 2

How should I use DenseFlow to generate the optical flow of the test video-list:  (1). denseflow test.txt ******* , How should " **** " be set. (2)  Which folder should I put my videos of test.list in.

. How should I use DenseFlow to extract RGB frames:  denseflow test.avi  ******* , How should " **** " be set.

I know this is a low level question, but I really can't seem to handle it. Thank you very much indeed.

I updated the examples in the README, https://github.com/open-mmlab/denseflow/blob/master/README.md#usage
Does that help?

Should  the path be the absolute path of a video? What do mean by class? Should I create a folder for every video?
I have used the videolist as
"/home/x/app/work/test4.avi
/home/x/app/work/test3.avi"
which put two videos under a same folder.
I also used the videolist as
"/home/x/app/work/class1/test1.avi
/home/x/app/work/class2/test2.avi"
which create two folders for two different videos, but it didn't work.
I notice you update the parameter -cf, should this parameter equal to something such as -cf=....
Thanks you a lot!


fix SpaceDapp

build fix for g's PR

when we did this for the channel metadata we supported a string or json, see parseChannelMetadataJSON - will this api change break existing spaces?


chore: Update deps based on highlight with master version of starter

strange gatsby's not on this yet with their starter blog

https://github.com/JackHowa/marathon-run-log/security/dependabot/package-lock.json/highlight.js/open
but this is a general upgrade
still interesting how they updated typography and wordpress theme styles

looks good!


Rename min_lp_stake in assets to quantum

Cover this spec: https://github.com/vegaprotocol/specs-internal/pull/798/files

@jeremyletang - is this a duplicate of: https://github.com/vegaprotocol/vega/issues/4621
If so I will close the above and replace with this one


Allowing falsy entries in json data

issues #6

Coverage decreased (-0.04%) to 96.591% when pulling 486589d967f004fdb4717036a0fcea25117f36a0 on Danieth:master into 8f4d0b5a9ae92487b1f714cfeaa997901f148292 on abdennour:master.


Remove unnecessary notification

Follow-up for #1069

I agree with this change.
But there is one issue in Ledger profile creation flow, there is no Terms and Conditions & Privacy policy option. This option should be added in Ledger profile creation flow


Optional route parameters

Hi guys!
There any way to pass optional route parameters? Something like this...
'/users/:id?': User

Tks!

Afraid not, you have to explicitly declare the with and without routes:
{
  '/users'    : User,
  '/users/:id' : User
}

@volnei Is this good to close now?

Yeap!! Thanks!!


Fix exit on redirect()

This code modify the system/url_helper.php before test and rollback it after the test.

Hi Zahid,
Thank you for taking the time to make the patch. Your code looks really clean and readable. And that's not the first time I've seen that from you.
 And your solution is to make the module modify the AUT. That's a bold approach. Even too bold. Because, you see, when you comment out an exit statement you have to compensate for that by returning from that function immediately and from every function in the call stack in turn. And that's a LOT of work and therefore probably in a wrong direction.
If we can't have a more meaningful dialog with the runkint sandbox, e.g. by letting the rest of the test run past the exception that is thrown, I'd say we better leave this off and pass that hot potato to the runkit module.

Thanks. It's a very valuable feedbacks. And it will be very influential for my experience. Actually, i really need more feedbacks like this. Very helpful.
And you're right. It looks like it's too expensive and too risky to change the CI file system directly. So, just let the runkit that handles it. Thats it.
I'll wait for the next release.


Allow to expose multiple executable commands from a single docker image

Why
Google Cloud SDK, for example, contains multiple executable files -- bq, gcloud, and gsutil.
Without being able to expose each commands (meaning create files in /usr/local/bin), we have to create individual docker images for them, which is ridiculous.
What
So here's my naive suggestion:
# Specify which commands to expose:
LABEL io.whalebrew.config.commands '["bq", "gcloud", "gsutil"]'

# And to configure volumes and ports:
LABEL io.whalebrew.config.command.bq.volumes ...
LABEL io.whalebrew.config.command.bq.ports ...
LABEL io.whalebrew.config.command.gcloud.ports ...
...

But it may brings a sort of complexity,  wanna hear ur opinion.

Yes, this make it rather complicated. I rather like the idea of enforcing the concept of a package == a command. Ideally, they'd be the same name too, which reduces the cognitive overhead of trying to figure out the name of the command you just installed, and make it much easier to discover commands you want to install.
How about just using separate packages for the Google Cloud packages? brew install gcloud and brew install kubectl, in the case of https://github.com/whalebrew/whalebrew-packages/pull/23.

Thanks for the comment.
Turned out that a single executable and aliases are all I needed.
And supposedly the problem I had was not meant for whalebrew to solve.
#!/usr/bin/env bash

set -eu
set -o pipefail

docker run \
  --rm \
  -it \
  -w /workdir \
  -v `pwd`:/workdir \
  -e "K8S_SERVER=${K8S_SERVER:-}" \
  -e "K8S_TOKEN=${K8S_TOKEN:-}" \
  google/cloud-sdk:latest \
  "$@"

alias gcloud='google-cloud-sdk gcloud'
alias gsutil='google-cloud-sdk gsutil'
alias bq='google-cloud-sdk bq'
alias kubectl='google-cloud-sdk kubectl'


[MdListOption] value always boolean, selectChange/deselected events don't fire

Bug, feature request, or proposal:
MdListOption's output EventEmitters selectChange, and deselected do not fire when the item is selected/deselected.
What is the expected behavior?
They should activate the angular expression bound to them.
What is the current behavior?
Here's the code block I'm working with:
<md-selection-list class="selection-content-list">
    <md-list-option class="list-item" (selectChange)="selectedItem($event)" (deselected)="deselectedItem($event)" [disabled]="selectionItem.disabled" *ngFor="let selectionItem of (elements | async)">
        <md-icon mdListIcon>folder</md-icon>
        <h4 mdLine>{{ selectionItem.name }}</h4>
    </md-list-option>
</md-selection-list>

The items visually update when being clicked on and off.
The MdSelectionList's selectedOptions variable updates properly.
The selectChange and deselected EventEmitters are never activated.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular Material 2.0.0-beta.10
Is there anything else we should know?
Looking at the current code, it looks like they aren't ever used or references apart from their declarations.
The focus and destroyed events seem to emit fine though.
Also the value variable for MdListOption is coerced to a boolean value so even using selectedOptions doesn't make the MdListOption useable.

A plunk is always useful: https://plnkr.co/edit/6y5tPM?p=preview

I updated your plunk to show the two issues, the second issue being all values being coerced to a boolean.
https://plnkr.co/edit/hfo1kUlv7zxGioL1y72C?p=preview
The second issue probably belongs in it's own bug report, but its a 1 line fix in selection-list.ts:
...
@Input()
get value() { return this._value; }
set value( val: any) { this._value = val; }
...

The EventEmitter fix is also straight forward:
...
  toggle(): void {
    this.selected = !this.selected;
    this.selectionList.selectedOptions.toggle(this);
    this._changeDetector.markForCheck();

    if (this.selected) {
      this.selectChange.emit({option: this});
    } else {
      this.deselected.emit({option: this});
    }
  }
...

When I get a chance (and figure out how) I'll submit a pull request for that/those fixes.

If it's intended to work like checkboxes, the value will always be a boolean. The actual value would be accessible via the selectChange method's $event.

Yea, I think someone just made a copy/paste error. The value's type is set to "any" but it gets coerced just like the setter below it:
 private _selected: boolean = false;\
 private _value: any;

...

@Input()
 get value() { return this._value; }
 set value( val: any) { this._value = coerceBooleanProperty(val); }

 @Input()
 get selected() { return this._selected; }
 set selected( val: boolean) { this._selected = coerceBooleanProperty(val); }

As I said before this is a separate issue that probably belongs in it's own bug report since it effectively makes the Selection List a checkbox.

I've also noticed that when a MdListOption is already selected when it initially loads (has an @Input [selected]="true") then its MdSelectionList.selectedOptions.selected are incorrectly populated, i.e. it seems to add the options to the selected list when it is clicked and becomes deselected.
@dereekb Have you noticed anything similar and is the issue I'm describing something that will be fixed with the changes in you PR?

@glampr I do recall running into that issue come to think of it and don't think there is a unit test for that case.
In my case I was already making a specific controller/wrapper for MdSelectionList so I worked around it by setting the values after they were added to the views to avoid running into that issue, but initially I did try to set selected through the *ngFor loop and initially selected items weren't working like you described.
When I get a chance I'll add a new unit test to test against it. Is there a bug report for it?

@dereekb as far as I can tell there is no bug report for this.
Do you want me to create a separate issue?

Yea, I think that would be a good idea since this issue has been resolved.

@dereekb created issue #7183 just in case you want to follow it.

Closing as this issue is resolved as noted above.

still does not firing selectChange/deselected events.


Update app-service-deployment-slots-settings.md

Added an additional line to Settings that aren't swapped ..  "Settings that end with the suffix  _EXTENSION_VERSION "

@rmarr2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

outdated PR as the content is already updated with the suggestion. @rmarr2 #please-close


NEW identifier not being parsed

For example,
ON WRITE OF Customer NEW new-cust OLD old-cust DO:
    a += 3.
END.

the NEW identifier gets parsed as two different nodes: NE and W:

Registered: https://github.com/usagi-coffee/tree-sitter-abl/issues/83

on_statement is not fully implemented from tree-sitter abl side. Need more complicated examples.

@gustason can we check the current status of this and decide what tis missing?


Add filter for names in multiplayer

I have seen some pretty rude names

Going to table this until after the account system is created and do some sort of manual review. (I'd maybe seek help from the community on this part, not sure how much time I would have to review usernames. What I have in mind is some sort of "report username" button). Judging by what I could find on the internet, there's too many issues with doing this algorithmically, and it would be very easy to circumvent.


java.lang.IllegalArgumentException: One of streamARN or inputFileName must be provided getting this error when Lambda is calling

Hi Team ,
I need to fix the issue, we are recieving the below error when I am trying to call the Java Lambda. Let me know what its missing , This is working fine in another environment
2019-11-30 04:23:11 INFO  KVSTranscribeStreamingLambda:98 - received request : streamARN=null, startFragmentNum=null, connectContactId=null, languageCode=Optional.empty, transcriptionEnabled=false, saveCallRecording=false
2019-11-30 04:23:11 INFO  KVSTranscribeStreamingLambda:99 - received context: lambdainternal.api.LambdaContext@15a34df2
2019-11-30 04:23:11 ERROR KVSTranscribeStreamingLambda:123 - KVS to Transcribe Streaming failed with:
java.lang.IllegalArgumentException: One of streamARN or inputFileName must be provided
at com.amazonaws.kvstranscribestreaming.TranscriptionRequest.validate(TranscriptionRequest.java:121)
at com.amazonaws.kvstranscribestreaming.KVSTranscribeStreamingLambda.handleRequest(KVSTranscribeStreamingLambda.java:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)

Hi, according to the error log line it looks like you are missing the stream arn and input file name. Those should both be passed to the lambda function in the kvsConsumerTrigger function.


Add fill as prop

Notes for Reviewers
This PR fixes #
Here we can pass custom fill color to icon we want accordingly where this component will be used
Signed commits

[ ] Yes, I signed my commits.

@nebula-aac i am trying if this works then i would be able to pass theme reference to the prop while using in meshery


cannot download tar or zip for a repo when using bootstrap3 as the theme

I am using the latest current release (.0.5.0). When I switch to the bootstrap3 theme I cannot download tar or zip for a repo. It works when using the default theme.

Same issue as #628


Typo: fixed securityContext.userName()

updated securityContext.getUser() to securityContext.userName()
Updated updated copyright to 2021

I have force merged this PR, as the change is a one liner in docs, and we have too many PRs waiting for pipelines.


Doesn't work with server side rendering

I'm getting ReferenceError: window is not defined.  I think this is because I'm rendering server side first.

@krisfields published a fix. I'm not familiar with server side rendering though, haven't actually tested it real project. Did it help?

Yes!  Thank you.


Getting a window native pointer

Hi,
I'm working on a project that require advanced window feature and I wondered if there was currently a way to get the native pointer of a window to apply special window styles (this and this), and also set the clearing color to transparent, right now if I try to set it to transparent I just get a black background.
I'm trying to make a transparent, on top and clic-through window.

This bug should be fixed in the newest version of Ultraviolet, which I've just pushed to NuGet.


central ingress tls

Motivation
This is part of the feature #258: New addon security for the K2s cluster and is addressing the TLS termination at Ingress (both: NGINX and Traefik)
This PR makes it possible for more web applications hosted on K2s to shall share one common ingress host, and expose their functionality under relative paths: k2s.cluster.net
Both ingress-nginx and traefik addons come now with a central TLS Ingress with no paths, but with a tls entry matching the mentioned hostname.
All Web UIs of our AddOns contain now a second ingress route, which is merged with the central one, so that each UI is now available under 3 URLs:

Dashboard:
http://k2s-dashboard.local
https://k2s-dashboard.local
new: https://k2s.cluster.net/dashboard/
Logging:
http://k2s-logging.local
https://k2s-logging.local
new: https://k2s.cluster.net/logging/
Monitoring:
http://k2s-monitoring.local
https://k2s-monitoring.local
new: https://k2s.cluster.net/monitoring/

All TLS endpoints are secured with a certificate generated by cert-manager, which is installed with the security addon. The configuration files and scripts of all other addons are desined in such a way that they work regardless of the installation status of the security addon.
Security can be enabled at the end, at beginning or in between. As soon as it is enabled, secure Certificates will be used for all TLS-terminated ingresses.
Modifications
These addons and their e2e tests where updated:

dashboard
logging
monitoring
ingress-nginx
traefik
security

Verification
k2s/test/e2e tests are adapted / extended for addons mentioned above

Added @achimkist as reviewer since he has more insights into the manifests :-).


ESDL to CSV

Convert ESDL to GML + CSV and back
(Most likely a python script on another repository.)

[ ] #89
[x] #91
[ ] Handle aggregated attributes

e.g. variable cost can be a sum of different costs

[x] #102

(maybe part of #91?)

See also #63 for more info/discussion.
Test cases:

[x] #100
[x] #111
[x] #101
[ ] #112

We need to reconsider this epic and how we're doing our data-handling and scenario building.
Need to talk to Suvayu about SpineToolbox and see what ESDL/EDR brings on top of data-sharing.

Blocked until we figure out #237

While two issues are still relevant, I'm closing this Epic as we're now using #289.


Highlighted code blocks are invisible to Safari's Reader Mode

For some reason, Safari doesn't pick up on fenced code blocks which are highlighted by default via Pandoc conversion. Converting with the --no-highlight option solves this issue, but obviously renders code blocks without any syntax highlighting.

To clarify, I don't even use syntax highlighting except for code comments, so this may be ignored for a while.

https://pandoc.org/filters.html
This looks to be a solution for getting this taken care of. The logic involves simply stripping <a> tags from anything inside a <code> tag, but this seems like it's much easier said than done. The downside of this approach is having to manage a Haskell environment on the server.
Actually now that I'm looking at it more in-depth, filters only work before compiling to the output format, so I'm not entirely sure this would even work.

Pandoc released a new version (2.7.3) which I believe uses an updated Skylighting library. This may or may not fix this problem.

Confirmed fixed in pandoc 2.7.3


some way for admins to manage qualifiers

we had a player submit qualifiers but drop in S3 which never got represented anywhere, and just had to be remembered manually when constructing brackets
we also had a player submit an illegal qualifier by accident in S4, and there was no way to delete that
these are probably 2 separate cases really, although a "delete qualifier" tool would allow you to solve the first problem, albeit in a somewhat clumsy way

112abd7 adds a web ui for deleting quals


ChartBuilder class supports customized headers for type 'repo'

I've added a header field to ChartBuilder so that it allows users to pass in authentication information to access the charts repo.

@flaper87 @yanivoliver Can you review my pull requests? Thanks!

Looks good. Thanks for the PR!


Change opensearch default password

I deployed opensearch on eks successful but i want to customize the default password which is now admin:admin i cant see property for that in the values.yaml reference.

Hi @peternied wonder if this is something that Security Team needs to check on.
Thanks.

Hi @peternied wonder if this is something that Security Team can help.
Thanks.

Hey @ibrahimjelliti you can try something like this https://github.com/Opster/opensearch-k8s-operator/blob/main/docs/userguide/main.md#custom-admin-user and then update the internal_users.yml secret.
python -c 'import bcrypt; print(bcrypt.hashpw("admin123".encode("utf-8"), bcrypt.gensalt(12, prefix=b"2a")).decode("utf-8"))'

[Triage] Hi @ibrahimjelliti, thank you for filing this issue. For more assistance in configuring your cluster settings please visit the OpenSearch forum.

@prudhvigodithi I hash a password using the Python script, and I updated the admin user hash in helm values
After I upgrade the OpenSearch helm chart and attempt to log-in with admin:<CUSTOM_PASSWORD>, I always get 401 Unauthorized.
securityConfig:
  config:
    data:
      internal_users.yml: |-
        _meta:
          type: "internalusers"
          config_version: 2
        ## Internal users
        admin:
          hash: "$2a$12$t7S16S/Gz8onn9Bo31LlyeIrXWMJJlE0F2HaSkDv22hBylqyToPE6"
          reserved: true
          hidden: false
          backend_roles:
          - "admin"
          attributes: {}
          description: "Admin user"
          static: false

@ibrahimjelliti have to tried terminating the OpenSearch pods (rolling restart)?

I rolled a new release with the helm upgrade ... -f values.yml
but I can try also with rollout restart

I find this while following the node logs, yet I can authenticate to the cluster endpoint with admin:admin
{"type": "server", "timestamp": "2023-07-10T22:03:39,562Z", "level": "WARN", "component": "o.o.s.a.BackendRegistry", "cluster.name": "opensearch-cluster", "node.name": "opensearch-cluster-master-0", "message": "Authentication finally failed for admin from <IP_ADDRESS>:52260", "cluster.uuid": "ybe8lbVIQfqVOuvUcFXCKA", "node.id": "sN04VXeURROEG9pLhKos3g"  }

Please carefully read the documentation I linked in this comment: https://github.com/opensearch-project/security/issues/2982#issuecomment-1629504872
If the .opendistro_security index is already initialized, you need to run securityadmin.sh in order to load subsequent configuration file changes into the .opendistro_security index.

Closing as it seems like there is no underlying issue. Like @scrawfor99 points out, the forum is a great place to get troubleshooting help, as it then becomes part of the knowledge base that others can use to fix similar problems.

Hello Folks,
I am trying to change admin password using internal_user.yml ways but still , nothing is happing .
Could you please help me @ibrahimjelliti @davidlago @prudhvigodithi @peterzhuamazon @aetter
github link - https://github.com/opensearch-project/helm-charts.git
my updated values.yaml files
securityConfig:
  enabled: true
  path: "/usr/share/opensearch/config/opensearch-security"
  actionGroupsSecret:
  configSecret:
  internalUsersSecret:
  rolesSecret:
  rolesMappingSecret:
  tenantsSecret:
  # The following option simplifies securityConfig by using a single secret and
  # specifying the config files as keys in the secret instead of creating
  # different secrets for for each config file.
  # Note that this is an alternative to the individual secret configuration
  # above and shouldn't be used if the above secrets are used.
  config:
    # There are multiple ways to define the configuration here:
    # * If you define anything under data, the chart will automatically create
    #   a secret and mount it. This is best option to choose if you want to override all the
    #   existing yml files at once.
    # * If you define securityConfigSecret, the chart will assume this secret is
    #   created externally and mount it. This is best option to choose if your intention is to
    #   only update a single yml file.
    # * It is an error to define both data and securityConfigSecret.
    securityConfigSecret: ""
    dataComplete: true
    data:
      internal_users.yml: |-
        _meta:
          type: "internalusers"
          config_version: 2

        admin:
          hash: "$2y$12$XDdc42zlZ.DhOj44X5zT.OnSxjGj5v7MEUllUG1euFG3wDp/AUGy2"
          reserved: false
          backend_roles:
          - "admin"
          description: "Demo admin user"

        kibanaserver:
          hash: "$2y$12$XDdc42zlZ.DhOj44X5zT.OnSxjGj5v7MEUllUG1euFG3wDp/AUGy2"
          reserved: false
          description: "Demo OpenSearch Dashboards user"

Please Help

@ashutoshanshu07 Please take a look at the already provided answer
If you need further support, please open a new thread in the OpenSearch Forum


Add missing algorithm pages

Fixes #1673
Adds the missing pages to the mega menu and table of contents.
For some reason the Quantum Walk Search Algorithm page isn't rendering on my machine... can someone check if this is something that needs to be fixed externally?

@micpap25 thank you!
@frankharkins is the order content/pages as you need them?
there is an unrelated issue with the Quantum Walk notebook which is causing it to not render properly. that could/should be tracked with a separate issue and PR. thanks!

Sorry I missed this, @micpap25 is there a reason to put the hidden shift problem above Grover's algorithm?

I thought it made the most sense since the hidden shift problem directly builds on QFTs and so in terms of delivering content it would be better to cover it before Grover's algorithm.


Rviz movet planning plugin

Hi,
I am having issues loading the moveit planning.
The namespace for the robot_description makes it not possible to load it in the display menu.
What am I doing wrong?
thanks,
Guy

hi @phuicy , could you tell me how you launch the system, what branch you are on etc.
Thank you!

Sorry this is my problem, i have now resolved. It was a borked install.

cheers, thank you for coming back @phuicy . Please re-open or create another issue if you encounter other problems.


[enhancement](sequence col) add session variable to skip sequence column check while INSERT INTO

Proposed changes
Issue Number: close #xxx
For unique key tables using a sequence column, the INSERT INTO operation requires a sequence value to be provided for each row.
This PR add a new session variable require_sequence_in_insert to control this behavior.

run buildall

run buildall


Implement SelectionArea single click/tap gestures

This change collapses the selection at the clicked/tapped location on single click down for desktop platforms, and on single click/tap up for mobile platforms to match native.
This is a change from how SelectionArea previously worked. Before this change a single click down would clear the selection. From observing a native browser it looks like when tapping on static text the selection is not cleared but collapsed. A user can still attain the selection from static text using the window.getSelection API.
https://jsfiddle.net/juepasn3/11/ You can try this demo out here to observe this behavior yourself. When clicking on static text the selection will change.
This change also allows Paragraph.selections to return selections that are collapsed. This for testing purposes to confirm where the selection has been collapsed.
Partially fixes: #129583
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

Thanks for the reviews @chunhtai and @justinmc. I was giving this a final look and may have noticed something I missed.
In the test below when clicking between different selectables the selection is not cleared. Before this pr every click/tap would clear the selection, but now every click/tap is setting the selection. Should we be clearing the selection on the selectables that do not contain the click/tapped location? I'm leaning towards that we should, but what do you both think?
Some more context, on the native browser it seems like the selection is nulled for a node when clicking on another node, you can observe this behavior in this demo https://jsfiddle.net/mwt7fp6v/ . When clicking on a new node, in the case of the demo <p>, the other paragraphs do not contain a selection when using Selection.containsNode(), only the paragraph at the tapped location contains the collapsed selection.
    testWidgets('Test collapsing selection at multiple selectables', (WidgetTester tester) async {
      await tester.pumpWidget(
        MaterialApp(
          home: SelectableRegion(
            focusNode: FocusNode(),
            selectionControls: materialTextSelectionControls,
            child: const Column(
              children: <Widget>[
                Text('How are you?'),
                Text('Good, and you?'),
                Text('Fine, thank you.'),
              ],
            ),
          ),
        ),
      );
      final RenderParagraph paragraph1 = tester.renderObject<RenderParagraph>(find.descendant(of: find.text('How are you?'), matching: find.byType(RichText)));
      final TestGesture gesture = await tester.startGesture(textOffsetToPosition(paragraph1, 2), kind: PointerDeviceKind.mouse);
      addTearDown(gesture.removePointer);
      await tester.pump();
      await gesture.up();
      await tester.pumpAndSettle();
      expect(paragraph1.selections[0], const TextSelection.collapsed(offset: 2));

      final RenderParagraph paragraph2 = tester.renderObject<RenderParagraph>(find.descendant(of: find.text('Good, and you?'), matching: find.byType(RichText)));
      await gesture.down(textOffsetToPosition(paragraph2, 5));
      await tester.pump();
      await gesture.up();
      await tester.pumpAndSettle();
      expect(paragraph1.selections[0], const TextSelection.collapsed(offset: 12)); // should this be null?
      expect(paragraph2.selections[0], const TextSelection.collapsed(offset: 5));

      final RenderParagraph paragraph3 = tester.renderObject<RenderParagraph>(find.descendant(of: find.text('Fine, thank you.'), matching: find.byType(RichText)));
      await gesture.down(textOffsetToPosition(paragraph3, 13));
      await tester.pump();
      await gesture.up();
      await tester.pumpAndSettle();

      expect(paragraph1.selections[0], const TextSelection.collapsed(offset: 12)); // should this be null?
      expect(paragraph2.selections[0], const TextSelection.collapsed(offset: 14)); // should this be null?
      expect(paragraph3.selections[0], const TextSelection.collapsed(offset: 13));
    });

It would be good if we can clear out selection in other unrelated selectable, but I think that may be hard to do? or may make the code messy.
If we don't clear our selection on unrelated selectable, there may be something we should think about.

This may affect how we are going to implement text cursor accessibility settings See https://support.google.com/chrome/answer/10129654?hl=en

Although I don't think this will be a problem because we have selectionGemeotry to tell us exactly where to paint the text cursor.

we may one day want to implement onSelectionChange in Text widget. Developer won't be able to tell whether the text does receive active collapsed selection vs no selection.

My suggestion would be if there is a clean way to clear out selection, then we should go for it.

@chunhtai Thank you for the suggestion! I agree that if we can clear the selection we probably should. I think there are a few ways we can approach this and have included some of them in this commit https://github.com/flutter/flutter/pull/132682/commits/8b33e9773fd4b3ce59ce245403fb13a426580229#diff-3c64e39c4f244a98f70ed8374eabfb2a4d4eeca07cd90a8f90abe4bc226bfe7f .
The options the following:

A new CollapseSelectionSelectionEvent (or CollapseSelectionEvent) . This will set both selection edges and clear the selection on all other selectables. Similar to SelectWordSelectionEvent.
Implement a private method to clear all other unrelated selections /or selections that do not fall within the currentSelectionStartIndex and currentSelectionEndIndex range of the selection delegate. It would be used like _selectionDelegate.handleClearAllOtherSelections() after we update the start/end edge to collapse it. This seems like a departure from dispatching selection events so this does not sound so clean. Another potential avenue we can take is create a new selection event ClearAllOtherSelectionEvent to do this but I am not sure if such an API makes sense.

Some options that do not work but I considered:

Calling _clearSelection() before updating the start/end edge to collapse the selection. This does clear the selection but after when we dispatch a SelectionEdgeUpdateEvent it dispatches to every selectable until reaching the target, so the selection is set once again in unrelated selectables.

Let me know what you think. Thanks!

If we would like to clear out other selectable, I think this would also apply to select word/line/paragraph.

A new CollapseSelectionSelectionEvent (or CollapseSelectionEvent) . This will set both selection edges and clear the selection on all other selectables. Similar to SelectWordSelectionEvent.

How do you clear other selectable? I imagine you will do something very similar to (2) to clear the selection. I think implementing 2 is fine as long as we keep the logic internal to MultiSelectableSelectionContainerDelegate and keep it self-contain. WDYT?

Yes it would be implemented very similar to (2). I think that ideally setting the start and end edge to the same position would collapse it by default, and not leave any ongoing unrelated selections. What if we implement this private method, but instead of calling it in _collapseSelectionAt we call it in _initSelection and _adjustSelection. This way we will clear any inactive selections when setting the start/end edge. Something like this https://github.com/flutter/flutter/pull/132682/commits/936a2d5b97c55fded9975defbad49bcbf580b87b . If this does not seem reasonable then i'm okay calling the private method from _collapseSelectionAt. Let me know what you think.

_collapseSelectionAt calls selectStartTo and selectEndTo. The MultiSelectableContainerDelegate is then responsible for flushing the unrelated selections when each edge is updated (when a SelectionEdgeUpdateEvent is dispatched).

This PR is ready for another review. The changes since the last review are isolated to MultiSelectableSelectionContainerDelegate._adjustSelection. There was an issue where if we are adjusting a selection edge that is not inside the current viewport, the selectable tree walk would fail and the selection wouldn't be what the user expects. This is due to the transform matrix of a render object being set to the zero matrix when the render object is not visible, so any calculations done using this transform are invalid.
I have checked for this case, and attempt to start the tree walk at the selection edge that is visible in the current viewport / or start at 0 if neither edge is visible in the current viewport.
    final bool isCurrentEdgeWithinViewport = isEnd ? _selectionGeometry.endSelectionPoint != null : _selectionGeometry.startSelectionPoint != null;
    final bool isOppositeEdgeWithinViewport = isEnd ? _selectionGeometry.startSelectionPoint != null : _selectionGeometry.endSelectionPoint != null;
    // Determines if the edge being adjusted is within the current viewport.
    // If it is not, we attempt to locate the selection edge starting from the opposite end.
    // In cases where neither edge is within the viewport, the search for the new edge position
    // begins at 0.
    int newIndex = switch ((isEnd, isCurrentEdgeWithinViewport, isOppositeEdgeWithinViewport)) {
      (true, true, true) => currentSelectionEndIndex,
      (true, true, false) => currentSelectionEndIndex,
      (true, false, true) => currentSelectionStartIndex,
      (true, false, false) => 0,
      (false, true, true) => currentSelectionStartIndex,
      (false, true, false) => currentSelectionStartIndex,
      (false, false, true) => currentSelectionEndIndex,
      (false, false, false) => 0,
    };


Sandbox in a Box Challenge Writeup

Hi jeFF0Falltrades,
I completed your challenge today and wanted to provide my writeup to add to the Wall of Fame under the user garr3ttmj.
Here is the link: https://github.com/garr3ttmjo/Writeups/blob/main/Sandbox in a Box/README.md
Also wanted to say thank you for the time you spent creating your videos and the challenge. This was my first exposure to malware analysis and you provided a great walkthrough in setting up the VMs and your approach to analyzing malware.

And I want to say: Thank you for taking the time to make this 11/10 write-up - Great explanations and walk-through, and congrats on all you have learned!
I always ask those who take the time to go above and beyond like this: Is it okay for me to share your write-up on my socials (YouTube, Mastodon, LinkedIn) as well? I always love sharing these success stories! Truly motivates me to keep making these kinds of courses :smiley:
Well done, and thanks so much for watching - and keep on learning and sharing!
Write-up added in 2b27f6af9d368a8c431fe0ccac469e032a88ea7a !

Feel free to share on whatever you would like, I look forward to enjoying more of your content!

Feel free to share on whatever you would like, I look forward to enjoying more of your content!

Thank you so much for the kind words. And please let me know if you have a LinkedIn or other profile you'd like linked to in the shout-out!

Here is my LinkedIn - https://www.linkedin.com/in/garrett-jones-073649137/


fs.inotify.max_user_watches not inhereted by containers

Environmental Info:
K3s Version:
k3s version v1.23.6+k3s1 (418c3fa8)
go version go1.17.5

Node(s) CPU architecture, OS, and Version:
Linux sserver 5.15.41-gnu-1-lts #1 SMP Fri, 20 May 2022 00:46:45 +0000 x86_64 GNU/Linux
Cluster Configuration:
Single node
Describe the bug:
Setting fs.inotify.max_user_watches to a custom value isn't respected by containers
Steps To Reproduce:

Installed K3s
Customise fs.inotify.max_user_watches in a file under /etc/sysct.d to a high value, e.g. 524288
sudo sysctl -p /etc/sysctl.d and check new value is set by running sudo sysctl fs.inotify.max_user_watches
Containers still crashing, complaining of max_user_watches set to only 1024

Unhandled exception. System.IO.IOException: The configured user limit (1024) on the number of inotify instances has been reached, or the per-process limit on the number of open file descriptors has been reached.

Expected behavior:
New value is respected
Actual behavior:
It looks like the new value isn't applied
Additional context / logs:
The crash is happening running a Jellyfin container
Backporting
:shrug: Maybe

[ ] Needs backporting to older releases

Never mind :facepalm: I was misreading it, I should have been setting watches and instances*, I was only setting watches`