Setting all parts of connection for a tenant goes wrong

Bug description
I would like to provide a separate database parameters for each tenant for future scalability. So, for example, tenatA could have host, port, username etc. different from tenatnB.
I've put these parameters to the tenants table in central database in the data column in this format:
{
  "tenancy_db_host": "tenants-db",
  "tenancy_db_name": "tenant_test2",
  "tenancy_db_port": 3306,
  "tenancy_db_username": "test2",
  "tenancy_db_password": "test2"
}

But still, even with all these parameters, the application shows me TenantDatabaseDoesNotExistException exception, because it looks for the database into default = central database. I've debugged that, and I see that even without set tenancy.template_tenant_connection config MySQLDatabaseManager and all connected abstracts operates on central set connection or could operate on the template if that would be set, but it doesn't take data from the tenants table for a good row.
Connected references:

vendor/stancl/tenancy/src/TenantDatabaseManagers/MySQLDatabaseManager.php:24
vendor/stancl/tenancy/src/Bootstrappers/DatabaseTenancyBootstrapper.php:31

Steps to reproduce
I've described them above I think so.
Expected behavior
I would see that, it should, when the connection data are set in the tenants table in the central connection, take these parameters and try to find the table by them like it is described in the documentation - Documentation part
Laravel version
11.0.8
stancl/tenancy version
3.8.0

Are you using a pre-created database, or having tenancy create the database for you?

I checked that CreateDatabase job from the package wasn't enough, so I've disabled it in the provider and replaced with my own, which creates a database. I've checked double time that database exists and all user and permissions are properly set.

There's a known bug in v3 where creating databases on another host (specified via either tenancy_db_host or tenancy_db_connection) doesn't know correctly and instead tries to create the database on the same database host as the central connection.

But still, even with all these parameters, the application shows me TenantDatabaseDoesNotExistException exception, because it looks for the database into default = central database. I've debugged that, and I see that even without set tenancy.template_tenant_connection config MySQLDatabaseManager and all connected abstracts operates on central set connection or could operate on the template if that would be set

This sounds similar to that.
In v4 we've solved this by introducing a new connection -- tenant_host_connection -- used for connecting to the proper database server per the tenant config. This is a wontfix in v3 since it'd require some breaking changes, and with v4 being close to release we prefer to not make any breaking changes in v3.


Switch from ambermini to ambertools in omnia package

Currently, our omnia package uses ambermini as a dependency. This causes issues because some of our more modern tools install ambertools instead, and the collision of the two causes unstable behavior or behavior that depends on the order in which the two packages are installed.
We should standardize on ambertools, which is much more up to date, and use the AmberMD channel until the well-maintained conda-forge channel has the osx builds working. @jaimrgp is working on this right now, so I think we can do this soon.
But we're going to have lots of stability / incorrect results issues until we fix this.

My last attempts at getting osx to build hit what I think it's a CMake configuration error on AmberTools' side. I am going to need help from the developers but I haven't reached out yet. I'll keep you posted!


Upgrade the entire facet if a single function changes

This is already done by virtue of how the upgrade mechanism works -> https://github.com/gemstation/gemforge/blob/master/src/shared/diamond.ts#L105
For all functions that should exist in the diamond, it checks the current on-chain facet bytecode against the function's parent facet contract's current artifact bytecode. If there is a difference then the facet and given function are replaced in the diamond.


Delete Manifest ZIP when Finished

Suggestion: Can you make it delete the world_sql_content_version.content.zip after manifest.content has been made/updated? Would help clean up 👍

@Jakosaur Thanks for your suggestion, I've added it in the latest minor update to v0.6.2


Please remove allowBackup="true" in the Android Manifest because manifest merging will fail on manifest that contains the allowBackup="true" attribute

I getting this when try to compile
C:\dev\workspace\ContactLoggerApp\app\src\main\AndroidManifest.xml:25:9-36 Error:
Attribute application@allowBackup value=(false) from AndroidManifest.xml:25:9-36
is also present at [com.github.satyan:sugar:1.3] AndroidManifest.xml:12:9-35 value=(true)
Suggestion: add 'tools:replace="android:allowBackup"' to  element at AndroidManifest.xml:23:5-106:19 to override
C:\dev\workspace\ContactLoggerApp\app\src\main\AndroidManifest.xml:26:9-43 Error:
Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:26:9-43
is also present at [com.github.satyan:sugar:1.3] AndroidManifest.xml:13:9-45 value=(@drawable/ic_launcher)
Suggestion: add 'tools:replace="android:icon"' to  element at AndroidManifest.xml:23:5-106:19 to override


Support patient ID generation

Given an option to create patient IDs
Assign anonymized Patient IDs
Add these to the crosswalk table
Create a mapping table for Patients as well.

This really needs to be more than just PatientID. We can grab ideas from: https://www.dclunie.com/pixelmed/software/webstart/DicomCleanerUsage.html
If the output is a DICOM format, then the output options should show up below, and try to mimic some of the DICOM Cleaner functionalities.


Remove UseNatInstances Condition

This was leftover after we moved from using Conditions to using stacker
variables it looks like, makes it so you can't actually use
NatInstances.

Looks good to me!


MES fix for collector horn

I have received reports of the new update breaking the current MES for the "swap collector horn" option feel free to look into or fix, i'll probably get to it sometime next week if nobody else picks it up.

A workaround for this: use the standard MES left click swapper to make defensive the left click option. Then all the calls are adjacent to one another. Controlled goes to the bottom, though, so prepare to call incorrectly while adjusting

If anybody wants to test I believe the fix is to insert
if (entry1.isItemOp() && entry1.getType() == MenuAction.CC_OP_LOW_PRIORITY)
		{
			entry1.setType(MenuAction.CC_OP);
		}
		if (entry2.isItemOp() && entry2.getType() == MenuAction.CC_OP_LOW_PRIORITY)
		{
			entry2.setType(MenuAction.CC_OP);
		}

on this line

I don't think it's that simple of a fix, due to the way beg has implemented the entryswapper for this plugin. Looks like we need to subscribe to a MenuOption event, like onMenuOptionClicked to actually extract it properly. At the moment it looks like beg just implemented a brute force way. I might be totally wrong, but seem to be unable to check isItemOp() because it's an interface and the MenuEntry doesn't actually implement it.
I am probably talkin out of my ass, but I can't seem to hit the isItemOp() with this code block on that line.

Fixed


Transactions 2

Experimenting with a potential API for transactions. The main idea here is to make it hard to accidentally drop the transaction, and hence end up in a state where the transaction never gets either committed or rolled back.
After opening the transaction with Client::transaction the resulting Transaction struct never returns errors until it is finalized with Transaction::finalize, and is also labelled #[must_use] to give compiler warnings if the transaction is never finalized.

I don't really understand it completely when reading the examples, but how would you

Chain queries in a transaction, so first select something and using this result, insert an item and finally with the insert result, run an update to another table?
How would this react when using together with select! and the other future, such as a timeout polls ready before the transaction is complete?

Thanks for taking a look @pimeys.
For 1. - this is handled by the query method - which adds the output of the query such that the next can consume it, for example: https://github.com/esheppa/tiberius/blob/0a8239ae90f7bba0031f27bdb0603c2f60118b66/examples/tokio-transaction.rs#L67.
However - 2. this is a good point and certainly this is a deal-breaker!
As a thought, potentially the Transaction could take ownership of the Client and ask the user to provide it something like tokio::spawn which it can then use in its drop implementation? Such that users would call it like this:
client
    .transaction(|f| { tokio::spawn(f); })
    .await?
    .exec("insert into ...", &[])
   ...

Closing this one - to be replaced with an alternative transactions branch


Remove LogicalConstraint from Usage Policy Example

As discussed in our meeting last week, I think we should remove the LogicalConstraint -> and from the Usage Policy example. This is not required since we crurrently don't want to have, the other possible LogicalConstraints like or, xone, andSequence as defined here: https://www.w3.org/TR/odrl-model/#constraint-logical
https://github.com/eclipse-tractusx/tractusx-profiles/blob/64f83dde1432573db456500f091f223929d43307/cx/policy/specs/policy.definitions.md?plain=1#L290
with
"constraint": {
        "and": [
             {
              "leftOperand": "cx-policy:FrameworkAgreement",
              "operator": "eq",
              "rightOperand": "traceability:v1.0"
            },
            ...
         ]
      }

without
"constraint": [
             {
              "leftOperand": "cx-policy:FrameworkAgreement",
              "operator": "eq",
              "rightOperand": "traceability:v1.0"
            },
            ...
        ]

Both are valid ODRL and both have the same meaning. Since we don't want to support the other LogicalConstraints, it is easier to understand to just remove the additional layer.
@jimmarino  can you please have a look?
Thanks,
Matthias

closing this as discussed in https://github.com/eclipse-tractusx/tractusx-edc/pull/856#discussion_r1500454182
It is important what is desired in tx-edc.
ODRL may allow this, but we'll not explain this and use it in Cx as it seems.


Can't parse author property of package.json for plugins properly

If author property is object type, hain can't parse it.

Resolved at 85a4d4f3f5c25be5b3dcca97111e339c8adf77f1


bug(web): unable to import web with named imports

Describe the bug
package.json references a build file that does not exist
To Reproduce
import { TurboFactory } from '@ardrive/turbo-sdk/web`
Expected behavior
Named exports work for web.
Environment (please complete the following information):

Environment: browser
SDK Version: v1.1.0
Node Version: v18

Additional context
Proposed change:
diff --git a/package.json b/package.json
index 71ebd1b..fd402a3 100644
--- a/package.json
+++ b/package.json
@@ -33,8 +33,8 @@
       "types": "./lib/types/node/index.d.ts"
     },
     "./web": {
-      "import": "./lib/web/index.js",
-      "require": "./lib/web/index.js",
+      "import": "./bundles/web.bundle.min.js",
+      "require": "./bundles/web.bundle.min.js",
       "types": "./lib/types/web/index.d.ts",
       "browser": "./bundles/web.bundle.min.js"
     }

cc @kunstmusik

this should help resolve polyfill issues mentioned in https://github.com/ardriveapp/turbo-sdk/issues/51 as well


