Perf Enhancement

We need to look into what are the possible ways to improve the kapp performance.
To Do Task:

Figure out all the places we are making calls to k8s server and if we can reduce them.
Another possible place:
When kapp deploy is using configmaps (vs. kapp deploy -a label:my-app-name=xxx), is the usedGVs property in the main configmap an optimisation so that when querying based on labelKey/labelValue from the main configmap to identfiy app resources, it doesn't have to query every single resource type in the whole cluster, and can at least restrict it to just resources within those api groups?
usedGVs is currently used to decide which apis we can ignore if they are not available (sometimes some api servers die, or something else happens making it not possible to list resources). we still optimistically query all types, but, we may evolve that behaviour to improve perf over time.

[x] Use memoization to reduce redundant api calls to get the Resources supported by the K8s cluster.
[ ] In case of kapp controller, we should make the kapp inspect disable by default. Individual APP CR's can opt-in for the kapp inspect if they want. carvel-kapp-controller#467
[x] Service Account Scoping - to see what permissions does SA have and how APP CR's are consuming them in kapp controller.
[ ] Go through all the API calls made by kapp deploy/delete/inspect and see if we can reduce them.
[ ] While querying the resources by label selector, we should query only the GV's which have been used earlier to deploy rather than querying all the GV's.

The ConfigMap in this case should not use some special format. It would be better to record the list of resources in a format which is also compatible with what could be supplied in a kapp Config resource object passed to kapp. This means that even when using kapp deploy -a label:my-app-name=xxx a manually constructed kapp Config with the list of resources could be manually passed to kapp when run.
In the case where ConfigMap is used the sequence of events would be:

Check to see if a ConfigMap already exists for the application (so not a new application) and extract the kapp Config snippet from the ConfigMap, incorporating this into the resources processed by kapp.
When kapp generates resources, it generates an updated list of resources (since set of resources may change), and store the updated list back into the ConfigMap as kapp Config snippet, if changed, so it exists for the next time kapp reconciliation needs to run.
In case where is new application, then it doesn't need to do full reconcilation (ie. query all resources in cluster by label), and so just needs to apply the resources and add the list of resources as kapp Config snippet to the initially created ConfigMap.

If this approach is taken kapp-controller would benefit with needing any changes to it.
As to use of -a label:my-app-name=xxx it would be up to the user to always provide a valid kapp Config snippet with list of resources if they want the optimisation, which they would be able to do since they have knowledge of what is being created if they are the author of the resources. The kapp Config with list of resources would be just another resource file in their set of resource files passed to kapp.
cc @jorgemoralespou

Worth noting when I first raised this issue on Slack, but which isn't noted in the issue, is how this whole problem could be getting exacerbated by the fact that kapp by defaults keeps a deployment history of size 200 (--app-changes-max-to-keep). As the number of applications deployed using kapp-controller grows then eventually for each of those you get 200 config maps stored. So if you have 100 applications, that is 20000 config maps alone which have to be processed, all directly because of the kapp defaults. Realistically I can't see any reason for the history to be more than 5-10 at most as a default.

Service Account Scoping - to see what permissions does SA have and how APP CR's are consuming them.
Details: Looked into APP CR. Each APP CR's has one service account associated with it. If service account has cluster wide full permissions, then we wont see any 403's. But for the SA with limited set of perms, we can see the 403's when kapp make HTTP calls. Next question is how can we limit the service account to look into the Resources where it has permissions. For this, looked into can-i. But this is again expensive as we have to specify VERB and RESOURCE.

Just noted that we Get() and Update() the app config map each time we update the app meta. Previously, we were making these calls while updating the app meta with UsedGVs and with LastChange details.
The GK scoping will introduce 4 more calls per run.
(The pros of GK scoping outweighs this by a landslide. Just taking note of it.)


Dynamically provide config of mail and dingtalk

currently all config are configed by properties.
need provide config at runtime, eg. from database or controller

runtime and static config in separated map


Add "krb_host" as a config option

Describe your changes
Added "krb_host" as an optional parameter for Hive connections that use Kerberos as their authentication type.
Internal Jira ticket number or external issue link
Issue from @Mac-lp3  https://github.com/cloudera/dbt-hive/issues/153
Testing procedure/screenshots(if appropriate):
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I have formatted my added/modified code to follow pep-8 standards
[x] I have checked suggestions from python linter to make sure code is of good quality.

Hi, this PR was made with @Mac-lp3.
We're not quite sure how to go about testing this change though. Are the changes to conftests.py sufficient?

Hi @niteshy,
This PR is for that separate kerberos host issue we spoke about ~last week (https://github.com/cloudera/dbt-hive/issues/153).
I got someone to submit the PR for me 🙃


Non-cast session won’t initialize playback

playNextSong is returning on this conditional at 377 of app.js:
    if (castReceiver === null && currentSongID == nextSongID) {
        return;
    }

currentSongID in my case is null and nextSongID is undefined, which returns true for ==

triple*


Has this been abandoned?

 Unfortunately, I have time only for Irvue. So yes, you can fork it and do whatever you want with this project.


Viz tab: changing plot mode resets axis control selections

Changing the plot mode resets the axis control selections like range min / max and log scale.
This is especially annoying when working with larger datasets like MALED, in which the plots take a long time to reconfigure.
Please do NOT change the user-defined axes control selections when the plot mode is changed

I think it can be argued that we should not change the range, if the user has specifically set a range; even if this means cutting off part of the smoothed mean or best fit lines. @danicahelb thoughts?

I think it can be argued that we should not change the range, if the user has specifically set a range; even if this means cutting off part of the smoothed mean or best fit lines. @danicahelb thoughts?

I'm pausing this ticket until:

Reset to default button is implemented: https://github.com/VEuPathDB/web-eda/issues/1127
Range selector buttons are implemented: https://github.com/VEuPathDB/web-eda/issues/1097
Speed is improved

@danicahelb Actually, it is currently working like your speaking because enabling/disabling error bar toggle initiates a new data request, which automatically leads to recalculate (data-based) auto-zoom range (without the need of resetting to default).


Response view not showing

Hey there, I've tried to use this a few times, but I never managed to get a response window to show up after sending a query. I'm only getting the next request window.

Thanks for reporting the issue! If you have time, could you let me know what your setup is like? (OS and vscode version?). Also, does it not work for every website (e.g. even https://google.com doesn't work?).

That was from windows using the latest vscode version 1.50.1 it seemed to not work on any site. I think I tried google, will let you know tomorrow.
I also tried to install this on my linux setup right now, but I can't even find the extension via vscode (1.50.1) is that supposed to be like that? If I go to https://marketplace.visualstudio.com/items?itemName=jcoc611.vsconnect download the vsix and install it, it installs fine and even works fine with google.com

Tried on the windows client again and it seems like google works (now) it just fails to show anything for some the local network sites. I can get it working for my fritz.box url, but my NAS (synology) doesn't seem to respond. I also fail to use it on work related stuff, there's a vpn involved, not sure if that matters.

I have made some changes on v0.2.10 that should improve the overall experience. I added error messages on HTTP connection errors so it is easier to tell what is going wrong, and added some better parsing of URLs that was causing some issues.
I tried accessing sites over VPN (on Windows), and had no problems after the changes. Let me know if you still run into issues!
Thanks again, and sorry for the long delay!

Seems better, at least getting some response now :)
Getting a UNABLE_TO_VERIFY_LEAF_SIGNATURE now, but I guess that's due to the development server. Thx!


Call Graph creation using cg command

I have been creating Call Graphs for android APKs using the cg command listed in the documentation. The usage of the command is as follows:
androguard cg sample_apk.apk
This creates a ".gml" file for the call graph, with individual nodes looking like the following
node [     id 7     label "Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat;-><clinit>()V [access_flags=static constructor] @ 0xb2e10"     external 0     entrypoint 0   ]
I had 2 questions regarding the call graph that is generated,

Is the label assigned here corresponding to the class name/method name? I tried using dx.get_methods() to generate a list of methods (along with class names and descriptors), but none of these methods were in the call graph for the same APK.
Does this command create a call graph for the entire application?

I would really appreciate some help with this, thanks!

Have you found the solution @AkshatSood

Have you found the solution @AkshatSood

Unfortunately, I was not able to find a clear answer to this. My best guess at the time is that the cg command is used to create call graphs which include methods from external libraries as well. I had to write a script to remove the external nodes (and corresponding edges), as the .gml file contains information about which nodes are external.

Given that the issue is old and the project is substantially different nowadays, I will be closing this.
Please feel free to reopen it in case it still stands.


Conflict between keycloak username and OSIO username

We are trying to investigate why the UI on OSIO is trying to create things as cboudjna- when my username is chmouel from the UI.
We have updated the keycloak information to make sure it's configured as cboudjna as show on this screenshot

after logout/login clear using a private session I am still getting referenced username as chmouel :

Which then fails for other operations for example when creating spaces I am getting this error :

After login/logout, the keycloak username does not get sync'd because currently we only sync from OSIO --> Keycoak and not the other way around.
The initial username is stored in the api.openshift.io backend.

Users are not supposed to use KC UI at all and specially for updating their profiles. We will block KC UI for users later.
But anyway, in this case the login-logout didn't help. @sbose78 could you please take a look why?

We don't update the username, we only update full-name, email and avatar.
https://github.com/almighty/almighty-core/blob/master/login/service.go#L700

Related to https://github.com/almighty/almighty-core/issues/1366

This seems to be fixed for me as I don't have any errors anymore, I think we can close this


Update using-csom-for-dotnet-standard.md

Category

[x] Content fix
[ ] New article

What's in this Pull Request?
Fix the option name from Default client type - Treat application as public client to Allow public client flows

Docs Build status updates of commit 32524ad:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/sp-add-ins/using-csom-for-dotnet-standard.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 0f1d89b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/sp-add-ins/using-csom-for-dotnet-standard.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Problem with installation

All I can find in the logs is:
InternalServerError: Error loading package "n8n-nodes-nostrobots" :Package could not be installed - check logs for details

I'm using version 1.3.1. Maybe you need to make some changes to be comparable with version 1.x.x.

@mitlernen  Thank you your reporting.
But I could not reproduce the problem in my local environment.
I can install on<EMAIL_ADDRESS>in my local.
So please give me additional information.

platform: OS, browser, etc
n8n execution environment. Nodejs or docker or ...?

I'm running the docker image on a raspberry pi 4 with 8 GB of ram. Its arm64. If you need any more information dont hesitate.

I think this problem is probably caused by the fact that utf-8-validate is not pre-built for aarch64/arm64 and n8nio/n8n images do not include Python.
log on arm64 instance
~ $ npm i n8n-nodes-nostrobots
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package<EMAIL_ADDRESS>npm WARN EBADENGINE   required: { node: '<=18.15.0', yarn: '~1.22.5' },
npm WARN EBADENGINE   current: { node: 'v18.16.1', npm: '9.5.1' }
npm WARN EBADENGINE }
npm ERR! code 1
npm ERR! path /home/node/node_modules/utf-8-validate
npm ERR! command failed
npm ERR! command sh -c node-gyp-build
npm ERR! gyp ERR! find Python
npm ERR! gyp ERR! find Python Python is not set from command line or npm configuration
npm ERR! gyp ERR! find Python Python is not set from environment variable PYTHON
npm ERR! gyp ERR! find Python checking if "python3" can be used
npm ERR! gyp ERR! find Python - "python3" is not in PATH or produced an error
npm ERR! gyp ERR! find Python checking if "python" can be used
npm ERR! gyp ERR! find Python - "python" is not in PATH or produced an error
npm ERR! gyp ERR! find Python
npm ERR! gyp ERR! find Python **********************************************************
npm ERR! gyp ERR! find Python You need to install the latest version of Python.
npm ERR! gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
npm ERR! gyp ERR! find Python you can try one of the following options:
npm ERR! gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
npm ERR! gyp ERR! find Python   (accepted by both node-gyp and npm)
npm ERR! gyp ERR! find Python - Set the environment variable PYTHON
npm ERR! gyp ERR! find Python - Set the npm configuration variable python:
npm ERR! gyp ERR! find Python   npm config set python "/path/to/pythonexecutable"
npm ERR! gyp ERR! find Python For more information consult the documentation at:
npm ERR! gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
npm ERR! gyp ERR! find Python **********************************************************
npm ERR! gyp ERR! find Python
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Could not find any Python installation to use
npm ERR! gyp ERR! stack     at PythonFinder.fail (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:330:47)
npm ERR! gyp ERR! stack     at PythonFinder.runChecks (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:159:21)
npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:202:16)
npm ERR! gyp ERR! stack     at PythonFinder.execFileCallback (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:294:16)
npm ERR! gyp ERR! stack     at exithandler (node:child_process:427:5)
npm ERR! gyp ERR! stack     at ChildProcess.errorhandler (node:child_process:439:5)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:289:12)
npm ERR! gyp ERR! stack     at onErrorNT (node:internal/child_process:476:16)
npm ERR! gyp ERR! stack     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
npm ERR! gyp ERR! System Linux 5.15.0-1040-oracle
npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /home/node/node_modules/utf-8-validate
npm ERR! gyp ERR! node -v v18.16.1
npm ERR! gyp ERR! node-gyp -v v9.3.1
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/node/.npm/_logs/2023-08-23T11_20_28_583Z-debug-0.log

