Build PDK part of the CI encountered error when doing git pull in open_pdks

Description
Unable to build PDK using the OpenLane CI. All necessary files/scripts are included in the GitHub Action run.
Encountered a fatal: No names found, cannot describe anything. error when attempted to do git pull but not sure what the issue was.
@msaligane
Environment

Operating System Information: GitHub Actions: runs-on: ubuntu-latest

Reproduction Material

Do make pdk as a step of a job in GitHub Actions

Expected behavior
The GitHub action run should be able to clone, pull and checkout to a specific  commit.

Already up to date.
fatal: No names found, cannot describe anything.
Please input the version of OpenLane you'd like to pull:
Could not resolve the version of OpenLane being used. This is a critical error.
fatal: No names found, cannot describe anything.
Please input the version of OpenLane you'd like to pull:
Could not resolve the version of OpenLane being used. This is a critical error.

Hey, this is because the OpenLane clone you're doing as part of GitHub actions is missing a fetch depth.
When you're missing the fetch depth, tags do not get pulled, so it fails to resolve the OpenLane version you need.
See https://github.com/Cloud-V/sky130-builds/blob/3d888bbb926265f1744c12fc8f4bbea02bd32501/.github/workflows/flow.yml#L19 as an example of how you should be doing that.

Hello @donn
I was actually trying to replicate something like this:
https://github.com/The-OpenROAD-Project/OpenLane/blob/master/.github/workflows/openlane_ci.yml#L115
In other words, cloning the pdk was NOT explicitly listed as a step in GHA. Instead, it ran make pdk, which clones open_pdks as seen in the Makefile at the repo root folder.
make pdk location:
https://github.com/The-OpenROAD-Project/OpenLane/blob/master/Makefile#L68
Part where the git commands were run;
https://github.com/The-OpenROAD-Project/OpenLane/blob/master/Makefile#L116
Per your suggestion, would I have to modify the git commands in the Makefile?

It's not the PDK clone that's really the issue here, it's the OpenLane clone that is.
How are you cloning OpenLane, is my question?

Hello @donn
Sorry for misunderstanding, my apologies!
The Makefile pulls a docker image
openlane:
	docker pull $(IMAGE_NAME)

With the following variables set as:
CURRENT_TAG ?= $(shell python3 ./.github/scripts/dependencies/get_tag.py)
IMAGE_NAME ?= efabless/openlane:$(CURRENT_TAG)

And in get_tag.py where I assume is the function that grabs the latest tags:
def get_tag():
    tag = None

    try:
        tag = subprocess.check_output(["git", "describe", "--tags", "--abbrev=0"]).decode("utf8").strip()
    except Exception as e:
        pass

    if tag is None:
        try:
            tag = open("./resolved_version").read()
        except:
            print("Please input the version of OpenLane you'd like to pull: ", file=sys.stderr)
            try:
                tag = input()
                with open("./resolved_version", "w") as f:
                    f.write(tag)
            except EOFError:
                print("Could not resolve the version of OpenLane being used. This is a critical error.", file=sys.stderr)
                exit(-1)

    return tag

If subprocess.check_output(["git", "describe", "--tags", "--abbrev=0"]).decode("utf8").strip() in get_tag.py won't work, then what are the contents of ./resolved_version?
./resolved_version is in the .gitignore so I am not sure if I would spot it.
@msaligane

The Makefile pulls a docker image

To be very clear, I meant how are you cloning the OpenLane repository. What is, or was, the git command you used? This is one of the very few reasons that might cause git describe --tags --abbrev=0 to fail.

./resolved_version is a filesystem cache for those using OpenLane without git, where they'd have to type in the OpenLane version manually via teletype. However, given that you are trying to run OpenLane in a CI environment, this is not particularly relevant.

