Added support for 33 language analyzers

Description
Describe what this change achieves.
When trying to build IndexSettings. There is no way to build default analyzers for languages supported in opensearch.
The only supported language is Dutch at the moment.
This is also a problem when deserializing IndexSettings from json. It will fail for any language other than Dutch.
See this issue 684
In this PR, support for creating language Analyzers was added for these languages:
arabic, armenian, basque, bengali, brazilian, bulgarian, catalan, czech, danish, english, estonian, finnish, french, galician, german, greek, hindi, hungarian, indonesian, irish, italian, latvian, lithuanian, norwegian, persian, portuguese, romanian, russian, sorani, spanish, swedish, turkish, and thai
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
Will close this issue: 684
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

LGTM! Fix spotless & friends?
Would love to have a sample/doc for this, https://github.com/opensearch-project/opensearch-java/tree/main/samples and/or https://github.com/opensearch-project/opensearch-java/tree/main/guides.

LGTM! Fix spotless & friends?
Would love to have a sample/doc for this, https://github.com/opensearch-project/opensearch-java/tree/main/samples and/or https://github.com/opensearch-project/opensearch-java/tree/main/guides.

Yes. I ran the spotlessApply command and fixed the formatting.
I will see if I can add to the samples documents. Probably not this week though

@brentam my apologies but this is not how it is already implemented in opensearch-java: the language specific analyzers are the combination of org.opensearch.client.opensearch._types.analysis.LanguageAnalyzer and org.opensearch.client.opensearch._types.analysis.Language enumeration

@reta
I have a couple of points:
first:
The test below for creating an IndexSettings from a valid index  json is using the "existing" DutchAnalyzer class, it does not touch the Language enumeration at any point.
   @Test
    public void testParsingAnalyzer() {

        JsonpMapper mapper = new JsonbJsonpMapper();
        String json = "{ \"index\": { \"analysis\": { \"analyzer\": { \"some_analyzer\": { \"type\": \"dutch\", \"char_filter\": [ \"html_strip\" ], \"tokenizer\": \"standard\" } } } } } ";

        JsonParser parser = mapper.jsonProvider().createParser(new StringReader(json));
        IndexSettings indexSettings = IndexSettings._DESERIALIZER.deserialize(parser, mapper);
        assertTrue(true);
    }

if we serialize to json we get
{"index":{"analysis":{"analyzer":{"some_analyzer":{"type":"english"}}}}}
It is missing the char_filter but this is a discussion to another time.
The point is , this is a valid analyzer definition in opensearch.
second:
When creating an IndexSettings using the LanguageAnalyzer Builder + Language.
It generates an invalid Json
This code:
        Map<String, Analyzer> map = new HashMap<>();
        map.put("some_analyzer",
                LanguageAnalyzer.of(l -> l.language(Language.German).stemExclusion(new ArrayList<>()))
                ._toAnalyzer());
        IndexSettings settings = IndexSettings.of(
                it -> it.analysis(a ->
                        a.analyzer(map))
        );

Generates this json
{"index":{"analysis":{"analyzer":{"some_analyzer":{"type":"language","language":"German","stem_exclusion":[]}}}}}
This will fail in opensearch since "type": "language" is not valid:
you can test in the dashboard console using this command:
PUT test_idx1
{
  "mappings": {
    "dynamic": "strict",
    "properties": {
      "title": {
        "doc_values": false,
        "type": "text",
        "analyzer": "some_analyzer"
      }
    }
  },
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "some_analyzer": {

            "type": "language",
            "language": "Gerdfasdfmana",
            "stem_exclusion": []
          }
        }
      }
    }
  }
}

@reta
this is a correct way to specify a language analyzer
        "analyzer": {
          "some_analyzer": {
            "type": "german"

          }
        }

In opensearch the language type is checked before the index is created.
I already pointed out that the "type" : "language" generated by the LanguageAnalyzer buider is not valid.
Now , this configuration will also be accepted in Opensearch and the index will be created
          "some_analyzer": {
            "type": "custom",
            "language": "AlienLanguage",
            "stem_exclusion": []
          }

Note the "language" : "AlienLanguage" is  accepted, so this type of analyzer is not actually creating an analyzer that uses the supported language analyzers.
Therefore, the json the LanguageAnalyzer  Builder + Language is generating at the moment is not correct (was this tested?).
We should be able to generate something like if we want to.
          "english_analyzer": {
            "type": "english",
            "char_filter": [
              "html_strip"
            ],
            "tokenizer": "standard"
          },

Now what is the fix here?
The DutchAnalyzer class (and the newly created classes) seems to be used to deserialize the jsons with "type": "dutch".
The LanguageAnalyzer builder is not generating the correct analyzer for languages for the settings clause...
It seems to me the new code will not cause any harm and at least allow the deserization of a correct language analyzer setting.
What about the LanguageAnalyzer Builder? I am not sure how many tests we have for them, it seems that indexes created with language analyzers using that builder will always fail creation.

@brentam
My understanding is that LanguageAnalyzer is used for languages that are supported by OpenSearch (hence the enumeration), whereas the custom analyzer is used in case you need any kind of customization.

LanguageAnalyzer is generating a completely different analyzer than DutchAnalyzer ( Remember, DutchAnalyzer already existed, I just added other analyzers for other languages: GermanAnalyzer, ItalianAnalyzer, etc...).

I sadly don't have any insights, but I believe it appeared exactly for the same cause as yours (no way to specify language analyzer). I am not claiming that the LanguageAnalyzer  + Language actually works, but I suspect it should be serving this purpose, referring to your example:
 Map<String, Analyzer> map = new HashMap<>();
        map.put("some_analyzer",
                LanguageAnalyzer.of(l -> l.language(Language.German).stemExclusion(new ArrayList<>()))
                ._toAnalyzer());
        IndexSettings settings = IndexSettings.of(
                it -> it.analysis(a ->
                        a.analyzer(map))
        );

Should roughly be serialized as (limiting to only analyzer part):
 "analyzer": {
        "some_analyzer": {
            "type": "german",
            "stem_exclusion": []
        }
 }

Therefore, I think the current changes are valid.

I am not saying that your change is not valid. I am pointing out only the fact that we already do have a mechanism to use language specific analyzers which apparently does not work - that to me is the issue that has to be fixed (vs introducing yet another way to achieve the desired goal).

@reta
thank you so much for your response.
So the existing DutchAnalyzer was an obsolete and should have been removed with the introduction of the LanguageAnalyzer...
In Any case, I can remove my changes and modify the  LanguageAnalyzer+Language to construct the "correct" json.
Just please confirm that you are ok with this change and I will proceed with the changes.

The CharFilter.Builder seems to be incomplete too.
There is no way to construct an array of names, like how is expected here
          "english_analyzer": {
            "type": "english",
            "char_filter": [
              "html_strip"
            ],
            "tokenizer": "standard"
          }

It only allows  a map
 .charFilter("some_char_filter", CharFilter.of(c -> c.name("html_strip")))
that will result in
{"some_char_filter":"html_strip"}
Now, I was looking at the apis related to the Charfilter builders. There is a lot of classes and hard to understand the right ones to use, so refactoring that will be a pain...
I suggest the simple fix would be having a "reference" method in the builder...
We would set it like this
 CharFilter.of(c -> c.references(new String[]{"html_strip","some_custom_charset_defined_elsewhere"}))

Thanks @brentam

As I said, it seems to me that design using the Per Language Analyzer seems the correct way since it follows the current design,
The LanguageAnalyzer+Language will result in some code that deviates from the current design...

So the current client model reflects the builtin analyzer types as they are described in the documentation [1] (sadly I have to refer to the Elasticsearch 7.10 here as OpenSearch documentation is not yet complete). In there, all language specific analyzers falls under "Language analyzers" category. I think if LanguageAnalyzer+Language are not supposed to configure language specific analyzers, than I honestly don't know what the purpose of those really is.
[1] https://www.elastic.co/guide/en/elasticsearch/reference/7.10/analysis-analyzers.html

If using the LanguageAnalyzer we can have two approaches.

Keep the Language value. We will have to modify the serialization to not expect/generate the "language" value in the json
Have all the 33 new Languages values added to the enum and then mapping them to the LanguageAnalyzer later during deserialization/Serialization?

I was thinking about this approach: "language" is gone (your 1st point) and "type" becomes the value of language (which  represents all languages supported by OpenSearch since it is an enumeration, covers your 2nd point). I think it would fix two issues at once: a) allow to specify language analyzer b) fix incorrect (de)serialization. It is also quite a small change from the scope perspective.
What do you think about this?

@reta
If using the LanguageAnalyzer, the CjkAnalyzer will have to be deleted too. That analyzer was added in August of 2023.
If follows the pattern of Analyzer per language, the same way I implemented the other 33 languages.

@reta
here is the PR with the quick changes to the Analyzer/LanguageAnalyzer changes
788

Thanks @brentam

As I said, it seems to me that design using the Per Language Analyzer seems the correct way since it follows the current design,
The LanguageAnalyzer+Language will result in some code that deviates from the current design...

So the current client model reflects the builtin analyzer types as they are described in the documentation [1] (sadly I have to refer to the Elasticsearch 7.10 here as OpenSearch documentation is not yet complete). In there, all language specific analyzers falls under "Language analyzers" category. I think if LanguageAnalyzer+Language are not supposed to configure language specific analyzers, than I honestly don't know what the purpose of those really is.
[1] https://www.elastic.co/guide/en/elasticsearch/reference/7.10/analysis-analyzers.html

If using the LanguageAnalyzer we can have two approaches.

Keep the Language value. We will have to modify the serialization to not expect/generate the "language" value in the json
Have all the 33 new Languages values added to the enum and then mapping them to the LanguageAnalyzer later during deserialization/Serialization?

I was thinking about this approach: "language" is gone (your 1st point) and "type" becomes the value of language (which represents all languages supported by OpenSearch since it is an enumeration, covers your 2nd point). I think it would fix two issues at once: a) allow to specify language analyzer b) fix incorrect (de)serialization. It is also quite a small change from the scope perspective.
What do you think about this?

@reta
We cannot keep the Language("language") value,  the "language" is what is expected from the type in the json
i.e: {"type":"language"} which is wrong, so basically I think we will have to keep  one value per language; Dutch("dutch"), English("english"); etc...
During the Deserialization we transform all those values to the a LanguageAnalyzer.
Please check the new PR with the draft for the changes and let me know what you think...


Batch revoke appears not to work with MetaMask mobile