az keyvault key create -> No module named 'azure.keyvault.keys'

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az keyvault key create
Errors:
The command failed with an unexpected error. Here is the traceback:
No module named 'azure.keyvault.keys'
Traceback (most recent call last):
  File "/nix/store/1kmix8ml5555cjs9h2hklfz2racjhkld-python3.10-knack-0.10.1/lib/python3.10/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/nix/store/5rddklvb8fnrr2jx9xmnq2vb5k4dm19z-python3.10-azure-cli-core-2.44.1/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/nix/store/5rddklvb8fnrr2jx9xmnq2vb5k4dm19z-python3.10-azure-cli-core-2.44.1/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/nix/store/5rddklvb8fnrr2jx9xmnq2vb5k4dm19z-python3.10-azure-cli-core-2.44.1/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 697, in _run_job
    result = cmd_copy(params)
  File "/nix/store/5rddklvb8fnrr2jx9xmnq2vb5k4dm19z-python3.10-azure-cli-core-2.44.1/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 333, in __call__
    return self.handler(*args, **kwargs)
  File "/nix/store/gm67m9sc6vf7nkkwlja4gm1a776h7rwv-python3.10-azure-cli-2.44.1/lib/python3.10/site-packages/azure/cli/command_modules/keyvault/_command_type.py", line 100, in keyvault_command_handler
    client = client_factory(command_args['cmd'].cli_ctx, command_args)
  File "/nix/store/gm67m9sc6vf7nkkwlja4gm1a776h7rwv-python3.10-azure-cli-2.44.1/lib/python3.10/site-packages/azure/cli/command_modules/keyvault/_client_factory.py", line 218, in data_plane_azure_keyvault_key_client
    from azure.keyvault.keys import KeyClient
ModuleNotFoundError: No module named 'azure.keyvault.keys'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az keyvault key create --name {} --vault-name {} --protection {} --ops {} {} --size {} --verbose

Expected Behavior
Environment Summary
macOS-13.2.1-arm64-arm-64bit, Darwin 22.3.0
Python 3.10.10
Installer: PIP

azure-cli 2.44.1 *

Additional Context

This seems to be Nix-related (see https://github.com/NixOS/nixpkgs/issues/167177), so closing it.


Objaverse Rendering Dataset

Hello, thanks for fixing the download link !
I successfully download your dataset !
By the way, what is the information of numpy files ?
I checked each npy file include 3x4 matrix (camera pose).
Is it camera extrinsic?
I wonder the camera extrinsic is already preprocessed, assuming the object center is oriented at the origin of coordinates.

Hi @LeeDoYup , glad you were able to download the dataset! Yes, the object, after loading in blender is normalized in size and recentered. For more details regarding the coordinate system and camera model etc., you can refer to our paper's appendix section. For the most comprehensive information, you can check out our blender rendering script: https://github.com/cvlab-columbia/zero123/tree/main/objaverse-rendering
The renderings are produced by running the command provided on the page. Please consider citing us if you find our paper and code useful 🤗

Hi @ruoshiliu, Thanks for the fantastic work and sharing the dataset! I have a follow-up question regarding the dataset.
I downloaded the dataset and would like to use these for my own research. I then visualize the camera extrinsic saved in numpy files, I realize that the cameras do not look at the origin of the coordinates, and seems like the view directions are opposite. So is there any preprocessing required to use this extrinsic matrix? I have attached the camera visualization image here:

the blue,red,and green cameras are from some other datasets like shapenet cars, or created by myself, these are pointing towards the origin of coordinates. The yellow cameras are from your dataset. These are not pointing towards the origin and the directions seems reversed ( not circle around the object), So I kindly ask if you have some suggestions regarding this.
I appreciate your help!

@xilongzhou  This is because the matrix is camera-to-world. If you convert the matrix into world-to-camera, you may see the right visualization.


Enhancement/#67-Setup Router with sample pages

This PR sets up the basic Routing system.
'/' will route to Main Page
'/settings' will route to Settings Page
'/calendar' will route to Calendar Page
Any other will route to 404 page
This PR resolves #67

[ ] The pull request is complete according to the following criteria:

[ ] Acceptance criteria have been met
[ ] The documentation is kept up-to-date
[ ] Comprehensive tests (if applicable) have been generated and all pass.

[ ] The pull request describes the changes that have been made, and enough information is present in the description for any developer to understand what has changed
[ ] Commmits have been squashed
[ ] The pull request title is of the following format : {issue/bug...}/(Issue Number) - Name of issue. E.g bug/30-Fix-Project
[ ] The description uses github syntax to link to the issue. E,g Resolves se701g2/Doto#{Number}
[ ] At least two reviewers assigned. One of which must be the assigner of the issue.
[ ] If there are merge conflicts, run git rebase as opposed to git merge with master.

@MarioSinovcic sorry I missed one, can you look at it again?

Sorry not quite sure what common.js means? maybe a better name if possible?

any suggestions? maybe route.js?

Yeah thats way better to me, sorry to nit-pick 😬

Yeah thats way better to me, sorry to nit-pick 😬

Nah I wasn't thinking too careful about it. was just looking into what other ppl done to file hierarchy for react

I just have one question, in index.js is there any reason you removed the import React from "react"? Sorry if it's nitpicky, I just wanted to confirm it wasn't a mistake or something

husky picked this up saying that this is not needed. I could include them but there is no need.
Also, I reckon leaving anything that is not needed is a bad coding practice


Scoped registry doesn't work while trying to pull from package manager?

 User access token is expired or invalid. You may need to sign out and sign in again. [Unknown]. UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()
[Package Manager Window] Error while getting auth code: System.InvalidOperationException: Failed to call Unity ID to get auth code. UnityEditor.AsyncHTTPClient:Done (UnityEditor.AsyncHTTPClient/State,int)
which I think it means something wrong happened from the registry end? Can please double check if it is possible?
Thanks for this great work!
Cheers.

Sometimes this issue happens to me too. For my cases, strangely, it's solved by re-syncing the clock on my computer (I'm using a Linux/Windows dual booting environment, and it causes clock de-sync when switching the OSes).
I'd recommend re-syncing the clock on your computer. If you're using a VPN, I also recommend turning it on/off.

I'm closing this issue now. Please reopen it if it still reproduces.


Add ConsumerGroupCommand to delete static members

Added new option --remove-members to remove members from group in ConsumerGroupCommand. User can either remove member by providing member id (--member) or can delete all the members of group using (--all-members) option
https://issues.apache.org/jira/browse/KAFKA-9440
Committer Checklist (excluded from commit message)

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

@sndp2693 Thanks! I will take a look. Is the a discuss thread for it in the dev mailing list?

@dajac Yes I had started that as well. I am not sure if anyone looked at it or not.

@sndp2693 I left a few comments in the discuss thread.

@dajac  I am not seeing any response on the [mail] thread. Am I missing anything here/Or looking at a wrong place altogether?

@sndp2693 , here it is: https://lists.apache.org/thread/w4jt3dw5zr4tsq6k10no0l3plfrm6b7q
You might need to subscribe to the dev mailing list. Please check here.


KernelExplainer not working with CatBoostRegressor and Pool