If you want to install it anyway, you can use the following method:

Install package with node:18 image

# docker run --rm -it -v ~/.n8n:/home/node/.n8n -w /home/node/.n8n/nodes --user 1000 --entrypoint /bin/bash node:18
node@8e76ea2c682f:~/.n8n/nodes$ npm install --save n8n-nodes-nostrobots

(Change ~/.n8n to your configured mount directory on n8n container)

Install again with WebUI

sadly it doesnt work I got the same error like you @ikuradon but without the python error.
node@003e07f7b492:~/.n8n/nodes$ npm install --save n8n-nodes-nostrobots
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package<EMAIL_ADDRESS>npm WARN EBADENGINE   required: { node: '<=18.15.0', yarn: '~1.22.5' },
npm WARN EBADENGINE   current: { node: 'v18.17.1', npm: '9.6.7' }
npm WARN EBADENGINE }

up to date, audited 29 packages in 2s

5 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 9.6.7 -> 9.8.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.8.1
npm notice Run npm install -g<EMAIL_ADDRESS>to update!
npm notice

@mitlernen After installing with command, did you install it again from the n8n WebUI? It should probably install without error.

yes i tried to install it with the n8n webui. Here is a screenshot:

@mitlernen
I do not know for sure because we have not been able to reproduce it. Please consider it only as a reference.
Your npm install --save n8n-nodes-nostrobots execution results show a warning, but the installation seems to be working.
It is puzzling that you are able to install on the command line but not via the WebUI.
Please make sure that the command line installation is running in the same Docker container as the WebUI.


Provide ability to create documentation for Arguments similar to Tasks

Hi,
as described in this SO question: https://stackoverflow.com/questions/45413524/how-can-cake-build-arguments-be-documented
it would be great to be able to add documentation for Arguments as it is currently possible for Tasks by using the Description("...") method.
So e.g. executing the build script with the -showdescription parameter could show the described targets as well as the available arguments with an optional help text:

Task                          Description
=============================================================
Default                       Default Task Description

Argument                       Description
=============================================================
--someArgument=<int>           Argumentdescription.
                               Can be multiline, maybe. Defaults to x.

--someOtherargument=<string>   Some other argument description

For registering a help text with an argument an additional parameter could be introduced to the already existing Argument methods. E.g.
Argument("someArgument", "x", "Argument description. Can be multiline, maybe.")

Or some other way:
var argValue = ArgumentBuilder("someArgument", "x")
                              .WithHelpText("Argument description. Can be multiline, maybe.")
                              .GetValue()

What do you think?
Best regards,
Philipp

I think this kind of functionality will bring more value :+1:

I like it, have you started dev on it or just suggesting the idea?

No I didn't start. I could give it a try but I would need some hints on how to proceed. Also I can't promise to start right away.
Are you asking because you want to do it?


