Grep all uses of Translation.GetString()

As part of #336 (transitioning to an xml file for locations) I'm adding <Where> tags to translation keys to state where a translation is used, making it easier for translators (and us) to test updates to translations or quickly filter the translations to a specific feature of the mod.
To do that more quickly I need some way to find out where all the translations are used, something in a text file that lists the Translation.GetString(whatever) along with the .cs file it's used in. In particular, such a file would allow me to sort the lines, so that translation keys which are used more than once will get grouped together.
Example of file format:
Translation.GetString(whatever) /path/to/some.cs
...

If someone has time, and knows how to grep the source, it would be a huge help :)

translation_getString.txt
Here you go 😉

Awesome! thank you!


yii\behaviors\CacheableWidgetBehavior cache widget problem

What steps will reproduce the problem?
widget cache not working properly when your widget have registerJs or registerCss in view
coz cache just keep for HTML result not for JS and CSS.
What is the expected result?
when widget run in cache condition will registerJs and registerCss
What do you get instead?
disable widget cache or manual cache for registerJs or registerCss
Additional info

Q
A

Yii version
2.0.14

PHP version
5.6

Operating system
mac

for your case why not do in init widget?
public function init() {
   parent::init();
   MyWidgetAsset::register($this->view);
}

coz cacheable will run beforeRun event.
but if using registerJs or registerCss will look messy code in widget class
public function init() {
   parent::init();
   $this->view->registerJs(<<<JS
// js code here
JS
);
   $this->view->registerCss(<<<CSS
// css code here
CSS
);
}

for your case why not do in init widget?

Because of I want keep logic of assets registering into views. It's more intuitive.

That's expected. Won't be fixed. Workarounds do exist.

That's expected.

Disagree.
I don't expect that widget can't register css/js resources because of cache.
Register calls must be dynamic in any case (cacheable or not).

OK. We may run everything like that through renderDynamic() in 2.1.

I attached a sample of fixes for the registerJs/Css methods.
I'm worried about this part of the implementation: https://github.com/rugabarbo/yii2/blob/97bb652cc64300e5fe7c8e4406bd34d1f6ee51e9/framework/web/View.php#L409-L420
        if ($this->context instanceof Widget) {
            foreach ($this->context->getBehaviors() as $behavior) {
                if ($behavior instanceof CacheableWidgetBehavior) {
                    $css = var_export($css, true);
                    $options = var_export($options, true);
                    $key = var_export($key, true);
                    $this->renderDynamic("\$this->registerCss({$css}, {$options}, {$key});");

                    break;
                }
            }
        }

It looks like a hack, but I did not find other ways to fix it.
What do you think about this?
If this approach is OK, I can correct other methods to completely fix the problems with the registration of resources by cacheable widgets.

https://github.com/rugabarbo/yii2/commit/998b040784eaae5a1ffab35c9c5e25340cd3bb43 contains other example of possible fix. Just one postRegister() method will be used in the end of each register-method: registerCss, registerJs, registerLinkTag and so on. But this approach looks like even more hack :D

what i'm do now to fix it
class Widget extends Widget {

  public $assets = [
    '\namespace\of\MyWidgetAsset'
  ];

  public function beforeRun($event) {
     parent::beforeRun($event);
     foreach ($this->assets as $asset) {
        $asset::register($this->view);
     }
  }
}

@rockman84 there are many other cases of resource registration:

registerMetaTag()
registerLinkTag()
registerCss()
registerCssFile()
registerJs()
registerJsFile()
registerJsVar()

I think they should work fine for cacheable widgets out of the box.
@samdark
BTW, registerCsrfMetaTags() already uses my approach for tag registration:
https://github.com/yiisoft/yii2/blob/da9cb57eaca79444ffd4fb246263793371d99cbe/framework/web/View.php#L344-L363
This is not much different from my approach: https://github.com/rugabarbo/yii2/commit/97bb652cc64300e5fe7c8e4406bd34d1f6ee51e9
I just have to export the arguments of register functions to renderDynamic() call.

Yes. I think that's OK.

@samdark looks hacky but it's ok in this case I guess.
In fact it's about "caching" a PHP code. Since it's predefined, it's ok for now.

Offtopic
I didn't like inserting a raw PHP into strings, so I have written a php file based cache adapter. It's a mostly cache, but it also contains a dead simple closure-to-raw-php extractor. Just an imagination around renderDynamic()'s possible future.

i agree with @sergeymakinen code looks hacky but since there is no another way for now. its ok

Just for the record I came across this problem today when I used fragment caching in a view file. I was quite surprised to learn here that you get problems when caching any widget that registers js. I'd assume that quite a lot of widgets to that.
Even if the hackish solution is not integrated I'd say there should be big warning signs added in the docs for fragment caching here: https://www.yiiframework.com/doc/guide/2.0/en/caching-fragment


DASHBUILDE-252: CMS perspective UI redesign

Brand new UXD design of the left sidebar in the Content Management perspective.
See video => https://issues.jboss.org/secure/attachment/12425542/dashbuilder_cms_uxdreview.mp4
@ederign @jhrcek Can you take a look please?

Jenkins execute full downstream build

I like the changes a lot! It is much easier to work with perspectives now when both Pages and Navigation are in the same panel and the user doesn't need to switch between them. Creating new navigation trees is more user-friendly and I like a lot that it is not possible to click on an empty custom tree and expand it. Overall, I think this works and looks really good.
Found issues:
CREATING CUSTOM NAVIGATION TREES: I discovered that when creating custom navigation trees or doing any changes in the Navigation panel and saving them continuously, if I once click Cancel in the Save changes? dialog, all the changes disappear and the panel goes back to its very original state. This needs to be fixed so that only the changes that were made after clicking Save for the last time disappear.
I don't know if this is an example of an infinite loop, but I managed to do something similar. If you create two pages with for example the Menu Bar Component, which has the same Navigation Group, it allows you to open the menu infinitely. See the video:
http://file.brq.redhat.com/~kkufova/4.10.2017/screencast-10-04-2017-10-57-38-AM.webm
Do we want to handle cases like this?
I noticed that when an infinite loop happens, the reason in the warning message is no longer displayed. Is this on purpose? If so, the word Reason: should be probably removed. :-)
When you want to pass an empty tree as a Navigation Group when adding a Tile Navigator Component, a message Please, make sure the group configured is not empty appears. I think this is great, but it only works like this for the tiles; for all the other components (Tab List Component, Tree Navigator Component, Menu Bar Component) the component is created anyway and states No items found. Could we unify this behavior?
Notes:
It happened to me that the dialog Save changes? disappeared and never showed up again even though I was doing some changes and that it was only possible to add one random perspective into the tree. Also, that the Tile Navigator Component didn't work at all for custom trees (nothing was displayed) and worked badly for the default Top Menu tree (breadcrumbs were accumulating but nothing was displayed). However, I don't know how to reproduce any of these issues, as it fixed itself after I did some clicking (and accidentally deleted all my work). Beware of this behavior. :-)

@jhrcek @kkufova I've applied the changes suggested above.

"The changes that were made after clicking Save for the last time disappear"

Fixed.

False infinite loop. Do we want to handle cases like this?

This is not a real infinite loop as the application never goes out of control. This is a kind of weird configuration scenario which I'm not sure it might be considered an error.

"Please, make sure the group configured is not empty".  Could we unify this behavior?

Done.

It happened to me that the dialog Save changes? disappeared and never showed up again.

I didn't happened to me. But please, keep trying to reproduce it.

Collapse of the "Navigation" panel.

Done.
Here is an updated video with those changes => https://issues.jboss.org/secure/attachment/12425666/dashbuilder_cms_uxdreview2.mp4

@dgutierr
Thank you for the fixes! I really like that now it is possible to collapse the panels by clicking on the panel names. I tried all the scenarios that didn't work before and everything is OK.
I have a few questions and suggestions, could you please let me know what you think?
Regarding the naming of individual pages; I named my custom pages Page no. 1, Page no. 2, Page no. 3 and Page no. 4, but when I want to add them to some tree in the Navigation panel, only the numbers are displayed:

Does this happen because the pages are incorrectly named, or is this a bug? If there are some restrictions on the page names, I think it would be best to not let the user to name the page badly when creating it.
After clicking Cancel in the Save changes? dialog, would it be possible to remember the state of the trees (collapsed or not)? Now each tree closes and the user has to open everything again.
Would it be possible to remove a page from the list of pages to be added to a tree once it has been added to a particular tree? I use the same page in one tree multiple times for the sake of testing, but I cannot think of a scenario in the real world. It would also shorten the list of available pages when creating a complex tree. WDYT?
Why is it possible to add a divider to a tree? It never shows in any navigation component, only in the tree itself in the Navigation panel. Could we maybe remove the dividers completely, if there is no use for them?
If you want me to create a separate Jira for any of this, please let me know.

@kkufova
1.- The page names seems to be a bug => JIRA
2.- Clicking on Cancel collapses everything . It is a bit of extra work to save the expand status for each node but I agree it is worth to give it a try.

A page can be reused as a template in different scenarios. I would not limit the possibilities the user has here.

The nav tree configuration including its dividers is decoupled from the nav widgets. It is up to the widget to display the items under its configured nav group. The thing is that we do not know during the creation of our custom trees which are going to be the widgets using them. As you suggest, we could remove completely the dividers. Only the menu bar widget will be affected as it is the only one supporting them.

@dgutierr
Alright, thanks! Have you already implemented any of the mentioned changes? There is a failing test (NavTreeEditorTest.testNewDivider), so I cannot get the newest .war file to check it.

@kkufova I fixed the newDivider test, my fault sorry.
The latest changes suggested (see 1, 2 above) are not implemented yet.

@dgutierr I tried to check how it works without the dividers but they are still there. Do you want me to create two more separate Jiras (one for the dividers and one for the collapsing) or will we do it as a part of this PR?

@kkufova The dividers should work as usual. They have not been removed nor I plan to do so. I'd like to get more feedback from UXD about it.
As for the collapsing enhancement, I'm working on it. No JIRA needed.