For some reason MetaMask mobile does not handle multiple concurrent transaction requests, both using WalletConnect and in-app browser. We should investigate if there's a way to detect this and work around it. While we're at it we should do some double checks with other popular (mobile) wallets to make sure it works as expected.

I've been doing some tests today. I can't find any other wallets where this is an issue. Still need to see if there's a workaround for MetaMask.


Previous and Next Word using Ctrl+Left/Right key in SQL Editor

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I have a word e.g ABC-DEF_GHI_JKL
If i double click this word, this will select whole word i.e from A to L, that is fine.
Now lets assume the cursor is before letter A, and when i press Ctrl+Right key 4 times, the cursor first go to after letter C, then after "-" and then after letter F and then after "_"
Describe the solution you'd like
A clear and concise description of what you want to happen.
What i want to happen is that, if i press Ctrl+Right key, then cursor should move from "A" to end of word i.e after letter L, so with one key press  (Ctrl+Right key), the whole word should be passed by. i.e the same behavior that Notepad++ shows.
In SQL coding, underscore and hyphen are part of word and are used quite often, it will be a time saving to select/traverse the whole word in one go rather pressing the key combination multiple times.
Normally some editor allows this setting to be configurable i.e they allow underscore/hyphen/$/# etc, as part of the word, not as word delimiter.
So DBeaver should allow this setting to be configurable, so i can chose whether i want DBeaver to consider underscore (or any special character) as part of word or not. Please add this feature in settings to do customization.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

thanks for the suggestion.
Closed as a duplicate of #1155


fix: fix error during clear operation

There was an error with the clean operation:
$ python3 setcert.py -c -u 'CORP\user' -p 'pass'  -t 'WIN-DESKTOP$' ldap://<IP_ADDRESS>
[-] Connecting to host...
[-] Binding to host
[+] Bind OK
[+] Found modification target
[+] Printing object before clearing
[...]

Traceback (most recent call last):
  File "/opt/tools/roadtools_hybrid/setcert.py", line 259, in <module>
    main()
  File "/opt/tools/roadtools_hybrid/setcert.py", line 243, in main
    c.modify(targetobject.entry_dn, {'userCertificate':[(operation, [])]})
UnboundLocalError: local variable 'operation' referenced before assignment

This should be fixed with the PR :)

Nice catch, merged :)


Having creditcards on and IDEAL off breaks the checkout as of 1.26.0

Hello everyone,
While deploying a shop for a customer we came across the following bug.
In the following file, the method-renderer for the credit cards tries to fetch a configuration setting for IDEAL from the window.checkoutconfig.
https://github.com/buckaroo-it/Magento2/blob/master/view/frontend/web/js/view/payment/method-renderer/creditcard.js
On line 78 you see the following:
this.selectionType  = window.checkoutConfig.payment.buckaroo.ideal.selectionType;
When IDEAL is turned off as a payment method, window.checkoutConfig.payment.buckaroo.ideal will not be available, and thus the application will throw the following error:
cannot read "selectionType" of undefined.
I have been able to reproduce this in a live environment and a local environment, and was able to fix it by changing ideal to credit card.
Magento version: 2.3.4
PHP version: 7.3.19
Please fix this as soon as possible, thanks in advance.
Kind Regards,
Wouter Folkertsma

Same here. I was able to solve it with:
if(window.checkoutConfig.payment.buckaroo.ideal){this.selectionType=window.checkoutConfig.payment.buckaroo.ideal.selectionType;}

But it would make more sense to use creditcard.
This is about https://github.com/buckaroo-it/Magento2/blob/master/view/frontend/web/js/view/payment/method-renderer/creditcard.js#L78

@paul-stolk-webdiensten Thank you for the information. We will try to research this a.s.a.p. Did you test on Buckaroo v1.26.0?

@paul-stolk-webdiensten Thank you for the information. We will try to research this a.s.a.p. Did you test on Buckaroo v1.26.0?

Buckaroo 1.26.0, Magento ver. 2.3.3-p1.

This is the composer patch we used to fix it temporarily:
Buckaroo Github issue: https://github.com/buckaroo-it/Magento2/issues/56
===================================================================
--- /vendor/buckaroo/magento2/view/frontend/web/js/view/payment/method-renderer/creditcard.js
+++ /vendor/buckaroo/magento2/view/frontend/web/js/view/payment/method-renderer/creditcard.js
@@ -75,7 +75,11 @@
                     }
                     this.creditcards = ko.observableArray(filteredCards);

