Issue with server regarding newest version 511168

Just bought the game and wanted to get up and running with your docker image. Sadly just now there seems to be an issue which is already heavily discussed on the enshrouded official discord.
I cant seem to add the server to my favorites ingame.. When trying to connect to the server over the Steam Favorite Game Servers i get this error: (notice that the port changed to 111)

All:
⚠ We are seeing issues with Dedicated Servers that do not appear as in-game Favorites ⚠

Be sure to first update your server to the newest version 511168
You can check the status of your Server from the internet by using our Query tool: https://esquery.suhosting.net/

Symptoms:
After updating, your Dedicated Server will show up in the Steam Server list
In the Server properties, the port returns as :111 or another incorrect port number. The Server Name may also be displayed incorrectly.
Inside Enshrouded, the Server does not appear in the in-game list
Users cannot find or connect to their Server

Some users have found the issue remediated by restarting the server,  or even reinstalling the server, but most have had it "randomly" come back to the list.

Teams are engaged, attempting to identify root cause. At this time there is not reliable fix/workaround

This issue was fixed by a hotfix :)
https://store.steampowered.com/news/app/1203620/view/4167591962332098847


Handle structure with positional trait whose first member is not required.

If I have a structure like this:
operation GetIntegerOutputPosition {
  input: GetIntegerOutputPositionInput
  output: GetIntegerOutputPositionOutput,
}

structure GetIntegerOutputPositionInput {
  value: Integer
}

@positional
structure GetIntegerOutputPositionOutput {
  value: Integer
}

From this model, the Dafny code will be polymorph'ed as
method GetIntegerOutputPosition ( input: GetIntegerOutputPositionInput )
      returns (output: Result<int32, Error>)

Which is wrong because based on the model the return type should be Option.
To resolve this issue, there are two solutions:

The polymorph should fail with a validation error.
This should be generated as Option but not int32

From Slack chat:
Rishav Karanjit:
I like to believe positional trait should always have a required trait on its first member and polymorph MUST fail with a validation error and we should add validation check in positional trait class.
Robin Salkeld:
It does sound like a bug, but there's more than one way to address it:
As you suggest, validate that the singleton member of a structure with @positional on it must have @required
Allow optional values, but in that case generate Option instead of int32
I lean towards 2 as I don't think there's a strong reason to not support that use case, and that keeps the features nicely orthogonal.
Actually, 1 would be quicker and safer to implement as a stopgap IF we aren't already using the 2 case somewhere in production libraries.
Ryan Emery:
I would go with 1. Because we can change it. More and more I view @positional as a way to model things to look nicer in the target language .e.g. they are to more closely match an existing interface, not how you would use Smithy for a new API
As such, more constraints seem fine here. If we ever come back and remove this constraint, then I would also remove the 1 value, and really let it model an existing API. But that can be much later things :slightly_smiling_face:
Lucas McDonald:
If we go with 1, I'd suggest noting that we should update this comment)
Robin Salkeld:
For the record I don’t think it’s (edit: UN)reasonable to use in new APIs too - avoiding the extra response wrapper object with the tradeoff of not being able to add new members later is very reasonable. There’s precedent in core Smithy too - if you have no output structure or explicitly use Unit, you can’t add a return value later.  (edited)
That’s a very heavily loaded comment :) Makes me think we do have optional positional members out there. Do you know the history?
Lucas McDonald
No clue, I just happened to notice it

From Slack chat:
Rishav Karanjit:
I like to believe positional trait should always have a required trait on its first member and polymorph MUST fail with a validation error and we should add validation check in positional trait class.
Robin Salkeld:
It does sound like a bug, but there's more than one way to address it:
As you suggest, validate that the singleton member of a structure with @positional on it must have @required
Allow optional values, but in that case generate Option instead of int32
I lean towards 2 as I don't think there's a strong reason to not support that use case, and that keeps the features nicely orthogonal.
Actually, 1 would be quicker and safer to implement as a stopgap IF we aren't already using the 2 case somewhere in production libraries.
Ryan Emery:
I would go with 1. Because we can change it. More and more I view @positional as a way to model things to look nicer in the target language .e.g. they are to more closely match an existing interface, not how you would use Smithy for a new API
As such, more constraints seem fine here. If we ever come back and remove this constraint, then I would also remove the 1 value, and really let it model an existing API. But that can be much later things 🙂
Lucas McDonald:
If we go with 1, I'd suggest noting that we should update this comment)
Robin Salkeld:
For the record I don’t think it’s (edit: UN)reasonable to use in new APIs too - avoiding the extra response wrapper object with the tradeoff of not being able to add new members later is very reasonable. There’s precedent in core Smithy too - if you have no output structure or explicitly use Unit, you can’t add a return value later. (edited)
That’s a very heavily loaded comment :) Makes me think we do have optional positional members out there. Do you know the history?
Lucas McDonald
No clue, I just happened to notice it


fix(ROX-22753): quit version-compatibility tests when there are missing images

Description
Each version test in the version-compatibility tests are set to always_run in order to get complete coverage. However the first test is the only one that checks for images and while that will fail pre_test after the 1 hour poll the other version checks are still executed despite missing images with expected failures. (Follow ROX-22753 for related CI_Failure JIRAs).
This PR adds an initial_pre_test that will skip the tests if it fails. This is then used for all tests where multiple sets are run.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added

Testing Performed
Here I tell how I validated my change
CI is sufficient and:

[ ] break the build

[ ] gke-version-compat fails due to missing images
[ ] others fail due missing images

Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/test

/test

/test gke-version-compatibility-test

/test gke-version-compatibility-tests

/test gke-version-compatibility-test

/test gke-version-compatibility-test

/test gke-version-compatibility-tests

/test gke-version-compatibility-tests

/test gke-version-compatibility-tests

/test gke-version-compatibility-tests


LS3MIP experiment_id corrections

for experiment amip-lfmip-rmLC, Charlotte thinks that the correct tier is :  tier 1 for 1 member of the ensemble and tier 2 for. the remaining members.  Check with MIP leader to see if this is correct.  (currently CV has tier 2, not tier 1).

From: Karl Taylor
Date: Thursday, June 28, 2018 at 8:11 AM
To: Bart.van.den.Hurk, sonia.seneviratne, gerhard.krinner, Chris.Derkse, taikan@tokyo, hjkim@tokyo
Cc: WIP List
Subject: clarification of LS3MIP experiments needed

Hi LS3MIP Leaders,

I have recently learned from Martin Juckes (and confirmed by consulting your GMD paper) that your land-future experiment calls for land-only models to be forced in land-future experiments by two different scenarios (with 3 simulations each).  I'm not sure if the the 3 simulations are just different realizations from a single coupled model, or a single realization from each of 3 different coupled models.  In either case how will users analyzing the output know what scenario is responsible for each member of the ensemble of land-future simulations?

One way to at least distinguish between future scenario runs (you indicate they will probably be ssp5-8.5 and ssp4-3.7, but I think you mean ssp5-8.5 and ssp4-3.4) would be to define two experiments: land-ssp585 and land-ssp434 (replacing the single land-future experiment name).  Please let us know if you have an alternate suggestion on how to do this.

If you indeed have multiple (3?) model outputs forcing your different ensemble members you could assign each model a separate "forcing index", and you would have to advertise to the participating modeling groups which index goes with with model forcing dataset, so that output would all be labeled in the same way.  (See
https://goo.gl/v1drZl
for the definition of forcing_index.)

If there are other experiments where multiple models are used to forced a land-only model, you would have to do something similar.

Please let us know what you plan to do.

thanks and best regards,
Karl

@taylor13

@taylor13 @momipsl @eguil @charliepascoe @bnlawrence @matthew-mizielinski @martinjuckes
In response to the following input from Bart van den Hurt:
Your suggestions to trim down the nr of experiments for the land-only future runs
to 2 makes perfect sense to us. The 3 members for each of these experiments can
reflect various aspects of the process of generating the forcings for these future
runs (different ESMs, ensemble members from ESMs, different reference forcing,
different postprocessing steps) which is much better to document under the
meta-information of a forcing index, as you suggest, than to label them as a separate
experiment.

it appears that it will be best in https://github.com/WCRP-CMIP/CMIP6_CVs/blob/master/CMIP6_experiment_id.json (also nicely rendered in https://rawgit.com/WCRP-CMIP/CMIP6_CVs/master/src/CMIP6_experiment_id.html ), to replace: the land-future experiment with two experiments (each with 3 ensemble members): land-ssp585 and land-ssp434 .  The "experiment" and "description" for these should be:
experiment_id                      experiment                                 description
--------------                     --------------                            --------------
land-ssp585                     ssp5-8.5 land only               land only simulation for ssp5-8.5
land-ssp434                     ssp4-3.4 land only               land only simulation for ssp4-3.4

ES-docs should contact the LS3MIP folks to determine how they are going to distinguish between the different ESMs used to force the land-surface component.  I suggest that they assign a different forcing_index to each ESM that might be used.  The realization index for the land-forcing run should be the same as the realization index from the ESM realization used to force the land model.  Someone needs to make this convention clear to the participating modeling groups, and the modeling groups should take care to identify the ESM used to force their land-only simulation with the correct forcing_index (defined by LS3MIP leaders).

I think we should send an email to ES-DOCs and Martin Juckes letting them know of this update.