Dear Scott,
Not sure if this a duplicate but I couldn't find a working example of this usecase.
I'm trying to use the KernelExplainer with CatBoostRegressor. The TreeExplainer works fine but I would like to see the model agnostic explainations for this as well.
Small snippet I'm using
model = CatBoostRegressor(Pool(X_train, Y_train, categorical_feature_indices)
explainer = shap.KernelExplainer(model.predict, X_test)
shap_values = explainer.shap_values(X_test)

I'm getting the error
Traceback (most recent call last):
File "main.py", line 153, in
main()
File "main.py", line 147, in main
shap_values = explainer.shap_values(X_test, nsamples=len(X_test))
File "/usr/lib/python3.8/site-packages/shap/explainers/kernel.py", line 211, in shap_values
explanations.append(self.explain(data, **kwargs))
File "/usr/lib/python3.8/site-packages/shap/explainers/kernel.py", line 236, in explain
self.varyingInds = self.varying_groups(instance.x)
File "/usr/lib/python3.8/site-packages/shap/explainers/kernel.py", line 428, in varying_groups
num_mismatches = np.sum(np.invert(np.isclose(x_group, self.data.data[:, inds], equal_nan=True)))
File "<array_function internals>", line 5, in isclose
File "/usr/lib/python3.8/site-packages/numpy/core/numeric.py", line 2257, in isclose
xfin = isfinite(x)
TypeError: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
Instead if I pass the Pool of dataset as such
explainer = shap.KernelExplainer(model.predict, X_test)
shap_values = explainer.shap_values(Pool(X_test, Y_test, cat_features=categorical_features_indices))

I get this error
Traceback (most recent call last):
File "main.py", line 157, in
main()
File "main.py", line 150, in main
shap_values = explainer.shap_values(Pool(X_test, Y_test, cat_features=categorical_features_indices))
File "/usr/lib/python3.8/site-packages/shap/explainers/kernel.py", line 180, in shap_values
assert x_type.endswith(arr_type) or sp.sparse.isspmatrix_lil(X), "Unknown instance type: " + x_type
AssertionError: Unknown instance type: <class 'catboost.core.Pool'>
Not sure on how to use categorical features in KernelExplainer. TreeExplainer on the other hand when passed the Pool() works just fine. The example notes show a usecase of one-hot-encoding but I'm not using that here.
Thanks

@slundberg any updates on this?

KernelExplainer explains any python function that takes a numpy array as input. So you can't use a Pool object as input. To deal with this you just need to wrap the cat_boost_model.predict call with a small function that converts the incoming numpy array to a pool object, then just explain that new wrapped function.

Okay I see. When you say need to wrap the function, not sure how to do that? Could you elaborate more with an example of sorts?

something like:
def call_catboost(X):
    return model.predict(Pool(X, cat_features=categorical_features_indices))
shap.KernelExplainer(call_catboost, X_test)

Okay I tried this but maybe I'm doing something wrong
import catboost
from catboost import *
import shap
from catboost.datasets import *

train_df, test_df = catboost.datasets.amazon()
y = train_df.ACTION
X = train_df.drop('ACTION', axis=1)
cat_features = list(range(0, X.shape[1]))
model = CatBoostClassifier(iterations=300, learning_rate=0.1, random_seed=12)
model.fit(Pool(X, y, cat_features=cat_features), verbose=False, plot=False)

def call_catboost(X):
    return model.predict(Pool(X, cat_features=cat_features))

explainer = shap.KernelExplainer(call_catboost, X).shap_values(X)

This generates the following error:
Provided model function fails when applied to the provided data set.
Traceback (most recent call last):
File "temp.py", line 18, in
explainer = shap.KernelExplainer(call_catboost, X).shap_values(X)
File "/lib/python3.8/site-packages/shap/explainers/kernel.py", line 97, in init
model_null = match_model_to_data(self.model, self.data)
File "/lib/python3.8/site-packages/shap/common.py", line 89, in match_model_to_data
out_val = model.f(data.data)
File "temp.py", line 16, in call_catboost
return model.predict(Pool(X, cat_features=cat_features))
File "/lib/python3.8/site-packages/catboost/core.py", line 373, in init
self._init(data, label, cat_features, text_features, pairs, weight, group_id, group_weight, subgroup_id, pairs_weight, baseline, feature_names, thread_count)
File "/lib/python3.8/site-packages/catboost/core.py", line 954, in _init
self._init_pool(data, label, cat_features, text_features, pairs, weight, group_id, group_weight, subgroup_id, pairs_weight, baseline, feature_names, thread_count)
File "_catboost.pyx", line 3377, in _catboost._PoolBase._init_pool
File "_catboost.pyx", line 3416, in _catboost._PoolBase._init_pool
File "_catboost.pyx", line 3318, in _catboost._PoolBase._init_features_order_layout_pool
UnboundLocalError: local variable 'new_data_holders' referenced before assignment
Would really appreciate if you can show an example with my sample dataset as above

In that example you can do:
def call_catboost(X):
    return model.predict(pd.DataFrame(X, dtype=np.int64, columns=cols))

But for CatBoost I really recommend using TreeExplainer since it is way faster.

Okay, I manage to get it working by excluding the Pool Object. For some reason, the shap values generated are describing it as a classification problem, whereas I'm doing a regression. is there a way to specify in the function it is a regression problem? I know internally it identifies using iml.Model object. Any ways to specify it explicitly?

@slundberg here is a quick example of what I'm working with
import catboost
from catboost import *
import shap
from catboost.datasets import *
from sklearn.svm import SVR
import matplotlib.pyplot as plt

train_df, test_df = catboost.datasets.amazon()
y = train_df.ACTION
X = train_df.drop('ACTION', axis=1)
X = X.iloc[:100,:]
y = y.iloc[:100]
cat_features = list(range(0, X.shape[1]))
model = CatBoostClassifier(iterations=300, learning_rate=0.1, random_seed=12)
model.fit(Pool(X, y, cat_features=cat_features), verbose=False, plot=False)
# clf.fit(X, y)

def call_catboost(y):
    return pd.DataFrame(y)

explainer = shap.KernelExplainer(call_catboost, X)
shap_values = explainer.shap_values(X)

shap.summary_plot(shap_values, X, plot_type="bar")

plt.show()

The bar plot is generated shows classification whereas it should be regression. Any thoughts on how to fix this behaviour?

I would just do
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
shap.summary_plot(shap_values, X, plot_type="bar")
plt.show()

The issue you are seeing is because you are not calling catboost inside "call_catboost" you just returned the original dataset (which is treated like a multi-output model output)

@slundberg sorry, but my original question is about using KernelExplainer to get the model agnostic SHAP values. As previously, suggested by you to use the call_catboost() wrapper function I have tried to do that, as essentially what it expects is a "dummy" function which would return the predictions array. In my understanding, it should work if provided with the function that does this but it doesn't seem to understand it as a regression problem

I see. I think the issue here is that KernelExplainer does not care if it is a classification or a regression problem. It just sees a multi-output problem. The summary plot takes the liberty of naming the outputs "Class X", so perhaps that's the real issue here, that the plot should not assume all multi-output explanations are "classes"

@slundberg Indeed. Any workaround for this? Are the outputs of the SHAP relevant and correct? i.e regardless of the summary_plot(), could I use my own plotting to get the bar graphs by adding up the shap values?

@slundberg any updates on this?


Make "Started. (Why are you still here?)" verbose message

... As the title says.
Required for #26

Do you still want to do this? If not, I'd be happy to.


Benchmarking and Optimization

Benchmarks for each functionality and obvious optimizations.

[Current coverage][cc-pull] is 63.59%

Merging [#17][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master        #17   diff @@
==========================================
  Files            13         13
  Lines           596        596
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            379        379
  Misses          217        217
  Partials          0          0

Powered by Codecov. Last updated by [865408d...fcda373][cc-compare]
[cc-base-branch]: https://codecov.io/gh/pranavtbhat/ParallelGraphs.jl/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/pranavtbhat/ParallelGraphs.jl/compare/865408d28d404b42751be37f4caaec1246b7a9ae...fcda373805efe0d24e5281edf1d48a487347faed
[cc-pull]: https://codecov.io/gh/pranavtbhat/ParallelGraphs.jl/pull/17?src=pr


Add string::toByteArray native method

Purpose
This PR adds string::toByteArray native method to string type.
The method signature is as follows
public native function string::toByteArray(string encoding) returns byte[];

This PR also adds getBytes java method to BByteArray, which is required for some scenarios at internal stdlib implementation.

:white_check_mark: Build ballerina-lang 145 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/e679a82e99 by @Kishanthan)

:white_check_mark: Build ballerina-lang 153 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/10529b0324 by @Kishanthan)

:white_check_mark: Build ballerina-lang 162 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/08edd5e006 by @Kishanthan)

:white_check_mark: Build ballerina-lang 163 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/d617631daa by @Kishanthan)


java: columnIndex starts at 1.

@erzel The first commit is equivalent to the internal CL. The second needs to build on that.

This change is

Reviewed 8 of 8 files at r1.
Review status: 6 of 9 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

java/client/src/main/java/com/youtube/vitess/client/cursor/FieldMap.java, line 44 [r2] (raw file):
Check the upper-bound as well?

java/client/src/main/java/com/youtube/vitess/client/cursor/Row.java, line 35 [r2] (raw file):
Add a comment that column indices here are 1-based and perhaps also the motivation why.

Comments from the review on Reviewable.io

Review status: 6 of 9 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

Comments from the review on Reviewable.io

Review status: 6 of 9 files reviewed at latest revision, 2 unresolved discussions.

java/client/src/main/java/com/youtube/vitess/client/cursor/FieldMap.java, line 44 [r2] (raw file):
In general this is just a wrapper around fields.get() which already checks bounds and will throw IndexOutOfBoundsException. The main reason for this checkArgument() is to assert that the index transformation done by this method (columnIndex - 1) is reasonable. In other words it asserts only the constraints being added by this method, not all the transitive constraints of methods it calls.

java/client/src/main/java/com/youtube/vitess/client/cursor/Row.java, line 35 [r2] (raw file):
Done.

Comments from the review on Reviewable.io


Added OTP verification for signup

What does it fix?
Fixes #9 . When signing up users get a OTP which they need to enter for verification.
What features does it add?

It is implemented using nodemailer.
If OTP verification is not done, user cannot sign in.
If user tries to sign in without verifying, user is prompted to do OTP verification first.
OTP is valid for 10 minutes.

Screen recording for normal sign up flow:
https://github.com/VaibhavArora314/StyleShare/assets/143820879/27243406-e12d-463b-8f43-c70e5883b688

this looks good but since there are so many changes, I will take some time to review it

Hey so upon closer inspection I found that we are sending the jwt token on the user sign-up route and updating it in the recoil state after verifying the user but this has a security loophole as the user can inspect the frontend application and get the jwt token without verifying the email id and use it further.
So I suggest that we should send the jwt token in the verify route itself and not in the sign-up route in the backend.

Alright. I'll make that change.

For this to work, you need to have -

EMAIL_USER =<EMAIL_ADDRESS>EMAIL_PASS = <16character app password>
To get app password, first enable 2 step-verification on your google account, then set a app password(it will be of 16 characters).

Also pls the the GSSoC and Level 3 labels.


Update Mouse movement logger to send SS of the area around the mouse.

Make it into a separate file.

Fixed it in commit: db66039 ✅


"Error: EISDIR: illegal operation on a directory" when using -T flag

I've installed spectaql 1.0.5 on OSX via the command:
yarn global add spectaql

If I provide a custom theme directory via the config.yml file:
% head config.yml
spectaql:
  logoFile: ./logo.svg
  faviconFile: ./favicon.ico
  themeDir: ./themes/spectaql

introspection:
  schemaFile: ./totara.graphqls
  metadataFile: ./metadata.json

it works fine and picks up the custom theme but when I try to specify the same theme path via the -T flag I get an error:
% spectaql -T ./themes/spectaql config.yml
node:internal/fs/utils:344
    throw err;
    ^

Error: EISDIR: illegal operation on a directory, read
    at Object.readSync (node:fs:723:3)
    at tryReadSync (node:fs:433:20)
    at Object.readFileSync (node:fs:479:19)
    at _default (/usr/local/share/.config/yarn/global/node_modules/spectaql/dist/lib/loadYaml.js:5:35)
    at resolveOptions (/usr/local/share/.config/yarn/global/node_modules/spectaql/dist/index.js:172:56)
    at run (/usr/local/share/.config/yarn/global/node_modules/spectaql/dist/index.js:255:16)
    at Object.<anonymous> (/usr/local/share/.config/yarn/global/node_modules/spectaql/bin/spectaql.js:7:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47
 {
  errno: -21,
  syscall: 'read',
  code: 'EISDIR'
}

Should be fixed in 1.0.8.

Can confirm this is fixed (tested in 1.0.9). Works with -T or --theme-dir and with theme names or a path.


Fail to merge atoms from different imports to the same space

What is the problem?
Importing different metta files into the same space fails to add all atoms.  It seems it only adds atoms from the first import, ignore the subsequent ones.
How to reproduce?

Place A inside A.metta
Place B inside B.metta
Place !(import! &AB A.metta) !(import! &AB B.metta) !(match &AB $x $x) inside C.metta
Run metta C.metta

What should normally be expected?
The output of metta C.metta should be
[A, B, GroundingSpace]

What is output instead?
[A, GroundingSpace]

As a workaround, one can do the following. Import each module in a separate atomspace, then copy the contents of
each atomspace above into a new atomspace.
!(import! &AB1 A.metta)
!(import! &AB2 B.metta)
!(bind! &AB (new-space))
!(match &AB1 $x (add-atom &AB $x))
!(match &AB2 $x (add-atom &AB $x))
!(match &AB $x $x)
Although the result of the print statement wouldn't contain the space GroundingSpace.

@ngeiswei The import op doesn't do a deep-merge of atoms across spaces (and it never has), although the code suggested in https://github.com/trueagi-io/hyperon-experimental/issues/438#issuecomment-1761441644 will accomplish this.
Is there other missing functionality you require or can we close this issue?


OutOfMemoryException when using Shrink

When shrinking ~300MB database, memory usage jumps to 1GB and throws OutOfMemoryException.

Are you using 3.1 version?

@mbdavid Yes. I have tested on both 3.0 and 3.1 and outcome is exactly the same.

Hi @mkosieradzki, I added split insert in 5000 documents batch. This could be avoid too memory consume.

Hi @mbdavid , thanks I have also found that shrink by default uses StreamDiskService with MemoryStream. My suggestion would be to avoid using MemoryStream whenever possible as it introduces awful LOH fragmentation.
I can share a nice replacement for Memory Stream which uses list of arrays of bytes (possibly under the LOH size) instead underneath instead of huge, very often reallocated array.
I would also like to use FileDiskService as temp storage, but it causes an issue for which I have created a PR: #556.
I understand that the default shrink is not really safe and can lead to a database corruption (in case of power down), so it would be better to use FileDiskService instead which will leave a copy of shrunk database and allow recovery.

Hi @mkosieradzki, I used MemoryStream as default just to simplify. But the correct implementation must be same as principal database. But, to do this, I needed add more methods in IDiskService create temp disk (if you check LiteDB v2 I used that, be remove in v3).

@mbdavid Fair enough ;), thanks for the explanation.
Any chances for the 3.1.1 anytime soon with the Shrink bug fixes?