@dgutierr, my fault, I am sorry! Now I see how the dividers are displayed in the Menu Bar Component, I didn't notice it before. I completely agree that we should either leave them as they are, or discuss it with the UX team. I cannot tell which changes in the PR were made at the latest, so I thought based on your message that you were going to remove the dividers. :-)

@kkufova Both outstanding issues fixed.
1.- DASHBUILDE-255
2.- Clicking on Cancel collapses everything
Please, take a look.

@dgutierr
Thanks, works great!
I discovered one more issue with renaming pages. If you create a page (called for example test) with a navigation component and then rename it (i.e. to myPage):

a copy of the page is created below the original page. See:

Then, if you want to add this page (myPage) to a custom tree, the page is displayed under the name before it was renamed (test) and it doesn't offer the selection of a navigation group as it should.
For some reason, the original page then appears again in the Pages panel and cannot be deleted, so the page is now in the panel twice (test and myPage).

Also, if you delete a page that is already used in some custom tree, would it be possible to display some notification or warning that some tree is going to be affected, or remove the page automatically from all trees?

And one more question: could you please explain to me one more time why is the navigation group setting while creating trees needed, when it only overrides the original setting of the page? Now when we have both Pages and Navigation in one place, wouldn't it be enough to be able to set the navigation group only when editing some page and not while editing a tree? I think it would significantly simplify the process unless it offers some additional functionality.
Please let me know if you want me to create Jiras for any of this. These issues do not block this PR.

@kkufova You are right. The renaming of a page is not working well and it is also causing some side effects in the navigation bahaviour. Can you please file a JIRA?
As for page deletion, I've pushed a minor fix to ensure those items linked to a deleted page are removed from the tree editor.
Regarding the nav group setting. The nav item's group (from the global nav tree configuration) is optional. When set, it will overwrite the static nav group configured at the component level. Why is this setting helpful? Basically is a powerful mechanism for allowing the reuse of the same perspective using different navigation entries. As you can see in the https://issues.jboss.org/browse/DASHBUILDE-246 videos, the entries displayed in the nav components are tied to the nav group configured in the nav items. Without this setting you are forced to create different copies of the same perspective if you want to have different perspectives that only differ in the nav entries their nav components show.
Hope it helps.

@dgutierr
Thanks, the deleting pages works really nice. I created a Jira for the renaming (DASHBUILDE-256).

@ederign Can you please take a last look at this PR? QE already approve it so I'd like to have it merged before EOD. ThanXs mate!

@dgutierr
Regarding the DASHBUILDE-257 fix: it works in the beginning, but if you:

first create a custom tree and
then create a very first page

and want to add the page to the tree, there is no option + New Page. You need to create a new tree first for the option to be there.
BUT, if you then delete the page (so there is no page left again), the + New Page option is still there and it doesn't work properly; it shows some perspective called "1" (which cannot be added to the tree) and Perspective not found. Could you please have a look at this?
And could we please handle new bugs in separate PRs next time?

@kkufova I've finished the "+ New page" issue.  Please take a look, everything should work ok now.

@dgutierr
It works fine, thanks!

@kkufova is it ready to approve?


fix: typo in binder

The syntax is hypothetical, but it appears either way the antiquotation pattern should be there (please close if not).

This looks good to me; happy if I merge it @gebner?

Looks good, this is the todo list anyhow.


Probably missed description in Ecto.counting section

In lesson about Ecto in section Counting we have some code only. Maybe we need some small description like:
If we want to count number users that has confirmed account we could use `count/2`:

I'll take care of updating the Russian translation.

@Koziolek could you open a PR for English & Polish?  We'll use that to get the other translations completed. 👍

@Koziolek, how do you look on updating this issue with this format? en, ru and pl translations are already completed.

It's OK for me :)