Reopening as further changes have been requested by Hyungjun Kim, who will add further details

Considering additional conditions, including accordance with another land-related MIP such as LUMIP, we decided to have two tier 1 experiments, land-ssp126 and land-ssp585, of future land-only simulations and to place land-ssp434 on tier 2.

@hyungjun thanks for conforming and dropping this change into an issue.
To clarify, you want to leave land-ssp434 as tier 2, promote land-ssp585 to tier 1, and add a new experiment land-ssp126 also on tier 1 and following the same details as those found in land-ssp585 and listed in CMIP6_experiment_id.html and reproduced below. Can you please confirm?

experiment_id
activity id
experiment
tier
sub experiment id
parent experiment id
required model components
additional allowed model components
start year
end year
min number yrs per sim
parent activity id
description

land-ssp434
LS3MIP
future ssp4-3.4 land only
2
none
no parent
LAND
BGC
2015
2100
86
no parent
land only simulation for ssp4-3.4

land-ssp585
LS3MIP
future ssp5-8.5 land only
2
none
no parent
LAND
BGC
2015
2100
86
no parent
land only simulation for ssp5-8.5

True. They are two tier 1: land-ssp126 & land-ssp585 and one tier 2: land-ssp434.
However, it seems the table and the link above have not been updated yet.

@hyungjun the process we go through here is to ascertain exactly what is required, and as the data request and ES-DOC folks are also watching these discussions, we wait a couple of days to provide folks time to comment if it will cause problems, and then if there are no problems, then we make the proposed changes. These changes should then propagate from this repo across to everywhere else where they need to also be updated.
So wait until late this, early next week for the changes to be implemented.
@momipsl @charliepascoe @martinjuckes @taylor13

I see. Thank you for kind explanation. Actually, I thought so but just for double check. ;-)

@durack1 , @taylor13 : FYI, the experiment_id changes are done in the citation database: 1 renamed experiment_id, 1 added experiment_id.

I think we can go ahead and make these additional changes (having already split land-future into 2 experments):  We should now promote one of these two,  land-ssp585, to tier 1 and also add a third expt. of this kind, land-ssp126, as a tier 1 experiment.
@martinjuckes : This will require some changes to the data request, but I think if they are difficult you should simply delay making them to release 28.  Will that be o.k.?  Please let us know right away if there is a problem.  Thanks.
Karl

@hyungjun those changes are now in place, please review the experiments at CMIP6_experiment_id.html and let us know if any further tweaks are required

@MartinaSt thanks for the heads up, I didn't realize that you were also requiring edits on the citation end


[FEAT] Added rescan-faces feature

Frontend changes to complement LibrePhotos/librephotos#295 pull request

Looks good to me 👍


Can we pass the output of the query/ JS/ template to an existing visual

Can we pass the output of the query/ JS/ template to an existing visual. Since we don't want to recreate all the existing visuals embedded as html/JS in Template section.
P.S
Thank you so much for the widget/ help you are providing.

Not currently possible, but I believe that this type of thing will be in Kibana's future somehow.
In the meantime, check out vega-vis

Thank you so much Phaedrus. We are in Kibana 5.4 and looks like vega is not compatible. So we did a upgrade to 5.5 and time widget went off :). We are exploring the tool and looks like this could save us at this point of time. Thanks again.

Hello @PhaedrusTheGreek, I got an update from @nyurik that as of now its not possible but he is working on it and would be available shortly. Thanks for all the support.


Add support for zhongxing (knock-off orvibo) motion sensor

Hello
This quirk adds support for Zhongxing (中性, transliteration: Unisex) Motion Sensor which closely resembles the Orvibo SN10ZW.
They are sometimes found on Taobao for about $3 a piece.
I've bought 8 of them thinking they are similar to the Orvibo SN10ZW, but realised they didn't work after receiving them. Hence I am opening this PR to add support for them.
Zigbee info:
IEEE: 00:12:4b:00:0c:c5:b2:ee Nwk: 0xa2ef Device Type: EndDevice LQI: 128 RSSI: Unknown Last Seen: 2021-01-04T19:59:57 Power Source: Battery or Unknown Quirk: zhaquirks.zhongxing.motion.SN10ZW
Device signature:
{   "node_descriptor": "NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=0, maximum_buffer_size=80, maximum_incoming_transfer_size=160, server_mask=0, maximum_outgoing_transfer_size=160, descriptor_capability_field=0)",   "endpoints": {     "1": {       "profile_id": 260,       "device_type": "0x0402",       "in_clusters": [         "0x0000",         "0x0001",         "0x0003",         "0x0500"       ],       "out_clusters": [         "0x0000",         "0x0001",         "0x0003",         "0x0004",         "0x0005"       ]     }   },   "manufacturer": "中性",   "model": "700ae5aab3414ec09c1872efe7b8755a",   "class": "zhaquirks.zhongxing.motion.SN10ZW" }
Tested with my Home Assistant Instance:

Pull Request Test Coverage Report for Build 460669246

18 of 20 (90.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 83.516%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

zhaquirks/zhongxing/motion.py
11
13
84.62%

Totals

Change from base Build 453670052:
0.03%

Covered Lines:
3202

Relevant Lines:
3834

💛  - Coveralls

Pull Request Test Coverage Report for Build 460669246

18 of 20 (90.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 83.516%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

zhaquirks/zhongxing/motion.py
11
13
84.62%

Totals

Change from base Build 453670052:
0.03%

Covered Lines:
3202

Relevant Lines:
3834

💛  - Coveralls

Codecov Report

Merging #697 (499b1a0) into dev (61dedab) will increase coverage by 0.03%.
The diff coverage is 90.00%.

@@            Coverage Diff             @@
##              dev     #697      +/-   ##
==========================================
+ Coverage   83.48%   83.51%   +0.03%
==========================================
  Files         171      173       +2
  Lines        3814     3834      +20
==========================================
+ Hits         3184     3202      +18
- Misses        630      632       +2

Impacted Files
Coverage Δ

zhaquirks/zhongxing/motion.py
84.61% <84.61%> (ø)

zhaquirks/zhongxing/__init__.py
100.00% <100.00%> (ø)

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 61dedab...499b1a0. Read the comment docs.

Codecov Report

Merging #697 (499b1a0) into dev (61dedab) will increase coverage by 0.03%.
The diff coverage is 90.00%.

@@            Coverage Diff             @@
##              dev     #697      +/-   ##
==========================================
+ Coverage   83.48%   83.51%   +0.03%
==========================================
  Files         171      173       +2
  Lines        3814     3834      +20
==========================================
+ Hits         3184     3202      +18
- Misses        630      632       +2

Impacted Files
Coverage Δ

zhaquirks/zhongxing/motion.py
84.61% <84.61%> (ø)

zhaquirks/zhongxing/__init__.py
100.00% <100.00%> (ø)

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 61dedab...499b1a0. Read the comment docs.


Updated copyright to 2016

Thanks! I just updated all the source files, so this is perfect :)

Thanks! I just updated all the source files, so this is perfect :)

Hey, but Im still in 2015! lol jk ;)

Hey, but Im still in 2015! lol jk ;)


Use libui's timer

Closes #92 #93

I'll add a new 0_3_0 branch with a tricking PR as we did with version 0.2.0,
You'll have to merge this PR into that branch.

I merged 0_3_0 branch, and add changes to include the hack to fix on Node 10.
But there is a problem with setTimeout. If you click the button on event-loop example two times in a second, clearTimeout is executed successfully and the running prop setted, but the timeout is executed anyway.


Filter based on attribute value

User can click the summary view of node attribute distribution and filter nodes based on values

Closed with the addition of lineup


Show all crusher tiers in crusher recipes

Is your feature request related to a problem? Please describe.
Along the left of any Crushing recipe it shows the 'machine' used to process it. It would be nice if it showed all tiers of crusher instead of just the Marid
Describe the solution you'd like
Show all tiers of Crusher in the tab on the left of crusher recipes
Additional context
Ignore the fact that things are renamed here. The tab on the left is what I'm talking about.

For example, the Furnace shows other valid furnaces in JEI

Closed in f0bc7dc997c3add52f113528eae304aad505b6db


feat: remove HAL_GetTick friendship from SystemTickTimerService

Out of curiosity, why include all these header files? All dependent headers are already being included.

Out of curiosity, why include all these header files? All dependent headers are already being included.

You always want to depend on the headers that you need. You should rely on transitively included headers. If the already included headers remove an include, then unrelated code might stop compiling.
Since we have Include What You Use available we should use it to resolve these problems.


BROWSER=none don't open browser after publish

#170
looks at environment variable BROWSER if none don't open browser after publishing.
similar to how creact-react-app supress browesr opening for start. https://github.com/facebook/create-react-app/issues/873
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #171 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #171   +/-   ##
=======================================
  Coverage   80.85%   80.85%
=======================================
  Files          85       85
  Lines        5700     5700
  Branches      914      914
=======================================
  Hits         4609     4609
  Misses        932      932
  Partials      159      159

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 7869de2...a99867f. Read the comment docs.


Incorrect styling when using a theme switching toggle