-                    this.selectionType  = window.checkoutConfig.payment.buckaroo.ideal.selectionType;
+                    if (window.checkoutConfig.payment.buckaroo.ideal){
+                        this.selectionType = window.checkoutConfig.payment.buckaroo.ideal.selectionType;
+                    } else {
+                        this.selectionType = "1";
+                    }

                     /**
                      * observe radio buttons

It hardcodes the selectionType to radio buttons (use "2" for dropdown) because when the iDeal payment method is disable, this object is not available in the creditcard conifg. But hey, it's something.

The issue is fixed from Buckaroo version 1.28.0


Principal axis alignment fails for very large structures, unclear why

For example 6MRU does not get aligned properly.  The overall impact is largely slower performance due to more voxels, but it also creates ugly pore surface shapes.

Possibly replacing some of the coordinate loading/manipulation done by biopython with biotite would resolve the issue of axis alignment, as biotite has it's own function for this

Use of biotite seems to resolve issue


user and group are not honoured

application_git ignores both application's and git's user and group attributes.
The former is just ignored; the latter is not taken into account in creating deploy_key and ssh_wrapper, as non-root users are not allowed to read or execute root's files.

:+1: Also getting this issue which prevents checkout of repo.

Workaround for now is just set it manually:
application '/asdf' do
  owner 'myuser'
  git 'https://github/etc' do
    onwer parent.owner
  end
end

Will get this in the next release of the cookbook to be handled automatically.

I tried your fix. It does not work with owner unfortunately:
undefined method `owner' for PoiseApplicationGit::Resource
It seems to work if I use user though:
git do
    user parent.owner
    group 'www-data'
    repository app['app_source']['url']
end

I should also mention I am using chef 12.6

Fixed via https://github.com/poise/application_git/commit/8c481a0309d47d5a4365317d90f7580c30508947

I'm excited to see this fixed. Can you provide an ETA on when we can expect a new version containing this fix on the Supermarket?


Why do you seperate positive and negative examples?

hi, I'm confused. Why do you separate positive and negative examples? Why not mix them together and shuffle?

This was done to balance the classes because the negative class is much larger than the positive classes. Addressing class imbalances is important for improving recall of the minority classes. At each step, we sample either a positive or negative batch with equal probability.
There are other ways one could address this. For example, as you suggested, you could mix all samples together and then down weight the loss for negative samples. This is an equally valid strategy and would just require some tuning to calibrate with the existing hyper-parameters.

Thanks a lot. I finally got it.


[FR] Option to search text in file with Telescope when creating a link

Please confirm

[x] I am running the latest version of this plugin

Is your feature request related to a problem? Please describe.
I often use Telekasten to insert links into my Markdown documents. The Telescope search that Telekasten uses only searches file names.
Describe the solution you'd like
Telekasten could add a config option to search not only file names but the text in files when inserting a link. This would be super helpful when I want to find files with the same hashtags for example but don't know the file name.
Describe alternatives you've considered
Currently I need to use a Telescope text search, find related files to link, remember the name, close the Telescope window, insert a Markdown link with Telekasten, put in the file name, and then repeat multiple times for each link I want to add.

Currently I need to use a Telescope text search, find related files to link, remember the name, close the Telescope window, insert a Markdown link with Telekasten, put in the file name, and then repeat multiple times for each link I want to add.

Actually you could just use search_notes() and instead of pressing CR to open the note, press C-i to paste the link in insert mode directly. Technically the insert_link function can be completely disregarded. C-i action will insert a link to the file selected, no matter the picker (more or less). So no need to quit the picker, remember the name and search with another picker..

So yeah we could pass an option to insert_link so we use search_note instead of find_note, but it is not that pressing, IMO.
I think a better idea would be to get rid of insert_link as it is altogether and simply let users use that as a proxi for other functions.
In the same vein, we should let users configure the mappings they prefer for the telescope actions (open file, paste link and yank link). With that, we could do everything simply with a few pickers and tailor the other high level commands by passing the appropriate options.
All in all, I do not think I will work on that right now, but complete refactoring of telescope pickers is definitely something I have in mind.

My apologies, I just tried again and realized I had used Telekasten search_notes rather than Telekasten find_notes. Sorry for the user error, find_notes works well for my purposes. Thanks for your help.
I'm using Neovim 0.8.3 on macOS in the Kitty terminal.

This does not really matter. The links should always have the same formatting.
When I try c-i with search_notes or find_notes I get the same link as when I do insert_link with cr

Hmm, that's definitely not what happens for me. C-i using search_notes creates a Markdown wiki link with the entire filepath all the way from root. find_notes gets the same Markdown wiki link as insert_link, just the file name without the .md extension.

I'll check this out this week end.


[YUNIKORN-369] Set default go version to 1.15.

Hey @yangwwei,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 96e5a450-dcf2-11ea-b6e2-493429cddfc3

@wilfred-s pls help to review

hi @wilfred-s
Since go 1.12 is EOL, I think we should update the version to 1.15.
We do not rely on any of 1.15 features directly today, but that doesn't mean we cannot (or not need) to include some new features moving forward. So today, we are most likely in your case 3.
We need to be careful to define what version of go can be supported, today we are saying 1.11+. But if someday we added some necessary changes that only supported by later go versions, we will need to visit our dependency check and doc, we can make decision later if we need to include that change or not.

Hey @yangwwei,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: d27064e0-ecad-11ea-b6ba-27fe84eba218

Since go 1.12 is EOL, I think we should update the version to 1.15.

The go.mod version has nothing to do with being EOL or not. It is purely about what we allow at a language level and the way the compile fails.

We do not rely on any of 1.15 features directly today, but that doesn't mean we cannot (or not need) to include some new features moving forward. So today, we are most likely in your case 3.

Yes but it does not enforce anything. That is why I have a change for the Makefile that will enforce the go.mod version as a minimum go version for the build. I think that is far more important and we can change the mod file when we really leverage the new language functionality.

We need to be careful to define what version of go can be supported, today we are saying 1.11+. But if someday we added some necessary changes that only supported by later go versions, we will need to visit our dependency check and doc, we can make decision later if we need to include that change or not.

I have a change ready to go that will make sure the go.mod version is the same as we check in the Makefile. It will also make sure that the installed version that is used is at least the version we define in go.mod. If it is not lining up we fail the build. (YUNIKORN-387)


identity: Allow registration of additional identity handlers

This commit extends the identity cache cell with the ability to invoke additional identity handlers. This differs from the existing stream.Observable[cache.IdentityChange] (c.f. https://github.com/cilium/cilium/pull/26373) in that it contains all identities, not just the ones from the local cluster.
We are using a callback rather than an observable here, since consumers of observables can register themselves late, requiring  us to replay the current state from all remote cluster caches. This would require a rather convoluted solution. Therefore, we instead opt for a simpler solution were consumers statically register their interest at construction time via a callback. This ensures that they observe all identity updates that happen to occur, even before the cell is started.

/test

/ci-gateway-api


Cannot Run qrun with lightgbm workflow config

🐛 Bug Description
[30705:MainThread](2022-01-03 14:54:21,119) INFO - qlib.Initialization - [config.py:391] - default_conf: client.
[30705:MainThread](2022-01-03 14:54:21,120) WARNING - qlib.Initialization - [config.py:416] - redis connection failed(host=<IP_ADDRESS> port=6379), DiskExpressionCache and DiskDatasetCache will not be used!
[30705:MainThread](2022-01-03 14:54:21,122) INFO - qlib.Initialization - [init.py:68] - qlib successfully initialized based on client settings.
[30705:MainThread](2022-01-03 14:54:21,122) INFO - qlib.Initialization - [init.py:70] - data_path={'__DEFAULT_FREQ': PosixPath('/Users/waterking/.qlib/qlib_data/cn_data')}
[30705:MainThread](2022-01-03 14:54:21,122) INFO - qlib.workflow - [expm.py:282] - No tracking URI is provided. Use the default tracking URI.
[30705:MainThread](2022-01-03 14:54:21,123) INFO - qlib.workflow - [expm.py:318] - <mlflow.tracking.client.MlflowClient object at 0x7fcb958192b0>
[30705:MainThread](2022-01-03 14:54:21,174) WARNING - qlib.workflow - [expm.py:200] - No valid experiment found. Create a new experiment with name workflow.
[30705:MainThread](2022-01-03 14:54:21,176) INFO - qlib.workflow - [exp.py:249] - Experiment 1 starts running ...
[30705:MainThread](2022-01-03 14:54:21,387) INFO - qlib.workflow - [recorder.py:290] - Recorder 626bf05912ac41d8bf43596b90fb0e2f starts running under Experiment 1 ...
Please install necessary libs for CatBoostModel.
[30705:MainThread](2022-01-03 14:54:21,965) INFO - qlib.timer - [log.py:113] - Time cost: 0.000s | waiting async_log Done
[30705:MainThread](2022-01-03 14:54:21,966) ERROR - qlib.workflow - [utils.py:38] - An exception has been raised[OSError: dlopen(/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/lightgbm-3.3.1-py3.8-macosx-10.9-x86_64.egg/lightgbm/lib_lightgbm.so, 0x0006): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
Referenced from: /Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/lightgbm-3.3.1-py3.8-macosx-10.9-x86_64.egg/lightgbm/lib_lightgbm.so
Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)].
File "/Users/waterking/opt/anaconda3/envs/qlib/bin/qrun", line 33, in
sys.exit(load_entry_point('pyqlib==<IP_ADDRESS>', 'console_scripts', 'qrun')())
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/workflow/cli.py", line 62, in run
fire.Fire(workflow)
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/fire-0.4.0-py3.8.egg/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/fire-0.4.0-py3.8.egg/fire/core.py", line 466, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/fire-0.4.0-py3.8.egg/fire/core.py", line 681, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/workflow/cli.py", line 56, in workflow
recorder = task_train(config.get("task"), experiment_name=experiment_name)
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/model/trainer.py", line 222, in task_train
_exe_task(task_config)
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/model/trainer.py", line 41, in _exe_task
model: Model = init_instance_by_config(task_config["model"])
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/utils/init.py", line 302, in init_instance_by_config
klass, cls_kwargs = get_callable_kwargs(config, default_module=default_module)
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/utils/init.py", line 216, in get_callable_kwargs
module = get_module_by_module_path(config.get("module_path", default_module))
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/utils/init.py", line 190, in get_module_by_module_path
module = importlib.import_module(module_path)
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 961, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/contrib/model/init.py", line 9, in
from .double_ensemble import DEnsembleModel
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/pyqlib-<IP_ADDRESS>-py3.8-macosx-10.9-x86_64.egg/qlib/contrib/model/double_ensemble.py", line 4, in
import lightgbm as lgb
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/lightgbm-3.3.1-py3.8-macosx-10.9-x86_64.egg/lightgbm/init.py", line 8, in
from .basic import Booster, Dataset, Sequence, register_logger
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/lightgbm-3.3.1-py3.8-macosx-10.9-x86_64.egg/lightgbm/basic.py", line 110, in
_LIB = _load_lib()
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/lightgbm-3.3.1-py3.8-macosx-10.9-x86_64.egg/lightgbm/basic.py", line 101, in _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/ctypes/init.py", line 459, in LoadLibrary
return self._dlltype(name)
File "/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/ctypes/init.py", line 381, in init
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/lightgbm-3.3.1-py3.8-macosx-10.9-x86_64.egg/lightgbm/lib_lightgbm.so, 0x0006): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
Referenced from: /Users/waterking/opt/anaconda3/envs/qlib/lib/python3.8/site-packages/lightgbm-3.3.1-py3.8-macosx-10.9-x86_64.egg/lightgbm/lib_lightgbm.so
Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)
To Reproduce
Steps to reproduce the behavior:
1.Quant Research Workflow: Run qrun with lightgbm workflow config (workflow_config_lightgbm_Alpha158.yaml as following.
cd examples  # Avoid running program under the directory contains qlib
qrun benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
Expected Behavior

Screenshot

Environment
Note: User could run cd scripts && python collect_info.py all under project directory to get system information
and paste them here directly.

Qlib version: Newest
Python version: 3.8.5
OS (MacOS):
Commit number (optional, please provide it if you are using the dev version):

Additional Notes

Solution of the first step:
brew install libomp
pip install xgboost
pip install torch==1.7.0
pip install lightgbm==3.1.0
The problem arises because lightgbm=3.3.1 doesn't fit.


Look into use of dotfiles

Can we use the dotfiles feature of codespaces to simplify customisations to .bashrc? https://docs.github.com/en/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#dotfiles

I have just tried this and my dotfiles are not being copied over. I would err away from this, it looks like each user would need to have a personal dotfiles repo.
Happy to be corrected though.

Okay, thanks for looking into this.


Additional LitComponents are not rendered/called

I am not sure if I'm missing something but I pulled your form components. The LitComponents are rendered in HTML but it looks like it's not calling the function associated with the tags.
The only difference I see is that I am using Elmish at the root instead of Lit element. Not sure if that will make a difference?
I'm trying to use the horizontal stack component but no dice. If I explicitly call the function then it renders. I feel like something is missing?
Edit: What I notice is that the generated javascript doesn't have the Ctrls.fs? Maybe it's optimizing when it's not being used?

Please post some code or markup so I can see what you mean and how you are using it.
Also, have you tried the useContext hook that we made on your Fable.Lit thread?
You might be able to use that instead of using global Elmish.

https://github.com/fable-compiler/Fable.Lit/discussions/66#discussioncomment-3419629
I have not but will try it out soon.

Is that true, @AngelMunoz? I think I recall seeing that on one of your blog posts.

Yes, due how dead code elimination is applied by webpack/vite and similar bundlers the actual function might get eliminated along its file, what we do in those cases is to add the
let register() = ()

function so the file is processed and not eliminated in the process

Added Ctrls.register() to App.fs.


Debug-mode arithmetic overflow in JPEG decoding (found by fuzzer)

This happens in image from git on commit 04052e64c9a94606efc8bd3d87d5f3e0f566774e
Decoding the attached file results in an arithmetic overflow, causing a panic in debug mode:
thread '<unnamed>' panicked at 'attempt to subtract with overflow', ~/.cargo/registry/src/github.com-1ecc6299db9ec823/jpeg-decoder-0.2.6/src/decoder/lossless.rs:201:15
Reproduction steps
cargo +nightly fuzz run fuzzer_script_jpeg path/to/file
The sample triggering it: underflow.jpeg

@fintelia I also encountered this bug. Panics are a high priority issues for my project. I just created a PR to fix this.
Though it's not very elegant, it does appear to resolve the issue though and passes the tests if tested on top of https://github.com/image-rs/jpeg-decoder/pull/259, a change needed to build the tests now that one of the dependencies requires Rust edition 2021 (v1.56.0+).


clear scopeInfo->scope to avoid GC false positive

The given field holds a pointer to arena memory temporarily.
Clear it when done to avoid GC false positive (memory released
and reused by GC later).
This issue blocks -VerifyBarrierBit (without -KeepRecyclerTrackData
thus the filter doesn't work) test on Linux.

LGTM. Thanks.

Thanks @leirocks @digitalinfinity @pleath


[WPPCONNECT] When no token and secret key is wrong, it fails

give it a better message.

fixed in https://github.com/dudanogueira/rocket.connect/commit/705075557e6d05d8778cdf6fc77f9d3ef436142a


Detect subscribed in backend

Detects if subscribed and will save nwc profiles to vss if you have mutiny+
Closes #664
Closes #691

Will this remove the need for the frontend to store sub-status in localStorage?

Is NWC profiles being saved for everyone now or just those being subscribed?

just subscribed

What's going to happen to people that stopped subscribing? Is their data going to be deleted? How is it fetched when they stopped subscribing?

I just really don't want to see anything stored in VSS besides critical data until we have a better handle on storage stuff.

I just really don't want to see anything stored in VSS besides critical data until we have a better handle on storage stuff.

yeah i understand that, this should handle all the cases but we can leave it out for now


iPad - unable to move or reorder pages / tabs

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
When using the iPad and attempting to move a page around to reorder them, I am unable to.
Not when using the trackpad on my magic keyboard, the touch screen or my apple pencil.
I’ve also tried these actions with function keys such as CMD, Option, or Control.
Using arrow keys with various other keys doesn’t help either, like Tab, CMD, Option or Control.
This feature is available on Desktop version, but not iPad in any way I have tried.
To Reproduce
Steps to reproduce the behavior:

use an iPad browser of Safari or Chrome, and navigate to draw.io
Create or open a graph with multiple pages / tabs.
attempt to move the pages around and reorder them
notice no change or reaction

Expected behavior
Being able to click-and-drag a page on a graph with multiple pages and be able to move them around and change their order.
Screenshots
Since any recording applications I try don’t records button or keyboard clicks, I’m unable to properly record this action NOT taking place when I attempt it.
draw.io version:
20.3.2
Desktop (please complete the following information):

OS: iOS on iPad, version 15.7
Browser: Chrome version 150.0.5195.129
Browser: Safari - version is tied to iOS version

I'm curious where else this issue occurs.

Added Move submenu to page tab context menu in v20.5.0.


[WIP]Added eager update methods and eager validation and update methods

This is a work in progress I'm looking for some feedback and some ideas on how to tackle the problem of updating the relationships  particularly the many to many relationships and how to go about making sure a relationship gets deleted when the association is removed from the parent. And the records on the join table are updated appropriately.

Why?

Was wondering that as well... it's marked as WIP so unless you have decided to not work on it anymore I see no need to close it yet...


Hotfix - allow class constants with all possible scalar values (PHP 5.6 compatible)

:+1:

Merging myself after review by @asgrim.
Feel free to punch me afterwards

Merged:
master: zendframework/zend-code@bd476716bce6edcfeb46e4f2c50936c5ddd443f9
develop: zendframework/zend-code@1cf4d81a329b2f4a92ac25065f40bd8fa5bdaeb3


useQuery throws an error saying useQuery isn't exported when using in a custom hook

What is the location of your example repository?
No response
What version of Hydrogen are you using?
^1.5.0
What version of Remix are you using?
No response
Steps to Reproduce
So, I am using Oxygen as my hosting platform.

Create a custom hook that uses useQuery for a 3rd party API. Specifically, I'm using it like this:

export function useGetBuilderContent(model: string, queryName: string) {
  const {data} = Shopify.useQuery(queryName, async () => {
    return await builder
      .get(model)
      .promise()
      .then(({data}) => data);
  });

  return data;
}

Use the new custom hook in an SSR component
Run yarn build or the equivalent for your package manager

The only way to fix it, for now, is to change the import statement from:
import {useQuery, useServerProps} from '@shopify/hydrogen';
To:
import * as Shopify from '@shopify/hydrogen';
Expected Behavior
It's bundled as expected and succeeds in the build process.
Actual Behavior
Fails with an error message:
'useQuery' is not exported by<EMAIL_ADDRESS>imported by src/lib/hooks.ts

👋 This looks like a Hydrogen v1 issue. useQuery etc are no longer part of Hydrogen 2023.1, which was released today. I'm going to transfer your issue to the correct repo.

Thank you and congrats @jplhomer + Shopify!


Prevent the compiler applying unhelpful optimizations (NEON Baby Bear)

The compiler's being a bit too clever and generating subtraction code (also used in multiplication) that's slower than my intrinsics.
I don't like this hack, but it does actually make a significant difference in performance (~10% for mul and ~20% for sub).

black_box is also implemented with inline asm, but it passes a pointer through (as opposed to the value itself). That means that the compiler has to store and load the value, which has a large performance penalty.
I'll update the docs to make this distinction clear.


Add room transition by clicking on threshold.

Lookup player destination and room destination bounds
Move camera to look at the new destination in the new room
Move player to target location in the new room

Currently the player movement into the new room doesn't look good since it moves in front of the walls, but when we're putting the levels together with the final art, the tiles can be placed so that the player moves behind them.

For issue #8

Coooooool, can't wait to try this out!

This looks awesome!


Update installation.md - Grammar Errors

I fixed the Grammar Errors
This is my commit message
Signed-off-by: Midhun Biju<EMAIL_ADDRESS>

@midhunbiju
Please fix the DCO sign.

@sonasingh46 how can i fix DCO sign.
Pls help me

There was a changes in the way of installation from the latest release. Thank you for your effort though.


WC in flavio

Hello,
In this example https://github.com/flav-io/flavio-examples/blob/master/Plots_of_q2_dependent_observables.ipynb in cell 6 you said that CV_buenu': 0.2, 'CV_bumunu': 0.2 # increasing the b->ulnu amplitude by 20%, while in the example the manual in page 7 you wrote Wilson ({ ’ CVRR_bdbd ’: 1 e - 10 , ’ CVRR_bsbs ’: 1 e - 10} , scale =160 , eft = ’ WET ’ , basis = ’ flavio ’). What is the difference between the WC values in these two examples? To me, it looks like in the first example the WC values represent the ratio between the np and sm WC. While in the second example it looks like that the wc value is the absolute np wc value. Is that right?
Ahmed Rashed

This is how the WCs are defined:
https://wcxf.github.io/assets/pdf/WET.flavio.pdf

Is there any way to access the wc_sm of the observables, such as B+->K*mumu?

This is not easily accessible, and it is intentional as they are not as easy to define as the NP contributions. There are many subtleties as the SM WCs are really only well defined together with the matrix elements, and changing one without the other (e.g. the scheme or scale) is inconsistent. This is also why the SM WCs can't be easily changed.


dump autoload fails

When I run composer dump-autoload -o my scripts fail because of the missing Psr\Log\LoggerAwareInterface

Could you send PR with fix?

That is not that easy. If I move "psr/log": "^1.1.2" to required the composer json it would require to have phpunit/phpunit, too.

Go for it. PHPUnit 8 should be allowed for a long time, so Symfony 5 etc.

That is not that easy. If I move "psr/log": "^1.1.2" to required the composer json it would require to have phpunit/phpunit, too.

No?

I've updated the log interface + run dump-autoload locally and all works. Also test are passing.
Try removing /vendor and composer.lock and re-install this package.

@TomasVotruba please file a new release


Added missing word "take" based on issue #325

@pebaum - can you please assist to check, approve and merge the content for this PR based on issue #325?
Thank you.

@AndreaBarr @kenwith - Would you be able to merge the content of this Level 1 Typo issue based on
#325?
Thank you.


Reshape Op not the same as tensorflow.reshape

I am getting the error Invalid argument: NodeDef mentions attr 'Tshape' not in Op<name=Reshape; signature=tensor:T, shape:int32 -> output:T; attr=T:type>; NodeDef: Y_GroundTruth = Reshape[T=DT_FLOAT, Tshape=DT_INT32](LOut_Add, Y_GroundTruth/shape) when attempting to load the file on Android using tensorflow::Status s = session->Create(graph_def);.
People with similar problems have mentioned that upgrading to Tensorflow 0.9.0rc0 fixed their problems. However, I am already using the most current Tensorflow build in my jni-build.
Could this be a problem with the variables declared when generating the protobuf file?
What related GitHub issues or StackOverflow threads have you found by searching the web for your problem?
https://github.com/tensorflow/tensorflow/issues/3002
https://github.com/tensorflow/tensorflow/issues/1528
Environment info
Operating System:
Mac OS 10.12
Android Cyanogenmod 12
Tensorflow 0.10.0 on Jupyter
If possible, provide a minimal reproducible example (We usually don't have time to read hundreds of lines of your code)
Snippet
    def reg_perceptron(t, weights, biases):
        t = tf.nn.relu(tf.add(tf.matmul(t, weights['h1']), biases['b1']), name = "layer_1")
        t = tf.nn.sigmoid(tf.add(tf.matmul(t, weights['h2']), biases['b2']), name = "layer_2")
        t = tf.add(tf.matmul(t, weights['hOut'], name="LOut_MatMul"), biases['bOut'], name="LOut_Add")

        return tf.reshape(t, [-1], name="Y_GroundTruth")

    g = tf.Graph()
    with g.as_default():
       ...
       rg_weights = {
        'h1': vs.get_variable("weights0", [n_input, n_hidden_1], initializer=tf.contrib.layers.xavier_initializer()),
        'h2': vs.get_variable("weights1", [n_hidden_1, n_hidden_2], initializer=tf.contrib.layers.xavier_initializer()),
        'hOut': vs.get_variable("weightsOut", [n_hidden_2, 1], initializer=tf.contrib.layers.xavier_initializer())
        }

        rg_biases = {
        'b1': vs.get_variable("bias0", [n_hidden_1], initializer=init_ops.constant_initializer(bias_start)),
        'b2': vs.get_variable("bias1", [n_hidden_2], initializer=init_ops.constant_initializer(bias_start)),
        'bOut': vs.get_variable("biasOut", [1], initializer=init_ops.constant_initializer(bias_start))
        }

        #output node
        pred = reg_perceptron(_x, rg_weights, rg_biases)
        ...
    ...

    g_2 = tf.Graph()
    with g_2.as_default():
        ...
        rg_weights_2 = {
        'h1': vs.get_variable("weights0", [n_input, n_hidden_1], initializer=tf.contrib.layers.xavier_initializer()),
        'h2': vs.get_variable("weights1", [n_hidden_1, n_hidden_2], initializer=tf.contrib.layers.xavier_initializer()),
        'hOut': vs.get_variable("weightsOut", [n_hidden_2, 1], initializer=tf.contrib.layers.xavier_initializer())
        }

        rg_biases_2 = {
        'b1': vs.get_variable("bias0", [n_hidden_1], initializer=init_ops.constant_initializer(bias_start)),
        'b2': vs.get_variable("bias1", [n_hidden_2], initializer=init_ops.constant_initializer(bias_start)),
        'bOut': vs.get_variable("biasOut", [1], initializer=init_ops.constant_initializer(bias_start))
        }

        pred_2 = reg_perceptron(_x_2, rg_weights_2, rg_biases_2)
        ...

What other attempted solutions have you tried?
I will double check the Tensorflow version tomorrow and make sure that it is the same as the version I am using in the jni-build.
I also attempted to strip the graph using
#!/bin/bash
bazel-bin/tensorflow/python/tools/strip_unused --input_graph=/Users/leslie/Downloads/trained_model6.pb --output_graph=/Users/leslie/Downloads/stripped_graph.pb --input_node_names=X_Input --output_node_names=Y_GroundTruth --input_binary=true

but the output is simply
6

Y_GroundTruthPlaceholder*
dtype0*
shape:

and attempting to freeze the graph with
#!/bin/bash
bazel-bin/tensorflow/python/tools/freeze_graph \
--input_graph=/Users/leslie/Downloads/trained_model6.pb \
--input_checkpoint=/Users/leslie/Downloads/Y6_1476978999 \
--output_graph=/Users/leslie/Downloads/frozen_graph.pb --output_node_names=Y_GroundTruth

gives the error
File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/strip_unused.runfiles/org_tensorflow/tensorflow/python/tools/strip_unused.py", line 77, in <module>
    tf.app.run()
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/strip_unused.runfiles/org_tensorflow/tensorflow/python/platform/app.py", line 43, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/strip_unused.runfiles/org_tensorflow/tensorflow/python/tools/strip_unused.py", line 74, in main
    FLAGS.placeholder_type_enum)
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/strip_unused.runfiles/org_tensorflow/tensorflow/python/tools/strip_unused_lib.py", line 89, in strip_unused_from_files
    placeholder_type_enum)
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/strip_unused.runfiles/org_tensorflow/tensorflow/python/tools/strip_unused_lib.py", line 62, in strip_unused
    output_node_names)
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/strip_unused.runfiles/org_tensorflow/tensorflow/python/framework/graph_util.py", line 158, in extract_sub_graph
    assert d in name_to_node_map, "%s is not in graph" % d
AssertionError: Y_GroundTruth is not in graph
leslie@MacBook-Pro tensorflow-master $ ./stripunused.sh
1 ops in the final graph.
leslie@MacBook-Pro tensorflow-master $ ./freezegraph.sh
Traceback (most recent call last):
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/freeze_graph.runfiles/org_tensorflow/tensorflow/python/tools/freeze_graph.py", line 135, in <module>
    tf.app.run()
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/freeze_graph.runfiles/org_tensorflow/tensorflow/python/platform/app.py", line 43, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/freeze_graph.runfiles/org_tensorflow/tensorflow/python/tools/freeze_graph.py", line 132, in main
    FLAGS.output_graph, FLAGS.clear_devices, FLAGS.initializer_nodes)
  File "/Users/leslie/tensorflow-master/bazel-bin/tensorflow/python/tools/freeze_graph.runfiles/org_tensorflow/tensorflow/python/tools/freeze_graph.py", line 98, in freeze_graph
    text_format.Merge(f.read().decode("utf-8"), input_graph_def)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 278: invalid start byte

Logs or other output that would be helpful
To stop the post from being too cluttered, I have uploaded my code to generate the .PB-file and my model to create the model on Pastebin.
Surprisingly enough, the code used to test the model with the graph used to generate the .PB-file  (lines 154 and 155) does not return any errors (still in the process of checking the outputs).
PBFileGeneration
Model

It looks like you are running a binary for inference that is still too old.
https://github.com/tensorflow/tensorflow/blob/5e5dc97dd3523509ce5f536d7be5122d016fc6b5/tensorflow/core/ops/array_ops.cc#L1328 is currently at HEAD in master, which suggests you are using an up to date binary for generating the protobuf model.
However, the binary is complaining it doesn't know what "Tshape" is, which suggests it is running at an older commit where it doesn't have that definition in its binary -- if you make sure your model-interpreting binary is built at least or beyond what the protobuf-generating binary is, you should be okay.  Let us know if that helps.
For anybody that is interested, https://www.tensorflow.org/versions/r0.11/resources/data_versions.html#tensorflow-data-versioning-graphdefs-and-checkpoints describes our compatibility guarantees.

It's very strange but the JNI-build in my Android is using the most actual Tensorflow build in GitHub. I am not 100% if what I did was correct (I could not find any documentation on how to port Tensorflow to the JNI-build) but I am currently following the build from TensorflowAndroidMNIST. Here I just replaced the entire include/tensorflow with that from tensorflow/tensorflow and rebuilt the .so-file. As no errors were returned and the .so-file was generated, I assume it was done correctly. However, I still get the same error when attempting to load the file.
I also tried editing array_ops.cc in the original Tensorflow build then rebuilding the .so-file but I get the same result.

Weirdly enough I am still getting the error. I am currently trying to find other areas where the "Reshape" op could be defined and see if I can change it there.

@leslietso To clarify: you're still getting the error after building from master?  That seems unlikely, since a recent build would definitely understand Tshape.

Yes. However, I do not believe it is the problem with master. I am currently trying to figure out what is going wrong when I am rebuilding Tensorflow in Android. It could be that somehow Android is still using the old build despite the existence of a newer build. I will update once I figure out what went wrong.

@leslietso could you explain more details "It turned out for some reason tensorflow/core/ops was not included in the tensorflow/BUILD file and once I added that the error went away."
Or if possible, could you send me a sample of your project?
I am still working on TensorflowAndroidMNIST but it does not work.


libpng-1.6.29-r1 (edge): BAD signature

seems to have recently expired??
FROM alpine:edge
RUN apk add --update ttf-freefont
==== during docker build ===
(39/112) Installing libpng (1.6.29-r1)
ERROR: libpng-1.6.29-r1: BAD signature
=== docker exec -it  sh ===
apk verify /usr/lib/libpng16.so.16.29.0
/usr/lib/libpng16.so.16.29.0: -5 - UNTRUSTED

Looks related to a revert: https://git.alpinelinux.org/cgit/aports/commit/?id=9fec3a11c2d9c569da695e1a1055d67325215ae0. The package with same version was rebuilt when it was already cached on the CDN. I purged it so the new file will be cached. Should be fixed.


[WIP] Fix file dialogs cancel crash

Now, the file dialog functions return null if aborted.
Missing: dialog documentation
Closes #116

I'll backport the change also to master and publish a 0.2.1 version

Updating libui itself would fix the TextArea.getText() line-ending situation & a datetimepicker crash on macOS.

I'll do it

Ok, published 0.2.1. It should be installed by default in dependent projects


Fix centisecond timer to count 100 times per second instead of 120.

The centisecond timer is incremented by 2 for every VBLANK interrupt. At least in most modes (hint, hint, you could use QVGA_320x240_60Hz instead of VGA_320x200_75Hz) this interrupt occurs 60 times per second, meaning that the counter is incremented by 120 every second, instead of 100.
Suggestion: keep a modulo-3 counter to track the number of VBLANK IRQs and increment the timer only by 1 for every third VBLANK interrupt, by 2 for the other two. Each second the counter would be incremented by 40 times by 2 and by 20 times by 1. Together this is 2x40+20 = 100 times.

An alternative approach would be to use an eZ80 timer, but that would decouple it from the VBLANK interrupt.

Reading this, it feels to me that we should just have two different timers.
One should be a genuine centisecond timer, de-coupled from the VBLANK interrupt.  This should probably use the existing sysvar_time value.  This would fix that value, so it would then represent the value it is documented to represent.
The other should be a genuine VBLANK timer, incremented by one every time a VBLANK interrupt happens.
It feels that the suggestion @lennart-benschop has made could fix things, to get it to work properly the code would need to work out what the VBLANK interval actually is, especially given the existence of 75hz modes as well as 60hz modes.  I suspect this would be more complex than just having separate timers.


Automate sending Resolve FCPXML to CommandPost's Sony Timecode Repair Toolbox

George Elias writes:

The ONE TOOL I’d love if you haven’t implemented it already is a one button XML transfer for Sony & BRAW files.
Like your Sony Timecode Tool, but it properly facilitates the reconnect between all footage in the timeline.

So that you can send BRAW and Sony clips easily to Resolve.

This is now implemented in the latest beta.


Azure.Storage.Blobs causes Connect-AzAccount to fail when using version 7.0.6 (.Core 3.1)

Using Azure.Storage.Blobs 12.8.1
PowerShell ConsoleHost version 7.0.6 (.Core 3.1)
PSVersion 7.1.3
Az PowerShell Cmds 5.8.0
Under the above conditions using Connect-AzAccount will throw
Could not load file or assembly 'Azure.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8'. The system cannot find the file specified.
However, I can use the same command in Visual Studio Code PowerShell for 7 (and ISE for 5.1)
If I uninstall Azure.Storage.Blobs the call works as expected
I can toggle back and forth between seeing the above error and the code working by installing and uninstalling Azure.Storage.Blobs.
Steps to reproduce
Setup an Azure Account
Setup a Service Principal (service username/password)
Execute Connect-AzAccount -ServicePrincipal (with other required parameters)
With Azure.Storage.Blobs installed, ps.Streams.Error will contain an error with the text above. Without Azure.Storage.Blobs the AzAccount connection works as expected.
How to setup a service principal (powershell)
#Remember to log in as an Azure Admin FIRST (via Connect-AzAccount)
$UserName="AzureDevTestUser";
$Password="ThisIsAPasswordHere";
$TenantId = (Get-AzContext).Tenant.Id
$credentials = New-Object Microsoft.Azure.Commands.ActiveDirectory.PSADPasswordCredential -Property @{StartDate=Get-Date; EndDate=Get-Date -Year 2024; Password=$Password}
New-AzAdServicePrincipal -DisplayName $UserName -PasswordCredential $credentials
$sp = Get-AzADServicePrincipal -DisplayNameBeginsWith $UserName
$ApplicationId = $sp.ApplicationId;
New-AzRoleAssignment -ApplicationId $ApplicationId -RoleDefinitionName 'Contributor'

More detailed code. When running this code make sure to copy the ApplicaitonId and TenantId into the code in place of the variable names!
var iss = InitialSessionState.CreateDefault();
iss.ExecutionPolicy = ExecutionPolicy.Bypass;
var rs = RunspaceFactory.CreateRunspace(iss);
rs.Open();

var ps = PowerShell.Create();
ps.Runspace = rs;
ps.AddScript("$PWord = ConvertTo-SecureString -String ThisIsAPasswordHere -AsPlainText -Force;");
ps.AddScript("$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $PWord;");
ps.AddScript("$account=Connect-AzAccount -ServicePrincipal -Credential $Credential -Tenant $TenantId;");
ps.Invoke();

var errors = ps.Streams.Error.ToArray();
var informations = ps.Streams.Information.ToArray();
var verboses = ps.Streams.Verbose.ToArray();

var er = errors.FirstOrDefault();

var v = rs.SessionStateProxy.GetVariable("ver");
var commands = rs.SessionStateProxy.GetVariable("commands");
var account = rs.SessionStateProxy.GetVariable("account");
var t = rs.SessionStateProxy.GetVariable("t");
var accountsVer = rs.SessionStateProxy.GetVariable("accountsVer");

@SteveL-MSFT Could you please triage/classify the issue?

@TheAtomAnt - could you provide the output of Get-Error after you get this error? Having more information may help narrow the issue down.

@dingmeng-xue Could you please take a look at this issue? Could it be something with the Azure.Storage.Blobs module?

Azure PowerShell are in different Github org and issue cannot be moved. Could you create a new Github issue our Azure PowerShell repo? We will follow up.


Pass the epsilon object not the samples to asy_peakbag.

Currently we pass the epsilon samples into asy_peak bag - this is crazy, we should pass the whole epsilon class.  This will allow us to use the instance of epsilon that is already there as the prior in asy_peakbag.  This is just much better style compared with making a new instance as we (well I did it so my bad) at the moment.

Personally I would prefer to call epsilon inside asy_peakbag, or at least
leave it as an optional input. Makes it easier to use asy_peakbag.
On Thu, 25 Jul 2019 at 08:56, Guy Davies<EMAIL_ADDRESS>wrote:

Currently we pass the epsilon samples into asy_peak bag - this is crazy,
we should pass the whole epsilon class. This will allow us to use the
instance of epsilon that is already there as the prior in asy_peakbag. This
is just much better style compared with making a new instance as we (well I
did it so my bad) at the moment.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/grd349/PBjam/issues/145?email_source=notifications&email_token=AEJWO36AFKRKK22J7FWRV23QBGPJJA5CNFSM4IG2LOCKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HBPD55Q,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJWO32QW4PL2TQ23SUJ2VLQBGPJJANCNFSM4IG2LOCA
.

The way we have it right now we make two instances of the epsilon class and this takes more memory than a single class.  Also, there is over head in reading in the prior data and constructing the KDE.  We don't really need to do this.
There is also a possible speed up to be have from internally working epsilon to produce a multivariate description of the posterior to be used in asy_peakbag that would be much much faster than the KDE - especially when we have many more stars in the prior data.
I think I'm quite keen on doing this :)

The way we have it right now we make two instances of the epsilon class
and this takes more memory than a single class

This doesn't conflict with having epsilon called internally in asy_peakbag.
internally working epsilon to produce a multivariate description of the

posterior to be used in asy_peakbag

You'll have to explain this to me in more detail.
On Thu, 25 Jul 2019 at 09:41, Guy Davies<EMAIL_ADDRESS>wrote:

The way we have it right now we make two instances of the epsilon class
and this takes more memory than a single class. Also, there is over head in
reading in the prior data and constructing the KDE. We don't really need to
do this.
There is also a possible speed up to be have from internally working
epsilon to produce a multivariate description of the posterior to be used
in asy_peakbag that would be much much faster than the KDE - especially
when we have many more stars in the prior data.
I think I'm quite keen on doing this :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/grd349/PBjam/issues/145?email_source=notifications&email_token=AEJWO37TJWF3GHL3NDCYUFLQBGUP5A5CNFSM4IG2LOCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2ZQEOY#issuecomment-515047995,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJWO3ZG6CXNN6ITGY2V5IDQBGUP5ANCNFSM4IG2LOCA
.

You'll have to explain this to me in more detail.

We can well approximate the posterior from epsilon as a multivariate normal distribution with mean mu and covariance cov.  i.e.,
P(M | D) ~ Mv(mu, cov)
The assessment of the log likelihood function of a multivariate Gaussian is easy to do (propto X cov^(-1) X^T) and this would be must faster to evaluate than the KDE.  It could make asy_peakbag much faster.
Make sense?

Sure, but how do you guarantee its Gaussian?
On Thu, 25 Jul 2019, 11:07 Guy Davies<EMAIL_ADDRESS>wrote:

You'll have to explain this to me in more detail.
We can well approximate the posterior from epsilon as a multivariate
normal distribution with mean mu and covariance cov. i.e.,
P(M | D) ~ Mv(mu, cov)
The assessment of the log likelihood function of a multivariate Gaussian
is easy to do (propto X cov^(-1) X^T) and this would be must faster to
evaluate than the KDE. It could make asy_peakbag much faster.
Make sense?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/grd349/PBjam/issues/145?email_source=notifications&email_token=AEJWO3YYHULC5GU23RNFSM3QBG6TBA5CNFSM4IG2LOCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2ZYUJA#issuecomment-515082788,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJWO367J5GO7TRBL767UM3QBG6TBANCNFSM4IG2LOCA
.

If we did the KDE correctly it will be! :)
Besides, the KDE is already an approximation - another one wont hurt.

calling asymptotic_fit now at least requires a star class instance which hast he epsilon attributes (and thus the epsilon.samples), or optionally just the epsilon class instance


[Release] sdk/resourcemanager/support/armsupport/2.0.0-beta.1

https://github.com/Azure/sdk-release-request/issues/4628

/azp run go - armsupport - ci

/azp run prepare-pipelines

/azp run go - armsupport - ci


Call-to-action color investigation

Is there a color (like green on github) that can indicate interactivity/a call-to-action for the user?
Would be applicable to:

Active compass hand
Share/close/more info icons
selected emoji in answer screen

I don't think a color is the right solution here.
See some experiments below:

Red is the best but I don't think it will solve our problem.

Red is best! Is this in lieu of other visual effects, like pulse / shimmer
/ shimmy?
On Sun, Jun 16, 2019 at 7:04 PM Margo<EMAIL_ADDRESS>wrote:

Red is the best but I don't think it will solve our problem.
[image: Screen Shot 2019-06-16 at 1 03 48 PM]
https://user-images.githubusercontent.com/6528572/59567108-3945fd80-9037-11e9-9a6e-830496edac9d.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BadIdeaFactory/the-emoji-compass/issues/73?email_source=notifications&email_token=AAEVYOGI6DZD4MNIRWSRIVTP2ZXBXA5CNFSM4HN27UOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXZRDAI#issuecomment-502468993,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEVYOAHZODTG5DQS3L22VLP2ZXBXANCNFSM4HN27UOA
.

I think so - we could combine them but personally I'm not feeling bringing in a color, the screens are already pretty visually rich bordering on chaotic. I just uploaded some glowing/pulsing stuff to #74, check it out

Conversation is superceded by #74


Remove pointer arithmetic

Looks like MSVC does not like it and returns C2036 error. Needed to
perform this change when integrating zstd into bazel to make it
compile under Windows:
https://github.com/bazelbuild/bazel/pull/11968/commits/02e0515d792efbd9d7cd168d1f23d246cd8b534a
See: https://github.com/bazelbuild/bazel/pull/11968

@luben how hard would be to add CI for MSVC? Bazel seems to use it for compiling, so possibly would be good to have checks in here that it works as well.

@luben friendly ping

Hi, sorry for the delay - I was away fro a few weeks.
LGTM

Regarding the CI for MSVC - I have to spent some time on it. I recently moved the CI to GH actions so it should make it easier.


feat(namespace): delete

Delete namespace:

Delete Kafka topic belonging to namespace
Delete ClickHouse materialized views belonging to namespace meters

@sagikazarmark good point, I refactored it.


getNFTsByOwner method doesn't work for some contracts

While testing the SDK, I noticed that the getNFTsByOwner method doesn't work for certain NFTs, I will guess it's because the NFT isn't indexed yet? Not sure!
Working example:

Bscscan link

await provider.getNFTsByOwner({
  blockchain: "bsc",
  walletAddress: "0xe1b852bbec7ab161d554765667814cb3ca0ad142",
  pageSize: 2,
  pageToken: "",
  filter: [
      {
          "0xC3c3B849ED5164Fb626c4a4F78e0675907B2C94E": []
      }
  ]
});

Not working example:

Bscscan link

await provider.getNFTsByOwner({
  blockchain: "bsc",
  walletAddress: "0xe1b852bbec7ab161d554765667814cb3ca0ad142",
  pageSize: 2,
  pageToken: "",
  filter: [
      {
          "0x21Dc6714c4a3fccD67f53453b46e1c892A54C8E7": []
      }
  ]
});

@artpumpkin thank you for the raised issue.
As a team, for the first release of the NFT indexing service we decided to index NFTs by the following criteria:

Supports IERC721Metadata/IERC1155Metadata (method tokenURI())
non empty tokenURI which is either a valid URL or for some edge cases (which we add by ourselves e.g this one) it is base64 encoded info

The not working contract that is mentioned in the issue doesn't pass the criteria number 2 (it has empty tokenURI on the contract)

@RedCuckoo Thank you so much for the quick answer, we have just updated that contract, does it take some time before it get indexed? I will give it 24 hours and confirm with you again!

@artpumpkin  speaking of the new transfers it should pick up instantly
but with the old transfer it can take a couple of week to resynchronize

@RedCuckoo What do you mean by new transfers? Like just transferring NFTs around or with new NFTs contracts that met all the criteria?
Also is there a work around this particular contract without waiting a few week for reindexing?
I was thinking maybe interacting with the ANKR API will trigger reindexing for later, but I don't think that's what happening.

@artpumpkin
By new transfers I mean transfering NFTs around.
Triggering Ankr Advanced APIs will not cause reindexing, as we index all the events and cache the data. The response that you are receiving was indexed from the blockchain and we are taking it from our database. (It is working in such way to have better response speed).


created tower of hanoi

In this program pegs are moved to another peg.

Thanks for your contribution  try to make much and more better projects


ERROR in main Module not found: Error: Can't resolve './src' in 'project'

please help me on this issue.
ERROR in main
Module not found: Error: Can't resolve './src' in 'project'
resolve './src' in 'project'
using description file: project\package.json (relative path: .)
Field 'browser' doesn't contain a valid alias configuration
using description file: project\package.json (relative path: ./src)
no extension
Field 'browser' doesn't contain a valid alias configuration
project\src doesn't exist
.js
Field 'browser' doesn't contain a valid alias configuration
project\src.js doesn't exist
.json
Field 'browser' doesn't contain a valid alias configuration
project\src.json doesn't exist
.wasm
Field 'browser' doesn't contain a valid alias configuration
project\src.wasm doesn't exist
as directory
project\src doesn't exist
webpack 5.80.0 compiled with 1 error in 71 ms

Close in favor https://github.com/webpack/webpack/discussions/17091

To anyone here from a search engine, ERROR in main Module not found: Error: Can't resolve './src' likely means that one or more of your configured entry values results in undefined & webpack is trying to use its default entry value, which doesn't exist in your codebase.


Handle ENOENT When Fingerprinting Deleted Files

While computing the fingerprint there is a gap between input file globbing and fingerprinting wherein a file might have been deleted. This causes the hash building process to throw an exception and crashes the --watch operation. We ran into this problem while pairing a wireit script's --watch option with webpack --watch. When Webpack started replacing files it would sometimes cause the wireit script to stop the watch process.
This pull request adds some error handling to this process so that wireit will continue working in this case.

Could you take a look here @rictic? (You merged my last PR, sorry for the ping)

What about you @aomarks, would you be able to take a look at this?

Now that we're past all of the holidays, could you take a look @aomarks or @rictic?

Thanks for this PR! I agree we should do something here since it shouldn't crash. However, I think that ignoring the files that got deleted during this race window might not be the best answer, because in general a file getting deleted in that window means there could be a problem with the configuration/setup that's going to cause wireit to get confused later on too. In this case, it sounds like you have a separate script which is independently writing to the same output files as the wireit script you are watching. I think we should probably invalidate the fingerprint somehow, so that the next time this script is invoked, a full build is forced.

I think we should probably invalidate the fingerprint somehow, so that the next time this script is invoked, a full build is forced.

My first pass at this digested an empty file content so that successive builds without the file in the glob would have a different fingerprint. I went with this approach instead because it felt like a deleted output file would be something considered as part of the build output, however, I can see how that could be potentially problematic. It's probably better to err on the side of caution and ensure the cache is always valid instead of trying to avoid a rebuild that might have actually been necessary.

I took a look at two possible approaches to fingerprinting in this case @aomarks:

Empty File: This would handle the invalidation gracefully, however, it would deliberately create a collision with an actually empty file.
Additional Fingerprint Field: We could also add an additional property to the fingerprint that records the failure. This would let us invalidate the entire fingerprint.

The issue here is that, clearly, any assumption we make here is akin to undefined behavior. If we're trying to be safe then it's probably better to not cache anything at all. It makes more sense to fail the execution and convert the exception into an error result so that wireit can handle it gracefully. How would you feel about that?

The issue here is that, clearly, any assumption we make here is akin to undefined behavior. If we're trying to be safe then it's probably better to not cache anything at all. It makes more sense to fail the execution and convert the exception into an error result so that wireit can handle it gracefully. How would you feel about that?

Yeah, that sounds like probably the thing to do. This also means that subsequent scripts that depend on this one won't be able to run -- which sounds correct. The build is likely in an invalid state after this race condition has been detected, so basically stopping execution at that node in the graph makes sense to me.

How about this @aomarks?

How about this @aomarks?

This looks great!
(This is a tricky one to test because it's hard to reproduce the situation. We'd need to have some tests where we sub in an fs wrapper that allows us to block readDir from returning or something. I think it's fine without a test for now.)

This is a tricky one to test because it's hard to reproduce the situation

I tested it out locally by breaking the createReadStream path. I wanted to write some tests for it but I've never used uvu and wasn't feeling super confident about putting in that extra time to figure it out.
Would you mind releasing a new version of wireit soon so that all of the changes I've submitted can go out?

BTW @ObliviousHarmony you should join our Discord if you're not already there! Good place for brainstorming and faster discussion iteration. https://discord.gg/chmdAwvq4e

I tested it out locally by breaking the createReadStream path. I wanted to write some tests for it but I've never used uvu and wasn't feeling super confident about putting in that extra time to figure it out.

Nice! Yeah, that sounds fine. It would be quite a lot of work to test this properly and probably not worth it right now.

Would you mind releasing a new version of wireit soon so that all of the changes I've submitted can go out?

I did just release v0.14.2 but it didn't include this change. I'll do another one to pick this up too.


SubViewport + ViewportTexture doesn't work when created programmatically

Godot version
v4.0.stable.official [92bee43ad]
System information
Ubuntu 22.04, GeForce GTX 980
Issue description
Creating a SubViewport + ViewportTexture programmatically doesn't seem to work. The content of the viewport is simply not visible, and there are debugger errors:

The message Viewport Texture must be set to use it on first glance suggests that this is another manifestation of #66247, but in this case it is not a false error: The issue in #66247 seems to go away when setting the update mode to "always". That's not the case with the issue I'm facing. Also, creating exactly the same scene tree statically in the editor works, which indicates that the issue has rather something to do with creating the SubViewport + ViewportTexture programmatically.
Steps to reproduce
Simply use a single Node as the scene root with this script attached:
extends Node

func _ready():
    # Create the viewport, add something to it, and add it to the scene tree:
    # Note that setting UPDATE_ALWAYS doesn't help.
    var viewport = SubViewport.new()
    viewport.render_target_update_mode = SubViewport.UPDATE_ALWAYS
    add_something_to_viewport(viewport)
    add_child(viewport)

    # Now that the viewport has a path, we can create a texture and connect it:
    var viewport_texture = ViewportTexture.new()
    viewport_texture.viewport_path = viewport.get_path()

    # Finally create a sprite that uses the viewport texture:
    var sprite = Sprite2D.new()
    sprite.centered = false
    sprite.texture = viewport_texture # <== this line causes debugger errors
    add_child(sprite)

func add_something_to_viewport(viewport: SubViewport):
    var label = Label.new()
    label.text = "Hello world"
    viewport.add_child(label)

The example builds this scene tree dynamically:

For comparison I have created another minimal project, where I'm creating exactly the same scene tree statically in the editor:

In this case the SubViewport + ViewportTexture works, i.e., the contents of viewport are visible.
Minimal reproduction project
Full minimal reproduction:

ProgrammaticViewport.zip
Code on GitHub

In this case, it is recommended to obtain ViewportTexture directly from Viewport.
#var viewport_texture = ViewportTexture.new()
var viewport_texture = viewport.get_texture()

When you create ViewportTextures in script you creating an unlinked / empty texture as rendertarget.
Setting the path on the ViewportTexture does nothing expect setting the path variable on the ViewportTexture.
You need to use the texture_proxy_create() and texture_proxy_update() functions of the RenderingServer to link rendertargets together. If you use Viewport.get_texture() this is done for you in the background. The returned ViewportTexture is just a wrapper for a texture that was proxy linked in the background.

@Rindbee @smix8 Thanks for the clarification! Indeed, using Viewport.get_texture() works just fine. I took the opportunity to simply document this external on StackOverflow, which is maybe already sufficient in terms of documenting the behavior?


Update readme

I added some more descriptions and installation instructions (which I totally wrote all by myself) and shamelessly placed links to @lomenzel 's and my own mensa projects.

I'm not sure about the first step under "Release": Update the version in app/build.gradle.kts (e.g. 1.2.3) 🤷♂

I have edited the first step. I hope it is correct now and that app/build.gradle.kts is the right file. ^^


xOS floppy image - is it possible?

No I am not going to use any real physical floppies, although maybe someone would ;) There is open source coreboot+SeaBIOS replacement of the "official BIOS" which supports these motherboards: https://www.coreboot.org/Supported_Motherboards (maybe you have something from this list?!)
This coreboot+SeaBIOS combination occupies just a small fraction of the BIOS chip volume - and could boot any virtual floppy image if you put it to a BIOS chip as well. So: if your laptop/motherboard is supported by coreboot project, you could boot xOS floppy right from a BIOS chip - which is super cool!
I see that xOS disk.hdd is 32 MB - way too large... but your zip archive with that disk image - weights just 500 KB ! If xOS could be compressed that easily, it should be possible to somehow compress the majority of xOS except the booting part and unarchiver, then while booting it decompresses that "main part" and loads it to RAM... If that really has to be done (I don't know, maybe xOS occupies just a tiny fraction of that 32 MB image and no compression is necessary to fit it to 1.44MB ?)
There is another modern OS written in assembly - KolibriOS - which is distributed as a floppy image. It would be great if xOS would also have a floppy image, making it possible to boot from a BIOS chip and probably some other purposes... What do you think about this idea?

Possible, yes -- practical, no.
Booting from floppy is possible if I implement a floppy driver, but that's mostly a waste of time considering nobody uses floppies anymore. The xOS binaries without the data is less than half a megabyte, as you may have noticed. The hard disk image is mostly empty space.


/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gdb/gdb/thread.c:93: internal-error: thread_info* inferior_thread(): Assertion `tp' failed. (IDFGH-3361)

Development Kit:    none
Module or chip used:  ESP32-WROOM-32
IDF version: v4.2-dev-1206-g741960d5c
Build System:     idf.py
Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2020r1) 8.2.0
Operating System:    Linux
Using an IDE?:  No
Power Supply:    USB

Problem Description
idf.py monitor with gdb stubs doesnt work
//Detailed problem description goes here.

***ERROR*** A stack overflow in task carrier has been detected.

Backtrace:0x4008eb63:0x3ffe0340 0x4008e885:0x3ffe0360 0x4009b5a9:0x3ffe0380 0x4009cd0a:0x3ffe0400 0x4009b69c:0x3ffe0420 0x4009b652:0x00000000 |<-CORRUPTED
0x4008eb63: panic_abort at /opt/toolchains/esp32/idf/components/esp_system/panic.c:330

0x4008e885: esp_system_abort at /opt/toolchains/esp32/idf/components/esp_system/system_api.c:97

0x4009b5a9: vApplicationStackOverflowHook at /opt/toolchains/esp32/idf/components/freertos/xtensa/port.c:436

0x4009cd0a: vTaskSwitchContext at /opt/toolchains/esp32/idf/components/freertos/tasks.c:2769

0x4009b69c: _frxt_dispatch at /opt/toolchains/esp32/idf/components/freertos/xtensa/portasm.S:431

0x4009b652: _frxt_int_exit at /opt/toolchains/esp32/idf/components/freertos/xtensa/portasm.S:231

ELF file SHA256: 6a0adf99108b697c

Entering gdb stub now.
$T0b#e6GNU gdb (crosstool-NG esp-2020r1) <IP_ADDRESS>80627-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/aep/proj/corona/esp/counter/build/crs19.elf...done.
Remote debugging using /dev/ttyUSB0
/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gdb/gdb/thread.c:93: internal-error: thread_info* inferior_thread(): Assertion `tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n

Hi @aep, do you see this behavior on every crash, or only when the stack overflow is detected? I made a trivial test application which overflows the stack, but couldn't get the same behavior. Do you think you could trim your app down to something that reproduces the issue?

i'm having difficulties reproducing this as well. the root cause was a function with very large stack values calling itself.
this code wont even trigger stack smashing protection, it just resets due to watchdog
void large_stack()
{
    char something[10000];
    memset(something, 0xff, 10000);
    large_stack();
}

void app_main(void)
{
    large_stack();
}

Could you try adding CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y to your sdkconfig?
I think this issue can not be detected with stack smashing protection, because from the C compiler perspective stack smashing is not happening — the memset stays within the boundaries of the function's stack frame. The issue is that the stack frame overflows the space available on the stack. The above mentioned option is not a guaranteed way to catch such stack  overflow (it won't help if you memset only the last 1k of the array), but it still increases the chances of detecting this early.

yeah this is with

[x] FREERTOS_WATCHPOINT_END_OF_STACK
[x] COMPILER_STACK_CHECK_MODE_STRONG
[x] FREERTOS_CHECK_STACKOVERFLOW_CANARY

any idea how i could intentionally trigger a context switch? the problematic app had 10 tasks, so maybe its not reproducible because its just 1 task


Not loading behind reverse proxy

This may be intended behaviour? If so please move to enhancement
Describe the bug
WebUI not populating torrents list etc when used behind a reverse proxy. Remains with the animated loading circle.
To Reproduce
Place behind a reverse proxy (HA Proxy in my case) using a sub-domain (e.g. transmission.sub-domain.tld) and load in web browser.
Platform:
Tested on MacOS Safari, Windows 10 Firefox.
I haven't done extensive testing, just loaded this yesterday and it looks great (thank-you) but didn't load when using sub-domain address. Locally using IP address/port it loaded correctly.

Hi, thank you for reporting this issue. It's indeed a bug.
When you click on the pencil next to the server name, are the host and port the right ones? And are you using HTTPS?

Yes they look correct, using https on port 443, with acme handling certificates on the reverse proxy. I can’t edit the authentication fields when editing the server.

Ok thanks for the information, I'll try to reproduce this bug on my side.

Hi, so I didn't managed to reproduce this bug. Could you open the dev tools (Ctrl+Shift+I) and show me if there's an error in the console tab? Thanks!

Hi, so I didn't managed to reproduce this bug. Could you open the dev tools (Ctrl+Shift+I) and show me if there's an error in the console tab? Thanks!

Sorry for the slowness in my response.
Errors from Chrome in the Console are;
Failed to load resource: the server responded with a status of 404 (Not Found)
and
Failed to load resource: the server responded with a status of 409 (Conflict)

work with this nginx config
location = /transmission/ {
                return 301 /transmission/web/;
        }

        proxy_hide_header X-Frame-Options;

        location /transmission/ {
                proxy_http_version 1.1;
                proxy_set_header Connection "";
                proxy_read_timeout  300;
                proxy_set_header    Host                 $host;
                proxy_set_header    X-Forwarded-Proto    $scheme;
                proxy_set_header    X-Forwarded-Protocol $scheme;
                proxy_set_header    X-Real-IP            $remote_addr;
                proxy_pass_header   X-Transmission-Session-Id;
                proxy_set_header    X-Forwarded-Host     $host;
                proxy_set_header    X-Forwarded-Server   $host;
                proxy_set_header    X-Forwarded-For      $proxy_add_x_forwarded_for;
                proxy_pass          http://localhost:9091/transmission/;
        }

Try to set HA Proxy like this

Just discovered the app today @6c65726f79 thanks for developing it
I'm presuming the reason why it wouldn't work is if the SNI header isn't sent with TLS.
I too can't get the UI to work behind Haproxy.
I'll check if the header is sent and report back.

So it seems the issue was caused by a setting of Transmission, not the SNI as I initially suspected.
In the settings.json file located in /usr/local/etc/transmission/home (in case of theTrueNAS jail), you need to disable the rpc-host-whitelist-enabled setting.
Make sure to kill the transmission process first.

Thank you for sharing your solution @mateuszdrab, I hope this will help others.
By the way, thank you for the tip, it's greatly appreciated!

Thank you for sharing your solution @mateuszdrab, I hope this will help others.
By the way, thank you for the tip, it's greatly appreciated!

I hope so too, since anyone behind a reverse proxy would probably be accessing via another hostname and by default RPC was being blocked. I couldn't even connect to it directly via hostname without the reverse proxy in the way.
Definitely deserve more tips buddy, I'm sure it took a while to make this app. The default web GUI for transmission is so ugly 😄

https://github.com/6c65726f79/Transmissionic/pull/1374

Unfortunately this doesn't solve the issue for me. Transmission is on a Synology NAS behind a reverse proxy using a VPN. The 443 port is exposed and the Web UI is working. RPC communication seems to be working as well. But Transmissionic doesn't. I'm stuck on "Unable to reach host". Nothing shown in the developer tools.

Unfortunately this doesn't solve the issue for me. Transmission is on a Synology NAS behind a reverse proxy using a VPN. The 443 port is exposed and the Web UI is working. RPC communication seems to be working as well. But Transmissionic doesn't. I'm stuck on "Unable to reach host". Nothing shown in the developer tools.

I met the same situation and came here. I am sure you edited the "Server" section.
I also use reverse proxy for https connection. Transmissionic works if I don't touch any parameters in "Server" . Otherwise, I also see "Unable to reach host".

By the way, Where can I get the configuration file in client side? I want to make it "default.json" and upload to server side.

on https connections, the port must be 443, not 14000

on https connections, the port must be 443, not 14000

It's not a problem of port in synology reverse proxy.


Update Link.md

You cannot provide text as a link child without using the text component

Thanks, but this is just a highly simplified example. We don't need to flesh it out completely. We're just showing off the API of Link.

Can you please specify that it is a simplified example. If you write code that is wrong, at least say so. It took my software team a long time to figure out why their code wasn't working.

We merged a similar change in #6214, so it's in there now :)


New Rule: Calling Start-Process without checking ExitCode

Summary of the new feature
I recently got burned by a library not handling the exit code for Microsoft.PowerShell.Management\Start-Process.
This could be broken into two rules:

Always assign Start-Process to a local variable, and check the result. Caveat: How would this work if invoked from Start-Job and deliberately intended to be asynchronous?

Proposed technical implementation details (optional)

Find calls to Microsoft.PowerShell.Management\Start-Process
There are several ways this could be called:

Arguments not known at caller. No local way to detect $args sets the -Wait and -NoNewWindow switches on
function Do
{
param(
 [hashtable]$StartProcess_params
)
  Microsoft.PowerShell.Management\Start-Process @StartProcess_params
}

Trivial case: Direct arguments
Microsoft.PowerShell.Management\Start-Process -FilePath "cmd.exe" -ArgumentList "/C" -Wait -NoNewWindow

Middle case: arguments constructed in same scope - I believe this is called $script scope
$StartProcess_params = @{
  FilePath = "cmd.exe"
  ArgumentList = "/C"
  RedirectStandardError = $tempErrorFile
  RedirectStandardOutput = $tempOutputFile
  NoNewWindow = $true
  Wait = $true
}
Microsoft.PowerShell.Management\Start-Process @StartProcess_params

Using Start-Job
Start-Job -Name DoSomething -ScriptBlock {
    & cmd.exe /C
    Write-Output $LASTEXITCODE
}
#Do other stuff here
Get-Job -Name DoSomething | Wait-Job | Receive-Job

A clear and concise description of what you want to happen.
Flag as warnings with suggestion to assign call to a PS variable, e.g.:
Microsoft.PowerShell.Management\Start-Process @StartProcess_params
would become:
$process = Microsoft.PowerShell.Management\Start-Process @StartProcess_params
if (-not $process.ExitCode)
{
  Write-Error $(Microsoft.PowerShell.Management\Get-Content $tempErrorFile
}

Alternatively, if the user truly wishes to suppress the result, the UI could offer a "No, I really don't care and want to explicitly say so" command, which would re-write the code to be:
$(Microsoft.PowerShell.Management\Start-Process @StartProcess_params) | Out-Null

or
[void]Microsoft.PowerShell.Management\Start-Process @StartProcess_params

What is the latest version of PSScriptAnalyzer at the point of writing
1.17.1

@bergmeister

Interesting thought. But to me this sounds rather like a custom rule that one could write and offer to people that are interested but enabling such a rule in PSSA by default sounds a bit over the top since there are many use cases where the exit code is not of interest.

 PSScriptAnalyzer can be included in tools like Visual Studio Code and can prevent "PowerShell gun violence" rampant in the community.
 Writing PowerShell well is incredibly hard, to the point where my boss has pretty much told me to stop writing PowerShell and just use C#. I have a hard time arguing with him since I am about 10x more productive with C# than PowerShell, and the things that frustrate me about PowerShell are common bugs I see in PowerShell GitHub repositories.

Unfortunately there are also many binaries such as e.g. git that return non-zero exit codes...

What's your point? That developers should ignore exit codes, or that my re-write suggestion to check for zero may cause false positives? What is the right way to call git and determine success or failure? Here is one alternative way to achieve success: PowerShell already has all kinds of strange conventions, like the fact Add-Type uses a static look-up table to resolve dependencies. Why not similarly import a dictionary of exe's to exit codes? The look-up table would be a triple of:

exe
exit code
iserrorcode

cmd
0
$false

etc.

@bergmeister
I've rephrased my original issue to include TWO possible rewrite rules for this code smell.  In the negative case, I provide a rewrite rule to say "Damn the torpedoes". I think this is better than just having only a positive rewrite suggestion.

I found PSDecode has a similar idea to my ExitCodes\cmd example.

Please check the rest of the answers on that SO post, specifically this one that debunks the out-null perf difference.
Personally I would not want a "last exit code not used" as a default rule. It's too similar to R#'s "pure function return not used", which is only really useful when working with Roslyn or similar mostly immutable object sets.
From the perspective of those of us are just looking for a compile-time like script checking experience (are variables used before they are assigned, etc.), this module is already full of unrealistic rules and overly specific conventions (avoid using write host, the one about using the set verb, anti- plural command naming, etc), so I think the custom rule suggestion for this is spot on.


After the cross-chain transfer fails through the xtokens module, where will the burned money go?

The transfer from ksm from the parachain to the relay chain failed (xtokens.transfer()), because my DestWeight was set too low, and then the money in my account was burned. Where did the money go?

As Basti stated in the other issue, the KSM is still on your parachain account.


Desired Manifest should be persisted (versioned) in the var interpolation step

https://www.pivotaltracker.com/story/show/165020388

Hi, @viovanov
In the last commit, I changed lots of things.

Removed global function in bosh/manifest package
Decoupled BoshDeployment reconciler with versioned secret changes and moved it to each extendedJobs/extendedStatefulSet reconciler:

In extendedStatefulSet reconciler, it will watch versioned secrets and update extendedStatefulSets reference(envs, volumes)
In extendedJobs reconciler, it will do the same thing but split two reconcilers: owner reconciler and errand reconciler

Please help to review. Thanks!
Edward


[DNM] drivers: clock_control: nrf: Update driver to use nrfx_clock and nrfx_power

A draft PR based on https://github.com/zephyrproject-rtos/zephyr/pull/27422, to test if the approach proposed in https://github.com/zephyrproject-rtos/zephyr/pull/27422#issuecomment-672755626 is feasible and acceptable.

cc @aescolar @carlescufi

Rebased on master.

Changed the nrf_hw_models module revision to the one from https://github.com/BabbleSim/ext_NRF52_hw_models/pull/12.