docs: Update PERSIST command documentation (#774)

fixes #774
I have updated the documentation of PERSIST command

No we don't need comment
I will make the changes

@lucifercr07 I have removed the comment
pls check


atom->getHybridization() return 0

In cpp:
      std::cout << atom->getHybridization() << ",";
      switch(atom->getHybridization()) {
      case Atom::SP:  frag += " sp";break;
      case Atom::SP2: frag += " sp2";break;
      case Atom::SP3: frag += " sp3";break;
      default: frag += " ?";break;
      }

always return 0 and switch case "?"
I compile using those command lines in os sierra
export BOOST=/usr/local/Cellar/boost/1.61.0/include/
export RDBASEINCLUDE=/usr/local/Cellar/rdkit/HEAD-4e0271a/include/rdkit/
export RDBASELIB=/usr/local/Cellar/rdkit/HEAD-4e0271a/lib
export BOOSTINCLUDE=/usr/local/Cellar/boost/1.61.0/include/boost/
export BOOSTLIB=/usr/local/Cellar/boost/1.61.0/lib/
clang++ -g -Wall -I$RDBASEINCLUDE -I$BOOSTINCLUDE gav.cpp -o gav  -L$RDBASELIB -L$BOOSTLIB -lRDGeneral -lGraphMol -lSmilesParse  -lFileParsers -lSubstructMatch -lForceField -lForceFieldHelpers -lboost_thread-mt -lboost_system-mt
Any idea why it's like that ?
I used brew rdkit installation / compilation

Value 0 denotes unspecified hybridization. Has the molecule gone through sanitation? Hybridization types are set in MolOps::setHybridization (and, AFAIK, nowhere else).

Yes, I deactivate the SDMolSupplier sanitation! Thanks a lot it works now.
2017-03-13 12:24 GMT+01:00 JLVarjo<EMAIL_ADDRESS>
Value 0 denotes unspecified hybridization. Has the molecule gone through
sanitation? Hybridization types are set in MolOps::setHybridization (and,
AFAIK, nowhere else).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rdkit/rdkit/issues/1365#issuecomment-286081095, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABIbYlyrcL93UdCknr3lK3WpjIGyNWPtks5rlSd1gaJpZM4MadeT
.


debian 11 apci error

the bios and apci seem broken no different if no apci (is it enabled? yes i enabled it so please don't ask.)

it just spat out more

yo i went in debug and...

Those are non-critical errors.

maybe unrelated but i got a error/snap on chrome

thought it was related


FTP path of the File while importing doesn't work while Queuing.

Excel::import(new UsersImport, storage_path('users.xlsx'));
instead of this can i pass file url path from of a different web server or a FTP url of the excel file which is to be imported while doing Queuing.

my mistake


added troubleshooting tip for those with git aliases

Thanks, I'll join this with the error below (error: tag 'fetch' not found.)


[python-package] Early stopping not reproducible when nthreads>1

Description
Training models with exactly the same setting (including seed) can result in different numbers of trees, when setting nthreads>1 and early_stopping_rounds>0. I found a workaround by modifying the python package, but not sure if this problem only occurs in python.
Reproducible example

The example is in Python. The result is not 100% reproducible because the randomness comes from multithreading, but models with different numbers of trees do happen frequently.
Code:
import lightgbm
import numpy as np
import pandas as pd

# Generate some toy data
train_data = pd.DataFrame({"y":np.zeros(1024*8)})
predictors = []
for i in range(10):
    train_data["x" + str(i)] = np.sin(np.array(range(1024*8))+i/1000) + 1
    train_data["y"] = train_data["y"] = train_data["x" + str(i)]
    predictors.append("x" + str(i))
valid_data = train_data.copy()
train_data_lgb = lightgbm.Dataset(train_data[["x" + str(i) for i in range(9)]],
                                  label = np.array(train_data["y"]),
                                  free_raw_data = False)
valid_data_lgb = lightgbm.Dataset(valid_data[["x" + str(i) for i in range(9)]],
                                  label = np.array(valid_data["y"]),
                                  free_raw_data = False)

# Use goss
params = {'boosting_type': 'goss',
          'cat_l2': 55.08312413819303,
          'feature_fraction': 0.5,
          'learning_rate': 0.02,
          'max_cat_threshold': 26,
          'max_depth': 4,
          'min_data_in_leaf': 35,
          'min_gain_to_split': 0.37881681266148276,
          'other_rate': 0.1,
          'reg_alpha': 4.1101593522818165,
          'reg_lambda': 65.70629589637446,
          'top_rate': 0.3,
          'bagging_fraction': 1.0,
          'bagging_freq': 0,
          'bagging_seed': 121,
          'feature_fraction_seed': 214,
          'feature_pre_filter': False,
          'num_iterations': 1000,
          'num_leaves': 127,
          'seed': 214,
          'verbosity': -1,
          'objective': 'gamma'}

# Train 100 models with the same parameters with multithread and early stopping
# Record numbers of trees in the 100 models
params["nthreads"] = 8
num_trees = []
for i in range(100):
    model_8 = lightgbm.train(params,
                        train_data_lgb,
                        valid_sets = [train_data_lgb, valid_data_lgb],
                        valid_names = ['train', 'valid'],
                        verbose_eval = False,
                        early_stopping_rounds = 25)
    num_trees += [model_8.num_trees()]
print(pd.Series(num_trees).value_counts())

Output:
506    80
522    20
dtype: int64

The irreproducible problem will go away when setting nthread=1
params["nthreads"] = 1
num_trees = []
for i in range(100):
    model_8 = lightgbm.train(params,
                        train_data_lgb,
                        valid_sets = [train_data_lgb, valid_data_lgb],
                        valid_names = ['train', 'valid'],
                        verbose_eval = False,
                        early_stopping_rounds = 25)
    num_trees += [model_8.num_trees()]
print(pd.Series(num_trees).value_counts())

Output:
481    100
dtype: int64

Environment info
LightGBM version or commit hash: 3.3.5
Command(s) you used to install LightGBM
pip install lightgbm==3.3.5

Additional Comments

After a closer look at the trees built in each model, we found why the early stop happens at different number of trees. At some iteration, the training function may fail to grow a tree because it cannot find any split. Theoretically, the evaluation result of this iteration should be the same as last iteration because the model remains the same. However, because the evaluation is done with multithreading, the evaluation result may change by some numeric error. As a result an early stop that should have happened may fail to happen, because it sees an improvement in the evaluation result, which is actually just numeric error.
This problem can be fix by checking both improvement in evaluation result and increase in number of trees when checking for early stop. It should consider an iteration to be better than a previous one only if both the evaluation improves and number of trees increases. For example, I fixed it by modifying the early stop call back https://github.com/microsoft/LightGBM/blob/v3.3.5/python-package/lightgbm/callback.py#L254
to the following, where in the beggining I set current_iter = [-1]:
  def _callback(env: CallbackEnv) -> None:
      if not cmp_op:
          _init(env)
      if not enabled[0]:
          return
      is_updated = current_iter[0] != env.model.current_iteration()
      current_iter[0] = env.model.current_iteration()
      for i in range(len(env.evaluation_result_list)):
          score = env.evaluation_result_list[i][2]
          if is_updated and (
              best_score_list[i] is None or cmp_op[i](score, best_score[i])
          ):
              best_score[i] = score
              best_iter[i] = env.iteration
              best_score_list[i] = env.evaluation_result_list
          # split is needed for "<dataset type> <metric>" case (e.g. "train l1")
          eval_name_splitted = env.evaluation_result_list[i][1].split(" ")
          if first_metric_only and first_metric[0] != eval_name_splitted[-1]:
              continue  # use only the first metric for early stopping
          if (
              env.evaluation_result_list[i][0] == "cv_agg"
              and eval_name_splitted[0] == "train"
              or env.evaluation_result_list[i][0] == env.model._train_data_name
          ):
              _final_iteration_check(env, eval_name_splitted, i)
              continue  # train data for lgb.cv or sklearn wrapper (underlying lgb.train)
          elif env.iteration - best_iter[i] >= stopping_rounds:
              if verbose:
                  eval_result_str = "\t".join(
                      [_format_eval_result(x) for x in best_score_list[i]]
                  )
                  _log_info(
                      f"Early stopping, best iteration is:\n[{best_iter[i] + 1}]\t{eval_result_str}"
                  )
                  if first_metric_only:
                      _log_info(f"Evaluated only: {eval_name_splitted[-1]}")
              raise EarlyStopException(best_iter[i], best_score_list[i])
          _final_iteration_check(env, eval_name_splitted, i)

Thanks for using LightGBM, and for your detailed report. Sorry it took so long for someone to respond here.
I don't support changing the behavior of early stopping in the Python package in the way you're proposing, which I believe is:
# current
* eval metrics have not improved for {early_stopping_rounds} consecutive iterations

# proposed
* eval metrics have not improved for {early_stopping_rounds} consecutive iterations (ignoring any iterations which produced no-split trees)

In my opinion, the risk of bugs and maintenance burden due to added complexity introduced by that type of change in an already-complex part of the codebase introduces isn't worth it in exchange for improving the reproducibility of lgb.cv() when using multithreading + random sampling of rows / columns.
The behavior you've observed is only because you're passing feature_fraction = 0.5.
With feature_fraction = 1.0 and bagging_fraction = 1.0, all of the rows and columns will be considered for potential splits in every iteration, meaning that once you observe on iteration where LightGBM fails to find a split, all future iterations could also be expected not to have any splits.
If you want close-to-reproducible behavior from lgb.cv(), while still using multithreading, consider the following changes:

reduce min_gain_to_split
set feature_fraction = 1.0 and bagging_fraction = 1.0

If you want to treat very small improvements in eval metrics as "not actually an improvement", for the purpose of early stopping, use the min_delta option introduced in https://github.com/microsoft/LightGBM/pull/4580. See https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.early_stopping.html.

Note
min_delta has not made it into a LightGBM release yet. To use it, you'll have to install LightGBM from source, following the instructions at https://github.com/microsoft/LightGBM/blob/master/python-package/README.rst#install-from-github. Follow https://github.com/microsoft/LightGBM/issues/5153 to be notified when the next release of LightGBM is out.


Unclear error message in case of invalid calling of factory constructor of generic class

If there is class definition like
class Test<T> {
  factory Test.f() { ... }
}

and someone call it incorrectly in the way new Test.f<int> {} instead of new Test<int>.f, the message is
malformed type: line 5 pos 22: qualified name 'Test.f' does not refer to a type

That would be nice to have error message like when constructor of generic class is invoked without type:
No constructor 'Test' declared in class 'Test'.

because statement Test.f<int> looks like invoking non-generic class' Test generic method f, but there is no non-generic class Test.

Sounds reasonable. Saying what Test.f is not should be accompanied by say what it is (when it is anything).

The analyzer's current error message is:

error • The constructor 'Test.f' doesn't have type parameters. • 31104.dart:6:13 • wrong_number_of_type_arguments_constructor

This is still a problem, and the errors are a little comical at this point:
class Test<T> {
  Test();
  factory Test.f<T>() { return Test(); }
}

void main() {
  new Test.f<int>();
}

Constructors can't have type parameters.
The constructor 'Test.f' doesn't have type parameters.

🤔


Fix urlFor to handle secure correctly and forcing default

Fix urlFor to handle secure correctly and forcing default
issue #6270

Fix formating config index as array was more then 140 characters long.
Updated getBaseUrl to handle secure by replacing http with https if true.
Updated getBaseUrl to have a new param to handle forcing default from config.$
Add new param force default to createUrl to pass through to getBaseUrl.
Updated urlFor to have the new force default param.
Fixed ghost_head helper to output canonical with forced default.
Fixed ghost_head helper to set secure currectly for the rss link.
Fixed navigation helper to pass secure in each nav item, so that urlFor can u$
Fixed url helper to pass along force default if set true in attributes.
Fixed url helper to pass correct number of params when isn't a schema type.
Added tests for the url helpers new force default param.

I believe the fix here is correct, although I've not yet finished testing it properly. However, I'm not convinced that passing the forceDefault attribute down to the url helper level is the right thing to do.
For one, forceDefault isn't the clearest attribute name, and this would become part of the theme API. It needs a little more consideration as to whether this option is needed at the theme level (surely themes would just use relative urls if they didn't want the default absolute url).
I believe the reason for adding this is that the url helper is being called in ghost_head, and I think a more sensible course of action for the time being is to change ghost_head to call config.urlFor instead?

I agree @ErisDS. I'll make the change to go ahead and remove that flag from the helper and the config.urlFor and just fix the ghost_head to use the blog.url for the canonical link.

@ErisDS ok forceDefult removed. Do you want me to go ahead and swash the commits again?

Just taken this for a proper spin, the underlying issues are all solved :+1:
One detail - I think that the og url and twitter url should use the default / canonical url because if they don't users sharing via http and https would end up sharing different urls and I'm not sure how twitter and facebook cope with that with regards to share counts.
I think, if we use the default/canonical for the meta data here, it will mean even if users use 2 different protocols and share the links, twitter & facebook will be told what the canonical url is and get the same url  either way.

Ok, I'll make the change tonight so that they use the canonical url. Also I'll rename the props variable to canonicalUrl vs defaultUrl to make it less confusing.

@ErisDS All done.  :+1:


zoom  on mapView.show

hello , currently I didn't succeded to change the initial zoom when I launch mapView.show. the zoom is always very  high. I tried to change :
initialCameraPosition: new CameraPosition( new location(lat,long),zoom),
but I have no changes.

What value are you passing in for zoom?

I tried 2.0 - 10.0 - 15.0 etc


NOX-655, NOX-657 Generate Actions section and empty Add Form

@anna-naumova25  can you please add a screenshot of the end result for Crypto Cash?

Hi @anna-naumova25 - are the code blocks on the razor pages there to make it easier for generator? I prefer to have the code on the related base cs file - but understand if makes it easier on generator side

Hi @anna-naumova25 - are the code blocks on the razor pages there to make it easier for generator? I prefer to have the code on the related base cs file - but understand if makes it easier on generator side

@DanielHodgeGH  I've moved codebase to a cs fil for AddForm. Absolutely agree on this, let's have the code in a separate file. Let's only keep it in .razor if the code block is really small.


[actions] upload build artifacts on failure

I've been seeing SLC generation failing intermittently both in GitHub Actions (example) and in our internal Jenkins server.
Adding this for more debug data on failures.

Here's a test of the artifact upload https://github.com/openthread/ot-efr32/actions/runs/4565740392?pr=548


Move namespace utils from gProfiler @ 89fcf8e2717 and improve them

Move namespace utils from gProfiler @ 89fcf8e2717
Make run_in_ns re-raise the exception if one is raised in its thread
FIx ns_path absolute check in resolve_proc_root_links

Looks good AFAIC, just wait for @d3dave's approval


Add auto backport functionality to backport PRs for releases

Coming from meta issue opensearch-project/opensearch-plugins#108:

[ ] Add auto-backport PR creation Github action to make sure all the PRs are backported for a particular release.
[ ] Add auto-delete for merged auto-backport PRs to clean up the branches created during auto-backport.
[ ] Add documentation for the same.

Related documentation: https://github.com/opensearch-project/opensearch-plugins/blob/main/BACKPORT.md

Closing this issue as notification plugin is planned for 2.0 release, will re-open for 2.0

@praveensameneni, we can keep this issue open. I will add in the meta issue that notifications is not for 1.3. Does that work?

Yes, that will work.

Yes, that will work.

Thank you! I added a note for it in the meta issue.

@VachaShah We added the backport workflow but need to add the secrets. I don't think I have full access to the repo settings. Can you have someone help with that?

@qreshi I added the secrets.

@VachaShah Thanks! Is there any way to dry-run test the workflow? Otherwise, we can close the issue and re-open it if it doesn't work when we use it.

I confirmed the backport workflow works. Thanks @VachaShah, closing the issue.


Add beyond basic features to test driver

test-driver currently support only very basic operations
additions:

support inspection, --verbose to see what commands are executed
color
parallel running of tests
more expressive test writing, allow multiple tests to be specified in one file
improve error reporting
add diffing

mostly solved by #79
rest remaining tasks subsumed by #80


Order page: default cycle information is incorrect

API response contains the number of cycles and cycle length and it should be displayed on the order page.

Currently API returns a set of attributes that describe the number of cycles and the cycle length, but there are duplicates and I can't understand which one to use on the client side.


Fix fabfile importing other tasks

The Problem
If you're using a fabfile with imports, fabric-bolt was unable to load the tasks, and threw the following error:
Internal Server Error: /projects/2/stage/get_tasks_ajax/3/
Traceback (most recent call last):
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 137, in get_response
    response = response.render()
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/template/response.py", line 103, in render
    self.content = self.rendered_content
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/template/response.py", line 80, in rendered_content
    content = template.render(context)
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/template/base.py", line 148, in render
    return self._render(context)
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/test/utils.py", line 88, in instrumented_test_render
    return self.nodelist.render(context)
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/template/base.py", line 844, in render
    bit = self.render_node(node, context)
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/template/debug.py", line 80, in render_node
    return node.render(context)
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/template/defaulttags.py", line 201, in render
    nodelist.append(node.render(context))
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/template/defaulttags.py", line 458, in render
    six.reraise(*exc_info)
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/template/defaulttags.py", line 444, in render
    url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app)
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 551, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "/var/www/fabric-bolt/venv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 468, in _reverse_with_prefix
    (lookup_view_s, args, kwargs, len(patterns), patterns))