I'm writing an app for my workplace that has a light theme/dark theme toggle switch in a scaffold drawer. I've wrapped most of the text in the app with this widget for string length differences when localizing to other languages. Its been very helpful, but I'm finding that when i use the theme toggle the text colors aren't changing correctly. When loading a page in the app, the text is correctly contrasting against the background (black text on white BG and white text on grey BG) but once the theme toggle is activated the text then matches the background (black text on grey BG and white text on white BG). For reference, I've tried using this widget with two different theme toggling examples I've found online as a way to check if my implementation was causing the issue but its consistent with both of them.  The two examples I used can be found at the following github repos
https://github.com/jorgecoca/theme_switcher/tree/theme-switcher-tutorial-1
https://github.com/iampawan/Flutter-Dynamic-Theming
if i need to provide anymore information, please let me know.

Thanks for reporting this issue.
The easiest way to check if it is a problem with this library is to replace the AutoSizeText with a Text if you still have the same problem it would help if you could provide a small sample.
Which version of AutoSizeText are you using?

I am using version 1.1.2 and i have confirmed that using a Text in place of an AutoSizeText works as expected. here is a code sample from on of the theme toggling methods i provided in the first note that replaces a Text with an AutoSizeText that reproduces my issue
`import 'dart:async';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: bloc.darkThemeEnabled,
initialData: false,
builder: (context, snapshot) => MaterialApp(
theme: snapshot.data ? ThemeData.dark() : ThemeData.light(),
home: HomePage(snapshot.data)),
);
}
}
class HomePage extends StatelessWidget {
final bool darkThemeEnabled;
HomePage(this.darkThemeEnabled);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Dynamic Theme"),
),
body: Center(
child: Text("Hello World"),
),
drawer: Drawer(
child: ListView(
children: [
ListTile(
title: AutoSizeText("Dark Theme"),
trailing: Switch(
value: darkThemeEnabled,
onChanged: bloc.changeTheme,
),
)
],
),
),
);
}
}
class Bloc {
final _themeController = StreamController();
get changeTheme => _themeController.sink.add;
get darkThemeEnabled => _themeController.stream;
}
final bloc = Bloc();`

I am using version 1.1.2 and i have confirmed that using a Text in place of an AutoSizeText works as expected. here is a code sample from on of the theme toggling methods i provided in the first note that replaces a Text with an AutoSizeText that reproduces my issue
main.txt

The problem is fixed in version 2.0.0-dev+2. Could you please test if it works for you?

Looks like it's working on my end. I appreciate the quick turn around, Thanks!


Windows Containers appear to not support entrypoint scripts

There seem to be various issues around Windows containers and graceful shutdown including that having entrypoint scripts that contain initialization logic prior to running an application are not supported according to documentation and issues https://github.com/docker-library/postgres/pull/506 on docker maintained images.
Would it be worthwhile documenting some of these issues are workarounds?

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

ID: a830b42d-2b21-802c-71b5-31aa527db040
Version Independent ID: b8fd87c7-8b2f-6644-8133-1d04121c5705
Content: Known Issues
Content Source: virtualization/windowscontainers/manage-containers/known-issues.md
Product: windows-server
Technology: windows-containers
GitHub Login: @weijuans

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Any plans for the new release?

Hi, guys, the last 0.4.1 version was released on November 2016, so almost 8 months ago. Any plans for the new release in near future?

Wondering the same thing.

@zshamrock , @jhernandezme , Thank you for asking - it has been awhile.  We're currently evaluating what should go into a new release now, and will let you know soon.

Maybe when it is released also to mention with with NATS streaming server it is compatible, as it looks like the client and the server are developing at the different speed, and it is not clear whether the latest client works with the latest server release.
Probably the same applies for the NATS (not streaming) too.

@zshamrock , Absolutely.  At this point clients should work with any version of the NATS streaming server (and NATS server), although some older clients may not be able to take advantage of newer features in the server.  If there is breaking change, it will be considered a bug unless otherwise noted.

Great! Good to know.

Released 2.0.1 today - the major version change is to account for the dependency on 2.0 of the client library which had breaking changes, and may effect some exception types in the streaming library.


Remove prefix on some functions

The idea is that when you write extern crate quaternion; you can do quaternion::id().

[ ] quaternion_id => id
[ ] quaternion_square_len => square_len
[ ] quaternion_from_euler_angles => from_euler_angles
[ ] quaternion_from_axis_angle => from_axis_angle

Perhaps from_ could be removed as well, having euler_angles and axis_angle.


DDP for multi-node jobs in non-slurm environments

🐛 Bug
When running DDP with num_nodes > 1 without a SLURM environment, the global rank is not computed correctly: global rank ends up being always equal to local rank, disregarding number of nodes. My hunch for why this is happening is that num_processes is not computed correctly.
My current solution is to create a custom plugin and explicitly pass num_nodes, please see below. I would need a bit of guidance to see how we can fix the current pytorch-lightning code in a less hacky way.
The following code works using the latest dev version (1.3.0rc1)
...

trainer = pl.Trainer(
  gpus=hparams.gpus,
  max_epochs=hparams.max_epochs,
  num_nodes=hparams.num_nodes,
  distributed_backend='ddp' if hparams.gpus > 1 else None,
  sync_batchnorm=hparams.gpus > 1,
  precision=hparams.precision,
  fast_dev_run=hparams.fast_dev_run,
  plugins=CustomPlugin(num_nodes=hparams.num_nodes),
  logger=logger)

...

class CustomEnvironment(LightningEnvironment):
    def __init__(self, num_nodes):
        super().__init__()
        self._creates_children = num_nodes > 1

    def creates_children(self):
        return self._creates_children

    def global_rank(self):
        rank = None
        if 'RANK' in os.environ:
            rank = int(os.environ.get("RANK"))
        return rank

    def master_address(self):
        return os.environ.get("MASTER_ADDR", "<IP_ADDRESS>")

    def master_port(self):
        return int(os.environ.get("MASTER_PORT", super().master_port()))

    def world_size(self):
        world_size = None
        if 'WORLD_SIZE' in os.environ:
           world_size = int(os.environ.get('WORLD_SIZE'))
        return world_size

    def node_rank(self):
        return int(os.environ.get("NODE_RANK", super().node_rank()))

    def local_rank(self) -> int:
        return int(os.environ.get("LOCAL_RANK", super().local_rank()))

class CustomPlugin(DDPPlugin):
    def __init__(self, num_nodes, **kwargs: Union[Any, Dict[str, Any]]) -> None:
        self.num_nodes = num_nodes
        super().__init__(
            cluster_environment=CustomEnvironment(num_nodes),
            find_unused_parameters=False,
            **kwargs,
        )

    @property
    def distributed_sampler_kwargs(self):
        distributed_sampler_kwargs = dict(num_replicas=self.world_size, rank=self.global_rank)
        return distributed_sampler_kwargs

    def set_world_ranks(self):
        self.local_rank = self.cluster_environment.local_rank()
        self.node_rank = self.cluster_environment.node_rank()
        self.global_rank = self.cluster_environment.global_rank()
        self.world_size = self.cluster_environment.world_size()

        # local run, this falls back to the current logic which is broken for
        # ddp and num_nodes > 1, I suspect the problem is in self.num_processes
        if self.global_rank is None:
            if self.num_nodes > 1:
                raise ValueError("Expected num_nodes > 1.")
            self.global_rank = self.num_processes * self.node_rank + self.local_rank
        if self.world_size is None:
            if self.num_nodes > 1:
                raise ValueError("Expected num_nodes > 1.")
            self.world_size = self.num_nodes * self.num_processes

How did you set the NODE_RANK environment variable when launching the processes?
With the following debug script:
import os
import torch
from torch.utils.data import Dataset
from pytorch_lightning import LightningModule, Trainer

class RandomDataset(Dataset):

    def __init__(self, size, length):
        self.len = length
        self.data = torch.randn(length, size)

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return self.len

class BoringModel(LightningModule):

    def __init__(self):
        super().__init__()
        self.layer = torch.nn.Linear(32, 2)

    def forward(self, x):
        return self.layer(x)

    def training_step(self, batch, batch_idx):
        print("step", self.trainer.global_rank, self.trainer.local_rank, self.trainer.node_rank, self.trainer.world_size)
        loss = self(batch).sum()
        self.log("train_loss", loss)
        return {"loss": loss}

    def validation_step(self, batch, batch_idx):
        loss = self(batch).sum()
        self.log("valid_loss", loss)
        return {"x": loss}

    def test_step(self, batch, batch_idx):
        loss = self(batch).sum()
        self.log("test_loss", loss)
        return {"y": loss}

    def configure_optimizers(self):
        return torch.optim.SGD(self.layer.parameters(), lr=0.1)

def run():
    train_data = torch.utils.data.DataLoader(RandomDataset(32, 64), batch_size=2, num_workers=0)
    val_data = torch.utils.data.DataLoader(RandomDataset(32, 64), batch_size=2, num_workers=0)

    model = BoringModel()
    trainer = Trainer(
        gpus=2,
        num_nodes=2,
        accelerator="ddp",
        default_root_dir=os.getcwd(),
        limit_train_batches=1,
        limit_val_batches=1,
        num_sanity_val_steps=0,
        max_epochs=1,
        weights_summary=None,
    )
    print("init", trainer.global_rank, trainer.local_rank, trainer.node_rank, trainer.world_size)
    trainer.fit(model, train_dataloader=train_data, val_dataloaders=val_data)

if __name__ == '__main__':
    run()