Add Revoking Access from Group

Related Recipe Issue: https://github.com/rstudio/connect/issues/28826
Current recipe code: https://docs.posit.co/connect/cookbook/content-access-controls/revoking-access-from-a-group/
from posit import connect

#### User-defined inputs ####
# 1. specify the guid for the content item
content_guid = "CONTENT_GUID_HERE"
# 2. specify either the guid or name for the group to be removed (group_name will be used if group_guid is blank)
group_guid = ""
group_name = "GROUP_NAME_HERE"
############################

client = connect.Client()

# search by group_name to find the group_guid if blank
if not group_guid and group_name:
    group_match = client.get("/v1/groups", params={"prefix": group_name}).json()
    if not group_match["results"]:
        raise Exception("Invalid group name")
    elif len(group_match["results"]) != 1:
        raise Exception("More than one group name found, ensure you enter a unique name")
    else:
        group_guid = group_match["results"][0]["guid"]
elif not group_name:
    raise Exception("Either group_guid or group_name must be specified")

# For the specified content item remove the desired user
for perm in client.content.get(content_guid).permissions.find():
    if perm.principal_guid == group_guid:
        perm.delete()

# Confirm new permissions
client.content.get(content_guid).permissions.find()

Proposed recipe
from posit import connect

#### User-defined inputs ####
# 1. specify the guid for the content item
content_guid = "CONTENT_GUID_HERE"
# 2. specify either the guid or name for the group to be removed (group_name will be used if group_guid is blank)
principle_guid = "USER_OR_GROUP_GUID_HERE"
group_name_prefix = "GROUP_NAME_PREFIX_HERE"
############################

client = connect.Client()

# Remove a single permission by group_guid
client.content.get(content_guid).permissions.delete(principle_guid)

# Remove all groups with a matching prefix name
groups = client.groups.find(prefix=group_name_prefix)
client.content.get(content_guid).permissions.delete(*groups)

Nice! Let's use destroy instead of delete as the method name. But this looks great!

For consistency, we can replace and/or deprecate Permission#delete in favor of Permission#destroy as part of this work as well. https://github.com/posit-dev/posit-sdk-py/blob/4051bfbef36b8dfa95f3aef2a37c2cb9fdc4f1b7/src/posit/connect/permissions.py#L13


Fixed unexpected error on old devices

There was an unexpected error on old devices (with A7, A8, A9 chips) because of a page doesn’t have enough time to load and there was a call on non-existent array index in «execute» function in «recaptcha.html».
As a solution I suggest to add a check of number of loaded divs with 0.5 seconds delay.
This solution was tested on 5s, 6 and 6s+ where this problem appears all the time.

Hi @ZharaOo, we have faced issues towards detecting if the resources have finished loading for a long time. I gave a shot at refactoring it in branch fix/resource-validation. It's not unlikely that the ideal solution is to merge that branch with yours.
Could you run your tests on that branch and see how it goes? I get that a 0.5s delay may not influence the UX that much, but, in my experience, fixing these kinds of issues with delays only lead to increasing that value because there's always a slower device.

Hi @fjcaetano, I tried your solution from fix/resource-validation. All I have is an empty WebView without content. It is not loading at all.

@ZharaOo I just deployed version 1.5.0 with the new resource validation logic. I also added a new feature: there's now a callback on didFinishLoading so you can list to it.
I know this is boring and cumbersome, but I'd really like to hear your feedback on it. IMHO, you really shouldn't add a delay before validating, but if that's the only way to solve the issue you were having, that's the property you should use.


Add group calls to android

Following https://github.com/rust-lang/libc/issues/3014, this PR just implements the group side of the calls, since that doesn't require CI to be updated.

@bors r+

:pushpin: Commit 533b8ccc5a8b087494c6b38ba3d409ef9144dc07 has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit 533b8ccc5a8b087494c6b38ba3d409ef9144dc07 with merge e794d173b6ec5b76ff1927ca809e7c67ff6f3d79...

:broken_heart: Test failed - checks-actions

perfect, looks like I get this error message on arm-linux-androideabi, time to fix it up
stderr ---
WARNING: linker: /data/local/tmp/main-418f900fe48d7afe: unsupported flags DT_FLAGS_1=0x8000001
CANNOT LINK EXECUTABLE "/data/local/tmp/main-418f900fe48d7afe": cannot locate symbol "setgrent" referenced by "/data/local/tmp/main-418f900fe48d7afe"...

@Takashiidobe would you be able to rebase? I can help figure out the problems if they still exist.

Still get the same error message, and I think I remember why.
CI is on API 24 which is before these calls were introduced (API 26) so this PR won't pass.
I'm not sure if there's a requirement on API level being capped at 24 (if so, then this PR shouldn't pass until that's changed) or if that's a CI limitation?

You should just be able to exclude tests for the relevant constants in libc-test/build.rs the test_android function.
Cc @maurer (android change)

This is fine/appropriate to put into libc in case it's needed for compatibility.
To @Takashiidobe - these functions are performance footguns - Android has too many AIDs, so iterating through them in this fashion can take a nontrivial amount of time, ID based functions are preferred. Iterating via getgrent may take up to an eighth of a second to get through everything. They were primarily added for compatibility and tests.


Separate section for tech conferences

Currently there is a section for CFP web sites. We can add a separate section for conferences where we can maintain a table or a list of links to popular conferences. People who will visit this repo will be able to directly jump into conferences rather than jumping to a CFP sites.
Pros:

Gain more traction to the repository with conferences list.
There are no awesome list which covers conferences with CFP deadlines(Or I couldn't find anything yet. There is a one list but it is a list maintain by the author for personal usage. Hence conference suggestions will not be accepted to the repo unless the author has plan to attend the conf)

Cons:

May not be the main objective of this repo. (Please confirm)
List may become longer than we expect in the future. (Suggestion is to keep only 1-2 years past conferences)

Hi @rehrumesh I think this is a good idea. I am not sure this is the main objective of the repo, as you suggested, but why not giving a try? If it doesn't work well, we can always split it to its own list in the future.
👍

Hello,
We have already a such list, althougth it is not called awesome :) https://github.com/softwaremill/it-cfp-list .
I have added a PR to add its link to this repo https://github.com/matteofigus/awesome-speaking/pull/30


Add the song "Appaa Nantri Yaesappaa Nantri"

Title: Appaa Nantri Yaesappaa Nantri
Alternate Title: Appa Nandri Yesappa Nandri
Author:
Album: Iraivaa

Already this song is available but the author is Fr. S. J. Berchmans. Is it correct?

Already got this song, but the author is Simeon from Iraiva Album.

Hi Noah, please update the Author and Album.

I will work on this issue.


Does not work