NoReverseMatch: Reverse for 'projects_deployment_create' with arguments '(3, 'test.other_task')' and keyword arguments '{}' not found. 1 pattern(s) tried: ['projects/stage/(?P<pk>\\d+)/deployment/(?P<task_name>\\w+)/$']
[29/Jan/2015 15:53:07] "GET /projects/2/stage/get_tasks_ajax/3/ HTTP/1.1" 500 15058

Example fabfile structure:
fabfile/
    __init__.py
    test.py

The Solution
Adjust the regex for the projects_deployment_create URL to optionally match a ".", followed by characters. Example "task.thing".
Travis tests passing.

Coverage decreased (-0.3%) to 67.38% when pulling ce75bf72bbfc69da966c4f4ae723e335a724b4d4 on RyanFolsom:support-python-modules into d08d989413d5c6ced8482f1b8b0835bab1e50e56 on worthwhile:master.

Ah good catch. But maybe a better idea would be to slugify the task name then?

Great point! Let me dig around a bit more, and I'll look into revising this.

We're going to make a new pull request and ref this one. We're going to fix the problem with the task name as a query parameter on the url.

This has been fixed in https://github.com/fabric-bolt/fabric-bolt/pull/162. Closing this one now.


Support Android Gradle plugin 3.6.x

Fixes #38.

@piotrmadry Could you please review this?

Thanks for merging!

@ikesyo Apologize for the timing..
New version: https://plugins.gradle.org/plugin/firebase.test.lab


Unify Brackets title-bar with menu-bar

i like to be brackets like this

Could you give more details about the problem?

OK, i want menu bar and toolbar be in there. that i show in picture.
in original brackets UI they are except and it takes a little more vertical space.

It's a great idea, I really liked this UI "improvement". But, in titlebar shows file name and path, if the file path is "foo/bar/foobar/foofoo/other_folder/bar.ex", the Brackets will show "foo/bar/foobar/foofoo/other_folder/bar.ex - Brackets".
My suggestion, in title-bar, shows only menu-bar and "Brackets". And file "path+name" only shows in actual local in top of document, only moving the menu-bar to title-bar.

that's good idea as well (y)

I also would like to keep relative path (to project) of file and it must be able to selected and copied by user. Because it is too difficult find a way to get full path of file in big project.


Description for building the application

What do you think about adding a description of how to build the application in the Readme.md

I guess you found it? :)
https://github.com/discordianfish/docker-backup#build


babel-jest not working with es2015

I'm currently doing the basic sum test using es2015 but it does not seem to be working. Here is my sum.js
let sum = (value1, value2) => (
    value1 + value2
);

export default sum;

Here is the sum-test.js
jest.unmock('../sum');

describe('sum', function() {
    it('adds 1+2 to equal 3', function () {
        var sum = require('../sum');
        expect(sum(1,2)).toBe(3);
    });
});

When I run jest, (using npm test), I seem to be getting this error:
● sum › it adds 1+2 to equal 3

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode in file 'sum.js'.
Make sure your preprocessor is set up correctly and ensure your 'preprocessorIgnorePatterns' configuration is correct: http://facebook.github.io/jest/docs/api.html#preprocessorignorepatterns-array-string
If you are currently setting up Jest or modifying your preprocessor, try jest --no-cache.
Preprocessor: node_modules/babel-jest.
Make sure your '.babelrc' is set up correctly, for example it should include the 'es2015' preset.
Jest tried to the execute the following preprocessed code:
let sum = (value1, value2) =>
value1 + value2;
export default sum;
at Object.eval (__tests__/sum-test.js:6:19)
at attemptSync (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1791:24)
at QueueRunner.run (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1779:9)
at QueueRunner.execute (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1764:10)
at Spec.Env.queueRunnerFactory (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:629:35)
at Spec.execute (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:355:10)

Looks like others are having the same problem
Stackoverflow
What could be wrong?

hey @chemjournal
what is your node version and what is inside your .babelrc?
also, do you see babel-jest when you run jest?
$  jest
Using Jest CLI v11.0.2, jasmine2, babel-jest
PASS  __tests__/CheckboxWithLabel-test.js (0.494s)
1 test passed (1 total in 1 test suite, run time 1.209s)

hi @dmitriiabramov i'm using node 5.5.0 and my .babel-rc has
{
"presets": ["es2015"]
}

Yes I do see babel-jest, Using Jest CLI v11.0.2, jasmine2, babel-jest
Btw i've also noticed that the sample CheckboxWithLabel on the jest website doesn't work either. But that seems to be a different error (not related to babel). I'll open a different issue just so that we can focus on them individually.
Thanks for your help!

i was able to reproduce it inside examples/getting_started when i used your code.
here is what solved it for me:
npm install --save-dev babel-jest babel-preset-es2015
echo '{"presets": ["es2015"]}' >> .babelrc
jest

That's strange because I had the exact same presets loaded. It turned out that jest.autoMockOff() was causing the test to fail. Its working now! Thanks for your help!
btw I've created #932 for the problem in with the ChecklistboxWithLabel sample code error.

@dmitriiabramov I don't see Using Jest CLI vXX.X.X, jasmine2, babel-jest when I run jest or npm run jest
Can you help me out?


Just record on window submit form event

The window submit form event should be handled on web client side. Normally, they need to check some logic before submit it to server. So if we call form.submit() on that listener will cause some exception cases.

@dinhlamvn Good catch, thanks for your contribution!


Missing indentation for the Event examples

The indentation for the examples on the Events page is squished. It is squished for the later examples on the main MSDN page as well.

@cartermp @KevinRansom @ReedCopsey - can you guys please look into this?

Yep, I'll take care of this.

Merged fix. Thanks @cartermp


Update Retail React App Page Designer integration README

Small tweaks to the Page Designer README:

Sample code handles errors
Terser explanations
Note loudly that the functionality is not enabled by default

Thanks @bendvc + @rsexton404.
It's outside the scope of what I wanted to do here, some other things I'd like to work in as I think its important to understand how this work ...

From a workflow perspective, the first thing you need to do is create React.js components that are representations of all your Page Designer components that you will use. I'm actually unsure how our current implementation handles Page Designer component serializations that do not have a corresponding React.js component. Does it throw, warn in the console or silently discard them?
After you've created your components, you'll need to decide how you want to render them. Since there is no "mapping" mechanism, this is a large exercise left up to the implementer. You might chose to pull down the set of pages at build time, and compile them into the bundle or you might query a custom API at run time (no PD API exists to get the list of pages). Alternatively you could hard code in the set of PD pages.
Now, your merchandisers will go to work in PD in BM. You're still going to get the old rendering of components in BM. To see what things are going to look like in the PWA, you'll need to publish the page, and then open the relevant URL in the PWA.
The PD API is actively being worked on and there are some known bugs / constraints: a) it doesn't work when storefront protection is enabled b) if any attribute of your component serializes to null, the whole thing will c) it not currently hooked up to shopper context d) if your PD component doesn't define a .serialize() method, you'll get the default rendering, which may not be what you want ... these are being actively worked on, but they're good to know!


Move ConsoleLogger.v1 to spacy-legacy

This PR moves the ConsoleLogger.v1 to spacy-legacy.
The upcoming ConsoleLogger.v2 will feature saving training logs to a JSONL file (and more ✨).

Can you also add it to the tests here?
https://github.com/explosion/spacy-legacy/blob/master/spacy_legacy/tests/test_legacy.py


Add 287 FindDupNum

@forest5013 Very fun problem. Please review

two typical methods in leetcode: two pointers(slow and fast but different one in this problem, number is the next index) and binary search

@forest5013 fixed. please merge


chore: update Tailwind

https://tailwindcss.com/blog/tailwindcss-v3-1#first-party-type-script-types

@machour Did this because they just released a new version today & they have the Config type now.


Undefined index: DB_TYPE

after running php artisan app:install i get
[ErrorException]
  Undefined index: DB_TYPE

on latest 0.0.39 release

This issue causes that deployer is not finishing install and nothing works further.
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
app-69de1cc69c.js:1 Uncaught TypeError: Cannot read property 'id' of undefined
and so on...

0.0.38 works great meanwhile...

Hmm, very odd, I will take a look when I get home from work this evening... Can you post the content of .env and .env.prev (obviously hide the passwords)

emm... i have reverted all changes back to 0.0.38, but you can reproduce that error by simply doing all usual install steps. Nothing more or less.

That is weird because I ran the installer on my own install. You should still have .env.prev though as .env gets backed up to though as soon as you try to run the installer

@dancryer @jbrooksuk Don't suppose either of you have had this if/when you've upgraded? I did a fresh install on 0.0.38 and then upgraded and it worked fine.
@uLow I don't suppose you used the refactor/react branch at any point did you?