If we run with e.g. NODE_RANK=1 python debug.py
The stdout prints (global_rank, local_rank, node_rank, world_size):
init 2 0 1 4
init 3 1 1 4

for the two processes on that node, which looks correct to me.

Apologies, I just noticed you said 1.3.0.rc1 and I thought you are running the latest.  But actually, the latest release is rc2 which has some cluster related things fixed. Mind try the update?

It's a bit weird, I get:
2021-04-17 18:01:18 [1,3]:  File "/opt/conda/lib/python3.7/site-packages/pytorch_lightning/plugins/training_type/ddp.py", line 113, in _call_children_scripts
2021-04-17 18:01:18 [1,3]:    assert self.local_rank == 0
Exactly 6 times (out of 8 opus, which makes sense). Is this how it is supposed to work?

With my example code above or with yours? Try mine first so we can be sure everything is setup correctly.
The local_rank 0 should launch all other processes on that machine and then continue training, but not until the all processes have initialized.
On node 0 you need to call
NODE_RANK=0 MASTER_ADDR=... MASTER_PORT=... python debug.py
On node 1 you need to call
NODE_RANK=1 MASTER_ADDR=... MASTER_PORT=... python debug.py

With my setup.
I see the problem: currently the platform I am currently using launches 8 processes automatically (creates_children must be set to return True), that's why 6 of them fail on the assert.
Can we customize the creates_children return value without a custom plugin?

Update. If I set 1 process per node in the platform, it works great, thanks for the support and for the great tool.
If there's any interest in making customizing creates_children I can make a PR.

You are welcome. But what is this mysterious platform you are talking about? Does it have a name?
What did you have in mind? A setter?
When we created the cluster environments, the intention was that they are a sort of look up table, a source of information about the type of environment. The idea is that this information is mostly static, because the cluster environment is not really expected to change dynamically. But I'm open to suggestion in #6303

Yes :) AzureML.
I thought an option to Trainer: Trainer(..., environment_creates_children=True, ...), which would entail PL must assume the environment creates world_size processes.
Let me take a look

That would interfere with all cluster environments (currently we have slurm, torchelastic, and lightning).
The best way currently would be to implement a AzureMLEnvironment inheriting from ClusterEnvironment.
That's the intended way to enable new clusters in Lightning.

Is there a straightforward way for the user to specify to use the AzureMLEnvironment ?

I suggest this:
class AzureEnvironment(ClusterEnvironment):
    ... # here override all abstract methods

trainer = Trainer(plugins=[AzureEnvironment()])

Need to document this


Tabs freeze fix

Previously, when swiping rapidly through over a hundred tabs, ScreenTabs would freeze and become unusable. This patch fixes that issue.

This is not a good fix.


error in train with ptlflow_demo_train.ipynb

Hi, When I run this code in Colab. I get the following error. Please advise. I did not change anything.
!python train.py raft_small \   --gpus 1 \   --train_dataset overfit-sintel \   --val_dataset none \   --train_batch_size 1 \   --max_epochs 100 \   --lr 1e-3

ERROR: torch_scatter not found. CSV requires torch_scatter library to run. Check instructions at: https://github.com/rusty1s/pytorch_scatter
Global seed set to 1234
GPU available: True, used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
01/02/2022 08:49:01 - WARNING: --train_crop_size is not set. It will be set as (432, 1024).
01/02/2022 08:49:01 - INFO: Loading 1 samples from Sintel_clean dataset.
Traceback (most recent call last):
File "train.py", line 152, in
train(args)
File "train.py", line 111, in train
trainer.fit(model)
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/trainer/trainer.py", line 732, in fit
self._fit_impl, model, train_dataloaders, val_dataloaders, datamodule, ckpt_path
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/trainer/trainer.py", line 682, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/trainer/trainer.py", line 768, in _fit_impl
results = self._run(model, ckpt_path=ckpt_path)
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/trainer/trainer.py", line 1155, in _run
self.strategy.setup(self)
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/strategies/single_device.py", line 76, in setup
super().setup(trainer)
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/strategies/strategy.py", line 118, in setup
self.setup_optimizers(trainer)
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/strategies/strategy.py", line 108, in setup_optimizers
self.lightning_module
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/core/optimizer.py", line 174, in _init_optimizers_and_lr_schedulers
optim_conf = model.trainer._call_lightning_module_hook("configure_optimizers", pl_module=model)
File "/usr/local/lib/python3.7/dist-packages/pytorch_lightning/trainer/trainer.py", line 1535, in _call_lightning_module_hook
output = fn(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/ptlflow/models/base_model/base_model.py", line 358, in configure_optimizers
optimizer, self.args.lr, total_steps=self.args.max_steps, pct_start=0.05, cycle_momentum=False, anneal_strategy='linear')
File "/usr/local/lib/python3.7/dist-packages/torch/optim/lr_scheduler.py", line 1452, in init
raise ValueError("Expected positive integer total_steps, but got {}".format(total_steps))
ValueError: Expected positive integer total_steps, but got -1

Hi, thank you for reporting this error.
This was caused by a change in the default value of max_steps in newer versions of PyTorch Lightning. The code in this repo was already updated, but the version in PyPI was not.
I just pushed a new version to PyPI, and the colab example should work now. If it doesn't, please check if the ptlflow version being installed is the 0.2.5. If it isn't, you can try to force to install the new version with pip install --upgrade ptlflow.
I hope that helps.

Hi. excellent. It works exactly right.
Thank you so much for developing this awesome repository.


fix bugs about the batch order of teacher output

The original implementation had a bug about the teacher's output. In loss_fn_kd(), you can compare the argmax index with label to find that.
To fix this,  I use torch.no_grad to output teacher and student in the same time.
After this modification, and with 100 epochs, I achieve 86.8% accuracy in cnn_distill experiment.

And thanks author for sharing this nice implementation of distillation! A great help to me.

The original implementation had a bug about the teacher's output. In loss_fn_kd(), you can compare the argmax index with label to find that.
To fix this, I use torch.no_grad to output teacher and student in the same time.
After this modification, and with 100 epochs, I achieve 86.8% accuracy in cnn_distill experiment.


Experimentation with unsupported board (Z-turn Board)

Hello,
I have recently got working End2End example on an officially unsupported board - Z-turn board. I would like to share some of the steps and possibly open a discussion for some enhancements in FINN.

The first thing that I had to workaround was pynq_part_map. Currently, there is no easy way to override this by custom arguments, for example, this cell:

from finn.transformation.fpgadataflow.make_zynq_proj import ZynqBuild
model = ModelWrapper(build_dir+"/tfc_w1_a1_set_folding_factors.onnx")
model = model.transform(ZynqBuild(platform = pynq_board, period_ns = target_clk_ns))

have to be changed to something like this:
from finn.transformation.fpgadataflow.make_zynq_proj import ZynqBuild
model = ModelWrapper(build_dir+"/tfc_w1_a1_set_folding_factors.onnx")
z_build = ZynqBuild(platform = "Pynq-Z2", period_ns = target_clk_ns)
z_build.platform = "Zturn"
z_build.fpga_part = "xc7z020clg400-1"
model = model.transform(z_build)

which means to initialize the ZynqBuild object with one of the supported boards, to avoid KeyError in pynq_part_map and then change the properties manually. I think that there should be a possibility to initialize this object with custom platform + fpga_part arguments.

The same thing had to be done by changing the FINN source code at this place (e.g with hard-coded fpga_part):
https://github.com/Xilinx/finn/blob/master/src/finn/transformation/fpgadataflow/make_zynq_proj.py#L245

Add a new elseif branch to: https://github.com/Xilinx/finn/blob/master/src/finn/transformation/fpgadataflow/templates.py#L125-L128
looking something like this:

} elseif {$BOARD == "Zturn"} {
    set ZYNQ_TYPE "zynq_7000"
    set_property board_part myir.com:mys-7z020:part0:2.1 [current_project]
}

If somebody is interested, you can find board files for the z-turn board in this GitHub repository and import them to Vivado.
With these changes, I was able to deploy the model on board and perform the inference.
I would be glad to hear your feedback on the proposed changes and I am ready to contribute with a PR afterwards.

Hi,
thank you for your answer that how to run on unsupported board.It's very helpful to me, but i have a little problem that is about this  code set_property board_part myir.com:mys-7z020:part0:2.1 [current_project]. I have a custom board without any support files, so i didn't find a url such as myir.com:mys-7z020:part0:2.1. If i need write the board file myself, what should i do something to set_property board_part?

Hi @iwTao,
the board setting is a convenience setting that implements the bulk import of the pin-out constraints of the board. If you don't have one available, you may just leave it out and provide your detailed interface definitions as part of your constraints set. Vivado includes a Constraints Wizard that provides guidance in this process when opened on a synthesized design. For the purpose of re-use, you may eventually choose to bundle the matured constraints in a board file.

Hi @ preusser,
thanks for your reply. As you said, if i just leave it out. The board_part is undefined. Then i configured the Constraints Wizard and created .XAS  file by export in Vivado. I think the .XAS  file is includes Constraints Wizard. So what should i do from .XAS  file to TCL script?


TypeError: init() takes 1 positional argument but 4 were given

File "/home/ac/code/centerX-master/engine/defaults.py", line 71, in init
super(DefaultTrainer, self).init(model, data_loader, optimizer)
TypeError: init() takes 1 positional argument but 4 were given