Either way I run
Install it via pip or use it via Docker I get the following error
┌──(kali㉿kali)-[~]
└─$ docker run --tty --rm balasys/dheater --protocol tls domainwhichiownandreachable.com                                                    1 ⨯
Traceback (most recent call last):
  File "/usr/local/bin/dheat", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/site-packages/dheater/__main__.py", line 331, in main
    enforcer = DHEnforcerThreadTLS(args.uri, args.timeout, pre_check_result)
  File "<attrs generated init dheater.__main__.DHEnforcerThreadBase>", line 15, in __init__
  File "/usr/local/lib/python3.9/site-packages/dheater/__main__.py", line 100, in __attrs_post_init__
    self._pre_check()
  File "/usr/local/lib/python3.9/site-packages/dheater/__main__.py", line 264, in _pre_check
    server_messages = self._get_client().do_tls_handshake(
  File "/usr/local/lib/python3.9/site-packages/cryptolyzer/tls/client.py", line 429, in do_tls_handshake
    return self._do_handshake(
  File "/usr/local/lib/python3.9/site-packages/cryptolyzer/tls/client.py", line 409, in _do_handshake
    l7_client.do_handshake(self, hello_message, record_version, last_handshake_message_type)
  File "/usr/local/lib/python3.9/site-packages/cryptolyzer/tls/client.py", line 1181, in do_handshake
    self._process_non_handshake_message(record.content_type, message)
  File "/usr/local/lib/python3.9/site-packages/cryptolyzer/tls/client.py", line 1135, in _process_non_handshake_message
    raise TlsAlert(message.description)
cryptolyzer.tls.exception.TlsAlert: TlsAlert(description=<TlsAlertDescription.HANDSHAKE_FAILURE: 40>)

Could you provide version information?

pip show dheater
docker images balasys/dheater

It seems to me that you do not use the latest version.

Here you go
┌──(kali㉿kali)-[~]
└─$ pip show dheater                                                                                1 ⨯

Name: DHEater
Version: 0.2.3
Summary: D(HE)ater is an attacking tool heating the CPU by enforcing DHE KEX in case of TLS and SSH
Home-page: https://github.com/balasys/dheater
Author: BalaSys IT Security
Author-email:
License: Apache-2.0
Location: /home/kali/.local/lib/python3.9/site-packages
Requires: attrs, cryptolyzer, cryptoparser, urllib3
Required-by:

┌──(kali㉿kali)-[~]
└─$ docker images balasys/dheater                                                                                1 ⨯

REPOSITORY        TAG       IMAGE ID       CREATED      SIZE
balasys/dheater   latest    a16f9c3b4c11   8 days ago   137MB

Meanwhile 0.2.4 has been released. I hope your issue has already been fixed in this version. Could you test it please?

@rtcms please reopen if the issue still exists in the latest version.


Pass the verbose flag for "install" builds

Bug/issue #, if applicable: rdar://85912344
Summary
This passes the --verbose flag to swift build for the "install" action to gather more information about a build failure in the CI.
It also fixes a build script error message to correctly name the action that failed.
Dependencies
n/a
Testing
n/a
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[ ] Added tests
[ ] Ran the ./bin/test script and it succeeded
[ ] Updated documentation if necessary

@swift-ci please test

Merging this so that we can see the verbose logs in the next build


SRAM2 is being unused

I am working on an NXPS32 based MCU, while building the MCUboot code the RAM area is overflowed. During the investigation i found out that in the current set up(based on the post build prints and linker scripts, .map file) zephyr not using the SRAM_U(NXPs32k have two separate RAM regions called SRAM_U and SRAM_L it is not continuous memory ).
So in order to use this area i have tried modifying the linker using CONFIG_CODE_DATA_RELOCATION, but even though adding this  and some proposed changes on the CMakeList.txt i was not able to use the SRAM_U area.
Is there any way to combine these two RAM areas(it is not continuous as i mentioned).?
Or what is the proper way to modify the linker in order to use the SRAM_U?
To Reproduce
Steps to reproduce the behavior:

Build MCUboot with all the encryption on a 64kb RAM MCU( having two separate RAM partitions)

Hi @manuargue
I am using UCANS32K1SIC (S32K146) and also tried S32K144_q100_evaluation board (S32k144), but my application build is getting failed by limited size of the SRAM region of 64k in s32K146 and 32K in S32K144 respectively,
since only either SRAM_U or SRAM_L could be selected using chosen node zephyr,sram
Is there any way around this?
I wanted a way to combine/use he SRAM_U and SRAM_L region for my zephyr application.

I am trying to fit MCUBoot in s32k144(32K sram_l and 28K sram_l), But the usable reqion of sram_l is not enough for this, we tried this method by extending the sram_u region to 64k, but I assume mcuboot uses the area in between the boundary for image swapping (Using Ram), without scratch partition, and fails in between switching the application image.It maybe due to the fore mentioned burst access issue.
Also without additional ram I am unable to fit Mcuboot with encryption and other features.
So, how can i guarantee that my application avoids burst access across the boundary?

Thank you for the reply,
Can you help/guide me on adding a custom linker script that achieves this behaviour?
I already tried to tinker with this but could achieve this behaviour.

As detailed above, unaligned and burst accesses cannot occur across the banks boundary. Current implementation aligns with similar devices such as Kinetis which present the same hw limitation. User can use a custom linker script to adapt to their needs the default configuration.


qrdecode: fix infinite loop when encoding type is 1 (numeric)

Found a bug in the QR decoder when doing code coverage testing of my PyQt5 port for v3.x. I managed to find a QR code that got the interpreter into an infinite loop.
See the QR code near the bottom of this page, under the heading "Supported Barcode Types": https://packagist.org/packages/yellowskies/qr-code-bundle

Nice find, merging!


Spatula collection "Kill-feed"

This would be much cleaner to do by interpreting partial updates from the server, so blocked by #95


Update index.md | Fix anchor #built-in-logging-providers

Internal previews

📄 File
🔗 Preview link

aspnetcore/fundamentals/logging/index.md
Logging in .NET Core and ASP.NET Core

Hello @Vrety ... I don't do it myself, but one or a few of the doc authors use named anchors. See Line 451 of the article ...


error rendering iw3 un openable and un updatable!

i went to update and i got a mile long string of trace back errors, says it cant find array api or something and it also mentions something about numpy 2 and downgrading to lower numpy version? as of current update i cant use the program though i tried uninstalling and re installing numpy with no luck. tried updating an older backed up version of iw3 still with no luck.

i also installed nunif fresh and it still didnt work.

Same as https://github.com/nagadomi/nunif/issues/135
Fixed now.


IGNITE-5332 added toString() method where it was missing

Hi @c0s . How is your progress?

Sorry, I was away.
I have looked at this PR a bit more closely. The patch is good, but there some need to fix the commit message. It has to start with IGNITE-5332' (note the capital letters). The synopsis of the commit should match the JIRA name exactly. That allows apache jira bot to pick up the changes in the PR and populate them into the JIRA ticket. JIRA is (still) the main source of truth for all Apache projects.  For more info, check this page https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute#HowtoContribute-1.CreateGitHubpull-request and search for To make contribution` section.
Looking forward for your fixes. Thank you!

@c0s thanks for your feedback and sorry for the inconvenience. I've updated pull request by changing commit message.

Thanks! Could you please change the name of the PR so it gets associated with the JIRA ticket?

Changed it as well.

This ticket was implemented in master during implementation of  IGNITE-5473 (commit cf345b81820fbbcb82e5fcb2283b43ea286a40b4) so I'm closing this PR.


July 29 - Who Said That? Conversations with Chatbots

Event Information

Category
Details

Reactor Topic
AI

Monthly Topic (if applicable)
Connecting with Our World Through Data

Weekly Topic (if applicable)
All About Bots

Stream Topic
<2-5 words describing the topic>

Stream Date
July 29, 2020

Stream Time
9am PT

Stream Duration
60 Min

Title
Who Said That? Conversations with Chatbots

Description
You might have had a full conversation with a bot and had no idea! Curious how it works? In this session, we’ll use the Microsoft Bot Framework and LUIS (language understanding) to explore the concept of natural language.

This session uses JavaScript.

This session recommends a basic-to-intermediate knowledge of JavaScript and a basic understanding of Azure.

Speaker
Jasmine Greenway

Moderator

Event ID
7807

Additional Resources:

Event Checklist
10 Weeks Prior

[X] Reactor Content Team (RCT) or Speaker opens a new issue for an upcoming stream filling in the Event Information table. Both RCT and Speaker are marked as assignees.
[X] RCT and Speaker discuss details of the event in the comments of this issue. RCT adds a confirmed-event label and global-twitch-event tag to the issue and adds event to the Global Live Streams project. Issue will appear in the Upcoming Streams column
[X] Speaker adds a ready-for-marketing-edit label so the RCT can review title and description

8 Weeks Prior

[X] RCT does a review of title and description and removes the ready-for-marketing-edit label
[X] RCT moves the issue to the Ready for SharePoint column
[X] RCT informs the Reactor Marketing Team of the new event information
[ ] RCT provides speaker with assets (e.g. slides, overlays) and the survey data for the event
[X] RCT moves the issue to the MONTH Streams Prep column (according to the month it will be streamed in)

2 Weeks Prior (Done in /microsoft/Reactors)

[ ] Speaker opens a PR with the new content for the stream on the customer-facing Reactor repository and adds the content-development and global-twitch-event tag to the PR.
[ ] Speaker adds to the same PR a modification to the Streaming README to include their stream information.
[ ] Speaker adds the RCT assigned to the issue as the reviewer when it is ready for review/merge
[ ] RCT reviews, approves, and merges the changes

1 Week Prior

[ ] Speaker and Moderator test setup for streaming (instructions coming soon)
[ ] RCT checks in with the speaker and moves the issue to the Ready to Stream column

During and After Stream

[ ] Speaker and Moderator run the stream
[x] RCT submits recording to be uploaded to the Reactor YouTube and to be made available on LearnTV
[x] RCT moves issue to the Stream Complete column

Session recorded and uploaded to YouTube:
https://youtu.be/KVnDajRsH24
Issue closed.


Remove processor fields

          The "processor" fields are a bit of a relic, and we should aim to remove them in the long term. With that in mind, I wonder if we should change the model a little bit so we can remove them from the apm-data codebase, and set the `processor.*` fields in our ingest pipelines, or by setting a value on `constant_keyword` fields where it makes sense.

e.g. for metrics, processor.name and processor.event are both always "metric", so we can update their field definitions to set the value in the mapping: https://github.com/elastic/apm-server/blob/23fb1577909836ebf45e65705df3fd560de5adb1/apmpackage/apm/data_stream/app_metrics/fields/fields.yml#L30-L35
IIANM the only exception to this is for the apm.traces and apm.rum data streams, where spans and transactions end up. These both have have processor.name: transaction, but they differ in processor.event (one is "span", one is "transaction"). Eventually spans and transactions should converge, but for now I think we could set the value in an ingest pipeline.
Maybe we could:

set event.kind to either "span" or "transaction" in the apm-data code
update the traces ingest pipeline to use this to populate processor.event, and then remove event.kind since those values are not valid for event.kind

WDYT?
Originally posted by @axw in https://github.com/elastic/apm-data/pull/58#discussion_r1228975554
Related: #47.

This will be addressed by https://github.com/elastic/apm-data/pull/79. There was a CI failure in publishing the requisite integration package change, so I haven't yet merged it.

Closed by https://github.com/elastic/apm-data/pull/79


fix certreloader update logic

Description
panic occurred because cert reloader attempted to update even though certificate retrieval failed
Type of change

[x] Bug fix
[ ] New feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Non-code changes (update documentation, pipeline, etc.)

Flags

[ ] Breaks backward compatibility
[ ] Requires a documentation update
[ ] Has untestable code

Related issue/PR
Delete this section if there are no issues or pull requests that relate to this pull request.

Fixes #issue
Closes #PR

Checklist

[ ] Followed the guidelines in the CONTRIBUTING document
[ ] Added prefix [skip ci]/[ci skip]/[no ci]/[skip actions]/[actions skip] in the PR title if necessary
[ ] Tested and linted the code
[ ] Commented the code
[ ] Made corresponding changes to the documentation
[ ] Passed all pipeline checking

Checklist for maintainer

Use Squash and merge
Double-confirm the merge message has prefix [skip ci]/[ci skip]/[no ci]/[skip actions]/[actions skip]
Delete the branch after merge

if config.ProviderService == "" && config.CertFile != "" && config.KeyFile != "" {
go r.pollRefresh()
}


Update build.sh to handle deeper paths

The rewrite to the keyboard submission guide sillsdev/keyman-help.keyman.com#183 will direct keyboard contributors to structure their files along the lines of:
c:\projects\keyboards-starter\sample1\release\s\sample1

The keyboards-starter build.sh needs to be updated to handle this new pathing.

I would like to do this by rewriting the build.sh to support either model. If it detects presence of /release/ folder, then it assumes we are in the keyboards repo. If not, then assumes starter repo. That way we can have a single version of the build script rather than having them diverge too much.


Thrown error impossible to catch

If I get an error (for example user has no device registered) - line 73 of pushover.js throws an error. This is impossible to catch higher up as it's inside the callback for the send.
Can it pass the err back correctly so it can be dealt with easily ?
Thanks

This is an old issue but I have the same problem with the error:

Error: application token has expired or been deactivated

I can't seem to catch this. It throws in pushover.send() and I am expecting the error to be send to the callback as in:
po.send(push, function(err, result) {
   // handle err!

But the error is thrown outside.
Could you re-open this @qbit ?

Nevermind. I get it. Handler should be onerror for these types of errors.
This could be improved to be more intuitive, but I guess that's what #7 is for. Don't know why it's closed though.

@qbit Thanks for this package! Just started using it.
Currently, there is a way to specify an onerror property for the callback function when you create a new push as shown in your documentation to catch errors like invalid user tokens.
In your documentation example, the below code is shown for sending notification(s). If the onerror property is already specified, I would assume that the below code will have have a chance to receive an error hence the err in the below callback will always be undefined. Please correct me if I am wrong.
`p.send( msg, function( err, result ) {
if ( err ) {
throw err
}
console.log( result )
})`
So, instead should this not be changed to if there is no way for an error to occur anyway?
p.send(msg, function(result) {     console.log(result) }


rancher 2.3.3 etcd cluster do not have high availablilty

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
1、i have one controlplane node and 3 etcd node base on aws ec2 with rancheros
2、when i shutdown that 2 etcd node , cluster will be unavaliable status .
Result:
This cluster is currently Unavailable; areas that interact directly with it will not be available until the API is ready.

Failed to communicate with API server: Get https://<IP_ADDRESS>:6443/api/v1/namespaces/kube-system?timeout=30s: context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
Installation option (single install/HA):

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

(paste the output here)

Docker version (use docker version):
18.9.0

(paste the output here)

control plane node logs print
W0331 03:30:39.275066       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...
W0331 03:30:39.275212       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...
W0331 03:30:39.275826       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...
W0331 03:30:39.276223       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...
W0331 03:30:39.273549       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...
W0331 03:30:39.273907       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...
W0331 03:30:39.274688       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...
W0331 03:30:39.275530       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...
W0331 03:30:39.275656       1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {<IP_ADDRESS>:2379 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: no route to host". Reconnecting...

that show  controlplane node try to connect etcd which i stopped one .
does it should connect that health one ? if so , how can i switch it

All etcd nodes are configured in the configuration of the kube-apiserver, but it needs a majority to gain quorum as described on https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/production/recommended-architecture/#number-of-etcd-nodes


Alternative fix for issue #20

As the title says - this is an alternative fix for issue #20 and all recreated instances of the ConcurrentModificationException in VayraPersonBountyManager.
Even with the iterator, if we're still getting this issue, that means the list itself is being poured-into from who knows how many places.
So lets not work on the original list, and instead work on a local copy.

actually, this fix isn't a fix at all, it's only going to remove factions from a local copy and do nothing with the general list... lets revert instead of smartassing around for now.


proposal a "next" branch for fast iteration

Introduction
For some reasons, some new feature or API is really slow for upstream, proposal a next branch like Linux for some new feature or new API for experiments, and this didn't affect main branch.
Problem description
when some feature inspired, there is a more complicated way to integrate into main branch, and pend on pull request and stale
Proposed change
new "next" branch for fast iteration
Detailed RFC
each module or subsystem maintainer aware that feature in the next branch, and when is ready it should get cherry-picked from next to main in merge window.
Proposed change (Detailed)
Dependencies
Concerns and Unresolved Questions
Alternatives

What you are talking about is essentially a feature branch -- there have been and will be ones like that for really major and/or big features.

it's more than a feature branch. it's like the merge of all feature branches.

What you are talking about is essentially a feature branch -- there have been and will be ones like that for really major and/or big features.

Is more than a feature branch. It is the 'merge' of all feature branches. This could be useful for testing and speeding up development.

We had and, if necessary, can still create topic-* branches (e.g. topic-sensors) -- these topic/feature branches seem to basically what @ck-telecom is describing.

we are talking branch is a 'merge all feature' branch

We already have main for that purpose.
A new feature, either in the form of a PR or a feature branch, is either accepted or not accepted. If you want to test out a new feature that has not been merged, you can check out the PR branch, or a feature branch if there is one.
In case of the Zephyr, during a merge window, main is already an unstable branch which is essentially what linux-next is.
During a merge freeze, main acts as a stable branch and there is not really an unstable branch (i.e. linux-next) anymore; but, that is a good thing because that forces us to redirect our resources more towards stabilisation than feature addition.
Linux kernel is an enormous project and the Zephyr Project is not nearly as big and/or resourceful as the Linux kernel project at this time.
In the future, when the project grows to such a magnitude that we can handle both stabilisation and feature additions simultaneously, it may make sense to create a stable vX.Y-branch at the beginning of a release merge "freeze", and keep main always open as an unstable branch; but as of now, I am opposed to this idea.

My original idea is about 'New API' is to slow, for a project,  checkout A feature branch to test feature A, checkout b branch to test feature B, and the project is fragment of feature branches

I'd personally not create a next branch for having experimental/incomplete features. I think we have topic branches for that. One can always have a fork with a branch combining multiple upstream topic branches if needed, or even to include custom patches that are not ready for upstream.

For some reasons, some new feature or API is really slow for upstream, proposal a next branch like Linux for some new feature or new API for experiments, and this didn't affect main branch.

Linux has a bit different contribution structure. This suggestion does not make sense as long as we use Github as contribution front-end, here every PR is a branch and can be whatever next.

After all, I think one must maintain a Zephyr downstream for project

@keith-zephyr  let's touch on this in the Process WG and close there based on the discussion and other discussions we had before in the TSC.

@keith-zephyr Process WG has discussed topic branches and TSC has previously discussed creating a "next" branch during the stabilization period.
@nashif - Decision from TSC was to branch the release early, which opens up the main branch earlier in the process.
@nashif -  impact with LTS was also discussed.
@marc-hb - The Linux model uses "next" to merge many topic branches.  @henrikbrixandersen - Zephyr doesn't have topic branches so the "next" model doesn't apply.
--
Process WG conclusion is that a "next" branch isn't needed for Zephyr and doesn't fit existing workflows.


gevent.hub.LoopExit exeption, python threading and twisted reactor

Hi,
The short code snippet in the file attached
test1.txt
is hitting gevent.hub.LoopExit exeption immediately after running locust (even not spawn is started). Commenting out the line
Thread(target=reactor.run, args=(False,)).start()
resolves the issue. But I do need to use twisted and reactor.run must not block the code execution.
OS: ubuntu
The output is flooded with the following messages:
[2016-03-19 10:17:04,003] ip-172-20-38-27/INFO/locust.main: Starting web monitor at _:8089
[2016-03-19 10:17:04,003] ip-172-20-38-27/INFO/locust.main: Starting Locust 0.7.3
[2016-03-19 10:17:04,012] ip-172-20-38-27/ERROR/stderr: Unhandled Error
Traceback (most recent call last):
File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
self.run()
File "/usr/lib64/python2.7/threading.py", line 764, in run
self.__target(_self.__args, **self.__kwargs)
File "/usr/lib64/python2.7/site-packages/twisted/internet/base.py", line 1194, in run
self.mainLoop()
---  ---
File "/usr/lib64/python2.7/site-packages/twisted/internet/base.py", line 1206, in mainLoop
self.doIteration(t)
File "/usr/lib64/python2.7/site-packages/twisted/internet/pollreactor.py", line 155, in doPoll
l = self._poller.poll(timeout)
File "/usr/lib64/python2.7/site-packages/gevent/select.py", line 127, in poll
result.event.wait(timeout=timeout)
File "/usr/lib64/python2.7/site-packages/gevent/event.py", line 213, in wait
return self._wait(timeout)
File "/usr/lib64/python2.7/site-packages/gevent/event.py", line 123, in _wait
gotit = self._wait_core(timeout)
File "/usr/lib64/python2.7/site-packages/gevent/event.py", line 101, in _wait_core
result = self.hub.switch()
File "/usr/lib64/python2.7/site-packages/gevent/hub.py", line 606, in switch
return greenlet.switch(self)
gevent.hub.LoopExit: ('This operation would block forever', <Hub at 0x277ed70 epoll pending=0 ref=0 fileno=5>)

I met similar issue before and it was solved after monkey patching.
from gevent import monkey
monkey.patch_all()

Hope it is helpful for you.

This should be resolved, but please reopen if you see this again.


1.21 Server Crash: Attempted to load client-side class on dedicated server

Description
When attempting to start a dedicated server with the "Sword In The Stone" mod installed, the server crashes due to an attempt to load a client-side class in a server-only environment.
Environment

Minecraft Version: 1.21
NeoForge Version: 21.0.80-beta
Mod Version: 2.0
Server Type: Dedicated Server

Error Log
java.lang.RuntimeException: Attempted to load class net/minecraft/client/resources/model/ModelResourceLocation for invalid dist DEDICATED_SERVER
    at MC-BOOTSTRAP/fml_loader@4.0.15/net.neoforged.fml.common.asm.RuntimeDistCleaner.processClassWithFlags(RuntimeDistCleaner.java:60) ~[loader-4.0.15.jar%2360!/:4.0] {}
    at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:94) ~[modlauncher-11.0.4.jar%2362!/:?] {}
    at MC-BOOTSTRAP/cpw.mods.modlauncher@11.0.4/cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-11.0.4.jar%2362!/:?] {}
    ...
    at TRANSFORMER/swordinthestone@2.0/com.bonker.swordinthestone.common.ability.SwordAbilities.register(SwordAbilities.java:421) ~[swordinthestone-2.0-1.21.jar%23267!/:?] {re:classloading}
    at TRANSFORMER/swordinthestone@2.0/com.bonker.swordinthestone.common.ability.SwordAbilities.<clinit>(SwordAbilities.java:64) ~[swordinthestone-2.0-1.21.jar%23267!/:?] {re:classloading}
    at TRANSFORMER/swordinthestone@2.0/com.bonker.swordinthestone.SwordInTheStone.<init>(SwordInTheStone.java:38) ~[swordinthestone-2.0-1.21.jar%23267!/:?] {re:classloading}

Steps to Reproduce

Set up a dedicated Minecraft server with NeoForge 21.0.80-beta for Minecraft 1.21
Install the "Sword In The Stone" mod version 2.0
Attempt to start the server

Expected Behavior
The server should start successfully with the mod loaded.
Actual Behavior
The server crashes during startup, reporting an attempt to load a client-side class (ModelResourceLocation) in a server-only environment.
Possible Solution
The mod needs to properly separate client-side and server-side code. The ModelResourceLocation class should only be referenced in client-side code or should be wrapped in a conditional check to ensure it's only accessed in a client environment.
Additional Context
This issue appears to be related to improper side-only annotations or checks within the mod. Specifically, the problem occurs in the SwordAbilities class during registration (line 421) and initialization (line 64).
Please review the server-side compatibility of the mod, ensuring that client-only classes are not accessed in a dedicated server environment.

Thanks for the detailed review! This is now fixed in the latest 1.21 release, and I apologize for my mistake.


Implementing order matching

These are some informations regarding the implementation of order-matching by @r001 :
There is some developement tasks involved for offer matching on the frontend side. Yous should consult @geronimo about the whereabouts:

We should wipe out direct buy (this is decided later though), because user will only create offer, and if it is higher than ask price then matcher will match if for him.

Before user does the buy we will give him estimate about the gas that is going to be burnt because of matching which is with the price ~ (to_be_matched_offers * 92506 + 222731) * current_gas_price. This estimate should be automatically updated when the offers get matched or deleted by others.

When creating new offer, to save gas, the frontend must supply along with current offer parameters ( sell_how_much, sell_which_token, buy_how_much, buy_which_token) another, called user_higher_id, which is the ID of the offer that is the smallest in the set of offers containing the offers that are higher, than the offer to be created. If there are multiple offers that satisfy the previous requirement, than , then the one with the lowest ID must be sent to the contract. If frontend sends false user_higher_id, then contract will calculate it, and it costs higher (so it should be avoided).

with current gas limits the max matchable offers count is < (block_gas_limit -222731) / 92506 where currently the block_gas_limit = 4 000 000. So if user wants to match more, then the price must be corrected in order to match the number above, and informed, that this happened because of the gas limits, and he can buy more in the next block.

users MUST have a minimum amount to offer to avoid offer matching gas limit trolling, where someone creates many very small amount offers just to block the matching mechanism, and thus block the market.

Closed as an exact duplicate of https://github.com/OasisDEX/oasis/issues/166


Can't scroll to last collapsed navbar item on mobile when there are many items

[Original title: Expanded navbar on mobile (landscape) is cut off]
/CC @mdo

Can confirm this affects browsing on Android 2.3.6.
A possible fix taken from this SO answer:
http://stackoverflow.com/a/25060926/2461947
 .navbar-collapse::-webkit-scrollbar {
    width: 20px;
}
.navbar-collapse::-webkit-scrollbar-track {
    background-color: lightgray;
}
.navbar-collapse::-webkit-scrollbar-thumb {
    background-color: lightblue;
}

You can test it here:
http://jsbin.com/gibufafico [1]
Pros:

now you can scroll an overflowed .navbar-collapse

Cons:

styles will probably apply to every Webkit-based browsers, not only those old versions (ie. browser on Android 2.3.6) that don't work properly. Not sure if there is a way to scope the fix to old browsers.
for the scroll to work, you have to tap on the "scrollbar-track". The "scrollbar-thumb" won't work (ie. you can't drag it as you would expect).

[1]: QR for your convenience:

Hi @maniqui!
You appear to have posted a live example (http://jsbin.com/gibufafico/edit), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

line 11, column 5: W013: Bootstrap version might be outdated. Latest version is at least 3.3.2 ; saw what appears to be usage of Bootstrap 3.1.1
line 84, column 5: W013: Bootstrap version might be outdated. Latest version is at least 3.3.2 ; saw what appears to be usage of Bootstrap 3.1.1

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

@twbs-lmvtfy: fixed.

I really need to test this...
On Feb 20, 2015 1:55 AM, "Julián Landerreche"<EMAIL_ADDRESS>wrote:

@twbs-lmvtfy https://github.com/twbs-lmvtfy: fixed.
—
Reply to this email directly or view it on GitHub
https://github.com/twbs/bootstrap/issues/12738#issuecomment-75164357.

https://output.jsbin.com/lufuxo  == navbar-fixed-top can't get to menu items when the viewport is shorter than the height of the menu on small viewport widths.

Hi @carasmo!
You appear to have posted a live example (https://jsbin.com/lufuxo/edit), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

W002: <head> is missing X-UA-Compatible <meta> tag that disables old IE compatibility modes
W003: <head> is missing viewport <meta> tag that enables responsiveness

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

This is still valid.
I managed to pinpoint the version where this started to break. 3.1.1 works fine, 3.2.0 and on has the problem.
We really need to find a solution for this.

Actually, scratch that. The issue I see is different than this.
Something changed with the navbar's height.

Adding height and overflow styling with important tag after boostrap css has been included seems to fix problem for me. Here's how :
<style> .navbar .navbar-collapse.in { max-height:300px!important; overflow-y:scroll!important; overflow-x:hidden!important; } </style>

I can confirm @BroZeus solution works.

yaaa  @BroZeus  way work very fine

@BroZeus solution works

@BroZeus still works. Personally had to change max-height to 340px

Instead of setting a max-height that may be less than optimal you could go with:
.navbar .navbar-collapse.in {       max-height: 100vh !important;       overflow-y: scroll !important;      overflow-x: hidden !important;     }

thanks @allurewebsolutions, including this by default with https://crocodilejs.com

This might be even better, so that your nav can go to the bottom if necessary:
.navbar .navbar-collapse.in { max-height: 80vh !important; overflow-y: scroll !important; overflow-x: hidden !important; }


Unify Button styles and availability across donations, distributions etc

We should cleanup the way we use buttons regarding edit, view, print, etc etc. Examples of things to fix:

Light Blue mean 'edit' in some parts of the app but 'print pdf' in others
When/where we have edit/print buttons can be inconsistent
Icons are used for some of the buttons in the rows on the Index page, but are not for others. This should be a little more deliberate.

YES PLEASE.
I was trying to do this with the styleguide but just haven't had time:
https://github.com/rubyforgood/diaper/wiki/Styleguide
My thoughts on this from before
Colors

"danger" / warm colors (yellow, orange, red) for destructive / not-easily-reversible actions
"safe" / cool colors (blue, green, amethyst) for actions that are non-destructive or are "forward motion" in the user journey
transparent / neutral-tone (gray, black, white) for actions that are cancelling / backing out of the current path; in-progress work can be lost, but database should remain unchanged from any work performed in that flow

Positioning

controls that advance the current journey should be right-aligned, preferably on the bottom of the controlset
controls that reverse the current journey to a previous step should be left-aligned
controls that affect the dataset at-hand (ie. filters, etc) should be at the top, above the dataset
controls that are row-record-specific should be in the right-most column, in a group

I'll add more if I can remember anything further

We should probably unify the font-awesome icons in our buttons as well. Some buttons have icons and others don't.

[ ] Update the Styleguide with decisions made for this Issue

My recommendation, right now -- please discuss / pushback if you disagree:

btn-success for button / a.btn that save data to the database. Pair with an appropriate icon. (Is the floppy-disk "Save" still understood? Or should we do a checkmark or something?)
btn-success for button / a.btn that upload data, paired with the standard upload icon: [|^]
btn-danger for button / a.btn that are destructive / delete data / would be difficult to reverse. Pair with a trash icon for deletion, or an appropriate contextual icon otherwise.
btn-primary for button / a.btn that patch/put/modify existing data in the database, or that do not change the database at all, but just advance a workflow. An icon can be used here if desired.
btn-secondary for button / a.btn that cancels, aborts, clears or steps backwards in a workflow and ideally does not hit the database at all, explicitly. An icon can be used here if desired.

Icons are mandatory for any buttons that use red or green (for colorblindness).
All button text should be a present-tense verb that clearly indicates the intent of the action. (Mostly, these should be intuitive). Should be a single word, though if you think there's a good case for multiple words, then feel free to bring it up for discussion.

Buttons that submit a form and move forwards in the workflow should be at the bottom right, rightmost positioning.
Buttons that are at the top of the form can be left or right-aligned (as necessary) but should only affect the presentation of the form being viewed -- either filtering, or otherwise changing the context of the view.
Buttons that reverse the workflow or cancel / abort, should be left-aligned (or if that looks weird, at least "to the left" of the advancing button)
Submit buttons or primary-action buttons should be set to btn-lg size to have a large hit-target and be obvious.
Internal form controls (filters, etc) can be btn-md,
Row-buttons can be btn-sm as necessary

This looks like a good list to start on for evaluation
aaron@toph:~/Documents/Code/rails/diaper/app/views$ grep -lR btn *
adjustments/index.html.erb
adjustments/_form.html.erb
adjustments/new.html.erb
admin/organizations/_organization_row.html.erb
admin/organizations/edit.html.erb
admin/organizations/index.html.erb
admin/organizations/new.html.erb
admin/barcode_items/index.html.erb
admin/barcode_items/_form.html.erb
admin/barcode_items/_barcode_item_row.html.erb
admin/users/index.html.erb
admin/users/new.html.erb
admin/canonical_items/edit.html.erb
admin/canonical_items/_canonical_item_row.html.erb
admin/canonical_items/new.html.erb
barcode_items/index.html.erb
barcode_items/_form.html.erb
barcode_items/_barcode_item_row.html.erb
dashboard/index.html.erb
dashboard/_getting_started_prompt.html.erb
devise/invitations/edit.html.erb
devise/registrations/edit.html.erb
diaper_drive_participants/_diaper_drive_participant_row.html.erb
diaper_drive_participants/index.html.erb
diaper_drive_participants/_new_modal.html.erb
diaper_drive_participants/_form.html.erb
distributions/edit.html.erb
distributions/index.html.erb
distributions/_distribution_row.html.erb
distributions/show.html.erb
distributions/new.html.erb
donations/_donation_form.html.erb
donations/index.html.erb
donations/_donation_row.html.erb
donations/show.html.erb
donations/_barcode_modal.html.erb
donation_sites/index.html.erb
donation_sites/_import_donation_site_modal.html.erb
donation_sites/_form.html.erb
donation_sites/_donation_site_row.html.erb
items/_item_row.html.erb
items/_header.html.erb
items/_form.html.erb
layouts/navigation/_header.html.erb
layouts/navigation/_sidebar.html.erb
layouts/_lte_admin_navbar.html.erb
layouts/_lte_navbar.html.erb
line_items/_line_item_fields.html.erb
organizations/edit.html.erb
organizations/show.html.erb
partners/index.html.erb
partners/approve_partner.html.erb
partners/show.html.erb
partners/_form.html.erb
partners/_partner_row.html.erb
purchases/_purchase_row.html.erb
purchases/index.html.erb
purchases/_purchase_form.html.erb
purchases/show.html.erb
purchases/_barcode_modal.html.erb
requests/_request_row.html.erb
requests/show.html.erb
shared/_table_row_form.html.erb
static/index.html.erb
storage_locations/_storage_location_row.html.erb
storage_locations/index.html.erb
storage_locations/show.html.erb
storage_locations/_form.html.erb
transfers/index.html.erb
transfers/_transfer_row.html.erb
transfers/new.html.erb
users/index.html.erb
users/new.html.erb


Issue 9023 - CTFE: cannot use ~= on an empty AA.

https://issues.dlang.org/show_bug.cgi?id=9023
Based on #4329.

OK, the auto-tester failure was unrelated backend issue only in MacOSX platform.
Issue 14060 - Internal error: backend/cg87.c 3394 only in MacOSX
Now tester shows all green. Ready to merge!

Rebased.


Simplify report generation

This removes the need to maintain the LintReport struct and updateReport functions. All lint results are added to a map automatically during linting. The resulting JSON is the same, with a few typos fixed that were caused by skew between struct tags.
Closes #58.

Hi @titanous,
Thank you for all your contributions thus far! A note on this one in particular - we originally had ZLint set up this way, but we moved to a LintReport/UpdateReport scheme because it plugs in nicer with other Censys codebases (things that require serializing protobufs in other processes, for example, https://github.com/censys/certificate-daemon, and that code is almost entirely autogenerated).
If you think of a better way to do this given that information, by all means do let me know!

I see. Would using a map in your protobufs for the lint results work? It's also possible to do some codegen to generate the report struct, which you could then use to generate protobufs and so on, but that isn't ideal.
The current report struct requires regenerating the code throughout the pipeline whenever a lint is added, which seems like work that shouldn't have to be done?

I agree, we're duplicating code and structs in too many places and it's error prone to get something working into Censys.
I'll need to have some additional conversations with @zakird and @dadrian about updating the underlying protobuf, which I think will fix many of these issues. Doing so will result in a sizable number of changes, so I'm closing for now and will comment this PR in the issue.

It's a map! Thanks @titanous.


"Pielești" is listed in the drop-down menu

Description:
"Pielești" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Pielești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Pielești, Argeș (Cotmeana)".


az role assignment delete command is an insane footgun

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
If you type az role assignment delete with no arguments, the Azure CLI offers to delete every role assignment in your subscription. This is insane.
To Reproduce

Make sure your cat/child/fingers are as far away from the keyboard as possible
Type az role assignment delete with no arguments
Throw your computer into the ocean

Expected behavior
Literally anything else
Environment summary
Homebrew
$ az --version
azure-cli                          2.2.0 *

command-modules-nspkg              2.0.3
core                               2.2.0 *
nspkg                              3.0.4
telemetry                          1.0.4

Python location '/Users/bellamko/git/k8s-infrastructure/.direnv/python-3.8.2/bin/python3'
Extensions directory '/Users/bellamko/.azure/cliextensions'

Python (Darwin) 3.8.2 (default, Mar 11 2020, 00:29:50)
[Clang 11.0.0 (clang-1<IP_ADDRESS>)]

Additional context
This reminds me of how az vmss delete-instances used to offer to delete every single one of your VMs if you didn't pass in --instance-ids. Now it just raises an error, which is sane behavior.

hi @houk-ms can you pls have a look? @arrownj fixed a simliar issue before, you can talk with him for context.

@dharmab Thanks for the feedbacks! Actually, this is a behavior as expected, which provides users a way to delete all the role assignments in a subscription.
And, before taking any actions, AzureCLI will prompt the message This will delete all role assignments under the subscription. Are you sure? as a reminder.
@yungezz I personally recommend we add an example in the doc to describe the usage rather than change the command itself which may block the users that are already using this way to delete all their role assignments.

which provides users a way to delete all the role assignments in a subscription.

Why is this something a user would ever want to do? And why is it the default if no arguments are passed? That's like if you typed rm and the default was This will delete all files under the current directory. Are you sure?

Whether or not someone would want to delete all of their role assignments in a subscription is not necessarily at issue.
The problem is that this is absolutely the wrong way to offer that feature. Something so  destructive should require additional arguments!
Prompting the user for confirmation when they enter az role assignment delete is not sufficient to correctly ascertain that someone positivitely wants to utterly wipe their subscription.

hi @dharmab thanks for raise the issue. I see the concern. Actually that's the reason cli prompt for a confirmation for delete all. We'll look at customer scenario again to validate this.

I accidentally did this:
az role assignment create  --assignee "$SOME_VAR" --role "Owner"
SOME_VAR was accidentally set to empty string. I did not get any prompt and EVERY OWNER WAS DELETED.I lost access to my subscription. Cannot even file a support ticket cause I lost permissions.
Is there a way to fix this?

Forget to mention:
azure-cli                          2.7.0 *
core                               2.7.0 *
telemetry                          1.0.4 *

@Catramen I'm so sorry. I'm not a MSFT employee but I'll forward your comment to my TAM and hopefully they can help route it.

This issue was previously reported in #2933 and the prompt for "delete all" was added in #8862.
I agree this behavior is insane and should be changed even though it is a breaking change.
If you have already deleted all role assignments, and luckily you are a Global Administrator in AAD tenant, there is a chance to recover it: https://docs.microsoft.com/en-us/azure/role-based-access-control/elevate-access-global-admin

https://github.com/Azure/azure-cli/issues/15278

I accidentally did this:
az role assignment create --assignee "$SOME_VAR" --role "Owner"
SOME_VAR was accidentally set to empty string. I did not get any prompt and EVERY OWNER WAS DELETED.I lost access to my subscription. Cannot even file a support ticket cause I lost permissions.
Is there a way to fix this?

This specific issue is tracked in https://github.com/Azure/azure-cli/issues/15278. We'll fix it to throw error when --assignee is empty string in az role assignment delete.
Today az role assignment delete behavior isn't that consistent on when to promoting, when to delete all. Let's use this issue to track refine work on role assignment delete behavior. Worth to check policy assignment delete also. Reassign to @jiasli .

Hi @jiasli , you can reference PR https://github.com/Azure/azure-cli/pull/15277 if you are going to update the command to always prompt without --yes.

Was this ever fixed?

I have created PR https://github.com/Azure/azure-cli/pull/30470 to remove the "delete all role assignments under the subscription by default" behavior. At least one of --ids, --assignee, --role, --resource-group, --scope must be provided. If none is provided, az role assignment delete will show an error.
I also proposed a more aggressive solution: make --scope a required argument for az role assignment delete (https://github.com/Azure/azure-cli/issues/30471).
@dharmab, @Starblade42, @Catramen, @evanfoster, please kindly share your thoughts or suggestions.


client should handle all retry logic, batching of calls

In the helper, when doing a query, the paginate function handles server retries.  But invoking a single action does not.
Similarly, the client should handle batching of calls for multiple users so as to reduce the chance of throttling errors and minimize overhead.

Turns out the client already handled the notion of a batch of calls.  What it wasn't doing was automatically splitting large batches to handle server throttling.  Making that a separate issue.


Fix advisor host from clowder

advisor-backend is the correct clowd app name to grab the API service
endpoint.
RHINENG-13051
## Secure Coding Practices Checklist GitHub Link
- https://github.com/RedHatInsights/secure-coding-checklist

## Secure Coding Checklist
- [ ] Input Validation
- [ ] Output Encoding
- [ ] Authentication and Password Management
- [ ] Session Management
- [ ] Access Control
- [ ] Cryptographic Practices
- [ ] Error Handling and Logging
- [ ] Data Protection
- [ ] Communication Security
- [ ] System Configuration
- [ ] Database Security
- [ ] File Management
- [ ] Memory Management
- [ ] General Coding Practices

I'll test this out in ephemeral before merging...


Remove unintended spaces

This PR removes unintended spaces.

Thanks @izeye for the contribution! Could you please fix the failed DCO check?

@blindpirate Thanks for the feedback! I changed to the commit message to pass the check.

Thanks @izeye !


Error in example

I'm having trouble compiling the example.
The following snippet:
postEdit :: Match MyRoute
postEdit =
  PostEdit <$> lit "posts" *> int <* lit "edit"

Gives me this error message
Compiling Routes
Error found:
in module Routes
at src/Routes.purs line 63, column 3 - line 65, column 1

  Could not match type

    Unit

  with type

    Int

while trying to match type t1 Unit
  with type t0 Int
while checking that expression lit "posts"
  has type t0 Int
in value declaration postEdit

where t0 is an unknown type
      t1 is an unknown type

See https://github.com/purescript/documentation/blob/master/errors/TypesDoNotUnify.md for more information,
or to contribute content related to this error.

* ERROR: Subcommand terminated with exit code 1

Here is my environment:
Pulp version 11.0.2
purs version 0.11.6 using /Users/brodeuralexis/.nvm/versions/node/v8.4.0/bin/purs

These example likely need parens:
postEdit :: Match MyRoute
postEdit =
  PostEdit <$> (lit "posts" *> int <* lit "edit")

postEdit works with the parens, but postBrowse does not:
postBrowse :: Match MyRoute
postBrowse =
  PostBrowse <$> (lit "posts" *> str <*> str)

Error found:
in module Routes
at src/Routes.purs line 63, column 19 - line 63, column 45

  Could not match type

    String

  with type

    t1 -> t2

while trying to match type t3 t4
  with type t0 (t1 -> t2)
while checking that expression (applySecond (lit "posts")) str
  has type t0 (t1 -> t2)
in value declaration postBrowse

where t0 is an unknown type
      t2 is an unknown type
      t1 is an unknown type
      t3 is an unknown type
      t4 is an unknown type

See https://github.com/purescript/documentation/blob/master/errors/TypesDoNotUnify.md for more information,
or to contribute content related to this error.

* ERROR: Subcommand terminated with exit code 1

postBrowse :: Match MyRoute
postBrowse =
  PostBrowse <$> (lit "posts" *> str) <*> str

Should this be closed? The guide is still incorrect.


[BUG]MountVolume.SetUp failed for volume "content" : object "kube-system"/"chart-content-rke2-ingress-nginx" not registered

Rancher Server Setup

Rancher version:2.7.0
Installation option (Docker install/Helm Chart):Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):RKE2

Proxy/Cert Details:

Information about the Cluster

Kubernetes version:
Cluster Type (Local/Downstream):

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

@winterallen Could you please provide more details around the affected cluster?
I understand this is for RKE2 cluster on Rancher v2.7.0, but I'm curious to know the following:

Kubernetes version
Is cluster local or downstream?

If downstream, is cluster: Hosted, Node Driver, Custom, or Imported?

Steps to reproduce