Why is it highly recommended to roll over the Kerberos decryption key at least every 30 days?

[Enter feedback here]
Why is it highly recommended to roll over the Kerberos decryption key at least every 30 days?  It seems that if it is important, Microsoft would provide a script or an opt-in option to roll over per your recommendation automatically.
Please advise.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9eb97eff-d72e-ffa6-1365-5419e93ed82a
Version Independent ID: 5c8b677b-f4cd-0bb5-c7d6-9b1ef903dad4
Content: Azure AD Connect
Content Source: articles/active-directory/hybrid/how-to-connect-sso-faq.yml
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

🚬
On Wed, Jan 12, 2022 at 4:06 PM Todd Nelson @.***>
wrote:

[Enter feedback here]
Why is it highly recommended to roll over the Kerberos decryption key at
least every 30 days? It seems that if it is important, Microsoft would
provide a script or an opt-in option to roll over per your recommendation
automatically.
Please advise.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com
http://docs.microsoft.com ➟ GitHub issue linking.

ID: 9eb97eff-d72e-ffa6-1365-5419e93ed82a
Version Independent ID: 5c8b677b-f4cd-0bb5-c7d6-9b1ef903dad4
Content: Azure AD Connect
https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-sso-faq#how-can-i-roll-over-the-kerberos-decryption-key-of-the-azureadssoacc-computer-account
Content Source:
articles/active-directory/hybrid/how-to-connect-sso-faq.yml
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/active-directory/hybrid/how-to-connect-sso-faq.yml
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath https://github.com/billmath
Microsoft Alias: billmath

—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/86297, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWIOIMWZLYXCFNKGVUZOPC3UVWKJDANCNFSM5LZG2KHQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

It's a security best practice to rollover the Kerberos decryption keys. The reasoning is similar to why it's best practice to change out passwords when the same password has been used for a while.
There are some high access requirements to complete the task, and it's necessary to have Domain Admin privileges to execute the flow of the script. Because of the access requirements the task isn't as easy to automate as it would otherwise be.
There is an open feature request for an automatic rollover option, but as far as I am aware it is not available yet. I have bubbled your request up with the product team to ask for an update and will add to this thread as when have a response from them

The PG has replied that unfortunately there is no update for the automation at this point, but you are encouraged to create a feature request in the newly revised Ideas forum: https://feedback.azure.com/

It's a security best practice to rollover the Kerberos decryption keys. The reasoning is similar to why it's best practice to change out passwords when the same password has been used for a while.
There are some high access requirements to complete the task, and it's necessary to have Domain Admin privileges to execute the flow of the script. Because of the access requirements the task isn't as easy to automate as it would otherwise be.
There is an open feature request for an automatic rollover option, but as far as I am aware it is not available yet. I have bubbled your request up with the product team to ask for an update and will add to this thread as when have a response from them

This reasoning is flawed though, because it is not recommended to rotate or update passwords based on time as a factor. Even MS says this in their M365 Admin Guide: https://learn.microsoft.com/en-us/microsoft-365/admin/misc/password-policy-recommendations?view=o365-worldwide.
I do understand that keys are not passwords, and that treating them differently may be the best recommendation, but as of right now I can't see how this 30 day rotation is helping any security goals.

It's a security best practice to rollover the Kerberos decryption keys. The reasoning is similar to why it's best practice to change out passwords when the same password has been used for a while.
There are some high access requirements to complete the task, and it's necessary to have Domain Admin privileges to execute the flow of the script. Because of the access requirements the task isn't as easy to automate as it would otherwise be.
There is an open feature request for an automatic rollover option, but as far as I am aware it is not available yet. I have bubbled your request up with the product team to ask for an update and will add to this thread as when have a response from them

This reasoning is flawed though, because it is not recommended to rotate or update passwords based on time as a factor. Even MS says this in their M365 Admin Guide: https://learn.microsoft.com/en-us/microsoft-365/admin/misc/password-policy-recommendations?view=o365-worldwide.
I do understand that keys are not passwords, and that treating them differently may be the best recommendation, but as of right now I can't see how this 30 day rotation is helping any security goals.