Hello @donn
Sorry for the late reply,
Thanks for clarifying some stuff!
However, I am not completely sure I understand your question,
But I can provide 2 things that are relevant to OpenROAD:
(1)
The tool_metadata.yml file (https://github.com/idea-fasoc/OpenFASOC/blob/main/.github/scripts/tool_metadata.yml) is being used at some point when the Makefile is pulling the docker image.
And in the file tool_metadata.yml, the relevant portion looks something like:
- name: openroad_app
  repo: https://github.com/The-OpenROAD-Project/OpenROAD
  commit: fb8ae93b6c7a5eb0e6fac83360a8a48d76c41885
  build: |
    mkdir -p ./build
    cd ./build
    cmake -DCMAKE_INSTALL_PREFIX=$PREFIX/bin ..
    make -j$(nproc)

(2)
I actually did the following in the YAML for GHA (This step is before the make pdk mentioned last time)
This step is successful
      - name: Install OpenROAD
        run:  |
          cd /home/runner/work
          git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
          cd OpenROAD
          sudo ./etc/DependencyInstaller.sh -dev
          sudo ./etc/Build.sh

Sorry if my response is not comprehensive. If so, probably because I am still confused what's going on.
Thanks in advance!!

Well, the confusion here stems from the fact there are two similarly named projects, OpenROAD and OpenLane. You're showing me an OpenROAD clone here. I need the OpenLane clone.

Hello @donn
Though experimental, I followed the setup in https://github.com/The-OpenROAD-Project/OpenLane and it seemed to work. The only thing now is to explicitly provide the location of open_pdks to the python script we are currently running.
I'll see if I can get it to work.
Thanks @donn
FYI @mehdi

Welp, best of luck.


Cluster info in outgoing message

Description
Cluster info in outgoing message
Type of change

New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Unit tests (no changes in the code)

Testing steps
Done on CI
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report

Merging #29 (9f76365) into main (d3b1333) will decrease coverage by 3.18%.
The diff coverage is 43.75%.

@@            Coverage Diff             @@
##             main      #29      +/-   ##
==========================================
- Coverage   90.82%   87.64%   -3.19%
==========================================
  Files          17       17
  Lines         425      437      +12
==========================================
- Hits          386      383       -3
- Misses         39       54      +15

Impacted Files
Coverage Δ

ccx_messaging/publishers/sha_publisher.py
62.50% <43.75%> (-37.50%)
: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 d3b1333...9f76365. Read the comment docs.


Exceptions aren't exported

There doesn't seem to be a way to access the SDK's defined exceptions from a dependant
 Front conversations

You can import the resin exceptions by doing something like from resin import exceptions as resin_exceptions

Thanks, @nghiant2710 – maybe this could be added to the documentation, as there seem to be quite a few people looking for this information (or just wouldn't figure it out, like me)?


Sphinx documentation and version support

Sphinx documentation initial commit
version display support

Version numbers will be automaticaly updated on the readthedoc page
Subject releases to be tagged as following:
v1.0
v2.0
v2.1
See docs/source/conf.py
This PR has:

[ ] Appropriate testing (molecule, python unit tests)
[ ] Appropriate documentation (README in the role, main README is up-to-date)

Where will we publish the html version? Or we won't?

The initial commit can be seen here: https://ci-framework.readthedocs.io/en/latest/
I'm working on nice charts and they will be submitted soon

@

Where will we publish the html version? Or we won't?

the version willbe automaticaly taken from git repo tags. So releaser will only need to tag like v1.0 (look at conf.py)
Also I have configured readthedocs to create docs for each release we have a tag for.

it works now with .md files: https://ci-framework.readthedocs.io/en/latest/structure.html (just indes.rst must me in rst format)

/approve

/lgtm


Provide a way to disable the cursor animation

Hello.
I've been using these tests with some integration tests, and it results in them being stuck as they often have steps which wait for no more paints to occur. With this widget, the cursor keeps blinking no matter what, and therefore the paints never stop.

Hey, did you try showCursor flag?

I did. However, what would be ideal is to have some way to show the cursor, but not animate it.
This also seems to interfere with golden tests, as they also rely on all the painting finishing.

Hey, sorry for the late response.
2.2.13 -03/10/2022

Bumped minimum Flutter SDK version to 2.0.0
Added

Property
Meaning/Default

isCursorAnimationEnabled
true

@Tkko : Please, nothing to apologize for.
I'm super happy that you've even solved this. You're providing an awesome open source project, and I'm just happy for this extra package.
Thank you for solving this issue.
If you're ever in Barcelona, Spain, please shout out, I owe you a beer.


Document incompatible options

File: compose/reference/up.md, CC @gbarr01
docker-compose up --force-recreate -d -t 60 gives the error -d and --timeout cannot be combined.
The doc for option -d/--detach says incompatible with --abort-on-container-exit but nothing about -t.
Document also the -t side.
Thanks

Well it seems that it is fine in docker-compose version 1.20.1 but it fails in an older version (not sure which one is on the server).
Closing.


rename from WildFly Swarm to Thorntail

WIP because the workaround for THORN-2015 is suboptimal.

Un-marking WIP because I don't think there's currently a better workaround for THORN-2015.


Support Custom / Default Proxy

I'm currently trying to get this working in our TeamCity environment, which unfortunately due to all the usual corporate nonsense is in a proxied setup.
Trying to run this I'm getting "System.Net.WebException: ... Proxy Authentication Required".
There are proxy details configured in the internet options (default IE settings) for the machine and these are correct.
I've encountered this issue before when working with OctoKit myself, and a fix was to initialise the github client with a declaration to use the default proxy:
var webProxy = new WebProxy("proxyAddress", true);
client = new GitHubClient(new Connection(new ProductHeaderValue(ProductName), new HttpClientAdapter(webProxy)))

I've even tried adding a `GitReleaseManager.exe.config" file in the chocolatey directory where the exe is placed, with the following content:
<configuration>
	<system.net>
		<defaultProxy enabled="true">
			<proxy usesystemdefault="True"/>
		</defaultProxy>
	</system.net>
</configuration>

This isn't having the desired effect though.

Bit of digging led to BaseGitHubSubOptions.cs where:
public GitHubClient CreateGitHubClient()
  {
    var credentials = new Credentials(this.UserName, this.Password);
    var github = new GitHubClient(new ProductHeaderValue("GitReleaseManager")) { Credentials = credentials };
    return github;
  }

So it does appear as though this doesn't pay attention to proxy settings.

@ckpearson thanks for reaching out!
Yeah, a proxy is not something that I have had to worry about, and therefore not included in the current GitReleaseManager.
Are you in a position to put together a PR to implement this?  If so, I would be happy to get this pulled in.
Thanks!

@gep13 sure, I'll get something together for you!


[Dewhale] implements #250

[Dewhale] This PR implements #250, created by Dewhale.

[Dewhale]: Certainly! Below is the Vue code for a navigation menu that resembles the one shown in the image. This code uses the NavigationMenu component from the provided UI components library.
This code snippet creates a navigation menu with items that change color on hover, indicating interactivity. The first item includes an icon for visual emphasis. The Home icon from lucide-vue-next is used to match the icon in the provided image. The menu is styled with a white background and a shadow for depth, and spacing is applied for visual separation of the menu items.


Network Error / Refused to set unsafe header "User-Agent"

I am trying to use the WebUntis API in a React Native / TypeScript project on Stackblitz, but it keeps throwing this network error and I have no clue why.

I don't know if this has to do with the API, because I am new to react and APIs, so any help would be appreciated.

This is not an issue with WebUntis or the API itself. This is how Content Security in browsers work. You can't access api routes from a foreign host except if he allows it. However, you can try to set https://github.com/SchoolUtils/WebUntis/blob/master/index.js#L25 manual and add a CORS proxy.
For example (untested):
// untis is your untis api instance
untis.baseurl = "https://crossorigin.me/" + untis.baseurl;

Thank you for the answer.
I am setting the base URL here (which should be the same, right?):

Unfortunately, I still get the same error when using crossorigin.
It works with mese.webuntis.com when I use it locally with node, so I don't know what's wrong here.

Oops, the firstshouldn't be there..

I could provide an option which disables the user agent.

That would be great but would that fix my issue? Because I don't know what to do at that point..

That would be great but would that fix my issue? Because I don't know what to do at that point..

I can't promise it. But maybe it will. At least it will fix the User Agent error.

I published a new version with the disableUserAgent option:

I appreciate the effort! But for me, it didn't fix the problem. Neither with crossorigin nor without.

Which problem still persist?

Or better, can you provide a project for reproduction?

I still get these errors:

This is what the console on stackblitz says:

Here's my code, broken down to the bare minimum:
`import React, { Component } from 'react';
import { render } from 'react-dom';
import Hello from './Hello';
import './style.css';
const WebUntis = require('webuntis');
interface AppProps {}
interface AppState {
endTime: string;
}
const untis = new WebUntis(
'htbla_kaindorf',
'traley17',
't&BpMsJd6q#p',
'mese.webuntis.com/',
'Stackblitz',
'true'
);
let endTime: string;
let day = new Date(2022, 0, 17);
async function getLastLesson(day: Date) {
console.log('getLastLesson');
try {
await untis
.login()
.then(() => {
console.log('1');
return untis.getOwnTimetableForRange(day, day);
})
.then((timetable) => {
timetable.sort((a, b) => a.startTime - b.startTime);
let endTime = WebUntis.convertUntisTime(
timetable[timetable.length - 1].endTime,
new Date()
);
return endTime;
})
.then((endTime) => {
try {
console.log('Success');
console.log(endTime);
} catch (error) {
endTime = 'Error';
console.log(error);
}
});
} catch (error) {
console.log(error);
}
}
getLastLesson(day);
class App extends Component<AppProps, AppState> {
constructor(props) {
super(props);
this.state = {
endTime: endTime,
};
}
render() {
return (

Last lesson is at: {this.state.endTime}

);
}
}
render(, document.getElementById('root'));
`

But why are you not using the crossorigin proxy anymore? Without it, it will never work inside of a web browser.

With crosorigin:

I also tried two other CORS proxies (thingproxy and alloworigin) but that only made it worse.

Ok, I tested it locally and now I know what the issue is. It seems like there is no good public available CORS proxy anymore. Most of them faced too much abuse. You now have only two options:

Host your own CORS proxy and use it instead of crossorigin.me. crossorigin.me doesn't even exist anymore, this is why the request fails. You can use this https://github.com/Rob--W/cors-anywhere to setup your own CORS proxy
You do all WebUntis requests on server side with nodejs

I also tried two other CORS proxies (thingproxy and alloworigin) but that only made it worse.

Most of them get disqualified, because they do not support everything what webuntis needs https://gist.github.com/jimmywarting/ac1be6ea0297c16c477e17f8fbe51347

Well, that's sad. I don't think these solutions are right for me, as I don't have the option to self-host. But thank you for everything!

When somebody ever needs this:
I tested a local version of https://github.com/Rob--W/cors-anywhere This works fine.
To make it work with http for local testing, you need to do this
// Untis instance
untis.baseurl = `http://` + YOUR_BASE_URL;
// Update the axios instance
untis.axios = untis.axios.create({ baseURL: untis.baseurl });


Fixed custom accent colour reset when "Use windows accent colour toggled"

Thanks! I will give it a test and merge your changes if everything works correctly.

@JasonStein this is ready to merge:)


Moving to a new controller

I have a HUSBZB-1 and am thinking of moving to a newer controller.  I am not entirely sure that HUSBZB-1 supports priority routes or not for example (at least I can't find any info on it).
I'm not clear on the process.  I have backups, but not NVM (yet.)  I read the backing up NVM between different model controllers is not a good idea.
Will restoring the other backup with a new stick attached "just work"?  I also read about having the new stick as a secondary controller and then promoting it.  I don't know if that was for this project or some other software.

The most important thing when changing controllers is the NVM backup as that's the backup of controller memory.
The only one that can aswer your question about compatibility issues between NVM backups is @AlCalzone

I'm almost better off running a second Z-JS instance in docker and going through the pain of repairing everything when I have time to do a few of the devices at a time.

How many devices do you have? That's probably what I'd do.

Any thoughts on what the current "best" modern zwave USB sticks are?

According to very recent tests:

HomeSeer G8
Zooz ZST39

The Nabu Casa stick is going to take the first spot when it is out, but that can still take a while.

According to very recent tests:

HomeSeer G8
Zooz ZST39

The Nabu Casa stick is going to take the first spot when it is out, but that can still take a while.
I don't have any other 800 series sticks though, seems a few others came out recently.

Thanks! Other than a zwave door lock (non-plus) that likes to fall off the network because it doesn't realize there are 3 wired devices closer, I'm not in a big hurry.  It might be easier to get the Zwave+ module for that one in the short term anyway.


Add gcPreAllocateBlock()

This needs separate porting to dev, so do not merge to master

@jwunderl thinks this might be missing to fix the build https://github.com/microsoft/pxt-common-packages/pull/859/files

@mmoskal anything missing here?

Should be good to go, but this is for microbit branch

Looks good


Jedis Truck Factor

As part of my PhD research on code authorship, we calculated the Truck Factor (TF) of some popular GitHub repositories.
As you probably know, the Truck (or Bus) Factor designates the minimal number of developers that have to be hit by a truck (or quit) before a project is incapacitated. In our work, we consider that a system is in trouble if more than 50% of its files become orphan (i.e., without a main author).
More details on our work in this preprint: https://peerj.com/preprints/1233
We calculated the TF for Jedis and obtained a value of 2.
The developers responsible for this TF are:
Jonathan Leibiusky - author of 52% of the files
Jungtaek Lim - author of 34% of the files
To validate our results, we would like to ask Jedis developers the following three brief questions:
(a) Do you agree that the listed developers are the main developers of Jedis?
(b) Do you agree that Jedis will be in trouble if the listed developers leave the project (e.g., if they win in the lottery, to be less morbid)?
(c) Does Jedis have some characteristics that would attenuate the loss of the listed developers (e.g., detailed documentation)?
Thanks in advance for your collaboration,
Guilherme Avelino
PhD Student
Applied Software Engineering Group (ASERG)
UFMG, Brazil
http://aserg.labsoft.dcc.ufmg.br/

Interesting. :) It would be more great if you ask this questions on google groups, or mail.
Please post it again via other methods I stated. Thanks!

Ok. I'll post the question on google groups.


drivers: ethernet: adin2111: add adin1110 support

The ADIN1110 is an ultra low power, single port, 10BASE-T1L transceiver design for industrial Ethernet applications and is com- pliant with the IEEE® 802.3cg-2019™ Ethernet standard for long reach, 10 Mbps single pair Ethernet (SPE). Featuring an integrated media access control (MAC) interface, the ADIN1110 enables direct connectivity with a variety of host controllers via a 4-wire serial peripheral interface (SPI). This SPI enables the use of lower power processors without an integrated MAC, which provides for the lowest overall system level power consumption. The SPI can be configured to use the Open Alliance SPI protocol or a generic SPI protocol.
Documentation:
https://www.analog.com/en/products/adin1110.html

@GeorgeCGV - sorry for late jumping in - and this is more related to ADIN2111. As fair as I've read from PR for this chip - it supports ADI's Generic SPI protocol instead of OPEN Alliance.
Is there any plan to use OPEN Alliance libraries in the future for it?
I'm going to add support for T1S from Microchip - LAN8651 to be precise - and it looks like some code for libtc6 is already available for usage.

@lmajewski great that SPE gains traction. The OPEN Alliance should be added in a generic way so that it could be used by many drivers. The ADI's "ADIN2111 Non Operating System Driver" has OA implementation as well.
Currently, there are no plans to add OA. It could be useful one day. As always, contributions are welcomed.

@GeorgeCGV - I will try to add as much tc6 implementation as possible.

@lmajewski great that SPE gains traction. The OPEN Alliance should be added in a generic way so that it could be used by many drivers. The ADI's "ADIN2111 Non Operating System Driver" has OA implementation as well.
Currently, there are no plans to add OA. It could be useful one day. As always, contributions are welcomed.

Just some feedback on when it might be useful to use OA and could be motivation to try to implement it. At our University we worked with ADI and had access to the ADIN1110 dev kits. We did round-trip latency tests and OA protocol reduced it in comparison to the generic protocol. For TCP/IP stack it might not matter but when working with raw ethernet frames and low-level protocol (custom ethernet frame) for field-device applications it can reduce cycle times for sensor data. Disclaimer: we used the ADIN none-os driver.


feat(sdk): Allow setting TDF mime type

@strantalis I'd personally vote no on that because that leaves room for unpredictability which I'm not a fan of. I'm just me though, so happy to if the general consensus is in favor.


Change components' draw() to take an ImageDraw

The best (?) way to get rid of the many draw objects I'm passing around is to pass the draw object when calling the draw method. Like this:
def draw(self, drawing: ImageDraw, x: int, y: int) -> None:
    ...

Then we don't need to pass it in when constructing the objects and our tests don't need to pass None all the time.

Starting with layout.py:
Instead of calling draw() on every component, just yield the x/y coordinates via __iter__ or another function. Only height() and width() so perhaps draw() can be removed from ImageComponent.

Changing components, including Countdown does not look like it will cause any difficulties.

In compose.py we should replace the call to layout.draw() with a zip() of x/y and the component list we already have, then loop and call draw() on each component.

In our tests:

test_countdown_component.py can simply remove the None draw parameters.
test_layout.py can ditch the LoggerComponent and simply test the output of the iterator.

In order to work in baby steps, create a new method draw_xxx(), change everything over then rename back to draw(). Thanks Mr Fowler.

Done, and it wasn't hard.


Maven site plugin fails with com/fasterxml/jackson/core/JsonProcessingException

Maven site plugin fails with com/fasterxml/jackson/core/JsonProcessingException
Missing "jackson-core" dependency in "dependency-check-utils" module:
<dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
</dependency>

Version of dependency-check used
The problem occurs using version 6.0.3 of the maven plugin.
Log file
dependency-check-logfile.txt

I'm confused about the reported issue as I am able to both run mvn site on the primary dependency-check project and I can run the dependency-check-maven plugin when configured as a site report. Both work without adding jackson as a dependency.
What are you running that produces this error?

@jeremylong Thanks for checking.
I created sample project to reproduce the issue: https://github.com/osyniakov/JsonProcessingException
Please check-out project and run the command: ./mvnw clean site:site
Same build passes if I downgrade dependency-check-maven to 6.0.2.
Sorry for confusion I should have added sample project before.

I'm not seeing the same behavior.
$ git clone https://github.com/osyniakov/JsonProcessingException.git
$ cd JsonProcessingException
$ ./mvnw clean site:site

[INFO] Finished Sonatype OSS Index Analyzer (0 seconds)
[INFO] Finished Vulnerability Suppression Analyzer (0 seconds)
[INFO] Finished Dependency Bundling Analyzer (0 seconds)
[INFO] Analysis Complete (2 seconds)
[INFO] Generating "Dependency Information" report --- maven-project-info-reports-plugin:3.0.0:dependency-info
[INFO] Generating "About" report         --- maven-project-info-reports-plugin:3.0.0:index
[INFO] Generating "Plugin Management" report --- maven-project-info-reports-plugin:3.0.0:plugin-management
[INFO] Generating "Plugins" report       --- maven-project-info-reports-plugin:3.0.0:plugins
[INFO] Generating "Summary" report       --- maven-project-info-reports-plugin:3.0.0:summary
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.016 s
[INFO] Finished at: 2020-11-12T06:36:51-05:00
[INFO] ------------------------------------------------------------------------

Jackson is used in the core library of dependency-check and jackson-core is included as a transitive dependency.

@jeremylong thank you for a prompt reply. I tried running my test project on different PC and build passed without issues.
Looks like there is a problem with my environment.


What happens if patch fails?

[Enter feedback here]
This page does not provide any information on what happens if the Patch command fails. Is there a return value to check or is an error thrown. I'm specifically interested int he modern commanding button usage (where it appears to fail silently)?

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

ID: fa25d2ca-ccc1-0e10-e065-731926bb673c
Version Independent ID: fa25d2ca-ccc1-0e10-e065-731926bb673c
Content: Patch function (contains video) - Power Platform
Content Source: power-platform/power-fx/reference/function-patch.md
Service: power-platform
Sub-service: power-fx
GitHub Login: @gregli-msft
Microsoft Alias: gregli

Thanks for your comment, @iddycol. This issue has been assigned to the doc author for review.


Case owner page changes

https://trello.com/c/GRECFDAi/518-3-improve-case-owner-change-page
Description
The main aim for this change is to split the radios up into sub groups (using dividers) so that it is easier for the user to select the person or group that they want to assign case ownership to, however there is also some extra logic to which users we should show in which groups:
You team section should show options (if available) in the following order

case assignee

current user

someone in your team

current team

nothing should be repeated (eg. if case assignee is current user, the user should not be shown twice)

For OPSS users the other section should show:

OPSS Enforcement
OPSS Incident Management
OPSS Trading Standards Co-ordination
Other team [autocomplete of teams]
Other user[autocomplete of users]

For non OPSS users the other section should show:

OPSS Incident Management (with hint text: "For reporting serious risks to OPSS")
Other team [autocomplete of teams]
Other user[autocomplete of users]

General rules:

Do not show Other teams added to the case divider if there are no other teams added to the case
Do not show the case_owner_team in Other teams added to the case
Do not show the  case_owner_team in Other
Do not show teams added to the case in other

Checklist:

[ ] Have you documented your changes in the pull request description?
[ ] Does the change present any security considerations?
[ ] Is any gem functionality overloaded? Eg: Devise controller methods being overloaded.
[ ] Has acceptance criteria been tested by a peer?
[ ] Has the CHANGELOG been updated? (If change is worth telling users about.)

General testing (author)

[ ] Test without JavaScript
[ ] Test on small screen

Accessibility testing (author)

[ ] Works keyboard only
[ ] Tested with one screen reader
[ ] Zoom page to 400% - content still visible
[ ] Disable CSS - does content make sense and appear in a logical order?

Different HTML, including:

Attribute missing from Form
Different class on parent grid column
The main title is different
Missing title legend elements
The fieldset is missing
The main hint text HTML is different
The hint text is different and missing a full stop
Form group div in wrong place
Continue button has been wrapping in a form group
Continue button is currently an input type=button (use a hidden input for value if required)
The inline hint text for OPSS incident management doesn’t’ is missing the described by attributes and logic
The inline hint text for OPSS incident management is using the wrong html element and is missing classes (wrong text size)
The inline hint text for OPSS incident management is missing the full stop.

Its become apparent that the list has hidden/expanding form select options – these non-gds styles can be picked up (and HTML improved) on the sitewide audit. (Until then we can keep the parent class govuk-grid-column-two-thirds-from-desktop to manage the ajax select forms)
The sitewide habit of having a lone text hyperlink below the action button (inside paragraph tags?) can be reviewed/corrected during a sitewide audit.
Toby: not sure about the sub-title “Enquiry: 2105-005” here, but that can be reviewed as part of a sitewide audit. Also, a more elegant accessibility compliant design solution can be found to avoid the JavaScript selects? I’m not even sure why we’re using them as the standard fall back (JavaScript disabled version) is much better?

Bug spotted: OPSS Incident Management is shown twice in the list.


Test Issue

This is a test issue

Another comment

hope this works!

more comments!

comment a roo!

comment 123

dfdffd

dfddffd


DS02S

I'm having a issue loading some DS02S. They have a board version 2.1 2020/06/23. Main module FW was 1.1.71 and MCU v3.6.2.
The WIFI adapter it came wit was a WB3S so I replaced them with some ESP-12S. I'm able to load your FW, connect it to my network using the WIFI manager and I'm able to add it to HomeKit. I can turn on the light with the physical button, the dimmer works.... BUT HomeKit is unable to control the switch. It toggle the button being on/off but the light does not turn on.
I loaded the bin from release 1.9.1 (DS02S.bin)

This is the Tasmota configuration that I used that worked:
BackLog setoption97 0; TuyaMCU 21,2;SetOption20 1; SetOption54 1; TuyaSend2 3,100; DimmerRange 10,1000; TuyaSend4 4,1; SerialSend5 55AA00060005040400010013; ledtable 0; WebLog 2;

Finally had a chance to look at this again. All that was needed as to change the baud rate. It's working now :)
tuya_init(115200);

Excellent!! Sorry I didn’t get a chance to look at that myself.  I remember having the same problem for one of the other models.  Glad you got to the bottom of it.  Did you have a recommendation for a permanent fix?  Maybe we just build all the firmwares with both baud rates as options?

Ouch. I noticed they started doing that, which I think is illegal in the US
(since they haven’t updated the FCC label).
Well done on the ESP-12 replacement!  I suspect they may have also changed
some of the DpId’s. I reversed all of that using Tasmota since it will talk
the Tuya API as well. I’d suggest flashing Tasmota, so you can figure out
which DpIds control the light, and dimmer, then we can make a new device
type in this repo for it that sends the proper signals.
Sorry you’re having so much trouble, but it sounds like most of the hard
work is done!
On Tue, Aug 23, 2022 at 16:34 boboxx @.***> wrote:

I'm having a issue loading some DS02S. They have a board version 2.1
2020/06/23. Main module FW was 1.1.71 and MCU v3.6.2.
The WIFI adapter it came wit was a WB3S so I replaced them with some
ESP-12S. I'm able to load your FW, connect it to my network using the WIFI
manager and I'm able to add it to HomeKit. I can turn on the light with the
physical button, the dimmer works.... BUT HomeKit is unable to control the
switch. It toggle the button being on/off but the light does not turn on.
I loaded the bin from release 1.9.1 (DS02S.bin)
—
Reply to this email directly, view it on GitHub
https://github.com/paullj1/TreatLife-HomeKit/issues/10, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDPSB2KTTA6S4Q3F5IJLUDV2UYU7ANCNFSM57M35LNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


optional png fallback option

What do you think of an option to generate SVG with <image>-tag that provide the png fallback?
resources:

http://lynn.ru/examples/svg/en.html
http://css-tricks.com/svg-fallbacks/

-1 as long as this means a dependency (directly or indirectly) to PhantomJS or any other heavy weight module.


Change llvm call once check for building Swift for PowerPC(ppc64le)

Change llvm call once check for building Swift for PowerPC(ppc64le). These changes are required to resolve the call_once related errors seen while building the Swift toolchain on PowerPC64LE.

This code change needs to go in along with following PRs:
https://github.com/apple/swift/pull/21038
https://github.com/apple/swift-package-manager/pull/1906

Can you get this into the upstream LLVM sources first? This change does not seem like it is specific to Swift.

Bug 39912 has been successfully created.
Also I have posted this patch on LLVM's Phabricator suggestion. Following is the link for patch review:-
https://reviews.llvm.org/D55503
Please let me know if anything else is required.

Can you change this PR to be a cherry-pick of r348970 (304fa37d2311)?

Hi Bob, please see my comments in https://reviews.llvm.org/D55503

Yes, I saw that. I agree that we'll need to figure out the right solution on trunk before cherry-picking anything here.

I'm going to close this PR.  The necessary changes have been made in LLVM upstream.  If  they aren't in the 5.1 branch, we can pull them into the 5.1 branch as backports.


Update apt keyring installation (Japanese)

Part of:
#41373
#41374
#41375
#41376
See #41307

The plain google signing key for apt does not work anymore. It needs to be "deamord" using gpg.

Replaces #41349

I do not know Japanese

/lgtm

/assign @nasa9084
Could you review this?

/approve
Thank you!


pysam issues with cite-seq-count 1.4.2

I previously used CITE-seq-Count 1.3.2 for data processing. It worked fine. However, when I tried to upgrade to CITE-seq-Count 1.4.2, one required toolkit "pysam" could not be installed on my computer.
When I installed pysam 0.15, it generated an error "ERROR: Command "python setup.py egg_info" failed with error code 1." While this error was reported in some posts on Internet, the proposed solutions on-line didn't work for me. Can you advise how to overcome this?
My computer uses Windows OS. I tried pysam 0.15.0, 0.15.1, and 0.15.2.  I tried both Python 3.6 and 3.7, and I have updated pip and setuptools.
Thanks again.

Hello @yuchchen
I need a few more pieces of information about your system.

Do you use conda/miniconda?
Could you paste the whole error when you try to install the package as well as the command line used?
Are you sure that pip is using python3.6 when it installs packages? I'm asking because it seems that some people have the same issue as you but only with python3.7

Hi,

I tried both Anaconda and also Command Prompt directly.

Full error message is attached below.

I installed Python 3.6 and 3.7 in two different folders. I executed
install command in their respective folders. I think pip used python 3.6
and 3.7 respectively. Is there another way to check it.

Thanks much.
Sincerely,
Yu-Chih
python -m pip install --upgrade pysam
Collecting pysam
Using cached
https://files.pythonhosted.org/packages/15/f6/ce0611aaa1865a616f7dc164fbf046eaf38f2b17c6d404403c56250beb93/pysam-0.15.2.tar.gz
ERROR: Complete output from command python setup.py egg_info:
ERROR: '.' is not recognized as an internal or external command,
operable program or batch file.
'.' is not recognized as an internal or external command,
operable program or batch file.
make: ./version.sh: Command not found
make: ./version.sh: Command not found
make: uname: Command not found
Makefile:228: Extraneous text after else' directive     Makefile:231: Extraneous text after else' directive
Makefile:231: *** only one `else' per conditional.  Stop.
# pysam: cython is available - using cythonize if necessary
# pysam: htslib mode is shared
# pysam: HTSLIB_CONFIGURE_OPTIONS=None
# pysam: htslib configure options: None
Traceback (most recent call last):
File "", line 1, in
File
"C:\Users\YU-CHI~1\AppData\Local\Temp\pip-install-tejjupf8\pysam\setup.py",
line 223, in
htslib_make_options = run_make_print_config()
File
"C:\Users\YU-CHI~1\AppData\Local\Temp\pip-install-tejjupf8\pysam\setup.py",
line 69, in run_make_print_config
stdout = subprocess.check_output(["make", "-s", "print-config"])
File "C:\Users\Yu-Chih
Chen\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 356,
in check_output
**kwargs).stdout
File "C:\Users\Yu-Chih
Chen\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 438,
in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['make', '-s', 'print-config']'
returned non-zero exit status 2.
----------------------------------------
ERROR: Command "python setup.py egg_info" failed with error code 1 in
C:\Users\YU-CHI~1\AppData\Local\Temp\pip-install-tejjupf8\pysam\
On Wed, Jun 5, 2019 at 10:48 AM Patrick Roelli<EMAIL_ADDRESS>wrote:

Hello @yuchchen https://github.com/yuchchen
I need a few more pieces of information about your system.

Do you use conda/miniconda?
Could you paste the whole error when you try to install the package
as well as the command line used?
Are you sure that pip is using python3.6 when it installs packages?
I'm asking because it seems that some people have the same issue as you but
only with python3.7

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Hoohm/CITE-seq-Count/issues/60?email_source=notifications&email_token=ALGMGUC7RO4Q72J46DDH7PDPY7G5LA5CNFSM4HTZ5WN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW76PYQ#issuecomment-499116002,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALGMGUG6DNNV7SAM2LPDI4TPY7G5LANCNFSM4HTZ5WNQ
.

Well this is going to be fun :)
https://github.com/pysam-developers/pysam/issues/740
One of the solutions seems to use bash in windows.

If there is no other way to solve it, trying Ubuntu maybe an alternative.
Thanks much.
Yu-Chih
On Wed, Jun 5, 2019 at 11:07 AM Patrick Roelli<EMAIL_ADDRESS>wrote:

Well this is going to be fun :)
pysam-developers/pysam#740
One of the solutions seems to use bash in windows.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Yeah I guess it's linked to pysam's installer and they haven't answered this issues since November 2018. My guess is, they won't bother. :(

Hi, Patrick,
I have another question regarding CITE-seq-Count. I used DropSeq toolkit to
generate DGE file. One option is to use DetectBeadSynthesisErrors to
correct truncated cell barcodes. After correction, it may generate an "N"
as the final bit of the corrected cell barcode. My question is whether
CITE-seq-Count can handle "N" properly. For example, can an ADT with
"AAAAAAAAAAAA" cell barcode be mapped to "AAAAAAAAAAAN"?
Thanks much.
Sincerely,
Yu-Chih
On Wed, Jun 5, 2019 at 11:17 AM Patrick Roelli<EMAIL_ADDRESS>wrote:

Yeah I guess it's linked to pysam's installer and they haven't answered
this issues since November 2018. My guess is, they won't bother. :(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Hoohm/CITE-seq-Count/issues/60?email_source=notifications&email_token=ALGMGUCNS2XXVXZOQQTYI6DPY7KKBA5CNFSM4HTZ5WN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXABRFY#issuecomment-499128471,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALGMGUDKJ6B6TMVLAQD6HB3PY7KKBANCNFSM4HTZ5WNQ
.

UMI-tools is used to correct for cell barcodes and if I'm not mistaken, it's letter agnostic.
However, if you provide a whitelist with Ns in it, CITE-seq-Count will complain.
If it's only the last letter of the cell barcode. You can change the position of the -cbl to one bit earlier and provide a whitelist with one less cell barcode base.
Let me know if it's confusing :)

That makes sense. Thanks much.
Yu-Chih
On Thu, Jun 6, 2019 at 5:16 AM Patrick Roelli<EMAIL_ADDRESS>wrote:

UMI-tools is used to correct for cell barcodes and if I'm not mistaken,
it's letter agnostic.
However, if you provide a whitelist with Ns in it, CITE-seq-Count will
complain.
If it's only the last letter of the cell barcode. You can change the
position of the -cbl to one bit earlier and provide a whitelist with one
less cell barcode base.
Let me know if it's confusing :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Hoohm/CITE-seq-Count/issues/60?email_source=notifications&email_token=ALGMGUHZFOCZW7FROH2IBC3PZDIXXA5CNFSM4HTZ5WN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXCH34I#issuecomment-499416561,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALGMGUAPFSAFKWDB56VWXOTPZDIXXANCNFSM4HTZ5WNQ
.

Hi, Patrick,
I installed Ubuntu, and it seems to work.
After computation, I got a output folder. However, the data format is quite
complicated. Is there an easy to generate a TSV file as in 1.3 version?
Hope to have column 1 as the cell barcode, and ADT counts in the following
columns.
Thanks much.
Sincerely,
Yu-Chih
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Thu, Jun 6, 2019 at 5:16 AM Patrick Roelli<EMAIL_ADDRESS>wrote:

UMI-tools is used to correct for cell barcodes and if I'm not mistaken,
it's letter agnostic.
However, if you provide a whitelist with Ns in it, CITE-seq-Count will
complain.
If it's only the last letter of the cell barcode. You can change the
position of the -cbl to one bit earlier and provide a whitelist with one
less cell barcode base.
Let me know if it's confusing :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Hoohm/CITE-seq-Count/issues/60?email_source=notifications&email_token=ALGMGUHZFOCZW7FROH2IBC3PZDIXXA5CNFSM4HTZ5WN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXCH34I#issuecomment-499416561,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALGMGUAPFSAFKWDB56VWXOTPZDIXXANCNFSM4HTZ5WNQ
.

--dense seems to work. Thanks.
Yu-Chih
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Thu, Jun 13, 2019 at 2:17 PM Yu-Chih Chen<EMAIL_ADDRESS>wrote:

Hi, Patrick,
I installed Ubuntu, and it seems to work.
After computation, I got a output folder. However, the data format is
quite complicated. Is there an easy to generate a TSV file as in 1.3
version? Hope to have column 1 as the cell barcode, and ADT counts in the
following columns.
Thanks much.
Sincerely,
Yu-Chih
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#m_4989321839949890700_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Thu, Jun 6, 2019 at 5:16 AM Patrick Roelli<EMAIL_ADDRESS>wrote:

UMI-tools is used to correct for cell barcodes and if I'm not mistaken,
it's letter agnostic.
However, if you provide a whitelist with Ns in it, CITE-seq-Count will
complain.
If it's only the last letter of the cell barcode. You can change the
position of the -cbl to one bit earlier and provide a whitelist with one
less cell barcode base.
Let me know if it's confusing :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Hoohm/CITE-seq-Count/issues/60?email_source=notifications&email_token=ALGMGUHZFOCZW7FROH2IBC3PZDIXXA5CNFSM4HTZ5WN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXCH34I#issuecomment-499416561,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALGMGUAPFSAFKWDB56VWXOTPZDIXXANCNFSM4HTZ5WNQ
.

Great!
Happy that it worked in the end.
There is some help in the documentation if you want to use the sparse matrices: https://hoohm.github.io/CITE-seq-Count/Reading-the-output/
Can I close this issue?

Sure. Please. Thanks.
Yu-Chih
On Fri, Jun 14, 2019 at 1:21 PM Patrick Roelli<EMAIL_ADDRESS>wrote:

Great!
Happy that it worked in the end.
There is some help in the documentation if you want to use the sparse matrices: https://hoohm.github.io/CITE-seq-Count/Reading-the-output/
Can I close this issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


fix failing uperf tasks on airflow

Description
uses new var stored on the vault for ES_GOLD and ES_SERVER_BASELINE
removes GOLD_OCP_VERSION  var from defaults.json , since a new function in e2e automatically picks up the ocp version to run the gold comparisons against.
Fixes
fixes failing uperf tasks on airflow

Codecov Report

Merging #48 (0f2e711) into master (6a902d5) will increase coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Current head 0f2e711 differs from pull request most recent head 66b7bf7. Consider uploading reports for the commit 66b7bf7 to get more accurate results

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
+ Coverage   96.34%   96.35%   +0.01%
==========================================
  Files          17       17
  Lines         602      604       +2
==========================================
+ Hits          580      582       +2
  Misses         22       22

Flag
Coverage Δ

gha
96.35% <100.00%> (+0.01%)
:arrow_up:

python-3.9
96.35% <100.00%> (+0.01%)
:arrow_up:

unit
96.35% <100.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

dags/openshift_nightlies/tasks/benchmarks/e2e.py
96.36% <100.00%> (+0.13%)
: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 6a902d5...66b7bf7. Read the comment docs.


[S3] Adding retries for S3 file system operations

Requests to S3 can sometimes fail due to transient errors. This PR attempts to make the S3 File system more resilient by retrying some operations.
Moved the retrying file system capability for Cloud out of the folder, and used that for S3FileSystem as well.
Identified some cases where requests fail due to authentication failures, and raised an explicit error asking users to check their AWS credentials.
Changed the error code for one case. When TF tries to delete a non empty folder, changed the error code to Unknown from FailedPrecondition. This error can be thrown as S3 is eventually consistent. Here's a detailed explanation for why this can happen.
DeleteDir consists of 1) ListFiles in directory 2) Remove each file in directory 3) DeleteDirectory. Both the operations List and Remove are eventually consistent. So the result of these operations may not be available when the DeleteDirectory request is made. So that can fail. Hence we need to retry this operation.

@rahul003 Can you please check mihaimaruseac's comments and keep us posted? Thanks!

@mihaimaruseac Updated the PR as per your comments. Created couple of functions and reused them for all operations. Please review again

I think you need to replace cc_test with tf_cc_test

Thanks @MihailSalnikov , pushed a commit fixing the builds for the tests

When does tensorflow-gardener pull in a PR? How does that work?

After review on GitHub, code is imported by Copybara into Google, integrated with local changes there and then there is another round of reviews internally. Once that passes, Copybara will try to submit the code, running internal and external tests again. If all are green, tensorflow-gardener will merge the PR, otherwise someone needs to comment on the PR to report issues or manually patch the imported change to fix internal tests.
See also https://github.com/tensorflow/tensorflow/issues/36527#issuecomment-583529777

There are some conflicts. Can you ping me again once they're solved so I can do another review?

@mihaimaruseac Please review

Is there something to do on my end wrt the import/copybara failure?

No, I was able to manually import it. Probably a tool failure


Influxdb is not connecting with Fanuc driver latest releases - 0.6 & 0.7

Dear sir,
i m testing the driver with influx db cloud , 0.2 version is connecting, pulling the data, where as other versions are connecting with influxdb for a minute, then disconnected, not pulling data, again need to restart driver, it ll work for a less than minute, pls support me, m following ur fantastic work since from beginning, since very useful for learning.

@kalimuthu1984 None of our customers use the Influx interface so it has not been maintained or tested through 0.6 and 0.7 releases.

Thanks sir, for the update, may be there is a small bug,


Doesn't work in SD.Next (automatic1111 fork)...

Hi, I was trying this on Vladmandic's SD.NEXT (a fork of Automatic1111), but the extension doesn't work in it. Any chance we can get a fix or fork that works with SD.Next?... It would be greatly appreciated.

it seems to work on the latest version. Please fill in more details if there is still a problem.


[Bug]: Input rules do not apply styles correctly. Some marker characters are not replaced

What happened?
When using markdown syntax to e.g. write bold text by typing **bold text** it will be replaced to show **bold text* instead of bold text. Same applies to italics. This can be easily reproduced in the demo application: https://ngx-editor.stackblitz.io/.
Potential Cause & Solution
After a quick look at the code, I think the issue comes from the regex patterns in defaultPlugins.ts combined with the application of those rules in markInputRule.ts. All groups in the regex patterns are non-capturing, so the if(match[2]) branch is never executed and the wrong range is being replaced. It could probably be fixed by using capturing groups at the right place or using named groups.
Version
15.3.0
Angular Version
16.1.0
What browsers are you seeing the problem on?
No response
Link to reproduce
https://ngx-editor.stackblitz.io/
Relevant log output
No response
Willing to submit a PR?
Yes

Thanks for report. Please raise a PR, I will try to merge it soon.


Please write a RELEASING.md file

It should have information on how to update the pact library dependencies and make a new release.
And confirm the position of the pact-node package in the Pact Dependency Graph of Doom https://github.com/pact-foundation/README/blob/master/dependency_graph.md.

RELEASING.md file added, pact-node dependencies in dependency graph updated.


fix warning according to prefast code analysis

This change is

Coverage decreased (-0.04%) to 72.504% when pulling ad29c28dc445a12d4313c82946a779d6a67cb718 on v-kaywon:prefastwarnings into 14bfe87dac3c04e5f38129c013adca8a0bacc691 on Microsoft:dev.

Codecov Report

Merging #628 into dev will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #628      +/-   ##
==========================================
- Coverage   77.15%   77.13%   -0.03%
==========================================
  Files          25       25
  Lines        7315     7317       +2
==========================================
  Hits         5644     5644
- Misses       1671     1673       +2

Impacted Files
Coverage Δ

...x86/php-7.1.12-src/ext/sqlsrv/shared/core_sqlsrv.h
78.07% <0%> (-0.31%)
:arrow_down:

...php-7.1.12-src/ext/pdo_sqlsrv/shared/core_sqlsrv.h
74.8% <0%> (-0.29%)
:arrow_down:

...x86/php-7.1.12-src/ext/sqlsrv/shared/core_conn.cpp
72.67% <0%> (ø)
:arrow_up:

...php-7.1.12-src/ext/pdo_sqlsrv/shared/core_conn.cpp
77.57% <0%> (ø)
: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 14bfe87...ad29c28. Read the comment docs.


Stages SC3 recorded rides' zones are off

For some reason the zones are not the normal bike zone boundaries. Needs to be debugged.

I observed this and maybe I'm wrong. I'll reopen if I see it again.


Disallowed duplicate rule and label names

This commit adds 2 pass's to the compiler that disallow:

duplicate rule names (issue #318)
duplicate label names (issue #270)

The duplicate labels pass is based on #278 (by @mulderr) but fixed, as the original was assuming all choices within a rule shared labels, which they don't. The spec test is updated as #316 removed the need for 2 checks within the "reports duplicate labels inside expressions" test. Also updated pass to allow the user to disable the check by setting the 'option.reportDuplicateLabels' to a false value ('false' or '0').

Nice work and good catch with the choices thing.
@dmajda, this probably takes care of the modifications you had in mind in #270? Looks much better than my original pull request, so I would recommend going with this instead.

@futagoza If you’re still interested in this, I think the best way forward is to split this PR into two, one for each check. The reportDuplicateRules pass is OK and I’d be happy to take it in once small stylistic issues I noted are fixed. The reportDuplicateLabels pass needs more work.

#commitcomment-10544235 I don't mind removing this, but the only reason I implemented this option was because most import/include/concat methods people use often lead to duplicate rules, often intended. If this option isn't implemented they will have to modify their build systems to accommodate the requirement of unique rule names.
#commitcomment-10544484 I thought going through the choice rule fixed this issue, damn. I've checked how context.env is used in the generateBytecode pass, but following this would mean that I add most pegjs types to the check loop. I'll check it out and get back to you, but I think using a similar approach here is a-bit of an overkill, especially when the grammer is large.
@dmajda I don't mind splitting it in 2, I only put them together because it would be less work ;P

No activity here for some months ⇒ closing. If you will work on the duplicate labels check in the future, please open a new PR.


Homes Exploit

Homes can be set and teleported to via commands even if the config.yml is set so that it doesn't allow homes to be set in the world the home is being.

Fixed with v1.2.5


Multiple problems in consumer.Syslogd

If the configuration specifies a UNIX domain socket, and this socket already exists in the filesystem, consumer.Syslogd will fail with [2017-07-24 00:26:19 CEST] ERROR Failed to open unix:///tmp/gol.sock PluginID=SyslogdConsumer PluginType=consumer.Syslogd instead of simply reusing the existing socket

In the above situation, despite the "Error" during startup, Gollum doesn't terminate.

When shutting down, consumer.Syslogd doesn't remove this socket from the filesystem

Specifying a UDP or TCP transport for a protocol that only supports the other causes a "Warning" instead of a fatal error and termination.

When listening on a UNIX socket and running with Format: "RFC5424" or "RFC6587",  transmitting a message with logger -u /tmp/gol.sock dadwqewqe123213123 [1] produces only an empty string in the Gollum message. Test results of all formats and transports:

# RFC3164 UNIX  OK
# RFC3164 UDP   OK
# RFC3164 TCP   N/A
#
# RFC5424 UNIX  error - empty msg
# RFC5424 UDP   OK
# RFC5424 TCP   N/A
#
# RFC6587 UNIX  error - empty msg
# RFC6587 UDP   OK
# RFC6587 TCP   OK

[1] Debian 9 x86_64, logger from bsdutils 1:2.28.2-1

consumer.Syslogd doesn't provide syslogd-specific fields (facility, prio, etc) as Gollum metadata fields

"simply reusing" is not really possible as the socket can be owned by another process. A possible solution for this case is implemented in consumer.Socket.
Can be solved by pushing the error instead of just reporting it, but again, see 1
That's a bug
Interesting point. Until now we tried to fix the problem if possible (e.g. by forcing the correct protocol). We could change this to "don't startup" now as config errors will always stop gollum from starting, but this has to be consequently fixed in all other plugins, too.
Needs further investigation but this might not be a problem of the underlying library or the logger tool (which I personally don't think, but syslog clients seem to be broken quite often)
We did not touch syslogd after adding metadata, but this is a good idea.

"simply reusing" is not really possible as the socket can be owned by another process.

Apparently it's the server.ListenUnixgram() call that fails if the socket already exists, whether's it's in use or not - so the consistent behavior here would be to just fail hard and terminate startup if this happens.
Same for the .ListenTCP() and .ListenUDP() calls in Consume(), it doesn't look like their failures abort startup either.
Removing the socket at shutdown like consumer.Socket seems to do solves the idempotency problem anyway.

We could change this to "don't startup" now as config errors will always stop gollum from starting, but this has to be consequently fixed in all other plugins, too.

Agreed.


Permissions incorrect

az role assignment create --assignee  --scope $VNET_ID --role "Network Contributor"
is incorrect
permission "Network Contributor" must be assigned to scope route table instead.

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

ID: 719f4010-810f-b3c7-d807-222b39b20e20
Version Independent ID: 82ac8cfa-b0a2-c77a-408a-ab9aa2b6bce4
Content: Configure kubenet networking in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/configure-kubenet.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@ghaering Thanks for the feedback. We shall evaluate and update the document as appropriate.

@mlearned Can you please check and add your comments on this doc update request as applicable

Thank you @ghaering for the feedback!
We've added an item to our backlog and will prioritize accordingly.
#please-close


The character freezes when changing weapons and cannot do anything.

The character freezes when changing weapons and cannot do anything. the console links to the trainer
Exception] : IndexOutOfRangeException: Index was outside the bounds of the array.
EFT.InventoryLogic.SightComponent.GetCurrentOpticZoom () (at :0)
EFT.Trainer.Features.Players.AimingCheck (UnityEngine.Camera camera, EFT.Player player) (at <362280423381418a8b58a4328dc4aaec>:0)
EFT.Trainer.Features.Players.OnGUI () (at <362280423381418a8b58a4328dc4aaec>:0)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
Class327:UnityEngine.ILogHandler.LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

@FeN1X1945 I think I fixed the issue here: https://github.com/sailro/EscapeFromTarkov-Trainer/commit/cdfd115e75ab1a75ae167e39d191f705f9702e52
Could you try to re-install the trainer? It should be good now.

@Sailro I reinstalled it, it seemed to help. Tomorrow I'll test in more detail, at the moment the flight is excellent

good evening, the problem happened again, in a raid at a factory
[Exception] : IndexOutOfRangeException: Index was outside the bounds of the array.
EFT.InventoryLogic.SightComponent.GetCurrentOpticZoom () (at :0)
EFT.Trainer.Features.Players.AimingCheck (UnityEngine.Camera camera, EFT.Player player) (at <95e15a6cf77f4bafae9656f6fe7af57f>:0)
EFT.Trainer.Features.Players.OnGUI () (at <95e15a6cf77f4bafae9656f6fe7af57f>:0)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
Class327:UnityEngine.ILogHandler.LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

Did you reinstall the trainer?

yes

via universal installer

I do not repro with the latest trainer and spt-aki 3.7.3


Build fails for ruby versions 2.0.0 and 2.1.8: Gem::InstallError: rack requires Ruby version >= 2.2.2.

I'm not sure what is the right way to fix this:
https://travis-ci.org/bethesque/pact-mock_service/builds/149614097
https://travis-ci.org/bethesque/pact-mock_service/builds/149669454

Or fixing the versions of the dependencies IS the right way?

Hm. Maybe we just drop support for those!

I also get warnings about that while building gem:
WARNING:  open-ended dependency on rack (>= 0) is not recommended
  if rack is semantically versioned, use:
    add_runtime_dependency 'rack', '~> 0'

I don't know ruby well enough, but it sounds like it's better to have fixed versions for dependencies? Or should bundler automatically resolve such kind of problems?

Bundler automatically does this. It is good practice to look to a major (or minor) version, but not patch, so that any bug fixes can automatically be used. I think the best thing to do would be to use something like Appraisals and have different gem versions for the different rubies.
But I'm a bit strapped for time at the moment, so dropping support for the older rubies is probably the best option right now.


Adds Data Ethics Paragraph to Implementation

Signed-off-by: Elizabeth Barron<EMAIL_ADDRESS>

After further consideration, I think this metric could use a refresh. I see some things that could be improved. I'm closing this without merging, and we'll add the data use statement during the refresh.


Baselines for ENH: Add evenly spaced streamlines.

@danlipsa why is there so little changes in the updated files?

Are these the non-equally spaced streamlines tests?

@doutriaux1 Yes, I kept them both. Not sure if we should do that or not.


Error: Building package eigen3:x86-uwp failed with: BUILD_FAILED

I am using vcpkg for building hololens spectator view plugin and followed the given steps from
https://github.com/Microsoft/MixedRealityToolkit/blob/master/SpectatorViewPlugin/README.md
when is try the following step
https://github.com/Microsoft/MixedRealityToolkit/blob/master/SpectatorViewPlugin/README.md
I get this error
The following packages will be built and installed:

eigen3[core]:x86-uwp
libjpeg-turbo[core]:x86-uwp
libpng[core]:x86-uwp
opencv[contrib,core,eigen,flann,jpeg,opengl,png,tiff]:x86-uwp
opengl[core]:x86-uwp
tiff[core]:x86-uwp
zlib[core]:x86-uwp
Additional packages (*) will be modified to complete this operation.
Starting package 1/7: eigen3:x86-uwp
Building package eigen3[core]:x86-uwp...
A suitable version of cmake was not found (required v3.12.4). Downloading portable cmake v3.12.4...
Downloading cmake...
https://github.com/Kitware/CMake/releases/download/v3.12.4/cmake-3.12.4-win32-x86.zip -> C:\Users\Rohit\Desktop\unityprojects\Holographic_Space_for_BIM_MixedReality\Virtual_Hologram\vcpkg\downloads\cmake-3.12.4-win32-x86.zip
Extracting cmake...
A suitable version of 7zip was not found (required v18.1.0). Downloading portable 7zip v18.1.0...
Downloading 7zip...
https://www.nuget.org/api/v2/package/7-Zip.CommandLine/18.1.0 -> C:\Users\Rohit\Desktop\unityprojects\Holographic_Space_for_BIM_MixedReality\Virtual_Hologram\vcpkg\downloads\7-zip.commandline.18.1.0.nupkg
Extracting 7zip...
A suitable version of nuget was not found (required v4.6.2). Downloading portable nuget v4.6.2...
Downloading nuget...
https://dist.nuget.org/win-x86-commandline/v4.6.2/nuget.exe -> C:\Users\Rohit\Desktop\unityprojects\Holographic_Space_for_BIM_MixedReality\Virtual_Hologram\vcpkg\downloads\nuget.exe
A suitable version of git was not found (required v2.20.0). Downloading portable git v2.20.0...
Downloading git...
https://github.com/git-for-windows/git/releases/download/v2.20.0.windows.1/PortableGit-2.20.0-32-bit.7z.exe -> C:\Users\Rohit\Desktop\unityprojects\Holographic_Space_for_BIM_MixedReality\Virtual_Hologram\vcpkg\downloads\PortableGit-2.20.0-32-bit.7z.exe
Extracting git...
-- Downloading https://github.com/eigenteam/eigen-git-mirror/archive/3.3.7.tar.gz...
-- Extracting source C:/Users/Rohit/Desktop/unityprojects/Holographic_Space_for_BIM_MixedReality/Virtual_Hologram/vcpkg/downloads/eigenteam-eigen-git-mirror-3.3.7.tar.gz
-- Using source at C:/Users/Rohit/Desktop/unityprojects/Holographic_Space_for_BIM_MixedReality/Virtual_Hologram/vcpkg/buildtrees/eigen3/src/3.3.7-c0bebf7460
-- Downloading https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip...
-- Configuring x86-uwp
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:56 (message):
Command failed: ninja;-v
Working Directory: C:/Users/Rohit/Desktop/unityprojects/Holographic_Space_for_BIM_MixedReality/Virtual_Hologram/vcpkg/buildtrees/eigen3/x86-uwp-rel/vcpkg-parallel-configure
See logs for more information:
C:\Users\Rohit\Desktop\unityprojects\Holographic_Space_for_BIM_MixedReality\Virtual_Hologram\vcpkg\buildtrees\eigen3\config-x86-uwp-out.log

Call Stack (most recent call first):
scripts/cmake/vcpkg_configure_cmake.cmake:256 (vcpkg_execute_required_process)
ports/eigen3/portfile.cmake:11 (vcpkg_configure_cmake)
scripts/ports.cmake:71 (include)
Error: Building package eigen3:x86-uwp failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: eigen3:x86-uwp
Vcpkg version: 2018.11.23-nohash
Note : I also tried with cloning master branch with latest update. but still faces this issue.

@rohitdesaidev, thank you for posting this issue! could you provide "C:\Users\Rohit\Desktop\unityprojects\Holographic_Space_for_BIM_MixedReality\Virtual_Hologram\vcpkg\buildtrees\eigen3\config-x86-uwp-out.log"
I installed eigen3:x86-uwp successfully.
PS F:\vcpkg\src> ./vcpkg install eigen3:x86-uwp
The following packages will be built and installed:
eigen3[core]:x86-uwp
Starting package 1/1: eigen3:x86-uwp
Building package eigen3[core]:x86-uwp...
-- Using cached F:/VCPKG/src/downloads/eigenteam-eigen-git-mirror-3.3.7.tar.gz
-- Using source at F:/VCPKG/src/buildtrees/eigen3/src/3.3.7-c0bebf7460
-- Configuring x86-uwp
-- Building x86-uwp-dbg
-- Building x86-uwp-rel
-- Performing post-build validation
-- Performing post-build validation done
Building package eigen3[core]:x86-uwp... done
Installing package eigen3[core]:x86-uwp...
Installing package eigen3[core]:x86-uwp... done
Elapsed time for package eigen3:x86-uwp: 2.9 min
Total elapsed time: 2.9 min
The package eigen3:x86-uwp provides CMake targets:
find_package(Eigen3 CONFIG REQUIRED)
target_link_libraries(main PRIVATE Eigen3::Eigen)

PS F:\vcpkg\src> ./vcpkg version
Vcpkg package management program version 2018.11.23-nohash

Dear Phoebe,
Thanks for getting back to me, I am attaching the required log file.
Please let me know if you need more information.
Thank you,
Rohit Desai
On Mon, Feb 18, 2019 at 7:22 PM Phoebe<EMAIL_ADDRESS>wrote:

@rohitdesaidev https://github.com/rohitdesaidev, thank you for posting
this issue! could you provide
"C:\Users\Rohit\Desktop\unityprojects\Holographic_Space_for_BIM_MixedReality\Virtual_Hologram\vcpkg\buildtrees\eigen3\config-x86-uwp-out.log"
I installed eigen3:x86-uwp successfully.
PS F:\vcpkg\src> ./vcpkg install eigen3:x86-uwp
The following packages will be built and installed:
eigen3[core]:x86-uwp
Starting package 1/1: eigen3:x86-uwp
Building package eigen3[core]:x86-uwp...
-- Using cached
F:/VCPKG/src/downloads/eigenteam-eigen-git-mirror-3.3.7.tar.gz
-- Using source at F:/VCPKG/src/buildtrees/eigen3/src/3.3.7-c0bebf7460
-- Configuring x86-uwp
-- Building x86-uwp-dbg
-- Building x86-uwp-rel
-- Performing post-build validation
-- Performing post-build validation done
Building package eigen3[core]:x86-uwp... done
Installing package eigen3[core]:x86-uwp...
Installing package eigen3[core]:x86-uwp... done
Elapsed time for package eigen3:x86-uwp: 2.9 min
Total elapsed time: 2.9 min
The package eigen3:x86-uwp provides CMake targets:
find_package(Eigen3 CONFIG REQUIRED)
target_link_libraries(main PRIVATE Eigen3::Eigen)
PS F:\vcpkg\src> ./vcpkg version
Vcpkg package management program version 2018.11.23-nohash
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vcpkg/issues/5390#issuecomment-464941009,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AdpEDJkwJqmJApE-hPixzBtLMP3yfXz5ks5vO1HRgaJpZM4a_2p6
.

@rohitdesaidev, i got it, it's failed when config, do you install the UWP workload in Visual studio?

Hi Phoebe,
Thanks for your reply, I have installed UWP workload in my Visual Studio.
Please find the screenshot below.
Thanks,
Rohit Desai
On Tue, Feb 19, 2019 at 12:54 AM Phoebe<EMAIL_ADDRESS>wrote:

@rohitdesaidev https://github.com/rohitdesaidev, i got it, it's failed
when config, do you install the UWP workload in Visual studio?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vcpkg/issues/5390#issuecomment-465008681,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AdpEDGvnPvrzmI3LCcomaPABjAn5uEg7ks5vO5-tgaJpZM4a_2p6
.

Since this is labeled that it "needs-repro". I am also having this issue.

After reading Rohit's log, I noticed we both have quite long paths. I redid all the steps in a c:/shortpath/ folder and now everything builds as expected. Maybe add a clear error message when paths are too long?

Thanks let us know the problem was caused by long path. Added reminder in https://github.com/Microsoft/vcpkg/pull/6136


scan via camera is not working

login into account , click import QR code link,select scan via camera, it is blank page
@AdriaCarrera

@surekabpm It should ask your permission to access the camera and you should accept it before you can see it streaming. Can you describe your environment? (Operating System, thru Browser or Electron App)

Hi, I'm having windows ,chrome browser, I'm not getting any pop up for accessing camera

@surekabpm please install app from here: https://github.com/nemgrouplimited/symbol-desktop-wallet/releases/tag/v0.13.5
Don't use live build http://desktop-build.symboldev.com/ for that. Browser is blocking if not HTTPS or localhost.

@surekabpm Can you please close this issue if it is not valid?

Closing this issue as it is not valid


Add hook for custom types output in jsdump

Currently the output for big objects, even for passed tests, can get pretty nasty big. Customizing QUnit.jsDump is possible, but not nice at all.
There should be a way to detect and format custom types, something like this:
QUnit.jsParse.registerType(function(obj) {
    /* return true or false */
}, function(obj) {
/* return string */
})

Or make that a single function: If it matches, format it, otherwise return false/null/undefined.

Since 87061fb82bcf9a248c56ccf235b164e989ae2935, passed tests don't output anything. If there's still interest in this, let us know.

Yehuda still wants to see this, will give it a try.

Looking at this again, I think the workaround I posted above for moment is fine. The register method doesn't make it easy enough to justify the extra API. And it seems like this rarely, if ever comes up.


Fix warning

Warning: ineffectual assignment to err (ineffassign), on line 109.
The behavior is similar, but the program will crash because of a null
GHDoc reference, in case there's an error.

Thanks!


Improve the documentation

First of all, thanks for your tool ! It works like a charme !
I hope I did not miss the documenation and that my issue is meaninfull.
Feature request
As a new user of just one day, I am looking for a more didactic documentation, with User guide, how-tos, etc.
The installation and the few examples of the Readme are great, but more can be added for new users (like myself)
Possible solutions
A documentation website hosted on ReadTheDocs or as a github page, including

details of the CLI parameters (API reference)
how-tos
Illustrations
Realeses
explainations of the examples already provided

Alternative solutions
The Gitlab wiki is a possible, as well as just providing markdow files in the project repository.
It is simpler to manage, but less nice.
additional context
I'm willing to contribute to this Issue, But I never developed a documentation for TS projects.
However, I'm used to document python projects with Sphinx.

You are more than welcome, to give whatever tool or way you find suited a shot 👍
It will be merged, no doubt about it.

https://vitepress.dev/ and https://rspress.dev/ are good options

Since no attempts have been made to make an extensive documentation page have been made, I'm closing this.
We will have to live with README.md :smile:


[BACKPORT][v1.x] [PIP] update manifest to include lib_api.cc

Description
Backport #19850 to v1.x. This is a part of effort #19911
Checklist
Essentials

[x] Changes are complete (i.e. I finished coding on this PR)
[x] Code is well-documented

@szha can you please review ?


Super admin bug in Templates

Commit https://github.com/DMPRoadmap/roadmap/commit/6dec11c32647a35d85fab017cb5ed5aa15b57c56#diff-939d88c8ca92b85897ad4f7b86ea7acf breaks app/admin/dmptemplate.rb for some reason (missing %i ?) which results in a 404 page when clicking the super admin: Templates link.
    action_item(:edit) do
        link_to(I18n.t('helpers.settings.title'), settings_admin_dmptemplate_path(resource.id))
    end

This may be also broken in https://github.com/DMPRoadmap/roadmap/blob/development/app/admin/template.rb
This bit of code seems to work:
    action_item only: %i(edit) do
        link_to(I18n.t('helpers.settings.title'), settings_admin_dmptemplate_path(resource.id))
    end

Blocked by #131 #132

Closed by #131 #132


Metadata formalize as JSON-Schema

I propose to formalize meta data proposal in term/ to a machine and human readable format. I vote for json-schema, the schemas can easily be validated and translated into various other schemas, see https://app.quicktype.io/.
The thingy would look like this
{
    "title": "Distributed Acoustic Sensing Metadata - Overview",
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "$id": "http://example.com/example.json",
    "type": "object",
    "default": {},
    "required": [
        "location",
        "number_of_interrogators",
        "principle_investigators",
        "start_datetime",
    ],
    "properties": {
        "location": {
            "type": "string",
            "default": "",
            "title": "Description of geographic location",
            "examples": [
                "Parkfield, California, USA"
            ]
        },
        "deployment_type": {
            "type": "string",
            "default": "",
            "title": "Describes the permanency of the deployment",
            "examples": [
                "permanent"
            ]
        },
        "number_of_interrogators": {
            "type": "number",
            "default": "",
            "title": "Number of interrogators used to collect data over the course of data collection",
            "examples": [
                2
            ]
        },
        "principle_investigators": {
            "type": "string",
            "default": "",
            "title": "Point of Contact(s)",
            "examples": [
                "P.I. Doe"
            ]
        },
        "start_datetime": {
            "type": "string",
            "format": "date-time",
            "default": "",
            "title": "Start date of experiment",
            "examples": [
                "2018-02-11T00:00:00"
            ]
        }
    },
    "examples": [
        {
            "location": "",
            "number_of_interrogators": 1,
            "principle_investigators": "",
            "start_datetime": "",
        }
    ]
}

Please see PR #4

What would be the use-case where such schema is beneficial?
In my humble opinion, this "schema" seems to have most benefits for dynamically changing input, for example user input in a web form. Validity needs to be checked.
However meta data from DAS projects are static.
I believe that here human readability outweighs benefits of validity checks. Additionally, JSON reader packages exist for all languages, and the addition of this schema provides rather an obstacle to import JSON into, say, MatLab or Python.
Your example fails to read in both languages with the build-in functions.
I am sure JSON schema have their justification, but if the DAS meta format is suitable, I am not convinced yet.

Hi Andreas,
JSON schema is just a format to describe the metadata, not to hold the metadata. The schema describes, formalizes, confines and restricts what is expected as input. See this example here:
"start_datetime": {
    "type": "string",
    "format": "date-time",
    "default": "",
    "title": "Start date of experiment",
    "examples": [
        "2018-02-11T00:00:00"
    ]
}

It confines this field to be a date time object, gives a title and exampe. Now when we have a schema formalized in JSON schema we can:

Validate a JSON Object
Generate code and validators for many programming languages (see e.g. https://quicktype.io)
Generate documentation from a single source of truth

JSON schema is used to describe the data, it the standard to describe APIs.

Ah, that was not clear from your original post.
So it is another addon...

Noted on JSON schema, which is also suggested in a separate issue.
Will be incorporated in the updated attributes. Keep you all posted.


Can't set value to rw field for SMA Sunny Island device

I can successfully read values from a SMA Sunny Island device, but I got the following error when I try to set a value in a rw field:
$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sunspec.core.client as client
>>> d = client.SunSpecClientDevice(client.TCP, 126, ipaddr='<IP_ADDRESS>')
>>> d.models
['common', 'model_11', 'model_12', 'inverter', 'nameplate', 'settings', 'status', 'controls', 'storage', 'volt_var', 'freq_watt_param', 'reactive_current', 'watt_pf', 'volt_watt', 'mppt']
>>> d.storage.WChaMax
>>> d.storage.read()
>>> d.storage.WChaMax
6000
>>> d.storage.WChaMax = 5900
>>> d.storage.write()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line 303, in write
    self.model.write_points()
  File "/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line 242, in write_points
    point.write()
  File "/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line 259, in write
    self.block.model.device.write(int(self.addr), data)
  File "/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line 80, in write
    raise SunSpecClientError('Modbus write error: %s' % str(e))
sunspec.core.client.SunSpecClientError: Modbus write error: Modbus exception: 1

According to SMA SunSpec documentation, WChaMax should be writable:

Modbus register number
SunSpec-Name
Description / Number code(s)
Type
Access

40372
WChaMax
Setpoint for maximum active charging power.  Reference value for WChaGra, WDisChaGra
uint16
RW

I also tried with other rw fields, and I also got an error.
Any idea of what is wrong ?

Typically to write values to the SMA device, you must first apply the
SMA GridGuard code through the Modbus interface as outlined in the SMA
Modbus interface documentation. Consult the latest SMA Modbus interface
document for the device you are accessing for details.
On 3/23/16 10:49 AM, Bruno Binet wrote:

I can successfully read values from a SMA Sunny Island device, but I
got the following error when I try to set a value in a rw field:
$  python
Python2.7.9 (default, Mar1  2015,12:57:24)
[GCC  4.9.2] on linux2
Type"help","copyright","credits"  or  "license"  for  more information.

import  sunspec.core.clientas  client
d=  client.SunSpecClientDevice(client.TCP,126,ipaddr='<IP_ADDRESS>')
d.models
['common','model_11','model_12','inverter','nameplate','settings','status','controls','storage','volt_var','freq_ watt_par am','reactive_current','watt_pf','volt_watt','mppt']
d.storage.WChaMax
d.storage.read()
d.storage.WChaMax
6000
d.storage.WChaMax=  5900
d.storage.write()
Traceback (most recent call last):
File"", line1,in
File"/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line303,in  write
self.model.write_points()
File"/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line242,in  write_points
point.write()
File"/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line259,in  write
self.block.model.device.write(int(self.addr), data)
File"/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line80,in  write
raise  SunSpecClientError('Modbus write error: %s'  %  str(e))
sunspec.core.client.SunSpecClientError: Modbus write error: Modbus exception:1

According to SMA SunSpec documentation, WChaMax should be writable:
Modbus register number 	SunSpec-Name 	Description / Number code(s)
Type 	Access
40372 	WChaMax 	Setpoint for maximum active charging power. Reference
value for WChaGra, WDisChaGra 	uint16 	RW
I also tried with other rw fields, and I also got an error.
Any idea of what is wrong ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/sunspec/pysunspec/issues/9

I had a look to SMA Modbus interface document, and it seems the 40372 rw register should not be protected by SMA GridGuard code.
Is there a way to get more debugging information on what is wrong, for example, what means error "Modbus exception: 1"?

I've just discovered that we can pass a trace function to get more debugging information, so I did:
>>> def tprint(s):print(s)
>>>
>>> d = client.SunSpecClientDevice(client.TCP, 126, ipaddr='<IP_ADDRESS>', trace=tprint)
<IP_ADDRESS>:502:126 ->0000000000067E039C400003
<IP_ADDRESS>:502:126 <--0000000000097E030653756E530001
<IP_ADDRESS>:502:126 ->0000000000067E039C430001
<IP_ADDRESS>:502:126 <--0000000000057E03020042
<IP_ADDRESS>:502:126 ->0000000000067E039C860001
<IP_ADDRESS>:502:126 <--0000000000057E0302000B
<IP_ADDRESS>:502:126 ->0000000000067E039C870001
<IP_ADDRESS>:502:126 <--0000000000057E0302000D
<IP_ADDRESS>:502:126 ->0000000000067E039C950001
<IP_ADDRESS>:502:126 <--0000000000057E0302000C
<IP_ADDRESS>:502:126 ->0000000000067E039C960001
<IP_ADDRESS>:502:126 <--0000000000057E03020062
<IP_ADDRESS>:502:126 ->0000000000067E039CF90001
<IP_ADDRESS>:502:126 <--0000000000057E03020067
<IP_ADDRESS>:502:126 ->0000000000067E039CFA0001
<IP_ADDRESS>:502:126 <--0000000000057E03020032
<IP_ADDRESS>:502:126 ->0000000000067E039D2D0001
<IP_ADDRESS>:502:126 <--0000000000057E03020078
<IP_ADDRESS>:502:126 ->0000000000067E039D2E0001
<IP_ADDRESS>:502:126 <--0000000000057E0302001A
<IP_ADDRESS>:502:126 ->0000000000067E039D490001
<IP_ADDRESS>:502:126 <--0000000000057E03020079
<IP_ADDRESS>:502:126 ->0000000000067E039D4A0001
<IP_ADDRESS>:502:126 <--0000000000057E0302001E
<IP_ADDRESS>:502:126 ->0000000000067E039D690001
<IP_ADDRESS>:502:126 <--0000000000057E0302007A
<IP_ADDRESS>:502:126 ->0000000000067E039D6A0001
<IP_ADDRESS>:502:126 <--0000000000057E0302002C
<IP_ADDRESS>:502:126 ->0000000000067E039D970001
<IP_ADDRESS>:502:126 <--0000000000057E0302007B
<IP_ADDRESS>:502:126 ->0000000000067E039D980001
<IP_ADDRESS>:502:126 <--0000000000057E03020018
<IP_ADDRESS>:502:126 ->0000000000067E039DB10001
<IP_ADDRESS>:502:126 <--0000000000057E0302007C
<IP_ADDRESS>:502:126 ->0000000000067E039DB20001
<IP_ADDRESS>:502:126 <--0000000000057E03020018
<IP_ADDRESS>:502:126 ->0000000000067E039DCB0001
<IP_ADDRESS>:502:126 <--0000000000057E0302007E
<IP_ADDRESS>:502:126 ->0000000000067E039DCC0001
<IP_ADDRESS>:502:126 <--0000000000057E03020040
<IP_ADDRESS>:502:126 ->0000000000067E039E0D0001
<IP_ADDRESS>:502:126 <--0000000000057E0302007F
<IP_ADDRESS>:502:126 ->0000000000067E039E0E0001
<IP_ADDRESS>:502:126 <--0000000000057E0302000A
<IP_ADDRESS>:502:126 ->0000000000067E039E190001
<IP_ADDRESS>:502:126 <--0000000000057E03020080
<IP_ADDRESS>:502:126 ->0000000000067E039E1A0001
<IP_ADDRESS>:502:126 <--0000000000057E0302000E
<IP_ADDRESS>:502:126 ->0000000000067E039E290001
<IP_ADDRESS>:502:126 <--0000000000057E03020083
<IP_ADDRESS>:502:126 ->0000000000067E039E2A0001
<IP_ADDRESS>:502:126 <--0000000000057E03020040
<IP_ADDRESS>:502:126 ->0000000000067E039E6B0001
<IP_ADDRESS>:502:126 <--0000000000057E03020084
<IP_ADDRESS>:502:126 ->0000000000067E039E6C0001
<IP_ADDRESS>:502:126 <--0000000000057E03020040
<IP_ADDRESS>:502:126 ->0000000000067E039EAD0001
<IP_ADDRESS>:502:126 <--0000000000057E030200A0
<IP_ADDRESS>:502:126 ->0000000000067E039EAE0001
<IP_ADDRESS>:502:126 <--0000000000057E03020030
<IP_ADDRESS>:502:126 ->0000000000067E039EDF0001
<IP_ADDRESS>:502:126 <--0000000000057E0302FFFF
>>> d.storage.read()
<IP_ADDRESS>:502:126 ->0000000000067E039DB30018
<IP_ADDRESS>:502:126 <--0000000000337E03301770FFFFFFFF0000FFFFFFFF004AFFFF1496FFFF80008000FFFFFFFFFFFFFFFF000080008000800000008000FFFE8000
>>> d.storage.WChaMax
6000
>>> d.storage.WChaMax = 5900
>>> d.storage.write()
<IP_ADDRESS>:502:126 ->0000000000097E109DB3000102170C
<IP_ADDRESS>:502:126 <--0000000000037E9001
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line 303, in write
    self.model.write_points()
  File "/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line 242, in write_points
    point.write()
  File "/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line 259, in write
    self.block.model.device.write(int(self.addr), data)
  File "/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py", line 80, in write
    raise SunSpecClientError('Modbus write error: %s' % str(e))
sunspec.core.client.SunSpecClientError: Modbus write error: Modbus exception: 1

So it seems SMA device has replied with data<PHONE_NUMBER>037E9001: do you know what does it mean?

|0000000000037E9001 is a Modbus exception 1 for device id 126 (0x7E)
operation 16 (0x10). |
On 3/24/16 1:51 AM, Bruno Binet wrote:

I've just discovered that we can pass a |trace| function to get more
debugging information, so I did:
|>>> def tprint(s):print(s) >>> >>> d =
client.SunSpecClientDevice(client.TCP, 126, ipaddr='<IP_ADDRESS>',
trace=tprint) <IP_ADDRESS>:502:126 ->0000000000067E039C400003
<IP_ADDRESS>:502:126 <--0000000000097E030653756E530001
<IP_ADDRESS>:502:126 ->0000000000067E039C430001 <IP_ADDRESS>:502:126
<--0000000000057E03020042 <IP_ADDRESS>:502:126
->0000000000067E039C860001 <IP_ADDRESS>:502:126
<--0000000000057E0302000B <IP_ADDRESS>:502:126
->0000000000067E039C870001 <IP_ADDRESS>:502:126
<--0000000000057E0302000D <IP_ADDRESS>:502:126
->0000000000067E039C950001 <IP_ADDRESS>:502:126
<--0000000000057E0302000C <IP_ADDRESS>:502:126
->0000000000067E039C960001 <IP_ADDRESS>:502:126
<--0000000000057E03020062 <IP_ADDRESS>:502:126
->0000000000067E039CF90001 <IP_ADDRESS>:502:126
<--0000000000057E03020067 <IP_ADDRESS>:502:126
->0000000000067E039CFA0001 <IP_ADDRESS>:502:126
<--0000000000057E03020032 <IP_ADDRESS>:502:126
->0000000000067E039D2D0001 <IP_ADDRESS>:502:126
<--0000000000057E03020078 <IP_ADDRESS>:502:126
->0000000000067E039D2E0001 <IP_ADDRESS>:502:126
<--0000000000057E0302001A <IP_ADDRESS>:502:126
->0000000000067E039D490001 <IP_ADDRESS>:502:126
<--0000000000057E03020079 <IP_ADDRESS>:502:126
->0000000000067E039D4A0001 <IP_ADDRESS>:502:126
<--0000000000057E0302001E <IP_ADDRESS>:502:126
->0000000000067E039D690001 <IP_ADDRESS>:502:126
<--0000000000057E0302007A <IP_ADDRESS>:502:126
->0000000000067E039D6A0001 <IP_ADDRESS>:502:126
<--0000000000057E0302002C <IP_ADDRESS>:502:126
->0000000000067E039D970001 <IP_ADDRESS>:502:126
<--0000000000057E0302007B <IP_ADDRESS>:502:126
->0000000000067E039D980001 <IP_ADDRESS>:502:126
<--0000000000057E03020018 <IP_ADDRESS>:502:126
->0000000000067E039DB10001 <IP_ADDRESS>:502:126
<--0000000000057E0302007C <IP_ADDRESS>:502:126
->0000000000067E039DB20001 <IP_ADDRESS>:502:126
<--0000000000057E03020018 <IP_ADDRESS>:502:126
->0000000000067E039DCB0001 <IP_ADDRESS>:502:126
<--0000000000057E0302007E <IP_ADDRESS>:502:126
->0000000000067E039DCC0001 <IP_ADDRESS>:502:126
<--0000000000057E03020040 <IP_ADDRESS>:502:126
->0000000000067E039E0D0001 <IP_ADDRESS>:502:126
<--0000000000057E0302007F <IP_ADDRESS>:502:126
->0000000000067E039E0E0001 <IP_ADDRESS>:502:126
<--0000000000057E0302000A <IP_ADDRESS>:502:126
->0000000000067E039E190001 <IP_ADDRESS>:502:126
<--0000000000057E03020080 <IP_ADDRESS>:502:126
->0000000000067E039E1A0001 <IP_ADDRESS>:502:126
<--0000000000057E0302000E <IP_ADDRESS>:502:126
->0000000000067E039E290001 <IP_ADDRESS>:502:126
<--0000000000057E03020083 <IP_ADDRESS>:502:126
->0000000000067E039E2A0001 <IP_ADDRESS>:502:126
<--0000000000057E03020040 <IP_ADDRESS>:502:126
->0000000000067E039E6B0001 <IP_ADDRESS>:502:126
<--0000000000057E03020084 <IP_ADDRESS>:502:126
->0000000000067E039E6C0001 <IP_ADDRESS>:502:126
<--0000000000057E03020040 <IP_ADDRESS>:502:126
->0000000000067E039EAD0001 <IP_ADDRESS>:502:126
<--0000000000057E030200A0 <IP_ADDRESS>:502:126
->0000000000067E039EAE0001 <IP_ADDRESS>:502:126
<--0000000000057E03020030 <IP_ADDRESS>:502:126
->0000000000067E039EDF0001 <IP_ADDRESS>:502:126
<--0000000000057E0302FFFF >>> d.storage.read() <IP_ADDRESS>:502:126
->0000000000067E039DB30018 <IP_ADDRESS>:502:126
<--0000000000337E03301770FFFFFFFF0000FFFFFFFF004AFFFF1496FFFF80008000FFFFFFFFFFFFFFFF000080008000800000008000FFFE8000

d.storage.WChaMax 6000 >>> d.storage.WChaMax = 5900 >>>
d.storage.write() <IP_ADDRESS>:502:126
->0000000000097E109DB3000102170C <IP_ADDRESS>:502:126
<--0000000000037E9001 Traceback (most recent call last): File
"", line 1, in  File
"/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py",
line 303, in write self.model.write_points() File
"/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py",
line 242, in write_points point.write() File
"/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py",
line 259, in write self.block.model.device.write(int(self.addr), data)
File
"/home/bruno/.virtualenvs/pysunspec/local/lib/python2.7/site-packages/sunspec/core/client.py",
line 80, in write raise SunSpecClientError('Modbus write error: %s' %
str(e)) sunspec.core.client.SunSpecClientError: Modbus write error:
Modbus exception: 1 |

So it seems SMA device has replied with data |0000000000037E9001|: do
you know what does it mean?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/sunspec/pysunspec/issues/9#issuecomment-200739400

Thanks.
In SMA SunSpec Modbus interface document, it is said that modbus exception 1 occurs when trying to write a data block to an address range that contains read-only registers.
So I decided to check that pysunspec wrote data in the correct 40372 rw modbus register by patching the trace_func code (see: #10) and it appears that pysunspec is trying to write to the 40371 ro modbus register instead...
I also tried to update d.storage.StorCtl_Mod value which modbus address should be 40375 (according to SMA SunSpec modbus doc), but I get the same write error (modbus exception 1), and pysunspec is still trying to write to the 40371 ro modbus register instead of the 40375 rw modbus register.
FYI, 40371 address is Number of the following Modbus registers in accordance with the PICS table (L): 24:

Modbus register number
SunSpec-Name
Description / Number code(s)
Type
Access

40371

Number of the following Modbus registers in accordance with the PICS table (L): 24
uint16
RO

40372
WChaMax
Setpoint for maximum active charging power.  Reference value for WChaGra, WDisChaGra
uint16
RW

40375
StorCtl_Mod
Activate hold/discharge/charge storage control mode. Bitfield value: 0
uint16
RW

Any idea why pysunspec is always trying to write to the 40371 ro register?

I think I now understand the current behaviour: when I do d.storage.write(), pysunspec will try to write the whole storage address block range, which contains some read-only blocks (40371 address is read-only).
So I think that pysunspec should only try to write what has actually been changed, isn't it?
So in my case, if I only update d.storage.WChaMax and d.storage.StorCtl_Mod values, it should not try to write the whole block range (which might contain some read-only block), but only these 2 values.
What do you think about it?

Or is there already a way to write single values and not a whole block of values?

The pysunspec library should only be writing to registers that have been
changed. Can you send the trace of modifying a point and the subsequent
Modbus activity when performing the write?
On 3/25/16 3:01 AM, Bruno Binet wrote:

Or is there already a way to write single values and not a whole block
of values?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/sunspec/pysunspec/issues/9#issuecomment-201225743

You want something different than this previous comment: https://github.com/sunspec/pysunspec/issues/9#issuecomment-200739400 ?

For the case in the previous comment, it appears that the SMA
documentation is not showing the address on the line but the line
address + 1 which is common for Modbus notation. If you look at the
previous read, the value coming from line address 40371 is 0x1770 or
6000. This indicates to me that WChaMax is probably at line address
40371 so the write address is correct.
On 3/25/16 1:23 PM, Bruno Binet wrote:

You want something different than this previous comment: #9 (comment)
https://github.com/sunspec/pysunspec/issues/9#issuecomment-200739400 ?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/sunspec/pysunspec/issues/9#issuecomment-201478719

Ok, you are right, it must show address + 1 if it is common for Modbus notation: there is no error when doing the same pysunspec trace when trying to modify StorCtl_Mod value (address 40375):
$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sunspec.core.client as client
>>> d = client.SunSpecClientDevice(client.TCP, 126, ipaddr='<IP_ADDRESS>')
>>> d.storage.read()
<IP_ADDRESS>:502:126[addr=40371] ->0000000000067E039DB30018
<IP_ADDRESS>:502:126[addr=40371] <--0000000000337E03301770FFFFFFFF0000FFFFFFFF0047FFFF1374FFFF80008000FFFFFFFFFFFFFFFF000080008000800000008000FFFE8000
>>> d.storage.StorCtl_Mod
0
>>> d.storage.StorCtl_Mod = 1
>>> d.storage.write()
<IP_ADDRESS>:502:126[addr=40374] ->0000000000097E109DB60001020001
<IP_ADDRESS>:502:126[addr=40374] <--0000000000067E109DB60001

But when I read the same value again, it seems it has not been taken into account:
>>> d.storage.read()
<IP_ADDRESS>:502:126[addr=40371] ->0000000000067E039DB30018
<IP_ADDRESS>:502:126[addr=40371] <--0000000000337E03301770FFFFFFFF0000FFFFFFFF0047FFFF1374FFFF80008000FFFFFFFFFFFFFFFF000080008000800000008000FFFE8000
>>> d.storage.StorCtl_Mod
0

I guess this is not due to pysunspec but to my SMA Sunny Island device instead. If you still have any idea why it did not persist, don't hesitate to explain me in a comment.
Regarding the WChaMax write issue, I don't know why it does not work, but it seems to be due to this SMA device too. I will try to get answers from SMA support.
Thanks for your help!

No, I gave up with pysunspec to write values to the Sunny Island as it does not seem to be mature enough and I've ended using the SMA modbus protocol directly.

Thx a lot! SMA support suggested that 2 hours ago, too.


Fix bug with full stack trace missing when using unity interception

Recreated in https://github.com/unitycontainer/unity/pull/92

I still need to understand what are you fixing. Could you include test implementations to demonstrate the issue?

Excellent!

All is well but I am not sure about #if-#else statements. Is there any way of doing it without conditional compiling? After all, Netstandard 1.0 is the main target, not the .NET 4.5

All is well but I am not sure about #if-#else statements. Is there any way of doing it without conditional compiling? After all, Netstandard 1.0 is the main target, not the .NET 4.5

Yea I have an idea about this. I'll try to implement it.

Thank you for your help!

Perhaps you would like to help with other issues?
There are few more related to Interception for example...

Why not? I can help with some not difficult issues.
But it can be slowly, because i have not a lot of time.

We are not rushing anywhere, take your time :)