Refer to https://github.com/JDAI-CV/centerX/issues/17#issue-772594795


portability: Fix timer_settime_wrap for 32bit systems with 64bit time_t

glibc does not define SYS_timer_settime if the 32bit syscall is not available, new architectures like riscv32 has defaulted to 64bit time_t from get go and avoided wiring 32bit syscall, therefore alias it to 64bit version here
Signed-off-by: Khem Raj<EMAIL_ADDRESS>

Applied as 9c9d3fa7ead5


4.2.0.: External library "base" not found

Didn't used jbuilder so far.
jbuild-docs say, it needs no external components...
...well... but I got that err-msg:
jbuilder build @install --dev
Error: External library "base" not found.
-> required by "src/config/jbuild (context default)"
Hint: try: jbuilder external-lib-deps --missing --dev @install
make: *** [Makefile:4: all] Error 1

jbuilder calls opam, but availability of "base" is not checked. Maybe that can be added as dependency-checks? For cases where people don't use opam?
Possibly installed opam and opam+base as dependency-check?

Back from vacation.  Almost every software package has dependencies that the user needs to provide in some way or another.  It's exceedingly much work to support more than one way of interacting with the user when it comes to dealing with package dependencies.  OPAM seems to be the least stressful way for both users as well as developers.  That's why I would rather not introduce more complexity to support other ways of installing packages.

I don't use opam as main installing mechanism.
Also I wanted to update the ARCH-package on AUR.
Changing the installation mechanism means some effort on the package-side.
So there is the opam-package as dependency (only for creation of sqlite3-ocaml I guess).
does the base-package have to be installed seperately? Is it part of opam? Will it be installed by initialization of opam itself? Or does it have to be installed?
If jbuilder would install base-package if it's needed as dependency, then for the AUR-package it would be sufficient to just install opam... when then jbuild would provide that the base-package is there.

base is distributed as a standalone package by Jane Street.  I think it would be an inordinate effort to write a script for binary packaging of each individual OCaml package.  It should be easiest to build all OCaml binary packages from a complete OPAM installation in one go.  In that case it wouldn't matter whether a package developer uses jbuilder or another build system.

Is this here the base-package, that is needed?
https://opam.ocaml.org/packages/base/

Yes, that's the package.

Ah, ok.
I found some more dependencies on the opam-repository...
...just for the record:
base
stdio
configurator

base won't compile. Is there a way to implement what you use as part of sqlite3?
base-0.11.0 # jbuilder build
ocamlc src/.base.objs/base__Formatter.{cmi,cmti} (exit 2)
(cd build/default && /usr/bin/ocamlc.opt -w -40 -safe-string -g -bin-annot -I src/.base.objs -I /usr/lib64/ocaml/site-lib/sexplib0 -I compiler-stdlib/src/.caml.objs -I shadow-stdlib/src/.shadow_stdlib.objs -no-alias-deps -open Base_ -o src/.base.objs/base__Formatter.cmi -c -intf src/formatter.mli)
File "src/formatter.mli", line 9, characters 9-30:
Error: Unbound module Caml.Format
ocamlc src/.base.objs/base__Import0.{cmi,cmo,cmt} (exit 2)
(cd build/default && /usr/bin/ocamlc.opt -w -40 -safe-string -g -bin-annot -I src/.base.objs -I /usr/lib64/ocaml/site-lib/sexplib0 -I compiler-stdlib/src/.caml.objs -I shadow-stdlib/src/.shadow_stdlib.objs -no-alias-deps -open Base_ -o src/.base.objs/base__Import0.cmo -c -impl src/import0.ml)
File "src/import0.ml", line 7, characters 6-394:
Error: The signature constrained by with' has no component named Pervasives base-0.11.0 # dune build       ocamlc src/.base.objs/base__Import0.{cmi,cmo,cmt} (exit 2) (cd _build/default && /usr/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -bin-annot -I src/.base.objs -I /usr/lib64/ocaml/site-lib/sexplib0 -I compiler-stdlib/src/.caml.objs -I shadow-stdlib/src/.shadow_stdlib.objs -no-alias-deps -open Base__ -o src/.base.objs/base__Import0.cmo -c -impl src/import0.ml) File "src/import0.ml", line 7, characters 6-394: Error: The signature constrained by with' has no component named Pervasives
ocamlc src/.base.objs/base__Formatter.{cmi,cmti} (exit 2)
(cd build/default && /usr/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -bin-annot -I src/.base.objs -I /usr/lib64/ocaml/site-lib/sexplib0 -I compiler-stdlib/src/.caml.objs -I shadow-stdlib/src/.shadow_stdlib.objs -no-alias-deps -open Base_ -o src/.base.objs/base__Formatter.cmi -c -intf src/formatter.mli)
File "src/formatter.mli", line 9, characters 9-30:
Error: Unbound module Caml.Format

base 0.11.1 does not compile either
base-v0.11.1 # dune build
ocamlc src/.base.objs/base__Bytes0.{cmi,cmo,cmt} (exit 2)
(cd build/default && /usr/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -bin-annot -I src/.base.objs -I /usr/lib64/ocaml/site-lib/sexplib0 -I compiler-stdlib/src/.caml.objs -I shadow-stdlib/src/.shadow_stdlib.objs -no-alias-deps -open Base_ -o src/.base.objs/base__Bytes0.cmo -c -impl src/bytes0.ml)
File "src/bytes0.ml", line 57, characters 29-50:
Error (warning 6): labels pos, len were omitted in the application of this function.

I'm afraid, but there is not much I can do about this.  If you use OPAM, it should generally be trivial to install packages.  But if you, for whatever reason, cannot use OPAM, you will need to contact the developers of failing packages (here: base) for guidance.

Strangely, after I logged out and back in, I was able to build it. Thanks for your time.

I second mmottl's conclusion here, but just as a note: the dependencies on base and configurator can be removed if sqlite3-ocaml switches to dune.


feat(code-snippet): Add new Code snippet variation and styles

Overview
Ref https://github.ibm.com/carbon/issues/issues/658
https://github.com/carbon-design-system/carbon-components/issues/535

Added
Inline code snippet (and light variation)
Migration doc to 9.x
Changed
Renamed terminal to single and code to multi (noted in migration docs)
Testing / Reviewing
http://localhost:3000/demo/code-snippet

Are these supposed to be a bit off-centered?

@marijohannessen I'm going to review the placement of the tooltip with @tay-aitken this afternoon.


Update keyboardcleantool to latest

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] sha256 changed but version stayed the same (what is this?).
I’m providing public confirmation below.

Thanks for the PR!

My pleasure! Btw, that was my first PR ever, thanks for such a quick response!


Bump module version to 6.0.2

Questions
Answers

Description?
Prerequisite to new version 6.0.2 release

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/Prestashop#{issue number here}.

How to test?
Test in action with new release 6.0.2

@M0rgan01 Let's go!


fix: pass AWS credentials correctly

Description
Fixes passing of AWS credentials, which are currently passed in inverse order.
Supporting information
https://discuss.openedx.org/t/bug-report-openedx-django-pyfs-uses-s3-access-key-id-and-secret-in-place-of-each-other/11874
Testing instructions

Explicitly set 'aws_access_key_id' and 'aws_secret_access_key' in settings.DJFS.
Test that objects in the bucket are accessible.

Deadline
None

Thanks for the pull request, @ArturGaspar! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
This is currently a draft pull request. When it is ready for our review and all tests are green, click "Ready for Review", or remove "WIP" from the title, as appropriate.

Hi @openedx/2u-arch-bom! This is ready for review. Thanks!

Looks about right. :-) Could you bump the version in djpyfs/__init__.py as well? A CHANGELOG.rst file would also be great. [template]

@ArturGaspar 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.

v3.4.1 is released


BQSR on spark

-Ported BQSR and ApplyBQSR to spark.
-Refactored the BQSR engine so that all versions of BQSR (walker, dataflow,
and spark) call into a common engine, and removed duplicated versions
of the engine from the codebase.

For @davidadamsphd to review, please.
If @jean-philippe-martin could also review the modifications to the dataflow BQSR, it would be much appreciated (keeping in mind that we still need to rebase on top of the optimized BQSR branch).

Sooooo, this is a huge PR. Can you please give some hints on how best to review (where there many find-replaces that I can just skim over, new files that are really carbon copies)?

@davidadamsphd Sure, here is a quick guide to the code:
-BaseRecalibratorSpark is the standalone BQSR tool, and calls into the BaseRecalibratorSparkFn (which is also called from ReadsPipelineSpark)
-ApplyBQSRSpark is the standalone ApplyBQSR tool, and calls into the ApplyBQSRSparkFn (also called from ReadsPipelineSpark)
-Integration tests for the above are in BaseRecalibratorSparkIntegrationTest and ApplyBQSRSparkIntegrationTest
-Almost all other changes in the branch are related to the BQSR engine refactoring, which I summarize below:

We pulled out the guts of the walker BaseRecalibrator tool, combined it with all of the code from the former RecalibrationEngine class (now deleted) to make a new BaseRecalibrationEngine class under utils/recalibration.

We stripped out all copies of the code in BaseRecalibrationEngine from the walker, dataflow, and spark versions of BQSR, and modified them to call into BaseRecalibrationEngine.

We moved all auxiliary classes needed by the  BaseRecalibrationEngine (eg., the covariates, etc.) into utils/recalibration.