No it is not flawed.
As you already correctly understood, keys are not passwords. The fact that regular password changes are not recommended anymore is for "memorized secrets" (aka passwords which users choose). The reason is, that humans tend to choose guessable password patterns when they are forced to regularly change passwords, which increases the risk of password attacks (brute-forcing, password spraying, cracking of related hashes, etc.). That's why for users it is only recommended to enforce password change if there is evidence of compromise.
It is documented in NIST 800-63B chapter <IP_ADDRESS> (https://pages.nist.gov/800-63-3/sp800-63b.html#memsecret)
However, for secrets (e.g. keys, generated passwords) which are used by services or systems, there is still a recommendation to regulary rotate those (you can find the same recommendation for example for Azure storage account access keys). Especially if we are talking about high risk accounts, like in this case the AZUREADSSO account (you will also find the recommendation to do this for e.g. on-premises AD krbtgt account).
This is because those accounts have high privileges and compromise of such credentials via e.g. backups or logs (attackers have found krbtgt account hashes in 10+ year old backups and could use this to compromise whole domains) leads usually to compromise of whole environments or very sensitive data.

For what's worth it.
I created 2 script in Powershell.
1 to save AD and AzureAD password to the local drive of the AD COnnect server (encrypted off course)
1 to roll over the Kerberos Decryption Key using a powershell script which uses earlier mentioned usernames / passwords.
This is combined in a Scheduled Task and runs every 2 weeks.


Last cell of notebook does not run

# As above: slow!
%timeit ebisu.predictRecall(database[0]['model'], 100., exact=True)

# Cache a value using the `cacheIndependent` helper, and allow `exact=False` (the default):
independent = ebisu.cacheIndependent(database[0]['model'])
%timeit ebisu.predictRecall(database[0]['model'], 100., independent=independent)

Error
4.64 µs ± 174 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-8-53ab2e313a25> in <module>
      3
      4 # Cache a value using the `cacheIndependent` helper, and allow `exact=False` (the default):
----> 5 independent = ebisu.cacheIndependent(database[0]['model'])
      6 get_ipython().run_line_magic('timeit', "ebisu.predictRecall(database[0]['model'], 100., independent=independent)")

AttributeError: module 'ebisu' has no attribute 'cacheIndependent'

I git pulled the updates and reinstall ebisu.
I am using Python3.7 from macports on Mac OS X.

Oh my goodness, many, many thanks for this warning! I'm going to make the task of running the Jupyter Notebook part of the release task so it doesn't keep breaking on you 😞!

The last cell of the notebook now works. Many thank you!


Fix #8612 JSInterop throws truncated call stack

The fix for this is to use more ExceptionDispatchInfo! Basically
everwhere that we handle an exception is now an EDI. It's easy to pass
these around and they do the right thing as far as perserving the stack
in.
I de-factored this code a little bit to make all of this work, but it's
now pretty unambiguously correct upon inspection.
I started out wanting to get rid of the continue-with because we've
found that pretty error prone overall. However making this method
async-void started to ask more questions than it answered. What happens
if serialization of the exception fails?

Note that many of these tests are still disabled due to https://github.com/aspnet/AspNetCore-Internal/issues/1733

I would also reenable the tests if everything passes on the CI. If we find out they are flaky then we should make them [Flaky]

I'm going to send a separate PR to re-enable these tests.


Kr1m Attempt2

Kr1m Attempt2

Hello! Thanks for the new attempt; this one scores 0.561 so doesn't change your current best of 0.57.


Original repository gw-computing.net

The site https://projects.gw-computing.net/ seems not to be available, though there is a GitHub organization https://github.com/gw-computing . Should the current repository be regarded as the main one?

Yes, unfortunately, I stopped running my own server (too much maintenance, not enough time :slightly_smiling_face:). This repository is now the main one.


Add tools for Bacterial Genome Annotation tutorial

Hi,
This PR adds the missing tools to be able to run the Bacterial Genome Annotation tutorial for the GTA.
Bérénice
Installation sequence for tool-installers

[ ] Test using @galaxybot test this
[ ] Inspect CI output for expected changes
[ ] Deploy using @galaxybot deploy this if test install was successful
[ ] Merge this PR

I am not sure what is the policy for installing data_managers on Main -- @natefoo ?

The data manager is surely not needed for any tutorial, we can just remove that.

@galaxybot test this

seems we need to separate org and test, I forgot about this being a thing

@bebatut tools have been deployed on main (see https://github.com/galaxyproject/usegalaxy-tools/pull/845) -- do we need this on Test too?

Test loads Main's toolbox so these are also on Test now.

I do not need on Test. I will test the tutorial right now. Thanks a lot


An error occurred while Performance/RegexpMatch cop was inspecting

After upgrading rubocop the following issue is triggered:
An error occurred while Performance/RegexpMatch cop was inspecting

It raises in the following line:
register_purge_url(Card) { card_path('\d+', match.id) if match }

Rubocop version:
$ rubocop -V
0.48.1 (using Parser <IP_ADDRESS>, running on ruby 2.4.1 x86_64-linux)

Stacktrace with rubocop -d:
An error occurred while Performance/RegexpMatch cop was inspecting /app/models/concerns/varnish_cleaner.rb:268:29.
undefined method `type' for nil:NilClass
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/performance/regexp_match.rb:69:in `match_method?'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/performance/regexp_match.rb:97:in `match_node?'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/performance/regexp_match.rb:140:in `check_condition'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/performance/regexp_match.rb:110:in `on_if'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:43:in `block (2 levels) in on_if'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:106:in `with_cop_error_handling'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:42:in `block in on_if'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:41:in `each'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:41:in `on_if'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/ast/traversal.rb:154:in `on_block'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:47:in `on_block'
(eval):2:in `block in on_begin'
(eval):2:in `each'
(eval):2:in `on_begin'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:47:in `on_begin'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/ast/traversal.rb:141:in `on_while'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:47:in `on_module'                                                                                [25/1892]
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/ast/traversal.rb:12:in `walk'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/commissioner.rb:60:in `investigate'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/team.rb:124:in `investigate'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/team.rb:112:in `offenses'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cop/team.rb:54:in `inspect_file'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:248:in `inspect_file'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:195:in `block in do_inspection_loop'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:227:in `block in iterate_until_no_changes'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:220:in `loop'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:220:in `iterate_until_no_changes'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:191:in `do_inspection_loop'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:101:in `block in file_offenses'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:111:in `file_offense_cache'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:99:in `file_offenses'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:90:in `process_file'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:68:in `block in each_inspected_file'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:65:in `each'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:65:in `reduce'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:65:in `each_inspected_file'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:57:in `inspect_files'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/runner.rb:36:in `run'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cli.rb:72:in `execute_runner'
/usr/local/bundle/gems/rubocop-0.48.1/lib/rubocop/cli.rb:27:in `run'
/usr/local/bundle/gems/rubocop-0.48.1/bin/rubocop:13:in `block in <top (required)>'
/usr/local/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
/usr/local/bundle/gems/rubocop-0.48.1/bin/rubocop:12:in `<top (required)>'
/usr/local/bundle/bin/rubocop:17:in `load'
/usr/local/bundle/bin/rubocop:17:in `<main>'

I can't reproduce this with RuboCop 0.49.

We need to specify TargetRubyVersion to reproduce this error.
AllCops:
  TargetRubyVersion: 2.4


Feature/447 implement get list of all local authorities

Context:
When a user is creating a new temporary accommodation property, they need to be able to select a local authority area from a list. This list of course needs to be the actual names of the areas. When all of the data is passed to the server to create a new property, it will include the ID of the area which will be persisted.
This change exposes a new endpoint that the client can call to retrieve a full list of area objects with all of their attributes.

If possible I think we're ready to put this straight into main

@edavey @brownbearsoftware I have pushed up a revision

If possible I think we're ready to put this straight into main

Oh okay shall I edit this to merge straight in to main once approved?

@ian-wells-nimble I'd suggest that we get https://github.com/ministryofjustice/hmpps-approved-premises-api/pull/154 into main first as you mentioned there would should be some conflicts. Then we can change the target branch of this pull request to main.


Updated keywords_string is overwritten during admin save Cartridge.Shop.Model.Product; may affect other models

Even though Product.keywords.all() will return assigned keywords, Product.keywords_string does not return the csv of keywords.
The problem lies here:
save_model is run first in the admin and the old version of Product instance is saved as self._product=obj
related_items_changed runs after for the KeywordField
then save_formset runs and saves the previous obj in self._product over the new
keywords_string are overwritten
fetching the Product in save_formset does indeed fix the issue, however, I am not sure if this is the best way to go about it
self._product=Product.objects.get(pk=self._product.pk)
opened same issue in Cartridge, not sure if this is a Mezzanine issue or Cartridge
Cartridge - Issue 301

Sounds like Cartridge, but either way, no need to open two issues.


Using Tensorflow 2.0 loss functions that require inputs gives "tf.Tensor as a Python bool is not allowed"  error

** System information **

Wrote custom code for simple model
Ubuntu 16.04.6 LTS
Tensorflow 2.0.0-beta1 installed from binary using pip
Python 3.7, no CUDA or GPU
Loading a saved model results in error:
init() got an unexpected keyword argument 'reduction'

** Code to reproduce the issue **
Relevant architecture:
labels = tf.keras.Input(batch_shape=(batch_size, xsze, ysze), name='labels')
logits = tf.keras.layers.Conv2D(1, [1, 1], activation='linear', name='output_x')(drop11)
model = tf.keras.Model(inputs=[input_x], outputs=[logits]
model.compile(optimizer=tf.keras.optimizers.Adam(),
              loss=loss,
              metrics=[tf.keras.losses.MeanSquaredError()])

If I use a keras loss class that doesn't require explicit input arguments, it works fine:
loss = tf.keras.losses.MeanSquaredError()
But I get the error with any loss that requires inputs:
loss = tf.keras.losses.sparse_categorical_crossentropy(labels,logits)
Including custom functions which don't seem to be mixing numpy and tensor operations, nor do they check for if not None:
def dice_loss_per_image(labels, logits):
     smooth = tf.constant(1e-17,dtype=float)

    numerator = tf.constant(2, dtype=float) * tf.reduce_sum(labels * logits, axis=(1, 2))
    denominator = tf.reduce_sum(labels + logits, axis=(1, 2))

    loss = tf.constant(1.0,dtype=float) - (numerator + smooth)/(denominator + smooth)
    return loss

** Error traceback **
Traceback (most recent call last):
File "/home/m047659/Programs/pycharm/helpers/pydev/_pydevd_bundle/pydevd_exec2.py", line 3, in Exec
exec(exp, global_vars, local_vars)
File "", line 1, in
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/saving/save.py", line 137, in load_model
return hdf5_format.load_model_from_hdf5(filepath, custom_objects, compile)
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/saving/hdf5_format.py", line 178, in load_model_from_hdf5
training_config, custom_objects))
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/tracking/base.py", line 458, in _method_wrapper
result = method(self, *args, **kwargs)
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 320, in compile
self._cache_output_metric_attributes(metrics, weighted_metrics)
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 1735, in _cache_output_metric_attributes
metrics, self.output_names, output_shapes, self.loss_functions)
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/training_utils.py", line 755, in collect_per_output_metric_info
metric_name = get_metric_name(metric, is_weighted)
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/training_utils.py", line 929, in get_metric_name
metric = metrics_module.get(metric)
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/metrics.py", line 2833, in get
return deserialize(identifier)
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/metrics.py", line 2827, in deserialize
printable_module_name='metric function')
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/utils/generic_utils.py", line 194, in deserialize_keras_object
return cls.from_config(cls_config)
File "/home/m047659/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 451, in from_config
return cls(**config)
TypeError: init() got an unexpected keyword argument 'reduction'
Any way to fix this?
Thank you.

Looks like the code is incomplete.Can you please provide full code snippet to reproduce it on our environment.Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!

@ghunkins Thanks a lot! Your suggestion works. Any intuition behind what is actually going on? This issue only seems to affect saved models. That is a model which is created and tested immediately after training does not have this issue.

I want to train from what I have stopped by loading the model.Then what is the solution

I want to train from what I have stopped by loading the model.Then what is the solution

Keras is trying to pass reduction as a keyword variable to your class constructor, so just adding a **kwargs to my constructor header solved the problem for me.


403 Issue!

I can easily delete my own messages, but cannot delete other users messages on DM. Havin issue like this.

By design you can't delete messages from other people, unless you have a role to manage messages, this is not a bug.


Add unique constraint for UM_USER username with tenant

Purpose

Fixes issue https://github.com/wso2/product-is/issues/13097.
Fix issue where users with the same username can be added to the UM_USER table.
Fix issue where UM_USER_ID is unique for a specific tenant in the current script. The UM_USER_ID has been  introduced to be specific across the system.

Goals

Add a constraint to make the username unique for tenant.
Update existing constraint to make userid unique across all tenants.

Migrations (if applicable)

The current db scripts needs to be altered for adding and updating the above mentioned unique constraints.
Migration issue:

Please create a migration issue as well

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2370350397

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2370350397
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2382497516


"examples" added to draft-06

I have tests that download the metaschema drafts and validate them against themselves.  My draft-06 test just started failing.  Upon investigating, I found that the examples property was added to it.  Please see attachments.

The current draft-06 schema
The draft-06 schema as of 2017/09/29

Are these always subject to change after release, or is editing this file a mistake?

It was a bug, which was fixed.  This is easily verified by glancing at the table of contents of the corresponding specification.  Please do check that before reporting it as a bug here.  The JSON Schema team is no less susceptible to bugs than any other software project.
Note also that the meta-schemas are not a normative part of the specification.  They are provided as a convenience.  The specification is always the authoritative document.


fix content is outside the container on mobile

https://github.com/codeigniter4projects/website/issues/180

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 76.161%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
246

Relevant Lines:
323

💛  - Coveralls

cc @MGatner


Let travis build binaries

You can use travis to build binaries. The result will look like this:
https://github.com/danielkucera/opendps/releases
All you need to do is add project to travis and set GITHUB_OAUTH_TOKEN variable by this guide: https://docs.travis-ci.com/user/deployment/pages/#setting-the-github-token
Release is built with each tag

Beat me to it. This looks good.
There are a few things to consider:

Should we build multiple models DPS5015 DPS3003? I think it makes sense to check that these build

If so, should we also include these images in the release? I think it only makes sense if we have the hardware to test on first.

The default baudrate should be changed to 9600 in the Makefile since I believe most people will be buying the DPS5005 with the extra $2 USB module (#135)
This closes ticket #45

Don't merge it yet, I broke original build_binaries.sh script

But for the other images you just need to edit original build.sh to build all needed variants and copy them to /output

From my side it's ready

I think the opendps output files should be renamed to the model that they were built for. Something like opendps_dps5005.bin

Looks like the build system expected BINARY to match the directory name. Perhaps changing the build script to this? I haven't tested this mind
#!/bin/bash

set -eEuo pipefail
umask 022

sudo mkdir -p /home/opendps/code
sudo cp -R /parent/{*,.git*} /home/opendps/code
sudo chown -R opendps:opendps /home/opendps

cd /home/opendps/code
git submodule init
git submodule update
make -j -C libopencm3
make -C opendps fonts "$@"
make -C dpsboot elf bin "$@"

cp -f /home/opendps/code/dpsboot/dpsboot.elf /output/
cp -f /home/opendps/code/dpsboot/dpsboot.bin /output/

make -C opendps elf bin "$@" MODEL=DPS5015
cp -f /home/opendps/code/opendps/opendps.elf /output/opendps_DPS5015.elf
cp -f /home/opendps/code/opendps/opendps.bin /output/opendps_DPS5015.bin

make -C opendps elf bin "$@" MODEL=DPS5005
cp -f /home/opendps/code/opendps/opendps.elf /output/opendps_DPS5005.elf
cp -f /home/opendps/code/opendps/opendps.bin /output/opendps_DPS5005.bin

make -C opendps elf bin "$@" MODEL=DPS3005
cp -f /home/opendps/code/opendps/opendps.elf /output/opendps_DPS3005.elf
cp -f /home/opendps/code/opendps/opendps.bin /output/opendps_DPS3005.bin

I was aiming more towards:
make -C opendps elf bin "$@" MODEL=DPS5015
make -C opendps elf bin "$@" MODEL=DPS5005
make -C opendps elf bin "$@" MODEL=DPS3005

cp -f /home/opendps/code/opendps/*.elf /output/
cp -f /home/opendps/code/opendps/*.bin /output/

Do you have an idea how to adjust the build system?

Change line 52 of libopencm3.rules.mk to: OBJS		+= opendps.o

The following patch resolves it:
diff --git a/dpsboot/Makefile b/dpsboot/Makefile
index e355c81..af31f1f 100644
--- a/dpsboot/Makefile
+++ b/dpsboot/Makefile
@@ -9,6 +9,7 @@ CFLAGS = -I. -I../opendps -DGIT_VERSION=\"$(GIT_VERSION)\" -DCONFIG_PAST_NO_GC -
 #CFLAGS += -flto

 OBJS = \
+	dpsboot.o \
 	common.o \
 	hw.o

diff --git a/libopencm3.rules.mk b/libopencm3.rules.mk
index 60d6ce8..47e3860 100644
--- a/libopencm3.rules.mk
+++ b/libopencm3.rules.mk
@@ -46,12 +46,6 @@ OPT		:= -Os
 CSTD		?= -std=c99

-###############################################################################
-# Source files
-
-OBJS		+= $(BINARY).o
-
-
 ifeq ($(strip $(OPENCM3_DIR)),)
 # user has not specified the library path, so we try to detect it

diff --git a/opendps/Makefile b/opendps/Makefile
index 02af4da..1a8ba5a 100644
--- a/opendps/Makefile
+++ b/opendps/Makefile
@@ -1,5 +1,3 @@
-BINARY = opendps
-
 # Build with commandline interface rather than serial interface
 COMMANDLINE := 0

@@ -24,6 +22,9 @@ WIFI := 1
 # Print debug information on the serial output
 DEBUG ?= 0

+# Set the output binary filenames
+BINARY := opendps_$(MODEL)
+
 # Font file
 METER_FONT_FILE ?= gfx/Ubuntu-C.ttf
 METER_FONT_SMALL_SIZE ?= 18
@@ -71,6 +72,7 @@ CFLAGS += \
 LDSCRIPT = stm32f100_app.ld

 OBJS = \
+    opendps.o \
     flashlock.o \
     bootcom.o \
     crc16.o \

@Xenoamor I didn't want to touch libopencm3.rules.mk so I did it in a different way. Anyway it was a good school of make. Now there is still one problem outstanding - it doesn't rebuild after changing model parameter.

I'm almost certain that the libopencm3.rules.mk is incorrect as it stands. It should only be used to describe how to build a project and not what sourcefiles are in it.
You'll need to touch the dps-model.h file to trigger a rebuild I believe

@Xenoamor yes, touch works. Let's leave the decision to @kanflo whether to edit libopencm3.rules.mk or my workaround.
Btw different solution for model config could be using dps-model-$MODEL.c with const parameter definitions and then link only the correct file.

As libopencm3.rules.mk is a part of this git, please feel free to modify it as needed @danielkucera.

done

Sods law that this has just came out:
https://github.com/features/actions


Creating a cluster

Firstly I'd like to say thanks for this project.
I got it up and running really easily. I'm a big fan of RethinkDB and now i'm a fan of nanobox :smile:
I did have a small issue with installing docker, had to do this https://github.com/docker/compose/issues/1214#issuecomment-102246925, and then restart the computer might be worth documenting it.
Are there any recommendations on how to set up a cluster of RethinkDB servers using nanobox?

Is it just a matter of scaling to component?

It will be once scaling data components is supported.

Is there any ticket or timetable on a roadmap?

^ I'm also interested in the timeline for this


Fix: Ensure winId is carried over to the pushed context

Issue
When calling ddu.vim's start function with push=true, the context.winId is incorrectly set to the winId of an already open ddu.vim instance. This results in the return window selection being incorrect after closing the ddu.vim window.
Fix
To address this issue, the winId is now carried over from the previous ddu context when push=true. This ensures that the context.winId remains consistent with the previously opened ddu instance, allowing the return window to be selected correctly.
Verification
Tests and verifications have been conducted to ensure that the winId is correctly carried over and that the return window selection works as expected.
:new
:wincmd j
:call ddu#start(...)
:call ddu#ui#do_action("chooseAction")
:q
:q

OK.  Merged.


the library is ready for iOS 13?

in iOS 12 the library works perfect without any issues, this time never return the contacts we are using the version 4.x with RN 0.59

probably not, if things have changed in 13 we need a ticket to make those changes.

There is no problem on Ios 13 with 5.0.4 #439

5.0.4 i'ts very good


Release azure-cli-dla 0.0.9

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[ ] The PR has modified HISTORY.rst with an appropriate description of the change (see Modifying change log).

Command Guidelines

[ ] Each command and parameter has a meaningful description.
[ ] Each new command has a test.

(see Authoring Command Modules)

Reviewers, please verify the following for this PR:

[ ] The PR title has format Release <component-name> <version>.
[ ] setup.py has been modified with the same version as in the PR title.
[ ] HISTORY.rst has been modified with appropriate release notes.
[ ] If releasing azure-cli or azure-cli-core, __version__ defined in __init__.py should also be modified to match.

Started releasing azure-cli-dla 0.0.9...

Release of 'azure-cli-dla' with version '0.0.9' successful. View at https://pypi.python.org/pypi/azure-cli-dla/0.0.9.

GitHub release created. https://github.com/Azure/azure-cli/releases.

Codecov Report

Merging #3820 into master will increase coverage by 0.16%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3820      +/-   ##
==========================================
+ Coverage   70.75%   70.91%   +0.16%
==========================================
  Files         424      424
  Lines       26895    26895
  Branches     4094     4094
==========================================
+ Hits        19029    19073      +44
+ Misses       6621     6578      -43
+ Partials     1245     1244       -1

Impacted Files
Coverage Δ

src/azure-cli-core/azure/cli/core/prompting.py
19.27% <0%> (ø)
:arrow_up:

...ice/azure/cli/command_modules/appservice/custom.py
73.46% <0%> (+0.24%)
:arrow_up:

...zure-cli-vm/azure/cli/command_modules/vm/custom.py
77.01% <0%> (+0.31%)
:arrow_up:

...ource/azure/cli/command_modules/resource/custom.py
62.41% <0%> (+0.33%)
:arrow_up:

...cli-vm/azure/cli/command_modules/vm/_validators.py
75.59% <0%> (+0.33%)
:arrow_up:

...azure-cli-core/azure/cli/core/commands/__init__.py
69.79% <0%> (+0.44%)
:arrow_up:

.../azure/cli/command_modules/vm/_template_builder.py
85.78% <0%> (+0.49%)
:arrow_up:

...zure-cli-sf/azure/cli/command_modules/sf/custom.py
40.53% <0%> (+0.72%)
:arrow_up:

...re-cli-acr/azure/cli/command_modules/acr/_utils.py
82.82% <0%> (+1.01%)
:arrow_up:

...ure-cli-testsdk/azure/cli/testsdk/vcr_test_base.py
70.08% <0%> (+1.17%)
:arrow_up:

... and 7 more

Continue to review full report at Codecov.

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


Does support for API_V_3.0 will be available in this client?

"Warning: The v1.1 API will reach its planned end of life and no longer be supported as of 9/30/2020.
Please upgrade to the v3 API prior to that date."
Source: https://bittrex.github.io/guides/v3/upgrade

ohh, I found this: https://github.com/ccxt/ccxt/blob/master/js/bittrex.js#L53


CHANGELOG update

Coverage remained the same at 1.874% when pulling e7dc813d8ad135553deef4c16f194949afb000f3 on 2.0.2 into 343f1702226352c6f6888ab63dddb2c2430d36de on master.


Understand ROLLBACKs in test logs

Some unclear failures appear in fractal-web tests, ref https://github.com/fractal-analytics-platform/fractal-web/issues/499#issuecomment-2136774263
The relevant bit of logs shows a ROLLBACK before the actual 403 response:
INFO:sqlalchemy.engine.Engine:SELECT linkuserproject.project_id AS linkuserproject_project_id, linkuserproject.user_id AS linkuserproject_user_id
FROM linkuserproject
WHERE linkuserproject.project_id = $1::INTEGER AND linkuserproject.user_id = $2::INTEGER
2024-05-29 09:18:21,544 INFO sqlalchemy.engine.Engine [cached since 37.68s ago] (11, 1)
INFO:sqlalchemy.engine.Engine:[cached since 37.68s ago] (11, 1)
2024-05-29 09:18:21,544 INFO sqlalchemy.engine.Engine ROLLBACK
INFO:sqlalchemy.engine.Engine:ROLLBACK
INFO:     <IP_ADDRESS>:36236 - "POST /api/v1/project/11/dataset/ HTTP/1.1" 403 Forbidden

By looking at the full logs, the fact of seeing ROLLBACKs related to linkuserproject statements is very frequent, see e.g. these logs at the very beginning:
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     <IP_ADDRESS>:36236 - "GET /api/alive/ HTTP/1.1" 200 OK
2024-05-29 09:17:17,680 INFO sqlalchemy.engine.Engine BEGIN (implicit)
INFO:sqlalchemy.engine.Engine:BEGIN (implicit)
2024-05-29 09:17:17,680 INFO sqlalchemy.engine.Engine SELECT user_oauth.id, user_oauth.email, user_oauth.hashed_password, user_oauth.is_active, user_oauth.is_superuser, user_oauth.is_verified, user_oauth.slurm_user, user_oauth.slurm_accounts, user_oauth.cache_dir, user_oauth.username, oauthaccount_1.id AS id_1, oauthaccount_1.user_id, oauthaccount_1.oauth_name, oauthaccount_1.access_token, oauthaccount_1.expires_at, oauthaccount_1.refresh_token, oauthaccount_1.account_id, oauthaccount_1.account_email
FROM user_oauth LEFT OUTER JOIN oauthaccount AS oauthaccount_1 ON user_oauth.id = oauthaccount_1.user_id
WHERE lower(user_oauth.email) = lower($1::VARCHAR)
INFO:sqlalchemy.engine.Engine:SELECT user_oauth.id, user_oauth.email, user_oauth.hashed_password, user_oauth.is_active, user_oauth.is_superuser, user_oauth.is_verified, user_oauth.slurm_user, user_oauth.slurm_accounts, user_oauth.cache_dir, user_oauth.username, oauthaccount_1.id AS id_1, oauthaccount_1.user_id, oauthaccount_1.oauth_name, oauthaccount_1.access_token, oauthaccount_1.expires_at, oauthaccount_1.refresh_token, oauthaccount_1.account_id, oauthaccount_1.account_email
FROM user_oauth LEFT OUTER JOIN oauthaccount AS oauthaccount_1 ON user_oauth.id = oauthaccount_1.user_id
WHERE lower(user_oauth.email) = lower($1::VARCHAR)
2024-05-29 09:17:17,680 INFO sqlalchemy.engine.Engine [cached since 4.391s ago] ('admin@fractal.xy',)
INFO:sqlalchemy.engine.Engine:[cached since 4.391s ago] ('admin@fractal.xy',)
2024-05-29 09:17:17,683 INFO sqlalchemy.engine.Engine SELECT user_oauth_1.id AS user_oauth_1_id, project.name AS project_name, project.read_only AS project_read_only, project.id AS project_id, project.timestamp_created AS project_timestamp_created
FROM user_oauth AS user_oauth_1 JOIN linkuserproject AS linkuserproject_1 ON user_oauth_1.id = linkuserproject_1.user_id JOIN project ON project.id = linkuserproject_1.project_id
WHERE user_oauth_1.id IN ($1::INTEGER)
INFO:sqlalchemy.engine.Engine:SELECT user_oauth_1.id AS user_oauth_1_id, project.name AS project_name, project.read_only AS project_read_only, project.id AS project_id, project.timestamp_created AS project_timestamp_created
FROM user_oauth AS user_oauth_1 JOIN linkuserproject AS linkuserproject_1 ON user_oauth_1.id = linkuserproject_1.user_id JOIN project ON project.id = linkuserproject_1.project_id
WHERE user_oauth_1.id IN ($1::INTEGER)
2024-05-29 09:17:17,683 INFO sqlalchemy.engine.Engine [generated in 0.00017s] (1,)
INFO:sqlalchemy.engine.Engine:[generated in 0.00017s] (1,)
2024-05-29 09:17:17,686 INFO sqlalchemy.engine.Engine SELECT user_oauth_1.id AS user_oauth_1_id, projectv2.id AS projectv2_id, projectv2.name AS projectv2_name, projectv2.timestamp_created AS projectv2_timestamp_created
FROM user_oauth AS user_oauth_1 JOIN linkuserprojectv2 AS linkuserprojectv2_1 ON user_oauth_1.id = linkuserprojectv2_1.user_id JOIN projectv2 ON projectv2.id = linkuserprojectv2_1.project_id
WHERE user_oauth_1.id IN ($1::INTEGER)
INFO:sqlalchemy.engine.Engine:SELECT user_oauth_1.id AS user_oauth_1_id, projectv2.id AS projectv2_id, projectv2.name AS projectv2_name, projectv2.timestamp_created AS projectv2_timestamp_created
FROM user_oauth AS user_oauth_1 JOIN linkuserprojectv2 AS linkuserprojectv2_1 ON user_oauth_1.id = linkuserprojectv2_1.user_id JOIN projectv2 ON projectv2.id = linkuserprojectv2_1.project_id
WHERE user_oauth_1.id IN ($1::INTEGER)
2024-05-29 09:17:17,686 INFO sqlalchemy.engine.Engine [generated in 0.00014s] (1,)
INFO:sqlalchemy.engine.Engine:[generated in 0.00014s] (1,)
2024-05-29 09:17:17,915 INFO sqlalchemy.engine.Engine ROLLBACK
INFO:sqlalchemy.engine.Engine:ROLLBACK
INFO:     <IP_ADDRESS>:36236 - "POST /auth/token/login/ HTTP/1.1" 200 OK

If I'm not mistaken, this means that the ROLLBACKs take place within the POST /auth/token/login/ request, even though it responds successfully.
Let's debug this further, to see if anything unexpected is taking place.

For the record:

This is the fastapi-users implementation of the POST auth/token/login endpoint: https://github.com/fastapi-users/fastapi-users/blob/master/fastapi_users/router/auth.py#L46-L71
This is the AuthenticationBackend login method: https://github.com/fastapi-users/fastapi-users/blob/master/fastapi_users/authentication/backend.py#L41C1-L46. It then calls  strategy.write_token(user) and self.transport.get_login_response(token)
We use the JWTStrategy and the CookieTransport (again from fastapi-users)

Another bit on how to reproduce the rollbacks:
Start server (e.g. with uvicorn, and with DB_ECHO=1):
...2024-05-29 13:13:00,301 - fractal_server.lifespan - INFO - End application startup
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)

Run curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d<EMAIL_ADDRESS>http://<IP_ADDRESS>:8000/auth/token/login/
2024-05-29 13:13:47,948 INFO sqlalchemy.engine.Engine BEGIN (implicit)
INFO:sqlalchemy.engine.Engine:BEGIN (implicit)
2024-05-29 13:13:47,952 INFO sqlalchemy.engine.Engine SELECT user_oauth.id, user_oauth.email, user_oauth.hashed_password, user_oauth.is_active, user_oauth.is_superuser, user_oauth.is_verified, user_oauth.slurm_user, user_oauth.slurm_accounts, user_oauth.cache_dir, user_oauth.username, oauthaccount_1.id AS id_1, oauthaccount_1.user_id, oauthaccount_1.oauth_name, oauthaccount_1.access_token, oauthaccount_1.expires_at, oauthaccount_1.refresh_token, oauthaccount_1.account_id, oauthaccount_1.account_email
FROM user_oauth LEFT OUTER JOIN oauthaccount AS oauthaccount_1 ON user_oauth.id = oauthaccount_1.user_id
WHERE lower(user_oauth.email) = lower(?)
INFO:sqlalchemy.engine.Engine:SELECT user_oauth.id, user_oauth.email, user_oauth.hashed_password, user_oauth.is_active, user_oauth.is_superuser, user_oauth.is_verified, user_oauth.slurm_user, user_oauth.slurm_accounts, user_oauth.cache_dir, user_oauth.username, oauthaccount_1.id AS id_1, oauthaccount_1.user_id, oauthaccount_1.oauth_name, oauthaccount_1.access_token, oauthaccount_1.expires_at, oauthaccount_1.refresh_token, oauthaccount_1.account_id, oauthaccount_1.account_email
FROM user_oauth LEFT OUTER JOIN oauthaccount AS oauthaccount_1 ON user_oauth.id = oauthaccount_1.user_id
WHERE lower(user_oauth.email) = lower(?)
2024-05-29 13:13:47,953 INFO sqlalchemy.engine.Engine [generated in 0.00018s] ('admin@fractal.xy',)
INFO:sqlalchemy.engine.Engine:[generated in 0.00018s] ('admin@fractal.xy',)
2024-05-29 13:13:48,168 INFO sqlalchemy.engine.Engine ROLLBACK
INFO:sqlalchemy.engine.Engine:ROLLBACK
2024-05-29 13:13:48,168 - uvicorn.access - INFO - <IP_ADDRESS>:56956 - "POST /auth/token/login/ HTTP/1.1" 200

Run curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d<EMAIL_ADDRESS>--cookie-jar - http://<IP_ADDRESS>:8000/auth/login/:
2024-05-29 13:14:13,599 INFO sqlalchemy.engine.Engine BEGIN (implicit)
INFO:sqlalchemy.engine.Engine:BEGIN (implicit)
2024-05-29 13:14:13,599 INFO sqlalchemy.engine.Engine SELECT user_oauth.id, user_oauth.email, user_oauth.hashed_password, user_oauth.is_active, user_oauth.is_superuser, user_oauth.is_verified, user_oauth.slurm_user, user_oauth.slurm_accounts, user_oauth.cache_dir, user_oauth.username, oauthaccount_1.id AS id_1, oauthaccount_1.user_id, oauthaccount_1.oauth_name, oauthaccount_1.access_token, oauthaccount_1.expires_at, oauthaccount_1.refresh_token, oauthaccount_1.account_id, oauthaccount_1.account_email
FROM user_oauth LEFT OUTER JOIN oauthaccount AS oauthaccount_1 ON user_oauth.id = oauthaccount_1.user_id
WHERE lower(user_oauth.email) = lower(?)
INFO:sqlalchemy.engine.Engine:SELECT user_oauth.id, user_oauth.email, user_oauth.hashed_password, user_oauth.is_active, user_oauth.is_superuser, user_oauth.is_verified, user_oauth.slurm_user, user_oauth.slurm_accounts, user_oauth.cache_dir, user_oauth.username, oauthaccount_1.id AS id_1, oauthaccount_1.user_id, oauthaccount_1.oauth_name, oauthaccount_1.access_token, oauthaccount_1.expires_at, oauthaccount_1.refresh_token, oauthaccount_1.account_id, oauthaccount_1.account_email
FROM user_oauth LEFT OUTER JOIN oauthaccount AS oauthaccount_1 ON user_oauth.id = oauthaccount_1.user_id
WHERE lower(user_oauth.email) = lower(?)
2024-05-29 13:14:13,599 INFO sqlalchemy.engine.Engine [cached since 25.65s ago] ('admin@fractal.xy',)
INFO:sqlalchemy.engine.Engine:[cached since 25.65s ago] ('admin@fractal.xy',)
2024-05-29 13:14:13,809 INFO sqlalchemy.engine.Engine ROLLBACK
INFO:sqlalchemy.engine.Engine:ROLLBACK
2024-05-29 13:14:13,809 - uvicorn.access - INFO - <IP_ADDRESS>:49084 - "POST /auth/login/ HTTP/1.1" 204

For the record, the same happens when working from the 1503-replace-use-of-projectuser_list-and-projectv2user_list-with-joins branch by @ychiucco

Our current understanding is that those ROLLBACKs are just the standard sqlalchemy session cleanup, and unrelated to https://github.com/fractal-analytics-platform/fractal-web/issues/499#issuecomment-2136774263.
Closing for now - thanks Yuri.


TS-4030: Fixed a regression test failure.

Fix a bug found with regression tests.  ParentResult::start_parent was not initialized in FindParent() when  using strict round robin in a parent configuration.

+1


Add All Pokemon Timers option

Add All Pokemon Timers option. Tested. And that's it :)

Sigh. I was really hoping to avoid this one but I guess there's been enough people asking for it. What do you think of having some sort of warning (see https://github.com/WatWowMap/ReactMap/blob/cde8d83c1a28ac4b2d2362775960d5f4f8c9184b/src/components/layout/drawer/Settings.jsx#L253) when users enable this option to say "Hey, this is going to slow down your map, proceed with caution"?

Tutorial is already mentioning that - but it's up to you :)
  "tutorialClosing3": "There are lots of aesthetic options available for each category, but keep in mind that the more you add to your map, the higher the chance your map will freeze",


MBT with grunt (mkdir:dist) failed

Hi everybody, I'm new to project, and I'm not experienced with MBT, nor grunt.
But after reasearch I see no mistake from my side, which I'm aware of.
Please provide the following info:

MBT Version: Cloud MTA Build Tool version 1.1.1
OS Version: Windows 10
Grunt-cli 1.4.2

Steps to Reproduce:

Install required packages -g ( mbt, grun, cloud foundry, make(GNUwin) )
Reinstall nodejs+ npm,
Create folder dist manually
Set admin rights to particular folders
Clone project from git to different parts of computer
Try different terminal ( bash, powershell, cmd [opened as admin]

Grunt-file:
module.exports = function (grunt) {
	"use strict";
	grunt.loadNpmTasks("@sap/grunt-sapui5-bestpractice-build");
	grunt.config.merge({
		compatVersion: "edge",
		deploy_mode: "html_repo"
	});
	grunt.registerTask("default", [
		"clean",
		"lint",
		"build"
	]);
	grunt.loadNpmTasks("@sap/grunt-sapui5-bestpractice-test");
	grunt.registerTask("unit_and_integration_tests", ["test"]);
	grunt.config.merge({
		coverage_threshold: {
			statements: 0,
			branches: 100,
			functions: 0,
			lines: 0
		}
	});
};

Problem description:

Clone git repository, and with required packages installed, I run mbt build -p=cf
Everything goes smooth, untill execution of grunt tasks.
Clean, lint OK
task mkdir:dist returns code 6 and break.

Output since grunt tasks:
[2021-04-21 08:13:37]  INFO executing the "grunt" command...
....distDirC:\Users\RichardTezbir\Desktop\workPlace\Innogy-IOT\locationsoverview\LocationExtensionAIN-app\dist
.....
Running "clean:dist" (clean) task

0 paths cleaned.

Running "clean:coverage" (clean) task

0 paths cleaned.

Running "lint" task
Running "mkdir:dist" (mkdir) task
Creating "C:\Users\RichardTezbir\Desktop\workPlace\Innogy-IOT\locationsoverview\LocationExtensionAIN-app\dist"...ERROR
Warning: Mkdir operation failed. Use --force to continue.
Aborted due to warnings.
[2021-04-21 08:13:46] ERROR could not build the "LocationExtensionAIN-app" module: could not execute the "grunt" command: exit status 6
make: *** [LocationExtensionAIN-app] Error 1
Error: could not build the MTA project: could not execute the "make -f Makefile_20210421081247.mta p=cf mtar= strict=true mode=" command: exit status 2
Conclusion:
It seems there is problem with grunt rights to create folder. So I run grunt build command inside the folder with gruntfile, and everything works fine.
So I assume it is problem with mbt build, which I grant all the permissions needed through windows-folder properties in security section.
The thing is, for all my colleagues it is working just fine.
Probably it is not general issue, I just see no difference between their settings and mine.
If you have any ideas what can cause problem, please refer to me with additional question, if you need more informations.

file package.json :change

I am facing the same issue and I don't think that downgrading the version will help in the long term.
Even as short-term mitigation downgrading the version from 1.x.x to 0.4.x doesn't look right.
@83819269

I am facing the same issue with exact same script. Please share if you know what is causing the issue and if some solution. @83819269

I faced the same issue! This is the solution, that works for me:

Open elevated cmd in Win.
Uninstall grunt-cli: npm uninstall -g grunt-cli
Reinstall grunt-cli with admin priviliges: npm install -g grunt-cli

@ExternalMe  I tried the steps you mentioned. But still facing the same issue.
I am also facing the same issue and the script is also the same.
Running "lint" task
Running "mkdir:dist" (mkdir) task
Creating "C:\Users\I5###\S###R\JavaBackend\acrs-core-mtar\acrscore-html5\dist"...ERROR
Warning: Mkdir operation failed. Use --force to continue.
Aborted due to warnings.
[2022-04-26 23:42:58] ERROR could not build the "acrscore-html5" module: could not execute the "grunt" command: exit status 6

Hello Team,
We are having the same issue. Is there any solution ?
-Sudhir.


[BEAM-5879 ] Make write_record() in tfrecordio.py py3 compatible

Make write_record() in tfrecordio.py py3 compatible

[BEAM-5879 ]

@tvalentyn

cc: @markflyhigh

Thanks. This now LGTM.


az firewall create is passing "Network.DNS.EnableProxy": "True" instead of lower case true

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

Describe the bug
It seems when configuration EnableProxy field on Azure Firewall via Az CLI, the value being passed is True instead of true and this causes failure in the backend.
To Reproduce
https://portal.microsofticm.com/imp/v3/incidents/details/203146390/home
Expected behavior
This field needs to be set as "true" like it is set by Powershell and portal.
Environment summary

Additional context
Customer reported this issue. Corresponding CRI is pasted above for reference.

add to S176

Please make sure similar change is made for other fields while pass true/false under Network.DNS.


[Package Request]: MSI Afterburner Beta

How can we help?
I would like someone else to build the manifest.
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: https://www.guru3d.com/download/msi-afterburner-beta-download/
Publisher: Guru3D
Package Name: MSI Afterburner
Description: Used to see GPU and CPU usage
Package Version: 4.6.6
Installer URL: https://www.guru3d.com/download/msi-afterburner-beta-download/

#145129

Package version needs to be updated to reflect the full version number (4.6.6 Beta 3). Currently the package wants to upgrade constantly because it sees 4.6.6 as "greater" than 4.6.6 Beta 3.


Expand "create Greenlight users" to allow setting the provider

Hi,
https://github.com/ebbba-org/ansible-role-bigbluebutton/blob/a17a01393cfec76c52d6b62f18f84d1e5bdca935/tasks/greenlight.yml#L50
doesn't allow setting the provider field listed in rake --tasks-output:
rake user:create[name,email,password,role,provider]  # Creates a user account

I'd like to create an LDAP user account with "admin" role so I don't need to UPDATE something in Postgres after the role is done...

Ohh I was not aware that this exists.
https://github.com/bigbluebutton/greenlight/blob/74cb620b1c63915b0d87456ff42d483315fec7db/lib/tasks/user.rake#L7-L14
The provider can also be something else like google, office365, twitter etc etc.
This could be a nice enhancement.
Does this really work? I never tested this :D
I also use Greenlight with LDAP but never head the need to create LDAP users while deploying the system.
I can understand the use behind that even with LDAP.
If you have a closed registration or invite only, it can be quite the hussle to invite all users, so I can understand the need for this.

Yeah, no... Obviously it doesn't allow for what I wanted: A LDAP user in the "Admin" role. It seems that greenlight can either create an admin account (admin:create - without provider) or a user account (user:create with provider). Even if I specify "admin" as role, it won't work for some reason yet to be determined...

Closed due to inactivity


Privacy Question: Can I be sure that this tool will not transmit any data to ChatGPT unless I explicitly ask it to

The question is in the title. Thank you for writing this tool!
I am not looking to question the quality of your coding; I just didn't find any part of the documentation explicitly stating that no data is sent to ChatGPT without my explicit request.
I found this section, but this is about you collecting data–not about when queries to chatGPT are created.

This extension does not collect your data. You can verify it by conducting a global search for fetch( and XMLHttpRequest( in the code to find all network request calls. The amount of code is not much, so it's easy to do that.

If the guarantee is given, I suggest you add a short note to the readme. I am likely not the only person worried about AI and privacy

By default, the extension needs to be triggered manually and will only send a request to ChatGPT if you explicitly click "Ask ChatGPT" or use the selection floating tools. If you are using Offline LLM, you can even modify the API URL in the advanced section of settings and input an incorrect address to ensure that no data will be sent to ChatGPT regardless of any actions taken.


feat: use go modules and go 1.14

closing this for now until we can really move completely to go modules in all the other integrations


[SPARK-44523][SQL] Filter's maxRows/maxRowsPerPartition is 0 if condition is FalseLiteral

What changes were proposed in this pull request?
This PR updates Filter's maxRows/maxRowsPerPartition to 0 if condition is FalseLiteral.
Why are the changes needed?
Provide an accurate value, as some optimization rules use this value to optimize queries.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Unit test.

LGTM, but I would like @cloud-fan to also take a look


Fix for "Unable to resolve module nullthrows"

Recreated due to mistake with https://github.com/facebook/react-native/pull/7594.

By analyzing the blame information on this pull request, we identified @sahrens and @gabelevi to be potential reviewers.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


New pattern

add day and month match pattern;
add strong password pattern generate function;
improve the CN zipcode pattern, email pattern;

@finalion Thanks!

This PR duplicated the list of zip codes. The unsorted (previous) zip codes have been put back but now they are on top of the sorted ones...

@lk-geimfari ,
I fixed the issues in #11

@the-zebulan Thanks!


Immediately apply deferred system params in System::run

Objective
Fixes #11821.
Solution

Run System::apply_deferred in System::run after executing the system.
Switch to using System::run_unsafe in SingleThreadedExecutor to preserve the current behavior.
Remove the System::apply_deferred in SimpleExecutor as it's now redundant.
Remove the System::apply_deferred when running one-shot systems, as it's now redundant.

Changelog
Changed: System::run will now immediately apply deferred system params after running the system.
Migration Guide
TODO

Much simpler. Feel free to merge once you get CI passing.

Is this going to mess up pipelined rendering extract schedule if you run all the schedules single threaded?

That would likely be a performance regression. That said I'm not sure why one would be running pipelined rendering with a single threaded executor. It seems counter intuitive.

@JoJoJet I think that's good enough justification to not deprecate the SimpleExecutor and retain the behavior in the single threaded executor. Thoughts?


Add sdnotify support

When running under systemd, it would be nice if kraken told systemd once it was initialized...

This was resolved by #202

This was resolved by #202


S=1 zero-field transition 1/g factor breakdown

pepper does not correctly simulate the orientation-independent zero-field transition here:
clear, clc
Sys.S = 1;
c = 1; % doesn't work
c = 0.9999; % works (shows transition at about zero field)
Sys.D = c*[135 45]*1e3; % MHz
Sys.lwpp = 20;
Exp.mwFreq = 180; % GHz
Exp.Range = [0 12e3]; % mT
Exp.Harmonic = 0;
pepper(Sys,Exp)

This is a perfectly rhombic D tensor, and the mw energy exactly matches the energy difference of levels 1 and 3 at zero field.
Pdat returned by resfields contains zeros (which is correct), and Idat has very large values and some inf (due to division by almost zero in the 1/g factor).

For this transition (levels 1<->3), the derivative of the transition energy with respect to field is zero: d(Ev-Eu)/dB=0. It's an anticrossing. Here is the energy diagram:
clear, clc

Sys.S = 1;
c = 1;
Sys.D = c*135*[1 1/3]*1e3;

levelsplot(Sys,'z',[-1 1]*1e4)

At anticrossings, the approach underlying the simulation of field sweeps in pepper using the 1/g factor (i.e. converting frequency-domain broadenings and line intensities to field-sweep broadenings and line intensities using a linear approximation) breaks down.
Therefore, this cannot be fixed within the current approach.
A workaround is to simulate frequency-swept spectra for a range of magnetic fields around zero and for a range of frequencies around the target microwave frequency, and then take a slice of the 2D spectrum at the given microwave frequency.
clear, clc
Sys.S = 1;
c = 1;
Sys.D = c*135*[1 1/3]*1e3;

Exp.mwRange = [179.9 180.1];
Exp.nPoints = 1001;
Sys.lwpp = 20; % MHz

B = linspace(-1,1,101)*80; % mT
for k = 1:numel(B)
  Exp.Field = B(k);
  [nu,spc(:,k)] = pepper(Sys,Exp);
end

subplot(2,1,1);
pcolor(B,nu,spc);
shading flat
xlabel('magnetic field (mT)');
ylabel('frequency (GHz)');
title('2D spectrum');
c = colorbar();
c.Label.String = 'intensity';
yline(180,'Color','r');

subplot(2,1,2);
idx = nu==180;
plot(B,spc(idx,:));
grid on
xlabel('magnetic field (mT)');
ylabel('intensity');
title('180 GHz field-swept spectrum');


Allow JupyterLab Native to connect to binder

As a default (not locally installation) we could allow JupyterLab Native to connect to binder. Here is an issue on the binder hub repo that is discussing the proposed API for starting a binder instance with a a REST API.
https://github.com/jupyterhub/binderhub/issues/13
@yuvipanda

Would love it if whoever wants to implement this in the app could outline what their ideal API would look like :D

Here is a rough sketch:

We need a REST API end point to hit that 1) starts the binder, and 2)
returns the URL of the running instance with any security token needed to
connect.
We would then hit the REST end point, grab the URL+token and point
JupyterLab at it.
Would be helpful to get the url and token base separately as JSON
If the instances timeout, it would be helpful to have a way to query if
the instance is still running or if we have to restart. or that, it might
be helpful to have the REST end point take the URL from an existing
instance and return the running one or a new one at that URL.

On Wed, Aug 2, 2017 at 4:04 PM, Yuvi Panda<EMAIL_ADDRESS>wrote:

Would love it if whoever wants to implement this in the app could outline
what their ideal API would look like :D
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jupyterlab/jupyterlab_app/issues/90#issuecomment-319822618,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABr0FlfpDLpv2WzyuzHp6DtQ4nNQ5wgks5sUQCMgaJpZM4Orw-9
.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Ready to go!
https://github.com/jupyterhub/binderhub/blob/master/examples/binder-api.py


x/tools/internal/lsp: crash when working with module replacements

Summary
The server seems to crash and VSCode stops trying to use it when the reproduction steps below happen.
It's also worth mentioning that this might be an upstream issue with either go/packages or go modules because without gopls, the same issue still happens minus the crash since there's no LSP.
Info

Go version: 1.12 darwin
Editor: VSCode
gopls version: e65039

reproduce
~ mkdir temp
~ cd temp
~ go mod init temp
~ go get golang.org/x/oauth2
~ go mod edit -replace=golang.org/x/oauth2=github.com/wlhee/oauth2@master
- go get
~ touch main.go

In main.go, paste the following:
package main

import "golang.org/x/oauth2/google"

func main() {
	google.JWTConfigFromJSON(nil)
}

Then, cmd+click on the function JWTConfigFromJSON, which should take you to the replaced file in $GOPATH/pkg.
There, try clicking around or hovering over any symbol and you should see the crash sign as attached below:

+1
For my situation, it's just enough to open any file with go-code in it and the server immediately crashes

CC @stamblerre

I encountered gopls crashes too using with vscode.
The gopls log says:
[Error - 3:00:13 PM] Request textDocument/codeAction failed.
Error: Connection got disposed.
	at Object.dispose (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-jsonrpc/lib/main.js:876:25)
	at Object.dispose (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-languageclient/lib/client.js:57:35)
	at LanguageClient.handleConnectionClosed (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-languageclient/lib/client.js:2036:42)
	at LanguageClient.handleConnectionClosed (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-languageclient/lib/main.js:127:15)
	at closeHandler (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-languageclient/lib/client.js:2023:18)
	at CallbackList.invoke (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-jsonrpc/lib/events.js:62:39)
	at Emitter.fire (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-jsonrpc/lib/events.js:120:36)
	at closeHandler (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-jsonrpc/lib/main.js:226:26)
	at CallbackList.invoke (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-jsonrpc/lib/events.js:62:39)
	at Emitter.fire (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-jsonrpc/lib/events.js:120:36)
	at StreamMessageReader.fireClose (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-jsonrpc/lib/messageReader.js:111:27)
	at Socket.listen.readable.on (/Users/mellon/.vscode/extensions/ms-vscode.go-0.9.3-beta.7/node_modules/vscode-jsonrpc/lib/messageReader.js:151:46)
	at Socket.emit (events.js:187:15)
	at Pipe.Socket._destroy._handle.close [as _onclose] (net.js:596:12)
panic: interface conversion: ast.Expr is *ast.Ident, not *ast.StructType

goroutine 34 [running]:
golang.org/x/tools/internal/lsp/source.typeSymbol(0xc0014dba40, 0x14d0040, 0xc004cbb720, 0xc00009c800, 0xc00762fbc0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/mellon/go/src/golang.org/x/tools/internal/lsp/source/symbols.go:177 +0x696
golang.org/x/tools/internal/lsp/source.DocumentSymbols(0x14c9c80, 0xc0000d6d80, 0x14cc180, 0xc00022c320, 0xc00025c030, 0x2d, 0x14cc180)
	/Users/mellon/go/src/golang.org/x/tools/internal/lsp/source/symbols.go:71 +0xc0b
golang.org/x/tools/internal/lsp.(*Server).DocumentSymbol(0xc0001803f0, 0x14c9c80, 0xc0000d6d80, 0xc0001b4290, 0xc0001b4290, 0x0, 0x0, 0x0, 0x0)
	/Users/mellon/go/src/golang.org/x/tools/internal/lsp/server.go:505 +0x14b
golang.org/x/tools/internal/lsp/protocol.serverHandler.func1(0x14c9c80, 0xc0000d6d80, 0xc000180460, 0xc0000b6cc0)
	/Users/mellon/go/src/golang.org/x/tools/internal/lsp/protocol/server.go:323 +0x4260
golang.org/x/tools/internal/jsonrpc2.(*Conn).Run.func1(0xc0000b4900, 0xc000180460)
	/Users/mellon/go/src/golang.org/x/tools/internal/jsonrpc2/jsonrpc2.go:276 +0xda
created by golang.org/x/tools/internal/jsonrpc2.(*Conn).Run
	/Users/mellon/go/src/golang.org/x/tools/internal/jsonrpc2/jsonrpc2.go:270 +0xba
[Info  - 3:00:14 PM] Connection to server got closed. Server will restart.
[Error - 3:00:14 PM] Request textDocument/documentSymbol failed.

This was fixed by #171861


Generate type-safe code for SQL functions

Problem
We at Canopy have a lot of business logic done Postgres sql functions. Prisma presently does not offer type-safe codegen for sql functions.
Suggested solution
We'd like to see if Prisma can generate type-safe code for arbitrary Postgres sql functions. I see that Massivejs does this to some degree, but it's not Typescript 😆
Alternatives

Additional context

It would be awesome! Hasura is able to do it and exposes them as GraphQL queries : https://hasura.io/docs/latest/graphql/core/databases/postgres/schema/custom-functions.html#example-text-search-functions (from which you can generate a typesafe SDK). But it would be great that prisma supports it so we can use it at a lower level.


assets folder not being copied to build directory

Describe the bug
When only making changes to stuff in the assets folder,
they are not copied over to the build directory when project is built.
To Reproduce
Steps to reproduce the behavior:

Build project
Change something in assets folder
Build project again
assets in build directory not updated

Expected behavior
assets in build directory updated
Desktop:

OS: Windows 10
Compiler: GCC 11.2

Fixed in https://github.com/Physicc/Light/commit/a43016c3cc579d9b65daee311f9e975df7a800a0.

The assets did not get copied when I did a fresh build, did not get updated when building after manually adding assets folder.

@wermos https://github.com/Physicc/Light/commit/bf07bd7a1813ff81d79698d5934749f817f357b0 does not correctly fix the issue as the executable directory can only be referenced using the generator expression $<TARGET_FILE_DIR:Editor>
${CMAKE_CURRENT_BINARY_DIR} may not hold the executable in case when generator is MSVC


 In order to avoid this any Address type variable must be initialized in the init() section.
Proposal
newAddress() should be const eval. This would allow more consistent code, i.e all data types (int, bool, Address) can be initiated in the declaration section of the contract.

It can't always be calculated in compile-time, because you could provide variable parameters there.
But calculating constant addresses is a nice optimization.

Actually, there's compile-time function address() for creating addresses from strings already

Actually, there's compile-time function address() for creating constant addresses from strings already

@Gusarich But it's untested and undocumented!

Let me re-open this issue for the time being, because myAddress: Address = newAddress(0, 0) indeed looks like something we could allow at first sight

Do you mean we should introduce another function, like nullAddress() or something, which will be equivalent to writing newAddress(0, 0) and would be compile-time one?

If we can compute newAddress(a, b), where a and b are constants at runtime, then we don't need to introduce nullAddress

Do you mean that we should introduce another function, like nullAddress() or something, which will be equivalent to writing newAddress(0, 0) and would be a compile-time one?

It'd be better to have nullAddress() (or maybe better noneAddress()) return addr_none$00


[]byte

hello you, how to marshal []byte to hex.dump

This is not a general forum for asking programming questions. It is only for issues specifically regarding this package.


Passing fun() to ra:*_query() may break when executed on a remote node

Passing an anonymous function reference for execution on a remote node may break if the remote node has another version of Erlang or the module hosting the anonymous function.
It would be better to call an exported function.
Reporter by: @ansd

I'm wondering if the use of an anonymous fun() should be denied with leader and consistent queries (i.e. only allowed for local queries). Otherwise, it might lead to rare issues that are difficult to debug.

ra:local_query(ServerId, ...) means locally on the given ServerId, which may be a remote node. In that case, anonymous funs should still not be used.

Otherwise, it might lead to rare issues that are difficult to debug.

What are the rare issues that are difficult to debug when always using the MFA query version?

ra:local_query(ServerId, ...) means locally on the given ServerId, which may be a remote node.

Khepri uses local queries with the local node only:
LocalServerId = {StoreId, node()},
Ret = ra:local_query(LocalServerId, QueryFun, Timeout),

What are the rare issues that are difficult to debug when always using the {M,F,A} query_fun() format?

Sorry I was unclear.
I prepared a patch so that Khepri always use MFA. We should be fine on this front. However, APIs such as khepri:fold/5 may continue to receive fun() as argument. Thus I’m wondering if Khepri should accept fun() when doing a local fold only, and reject otherwise.

Yes, I think that's a good idea.

After putting more thoughts into this, I believe the problem is larger. In fact, there are two problems.

The validity of a function reference on a remote node
The possible difference of code between the local copy and the remote one

We could add one somewhat related issue: Ra machine versions compatibility.
The validity of a function reference on a remote node
This the one we attempt to fix here. Indeed, depending on the version of Erlang/OTP or the remote module hosting the function, the reference could be invalid and the Ra machine could crash trying to run it. This can be solved by always using exported functions and MFA as proposed in the current patch.
But this brings us to the second problem…
The possible difference of code between the local copy and the remote one
If Khepri or the application using it are updated on one of the Erlang nodes, the code of the query the caller thinks will be executed might be different or even incompatible with the code actually executed on the remote node. This could mean an unexpected result or a crash.
Ra machine versions compatibility
Speaking of upgrades, we have the same king of problem if Khepri’s Ra machine’s state changes. If the query code doesn’t know about the new or old state, again, it can give bad results or crash.
That’s why I’m pausing work on this patch and started to discuss solutions with @kjnilsson.

This is fixed by #260.


feat: flattened [force-release]

:tada: This PR is included in version 0.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Refactor core > graph.h

Description:
The Graph class currently resides in a broader header and is mixed with other functionalities. We aim to refactor this into its own header, graph.h, to isolate its codebase and facilitate easier management and scalability. This move will help in maintaining a clean architecture and improve the separation of concerns within our codebase.
Tasks:

Extract the Graph class definition and relevant components from the current file.
Create a new graph.h header to house the Graph class exclusively.
Ensure all dependencies and references to the Graph class are updated to point to the new graph.h.
Perform thorough testing to confirm that the refactoring has not affected the existing functionality.
Update the documentation to reflect the new structure and file changes.

Expected Outcomes:

The Graph class functions and interfaces are encapsulated within graph.h.
Cleaner code structure with better modular separation.
Easier to maintain and scale the Graph class independently from other components.

Note:
Careful consideration should be given to dependencies and integrations that may be impacted by this change to ensure a smooth transition.

This issue has been successfully resolved. We have collected and structured a comprehensive set of dummy data that covers a wide range of environmental conditions and scenarios relevant to our sensor testing needs. The new dataset includes edge cases and extreme values, ensuring robustness in sensor performance across diverse conditions.
Key Achievements:
Uniform data formats have been established and implemented across all dummy datasets.
Each data point is now accompanied by accurate timestamps and relevant metadata, enhancing the realism and utility of the dummy data in simulating real-world sensor outputs.

Graph.h is independent

Testing is pending


Custom policy evaluator to enforce multiple authentication schemes

Is your feature request related to a problem? Please describe.
I have recently had a situation where I had set up multiple Authorization Policies, and they were being applied to Controllers using a Convention.  Some policies had multiple Authentication Schemes added.  While the default behaviour is that these schemes are OR-ed together (ie. only one is needed to "pass"), the behaviour I was after was that they be AND-ed (ie. all are needed to "pass").  This is the same situation as decribed in these previously raised issues: #6733, #5154
After digging into the code, I found that this OR logic is contained within the PolicyEvaluator.  The AuthorizeFilter gets an instance of the IPolicyEvaluator by service locating it within OnAuthorizationAsync.
Basically, For some policies, I wanted to use my own IPolicyEvaluator.
Once my custom evaluator was created, the options for using it that I could think of were:

Register it with the DI container.  As all AuthorizeFilters would use the same evaluator, I'd have to make it handle ALL the various different ways I wanted my various Policies to work.
Create my own AuthorizeFilters and override which evaluator they use (which would then allow me to have multiple simpler IPolicyEvaluators).  However AuthorizeFilter is currently not friendly to override just the evaluator it uses, and would require copy/pasting a large amount of its logic that I didn't want to change.

I wasn't keen on either of these approaches. :)
Describe the solution you'd like
Below are the possible enhancements that I thought might be useful to others trying to do what I was trying to do (ordered by simplest first).
Option 1:
Move location of IPolicyEvaluator resolution in AuthorizeFilter to a protected virtual method so that it can be more easily overridden.
Option 2:
Option 1 +
Add a new constructor to AuthorizeFilter that accepts an IPolicyEvaluator. The explicit IPolicyEvaluator would override using the service location.
Option 3:
Option 2 +
Add a new function to AuthorizationPolicyBuilder to allow an IPolicyEvaluator to be set. The AuthorizationPolicy would expose the IPolicyEvaluator as a readonly property. The resolution of IPolicyEvaluator in AuthorizeFilter would then be:

Use the explicitly defined one from the constructor (if set)
Use the policy's one (if set)
Use service location to get the default one

Would any/all of these options be viable for inclusion in AspNetCore?  (Option 3 is mostly a nice-to-have, but I think it makes sense to me that when I define a policy, I can also define how that policy should be evaluated)
Additional context
In my situation, in the end I decided that the solutions I could think of were not ideal.  So I updated the policies to require a unique claim from each relevant scheme (luckily I was able to be in control of the contained claims).  I then just had to deal with the error being a 403 rather than a 401.

@HaoK thoughts please

Authorization and Authentication are two different things, authentication is what determines what user is passed into the authorization apis.  If you want to enforce logic where multiple authentication schemes exist, you can do that explicitly as well, but you would need to represent them like requirements and have an authorization handler enforce that, the build in authentication schemes logic is doing what it's expected to do which is authenticate against each scheme and merge them into a single claims principal.
You can write custom RequireSchemeRequirement and have policies which require whatever schemes you desire, and have a RequireSchemeHandler that calls AuthenticateAsync with the required scheme for that policy and have it fail if authentication fails.

Thanks for your thoughts @HaoK.  I think I see what you're saying, and looking again I certainly could enforce that multiple schemes had been authenticated using a custom Requirement.
However, due to the logic within PolicyEvaluator and AuthorizeFilter, using a Requirement will seemingly always result in a ForbidResult (403) when it is not satisfied.  I was wanting to issue a ChallengeResult (401).
The reason for wanting it this way is because I consider it to be an Authentication failure, not an Authorization failure, when a required scheme is missing (as we don't fully know who the client is).  Effectively, it's fine for the client to try again if they include the appropriate authentication details.  As I understand it a 403 is more like a "I know who you are but go away unless you get an admin to give you more permissions").
I thought that the most appropriate way to get this to happen would be to have my own custom PolicyEvaluator inheriting from the default PolicyEvaluator, overriding the AuthenticateAsync method to return AuthenticateResult.NoResult when any schemes were missing.  This would then cause the default AuthorizeFilter to return a ChallengeResult.  So it then just became a matter of getting the system to use my custom PolicyEvaluator for the appropriate policies.
Please let me know if anything above doesn't make sense or needs more explanation.

Sure you can do something like that in the authentication layer by writing a custom virtual/composite scheme by deriving from AuthenticationHandler and implementing authenticate to only return a principal composed of the required other schemes.  That should result in a challenge result when this schemes fails to authenticate (whenever the other underlying schemes are not found)

I hadn't thought to create nested Schemes like that - it sounds like an idea that should work well.  I'll give it a try when I next get a chance. Thanks very much @HaoK!
As it should give me the result that I'm after, and should also be relatively straight-forward for developers coming after me to understand, I'll close this issue.


Add support in route checker tool for runtimes in routes

Signed-off-by: Jyoti Mahapatra<EMAIL_ADDRESS>Description: Support testing routes with runtimes
Risk Level: Low
Testing: Added test cases for the route checker tool
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

@mattklein123 I will update the docs if the general approach looks right.

https://github.com/envoyproxy/envoy/issues/7264
https://github.com/envoyproxy/envoy/issues/730

@mattklein123 I added some more explanation in the comments.


TorchToStablehlo lit test failure with scatter.mlir

What happened?
Hi stablehlo, we need some help on the torch-mlir side of things with a lit test error we hit when bumping stablehlo that hits an unexpected error: Expects non-empty reduction block for type inference
PR: https://github.com/llvm/torch-mlir/pull/2821
Failing CI: https://github.com/llvm/torch-mlir/actions/runs/7687361450/job/20947291128?pr=2821
Here's the error:
bazel run @torch-mlir//test/Conversion:TorchToStablehlo/scatter.mlir.test

...external/torch-mlir/test/Conversion/TorchToStablehlo/scatter.mlir
within split at <stdin>:1 offset :33:8: error: unexpected error: Expects non-empty reduction block for type inference
  %0 = torch.aten.scatter.src %arg0, %int0, %arg1, %arg2 : !torch.vtensor<[?,?],si64>, !torch.int, !torch.vtensor<[?,?],si64>, !torch.vtensor<[?,?],si64> -> !torch.vtensor<[?,?],si64>
       ^
LLVM ERROR: Failed to infer result type(s).

Seems like this check was added in https://github.com/openxla/stablehlo/pull/1918 but I lack the historic context to know what needs fixing.
Steps to reproduce your issue

Clone https://github.com/sjain-stanford/torch-mlir and checkout sambhav/bazel_fix branch
Fetch git submodules: git submodule update --init --progress
Launch docker: ./utils/bazel/docker/run_docker.sh
Test: bazel run @torch-mlir//test/Conversion:TorchToStablehlo/scatter.mlir.test

Version information
No response

Hi @sjain-stanford
Thanks for posting the issue!
https://github.com/openxla/stablehlo/pull/1869 allows the block arguments of reduce op to have different element types than that of the input arguments of reduce op and the output type of the reduce op has to equal to those block arguments.  As a consequence the output type of reduce op can no longer be inferred from the operand types: The type inference needs to somehow have the information regarding the block-arguments's element type. The check that was added at #1918 is a guard against inferring reduce op type with empty blocks, which is what is happening at https://sourcegraph.com/github.com/llvm/torch-mlir/-/blob/lib/Conversion/TorchToStablehlo/GatherScatter.cpp?L336.
We encountered a similar problem with creating mhlo reduce op with empty reduction block and the solution we proposed was to create a custom builder here and here.
In StableHLO we do not have such builder as we do not see a use-case for that until now with the issue you posted. IMO the solution will be along the similar lines and I will be working on that.
I will keep you posted on updates.

Thanks @sdasgup3 for looking into this. PLMK if/when you have a patch-set you'd like me to test on the torch-mlir side of things, happy to help.

@sdasgup3 Thanks for the quick fix. Confirming the test passes locally with your patches 👍🏻 (cherry-picked the stablehlo changes from your fork but will re-apply once it lands on main)

@sjain-stanford Please let us know if the merged https://github.com/openxla/stablehlo/pull/1965 worked at your end.

@sdasgup3 any idea how this piece of code needs to be refactored?
  DenseIntElementsAttr bcast_attr = DenseIntElementsAttr::get(
      RankedTensorType::get({static_cast<long int>(bcastDims.size())},
                            rewriter.getI64Type()),
      bcastDims);
  auto bcast_op = rewriter.create<stablehlo::BroadcastInDimOp>(
      op->getLoc(), outType, input, bcast_attr);

After bumping to stablehlo@HEAD, I hit some new build errors like so:
external/llvm-project/mlir/include/mlir/IR/Builders.h:508:11: error: no matching member function for call to 'build'
    OpTy::build(*this, state, std::forward<Args>(args)...);
    ~~~~~~^~~~~
external/torch-mlir/lib/Conversion/TorchToStablehlo/StablehloLegalizeUtils.cpp:248:28: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::stablehlo::BroadcastInDimOp, mlir::TensorType &, mlir::Value &, mlir::DenseIntElementsAttr &>' requested here
  auto bcast_op = rewriter.create<stablehlo::BroadcastInDimOp>(
                           ^
bazel-out/k8-fastbuild/bin/external/stablehlo/stablehlo/dialect/StablehloOps.h.inc:2438:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::DenseI64ArrayAttr' (aka 'DenseArrayAttrImpl<long>') for 5th argument
  static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type resultType0, ::mlir::Value operand, ::mlir::DenseI64ArrayAttr broadcast_dimensions);
              ^
bazel-out/k8-fastbuild/bin/external/stablehlo/stablehlo/dialect/StablehloOps.h.inc:2440:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::llvm::ArrayRef<int64_t>' (aka 'ArrayRef<long>') for 5th argument
  static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type resultType0, ::mlir::Value operand, ::llvm::ArrayRef<int64_t> broadcast_dimensions);
              ^
bazel-out/k8-fastbuild/bin/external/stablehlo/stablehlo/dialect/StablehloOps.h.inc:2439:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::DenseI64ArrayAttr' (aka 'DenseArrayAttrImpl<long>') for 5th argument
  static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand, ::mlir::DenseI64ArrayAttr broadcast_dimensions);
              ^

Can you try this?
 auto bcast_op = rewriter.create<stablehlo::BroadcastInDimOp>(
      op->getLoc(), outType, input,
      rewriter.getI64TensorAttr(bcastDims));

cc @mlevesquedion

rewriter.getDenseI64ArrayAttr(bcastDims) seems to fix it, and realized the error message was pretty specific/helpful. A lot more conversions needed an update, I think this is all of it: https://github.com/llvm/torch-mlir/pull/2821/commits/a0ad9a83254bad7371b3164c93ce2ae17f1791f7, please take a look to verify it looks good. The build works, I have one lit test that needs an update.

The CMake build now fails with setup_sanitizers. Probably related to https://github.com/openxla/stablehlo/pull/1959 (cc: @fzakaria , @mlevesquedion ). I see the default for STABLEHLO_ENABLE_SANITIZER being OFF, but this code probably needs to be enclosed in an if-endif:
include(SetupSanitizers)
setup_sanitizers()

Error:
  -- Building StableHLO as an external LLVM project
  -- Building with -fPIC
  CMake Error at /_work/torch-mlir/torch-mlir/externals/stablehlo/CMakeLists.txt:147 (include):
    include could not find requested file:

      SetupSanitizers

  CMake Error at /_work/torch-mlir/torch-mlir/externals/stablehlo/CMakeLists.txt:148 (setup_sanitizers):
    Unknown CMake command "setup_sanitizers".

  -- Configuring incomplete, errors occurred!

I'll take a look.

This fixes it: https://github.com/openxla/stablehlo/pull/1972


System.DirectoryServices is not supported on Ubuntu 14.04

Issue Title
System.DirectoryServices is not supported on Ubuntu 14.04
General
I use the .net core 2.0 to get domain user group information and it works well in IIS.  I installed theSystem.DirectoryServices 4.5.0-preview2-26202-05 via Nuget in the project. But when i use the same code deploy on ubuntu 14.04, it throws exception "System.DirectoryServices is not supported on this platform." Is that possible to work well in Ubuntu ? if not  any third part LDAP library provide and can work well in Ubuntu? The purpose is to get the domain user information and the hosted Ubuntu server is joined the company domain network.
asp.net core code see below
UserController.cs
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.DirectoryServices;
using System.Net.Http;
using System.Security.Principal;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
namespace IsupportESOApi
{
[Route("api/[controller]")]
public class UserController : Controller
{
IList groups = new List();
// GET: api/user/steven.rui.zhang
[HttpGet("{eid}")]
public IActionResult Get(string eid)
{
try
{
DirectorySearcher ds = new DirectorySearcher();
ds.Filter = String.Format("(&(objectClass=user)(sAMAccountName={0}))", eid);
SearchResult sr = ds.FindOne();
            DirectoryEntry user = sr.GetDirectoryEntry();
            user.RefreshCache(new string[] { "tokenGroups" });

            for (int i = 0; i < user.Properties["tokenGroups"].Count; i++)
            {
                SecurityIdentifier sid = new SecurityIdentifier((byte[])user.Properties["tokenGroups"][i], 0);
                try
                {
                    NTAccount nt = (NTAccount)sid.Translate(typeof(NTAccount));
                    //result.Add(nt.Value.ToLower());
                    groups.Add(nt.Value);
                }
                catch (Exception ex)
                {
                    continue;
                }
            }
        }
        catch (Exception ex)
        {
            return new ObjectResult(ex.Message);
        }

        return new ObjectResult(groups);
    }

}

}

Issue moved to dotnet/corefx #27308 via ZenHub


Logstash: Preserve Host IP

Hey,
I'm collecting some inputs via http plugin. I'd like to seperate data by the hosts IP address.
Due to the fact the docker-elk service is creating his network named dockerelk_elk using the bridge driver, any connection is routed through the gateways of dockerelk_elk if it's not coming from within this network.
When previewing the collected logs within Kibana, the host field always contains the gateways IP address because the requests came from the outside of dockerelk_elk.

Does anyone has an idea how to preserve the IP address the request is coming from?
I found this issue from the docker repo https://github.com/docker/libnetwork/issues/1994 suggesting to use the host network driver. So I started elasticsearch and kibana via the docker-compose service. Afterwards I started logstash via
docker run -it --net=host -v ./logstash/pipeline/:/usr/share/logstash/pipeline/ -v ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml docker.elastic.co/logstash/logstash:6.1.3

In fact, from host network this docker container running logstash cannot connect to another network like dockerelk_elk. I ran docker network connect dockerelk_elk [LOGSTASH_CONTAINER_ID] just to get an error
Error response from daemon: container sharing network namespace with another container or host cannot be connected to any other network

So it seems to me I have to run all three containers on the same network to get this up and running.
Or does anybody else have a suggestion?
Best,
huppys

Same problem here. Seems to be related with this: https://github.com/moby/moby/issues/15086.

One suggestion I have is to deploy your service that requires the source IP using docker-compose rather than docker stack deploy.  You'd lose the replica and load balancing but you'd get the source IP.

@Huppys are the log senders running on the same machine as the Logstash container? The source IP is usually preserved for traffic coming on your external network interface, but it's not for traffic coming on the loopback.
In short, try this and compare:
# on the ELK machine
$ curl http://<IP_ADDRESS>:<LOGSTASH_HTTP_PORT>

# on some external machine
$ curl http://<LOGSTASH_HOST_IP>:<LOGSTASH_HTTP_PORT>

One suggestion I have is to deploy your service that requires the source IP using docker-compose rather than docker stack deploy. You'd lose the replica and load balancing but you'd get the source IP.

Hi @trajano - Do you have any more information on how this could be done? I am seeing the same issue running my stack with docker-compose using bridge mode networking.

Looks that is root of issue
https://github.com/docker/libnetwork/issues/2423

I just used the latest build. Trying to get UPD (Netflow) traffic on Port 9995 but host ip is shown as <IP_ADDRESS> so how do I fix this?
Everything else is working.

Add this to docker-compose.yml:
  conntrack:
    image: claesjonsson/conntrack
    depends_on:
      - logstash
    network_mode: host
    privileged: true
    command: -D --proto udp

A bit dangerous to include in the default stack, but very useful for users running into this, thanks for sharing!


No http -> https redirect for http://reproxy.io website.

As per title.

I don't see it, redirects just fine for me
http http://reproxy.io
HTTP/1.1 307 Temporary Redirect
Content-Length: 59
Content-Type: text/html; charset=utf-8
Date: Wed, 14 Apr 2021 04:34:17 GMT
Location: https://reproxy.io:443/

Temporary Redirect.

Correct, something is wrong with my network.


add docker compose

Add docker compose yml

Thank you very much for the docker intergation, that really helped setting it up. I had some problems with relative paths for the docker volumes, but with absolute paths it works very well. However I noticed that there is a typo in the default path for the volumes. It says quara instead of qara, which is a bit misleading :smiley:. Also, I think it would help others get started if you mention that you still have to create the data (volume) folder.


Verb dictionary reader

@ahalterman found a bug when reading in verb dictionaries.
Verb dictionary: /Users/caerusdata/OEDA/Dictionaries/CAMEO.verbpatterns.txt
Traceback (most recent call last):
  File "//anaconda/bin/petrarch", line 9, in <module>
    load_entry_point('petrarch==0.01a', 'console_scripts', 'petrarch')()
  File "/Users/caerusdata/OEDA/devstuff/petrarch/petrarch/petrarch.py", line 2804, in main
    read_dictionaries()
  File "/Users/caerusdata/OEDA/devstuff/petrarch/petrarch/petrarch.py", line 2830, in read_dictionaries
    PETRreader.read_verb_dictionary(verb_path)
  File "/Users/caerusdata/OEDA/devstuff/petrarch/petrarch/PETRreader.py", line 1046, in read_verb_dictionary
    curcode = primarycode
UnboundLocalError: local variable 'primarycode' referenced before assignment

Hasn't presented since August. Closing for now.


RJSF custom widget testing

We will need to catch up on unit tests for all the custom RJSF widgets we have created.

[ ] ComboBox
[ ] EmailWidget
[ ] FileWidget
[ ] RadioWidget
[ ] SelectWidget
[ ] TextWidget
[ ] URLWidget

@marcellmueller , is this a duplicate of the one you're already working on?

Yes it looks like it is, closing!


Include minimum size for upload, reorder aoi limit checks

This PR:

Ensures that uploaded geojson meets minimum inference size.
Reverses AOI limit check to permit batch inference on uploaded AOI

@vgeorge do you think these guards should also be above the uploaded area checks? Currently they follow the area checks:
else if (geojson.features.length > 1) {
        setWarning(`GeoJSON file must contain a single feature.`);
        return;
      } else if (!geojsonValidation.isPolygon(aoiGeometry)) {
        setWarning(
          `GeoJSON file must contain a feature of type 'Polygon' (MultiPolygon and other types are not supported).`
        );
        return;

@LanesGood I believe it is ok to leave where it is for the moment, it will surface at some point. I think the best solution would be to list all the observable errors to the user to avoid back and forth, but this looks like an enhancement. Can you please check if my changes work? Here are the files I used:
geojson-samples.zip

@vgeorge thanks for the changes and the well-labeled sample files. Everything is working well! I'm going to merge.


Add configuration option to allow all imports

With every update, I remove a few lines that check whether the import I do is allowed.
Something like
￼```yaml
pyscript:
allow_all_imports: true

Yes, that's a great idea.  It's mentioned in the wiki roadmap.

Thanks for the PR - merged.