Japanese translation is done(#444)

Chinese translation is done at #748.


Support comments before strings inside JSX

Hey :wave:
We have an issue with ttag not able to export comments for a string if they are inside a JSX node. (via ttag-cli extract)
cf
function render() {
  return (<>

{
        // translator: this comment is for you AND IT WILL WORK
        c('valid-comment-1').t\`Title de ouf\`
      }

{
        // this comment is NOT for you
        c('invalid-comment').t\`Title de ouf pas ok?\`
      }

{
        /* translator: OKAY this comment is for you */
        c('valid-comment-2').t\`Title de ouf ok?\`
      }

{c('no-comment').t\`hahaha\`}

  </>)
}

Test added:
$ make test_extract_developer_comments_by_tag
mocha --require @babel/register ./tests/functional/test_extract_developer_comments_by_tag.js

  Extract developer comments by tag
    ✓ should extract comment comment (419ms)
    ✓ should not extract comment
    ✓ should match with spaces after //
    ✓ should extract comments inside JSX tags

  4 passing (548ms)
                                                                                ```

Please please please, this one would save us a lot of time 🙏

@AlexMost would be great if you had time to take a look at this 🙏

Thanks for your contribution :+1: will check and release ASAP

:tada: Changes are available in versions

<EMAIL_ADDRESS><EMAIL_ADDRESS>


Issue#251 No Servlet Container Info from jolokia info

Proposal for Issue#251.
Pattern changed for flexible end of string

Saw it is fixed so forget...


Update Vue "manual setup" steps

Issue: #4475
What I did
Include babel-preset-vue in the required dependency instructions

On a side note, this dependency should probably be replaced with @vue/babel-preset-app (and therefore the docs would need readjusting).


linter: Add support for automatic checking for 4 space indents in HTML.

This PR addresses the issue of having our code linter have the ability to automatically detect indents in our various html files and template file (Handlebars and Jinja2) which our not matching our 4 space indent standard. In this we add such capability to the linter with a Ignore list in place to manage exceptions.
This PR might have some context with these. #1661, #3658.

Automated message from Dropbox CLA bot
@adnrs96, it looks like you've already signed the Dropbox CLA. Thanks!

This looks pretty good modulo the mypy issue.

You can run mypy --py3  on the file locally as you debug; hopefully the details I mentioned over chat are enough to figure out what's wrong.

Merged, thanks @adnrs96!


SSL_connect returned=1 errno=0 state=unknown state: unknown protocol (OpenSSL::SSL::SSLError) (Excon::Errors::SocketError)

heroku-cli: Installing Toolbelt v4...SSL_connect returned=1 errno=0 state=unknown state: unknown protocol (OpenSSL::SSL::SSLError)
/usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/ssl_socket.rb:120:in connect_nonblock' /usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/ssl_socket.rb:120:in initialize'
/usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/connection.rb:387:in new' /usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/connection.rb:387:in socket'
/usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/connection.rb:106:in request_call' /usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/middlewares/mock.rb:47:in request_call'
/usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/middlewares/instrumentor.rb:22:in request_call' /usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/middlewares/base.rb:15:in request_call'
/usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/middlewares/base.rb:15:in request_call' /usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/middlewares/base.rb:15:in request_call'
/usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon/connection.rb:233:in request' /usr/local/heroku/vendor/gems/excon-0.45.4/lib/excon.rb:229:in get'
/usr/local/heroku/lib/heroku/jsplugin.rb:210:in manifest' /usr/local/heroku/lib/heroku/jsplugin.rb:223:in url'
/usr/local/heroku/lib/heroku/jsplugin.rb:139:in setup' /usr/local/heroku/lib/heroku/cli.rb:27:in start'
/usr/bin/heroku:25:in `'
!    Heroku client internal error.
!    Search for help at: https://help.heroku.com
!    Or report a bug at: https://github.com/heroku/heroku/issues/new
Error:       SSL_connect returned=1 errno=0 state=unknown state: unknown protocol (OpenSSL::SSL::SSLError) (Excon::Errors::SocketError)
Command:     heroku login
HTTP Proxy:  http://username:password@host:port/
HTTPS Proxy: https://username:password@host:port/
Version:     heroku-toolbelt/3.42.31 (x86_64-linux) ruby/1.9.3

@108anup Could you please try an alternate way (curl / web browser) of downloading the following url?  https://cli-assets.heroku.com/master/4.27.15-535a059/darwin/amd64/heroku-cli  This will help me determine whether the problem is in your network configuration or the heroku client.  One thing I am finding mildly confusing (assuming I am reading the stack trace correctly) is that it appears that it was able to succesfully download https://cli-assets.heroku.com/master/manifest.json without any issues.

I had to use:
$ npm config set strict-ssl=false
and use a network tunnel as a work around to the issue.


in snippet boilerplate3 ~ in paths given with options will not work without converting them

Summary
Short summary of what is going on or to provide context.
when asking for file paths in options, tilda will not be converted to home automatically
Steps To Reproduce:

Create a new bash script using default boilerplate3
keep params unchanged
use snippet dir exists to test if $SOURCE dir exists
run the created script with parameters ./script.sh -express -source="~"

Expected result
Directory exists
Actual result
Directory does not exist
Environment
When the bug occurred what environment where you using the sheller extension on?
Operating system(s)

[ ] Windows

[ ] Windows 10

[ ] Windows 11

[ ] Other

[x] Linux

[x] Rocky / Centos / Fedora

[ ] Ubuntu

[ ] Other

[x] Other.. what?

VS Code version

sheller extension version

Additional information
You shoud add this command to replace the tilda with the home directory
SOURCE=${SOURCE/\~/$HOME}

By providing the new Boilerplate 4 snippet, which handles this issue I consider this issue closed.


[Discussion] Trying to use my own training set but I get an error

I'm trying to use my own training set which is made up of 20 sec mono loops. I'm getting this error. I'm not sure if it's an issue with my data or the configuration that I'm using.  Any thoughts would be much appreciated, I've spent a lot of time on this. I can increase the duration of the loops I'm generating if that is needed. I'm including my config & the validation CSV to show my setup.
Thank you very much for your help!
`(spleeter) jupyter@drumsplit-trainer:~/data/drumsplit$ spleeter train -p config/drumsplit_config.json -d /home/jupyter/data/drumsplitter_training_loops/ --verbose
INFO:tensorflow:Using config: {'_model_dir': 'drumsplit_model', '_tf_random_seed': 3, '_save_summary_steps': 5, '_save_checkpoints_steps': 1000, '_save_checkpoints_secs': None, '_session_config': gpu_options {
per_process_gpu_memory_fraction: 0.45
}
, '_keep_checkpoint_max': 2, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 10, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_checkpoint_save_graph_def': True, '_service': None, '_cluster_spec': ClusterSpec({}), '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
INFO:spleeter:Start model training
INFO:tensorflow:Not using Distribute Coordinator.
INFO:tensorflow:Running training and evaluation locally (non-distributed).
INFO:tensorflow:Start train and evaluate loop. The evaluate will happen after every checkpoint. Checkpoint frequency is determined based on RunConfig arguments: save_checkpoints_steps 1000 or save_checkpoints_secs None.
WARNING:tensorflow:From /opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/training/training_util.py:235: Variable.initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.
Instructions for updating:
Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.
Traceback (most recent call last):
File "/opt/conda/envs/spleeter/bin/spleeter", line 8, in
sys.exit(entrypoint())
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/spleeter/main.py", line 256, in entrypoint
spleeter()
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/typer/main.py", line 214, in call
return get_command(self)(*args, **kwargs)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/typer/main.py", line 497, in wrapper
return callback(**use_params)  # type: ignore
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/spleeter/main.py", line 89, in train
tf.estimator.train_and_evaluate(estimator, train_spec, evaluation_spec)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/training.py", line 505, in train_and_evaluate
return executor.run()
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/training.py", line 646, in run
return self.run_local()
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/training.py", line 743, in run_local
self._estimator.train(
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 349, in train
loss = self._train_model(input_fn, hooks, saving_listeners)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1175, in _train_model
return self._train_model_default(input_fn, hooks, saving_listeners)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1201, in _train_model_default
self._get_features_and_labels_from_input_fn(input_fn, ModeKeys.TRAIN))
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1037, in _get_features_and_labels_from_input_fn
self._call_input_fn(input_fn, mode))
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1130, in _call_input_fn
return input_fn(**kwargs)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/spleeter/dataset.py", line 85, in get_training_dataset
return builder.build(
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/spleeter/dataset.py", line 575, in build
dataset = dataset.map(instrument.convert_to_uint)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 1925, in map
return MapDataset(self, map_func, preserve_cardinality=True)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 4483, in init
self._map_func = StructuredFunctionWrapper(
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 3712, in init
self._function = fn_factory()
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 3134, in get_concrete_function
graph_function = self._get_concrete_function_garbage_collected(
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 3100, in _get_concrete_function_garbage_collected
graph_function, _ = self._maybe_define_function(args, kwargs)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 3444, in _maybe_define_function
graph_function = self._create_graph_function(args, kwargs)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 3279, in _create_graph_function
func_graph_module.func_graph_from_py_func(
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/framework/func_graph.py", line 999, in func_graph_from_py_func
func_outputs = python_func(*func_args, **func_kwargs)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 3687, in wrapped_fn
ret = wrapper_helper(*args)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 3617, in wrapper_helper
ret = autograph.tf_convert(self._func, ag_ctx)(*nested_args)
File "/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py", line 695, in wrapper
raise e.ag_error_metadata.to_exception(e)
TypeError: in user code:
/opt/conda/envs/spleeter/lib/python3.8/site-packages/spleeter/dataset.py:194 convert_to_uint  *
    sample[self._spectrogram_key],
/opt/conda/envs/spleeter/lib/python3.8/site-packages/spleeter/audio/convertor.py:110 spectrogram_to_db_uint  *
    db_spectrogram: tf.Tensor = gain_to_db(spectrogram)
/opt/conda/envs/spleeter/lib/python3.8/site-packages/spleeter/audio/convertor.py:76 gain_to_db  *
    return 20.0 / np.log(10) * tf.math.log(tf.maximum(tensor, espilon))
/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/ops/gen_math_ops.py:5881 maximum  **
    _, _, _op, _outputs = _op_def_library._apply_op_helper(
/opt/conda/envs/spleeter/lib/python3.8/site-packages/tensorflow/python/framework/op_def_library.py:527 _apply_op_helper
    raise TypeError(

TypeError: Expected uint8 passed to parameter 'y' of op 'Maximum', got 1e-09 of type 'float' instead. Error: Expected uint8, got 1e-09 of type 'float' instead.`

drumsplit_validation.csv.txt
drumsplit_config.json.txt

I think I figured it out.. I accidently put the mixed.wav in instrument_list in the config


refactor: update future options

Description
From https://github.com/vitejs/vite/pull/16471#discussion_r1740429158 (removed false because it's confusing)
This change is what I figured future options could be. We can discuss whether this is what we want or not here.
export interface FutureOptions {
  removePluginHookHandleHotUpdate?: 'warn'
  removePluginHookSsrArgument?: 'warn'

  removeServerModuleGraph?: 'warn'
  removeServerHot?: 'warn'
  removeServerTransformRequest?: 'warn'

  removeSsrLoadModule?: 'warn'
}

My idea is that:

future options contain a list of top-level properties (feature change names), and users have a choice to opt-in to that breaking change.
The signature will be future.<name>?: "warn" or future.<name>?: true

"warn" variant is used only when we're unsure this is a change we'll land. Users can try out by opting to "warn".
true variant is used when we're sure of this change, and you can opt into this breaking change now. Warnings are already emitted regardless of the option, but true would make them hard errors.

Reading the major changes documentation, I could probably see why it landed with future.deprecationWarnings in the first place, so this PR may make that page a little odd. My suggestion (if we go along with this) is that in the major changes page:

If a feature is "warn", put into the "Future" section (Rename as "Considering" to not overload the future term?)
If a feature is true, put into the "Current" section
If a feature is part of previous major, or we walk back on it, put into the "Past" section (Maybe want a "Rejected" section?)

One thing we were discussing is that maybe we could have 'warn' | 'error' be the values instead of 'warn' | true

I'm fine with that too and we can iterate on it later.

Do you think we should have an option to turn on all? Like this maybe:
future: {
  '*': 'warn'
}

I'm fine supporting that too. I intentionally didn't include supporting it here since I wonder if it's often users want this. If we add a new option to future.* it'll almost always likely to break. I think it'll be more convenient for testing only than something someone commits to git.


Update crypto.py

Optimizations:
Inline Operations: Combined multiple steps, like encoding/decoding, directly within the return statement. This reduces the code's verbosity and makes it more efficient.
Avoid Unnecessary Variable Assignments: Removed redundant variable assignments (e.g., intermediate variables like value_b, symkey_b, etc.), which optimizes memory usage and improves readability.
SHA256 Hash Encoding: Directly uses .digest() instead of .hexdigest() for more compact byte representation, making encoding faster.

Thank you for the proposed contribution.
This is Python, not Perl. The point of >1 lines is to make each step clear and obvious. Squishing it all into one line makes it impossible to understand what the code is doing, let alone debug it. Having some intermediate variables doesn't matter that much wrt efficiency because efficiency is not the main goal here.
We will not be merging this.


backported fix #81 from neo-gui for correct decimal display

BigDecimal values don't display correctly in the interface, e.g. 9.003 displays as 9.3. This fix from the main neo-gui project corrects that.

Also fixed a problem where the Test/Invoke/Cancel buttons were not showing up in the Spanish version of the Invoke Contract dialog due to the resources file being out-of-date with the latest form designer changes


Plot insets (feature request)

I would like to put small plots inside my Images, like is done in: http://matplotlib.org/1.3.1/mpl_toolkits/axes_grid/users/overview.html

From the discussion on Gitter, here is what Philipp suggested:
def inset_hook(plot, view):
    ax = plot.handles['axis']
    fig = plot.handles['fig']
    ...

Then you set the plot option finalize_hooks=[inset_hook] and can do whatever you like with the axis and figure object inside the function
Philipp also said he might have a look at supporting this feature more explicitly soon.

The main issue is deciding how to set the inset options. First of all there's two types of inset:
inset_axes(parent_axes, width="30%", # width = 30% of parent_bbox
                  height=1., # height : 1 inch
                  loc=3)

and
inset_axes = zoomed_inset_axes(ax, 0.5, # zoom = 0.5
                                                      loc=1)

The signatures are similar but not the same, so the only thing I can think of is having a inset_options dictionary as a plot options, which if specified applies the inset. Thoughts?

Hmm, I'm not sure how I feel about insets being set via a plot option.
To me the concept of an inset is another kind of composition and something that we might want to support in a general way. I know it is a useful feature to support but I am not yet sold on this particular interface.

I agree -- insets have very wide applicability, and it is important to really understand how they are used in the wild so that very general support can be provided. Working up a quick demo is great,, but being sure it will really solve the issue will probably take a while. Seems very related to the issue of AdjointLayout.

Another operator seems like overkill when overlaying already does most of the work, in fact you can already inset something by setting the desired extents. The only thing we'd be adding is support for drawing an additional set of axes inside an existing set of axes. Adding new operators/containers to do display level stuff is a recipe for nightmares if AdjointLayout is anything to go by. It's also unclear in how far different plotting backends will support the idea of insets so adding specific operators or objects to support them may not be very general. IMO insetting should definitely happen by overlaying the inset and setting the plot options, I'm almost certain adding new operators/classes for this is a bad idea.

I'm almost certain adding new operators/classes for this is a bad idea

We haven't discussed anything at all yet. I'm just saying that plot options are a pretty poor interface for such a common type of visualization.

That's why we're discussing it now. There's only a few interfaces we have to support this kind of thing, so it's either a new kind of operator/class, a plot option or some state on the objects itself (which is what we're trying to avoid). All I'm saying is that out of those options, setting it via a plot option is by far the most palatable to me.

You are only thinking of a few limited possibilities - plot options, new class, new operators. None  of these approaches are required to come up with an approach superior to using plot options.
Here is a proposal that makes much more sense to me:

Insets are indeed related to Overlays and in fact that seems the key: overlays should be concerned with insets.
Insets are in fact a special case of what overlays already achieve: an inset the size of the original plot is exactly the way Overlay objects already behave.
The position of an inset is part of the data if you consider generalizing the concept of an insets. Let's say, I have some contours in a figure but I only want to overlay these contours in the top-left (i.e just like an inset). Then because you can see the data underneath the contour lines, the position of the inset in relation to the data matters. Even if you disregard this point, the inset position is not a backend dependent setting.

In conclusion,I think building an inset should be as simple as calling a method on Overlay to specify the portion of space occupied by the inset layers. Something like this is definitely worth considering before delegating such an crucial feature to the plot options.

The position of an inset is part of the data if you consider generalizing the concept of an insets. Let's say, I have some contours in a figure but I only want to overlay these contours in the top-left (i.e just like an inset). Then because you can see the data underneath the contour lines, the position of the inset in relation to the data matters (i.e the data between layers needs may need to be aligned and in the same space). Even if you disregard this point, the inset position is not a backend dependent setting.

Not sure I quite follow but whatever we end up doing the Overlay will have to somehow group inset objects together, probably on the inset bounds.

In conclusion, I think building an inset should be as simple as calling a method on Overlay to specify the portion of space occupied by the inset layers.

To me this is still less clear and flexible than controlling it via plot options. There's different kinds of insets in matplotlib, something that a general interface like this could never account for. Secondly it breaks compositionality, you can't declare a single Element as an inset and then reuse that on multiple plots. You'd either have to do this each time you want to create an inset:
(img1 * img2).inset(index=1, **inset_kwargs)

which declares the second Image as the inset via an index or it's path name or more explicitly do this:
Overlay([img]).inset(img2, **inset_kwargs)

which seems even more awkward to me. I therefore still think doing it via the plot options is the clearest and cleanest solution, as it would look something like this:
img * img2(plot={'inset': inset_kwargs})

Sounds like we'll have to discuss it more in person to come to a conclusion though.

I'll just say that:
(img1 * img2).inset(index=1, **inset_kwargs)

Seems no worse to me than:
img * img2(plot={'inset': inset_kwargs})

I'm not sure what I think of having inset defined at the element level and not the overlay level. Your example here works because of __call__ which you shouldn't have to use. The idea of insets being a plot option in the %opts magic doesn't particularly appeal to me.
I'll have to think about it.

I might be coming around to the method for another reason. My proposal would require Overlays to be nestable to become easily usable when insetting an Overlay. Say you have two Overlays and want to inset one in the other, when using the method you could theoretically do
overlay1 * overlay2.index(index=range(len(overlay2)), **inset_kwargs)

Since the Overlay knows about insets, it can retain the inset settings when performing the __mul__, while in my proposal the inset options would get lost when doing:
overlay1 * overlay2(plot={'inset': inset_kwargs})

unless the __mul__ operations knows to nest Overlays, which means it would have to inspect the plot options. The main reason why I'm uncomfortable about a method handling this is because it would inevitably also have to store some backend specific options to be able to take advantage of all the features that matplotlib insets support. However I think we could consider a hybrid approach where any backend specific options are declared as plot options automatically (we already do something similar for the hist method).

... it would inevitably also have to store some backend specific options to be able to take advantage of all the features that matplotlib insets support.

Right, this is something to discuss. Earlier, you also said:

There's different kinds of insets in matplotlib, something that a general interface like this could never account for.

The thing I think we need to figure out is what is the semantic differences between the matplotlib approaches?
I think HoloViews should come up with a general model of how insets work regardless of matplotlib or any particular backend. It needs to be simple and general so that you might expect any backend to be able to support it. What are the real differences in the various ways matplotlib supports insets that we should consider and maybe think of generalizing?

The thing I think we need to figure out is what is the semantic differences between the matplotlib approaches?

matplotlib has two types of insets. Completely independent inset axes and zoomed inset axes (i.e. where the inset axes are in the same coordinate system as the host axis).

I think HoloViews should come up with a general model of how insets work regardless of matplotlib or any particular backend. It needs to be simple and general so that you might expect any backend to be able to support it.

I agree if we go with the method approach we need to have at least a minimal interface. We'll actually have to investigate the matplotlib implementation to see if it can be easily generalized. Both inset functions have a loc parameter, which accepts standard matplotlib locations as integers or strings. I'd hope that was an orthogonal option to supplying an explicit bounds but knowing matplotlib I'm not so sure they've provided a general interface that can be sensibly wrapped.

Hmm. Don't Overlays all share the same axes?  If so the types of inset you discuss above don't seem like overlays, though they and Overlays could both be an example of some more general concept of being on  top of each other.
I'm not sure what all Matplotlib does with insets, or what other packages do...

I definitely would not want to introduce another class, overlaying is still overlaying even if part of the overlay is in a new axis. Maybe it is a good idea after all for Overlays to be nestable because that way everything inside one axis is always kept together at the same level, while nested axes are represented by nested Overlays.


[pageHeader]: refactor and fix avt tests on pageHeader.

Package
Carbon for IBM Products
Description
the pageHeader avt needs to be refactored.
the shard 3 avt in ci checks shows as passed, but when we check the logs, 3 were shown flaky in this run. as below.

need to investigate/fix it.
Component(s) impacted
none, only the test
Browser
No response
@carbon/ibm-products (previously @carbon/ibm-cloud-cognitive) version
v2.49.0-rc.0
Suggested Severity
Severity 4 = The problem is not visible to or noticeable to an average user. Affects minor functionality, no workaround needed.
Product/offering
C4IP
CodeSandbox or Stackblitz example
https://github.com/carbon-design-system/ibm-products/actions/runs/10702823969/job/29671907237?pr=5929\
Steps to reproduce the issue (if applicable)
No response
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

fixed in https://github.com/carbon-design-system/ibm-products/pull/6520


A topology visualizer for pox

Hi there!,
wouldn't it be nice if pox allowed the users to have a bird's-eye view of what it's controlling? at least a very trivial picture of the topology that it maintains.
the use might be limited bcoz the simulators would give you exactly that and also let you connect to pox. But a topology graph can add to the UI.

There are multiple options for this already if you're using OpenFlow and the OpenFlow discovery component (and maybe the host tracker component too).

POX includes the misc.gephi_topo component which hooks it up to the awesome Gephi graph viz platform.  Then you can use any of Gephi's abilities in order to visualize.  There's a mention of it in the POX manual, and here's a pretty detailed blog post about setting it up.
POXDesk is a web-based frontend framework for POX.  It comes with a number of applications which includes a topology viewer.  Here's a screenshot where you can see the topology viewer showing the running topology (which is a really simple one).
The development version of POX (fangtooth) has the openflow.discovery:graph component, which can automatically export a .dot file with the discovered topology.  There's even a little script in the documentation which details how to use it for a live view of the topology.

will it be redundant work creating another visualizer component using some different framework?
Like I was thinking of using netjson

I guess it depends on what it offers that the existing ways don't and, specifically, whether it fulfills some need of yours that the others don't and couldn't easily be made to.


chore: move local FE and BE servers to HTTPS

#3598

Reviewers
Functional:
@tihuan @Bento007
Readability:
@atarashansky
Changes

Introduce next-dev-https for our local dev server for serving the FE
Move BE to HTTPS as well (required for compatibility)
Share cert/key generated by the oidc container (legacy code from Jessica) with the FE and the BE containers so that (it continues to be true that) only one cert has to be added to the local keychain.

QA steps (optional)
Notes for Reviewer

Had taken a second to investigate some 404's that were appearing but the same errors are present in main with http so it's nothing new -- just an artifact of a call to an Auth0 domain that fails in local scenario


Design ConsensusStatus

simperby_node::ConsensusStatus
It must contain useful information for the user.
Note that ConsensusStatus is strictly for a single height.
It must be print in a nice and human-readable way.

Stored information of the user's actions

manually vetoed blocks

Automatic actions without the user's approval

vetoed blocks by violation reports
a prevoted/precommitted block by this node

FYI, the struct State of the consensus module goes here:
pub struct State {
    /// The vetomint core instance.
    pub vetomint: VetomintWrapper,

    /// The block header that this consensus is performing on.
    pub block_header: BlockHeader,

    /// The set of messages that have been already updated to the Vetomint state machine.
    pub updated_messages: BTreeSet<Hash256>,
    /// The set of the block hashes that have been verified.
    pub verified_block_hashes: Vec<Hash256>,
    /// The set of the block hashes that are rejected by the user.
    pub vetoed_block_hashes: Vec<Hash256>,

    /// If true, any operation on this instance will fail; the user must
    /// run `new()` with the next height info.
    pub finalized: bool,
}


Basic Auth to authenticate for token server?

I have been using oauth2_proxy successfully against a variety of the supported providers, but also against a custom provider just by setting the right vars:

redirect_url
login_url
redeem_url
scope

And a few of the usual others.
The problem I have run into is that oauth2_proxy by default appears to try to authenticate by putting the client_id and client_secret into the query params rather than using HTTP Basic Auth. See e.g.Google Redeem() and default Redeem(), which look like:
	params.Add("client_id", p.ClientID)
	params.Add("client_secret", p.ClientSecret)

Yet the RFC specifies that an oauth2 token server MUST support http basic auth, and that it MAY also support it in params, but is not recommended:
The authorization server MUST support the HTTP Basic
   authentication scheme for authenticating clients that were issued a
   client password.

   For example (with extra line breaks for display purposes only):

     Authorization: Basic czZCaGRSa3F0Mzo3RmpmcDBaQnIxS3REUmJuZlZkbUl3

   Alternatively, the authorization server MAY support including the
   client credentials in the request-body using the following
   parameters:

   client_id
         REQUIRED.  The client identifier issued to the client during
         the registration process described by Section 2.2.

   client_secret
         REQUIRED.  The client secret.  The client MAY omit the
         parameter if the client secret is an empty string.

Hardt                        Standards Track                   [Page 16]

RFC 6749                        OAuth 2.0                   October 2012

   Including the client credentials in the request-body using the two
   parameters is NOT RECOMMENDED and SHOULD be limited to clients unable
   to directly utilize the HTTP Basic authentication scheme (or other
   password-based HTTP authentication schemes).  The parameters can only
   be transmitted in the request-body and MUST NOT be included in the
   request URI.

Many implementations only support HTTP Basic.

Is this supported somewhere and I missed it?
If not, the change looks simple, would a PR be accepted?

@deitch this is similar to #392. I'd be happy to accept PR's to update any for providers that do support HTTP Basic.

Yeah, it is similar. My search parameters were more for "Basic" than "Authorization". Oops.
I don't know who uses HTTP Basic Auth, probably could look. I more use it for custom providers, just pick any provider and override the elements above.
So.. if we find a provider that supports it (all should, but...) then we just change it there; if not, we make it an option?

Nothing anywhere in Google Docs that says they do support it. Nothing says they don't, but nothing says they do. How odd, since they usually are quite good about following the RFCs.

I can confirm that GitHub supports http basic auth (as it should). Will check Google now.

In the meantime, do we want it as an option to use basic auth, or the default with GitHub and Google and others?

I don't think we want to add options for this. I think we want client-id/client-secret to be passed as http basic auth for any providers it will work for.

OK.
Truth is, they all should support it, since the RFC says "MUST". But should and do are a far way away.
I am going to start with GitHub and Google, implement in there, test, and get a PR going on those. We can expand over time.

I took a slightly different approach. Every provider except Google and oidc uses the default Redeem(). So instead of implementing in each, I added HttpBasicAuth bool to the ProviderData with a default of false.
As soon as a we know a provider supports it, all we need to do is set that parameter. PR coming soon.

actually we use "gpm": https://github.com/pote/gpm

PR opened for first part in #451 . Once that is in, I will add some providers one-by-one by enabling the flag and testing it. I already know that GitHub supports it. Truth is, according to the RFC, everyone should support it, but "should" and "do" often are far away... :-)

I see now, via #451, that client_id and client_secret were being put in the body of a POST request, not in url query params, which is the impression I got from your original report. Thus, this is not really a significant improvement for security or safety.
This change might still be desired in order to more closely match the oauth2 rfc and possibly be more compatible with other future implementations of it. But it fights against the historical inertia of all the current providers working with and being tested and validated with client_secret in the POST body.

Right you are. I had glossed over it the first time and in seeing it URL-encoded thought it was in the query string. Only once starting the PR did I realize that it was encoded but in the body.
Either way, the RFC provides it as an option in the body but a requirement in http basic auth.
I actually had offered to put it as a runtime option, but someone (on phone now, sorry cannot check) said it is better as a provider setting.
Next steps?

That was me :) I still think it doesn't make sense as a user-set option, since each provider has custom code anyway - it should know what the best option is for that provider.
I want to wait for a couple more opinions on any possible benefits or drawbacks of using basic auth for client_secret (now that we know it's currently passed in a POST body).
Just BTW, (only) the google provider overrides the default Redeem() method.

That was me :)

Oh. Oops, sorry. Was on my phone.

I still think it doesn't make sense as a user-set option, since each provider has custom code anyway - it should know what the best option is for that provider.

I agreed, so I did it this way.

want to wait for a couple more opinions on any possible benefits or drawbacks of using basic auth for client_secret (now that we know it's currently passed in a POST body).

Sure, makes sense. I still think the default should be basic auth and fallback be body for the secret, per the RFC, but every provider and its idiosyncrasies.

(only) the google provider overrides the default Redeem() method.

Saw that too. I didn't dig too deeply into why, will once this is approved and merged and we can start one-by-one enabling.

@jehiah still around? Can we get this through (or changes if necessary), and then I can start opening PRs for individual providers after testing?


"IndexError: index -1 is out of bounds for axis 0 with size 0" at readers.py, line 193

In one particular mp4 file, jumpcutter crashed. Latter on when I retried the same file, it worked fine. Yet, it may be worthy to report the crash:
Running with the arguments:
Namespace(input=PosixPath('20210929_075015.mp4'), output=PosixPath('/Volumes/NTFS/Recordings/20210929_075015_JUMPCUT.mp4'), cut='silent', magnitude_threshold_ratio=0.01, duration_threshold=0.3, failure_tolerance_ratio=0.2, space_on_edges=0.1, silence_part_speed=60, min_loud_part_duration=-1, codec=None, bitrate=None)
------------------------------------------------------------
Getting silent intervals to cut: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 415208997/415208997 [20:34<00:00, 336314.06it/s]
Cutting silent intervals: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1848/1848 [09:07<00:00,  3.37it/s]
Moviepy - Building video /Volumes/NTFS/Recordings/20210929_075015_JUMPCUT.mp4.
MoviePy - Writing audio in 20210929_075015_JUMPCUTTEMP_MPY_wvf_snd.mp3
chunk:  69%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                | 88010/127642 [56:24<24:48, 26.62it/s, now=None]Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/io/readers.py", line 193, in get_frame
    result[in_time] = self.buffer[indices]
IndexError: index -1 is out of bounds for axis 0 with size 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/jumpcutter", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/site-packages/jumpcutter/__main__.py", line 134, in main
    jumpcutted_clip.write_videofile(
  File "<decorator-gen-55>", line 2, in write_videofile
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "<decorator-gen-54>", line 2, in write_videofile
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 135, in use_clip_fps_by_default
    return f(clip, *new_a, **new_kw)
  File "<decorator-gen-53>", line 2, in write_videofile
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 22, in convert_masks_to_RGB
    return f(clip, *a, **k)
  File "/usr/local/lib/python3.9/site-packages/moviepy/video/VideoClip.py", line 293, in write_videofile
    self.audio.write_audiofile(audiofile, audio_fps,
  File "<decorator-gen-45>", line 2, in write_audiofile
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 206, in write_audiofile
    return ffmpeg_audiowrite(self, filename, fps, nbytes, buffersize,
  File "<decorator-gen-9>", line 2, in ffmpeg_audiowrite
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/io/ffmpeg_audiowriter.py", line 166, in ffmpeg_audiowrite
    for chunk in clip.iter_chunks(chunksize=buffersize,
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 85, in iter_chunks
    yield self.to_soundarray(tt, nbytes=nbytes, quantize=quantize,
  File "<decorator-gen-44>", line 2, in to_soundarray
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 127, in to_soundarray
    snd_array = self.get_frame(tt)
  File "<decorator-gen-11>", line 2, in get_frame
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 89, in wrapper
    return f(*new_a, **new_kw)
  File "/usr/local/lib/python3.9/site-packages/moviepy/Clip.py", line 93, in get_frame
    return self.make_frame(t)
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 296, in make_frame
    sounds = [c.get_frame(t - c.start)*np.array([part]).T
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 296, in <listcomp>
    sounds = [c.get_frame(t - c.start)*np.array([part]).T
  File "<decorator-gen-11>", line 2, in get_frame
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 89, in wrapper
    return f(*new_a, **new_kw)
  File "/usr/local/lib/python3.9/site-packages/moviepy/Clip.py", line 93, in get_frame
    return self.make_frame(t)
  File "/usr/local/lib/python3.9/site-packages/moviepy/Clip.py", line 136, in <lambda>
    newclip = self.set_make_frame(lambda t: fun(self.get_frame, t))
  File "/usr/local/lib/python3.9/site-packages/moviepy/Clip.py", line 187, in <lambda>
    return self.fl(lambda gf, t: gf(t_func(t)), apply_to,
  File "<decorator-gen-11>", line 2, in get_frame
  File "/usr/local/lib/python3.9/site-packages/moviepy/decorators.py", line 89, in wrapper
    return f(*new_a, **new_kw)
  File "/usr/local/lib/python3.9/site-packages/moviepy/Clip.py", line 93, in get_frame
    return self.make_frame(t)
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/io/AudioFileClip.py", line 77, in <lambda>
    self.make_frame = lambda t: self.reader.get_frame(t)
  File "/usr/local/lib/python3.9/site-packages/moviepy/audio/io/readers.py", line 205, in get_frame
    result[in_time] = self.buffer[indices]
IndexError: index -1 is out of bounds for axis 0 with size 0

Additional info:
Python 3.9.6
pip 21.3.1
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with Apple clang version 11.0.3 (clang-1<IP_ADDRESS>)

Thanks for the info. I couldn't reproduce this error, however I had an idea about why you might have gotten such error. I fixed something in the code, and I hope it will fix this error.


There isn't a single stable way to enable debuginfo for both rustc and gcc

I recently turned off (https://github.com/tikv/tikv/pull/4689) debuginfo for dev, bench, and test configs, and added to the README the suggestion that to turn it back on use RUSTFLAGS=-Cdebuginfo=2. This of course doesn't change the flags passed to gcc.
Normally, the cmake-rs crate tries to interpret cargo's settings and configure the C toolchain similarly (though see https://github.com/tikv/tikv/issues/4711). This doesn't happen if RUSTFLAGS is set explicitly.
Unstable cargo does have a way to configure the debuginfo that will probably work:
CARGO_PROFILE_DEV_DEBUG=2 cargo build -Zconfig-profile

though that requires both 1) identifying the name of the profile (DEV_DEBUG), and passing -Zconfig-profile (which would require yet-more incantations to make work with the makefile).
The obvious alternative requires also setting CFLAGS and CXXFLAGS.
Custom cargo profiles are also an option, though I'm not sure how far along they are.
For now I'm going to revert https://github.com/tikv/tikv/pull/4689.

@brson
If this only affects development, I think it is fine, we don't need to roll back but can still improve it if we can ensure the dist_release still contains debuginfo.

OK, I will not revert, but try to come up with solutions to improve it.

Some simple solutions:

add new make targets
explain CXXFLAGS etc in readme

Oh this also interacts with https://github.com/tikv/tikv/issues/4711. So today, we actually can't turn off rocks' debuginfo in the dev / test profiles, and this only impacts release / bench.


Gh 1472 graphlibrary adding graphs overwrite bug

This also includes fixes for https://github.com/gchq/Gaffer/issues/1477.

Codecov Report

Merging #1480 into develop will increase coverage by 0.1%.
The diff coverage is 78.37%.

@@             Coverage Diff              @@
##             develop    #1480     +/-   ##
============================================
+ Coverage      66.58%   66.69%   +0.1%
  Complexity      1744     1744
============================================
  Files            721      721
  Lines          23627    23663     +36
  Branches        2984     2993      +9
============================================
+ Hits           15733    15782     +49
+ Misses          6686     6671     -15
- Partials        1208     1210      +2

Impacted Files
Coverage Δ
Complexity Δ

.../operation/export/graph/handler/GraphDelegate.java
94% <100%> (-0.06%)
0 <0> (ø)

.../src/main/java/uk/gov/gchq/gaffer/graph/Graph.java
64.3% <50%> (+6.92%)
0 <0> (ø)
:arrow_down:

...n/java/uk/gov/gchq/gaffer/store/schema/Schema.java
75.98% <50%> (+0.11%)
0 <0> (ø)
:arrow_down:

...java/uk/gov/gchq/gaffer/store/StoreProperties.java
44.8% <55.55%> (+0.55%)
0 <0> (ø)
:arrow_down:

...uk/gov/gchq/gaffer/store/library/GraphLibrary.java
83.49% <83.33%> (+0.82%)
0 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


I need help regarding your bucket structure and also want to change peering CIDR must be private not public

I want your bucket structure and resources to be store in that bucket. I am not able to structure all resources in was s3 bucket.
Please provide your bucket structures and resources inside this bucket.

Hi @Bhuvnquo -
Sorry for delay on response here - but could you clarify what you are asking?
It's possible to deploy the resources yourself or use the public registry.
Thanks-


getting events.js:141 error

I follow this guide http://ldapjs.org/guide.html#add but get an error without any description or anything. My bash only prints "events.js:141"
Could it be an issue with node 5.4.0 and ldapjs?
I am testing the server using openLDAP with this command:
ldapadd -H ldap://myIP:1389 -x -D cn=root -w secret -f ~/Documents/add-this-user.ldif
And add-this-user.ldif contains:
dn: cn=myUserName,ou=users,o=myhost
objectClass: unixUser
cn: myUserName
uid: 1003
gid: 3000
homeDirectory: c:/myUserName
shell: c:/myUserName.cmd

Without a more detailed stack trace, it's difficult to determine what the problem may be.

Can I do anything to get a more detailed stacktrace?

Have anyone else a working example using node 5.4 and ldapjs?
This morning I was also testing the server.modify(..) code from the guide above.
I test it with OpenLDAP using this command:
ldapmodify -H ldap://localhost:1389 -x -D cn=root -w secret -f modify-this.ldif
I got the following errors, maybe that can give a hint:
web.1  | {"name":"ldapjs","component":"client","hostname":"myhostname","pid":1740,"level":50,"msg":"<IP_ADDRESS>:56141::2 uncaught exception: Error: write EPIPE\n
at exports._errnoException (util.js:856:11)\n
at Socket._writeGeneric (net.js:675:26)\n
at Socket._write (net.js:694:8)\n
at doWrite (_stream_writable.js:292:12)\n
at writeOrBuffer (_stream_writable.js:278:5)\n
at Socket.Writable.write (_stream_writable.js:207:11)\n
at Socket.write (net.js:618:40)\n
at Socket.Writable.end (_stream_writable.js:433:10)\n
at Socket.end (net.js:400:31)\n
at Server. (C:\baldur-ldp\app.js:300:16)","time":"2016-01-12T14:18:27.926Z","v":0}
web.1  | events.js:141

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


i can't edit setting in admin page

i clone and run this cezerin at my Cloud
and connect mongoDB via mlab mongodb
when i start or pm this Project i cant edit or add anything
thanks for your time

Hi, did you follow "How to deploy a Cezerin on Ubuntu 18.04.1 (from GitHub)"?
https://github.com/cezerin/cezerin/blob/master/docs/how-to-deploy-a-cezerin-on-ubuntu-18-04-1-github.md
If you do not have any specific requirements, I would advise you to continue according to the above mentioned guide.
Also,  do you have any errors showing?


identity: Extend random ID domain to fill all 25 characters

The current identity package generates 16 bytes of entropy to fill in 25
base-36 characters. There is a slight mismatch between these - 25
base-36 characters actually corresponds to about 129.25 bits. This means
there will always be a leading 0 bit in the generated ID. The
user-facing consequence is that IDs always start with [0-9a-f], which
makes partial IDs less effective since the first digit is much more
likely to collide.
To fix this, generate an extra byte of entropy, and render the result
into a base-36 string with one extra character. Discard the leading
character, which will have a limited range. The returned 25 characters
should have uniform values.
cc @stevvooe @diogomonica

Current coverage is 57.00% (diff: 100%)

Merging #1659 into master will increase coverage by 0.18%

@@             master      #1659   diff @@
==========================================
  Files            90         90
  Lines         14574      14575     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           8280       8308    +28
+ Misses         5207       5190    -17
+ Partials       1087       1077    -10

Powered by Codecov. Last update 9ff3dfd...bbe415b

@stevvooe: Updated to remove the Sprintf.

LGTM
@diogomonica PTAL

LGTM!


feat(speed): make adding records much faster

for a zone with 30,000 records, reduce insertion time from 7 minutes to ~3 seconds.
method: generate an owner index, use for duplicate and collision detection (vs linear array search)

Awesome, thanks for the optimization.


Instafeed get:popular / get:tagged

I'm a web development teacher who is using the instafeed.js to teach my students about APIs.
I have used instafeed to so students can embed their own instagram feeds, but I was hoping to have them be able to bring in other images through get:'popular' and 'get:tagged'. I've tried both and can't seem to get images to be brought in.
Is this feature still working? I've looked online for working examples, but I only find examples of get:user. I have my clientId and I am not getting results. Any info would be appreciated.

Hi @davidhurwich, sorry to be the bearer of bad news, but these features are no longer supported by the Instagram API. Instagram are in the process of deprecating this API in favour of one based on Facebook's OpenGraph, however it looks like this will be at least targeted to, if not limited to, business profiles. There's more information here and in Instafeed's readme: https://github.com/stevenschobert/instafeed.js/issues/345
If you're looking to teach students about REST APIs, then the Flickr API might be a good choice - unlike Instagram they encourage tinkering, and they always prided themselves on good URL structure (it's been a while since I used it).
Not sure about a client-side equivalent to instafeed.js, but I'm sure there's something out there.
I'm going to close this issue, but do post back if you need more help. Hope that's useful - good luck!


ㅅㄷㄴㅅ

Please rotate your API keys as you seem to have exposed them here.

This also appears to be an accidentally public PR with company-specific changes, closing.


Tag a new release

There have been some commits since the last time a release was made. Can you tag a new one in order to have those new commits available through composer?
Thanks in advance!
Christian.

done


Security issue using QuarkusTavilyWebSearchEngine

Security issue using QuarkusTavilyWebSearchEngine as, by default, it logs the API key:
2024-10-01 23:53:12,259 INFO  [io.qua.lan.tav.QuarkusTavilyWebSearchEngine$TavilyClientLogger] (vert.x-eventloop-thread-2) Request:
- method: POST
- url: https://api.tavily.com/search
- headers: [Accept: application/json], [Content-Type: application/json], [User-Agent: Quarkus REST Client], [content-length: 240]
- body: {"query":"\"flights from Barcelona to Brussels\"","api_key":"API key used

I think it should provide the first 4 chars and the *
@jmartisk

I can provide a PR

I can provide a PR

That would be great, thanks :)

I'm working now on this; no worries, I'll send you a PR.

Done :)


docs: add proper documentation

Hey! Can you assign this issue to me? Once you just tell me the aim of the project, I can prepare a good enough documentation in the README.md

Hi @nayakastha,
Thanks for showing interest in this project.
The aim of this project is simply to reduce the time in integrating the APIs and also reduce token management all of these from a single place.
So, this library will work as a wrapper with a bit of abstraction and the user will only need to call a few methods, 2-3 max or maybe more depending upon what are his/her requirements.
I've added some feature points, I'm gonna be implementing soon. You can get a bit of ideas from there as well.
Let me know if any further input is needed from my side.
Assigning this to you :slightly_smiling_face:

Hey @nayakastha,
I have added CONTRIBUTING.md and CODE_OF_CONDUCT.md Plz add a link to them in README.md.
And have a look at CONTRIBUTING.md for a guide in working with forked repo, if needed

Sure Sure


Adding support for Volta testnet and Energy Web Chain

Hi, would it be possible to add official library support for our chains/ENS registries?

Volta testnet ENS Registry
EnergyWebChain (EWC) ENS Registry

More info:

energyweb.org
Our ENS wiki page
Forked ENS manager
ENS medium article

ping @Arachnid @decanus


migration: Add migration to mark 'intro_resolve_topic' as read.

This PR adds a migration to mark the intro_resolve_topic modal as shown for users who have edited/moved a message previously.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Tested it manually by:

Removing onboarding_steps.post_onboarding_step_as_read("intro_resolve_topic"); in the client code.
Then performed resolve / edit / move operations by various users.
Inspected the zerver_useractivity and zerver_onboardingstep table to confirm query=update_message_backend entries in the first table and no intro_resolve_topicentry in the second.
Performed the migration and inspected the zerver_onboardingstep table to confirm the presence of intro_resolve_topicentries.


Clone the play animation SVG before animating it. Fixes #647

"Ready For Review" checklist

[ ] PR title accurately summarizes changes
[ ] PR description

Does this fix any open issues?
What changes are you making?
Why did you implement it this way?
Is there anything reviewers need to know or pay attention to?
Does anything special need to happen for deployment?

[ ] Optional: Inline github PR comments explaining context of tricky / complicated / unexpected lines so reviewers can follow along.
[ ] If appropriate, new tests were added for isolated methods or new endpoints
[ ] All tests green
[ ] Percy changes are purposeful or explained
[ ] I booted up the branch locally, exercised any new code I wrote.
[ ] If css was touched, I verified changes are happy on mobile (via Percy is ok)
[ ] I opened an issue for any logical followups

Still seeing some issues. I'll make play_animation.js work on a local copy of the animation instead of a static id and see if we can just bypass the trouble.


🐛 Bug Report: Yarn install failing on app creation

📜 Description
following https://backstage.io/docs/getting-started/
running:
npx @backstage/create-app@latest
👍 Expected behavior
from the doc, it should build the app
👎 Actual Behavior with Screenshots
yet it fails miserably

👟 Reproduction steps
I installed these
sudo apt-get update
sudo apt install make build-essential curl wget ca-certificates git python g++ cmake gcc -y

install nodejs
https://github.com/nvm-sh/nvm#install--update-script
https://nodejs.org/en/about/previous-releases

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
nvm --version
23.3.0
nvm install 23.3.0

npm install -g yarn
yarn --version
1.22.22

What I tried so far

I installed make build-essential curl wget ca-certificates git python g++ cmake gcc -y
I used another VM with more mem/cpu
I tried with another older ubuntu 20.04
I used yarn install with npm install -g yarn -> yarn 1.22.22
tried creating the app again after apt install upgrade
tired another version : yarn set version 1.22.19
tried with prior nvm version : nvm install 16.20.0 & nvm install 16.20.0
tried installing yarn like that instead (first removing with npm)

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn

📃 Provide the context for the Bug.
let me know where to find the logs
🖥 Your Environment
VM : Ubuntu 20.4 and 24.4
Virtual box on Win 10
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
None

Hmm, anything useful in the error logs linked by Yarn? Especially the isolated-vm and better-sqlite3 ones?

as mentioned...

I installed g++-10 and it is still complaining 20 is not there
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build', '--jobs', 4 ]
make: Entering directory '/home/phil/WORK/backstage/backstage/node_modules/isolated-vm/build'
  CXX(target) Release/obj.target/nortti/src/external_copy/serializer_nortti.o
  CXX(target) Release/obj.target/nortti/src/isolate/allocator_nortti.o
In file included from /home/phil/.cache/node-gyp/23.3.0/include/node/cppgc/common.h:8,
                 from /home/phil/.cache/node-gyp/23.3.0/include/node/v8.h:23,
                 from ../src/isolate/allocator.h:2,
                 from ../src/isolate/allocator_nortti.cc:1:
/home/phil/.cache/node-gyp/23.3.0/include/node/v8config.h:13:2: error: #error "C++20 or later required."
   13 | #error "C++20 or later required."
      |  ^~~~~
In file included from /home/phil/.cache/node-gyp/23.3.0/include/node/cppgc/common.h:8,
                 from /home/phil/.cache/node-gyp/23.3.0/include/node/v8.h:23,
                 from ../src/external_copy/external_copy.h:2,
                 from ../src/external_copy/serializer.h:2,
                 from ../src/external_copy/serializer_nortti.cc:1:
/home/phil/.cache/node-gyp/23.3.0/include/node/v8config.h:13:2: error: #error "C++20 or later required."
   13 | #error "C++20 or later required."
      |  ^~~~~
In file included from ../src/external_copy/external_copy.h:12,
                 from ../src/external_copy/serializer.h:2,
                 from ../src/external_copy/serializer_nortti.cc:1:
../src/isolate/util.h:30:40: error: ‘CopyablePersistentTraits’ is not a member of ‘v8’; did you mean ‘NonCopyablePersistentTraits’?
   30 | auto Deref(const v8::Persistent<T, v8::CopyablePersistentTraits<T>>& handle) -> v8::Local<T> {
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                        NonCopyablePersistentTraits
../src/isolate/util.h:30:65: error: template argument 2 is invalid
   30 | auto Deref(const v8::Persistent<T, v8::CopyablePersistentTraits<T>>& handle) -> v8::Local<T> {
      |                                                                 ^
../src/isolate/util.h:30:40: error: ‘CopyablePersistentTraits’ is not a member of ‘v8’; did you mean ‘NonCopyablePersistentTraits’?
   30 | auto Deref(const v8::Persistent<T, v8::CopyablePersistentTraits<T>>& handle) -> v8::Local<T> {
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                        NonCopyablePersistentTraits
../src/isolate/util.h:30:66: error: template argument 2 is invalid
   30 | auto Deref(const v8::Persistent<T, v8::CopyablePersistentTraits<T>>& handle) -> v8::Local<T> {
      |                                                                  ^~
../src/isolate/util.h:30:40: error: ‘CopyablePersistentTraits’ is not a member of ‘v8’; did you mean ‘NonCopyablePersistentTraits’?
   30 | auto Deref(const v8::Persistent<T, v8::CopyablePersistentTraits<T>>& handle) -> v8::Local<T> {
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                        NonCopyablePersistentTraits
../src/isolate/util.h:30:66: error: template argument 2 is invalid
   30 | auto Deref(const v8::Persistent<T, v8::CopyablePersistentTraits<T>>& handle) -> v8::Local<T> {

Hm it's hard to know what makes those specific packages not build on your specific platform. All I know is that our e2e linux tests do run successfully on whatever env github provides. https://github.com/backstage/backstage/blob/master/.github/workflows/verify_e2e-linux.yml
Is it at a point where it may be best to make an issue on those packages' issue trackers to see what their guidance is for your platform?

how do you explain a proper cpp file is showing the required compiler version but your app is not finding it ?
I tried moding the make file but it is generated by gyp or what not


Update community_connectors.json

add WDC for api from Star Wars

Coverage remained the same at 98.913% when pulling 397bd4efb8cef79dca7ff3aba6abff8bef733869 on juanse9701:patch-1 into 4e85e2a07ca60b692357faf6d56e20a15a3e1b69 on tableau:master.

Hi @juanse9701,
Sorry for the delay. I'm only seeing 10 rows of data being pulled in from your WDC, could you please make sure t is working correctly.
Take care,
Keshia


Update scheduling-apis-powerautomate.md

The step to create Project Buckets does not work: there's a plugin that runs Pre-Operation that prevents calling Create on a Project Bucket directly.
I added the correct way to do this (calling the msdyn_PssCreateV1 unbound operation, and added an extra step to store it's id so it can be used to link the tasks to it.
I updated the indexes to point to the new steps

@microsoft-github-policy-service agree [company="Alithya"]

@lalberto8085 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree [company="Alithya"]

@microsoft-github-policy-service agree

@johnmichalak I can see the failed check message, but I'm unsure what I need to do to fix it. Can you please point me in the right direction?

@microsoft-github-policy-service agree


Add mandatory redirect for trailing dot HTTP host

https://labs.detectify.com/2016/10/05/the-story-of-ev-ssl-aws-and-trailing-dot-domains/
To avoid this, we should not allow domains with trailing dots to be added to the router and always strip the trailing dot and 301 redirect to the domain without the dot.

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


Fix Elasticsearch bulk bugs

Elasticsearch change the bulk API (At least after version 6.0. Not sure on 5.x) so that we can't omit the index name even if it is the same as the previous one. Otherwise the bulk operation will always fail.

CI failed on jruby branch but it seams not caused by this pr.


Support setting namespace for all tasks in DAG

A DAG can now override the namespace a node/task is run in. The override can happen in a Delayed object or in the DAG directly. This allows easier setting of the namespace all tasks should run in.
This also fixes a minor issue with overriding namespaces in the Delayed API itself.
Example usage:
from tiledb.cloud.compute import Delayed
import numpy

# Wrap numpy median in a delayed object
x = Delayed(numpy.median, name="x")

# It can be called like a normal function to set the parameters
# Note at this point the function does not get executed since it
# is delayed type
x([1,2,3,4,5])

y = Delayed(numpy.median, name="y")
y([1, 2, x])

# To force execution and get the result call `compute()`
y.compute(namespace="seth")

Also basic namespace in a Delayed object:
from tiledb.cloud.compute import Delayed
import numpy

# Wrap numpy median in a delayed object
x = Delayed(numpy.median, name="x", namespace="seth")

# It can be called like a normal function to set the parameters
# Note at this point the function does not get executed since it
# is delayed type
x([1,2,3,4,5])

# To force execution and get the result call `compute()`
x.compute()

Hmm, actually mac should have failed too but passed here?

Oh, nevermind the tests section is only enabled on linux.


Crash on javascript reload

It's crashing when reloading javascript
stacktrace
11-07 16:32:49.940 19681-19681/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.gambit, PID: 19681
                                                   java.lang.IllegalStateException
                                                       at android.media.MediaPlayer.getAudioSessionId(Native Method)
                                                       at com.futurice.rctaudiotoolkit.AudioPlayerModule.getInfo(AudioPlayerModule.java:218)
                                                       at com.futurice.rctaudiotoolkit.AudioPlayerModule.onHostPause(AudioPlayerModule.java:67)
                                                       at com.facebook.react.bridge.ReactContext.onHostPause(ReactContext.java:228)
                                                       at com.facebook.react.XReactInstanceManagerImpl.tearDownReactContext(XReactInstanceManagerImpl.java:827)
                                                       at com.facebook.react.XReactInstanceManagerImpl.access$500(XReactInstanceManagerImpl.java:110)
                                                       at com.facebook.react.XReactInstanceManagerImpl$ReactContextInitAsyncTask.onPreExecute(XReactInstanceManagerImpl.java:198)
                                                       at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:604)
                                                       at com.facebook.react.XReactInstanceManagerImpl.recreateReactContextInBackground(XReactInstanceManagerImpl.java:755)
                                                       at com.facebook.react.XReactInstanceManagerImpl.onJSBundleLoadedFromServer(XReactInstanceManagerImpl.java:738)
                                                       at com.facebook.react.XReactInstanceManagerImpl.access$100(XReactInstanceManagerImpl.java:110)
                                                       at com.facebook.react.XReactInstanceManagerImpl$1.onJSBundleLoadedFromServer(XReactInstanceManagerImpl.java:152)
                                                       at com.facebook.react.devsupport.DevSupportManagerImpl$19$1.run(DevSupportManagerImpl.java:747)
                                                       at android.os.Handler.handleCallback(Handler.java:739)
                                                       at android.os.Handler.dispatchMessage(Handler.java:95)
                                                       at android.os.Looper.loop(Looper.java:148)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Hi, thanks for reporting.
Cleanup on reloading the JS bundle seems to be impossible right now in React Native, so we will unfortunately end up in an undefined state when doing JS reloads. Here's a similar issue from a similar project, and audio playing forever after a JS reload is what you typically see as a result.
Maybe we can do something about the crash though, must investigate. Do you have an easy way of reproducing the error, I don't recall that simply playing back a long audio clip and then doing a JS reload would cause errors?

What would be the best approach to handling the illegal state exception? Could we at least catch the exception to prevent the application from catching?

Yeah, try/catch could probably be done if we don't find a better solution

Update:
It also happens on production when the app goes in background

Experiencing this issue in a production app as well. Also occurs when resuming the app from background mode.

Here's a different crash in comparison to the previous report however it's the same exception thrown as the OP.

Getting this also. Any idea on what could be causing this ?

Me too, android builds when going into background mode.
com.futurice.rctaudiotoolkit.AudioPlayerModule.getInfo (AudioPlayerModule.java:220)
com.futurice.rctaudiotoolkit.AudioPlayerModule.onHostPause (AudioPlayerModule.java:71)

Can it be this?
 at android.media.MediaPlayer.getDuration(MediaPlayer.java)

you will have to check if the mediaPlayer is actually running before calling stop, else you will get IllegalStateException . Also you will get that when doing anything to a released MediaPlayer object. your code should be:


Date validation default error message

When receiving an invalid date(say new Date("invalid")) what you get as an error is
Expected Date but received Date

which is really confusing
I would suggest checking for invalid date case and then producing an error message like
Expected Date but received InvalidDate

I'm willing to work on a PR
My current workaround is this
const DateSchema = date((issue) => {
  if (issue.input instanceof Date) {
    return 'Expected Date but received InvalidDate';
  }

  return issue.message;
})

Given we're already handling an error input could only be a Date if it's only an invalid date but we could do a more rigorous check here like
issue.input instanceof Date && Number.isNaN(issue.input.getTime())

Thanks for bringing this up. We could easily fix this, but we have to be careful not to break the current language-neutral expected and received system, which follows a specific syntax. Instead of English words, we use symbols like ! and <= to describe both properties. Something like InvalidDate makes no sense because there is no InvalidDate data type in JavaScript. Also, Invalid Date does not work because it breaks our syntax. We could change it to !Date to produce an error message that isn't confusing, but that way it's less clear what the error actually is. I would appreciate your feedback on this.

Would enclosing "Invalid Date" in quotes work? I've proposed it cause that's the way it's stringified in most environments

This is a good idea. The only drawback might be that it is not clear whether the input was the string "Invalid Date" or an invalid date object, but it is probably better than the current solution.

We could use quotes which are not used for strings then :)
If string are display with " then we might use ` or '

I am not sure I want to introduce a new syntax just for one case. I recommend going with "Invalid Date" until we find a better solution.

Valibot v0.33.1 is available 🎉

great, thanks!


.Net: Document how to create an agent with OpenAI Assistants on learn.microsoft.com

OUT OF SCOPE
The following pages need to be updated to reflect the updates to agents:

[ ]  https://github.com/MicrosoftDocs/semantic-kernel-pr/blob/main/semantic-kernel/concepts/agents.md
[ ] https://learn.microsoft.com/en-us/semantic-kernel/get-started/quick-start-guide?pivots=programming-language-csharp (update sample to use ChatCompletionAgent)
[ ] https://github.com/MicrosoftDocs/semantic-kernel-pr/blob/main/semantic-kernel/integrations/index.md (should have a table for agent support across languages)
[ ] All pages under https://github.com/MicrosoftDocs/semantic-kernel-pr/blob/main/semantic-kernel/plugins (should update all samples to use ChatCompletionAgent)

IN SCOPE
An "Agent Framework" section should be introduced that includes a thoughtful progression, as well as:

[X] https://github.com/MicrosoftDocs/semantic-kernel-pr/blob/main/semantic-kernel/concepts/agents/chatcompletion.md
[X] https://github.com/MicrosoftDocs/semantic-kernel-pr/blob/main/semantic-kernel/concepts/agents/assistants.md

https://learn.microsoft.com/en-us/semantic-kernel/frameworks/agent


Upstream openjdk/jdk(head) now branching releases rather than forking

openjdk/jdk(head) will now be doing release branching, no longer forking repositories. See: https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008834.html
This obviously means our jdk(head) mirror and jdk-23+ build-scripts will need updating
We currently have:

master : Direct mirror of openjdk/jdk(master)
dev : Merge of Adoptium “patches” with master(HEAD)
release : Sequential merge of latest jdk-NN+bb tags with Adoptium “patches” and tagged as jdk-NN+bb_adopt

With the branching of the upstream “jdk23” branch, we now have no view of jdk-23, as our “release” branch is now jdk-24+1_adopt, and “dev” is jdk-24(HEAD)
My immediate thought is:

Add a "release_jdk23" branch, and update skaraMirror.sh to perform the same logic as before but from upstream “jdk23" branch, ie. sequential merging of latest jdk-23+nn tags with Adoptium "patches".
Add a "dev_jdk23" branch, ie. jdk23(HEAD) merged with Adoptium "patches"
temurin-build scripts updated for jdk-23+ targets to clone adoptium/jdk and checkout the appropriate "branch"

Thoughts?

Seems reasonable - am I right in saying this is purely during the stabilization process and the u repositories are still expected to be produced for e,g, 23.0.1 and beyond?

Yes. There will be a separate discussion for update releases (covering the 23u part) in the future. Let's keep this focused on the stabilization repo change only for now.

The EA build status messages on slack will need updating too. It currently claims newest build tag for JDK 23 is 24+1, rather than 23+26.

Re-opening as this is not closed until https://github.com/adoptium/temurin-build/pull/3852 is also merged.


Added "As-User". Simply call api.setAsUser() before calling any Box A…

Added As-User support.

Hi @banderson5144, thanks for the pull request. Before we can merge it, we need you to sign our Contributor License Agreement. You can do so electronically here: http://opensource.box.com/cla
Once you have signed, just add a comment to this pull request saying, "CLA signed". Thanks!

CLA signed

Verified that @banderson5144 has just signed the CLA. Thanks, and we look forward to your contribution.

Parsing of scientific notation

Hi @banderson5144
Sorry, I just saw this pull request.  Thanks for the contributions!
I'll go through the legwork of creating issues for these 2 commits and I'll replicate your work in pull requests.  For future reference, the contributing guidelines are here.

No problem. I actually have to update a test class. I'll go through the
proper procedures for that.
On Fri, Mar 4, 2016, 3:37 PM bassman531<EMAIL_ADDRESS>wrote:

Hi @banderson5144 https://github.com/banderson5144
Sorry, I just saw this pull request. Thanks for the contributions!
I'll go through the legwork of creating issues for these 2 commits and
I'll replicate your work in pull requests. For future reference, the
contributing guidelines are here
https://github.com/box/box-salesforce-sdk/blob/master/CONTRIBUTING.md.
—
Reply to this email directly or view it on GitHub
https://github.com/box/box-salesforce-sdk/pull/4#issuecomment-192525232.


Failed to create cache path on windows

Describe the bug
NotADirectoryError: [Errno 20] Cache directory "C:\Users\xxx\AppData\Roaming\adalflow\cache_OllamaClient_phi3.5:latest.db" does not exist and could not be created
Desktop (please complete the following information):

Windows.

Solution:

get rid of the special characters not allowed in windows.

[ ] Enable cross-platform testing using github action. Or anyone else has other suggestions? Would love to hear more and need contribution here.


Set msg.payload to boolean instead of present/not-present

I like the node-red-contrib-bt-presence idea.  I had been using a flow wrapped around node-red-contrib-noble and the npm noble package to detect the presence of a Bluetooth device.   This node is much easier and doesn't drag in the complexity of the noble install.
Instead of setting msg.payload to strings "present" / "not-present", it would be easier to program for a msg.payload boolean flag.

or maybe msg.present with bool type

@sbernhard - If I write a quick node-red-contrib-bt-presense patch to change "present" / "not-present" to boolean true / false, would you accept it upstream?

Sure. Every PR is welcomed.
---- John Walicki schrieb ----
@sbernhardhttps://github.com/sbernhard - If I write a quick node-red-contrib-bt-presense patch to change "present" / "not-present" to boolean true / false, would you accept it upstream?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/sbernhard/node-red-contrib-bt-presence/issues/2#issuecomment-389371985, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AYTiFSIVdiPCAmikVJXnGtGMxZWsnFqbks5ty4pHgaJpZM4RJ3gk.

@johnwalicki and @pastukhov Fixed in version 1.1.3
msg.payload = true is set on presence. Otherwise false.


Add support for keyword arguments in Ruby 2.7+

See: https://github.com/dry-rb/dry-core/pull/46
Comment lib/dry/core/memoizable.rb:20 and/or lib/dry/core/memoizable.rb:62 for specs to fail.
Normally I would use doubles to verify method invocations (as seen in #46) but wanted to keep the changes to a minimum. Let me know if you want me to add this to the test suite. I'm currently not verifying that bar_with_kwargs is actually cached, only that the arguments are correct.

@flash-gordon could you take a look? 🙏🏻 It LGTM but I have way less experience with MRI 3.0 and kwargs madness so... 😉

@flash-gordon could you take a look? 🙏🏻 It LGTM but I have way less experience with MRI 3.0 and kwargs madness so... 😉

@solnic Done!

@solnic Done!

@oleander I'm sorry but we have more conflicts because I merged your other PR 😅

@oleander I'm sorry but we have more conflicts because I merged your other PR 😅

Fixed!

Fixed!