We refactored the argument collections. Now there is a single shared RecalibrationArgumentCollection that contains only the parameters for the BaseRecalibrationEngine itself, and this argument collection is exposed by all 3 versions of the tool. Input/output arguments have been removed from this argument collection and put into the individual implementations of BQSR, since they vary between the walker, dataflow, and spark versions of the tool. This eliminates awkward problems such as having both a knownSites argument AND a BQSRKnownVariants exposed at the same time, with only 1 of them usable for a given version of a tool. The dataflow-only BaseRecalibrationArgumentCollection has been deleted completely as no longer needed.

We tweaked the names of some tool arguments to enforce consistency between the 3 versions of the tool as well as the rest of hellbender (eg., output arg for BQSR is now a more standard -O)

I haven't looked yet but this seems like a good idea. You should also take calculateSNPInsertDelete from https://github.com/broadinstitute/hellbender/blob/jp_perf_br/src/main/java/org/broadinstitute/hellbender/tools/dataflow/transforms/bqsr/BaseRecalibratorFn.java#L212 since it's marginally faster than the calculateIs* combo.

Since @davidadamsphd is out today, would either @tomwhite or @laserson be available to review JUST the spark part of this branch (specifically, just the classes BaseRecalibratorSpark, BaseRecalibratorSparkFn, ApplyBQSRSpark, ApplyBQSRSparkFn, ReadsPipelineSpark, BaseRecalibratorSparkIntegrationTest, and ApplyBQSRSparkIntegrationTest)?
The rest of the branch is just a BQSR engine refactoring that will be reviewed by @jean-philippe-martin as soon as we do another rebase on top of master (we'll ping him as soon as that part of the branch is ready for review).

@droazen I'll take a look.

I reviewed the Spark-specific parts and they look good to me. It would be nice to add some tests for using a local reference, but that doesn't need to hold this up. +1

Thanks for the review @tomwhite!

Ok, @jean-philippe-martin, I've finished rebasing on top of your work, and we're now ready for you to review the NON-spark parts of this branch.

Done with my review. Thanks for doing this much-needed refactor! The BaseRecal stuff looks sound, but I have some other feedback that we should discuss/address.

All code review comments have been addressed, but I need to wait for https://github.com/broadinstitute/hellbender/pull/922 to be merged and rebase on top of it before tests will pass in this branch, as the spark tests are causing us to hit the travis log file limit.

@droazen: merged #922 and rebased this branch on master.  I also pushed the dr_lb_spark_bqsr_bak branch which is pre-rebase in case there's a problem.  Merge if Travis passes?

Made a final change or two, will merge once the latest round of tests pass.


After installation of voyager in laravel 5.5 .it shows that there is no view or table found. and when i open resourses .there is noting of voyager

Laravel Version: #.#.#latest version
Voyager Version: #.#.#latest version
PHP Version:5.7
Database Driver & Version:mysql  Ver 15.1 Distrib 10.1.25-MariaDB, for Win32 (AMD64)

Description:
After installation of voyager in laravel 5.5 .it shows that there is no view or table found. and when i open resourses .there is noting of voyager
it shows following issue
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin.settings' doesn't exist (SQL: select * from settings) (View: D:\xampp\htdocs\voyager\vendor\tcg\voyager\resources\views\login.blade.php)
Steps To Reproduce:

Closing due to inactivity.


🔘 Toggle modifiers on send

Currently, modifiers need to be applied in order to send. We should investigate if we can have a toggle to apply the modifier to the sent model without applying it in Blender.
from the forum

Agreed! Could be a simple radiobox / toggle in the Send settings...


Remove div class

closes #2012.

BTW how did this one get past Travis? Was it not tested? Or is it that it just bungled the rendering, so it could only be found via visual inspection?

@dengemann merge if happy

@Eric89GXL it was in the rendering, I think it would have only been found by inspection

@Eric89GXL with the closes #XXX, does it close after the pr is done or when it's mentioned?

On merge. As soon as one of us clicks the button it happens automatically.

I cannot try now. Later. But it's probably the culprit.

runing test now.

negative, no fix.

You see the images are now behind the contents.

and that didn't happen before?

and that didn't happen before?

nope.

a separate issue but related to the report: I just realized that with this current implementation comments will be repeated if a list of figs/images are supplied. the behavior for list to consider each item to be a separate line. we could remove this and make it so that each item corresponds to the respective figs/images

I can't find where this is going wrong syntactically...

Teon, trying your latest commit.

Thanks Teon !! All is fine again :)


zero sum only on dswt, not dwt

more bio plausible, and perhaps better stats overall for swt to have zero sum -- can probably just try with submean now.  but will likely need smaller lwt range..

lvis actually working ok-ish.. but not great, with RLrate.
key issue to test on saccade model: target layers (including thal) are exempt from submean -- maybe want to have that for thal but not other targets?  in any case, make a flag so can experiment..

now how it works.


Fixed broken twitter account link in README.md

This PR fixes the broken Twitter account link in the README.md

Thanks!


fix: allow users with read only permission to read APIs

The required permissions to access APIs from the console were set
to Create, Update or Delete, making user with the Read permission
attached to their role unable to access APIs, be it from a group
or a direct membership.
see https://github.com/gravitee-io/issues/issues/6475

🚀 CI was able to deploy the build of this PR, so you can now try it directly here
Notes: The deployed app is linked to the management API of the Element Zero team's environment.

closed as the issue was closed


New data: Is it possible to receive negative aid?

Happens quite some times indeed.
(source and ddf

https://datahelpdesk.worldbank.org/knowledgebase/articles/114966-why-do-some-countries-receive-negative-amounts-of
**Why do some countries receive negative amounts of aid?
**
Aid and aid per capita data show the net value of official development assistance (ODA). Thus, if countries pay back more than they receive, they can show negative values of net aid. Please note that net aid does not include aid provided to other countries. For example, donor countries such as United States and Canada show ".." for aid per capita rather than negative values because they do not receive official aid. Donor aid provided is tracked separately and published in the World Development Indicators (WDI) online tables and database.

@mattiaslindgren can we add this answer to the "about" tab of the data in google docs?

Yes. I did not write it, it is copied pasted from the world bank page linked above.


Re-use certificate and SSH known hosts information from Argo CD

Is your feature request related to a problem? Please describe.
The Git write-back method needs to validate the connections to Git repositories when connecting to them. However, neither a default SSH known_hosts file is supplied, nor an easy possibility to supply it is currently provided. The same goes for TLS certificates to validate connections to repositories connected via HTTPS. This makes it hard to use SSH for write-back, or to connect private, self-hosted repositories.
Describe the solution you'd like
In Argo CD, the possibility exists to configure public SSH host keys to validate SSH connections by Git, and also to import custom TLS certificates for validating TLS connections to repositories. Argo CD Image Updater should re-use this configuration when connecting to Git repositories.
Describe alternatives you've considered

If insecure is specified on the Argo CD repository's configuration, Image Updater will also use insecure connection. However, this is a non-recommended approach, especially in production environments.
As pointed out e.g. here, people can use a volume mount to provide a known_hosts file to Image Updater. This is complicated and inconvinient.

This has been fixed by #212


Problem parsing huge swagger-files

The following error occurred while parsing a huge swagger-file with the latest versions of the gitbook-cli and the swagger plugin. The swagger file has no error or warnings.
$ gitbook build
Live reload server started on port: 35729
Press CTRL+C to quit ...
info: 8 plugins are installed
info: loading plugin "swagger"... OK
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 9 pages
info: found 52 asset files
Loading bootprint-swagger 1.0.1
Loading bootprint-json-schema 1.1.0
Loading bootprint-base 1.1.0
Loading bootprint-swagger 1.0.1
Loading bootprint-json-schema 1.1.0
Loading bootprint-base 1.1.0
Loading bootprint-swagger 1.0.1
Loading bootprint-json-schema 1.1.0
Loading bootprint-base 1.1.0
D:\git\TAX\node_modules\q\q.js:155
throw e;
^
RangeError: Maximum call stack size exceeded
at RegExp.exec (native)
at D:\git\TAX\node_modules\gitbook-plugin-swagger\index.js:62:38
at _fulfilled (D:\git\TAX\node_modules\q\q.js:854:54)
at self.promiseDispatch.done (D:\git\TAX\node_modules\q\q.js:883:30)
at Promise.promise.promiseDispatch (D:\git\TAX\node_modules\q\q.js:816:13)
at D:\git\TAX\node_modules\q\q.js:624:44
at runSingle (D:\git\TAX\node_modules\q\q.js:137:13)
at flush (D:\git\TAX\node_modules\q\q.js:125:13)
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)

What version of Node are you running? There are some older versions that have a similar error. Might try to get the latest version running to verify that it isn't a bug in V8.

I used the Node version 6.10.2 - not that old.

No, does it work if you use a smaller swagger file?


[fetch] Testing time-dependent results, disabling cache

Following on from https://github.com/gadicc/node-yahoo-finance2/issues/32, thanks @pudgereyem.
I'll add a way to disable using the cached result (probably an environment variable is easiest) but this still only solves half the problem.  What we actually need is cached results from all the different possible times... a pain, I know -- but what we really want is for testing to really test everything, so we can be confident moving forward that EVERYTHING works all the time, without thinking that we need to run live tests at different times of the day.