Experienced the same issue just now, seems the error happen in one of the migrations: 2016_09_06_195043_add_targetable_attributes.php line 85 (and potentially 89 and 92)
Submitted a pull request which kind of solve [let user proceed with app:install per normal], but I guess it is not solving the root cause ($_ENV is not available yet when running the migrations?).

Interesting, could you post your .env?

APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:xxXX8x8+8XxxxXxxXXx8X8xxx8XXXxxX8xXXx88/x88=
APP_URL=https://deployer.xxxxxxxxxxxx.com
APP_TIMEZONE=Asia/Singapore
APP_LOCALE=en
APP_THEME=green
APP_LOG=daily

JWT_SECRET=xX78xXXxxxxxXxX88x8XXxxXxxXxxXxxx

SOCKET_URL=http://localhost
SOCKET_PORT=6001

DB_TYPE=mysql
DB_HOST=localhost
DB_DATABASE=deployer
DB_USERNAME=deployer
DB_PASSWORD=XXx%XX88x8x,X)x$xxxXXxxxXxXxxxX8

MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=xxxxx
MAIL_PASSWORD=XX.8XxXXxXxXX8xxXxxXXx8xX.xXxx8xXXXxXX8X8XXX-xXxx8X8X8x-xXxX8X8XXXXXX
MAIL_FROM_NAME=Xxxxxxxx
<EMAIL_ADDRESS>
REDIS_HOST=<IP_ADDRESS>
REDIS_PORT=6379
REDIS_DATABASE=0

QUEUE_HOST=localhost
QUEUE_DRIVER=beanstalkd

CACHE_DRIVER=file
SESSION_DRIVER=file
IMAGE_DRIVER=gd

Oh, earlier, I had an issue with truncated database password (when the password contains an equals symbol "=" in it). But I think that is a separate issue.

@REBELinBLUE my .env:
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:*****
APP_URL=http://************
APP_TIMEZONE=Europe/Riga
APP_LOCALE=en
APP_THEME=green
APP_LOG=daily

JWT_SECRET=*****************

SOCKET_URL=http://*********:6001
SOCKET_PORT=6001
SOCKET_SSL_KEY_FILE=*************
SOCKET_SSL_CERT_FILE=*************
SOCKET_SSL_CA_FILE=*************

DB_TYPE=mysql
DB_HOST=localhost
DB_DATABASE=deployer
DB_USERNAME=deployer
DB_PASSWORD=************

MAIL_DRIVER=sendmail
MAIL_FROM_NAME=Deployer
MAIL_FROM_ADDRESS=deployer@***********

REDIS_HOST=<IP_ADDRESS>
REDIS_PORT=6379
REDIS_DATABASE=0
REDIS_PASSWORD=null

QUEUE_DRIVER=beanstalkd
QUEUE_HOST=localhost
QUEUE_PORT=11345

CACHE_DRIVER=file
SESSION_DRIVER=file
IMAGE_DRIVER=gd

and i don't have .env.prev

Thanks. Yeah sorry it deletes the .env.prev if the resulting .env file is no different to the .env (i.e. it copies it to .env.prev, updates .env with any new fields from the example file and then compares .env and .env.prev and removes it the .env.prev if it is the same)