Hey @gadicc, yes I think environment variable is the easiest as well.
Adding time to the cache string
Oh, I got an idea regarding how we can test different responses due to the time of day, and cache them as well. Currently our test files look something like this;
it(`passed validation for search: ${search}`, async () => {
    const devel = `search-${search}.json`;
    await yf.search(search, {}, { devel });
});

..which will create a cached response for the search here; tests/http/search-${search}.json.
However, since the response from Yahoo depends on the time of day, we could factor in "time of day" to the cache string. I think hourly would be enough. So we could do something like this;
const hourOfTheDay = new Date().getHours(); // e.g 10
const amOrPm = hourOfTheDay >= 12 ? 'pm' : 'am';
const timeString = `${hourOfTheDay}${amOrPm}`; // --> '10am'

it(`passed validation for search: ${search}`, async () => {
    const devel = `search-${search}-${timeString}.json`;
    await yf.search(search, {}, { devel });
});

If tests where then to be run it would create cached responses for all the 24 hours of the day, like so:
- tests/http/search-AAPL-1am.json
- tests/http/search-AAPL-2am.json
...

I think the solution could be more fleshed out and improved upon, e.g how do we best automate this. But it seems like a good start to me. What do you think @gadicc?

Hey @pudgereyem, this is a good idea in terms of effort, as we don't really have to do much planning or thinking to cover everything.  The downside though is that we already have 200 tests, which run fairly quickly, but to have 200 * 24 = 4800 tests, when almost all of them are near identical, I think is a bad trade off.
I think the best thing to do, even though it's a lot more effort, is to run specific timed tests for the different states of the markets, which we'll need to figure out (however, it will be great to add to our documentation too).  So, a test specifically for an LSE stock when the LSE is in different states.  I can't think of any other time related dependence beyond market state, can you?
Having said all that, I'm not even sure if there's that much work here... as all we have to do figure out is the different market state values and which fields are dependent on that.  As an example, as a result of testing the new FETCH_DEVEL env variable (see commits above or note in README), I've added all the preMarket*?: number stuff, and additional marketState enum values.  Thanks of course for raising this issue as I only noticed this because of it.
But my suspicious is that there's not that much more to discover.  I'll run the live tests at a few different times of the day (you're welcome to do so too if you want) and we'll see what other kinds of things come up, which should give us a better idea of what direction to go.  So leaving open for now.

Going to close this since the FETCH_DEVEL=nocache code is done.  Let's see what else comes up and then we'll decide on further strategy for time-dependent results.


[RESTAPI][DevPortal] Rest endpoint to update the OIDC protocol is not updating encryption option.

Description:
The endpoint api/server/v1/applications/{app-id}/inbound-protocols/oidc is used to update the OIDC configuration for application via a PUT request. However, the enabled option in the section idToken --> encryption is not getting updated as expected.

Although the response for the PUT request showing as 200, the get request for the above config is showing as encryption is not updated and in the admin console also we get the same observation.
Steps to reproduce:

Send GET request to api/server/v1/applications/{app-id}/inbound-protocols/oidc with correct application id.
Copy the body and change the enabled value. Then send it as a PUT request to the same endpoint.
Now send another GET request to see the updated configuration.

Needs to be fixed in below segment to read the id_token encryption-related information from the API model object and set to the underlying domain model
https://github.com/wso2/identity-api-server/blob/master/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/main/java/org/wso2/carbon/identity/api/server/application/management/v1/core/functions/application/inbound/oauth2/ApiModelToOAuthConsumerApp.java#L88-L97

I'm working on this.

Fixed with https://github.com/wso2/identity-api-server/pull/108


Your GPU does not support Int8 Matmul error with A100, 0.37.0 version

with bitsandbytes 0.37.0 installed I am seeing the following error with A100 80G
=============================================
ERROR: Your GPU does not support Int8 Matmul!
=============================================

python: /mmfs1/gscratch/zlab/timdettmers/git/bitsandbytes/csrc/ops.cu:408: int igemmlt(cublasLtHandle_t, int, int, int, const int8_t*, const int8_t*, void*, float*, int, int, int) [with int FORMATB = 4; int DTYPE_OUT = 32; int SCALE_ROWS = 0; cublasLtHandle_t = cublasLtContext*; int8_t = signed char]: Assertion `false' failed.

|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA A100-SXM...  Off  | 00000000:01:00.0 Off |                    0 |
| N/A   48C    P0    40W / 400W |      5MiB / 81920MiB |      0%      Default |
|                               |                      |             Disabled |
+-------------------------------+----------------------+----------------------+

$ pip list | grep bits
bitsandbytes             0.37.0

In the following issue, I see the last comment "the int8 matmul runs on all GPUs in the latest version" but the latest version 0.37.0 still has the error.
Thanks for the help in advance.
https://github.com/TimDettmers/bitsandbytes/issues/100

my bad, this happended because I had Titan V installed along with A100


fix: disable renounceOwnership

Summary
To disable the renounceOwnership function to prevent accidental renouncing of ownership.
Changes

Revert when call renounceOwnership

Issues

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

Closing this due to conflicting findings in the audit. Will replace this with another PR using AC instead.


parser: support for parsing bodies in switch-cases

This CL adds the support for parsing the bodies of cases in switch
statements.

Codecov Report

Merging #83 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #83      +/-   ##
==========================================
- Coverage   41.85%   41.84%   -0.01%
==========================================
  Files          19       19
  Lines        8544     8543       -1
==========================================
- Hits         3576     3575       -1
  Misses       4559     4559
  Partials      409      409

Impacted Files
Coverage Δ

parser/parser.go
60.24% <100%> (-0.04%)
:arrow_down:

Continue to review full report at Codecov.

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

indeed :)


test_download_remote_layers_api flakyness

https://neon-github-public-dev.s3.amazonaws.com/reports/pr-3818/debug/4436920822/index.html#suites/b97efae3a617afb71cb8142f5afa5224/ea27292fb12d954/:
AssertionError: current_physical_size is sum of loaded layer sizes, independent of whether local or remote
assert 29835264 == 29417472
  +29835264
  -29417472

From the test it looks this could be caused by wal being received from safekeepers after measuring it. If not, then it's probably something mystical like #3209.

duplicate of https://github.com/neondatabase/neon/issues/3831

A recent failure of this test: https://neon-github-public-dev.s3.amazonaws.com/reports/pr-5207/6157084684/index.html#suites/b97efae3a617afb71cb8142f5afa5224/9b22f1b52bf4c315
AssertionError: we redownloaded all the layers
assert 29835264.0 == 29876224.0

Hehe, it's an issue I have created.
Today's analysis:
TL;DR: it definitelty triggers the path I added in #5233.
An instance today which also has a succesful run.
The test log does have the fixup I added:
2023-09-15 04:56:16.274 INFO [test_ondemand_download.py:402] fixing up filled_current_physical from 29835264 to 29876224 (40960)
it seems in this case it works wrong:
assert 29835264.0 == 29876224.0```

I don't understand. Thought I think without my change in #5233, it would had failed on the previous assert near the "fixing up", so it might be my "fixing up" is only partial.

Finally closing this due to my above log analysis and being able to merge #5322 as it fixes that exact problem.


Minimum node version v18

When the next MagicMirror version is released, node v16 will have reached its end of life.

Codecov Report

Merging #3170 (2d75f7c) into develop (59e9d76) will increase coverage by 0.72%.
Report is 1 commits behind head on develop.
The diff coverage is 43.75%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop    #3170      +/-   ##
===========================================
+ Coverage    25.51%   26.24%   +0.72%
===========================================
  Files           53       53
  Lines        11501    11500       -1
===========================================
+ Hits          2935     3018      +83
+ Misses        8566     8482      -84

Files Changed
Coverage Δ

modules/default/calendar/calendar.js
0.00% <0.00%> (ø)

modules/default/updatenotification/node_helper.js
82.22% <83.33%> (+9.80%)
:arrow_up:

js/fetch.js
100.00% <100.00%> (ø)

... and 2 files with indirect coverage changes


GPUview problem

Hey Guys,
Just want to check with you guys: Do you have any problem using GPUview to load captures recently? I have tried using different parameters, under different computers, but every time I load an etl file GPUview gives me an error saying: "Most likely ran out of memory during load, see the /limit option". BTW, I am on Win10 build 14316
I recently port one of my DXUT DX11 demo BoidsSimulation project to miniEngine(only the framework, not any predefind resources), and noticed a 10% perf loss which I can't tell why, I admit that my project render command is very short which may not be able to take the advantages of DX12, but a 10% perf lose is unexpected. So before I am able to look into GPUview capture any suggestions will be greatly appreciated.

Have you turned on the MiniEngine profiling stats?  (Do you have a game controller?)  Hitting backspace on the keyboard brings up the engine variables you can change.  One of the first listed is "Display Profiler".  Hit the down arrow key twice and press enter to toggle it on.  You can explore the stats the same way as the engine variables:  with arrow keys.  Left/right go in and out of submenus.
You might see where the time is spent.    Another thing that's more built-in is the concept of an off-screen UI (or overlays) buffer.  This is where the stats and engine variables will draw.  And if your app has a RenderUI() function implemented, it will get rendered there as well.  MiniEngine automatically composites that UI render target with the main scene render target even if you don't draw anything to it.  (The frame rate text that you probably see also draws to the UI render target.  10% could be lost there depending on what your frame time was to begin with.
-James

I am pretty sure I disabled all those features (actually I even diabled the profiling system). But later I have run the benchmark on a different computer and this time miniEngine version is slight faster than DXUT on dx11. So I guess to fully utilize DX12 we need new hardware (my previous perf test is on a labtop with i7 3820QM with nvidia 680m, but the newer test is performed on i7 4980HQ with nvidia 980m).
But I still have problem work with GPUview :-(  though

Back to the GPUView issue... When did it stop working for you?  When you upgraded to build 14316?  Do you happen to know which version of GPUView you have?  (I don't think the UI gives you a build number or anything, so maybe the exe's timestamp is all I can go off of)

Thanks Bob for getting back to me.
I haven't been using GPUView for awhile, so l think last time I run GPUView, I may still be older than 10586. For 14316, I got it around 2 weeks ago.  The GPUView version I got (through the method you described) is 10.0.10240.16384....
So it seems my GPUView is not uptodate.... what's the best way to get the correct version of GPUView then?
Thanks in advance :-)
Peng

t looks like the GPUView you have came with the 10240 SDK.  You can try to install a newer version with the 10586 SDK by check the box for the "Windows Performance Toolkit", though I haven't had any trouble with either version.
How big is the etl file you're trying to load?  Did you try using the /limit argument like the help text suggested?  Or, if the etl file really is too big, you can try to take a shorter capture.

The size I generated previously is normal around 200MB, I got error loading it on multiple machines. But today when I create a new log, everything go back to normal. I do upgraded the windows SDK and windows version during the previous 25 days. So I guess the error I got previously may caused by the version mismatch.
Anyway, thanks for all your help. I will close this issue for now


[ART-4863] Auto-trigger build-microshift for 4.12 nightlies

Start build-microshift job when a nightly is accepted by the release controller.
Requires https://github.com/openshift/aos-cd-jobs/pull/3286

Test build: https://saml.buildvm.hosts.prod.psi.bos.redhat.com:8888/job/hack/job/yuxzhu/job/scheduled-builds/job/poll-payload/9/console

/lgtm


Py2 will be deprecated, set Py3 and set CODE_NAME

Hey, thanks for the PR.
Would you mind rebasing this on top of current master?


build.sh fails with Dir not found

While building the project using build.sh i am getting below output.
/bin/bash /Users/nBhati/CodeBases/spring-cloud-netflix/scripts/build.sh
/Users/nBhati/CodeBases/spring-cloud-netflix/scripts/build.sh: line 3: cd: spring-cloud-netflix-hystrix-contract: No such file or directory
/Users/nBhati/CodeBases/spring-cloud-netflix/scripts/build.sh: line 4: ./mvnw: No such file or directory
To Fix this i have modified the script as below and now it works fine
#!/bin/bash
(cd ../spring-cloud-netflix-hystrix-contract && ../mvnw clean install -B -Pdocs ${@})
./mvnw clean install -B -Pdocs ${@}
please let me know if i can contribute this as a fix.
Thanks
Narayan

you need to run the script from spring-cloud-netflix.


SNP Guest VSM: Support for HvCallTranslateVirtualAddress hypercall handling

Adds handling for the HvCallTranslateVirtualAddress hypercall for guest vsm support.
Tested:

SNP with guest VSM
SNP without guest VSM
Trusted Launch VM

Why did you move the page table walker to virt?


Controlling one bulb in a ZHA light group affects all the bulbs in the group

Version information:  1.1.0
Description:
I have Zigbee bulbs, and have defined an Office Light Fixture containing 4 bulbs using the ZHA integration's Groups feature.
After sunset/before sunrise if I walk into the office, I only want one single bulb to turn on dimly to provide just enough light to see by, so I have a "night light" automation to turn on just one bulb:
- id: '1642161608570'
  alias: Office lights on when occupied - night light
  description: ''
  trigger:
  - platform: state
    entity_id:
    - binary_sensor.office_sensor_motion_aq2_ias_zone
    to: 'on'
    from: 'off'
    for:
      hours: 0
      minutes: 0
      seconds: 0
  condition:
  - condition: or
    conditions:
    - condition: sun
      before: sunrise
      before_offset: '30:00'
    - condition: sun
      after: sunset
      after_offset: '-30:00'
  action:
  - service: adaptive_lighting.set_manual_control
    data:
      entity_id: light.office_light_fixture
      manual_control: true
  - service: light.turn_on
    target:
      entity_id: light.office_bulb_1
    data:
      transition: 30
      kelvin: 2700
      brightness: 1
  mode: single

This works great so long as I do not have any of the 4 office bulbs or the office light group configured to be controlled by AL. As soon as I add them to the AL config, all 4 bulbs will turn on at whatever the AL configured brightness level is, which is always too bright first thing in the morning...

Ive been seeing this behavior as well. I will turn on one light, and all the lights in a room will come on, or I turn on the Kitchen Lights, and all the lights come on in the house because of the 'all lights' group.
I wouldn't have connected it to groups, but Im glad theres a workaround to avoid it for the moment.

I think this is a dupe of #304 (not specific to Zigbee lights), I'm seeing this behavior with multiple types of lights, primarily with various types of groups (autogenerated room groups, or manually created HA groups etc).

This is because the way group works  in Home Assistant is if ANY of the members is on, the group entity is also shown as on in Home Assistant. So therefore, adaptive light will adapt the group light (since that entity is on), which in turn will turn on all its members since the group entity changed the brightness.
If you created a light group withing Home Assistant itself, you can change this behavior so that the group entity is only on when ALL members are on. This is explained here: https://www.home-assistant.io/integrations/group/#all
If you have created the group using Zigbee (like ZHA or Z2M groups) then I don't think this is possible.

Thanks, @ASNNetworks, that's helpful info.
My workaround was to update my automation to turn AL off so that I can turn on a single bulb, then later, when I'm ready for more light, another automation turns AL back on.

@ASNNetworks described the problem very well.

If you have created the group using Zigbee (like ZHA or Z2m groups) then I don't think this is possible.

All you have to do in Z2M is set optimistic: false in the groups.yaml file for the light to solve this.


Finding version-suffixed Clang analyzers from PATH not working, even with CC_ANALYZERS_FROM_PATH=1

Describe the bug
The logic that finds version-suffixed Clang binaries (from self-built entities or from PPA) does not work, it just keeps saying

[WARNING][2022-05-21 11:20:28] {analyzer} [14955] <140279203762176> - analyzer_types.py:122 print_unsupported_analyzers() - Analyzer 'clang-tidy' is enabled but CodeChecker is failed to execute analysis with it:
'Failed to detect analyzer binary!'. Please check your 'PATH' environment variable and the 'config/package_layout.json' file!

CodeChecker version
v6.19.1, installed from PyPI
To Reproduce
Steps to reproduce the behaviour:

Create a new Docker image, apt install python3 python3-pip software-properties-common wget curl
Install LLVM from PPA: bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
Ensure that Clang and Clang-Tidy is installed: apt install clang-14 clang-tidy-14 (replace with latest non-rolling version number appropriately)
which clang clang++ clang-tidy returns "not found"
which clang-14 clang++-14 clang-tidy-14 returns the binaries under /usr/bin
echo $PATH | grep "/usr/bin" matches
CC_ANALYZERS_FROM_PATH=yes CodeChecker check -b "clang++-14 -UNDEBUG -std=c++17 main.cpp" -o Reports
It says analysers are not found.

Expected behaviour
Pick up the only installed version of Clang in the current environment and run the analysis with it.
Desktop (please complete the following information)

OS: Ubuntu 22.04 (in Docker)

Additional context
╰─ cat /usr/local/share/codechecker/config/package_layout.json
{
  "runtime": {
    "analyzers": {
      "clangsa": "clang",
      "clang-tidy": "clang-tidy"
    },
    "clang-apply-replacements": "clang-apply-replacements"
  },
  "ld_lib_path_extra" : [],
  "path_env_extra" : []
}

While certainly if I have the right to install packages I would have the right to just edit this config file (and putting clang-14 and clang-tidy-14 in it makes the issue disappear), it is not always the case, and this just makes the PyPI package unusable in a restricted environment...

This hit me as well. I couldn't find a way to supply the path to clangsa from command line or in the supplied config json.


Make region a required configuration for web app in schema version v2

Codecov Report

Merging #432 into develop will decrease coverage by <.01%.
The diff coverage is 14.28%.

@@            Coverage Diff             @@
##           develop    #432      +/-   ##
==========================================
- Coverage     50.6%   50.6%   -0.01%
==========================================
  Files           67      67
  Lines         1978    1980       +2
  Branches       212     212
==========================================
+ Hits          1001    1002       +1
- Misses         909     910       +1
  Partials        68      68

Impacted Files
Coverage Δ

.../microsoft/azure/maven/AbstractAppServiceMojo.java
46.15% <ø> (+3.29%)
:arrow_up:

...crosoft/azure/maven/webapp/AbstractWebAppMojo.java
0% <ø> (ø)
:arrow_up:

...zure/maven/webapp/handlers/HandlerFactoryImpl.java
0% <0%> (ø)
:arrow_up:

...oft/azure/maven/function/AbstractFunctionMojo.java
63.63% <100%> (+3.63%)
:arrow_up:

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 42b803b...3a207cf. Read the comment docs.