if you edit database/migrations/2016_09_06_195043_add_targetable_attributes.php and after the <?php line add `$_ENV['DB_TYPE'] = 'mysql'; (or pgsql or sqlite) it should allow the migrations to run correctly at least.
Still trying to figure out what is actually happening

@REBELinBLUE thanks for the clarification. I can't wait for a stable fix ;)

Busy couple of evenings. I shall be spending tomorrow evening investigating and (hopefully) fixing

I think this is also an issue with the database.php it doesn't seem to pick the .env variable up

Hmm that is weird as that is part of Laravel itself. Could you try running php artisan tinker and then at the prompt type $_ENV and see if it outputs the values from the .env file

I may have a fix, still investigating though, problem is I can't actually recreate this issue so far
Can you tell me your environments, i.e. which version of PHP, whether you are using php-fpm, sapi etc (not that it should matter) and what the values of error_reporting and display_errors is for the CLI version of PHP.
Also, could someone give me a DB dump, but just the structure not the data. You can do this with something like the following
$ mysqldump -d -h localhost -u DBUSERNAME -pDBPASSWORD DBNAME > dumpfile.sql
Thanks

OK I have managed to recreate the issue

Can someone try the bug/278 branch and see if that works?
You may need to run the following query
ALTER TABLE commands DROP COLUMN target_id;
ALTER TABLE commands DROP COLUMN target_type;

ALTER TABLE variables DROP COLUMN target_id;
ALTER TABLE variables DROP COLUMN target_type;

ALTER TABLE config_files DROP COLUMN target_id;
ALTER TABLE config_files DROP COLUMN target_type;

ALTER TABLE shared_files DROP COLUMN target_id;
ALTER TABLE shared_files DROP COLUMN target_type;

To clean up the mess that the DB was left in after the failed migration.
You should backup the DB before with
$ php artisan db:backup

I have tried to install the app from bug/278 branch and the app has been successfully installed.

That is great to hear, did you have the issue with the upgrade previously or was it a fresh install

It was the fresh install.

Hello all,
just did a fresh install and same problem here. I used @REBELinBLUE's cheat, the installation worked but I am now stuck on login with error :
[2016-11-18 11:17:54] production.ERROR: exception 'InvalidArgumentException' with message 'Database (/var/www/deployer/database/database.sqlite) does not exist.' in /var/www/deployer/vendor/laravel/framework/src/Illuminate/Database/Connectors/SQLiteConnector.php:34
It seems related to the DB_TYPE again. My .env file :
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:yHs9bBPBg7h8sYZ0tj447G+hJGiFc/7TrxPmkWxRU=
APP_URL=http://deploy.xxxxx.io
APP_TIMEZONE=Europe/Paris
APP_LOCALE=en
APP_THEME=green
APP_LOG=daily
JWT_SECRET=1MZxUpnu7rrNSwKmP75bhZPoZ30zRNHh
SOCKET_URL=http://deploy.xxxx.io
SOCKET_PORT=6001
DB_TYPE=mysql
DB_HOST=localhost
DB_DATABASE=deployer
DB_USERNAME=deployer
DB_PASSWORD=KD2kcjs2kjs29jvpm2
MAIL_DRIVER=mail
MAIL_FROM_NAME=Deployer
<EMAIL_ADDRESS>REDIS_HOST=<IP_ADDRESS>
REDIS_PORT=6379
REDIS_DATABASE=0
QUEUE_HOST=localhost
QUEUE_DRIVER=beanstalkd
CACHE_DRIVER=file
SESSION_DRIVER=file
IMAGE_DRIVER=gd
Thanks a lot
Axel

Hmm, that is odd, can you try
$ php artisan config:clear

to remove the cached configuration?
I may end up just merging the fix over the weekend, although I am 99% sure it works for people with the previous failed upgrade I am not able to test it without someone providing me the DB dump as I have still not been able to recreate the issue myself so am not 100% sure what state the database gets left in. But leaving it unmerged is causing more problems now

Ooops I just deleted it all and switched back to 0.38. Sorry.

No worries. Could you provide the your PHP config file, maybe php-fpm config if you are using that and your Apache or Nginx config? Maybe I can figure out why $_ENV is empty during migrations for some people and then I would be able to recreate the issue 🤔


Ability to set src folder as the source root

Project structure should not contain any src directory unless it is a package.


Speed of initial JITing

I realise this is a bit of a hand-wavey, but I have noticed that the initial JITing stage can be quite slow compared to when I used exactly the same setup with Diffrax as the ODE solver e.g. 20s for a simple NODE-type setup. I realise this is new library (while Diffrax has been optimised over the course of several years) and once the JIT staging is complete, each iteration in probdiffeq runs very quickly / optimises models in a few seconds, which is awesome.
I just thought I would share my experience of using JAX over the past few years, that slow compilation can often be the symptom of issues I have been quite been able to put my finger on. However, I have found very innocuous changes, such as exactly where you vmap something or changing the order of a calculation, can sometimes result in significant speed-ups in this process e.g. in one incident, literally just changing at what "level" I have used a vmap resulted in halving that JIT staging.
I also know that Diffrax has used tricks for speeds up JITing e.g. there is a flag for "scan_stage" which runs a particular mode to substantially improve compilation speed.

There is also #140, which might relate to your problem (depending on the number of derivatives in your prior and on how complicated your vector field is).

You mention something about selecting when to apply vmap. I would love to hear more!

I would love to say I have some hard and fast rules on this issue, but I don't. Very much trial and error, if there is some flexibility in terms of ordering of function calls or level at which vmap can be placed, if JITing is slow, I resort to trying differing options.
e.g. I have just found that from time to time for instance you might have a choice if you vmap an outer function or pass a tensor, X, inside a function, then JAX primiatives act on the whole, then vmap a call to an inner function. And you get a difference. I haven't found a hard and fast rule to that. I think it mostly occurs when you are taking gradients / jvps / vjps in the inner function. Also, I have found from time to time that although vmap is suppose to "auto-magically" handle efficient vectorisation, it can be result in faster / more efficient code if you do it manually.
My guess in some cases, as in described above, is that the JIT compiler fails to see some efficiency and then takes a long time to build a more complicated representation, perhaps making unnecessary copies of elements that aren't required.  The problem is the more complex your model gets, the harder is to look at the JIT build and really try to work out what is going on in there.

I see; thanks for elaborating! Sounds like there are some (potentially hard-to-find) performance gains up for grabs :)
Let's take a closer look: I assume you're computing some value_and_grad of a fixed-step solver like in the parameter estimation notebooks. Is that correct? Which solver are you using? Knowing where to look will simplify investigating potential compilation-time improvements.
A minimal example would be fantastic, but knowing the solver configuration would already be a decent starting point (so I/we can check jaxpr etc.).

There is also https://github.com/pnkraemer/probdiffeq/issues/140, which might relate to your problem (depending on the number of derivatives in your prior and on how complicated your vector field is).

This appears to be the big factor. Every additional derivative is adding significant additional time to the JITing process, such that the difference between using 1 and 4 results in triple the time to "compile".
I will do a bit of further experimentation and set up a minimal example (or two), with some comments on differences in performance, and email them directly to you in a couple of day's time.

Sounds great! Looking forward to your email.
In the meantime, if you need <= 5 derivatives and the issues in #140 are a blocker, try the Runge-Kutta starter (in probdiffeq.taylor) instead of taylor_mode_fn. This initialisation scheme does not suffer from the problem in #140. The choice between such functions is an argument in the solution routines and for a small number of derivatives, it works just as well.

Wondering if you could make use of a similar trick to the one described here.
Improve compilation speed with scan-over-layers
https://docs.kidger.site/equinox/tricks/
Obviously, the taylor series expands in length each time around the loop, and jax.lax.scan doesn't allow for differing size returns. Perhaps padding could be used to handle this?

Unfortunately, the trick discussed here does not apply (the problem is a different one, as you write).
But it turns out that there is a way of padding the Taylor coefficients cleverly such that the for loop can be avoided. This has (already) been implemented by #474.
Could you please install the latest version from GitHub and check whether the compilation time still bugs you?

Winner.....compilation time is less than half what it was previously on a simple example, using number of derivatives = 4.

Fantastic! Should we close this issue then? Do you consider your problem to be resolved?

Just a thought for minor improvement in taylor_mode_fn in taylor.py. For low order expansions, [0, 1], could handle it and return before getting to scan at all. Something like this.
primals= vf(*initial_values)
if order == 0:
    return [y0]
y1 = jax.jvp(vf, (state, ), (primals,))[1]
# In the case it is first order, just stop here
if order == 1:
    return [y0, y1]
....


Algolia search bar config

Purpose of this pull request
This pull request adds Algolia and removes ss360.
Need help getting it into navbar. It’s supposed to auto-populate directly in the nav, but instead it’s showing outside the nav, between the head and body.

Select the type of change:

[ ] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions and updating sections
[ ] New Content - New features, sections, pages, tutorials
[x] Site and Tools - Updates, maintenance, and new packages for the site, Gatsby, React, etc

Are you trying to get this in between the Start a Free Trial button and the other icon buttons?

Are you trying to get this in between the Start a Free Trial button and the other icon buttons?

Right now I have it in the far right. Open to moving it elsewhere in the nav, though.

Hey folks, I've been working with @kimsauce to try and narrow down why the search results aren't being segmented out. The TL;DR is that I believe the terms used for faceting in Algolia (see their guide on faceting here need some tweaking in order to allow for a more robust search.
If we take the Sensu docs, for example, the results are segmented by the product:

In order to accomplish this, there's some magic in Hugo in our headers partial that sets the product tag based on the front matter for the doc (see this example guide).
But for that to be usable by Algolia, we've configured the following facets in our index:

Since that's set on the Algolia side, we've got our results narrowed down by the facetfilters we've added to our footer partial here:
 algoliaOptions: {
      facetFilters: [
        [
          {{ if isset .Page.Params "product" }}
            'tags:{{ .Section }}'
          {{ else }}
            'tags:sensu-go',
            'tags:plugins',
            'tags:sensu-core',
            'tags:sensu-enterprise',
            'tags:sensu-enterprise-dashboard',
            'tags:uchiwa'
          {{end}}
        ],
        [
          {{ if isset .Page.Params "product" }}
            'version:{{ .Page.Params.version }}'
          {{ else }}
            'version:6.9',
            'version:1.0',
            'version:2.16',
            'version:1.9',
            'version:3.7'
          {{end}}
        ]
      ]
    },
    debug: false
  };

But from what I'm seeing in the Sumo Algolia config, it doesn't look like the facets are set correctly:

And it doesn't look like facetfilters are being used as part of the Algolia configuration (see https://github.com/SumoLogic/sumologic-documentation/blob/615bd933566e118f3d8e1b309761941559d11f13/docusaurus.config.js#L241-L253).
That said, I think if we could narrow down the facets that we want for grouping (I'm thinking that the product would be one of the facets that we group the results by) and then get that configured in the docusaurus config, that should get us the desired results.

Wahey!!! It looks like it's working @kimsauce

@asachs01 yes!! Oh my god, after a month of trial and error, it finally worked! It was your guidance about the faceting that got me almost to the finish line, then after a couple days of tweaking the dashboard config, I got it😊😄 So so happy.
Also thank you @vfalconisumo for your work figuring out the "See all results" link! I'm still trying to learn how to build out the "/search" landing page.


wrong number of arguments ( 2 for 0 )

I have this error when trying to install firefox-aurora through brew cask
brew cask install firefox-aurora
Error: wrong number of arguments (2 for 0)
Please report this bug:
    https://github.com/mxcl/homebrew/wiki/troubleshooting
/usr/local/Cellar/brew-cask/0.16.2/rubylib/cask/download.rb:10:in `initialize'
/usr/local/Cellar/brew-cask/0.16.2/rubylib/cask/download.rb:10:in `new'
/usr/local/Cellar/brew-cask/0.16.2/rubylib/cask/download.rb:10:in `perform'
/usr/local/Cellar/brew-cask/0.16.2/rubylib/cask/installer.rb:12:in `install'
/usr/local/Cellar/brew-cask/0.16.2/rubylib/cask/cli/install.rb:8:in `run'
/usr/local/Cellar/brew-cask/0.16.2/rubylib/cask/cli/install.rb:5:in `each'
/usr/local/Cellar/brew-cask/0.16.2/rubylib/cask/cli/install.rb:5:in `run'
/usr/local/Cellar/brew-cask/0.16.2/rubylib/cask/cli.rb:21:in `process'
/usr/local/bin/brew-cask.rb:6
/usr/local/Library/brew.rb:51:in `require'
/usr/local/Library/brew.rb:51:in `require?'
/usr/local/Library/brew.rb:101

Thank you for the contribution. It was merged directly as 466fd01103deb750cfb8c9dbd1bb8364de3ba966 to keep commit history cleaner. Your contribution is still credited to you.


croutonversion not working in crosh / shell as chronos user

pretty sure I used to be able to run this outside of the chroot fine:
chronos@localhost / $ sudo croutonversion -d -u
crouton: version 1-20140301024303~master:06549cb2
Retreiving latest version of crouton
latest: version
Saving latest version to /root/Downloads/crouton
mv: cannot move ‘/tmp/crouton.jLD/crouton’ to ‘/root/Downloads/crouton’: No such file or directory
huh?
chronos@localhost / $ sudo enter-chroot
Entering /mnt/stateful_partition/crouton/chroots/precise...
(precise)ted@localhost:~$ sudo croutonversion -d -u
[sudo] password for ted:
crouton: version 1-20150226113948~master:060367f9
Retrieving latest version of crouton
latest: version 1-20150226194717~master:841ff620
Saving latest version to /home/ted/Downloads/crouton
(precise)ted@localhost:~$

~/Downloads isn't mounted for the root user anymore.  That croutonversion script is custom, so you'll need to update it to not use -u root.

OK, thanks.

@DennisLfromGA going through old scripts, I think you wrote this one called crv.sh - it still works well, if crouton gets moved to the right places, on my precise / arm the 'which' command seems to be failing, even though it is in /bin, not sure if you're still updating it, but it seems useful - in the example below, all chroots are unmounted, but if any were, it would show it.
chronos@localhost / $ cd /usr/local/bin
chronos@localhost /usr/local/bin $ ./crv.sh
host: /home/chronos/user/Downloads/crouton: version 1-20150226194717~master:841ff620
chroot name: precise
Entering /mnt/stateful_partition/crouton/chroots/precise...
crouton: version 1-20150226113948~master:060367f9
release: precise
architecture: armhf
xmethod: xiwi
targets: xiwi,xfce
host: version 6457.107.0 (Official Build) stable-channel daisy
chroot name: trusty
Entering /mnt/stateful_partition/crouton/chroots/trusty...
crouton: version 1-20150226183401~master:24fa73b3
release: trusty
architecture: armhf
xmethod: xiwi
targets: xiwi,extension,xfce
host: version 6457.107.0 (Official Build) stable-channel daisy

Yeah, I believe that was a custom croutonversion that would run outside the chroot.
Inside the chroot, you needn't (read shouldn't) use sudo when executing 'croutonversion'.
The script 'crv[.sh]' was one I played with a while back but I haven't kept up with it, I'm a little surprised it still works.

@DennisLfromGA your crv.sh works well, and even unmodified if you cp crouton to where it wants to find it, but just like the custom old croutonversion, at some point it wants to root/Downloads and that's jut not there anymore. I'll try to find the newest standard /bin utilities.

@tedm Please excuse me for hijacking this thread, but what's this icon? It looks like the Crouton-Integration icon, but I thought it was only a browser extension. Seems like it might be cool to have integration in the dock for easier window switches, etc. Thanks!!

@Watney I believe it is part of the Crouton Integration app. I haven't used it before, as I use alt tab to switch windows, but upon clicking on it, it shows all xiwi windows and lets you go directly to any from the dock. It's probably meant for mac users ;)

@tedm thanks! Interesting. I installed -t extension,xiwi and I'm not seeing the desktop app, only the toolbar icon. Seems like it would be nice to actuate with the keyboard Alt+8 for example.
Is anyone else (who randomly stumbles onto this dead thread) seeing the desktop icon? Thanks!!

I think it's activated when the xiwi window is not in full screen mode.
Try exiting full screen in your chroot window and see if it appears.
On Fri, Feb 27, 2015 at 10:52 PM, Watney<EMAIL_ADDRESS>wrote:

@tedm https://github.com/tedm thanks! Interesting. I installed -t
extension,xiwi and I'm not seeing the desktop app, only the toolbar icon.
Seems like it would be nice to actuate with the keyboard Alt+8 for
example.
Is anyone else (who randomly stumbles onto this dead thread) seeing the
desktop icon? Thanks!!
—
Reply to this email directly or view it on GitHub
https://github.com/dnschneid/crouton/issues/1452#issuecomment-76508795.

--
DennyL@GMail

@tedm @DennisLfromGA I feel like a total fool! The symbol appears in the dock, just as you suggested, when an xiwi window is not in the full screen. I have one myself!


Mapping a vector quantity from a curvilinear to rectilinear grid

I initially posted the following as a question on the iris Google Group but figure it should actually be a GitHub issue since it triggered no error or warning when I ran it...
I'm currently working with CMIP5 ocean heat transport data. In particular, I need to calculate the northward heat transport at each latitude using the hfy (ocean_heat_y_transport) and hfx (ocean_heat_x_transport) variables. For most of the models, the ocean data is on a curvilinear grid, e.g:
print(hfy_cube)

ocean_heat_y_transport                     (time: 1872; cell index along second dimension: 384; cell index along first dimension: 320)
     Dimension coordinates:
          time                                  x                                        -                                      -
          cell index along second dimension     -                                        x                                      -
          cell index along first dimension      -                                        -                                      x
     Auxiliary coordinates:
          latitude                              -                                        x                                      x
          longitude                             -                                        x                                      x

In order to get the hfy data on a regular lat/lon grid, I was thinking I could use the following iris functionality,
target_grid = iris.coord_systems.GeogCS(iris.fileformats.pp.EARTH_RADIUS)
new_hfx_cube, new_hfy_cube = iris.analysis.cartography.rotate_winds(hfx_cube, hfy_cube, target_grid)

and then regrid to a rectilinear grid using iris.experimental.regrid.regrid_weighted_curvilinear_to_rectilinear.
The new values are different to the old ones, but I'm struggling to figure out if they are correct. What makes me especially nervous is that the original hfx and hfy cubes (created directly from a netCDF CMIP5 data file) have no coord_system:
print(hfx_cube.coord_system())
None

Does anyone know (a) if the lack of a coordinate system is a problem, and (b) if so, how do I specify a curvilinear grid? It doesn't appear to be an iris.coord_systems option...
http://scitools.org.uk/iris/docs/v1.9.2/iris/iris/coord_systems.html

Hi Damien,
Have you tried checking the coordinate system on a specific coordinate of the cube rather than the whole thing?
Having had a little look at the iris functions you are using, it sounds like this might be something worth sending to the AVD Support Desk<EMAIL_ADDRESS>with a sample data file so that we can dig into it properly.  Would you be able to do that?


Class autosort

Hello, thank you for the nice library. Couldn't find anything like Headwind to sort classes. Are there any known ways to sort them? (preferably by alphabet)

This works for me https://github.com/marcosvega91/prettier-tailwind

you can also track https://github.com/alexanderniebuhr/prettier-plugin-unocss (which I would call the windi css version)


Add elbv2 CRDs for Listener and TargetGroup resources

We are able to create a NLB but there is no way for us to create/associate a listener along with target group to it. How do we do it?
apiVersion: elbv2.services.k8s.aws/v1alpha1
kind: LoadBalancer
metadata:
  name: my-nlb
spec:
  name: "my-nlb"
  type: "network"
  scheme: "internet-facing"
  subnets:
    - subnet-dsfd
    - subnet-df
    - subnet-df
  securityGroups:
    - sg-dfd
  tags:
    - key: "test"
      value: "test"

@alagukannan We're planning on adding two new CRDs for Listeners and TargetGroups, i'm currently working on them.  Maybe we could make them just a spec field within the TargetGroup CRD? Thoughts on this approach?

Yes they should be part of the spec of TargetGroup itself. Status fields should track the individual targets status and then to syncComplete once all targets are registered and healthy

Any news regarding targets?

any news here?


Key Vault: refactored keys and secrets readme based on ux feedback

fixes #8211

Can one of the admins verify this patch?

/azp run python - keyvault - ci


Best practices for offline signing

I would like to use an online computer with no private keys to prepare a transaction, and then sign the transaction using an offline computer. Finally the signed transaction is brought to the online computer for broadcast to the network.
What is the best practices way of doing this using Omnicore? Is it possible?
Edit: I've been following this guide so far:
https://github.com/OmniLayer/omnicore/wiki/Use-the-raw-transaction-API-to-create-a-Simple-Send-transaction
But it's rather complicated to follow these steps in an programmatic fashion. Also, if possible I'd like to use take the BTC fee for the transaction from a different address to the one holding the Omni tokens.

@CodeForcer that guide is the way to do it.
You can use BTC from other addresses to cover any missing btc needed however you will need to have at least 1 input (the first one in the input list) be from the address that is sending the Omni Protocol token. This is a protocol requirement on how the 'sender' is identified.


Unable to get the multifield nodes from a component, with updated property name

Hi All,
I am unable to get the multifield nodes from a component with the updated property name.
Expected Behaviour
While migrating components, the multifield nodes under it should also be added into the new migrated component, with the updated property name as well.
Actual Behaviour
cq:copyChildren simply adds the children nodes as it, but there is no way to feed in the new property names which should replace the old property names from the children node.
This is a specific use case where the components have the multifield nodes (the number cannot be specified in the rewrite rules). Is there a way to copy the children nodes with the updated property names?
Thanks in advance for the answer! looking forward for the same.

Hi @bstopp,
Could you please help me to understand how shall we handle such cases.
Thanks in advance!


PR #1471 seems to go a few steps backwards

While trying to commit the rest of the split-up PR #1420, I ran into the fact that PR #1471 conflicts with it.
In principle, the idea behind issue #1448 is the right one: make code more abstract. In practice, #1471 does it by also removing essential functionality. To use a bit of hyperbole, it's really nice when you can abstract all your code to "return True", but it is not very useful.
In particular, after #1471, tasks managed by the local provider appear to never be able to have the COMPLETED status, only RUNNING and FAILED. This was handled properly when using popen() locally. I would think that, should a single solution be adopted, we should adopt the correct one and fix the remote channels to properly report task status. Without the ability to distinguish between success and failure when running a worker, we cannot detect the type of problems that  #1420 does. Like ever.
Additionally, but this should be easily fixed, the channel interface does not support pull_file (although the SSH implementation does) method, which is needed for getting stdout/stderr files back. And, by the way, the current code munges stdout and stderr, whereas the special-cased one didn't.

I'm fine with the Channel interface being changed to support what is necessary for new features.


Transparent background in WPF+WinFormsHost

Hi! I was wondering if it's possible to make GlControl's background transparent, so the parent WPF-control would be visible through it? Setting BackColor to something with alpha=0 doesn't seem to work.

Short answer is no due to the Airgap issue.  Long answer:  https://blogs.msdn.microsoft.com/dwayneneed/2013/02/26/mitigating-airspace-issues-in-wpf-applications/
Alternative solution: Use FBO's to render to a WritableBitmap used an an ImageSource in an Image element within WPF.
See here for a basic POC:  https://gist.github.com/DanFTRX/504be5c6e17098b86ef12342cd50c32d
Using a WriteableBitmap allows you to overlay things on top of it and otherwise manipulate the control the same as any other WPF Control.  It does come at the cost of some performance though, but should be negligable in most cases.

Thanks a lot, I'll look into it.


Fixed disassembly of signed 16 bit int

A literal operand of 32 or fewer bits occupies a 32 bit word in binary
SPIR-V. The spec does not say that the remaining bits in the word have
to be any particular value, but the disassembler was assuming that they
were zero or sign extended as applicable to the signedness of the type.
I saw a SPIR-V binary that was affected by this; the spir-v generator
had set the extra bits to 0 for a negative signed 16 bit literal, and
the disassembler gave the wrong result:
       %6 = OpTypeInt 16 1
      %31 = OpConstant %6 65436

Assembling that disassembly causes an error.
With this commit, the disassembler assumes nothing about the extra bits,
and the disassembly is correct:
      %31 = OpConstant %6 -100

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Tim Renouf seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@dneto0 Please review; thanks. (Is this how you are supposed to ask a specific person for a review?)

Thanks for the issue.
I think spec does
In 2.2.1 it says this about literal numbers:
Literal Number: A numeric value consuming one or more words. An instruction will determine what type a literal will be interpreted as. When the type’s bit width is larger than one word, the literal’s low-order words appear first. When the type’s bit width is less than 32-bits, the literal’s value appears in the low-order bits of the word, and the high-order bits must be 0 for a floating-point type, or 0 for an integer type with Signedness of 0, or sign extended when Signedness is 1. (Similarly for the remaining bits of widths larger than 32 bits but not a multiple of 32 bits.)
The relevant part is toward the end.
So it seems to me that the literal word has 16 high order bits being 0, and the bit 15 being 1.  This is invalid by the spec for a signed 16 bit int.
It's a judgement call between two choices:

disassemble it successfully but catch the problem in the validator.
fail disassembly.  That seems very unhelpful.

Clearly, we disassemble it but the validator does not catch this problem.
I haven't taken a look at your patch.  Do you agree that the generated constant is invalid?

Looking at your patch, I don't want to apply it.  It hides the fact that the upper 16 bits are zero. So it's an inaccurate view of what's in the binary, even if what's there is invalid.  I think the disassembler is doing the right thing here, even though the input is invalid.

OK. So it sounds like the bug is in the generator for generating it incorrectly, and the validator for not catching it.
I believe the generator used in this case is some version of the Khronos GLSL compiler, but I need to track down exactly what.

Ok.  I'll close this PR.  I've added an issue/task for the validator enhancement.  (The validator is a long way off from being complete.)  I'd appreciate you filing an issue upstream with whatever generator produced that code in the first place.
Thanks!


Upgrade for Docusaurus 3.2.0

Change Summary
Upgrade for Docusaurus 3.2.0
PR Checklist

[X] I have read and signed the Contributor License Agreement.

Thank you for the PR!

Published this in 0.17.0-0. Could you give it a shot and let me know how it goes?

It's working fine so far, thanks.

Thank you for confirming. Released 0.17.0.

@timolagus Could you open a new PR for this?

@timolagus I can create a PR at https://github.com/typesense/docusaurus-theme-search-typesense/pull/44 .

Thanks @fharper. I've merged and published it


WooCommerce Variations and Cloudflare “Auto Purge Content On Update” Issues

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the plugin and it is still present.

WordPress version
5.8
Cloudflare-WordPress version
4.5.1
PHP version
7.4
Expected result
When using Cloudflare’s WordPress plugin and configured with “Auto Purge Content On Update” to On. It causes a 15-second delay when updating a WooCommerce product with 15 variations. The “#CF\WordPress\Hooks::purgeCacheEverything” transaction occurs for every variation that is saved.
Here’s a screenshot from Newrelic. https://imgur.com/jUWtofV
This should only occur when the last variation is saved.
Actual result
This should only occur when the last variation is saved.
Steps to reproduce

Setup newrelic.
Create a product with 15 variations.
Updated one variation
Review newrelic transaction, see the purgeCacheEverything function run for each variation.

Additional factoids
No response
References
No response

Not stale :(

Just wondering if this is on anyone's radar?

Still an issue.

Guess who's back...back again. Not stale....but......


Remove dependency on MOM6 and FMS forks

the JCSDA fork of MOM6 is no longer used, instead the authoritative repos is used pointed to via a submodule.
I'm Just checking to see if this breaks the CI. I'll add a description later
Dependencies
build-group=https://github.com/JCSDA-internal/jedi-bundle/pull/85
jedi-ci-build-cache=skip

@eap @climbfuji I'm trying to test this PR along with the matching one for jedi-bundle (https://github.com/JCSDA-internal/jedi-bundle/pull/85) but the CI seems to keep using the develop version of jedi-bundle.
logs show it's not picking up the bundle from the PR
ecbuild_bundle( PROJECT mom6 GIT "https://github.com/jcsda-internal/MOM6.git" TAG 51ec489ad7d8a86762bef4c46eabd9af5fc41fa4 RECURSIVE )
ecbuild_bundle( PROJECT soca GIT "https://github.com/jcsda-internal/soca.git" TAG deb09180b6759c52f82ab4a194727a54ba7a094c )

should build-group work with jedi-bundle?

@eap @climbfuji I'm trying to test this PR along with the matching one for jedi-bundle (JCSDA-internal/jedi-bundle#85) but the CI seems to keep using the develop version of jedi-bundle.
logs show it's not picking up the bundle from the PR
ecbuild_bundle( PROJECT mom6 GIT "https://github.com/jcsda-internal/MOM6.git" TAG 51ec489ad7d8a86762bef4c46eabd9af5fc41fa4 RECURSIVE )
ecbuild_bundle( PROJECT soca GIT "https://github.com/jcsda-internal/soca.git" TAG deb09180b6759c52f82ab4a194727a54ba7a094c )

should build-group work with jedi-bundle?

Unfortunately not yet

@eap @climbfuji I'm trying to test this PR along with the matching one for jedi-bundle (JCSDA-internal/jedi-bundle#85) but the CI seems to keep using the develop version of jedi-bundle.
logs show it's not picking up the bundle from the PR
ecbuild_bundle( PROJECT mom6 GIT "https://github.com/jcsda-internal/MOM6.git" TAG 51ec489ad7d8a86762bef4c46eabd9af5fc41fa4 RECURSIVE )
ecbuild_bundle( PROJECT soca GIT "https://github.com/jcsda-internal/soca.git" TAG deb09180b6759c52f82ab4a194727a54ba7a094c )

should build-group work with jedi-bundle?

Unfortunately not yet

ah, in that case, @climbfuji, how would you suggest we proceed with testing/merging?
I can try to see if this can be done in two stages.

merge most of this PR, but still using the old MOM6 repo as part of bundle then (I think it should still work with the old MOM)
remove mom6 from bundle and use submodule instead

hmm, now, what else can I delete from SOCA :thinking:

@travissluka guess what! soca just broke something. 😆

coupling tests no longer pass, gridgen fails with:

NOTE from PE     0: open_param_file: data_static/72x35x25/MOM_input has been opened successfully.
FATAL from PE     1: open_param_file: Input file MOM_override does not exist.

coupling tests no longer pass, gridgen fails with:

NOTE from PE     0: open_param_file: data_static/72x35x25/MOM_input has been opened successfully.
FATAL from PE     1: open_param_file: Input file MOM_override does not exist.

ah, oops, I'll fix it

@travissluka guess what! soca just broke something. 😆
(Note: this was caught by integration CI)

we really have to get rid of those "acceptable number of failures = pass", I missed it!

(note: there's one test that is failing in coupling -- it's a known failure, I've just started working on fixing it, which is how I noticed this)

we really have to get rid of those "acceptable number of failures = pass", I missed it!

it looks like we may be able to do that this week if all goes well.


Incomplete cron expressions with '/' fail silently

cRonstrue treats the incomplete value /5 as valid, but silently fails to parse it:
cronstrue.toString("/5 * * * *", {
  throwExceptionOnParseError: true,
  verbose: true,
  locale: "en",
})

produces the string "Every 5 minutes, starting at  minutes past the hour, every hour, every day" - note the double whitespace in front of "minutes".
Expected: throws
Reproduced in versions 2.14.0 and 1.125.0 .
Note: 5/ also does not throw but is silently treated as 5... that may actually be fair.

/5 * * * * does not appear to be a valid expression.
Please see FAQ re: invalid expressions: https://github.com/bradymholt/cRonstrue#frequently-asked-questions

Very well. Figured that, given the output is malformed, it's worth a report anyway.


Preferences treeview cannot be navigated with NVDA

Code Version: 1.38.0
NVDA version: 2019.2
Windows version: Windows 7 SP 1
Steps:
Open preferences and switch to browse mode (ctrl+ space). Notice there is a tree view at the bottom. Try switching to browse mode (ctrl+space or enter) when you have moved to it with the arrow keys. Enter doesn't work, and when pressing ctrl+ space the arrow keys don't work either. Object Navigation does not help either because it only shows some of the items. Tabbing is possible, but with the man y settings there are it is somewhat impractical, though filtering helps a bit. Also, when tabbing, sometimes NVDA goes silent, and when changing combo box values the arrows don't echo selected choices. The only way to use combo boxes is to use NVDA + Numpad Enter to open the combo box.

Not CTRL+Space but NVDA+Space, sorry.

Also feels like one of the duplicates @roblourens

I think this feedback is covered in the other settings editor accessibility issues. Thanks for the feedback!


Bump patch version (0.5.4).

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/106


[WebView] Test/try out the new AndroidView in 1.4.0-rc01

The new AndroidView introduced in 1.4.0-rc01 is optimized to reuse the underlying View when used within a lazy list. WebView usage within lazy lists (LazyColumn, LazyRow, Pager, etc.) could see some performance gains with this new change.
See https://developer.android.com/jetpack/androidx/releases/compose-ui#1.4.0-rc01

Tried it out but it isn't good for our use case in the 1.4 form. I will try again with 1.5.
https://review.android.com/c/platform/frameworks/support/+/2498315

The provided link is broken @bentrengrove


⚠ Jenkins Plugins Artifactory has degraded performance

In 83635f4, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1298 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 4016f25 after 23 minutes.


[Backport 2.x] Fit and Finish Changes for Snapshot Management Pages

Description
Bacport 6c815fe13341bf21e928c4f4fcdc137a42a2f890 from https://github.com/opensearch-project/index-management-dashboards-plugin/pull/1157
Issues Resolved
[List any issues this PR will resolve]
Check List

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

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

closing this one.
auto backport passed https://github.com/opensearch-project/index-management-dashboards-plugin/pull/1165


SpotifyWebApi.prototype.getPlaylistTracks does not respect offset nor limit queries

spotifyApi.getPlaylistTracks(playListId, {
    offset: 10,
    limit: 5
})

Although href property of the response object will apply the search queries (e.g. https://api.spotify.com/v1/playlists/{playlist_id}/tracks?offset=10&limit=5), the response will always return the first 100 tracks regardless of the values specified

Have you solved the Problem with Limit and offset?
In the flow i have seen the params don´t exist!

getPlaylistTracks will misbehave if used with a playlist ID that has the "?si=" parameter (now added by default when copying the URL from spotify). In that case, I think it uses the getPlaylist endpoint instead which ignores offset.
Could be the same issue.


Task "script" blocks do not support array types for parameters

Expected Behavior
$params.arrayVar[*] is expanded when referenced in the script
Actual Behavior
Error from server (BadRequest): error when creating "my-task.yaml": admission webhook "validation.webhook.pipeline.tekton.dev" denied the request: validation failed: variable type invalid in "\echo \"$(params.arrayVar[*])\"\n" for step script: taskspec.steps.script
Steps to Reproduce the Problem
Task
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: test
spec:
  params:
  - name: arrayVar
    description: my array
    type: array
  steps:
  - name: test
    image: alpine:latest
    script: |
      echo "$(params.arrayVar[*])"

TaskRun
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: run
spec:
  taskRef:
    name: test
  params:
    - name: arrayVar
      value:
        - "a"
        - "b"

/type feature

Thanks for the report!  We do document this though it's a little bit buried: https://github.com/tektoncd/pipeline/blob/master/docs/tasks.md#substituting-array-parameters

You must reference parameters of type array in a completely isolated string within a larger string array.

The script field is just a string rather than an array, so the substitution doesn't work here.  Will keep this issue open as a feature request to support it though.

The script field is just a string rather than an array, so the substitution doesn't work here. Will keep this issue open as a feature request to support it though.

@sbwsg That makes sense, I didn't immediately make the connection when going through that line. I will open a PR to call out the script field explicitly in the docs, if that's ok.
This will be good to have if it can be implemented safely. As a workaround for my current task, I've create a space separated string type, which is almost equivalent since I'd guess the array expansion would be into a space separated string anyway.

the array expansion would be into a space separated string anyway

Interestingly this is one of the reasons that we don't support array expansion in strings - different use-cases expect different joining strings.  In some cases space-separated is good, in others comma-separated would be preferable.
If you do decide to pursue this then I'd recommend soliciting feedback in one of our Working Group meetings.
Also, paging @skaegi here as well who looked into implementing JSONPath for our variable interpolation, which might have built-in syntax for this or otherwise provide a longer-term solution to this problem?

See #1463 -- sorry this is a pretty typical use-case and I'm really late on getting back to working on this after the beta.

/remove-lifecycle rotten
/remove-lifecycle stale
/reopen

As @sbwsg explained this was by design (https://github.com/tektoncd/pipeline/issues/2374#issuecomment-612867415) if we want to change this, maybe we can open a separate issue to explore it?

I found a workaround for anyone that stumbles on this. You can pass the array in the args section and then use the args in the script. In the above case, it would look something like
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: test
spec:
  params:
  - name: arrayVar
    description: my array
    type: array
  steps:
  - name: test
    image: alpine:latest
    args: ["$(params.arrayVar[*])"]
    script: |
      echo "$@"

As per tekton documentation

A step can specify a script field, which contains the body of a script. That script is invoked as if it were stored inside the container image, and any args are passed directly to it.

I found a workaround for anyone that stumbles on this. You can pass the array in the args section and then use the args in the script. In the above case, it would look something like
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: test
spec:
  params:
  - name: arrayVar
    description: my array
    type: array
  steps:
  - name: test
    image: alpine:latest
    args: ["$(params.arrayVar[*])"]
    script: |
      echo "$@"

As per tekton documentation

A step can specify a script field, which contains the body of a script. That script is invoked as if it were stored inside the container image, and any args are passed directly to it.

Nice solution by may not be suitable in some cases.


[SVC-3336] Lower rate limit for container logs

Motivation
Game servers frequently spam logs. We need to make sure we're rate limiting the ingestion of these logs as early as possible.
Implementation
This should be rate limited per-alloc, not per-game.
Logs are ingested in to Rivet in the nomad-log-follower service. All rate limiting can be done in-memory without using Redis.
From SyncLinear.com | SVC-3336

Out of sync with Linear


Risk and bankroll calculation

Currently the simulator accepts a bankroll. It would be nice if it could instead accept a desired risk of ruin and automatically compute a required bankroll for the simulation. Also, excluding a RoR or bankroll param should default to computing a bankroll for 1% RoR.
It would also be useful to have an additional command just for calculating bankroll based on parameters like RoR.

Calculating bankroll based on RoR is being worked on: https://github.com/mhluska/blackjack-simulator/commit/78260c15f3a6cda82efafcfded94a6bd01d72846