stage 0.5.2

Need this to deploy test servers on aws.

AWS reports this error:
docker logs 9294c7f25542 --tail 100
Traceback (most recent call last):
  File "/usr/local/bin/refgenieserver", line 10, in <module>
    sys.exit(main())
  File "/app/refgenieserver/main.py", line 46, in main
    from .routers import version1, version2, version3
  File "/app/refgenieserver/routers/version3.py", line 9, in <module>
    from yacman import UndefinedAliasError
ImportError: cannot import name 'UndefinedAliasError' from 'yacman' (/usr/local/lib/python3.7/site-packages/yacman/__init__.py)

I guess we'd need to release yacman before we can deploy these staging tests.

once you deploy an instance let me know if the new index and genome splash pages are good to go.

I've redeployed after the update to yacman, but it's giving the same error.

I take it back, the error is different now:
 docker logs 4fdc5ea9be95
Traceback (most recent call last):
  File "/usr/local/bin/refgenieserver", line 10, in <module>
    sys.exit(main())
  File "/app/refgenieserver/main.py", line 46, in main
    from .routers import version1, version2, version3
  File "/app/refgenieserver/routers/version3.py", line 75, in <module>
    @router.get("/genomes_dict", operation_id=API_VERSION + API_ID_GENOMES_DICT)
NameError: name 'API_ID_GENOMES_DICT' is not defined

this is a constant variable introduced in the latest refgenconf. Naturally, refgenieserver depends of dev refgenconf since it uses the new config format etc

is it possible to use the dev version from github, not a released one for now?

yeah I thought it might be that. this is tricky. the staging container could grab and install the dev refgenconf theoretically.

https://github.com/refgenie/refgenieserver/blob/dev/staging.Dockerfile

Ok, on to the next issue :)
Traceback (most recent call last):
  File "/usr/local/bin/refgenieserver", line 10, in <module>
    sys.exit(main())
  File "/app/refgenieserver/main.py", line 37, in main
    rgc = RefGenConf(filepath=selected_cfg, writable=False)
  File "/usr/local/lib/python3.7/site-packages/refgenconf/refgenconf.py", line 101, in __init__
    raise ConfigNotCompliantError(msg)
refgenconf.exceptions.ConfigNotCompliantError: This genome config (v0.3) is not compliant with v0.4 standards. To use it, please downgrade refgenie: 'pip install "refgenie>=0.7.0,<0.10.0"'; For config format documentation please see http://refgenie.databio.org/en/latest/genome_config/

Need to provide a 0.4 example config file

any way to easily convert a file from 0.3 to 0.4? I can't think of a way to easily make a new config file...

any way to easily convert a file from 0.3 to 0.4?

There's no way currently. You're right, that would take some effort to implement a format converter. Not sure if it's worth it.
I'm confused. Don't you have a 0.4 version? I thought you're trying to deploy an instance for the plantref archives, which were just generated with the dev refgenconf etc?

I'm confused. Don't you have a 0.4 version? I thought you're trying to deploy an instance for the plantref archives, which were just generated with the dev refgenconf etc?

Yeah I do, but the staging server is using the primary repo for its demo data :smile:
anyway I can just add that I guess.

it works! http://refgenomes.databio.org:82/

awesome!

This is a major API revamp, right? Should probably be 0.6.0, no?

Tested with an instance deployed via https://github.com/refgenie/test-data at http://rg.databio.org:82:

API v2 serves archives formatted the old way: http://rg.databio.org:82/v2/asset/rCRSd/fasta/archive?tag=default
API v3 serves archives formatted the new way: http://rg.databio.org:82/v3/asset/511fb1178275e7d529560d53b949dba40815f195623bce8e/fasta/archive?tag=default


On FF57 click to copy works but click action occurs

First of all, its really nice plugin. I was looking for something similar after FF upgraded to 55+ and had only support for webextentions. I was using firebug+Firepath earlier and missed it.
Environment:
FF version: 57.0.1 64bit
OS: Ubuntu 16.04 LTS
I started plugin using web-ext run to try the plugin.
Steps:

Click on the plugin icon, cursor will be changed to the crosshair
Hover over the desired element (elements are highlighted on hover)
Xpath is seen at bottom left on page.
Click to clickable href link element to copy xpath. xpath copied to clipboard.
Click action leads to new page which was linked in href. This happens for all clickable elements where action or change of view is involved. Browser navigates to new page.

Expected:

Browser should not navigate to new page.
User should be able to copy xpath for href elements without actually need to go on those hrefs. Its the way it was in firepath and looks more sensible to have.

PS: I am new to github project so feel free to correct me. I will try to figure out but javascript isn't my expertise. I can surely help with testing. :)

Hey @yummuy
Thanks for info, version 0.93 of the plugin should be already available, please update add-on and let me know if this works fine for you now. Thanks


Using form-data with request, question about boundary

Hi,
I'm using form-data with request module, and I want to use a custom boundary.
I want my request to look like :
------WebKitFormBoundaryCIkXuNWC8OhEuT3S
Content-Disposition: form-data; name="file"; filename="myfile.pdf"
Content-Type: application/pdf

FILE_CONTENT

------WebKitFormBoundaryCIkXuNWC8OhEuT3S
Content-Disposition: form-data; name="submitfile"

TÃ©lÃ©charger
------WebKitFormBoundaryCIkXuNWC8OhEuT3S--

Here is what my code looks like :
var boundary = "------WebKitFormBoundaryUucA6DiAhQeYNgIm";
options["preambleCRLF"] = true ;
options["postambleCRLF"] = true ;
 var formData = {
    'file': fs.createReadStream(filePath),
    'submitfile' : 'Télécharger',
     boundary : boundary
 };
options["formData"] = formData ;
request.post(options, function(err, resp, body){
...

But It's not working, I 'm sending this :

----------------------------063289265105652106385340
Content-Disposition: form-data; name="file"; filename="myfile.pdf"
Content-Type: application/pdf

FILE_CONTENT

In the form-data doc I saw something interesting for my problem :
var CRLF = '\r\n';
var form = new FormData();

var options = {
  header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF,
  knownLength: 1
};

But since I'm using it with request I don't really know how could I do this.
Thank you

request.post({
  headers: {'content-type': 'multipart/form-data; boudary=------WebKitFormBoundaryCIkXuNWC8OhEuT3S'}
})

I'm already doing this, in my "options" object there are lots of headers already defined :
options["headers"]["Content-Type"] = "multipart/form-data; boundary=----WebKitFormBoundaryUucA6DiAhQeYNgIm";
options["headers"]["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ;
etc

It does not solve my problem

Right that's for multipart/related I was thinking about something else. No idea how to change that for multipart/form-data although it should be possible, probably.

I ran into this issue as well. I needed the boundary to be absent. I made this work by modifying the prototype of the FormData class on the fly to remove it. After creating a request object with something like:
var requ = request('url', callback);
I remove the boundary and establish my own data by overriding these functions.
Note that upon each new request() call, you must change these prototype functions again. I don't know why
Maybe this will help you:
    if (this.postData) { // this.postData is within my custom class.
      // prevent it from adding boundaries
      var form = requ.form();
      form.constructor.prototype.getBoundary = function () { return ''; };
      form.constructor.prototype._lastBoundary = function () { return ''; };
      form.constructor.prototype.getHeaders = function(userHeaders) {
        var header;
        var formHeaders = {
          'content-type': 'application/x-www-form-urlencoded' //'multipart/form-data; boundary=' + this.getBoundary()
        };

        for (header in userHeaders) {
          if (userHeaders.hasOwnProperty(header)) {
            formHeaders[header.toLowerCase()] = userHeaders[header];
          }
        }

        return formHeaders;
      };

      form.constructor.prototype.append = function(field, value, options) {

        options = options || {};

        // allow filename as single option
        if (typeof options == 'string') {
          options = {filename: options};
        }

        // Better to just use the constructor access. stream class isn't defined
        var append = this.constructor.super_.prototype.append.bind(this);

        // all that streamy business can't handle numbers
        if (typeof value == 'number') {
          value = '' + value;
        }

        // https://github.com/felixge/node-form-data/issues/38
        if (util.isArray(value)) {
          // Please convert your array into string
          // the way web server expects it
          this._error(new Error('Arrays are not supported.'));
          return;
        }

        var header = value; // Changed
        //var footer = this._multiPartFooter(); // Changed

        append(header);
        append(value);
        //append(footer); // PREVENT FOOTER LINE_BREAK AT END

        // pass along options.knownLength
        this._trackLength(header, value, options);
      };

      var postDataLength = (this.postData) ? this.postData.length : 0;
      form.constructor.prototype.getLength = function(cb) { cb(null, postDataLength); }; //set length properly

      form.append('whatever', this.postData);
    }

i think the problem isform-data still using combined-stream and combined-stream does not support stream v2 at all.
https://www.npmjs.com/package/combined-stream

@zhuangya Do you mind to elaborate how version of streams is affecting this issue? Thank you.

I was trying somthing similar and found the following solution:
You create a request with r = request.post, then get the form with form = r.form(); and (now the hacky part) you set form._boundary to the boundary you want to use.
Full example (webkit's funny boundary generation included):
var request = require('request')

//see : https://github.com/adobe/webkit/blob/044126629b2e175119722f58a0098220e0aa0b33/Source/WebCore/platform/network/FormDataBuilder.cpp
//method Vector<char> FormDataBuilder::generateUniqueBoundaryString() line 101-140

alphaNumericEncodingMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789AB'; //yes I know, "AB" appears twice

function generateBoundary(){
    var boundary = "----WebKitFormBoundary";
    for (var i = 0; i < 4; ++i) {
        var randomness = crypto.randomBytes(4);
        boundary += alphaNumericEncodingMap[randomness[3] & 0x3F]; //wasting bits makes me sad... but whatever
        boundary += alphaNumericEncodingMap[randomness[2] & 0x3F];
        boundary += alphaNumericEncodingMap[randomness[1] & 0x3F];
        boundary += alphaNumericEncodingMap[randomness[0] & 0x3F];
    }
    return boundary;
}

r = request.post('http://localhost:88/upload',function(err,r,body){
    //handle response here
});
form = r.form();
form._boundary = generateBoundary();
form.append('my_field', 'my_value');

I actually found a very easy working solution, specifically when used with node-request.
Just provide "form" as a key in the options to the request, and the value as a string:
request({
url: "google.com"
form: JSON.stringify(somePostDataObj),
method: "POST",
function(data) { });
This eliminates the problems of form-data overall. If you guys still want a patch specifically for this to work in form-data outside of node-request, I do have a patch I can pull request in

Is there a working solution to this issue?

@ksahin did your problem solved ?  I am also facing the same issue.


setValue

Hey... I would like to pull a request to chang your setValue-Method, where the cases newValue = 0 and newValue = max will be handles as following:
public void setValue(float newValue) {
int _newVal = (int)(newValue);
if (_newVal <= max && _newVal>=0) {
if(_newVal == 0){
arc_finish_radians = start_arc;
}
else if(_newVal == this.max){
arc_finish_radians = end_wheel -1;
}
else {
float newAngle = (float) (360.0 * (newValue / this.max));
arc_finish_radians = (int) calculateAngleFromRadians(calculateRadiansFromAngle(newAngle)) + 1;
}
mAngle = calculateAngleFromRadians(arc_finish_radians);
setText(String.valueOf(_newVal));
updatePointerPosition();
invalidate();
}
}

Closing it as it has been solved as part of https://github.com/JesusM/HoloCircleSeekBar/commit/22381945e2b88520eec282ab6d61d72d24dd92d1 .


Don't crash on invalid UTF-8 byte sequences.

If a line of code has an invalid byte sequence in UTF-8, count it as a relevant line rather than crashing.
Please don't dismiss this as a useless thing to do. It turns out the Builder gem has a line of code with an invalid UTF-8 byte sequence. If a project uses track_files "**/*.rb" and has the builder gem in a subdir such as vendor, SimpleCov will fail even though the project code is perfectly valid.
This fixes a regression that was introduced in v0.15.0 when add_not_loaded_files was changed to call LinesClassifier#classify, which runs a RegExp on each line--and raises ArgumentError if the line had an invalid byte sequence.

Ok, so I won't fix this now... maybe later. Problem is the skipping variable that relies on the local scope. I guess we could make it an instance variable. Currently evaluating options.
Problem is also that the same logic is applied elsewhere - best we'd put that logic inside the lines classifier so there's no need to duplicate. Question is how to best do that. Currently not coming up with a nice lightweight abstraction to suit both cases. I guess we could use blocks. But wanna check the performance of that, one of the reasons I got #665 - that helps us evaluate if it creates a performance problem or not.

Good point that the same logic is applied elsewhere.
I'm motivated to get this fixed (it's a must-have for us so I need to either fix it here or fork the project for Airbnb, which I'd rather not do). I'm trying out different solutions so you don't have to spend too much time on this. I know open-source maintenance is time-consuming.
... later ...
I thought about using if (line =~ self.class.no_cov_line rescue true) but it's less clear and still doesn't make Rubocop happy.
I also attempted to refactor the two places that use this shared logic into one but I don't see any way to do it. There are too many logic differences:

One checks for WHITESPACE_OR_COMMENT_LINE and one does not.
One has a final else clause and one does not.

I've got an alternate solution in another branch that Rubocop is ok with but does not attempt to share logic between the two methods since they are too different. I'll make a separate PR.

super seeded by #669


feat: add connectionMode property to allow connection between handles of any type

It would be nice if it wasn't required to specify the type property on HandleComponent, so that if a handle is not yet connected could be both a source or target.

Thanks for your issue! The ability to create edges in both directions between two nodes should definitely be possible. I've added this to the backlog.

I guess what we need is the following:

The HandleComponent still requires the type property.
For example, we have node A with a HandleComponent where type === 'source' and node B with a HandleComponent where type === 'target'
you can connect them in both directions
However, for both connect directions, it creates an A --> B edge because of the specified type in the HandleComponents.

Is this approach acceptable ok for you?

Yes, that would be definitely an improvement.
Actually for my use case I would need a "dynamic" type so that the user can decide the direction. Eg. drag from a handle (and it will become a source) to another handle (that will become a target), maybe it could be done programmatically (?)

In this case, I'm not sure how to draw the flow edges without knowing if a certain handle is a source or target. As a result, there's a high probability that the flow may visually change (arrows swapped) when you create an edge and then reload the page (fetching the edges you saved before the reload and re-drawing them).
I guess that is the reason why reactflow team also decided to make type field required
https://reactflow.dev/api-reference/components/handle

In React Flow the type field is required, but you can set source on all handles and it will automatically create the flow edge with the correct direction.
In ngx-vflow the edge cannot be attached to a source handle.
"there's a high probability that the flow may visually change (arrows swapped) when you create an edge and then reload the page"
why is that? The edge direction should not be based on sourceHandle and targetHandle properties?

Thanks for the demo! As I see there is special mode for such connections, without this enum nothing is rendered connectionMode={ConnectionMode.Loose}.
I agree with you that ngx-vflow should also have this functionality, I will implement this feature in the next release

@artem-mangilev You're right.
From the React Flow doc

A loose connection mode will allow you to connect handles of any type to one another. The strict mode will only allow you to connect source handles to target handles.

Maybe I should rename this issue 😄

Hi @muccijacopo ! I added the requested feature in this release: https://github.com/artem-mangilev/ngx-vflow/releases/tag/v0.8.0

Awesome! @artem-mangilev  Thanks for supporting this feature. I'm closing this issue.


README.md: Include note that end-to-end encryption is not local encryption

Currently, README.md states
https://github.com/ladyrank/joplin-plugin-app-locker/blob/a8df764ce0c41ebc3fb6d705f30ebf90b70e2255/README.md?plain=1#L7
However, enabling end-to-end encryption does not encrypt data locally — instead it encrypts data on the server. See this post on the forum and this entry in the FAQ for details.
It might make sense to instead explain that locked notes can still be accessed with this plugin enabled (it's just a bit more difficult).
Thank you for working on this plugin!

I know it's not local encryption. It's to encrypt your file on cloud. Thanks for your advice.


Update go modules and use latest architect

Gettings deps updated and fixing CI.

Tested on ghost. Going with a ping.


Compress all images on the website(not only images that are on the server)

Is there any possibility to compress all images on the website. I mean if image comes from some api, is there possibility to pre compress it using imagemin-webpack?

you should probably use imagemin directly, or another library for that. This lib is mostly dedicated to binding imagmin to webpack in an easy-to-use way.


add gdbinit commands relative to workspace

In .gdbinit I had add-auto-load-safe-path /root/psibase/build/psidk/lib/debug/psitest-gdb.py
But here I changed it to add-auto-load-safe-path /root/psibase/build/psidk/lib/debug/, because it's supposed to add a safe dir.

[ ] Depends on #415


Errorfiles

Hi there,
I'm wondering if there's currently a way to specify an errorfile to be used in a backend configuration? This is standard syntax in HAProxy config files, but I'm wondering if there's some way to specify this in an ingress resource definition.
More broadly, is there a way at present to specify arbitrary HAProxy configuration parameters?
Thanks!

@stevenpall , this is possible, You can write a Backend Rule for that. https://github.com/appscode/voyager/blob/master/docs/user-guide/ingress/backend-rule.md
Example: https://abesto.net/serving-error-pages-from-haproxy/

is there a way at present to specify arbitrary HAProxy configuration parameters?

I think this needs to be answered on a case by case basis. With the introduction of BackendRule, it should be  possible to write any rule for a backend. If there is something missing, let us know.

Perfect, thanks!


chore(Cargo.toml): bump to 0.4.0

Bumping the plugin version in anticipation of the next 0.4.0 release.
Release will include: https://github.com/fermyon/cloud-plugin/compare/v0.3.0...main

Holding off until https://github.com/fermyon/cloud-plugin/pull/121 is in.


feat: add some args to mysql container

$ kg pod
NAME                               READY   STATUS    RESTARTS   AGE
devlake-grafana-66fb6f4b5c-vll9t   1/1     Running   0          91s
devlake-lake-0                     1/1     Running   0          9s
devlake-mysql-0                    1/1     Running   0          91s
devlake-ui-68c89ccbff-ghft9        1/1     Running   0          91s

I've test this change locally.
tips

MySQL Dockerfile

entrypoint -> command
cmd -> args

Seems like we also need to increase chart version?

But the chart version is set to be same as app version in DevLake. I don't know how to update it.

lgtm for the change.

Seems like we also need to increase chart version?

But the chart version is set to be same as app version in DevLake. I don't know how to update it.

I have pushed new tag with v0.16.0-beta12 for devlake, we could use that version tag in this PR.


Add App- & Chart-Version to apps dashboard

Reason
With our new app dashboard (for example on stable: https://app.stable.demo.catena-x.net/), there is a feature missing which was skipped due to effort for the initial build:
We do not pull out the real/life appversion of the installed helm chart.
AC

Pull the helm chart from github and display it on the dashboard
github repo needs to be cached
Github repo pull/sync needs to be running in parallel to the normal api sync (not being dependend on each other)
please inform our test and release mgmt team about this feature when its done

Additional information / links
Pull recursivly max. 2 levels of helm chart and only if they are from eclipse-tractusx OR catenax-ng

we probably don't have time for it


validate_device_token error

device_check.validate_device_token
It returns "400 Missing or badly formatted authorization token"

Works fine for me. Make sure to properly follow Prepare steps and create .p8 certificate from developer.apple.com


CLI is not installable due to replace directives

Just an FYI that the recommended install route does not work:
% go install github.com/grafana/thema/cmd/thema@latest
go: downloading github.com/grafana/thema v0.0.0-20230926104747-067284b336bb
thema
go: github.com/grafana/thema/cmd/thema@latest (in github.com/grafana/thema@v0.0.0-20230926104747-067284b336bb):
        The go.mod file for the module providing named packages contains one or
        more replace directives. It must not contain directives that would cause
        it to be interpreted differently than if it were the main module.

Related: https://www.jvt.me/posts/2023/09/20/go-mod-fork-gotcha/
This should be straightforward enough to fix by updating https://github.com/grafana/cue/blob/971951014e3ffb3787af98614f57977d2365f104/go.mod#L1 to be the new module import path (but may require code changes as we're no longer using the Cue imports)

We are no longer actively using or maintaining Thema. If you need the change or rely on this repo, I'd suggest forking it and letting us know.

Good to know, thank you!
(I came here via https://github.com/cue-lang/cue/issues/929#issuecomment-1424072066)

@jamietanna If you are adventurous, I added some stuff to hof that forms the building block to implementing similar capabilities. Notably, the ability to checkpoint, diff, and produce the entire history of a data model as a json object. My plan is to build on top of this to generate the code that would implement the ideas here.
https://docs.hofstadter.io/getting-started/data-layer/


When JXL Image have icc profiles, (AdobeRGB1998), The display is dark and abnormal

Hi,I use ifjxl.spi to Xnview 2.15.2 plugins.
to view jxl image.
When JXL Image have icc profiles, (AdobeRGB1998), The display is dark and abnormal.
I use irfanview 4.60(have libjxl plugins 4.59.1) to view, display is OK.
JPG-JXL.zip

If there is a way to pass ICC color profiles to Xnview, then I can add the feature in.

Thanks reply.
Xnview classic only pass ICC profile to jpeg/Tiff format.
OK,fine. At present, there is not enough motivation to convert all my JPEG to JXL.


Update the snakeyaml version

Signed-off-by: Zelin Hao<EMAIL_ADDRESS>Description
Fix CVE issue for snakeyaml as v1.32 has been recently released. https://search.maven.org/artifact/org.yaml/snakeyaml/1.32/bundle
Issues Resolved
#2555
#2556
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2621 (d7523c6) into main (9c92fc4) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main    #2621      +/-   ##
============================================
- Coverage     93.94%   93.92%   -0.03%
============================================
  Files           219      162      -57
  Lines          4494     4311     -183
  Branches         29       19      -10
============================================
- Hits           4222     4049     -173
+ Misses          266      262       -4
+ Partials          6        0       -6

Impacted Files
Coverage Δ

src/system/temporary_directory.py
64.44% <0.00%> (-28.89%)
:arrow_down:

src/system/os.py
93.75% <0.00%> (-6.25%)
:arrow_down:

tests/jenkins/jobs/BuildFailureMessage_Jenkinsfile

tests/jenkins/jobs/BuildAssembleUpload_Jenkinsfile

tests/jenkins/jobs/InputManifest_Jenkinsfile

tests/jenkins/jobs/PostCleanup_Jenkinsfile

...nkins/jobs/RpmDashboardsDistValidation_Jenkinsfile

tests/jenkins/jobs/PublishNotification_Jenkinsfile

...ests/jenkins/jobs/AssembleManifest_rpm_Jenkinsfile

src/jenkins/BuildManifest.groovy

... and 49 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Whitesource checks turn out to be good!
✔ 👍 Way to go! You have successfully remediated 2 vulnerabilities in this branch:


SSL cert for MetaSmoke site expired 11 May 2021

The SSL cert for https://metasmoke.erwaysoftware.com/ expired today:

Not sure who would handle that re-certification.

We already know.
Not a MS bug.

Thanks @teward; where's the right place to alert the team when it expires next time, or there's some other problem with the website? This is the only MS repo I could find.

Thanks @teward; where's the right place to alert the team when it expires next time, or there's some other problem with the website? This is the only MS repo I could find.

You were already preempted by other team members by over 12 hours.  I end up being the one who has to handle the issue, but likely I've already been notified long before a GH issue is raised.

That doesn't really answer my question.

Your first thing should be to check https://chat.stackexchange.com/rooms/11540/charcoal-hq and pinned posts.  If someone's already reported it there's going to be a pin about it and then you don't have to ping anyone about this issue.
If there's not, state it in the chat room.  No need to ping anyone.
GH issues is not the issue to ping us about the expired SSL.

Thanks; the team may want to consider policy for pinning in https://chat.stackoverflow.com/rooms/111347/sobotics as well since the chat server separation between SO and everywhere else means lots of folks might not ever see Charcoal HQ on SE chat.


[no-unsafe-assignment] Add option to catch mutable->readonly assignment

The no-unsafe-assignment rule currently only flags readonly->mutable assignment.
Add an option (off by default) to also catch the reverse: mutable->readonly.

This is covered by no-unsafe-mutable-readonly-assignment


getBuffer expects a string, but it could also be a number - if using AUTO constant

The getBuffer function expects a string type for the parameter mime, but a number is actually a valid input - if it is the constant AUTO.
https://github.com/oliver-moran/jimp/blob/7d3fc67abf1bcb4c502a1b404decafb31b2dd0a9/packages/core/src/utils/image-bitmap.js#L195

I think changing the line to the below would fix it:
 * @param {(string|number)} mime the mime type of the image buffer to be created

@olliechick want to submit a PR for that?


audioSegmentation trainHMM_computeStatistics index out of bounds

Getting the following error when running audio segmentation
File "index.py", line 66, in speakerDiarizationWrapper
return speakerDiarization(inputFile, 0, PLOT=False).tolist()
File "audioSegmentation.py", line 871, in speakerDiarization
startprob, transmat, means, cov = trainHMM_computeStatistics(MidTermFeaturesNormOr, cls)
File "/audioSegmentation.py", line 300, in trainHMM_computeStatistics
transmat[int(labels[i]), int(labels[i + 1])] += 1
IndexError: index 5 is out of bounds for axis 1 with size 3

@abramovi Have you resolved that?I had the same problem.

No, but I found it happened when file is silent

@abramovi I change mtWin and  mtStep value from 1.0 to 0.1 and it worked. Buuuuuut, ValueError: 'diag' covars must be non-negative  error from hmmSegmentation..... Do you know how to fix it?


add reminder to connect wallet in deposit flow

Issue
It's not obvious how to progress when landing on the deposit flow because the 'connect wallet' button is fairly small and the title text doesn't indicate that connecting a wallet is necessary.
Change
Title now reads "Connect Wallet to Continue"

and changes to "Select Lot Size" once a wallet is connected

@brandoncurtis I'd love to land this in the next release if you have cycles to close out the PR

thanks @mhluongo! I'll have some time for this very soon.


Fedorware crashing midgame

Idk why it happens, but it happens very often, It might be cuz there's something on my config but it crashes mid game

it's due to an upcoming solar event.


Download button

(Splitted from #60)
Current Behaviour
After uploading a local file and transform it, the download button does nothing.
After choosing an url of a file and transform it, the download button will simply provide a link to that url, which is the input file.
Goal
The goal should be to download the output file. I guess that the button is currently more like a placeholder and the logic behind it is still missing.
Code
I only have found this code for the button: https://github.com/UB-Mannheim/ocr-fileformat/blob/5ec0dd4f388fd3454489a627884d57062eb49447/web/ocr-fileformat.js#L86-L96.

Pull request #70 partially implemented the desired functionality. The following use case still does not work for me:

Go to https://digi.bib.uni-mannheim.de/ocr-fileformat/
Enter URL https://digi.bib.uni-mannheim.de/~stweil/ocr-praxis/0001-tesseract.hocr
Transform from hocr to alto2.0
Press 'Download' button

Expected behavior: download of result (ALTO XML)
Observed behavior: download of input (hOCR)

Yes, that is the else case in https://github.com/UB-Mannheim/ocr-fileformat/blob/b85360e094682b0d88953564c807fcbd5dcf668b/web/ocr-fileformat.js#L103-L105 . I agree that we don't need this and should just always do what is in the if case.

Yup, and change the basename replacement. I'll send a PR.

Also needs to make use of Blob/createObjectURL/revokeObjectURL since src attribute will become too large quickly.

It seems that #73 fixed this.
However, the behavior on digi is still different. @stweil Can you check that we have the latest version running?

We do now. Before that, a two years old version was running.


from_pytest_fixture reports an incorrect # of test cases and percentages

Its already noted in test_lazy.py's test_invalid_endpoint, but having an incorrect number of tests reported by pytest's --collect-only argument, and an incorrect progress percentage being reported, makes it very difficult to report test summaries. It would be great if this could be updated to report the correct number of tests ran.
Desired change:
when loading a schema using from_pytest_fixture that has more than 1 endpoint, configure pytest to know its running endpoint number of tests, not just one test.

@david-vankampen
Sorry for the late reply.
I agree that it will make the test reports better, but the implementation of such a feature will make this loader not lazy (opposed to its purpose) since we'll have to evaluate that fixture on the collection phase. I tried a couple of approaches during the initial development and early fixture evaluation led to internal errors in pytest.
It might be not in 100% cases, but the schema fixture might have some internal pytest fixtures in the dependency tree and those internal fixtures might be not yet ready at the collection phase. I don't have concrete examples at the moment, but I'll investigate if there are some decent workarounds for that.

I think we can hook into the pytest execution process and if collection finds such a test (with --collect-only), then it may call some helper function that will load the schema & expand the collected items properly. However, I think it might need some discussion with upstream first, I guess it might be contrary to the usual pytest-subtest logic, but definitely this may provide a better UX.


Infer the shape only if chunks is not supplied

[ ] Closes #10522
[ ] Tests added / passed
[ ] Passes pre-commit run --all-files

Can one of the admins verify this patch?
Admins can comment ok to test to allow this one PR to run or add to allowlist to allow all future PRs from the same author to run.


TableDefinition.schema should not be required

From a quick search, it seems like it is only used by oracle. Regardless, it isn't used in the examples given on the homepage, so it's confusing to have it required in the definition.

It looks like the TS definition has more problems than just this (mapped types aren't working properly in my use case). I'll close this for now, easy enough to add in when/if types get another look.


[Tiny] Fix scrabble test

One of the Scrabble tests was disabled in a previous PR because it was failing. This PR fixes it. The reason for the fail was that the state had to be copied because the method step() of the Scrabble env does not copy the state unlike other envs.

LGTM - can you add a comment explaining why copy is required here?

@josephdviviano copy is needed because of the following:

The state of the Scrabble is a list of ints.
This particular test stores a list of states in a trajectory as it samples actions. So a list of lists, called states_trajectory_fw in the code.
Because the step() method of the environment (which applies the actions) does not copy the state, if the test does not copy the state either, then the states stored in states_trajectory_fw would be the same object. That is, they would be updated as actions are made and we will not have all the states in the trajectory but just the last state repeated multiple times.
This was not a problem in other environments because step() does copy the state, so we're good.

Does that make sense?

@alexhernandezgarcia it does make sense indeed - I just meant a comment in the test code so people in the future can also understand why there need be a copy there.

@alexhernandezgarcia it does make sense indeed - I just meant a comment in the test code so people in the future can also understand why there need be a copy there.

Oh, but there are multiple places where copy is used and the explanation is kind of long :/ Should I add a general comment at the beginning of the script?

Comment about copies added here.

I added some inline comments as well. Thanks!


SUI明明很好用，为什么感觉那么小众呢？

✖ USAGE QUESTIONS → Use these dedicated resources:
Docs - http://www.semantic-ui.com
Chat - https://gitter.im/Semantic-Org/Semantic-UI
SO - https://stackoverflow.com/questions/tagged/semantic-ui?sort=votes
✔ Enhancements → Be specific. Assume backwards compatibility is a necessity. Suggest implementation when possible.
✔ BUGS → ❤❤❤. Keep in mind some bugs may not be immediately fixable due to backwards compatibility or CSS limitations.
Title (Put in field above)
Use the format: [Component] Component Should Do X
i.e. [Checkbox] onChange Should Fire When Update Triggered via DOM
Steps
Expected Result
Actual Result
Version
x.y.z
Testcase

SUI clearly works well. Why do you feel so small?


Add support for roofs

It would be really helpful if iD would support setting the "roof:*" properties similar to how adresses can be edited on buildings.
From what I understood so far "address" is a special type of field. It would be a nice enhancement to allow these multi-value type of field definitions to be done in json as well.
If that would be in place it would be awesome to have:
"roof:shape" as a "combo"
"roof:orientation" as a checkbox for "along/across"
"roof:height" as integer

I added a Roof Color (roof:colour) field in the last release since it's a self-explanatory property that's readily visible in imagery. The other roof: tags would not make very user-friendly fields:


The single conn: forks with corks in the eye

To a single connection. Should support both admin types, regular user, and support the existing method of instantiation.

Coverage increased (+0.09%) to 79.33% when pulling b39f79060ad596e576a4df94acac60b803f60f9b on wasade:single-sql-conn into f76c96e1b7e6c428a73ed008c0719f95578ff82e on biocore:master.

:+1:

@josenavas @squirrelo can you both have a look?

I can delete, add, do things with known queues so it seems to be working.

Also, it is FAST :dash: :fast_forward:

Analysis can be created and executed? What about creating a study and
processing an OTU table?
On (Apr-29-15|16:30), Joshua Shorenstein wrote:

I can delete, add, do things with known queues so it seems to be working.

Reply to this email directly or view it on GitHub:
https://github.com/biocore/qiita/pull/1131#issuecomment-97613725

Creating study and analysis yes, not sure about OTU table.

What is the airspeed velocity ... :P
On (Apr-29-15|16:30), Joshua Shorenstein wrote:

Also, it is FAST :dash: :fast_forward:

Reply to this email directly or view it on GitHub:
https://github.com/biocore/qiita/pull/1131#issuecomment-97613775

Not sure where to comment this on the code:
The connection cannot be created and left it open all the time. If you check the tests, you will see a failure because it cannot drop the database because there are 1 open connection. I would suggest connecting to the DB the first time that it tries to connect... I'm not sure if that will solve the issue though...

i.e. my last comment: basically the qiita_env drop command is broken now

Maybe an explicit close_connection() function for when it's needed? The code should then fire up a new connection as needed.

Coverage increased (+0.1%) to 79.35% when pulling 1f107377b72f6d0f9f70ec577b357120a4824086 on wasade:single-sql-conn into f76c96e1b7e6c428a73ed008c0719f95578ff82e on biocore:master.

Will add, ~10 for commit
On Apr 29, 2015 5:35 PM, "Joshua Shorenstein"<EMAIL_ADDRESS>wrote:

Maybe an explicit close_connection() function for when it's needed? The
code should then fire up a new connection as needed.
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/qiita/pull/1131#issuecomment-97614368.

Coverage increased (+0.1%) to 79.35% when pulling 1f107377b72f6d0f9f70ec577b357120a4824086 on wasade:single-sql-conn into f76c96e1b7e6c428a73ed008c0719f95578ff82e on biocore:master.

test harness updated.

bah. ya, should be a static method to do that. 1 more min

That should do it

:+1:  if tests pass

reviewing now

Now it seems to be opening, and keeping open, a connection on every function test.

Well this errors looks concerning...
RuntimeError: An OperationalError with the following message occured
	FATAL:  sorry, too many clients already
 For more information, review `INSTALL.md` in the Qiita installation base directory.

Yup. The subset of tests executed passed locally. Will investigate in 20,
currently off laptop
On Apr 29, 2015 6:23 PM, "josenavas"<EMAIL_ADDRESS>wrote:

Well this errors looks concerning...
RuntimeError: An OperationalError with the following message occured
FATAL:  sorry, too many clients already
For more information, review INSTALL.md in the Qiita installation base directory.
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/qiita/pull/1131#issuecomment-97619639.

Correct. Now that I'm thinking a bit more on this, that is exactly what is happening and that is going to keep happening as we are instantiating those objects. The correct approach is to do conn_handler = SQLConnectionHandler() in the sql_connection.py file and import that conn_handler in the rest of the code. That is, doing the singleton pattern.
Alternatively, the connection can be open outside of the SQLConnectionHandler object, and each new instance just uses the already created one. This will reduce the number of code modifications, as we'll only need to change that on the sql_connection.py file.

@josenavas I may be misunderstanding, but I think @wasade's vision here is that one doesn't actually instantiate SQLConnectionHandler -- the psycopg2 connection is an attribute of the class and not instances of the class.

Shouldn't be necessary as the connections are static members. Issue most
likely is line 252 of env manager. The del is leaving dangling objects
Correct. Now that I'm thinking a bit more on this, that is exactly what is
happening and that is going to keep happening as we are instantiating those
objects. The correct approach is to do conn_handler = SQLConnectionHandler()
in the sql_connection.py file and import that conn_handler in the rest of
the code. That is, doing the singleton pattern.
Alternatively, the connection can be open outside of the
SQLConnectionHandler object, and each new instance just uses the already
created one. This will reduce the number of code modifications, as we'll
only need to change that on the sql_connection.py file.
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/qiita/pull/1131#issuecomment-97619972.

Instantiation is fine, but correct about class attrs
On Apr 29, 2015 6:34 PM, "adamrp"<EMAIL_ADDRESS>wrote:

@josenavas https://github.com/josenavas I may be misunderstanding, but
I think @wasade https://github.com/wasade's vision here is that one
doesn't actually instantiate SQLConnectionHandler -- the psycopg2
connection is an attribute of the class and not instances of the class.
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/qiita/pull/1131#issuecomment-97620706.

Coverage increased (+0.08%) to 79.32% when pulling c3c599c5dd4045ed3666951bfb46da25d85a3d08 on wasade:single-sql-conn into f76c96e1b7e6c428a73ed008c0719f95578ff82e on biocore:master.

We're green

:+1:

:+1: for corks on forks

heh
On Wed, Apr 29, 2015 at 7:48 PM, adamrp<EMAIL_ADDRESS>wrote:

[image: :+1:] for corks on forks http://i.imgur.com/US4zF30.gif
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/qiita/pull/1131#issuecomment-97630991.


Add shim for seeking files

This adds a shim for lseek64 (lseek on macOS). This enables the use of <File as Seek>::seek. Testing is included.

Thanks, that should do it. @bors r+
I am a bit worried about this test becoming a monster, but cleanup can happen separately.

:pushpin: Commit 98a1cac4ef4cb766c64fb476fabf7d162dd30361 has been approved by RalfJung

:hourglass: Testing commit 98a1cac4ef4cb766c64fb476fabf7d162dd30361 with merge f9615bfd6733142041cb8f32ce108cb31387752a...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing f9615bfd6733142041cb8f32ce108cb31387752a to master...


pcmark fails on android Q

Using Linaro's latest Android snapshot images of aosp/master (Android Q), pcmark fails because there's a new pop on application launch that complains about "This app was built for an older version of Android...." which breaks uiAutomation with this splatter
ERROR            INSTRUMENTATION_STATUS: class=com.arm.wa.uiauto.pcmark.UiAutomation
ERROR            INSTRUMENTATION_STATUS: current=1
ERROR            INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
ERROR            INSTRUMENTATION_STATUS: numtests=1
ERROR            INSTRUMENTATION_STATUS: stream=
ERROR            com.arm.wa.uiauto.pcmark.UiAutomation:
ERROR            INSTRUMENTATION_STATUS: test=setup
ERROR            INSTRUMENTATION_STATUS_CODE: 1
ERROR            INSTRUMENTATION_STATUS: class=com.arm.wa.uiauto.pcmark.UiAutomation
ERROR            INSTRUMENTATION_STATUS: current=1
ERROR            INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
ERROR            INSTRUMENTATION_STATUS: numtests=1
ERROR            INSTRUMENTATION_STATUS: stack=android.support.test.uiautomator.UiObjectNotFoundException: Application has not loaded within the given time
ERROR                   at com.arm.wa.uiauto.pcmark.UiAutomation.loadBenchmarks(UiAutomation.java:78)
ERROR                   at com.arm.wa.uiauto.pcmark.UiAutomation.setup(UiAutomation.java:49)
ERROR                   at java.lang.reflect.Method.invoke(Native Method)
ERROR                   at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
ERROR                   at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
ERROR                   at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
ERROR                   at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
ERROR                   at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
.
.
.
.
.

I could fix it using the patch below
diff --git a/wa/workloads/pcmark/uiauto/app/src/main/java/com/arm/wa/uiauto/pcmark/UiAutomation.java b/wa/workloads/pcmark/uiauto/app/src/main/java/com/arm/wa/uiauto/pcmark/UiAutomation.java
index 7bd6e96e..fe4d147d 100755
--- a/wa/workloads/pcmark/uiauto/app/src/main/java/com/arm/wa/uiauto/pcmark/UiAutomation.java
+++ b/wa/workloads/pcmark/uiauto/app/src/main/java/com/arm/wa/uiauto/pcmark/UiAutomation.java
@@ -37,6 +37,7 @@ public class UiAutomation extends BaseUiAutomation {
     private int networkTimeoutSecs = 30;
     private long networkTimeout =  TimeUnit.SECONDS.toMillis(networkTimeoutSecs);
     public static String TAG = "UXPERF";
+    public static final long WAIT_TIMEOUT_5SEC = TimeUnit.SECONDS.toMillis(5);

     @Before
     public void initialize(){
@@ -45,6 +46,7 @@ public class UiAutomation extends BaseUiAutomation {

     @Test
     public void setup() throws Exception{
+        dismissPopup();
         setScreenOrientation(ScreenOrientation.NATURAL);
         loadBenchmarks();
         installBenchmark();
@@ -60,6 +62,18 @@ public class UiAutomation extends BaseUiAutomation {
         unsetScreenOrientation();
     }

+    // If we run the app in newer Android we'll get a popup complaining about
+    // that, silently accept it and carry on.
+    // This function should act as a NOP if no popup appears.
+    public void dismissPopup() throws Exception {
+        UiObject acceptButton =
+           mDevice.findObject(new UiSelector().resourceId("android:id/button1")
+                                         .className("android.widget.Button"));
+        if (acceptButton.waitForExists(WAIT_TIMEOUT_5SEC)) {
+            acceptButton.click();
+        }
+    }
+
     //Swipe to benchmarks and back to initialise the app correctly
     private void loadBenchmarks() throws Exception {
         UiObject title =

I'd be happy to push this as a PR, I stole the dismissEula() function from geekbench workload uiautomation and slightly modified it to silently wait for a pop up and dismiss it or quitely carry on so should work for all versions I believe.
But maybe you know something better :)

I would say that is probably the best solution we have at the moment so if you would be able to create a PR that would be great thanks.

Cool shall do. I must update the apk file as part of the PR, correct?

This should be fixed with https://github.com/ARM-software/workload-automation/pull/908


Remove legacy docs

Description
Remove all legacy docs, as a  release blocker.
We should move to use http://docs.pinot.apache.org/
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes
If you have tagged this as either backward-incompat or release-notes,
you MUST add text here that you would like to see appear in release notes of the
next release.
If you have a series of commits adding or enabling a feature, then
add this section only in final commit that marks the feature completed.
Refer to earlier release notes to see examples of text
Documentation
If you have introduced a new feature or configuration, please add it to the documentation as well.
See https://docs.pinot.apache.org/developers/developers-and-contributors/update-document

We should move anything left over here to the website.
Delete this directory will force people to move and use the pinot docs website.


v1.5 Added Testscript file

Coverage remained the same at 80.998% when pulling 54f3c857b4a4ba900e477cb65623597e6a4dcd9f on inGall:v1.5 into 1064cbaf4c9a49fb64809242974dc4872c38016d on CS2103AUG2017-T09-B1:master.


MSVC 2017 SVML support

Intrinsics SVML (Short Vector Math Library) functions (such as "_mm256_div_epi32" in Matrix3.cpp and Matrix4.cpp) are not supported on MSVC 2017.

MSVC 2017 is no longer supported.
GitHub action doesn't support the config anymore, decided to no longer support it.


Update akka-actor-testkit-typed, ... to 2.6.19

Updates

com.typesafe.akka:akka-actor-testkit-typed
com.typesafe.akka:akka-cluster-sharding-typed
com.typesafe.akka:akka-cluster-typed
com.typesafe.akka:akka-discovery
com.typesafe.akka:akka-persistence-query
com.typesafe.akka:akka-persistence-testkit
com.typesafe.akka:akka-persistence-typed
com.typesafe.akka:akka-serialization-jackson
com.typesafe.akka:akka-stream-typed

from 2.6.17 to 2.6.19.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.akka" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #539.


Backup master

Orrin this looks superfluous so I'm closing this PR.
It looks like you have a branch called "master-backup" on Ryans fork.


remove app/bower_components

This change removes the installation files for the bower components and
adds app/bower_components to the ignore file. These files will get
regenerated for each install.

OK for now, since current bower components have latest versions.
post https://github.com/radanalyticsio/oshinko-webui/pull/25
the bower components will be much older.Considering the delicate balance libs for version compatibility, It is my opinion that the bower folders should not be removed in the future.

But, we do specify the exact versions to fetch in bower.json, so we can still manage our versions for compatibility.

i think we should specify the versions then, what happens currently if you do an image build? will the bower install command overwrite anything installed in the bower_components directory or will it leave those versions?

I believe it would just install the specified version.  I'll do a little poking around to see what exactly the behavior is.  I don't think any app should keep bower_components in their git as it defeats the purpose of using bower.  That directory only existed in our git as a convenience to me in the early stages of development so I didn't have to keep watching the bower install.

Any objections to merging this?


Minor tweaks #2.

Created additional functions to make the script easier to follow and decrease redundancy.

Forgot to put back newLine to RBKCD output.


[6.0][update-checkout] Update to swift-collections 1.1.1

Explanation: Updates swift-collections to the latest release in toolchain builds, to unblock swift-foundation's inclusion.
Scope: Affects toolchain components that import the Collections package. (SwiftPM in particular.)
Risk: Low.
Testing: We have seen toolchain continue to build successfully with this change.
Reviewer: @jmschonfeld
Original PR: https://github.com/apple/swift/pull/73654
Issue: none

@swift-ci test

@swift-ci build toolchain


Setup/husky

✅ Check List (Mark all the applicable boxes)

[x] My code follows the code style of this project.

[ ] This PR contains changes in the documentation

[x] The title of my pull request is a short description of the requested changes.

Conflicts resolved, merging


Add Scottish Parliament data as a source

Link to the data source
Data : https://data.parliament.scot/#/datasets
API: https://data.parliament.scot/#/api-list
https://data.parliament.scot/#/home
Data source type (if known)
Unknown
Organization(s) the data belongs to
Scottish Parliament
What licences are applied to the data being published? (if known)
It was using a version of OGL3 in 2020. "being released under "Scottish Parliament Licence is aligned with OGLv3.0"
But the link from https://data.parliament.scot/#/about to the reuse conditions is now broken.
Additional information
We don't have a Scottish Parliament yet set up as an ODS Organisation

Added Scottish Parliament as an org as of OpenDataScotland/jkan@16c403e0f082c3f517399dc8e94e0630432286d0.
Will give them an email on the address listed on the Notes page to see if I can get clarification on licencing.

Reply from Scottish Parliament confirming that datasets are available under the Scottish Parliament Copyright Policy:

Dear Jack,
Thanks for getting in touch.
You are free to use the Open Data sets contained in the Scottish Parliament’s open data portal. As advised in the Notes section of the open data portal, open data falls under our policy on use of SPCB Copyright Material. You can access information about the Scottish Parliament Copyright Policy at the following link: Copyright | Scottish Parliament Website
This provides that material published by the Scottish Parliamentary Corporate Body (SPCB) may be reproduced without formal permission subject to the Copyright Licence. Where any material is republished or copied for use the source of the material must be acknowledged by including the following attribution statement and, where possible, providing a link to the licence:
“Contains information licensed under the Scottish Parliament Copyright Licence”.
Hope you find this information to be of assistance.
Kind regards
Robin
Robin Davidson
Head of Information Governance and Data Protection Officer

This page is particularly confusing: https://www.parliament.scot/about/copyright
It speaks about the Scottish Parliament copyright licence but at the end cuts and pastes, it appears, a chunk about the OGL3.
Nowhere in the main body of that page is OGL3 mentioned, that i can see, until the pasted in section.
So, to me it looks like there is nothing in SPCL section that says that it incorporates, or includes the terms of OGL3.
Am I wrong?

A strange one, yes. Particularly annoying when I asked if they could update their dataset metadata to include the licence or to update the link on the Notes page that 404s. Both requests seem to have fallen on deaf ears.
In this case, I think we'll just treat the licence as "Scottish Parliament Copyright Licence", which I have hard coded into the script I'm working on. I've also added the licence in JKAN in preparation for including these datasets.


phridge.dispose causes EPIPE error after SIGINT

test program:
var phridge = require('phridge');
var ph = phridge.spawn();
ph.then(function (ph) {
    console.log('phantomJS started');
});
process.on('SIGINT', function () {
    phridge.disposeAll().then(function () {
        console.log('phantomJS closed');
        process.exit();
    });
});

output:
phantomJS started
^C
events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: write EPIPE
    at errnoException (net.js:901:11)
    at Object.afterWrite (net.js:718:19)

Change SIGINT to SIGTERM, use a timeout or anything else to trigger the shutdown and it works fine. Maybe SIGINT closes stdin/stdout?
Interestingly it also works if I do process.emit('SIGINT').
I am using Linux (bash).
Thanks.

Maybe the epipebomb module will come in useful here...

Should be no problem now


FEAT: Create React App For The Project

created react app for the proj and add install.md to guide installation

make sense

good commit


Creating empty polygon from empty list fails

Empty polygons can be created using
polygon = geometry.Polygon()
polygon.is_empty
# True

However, creating an empty polygon from an empty list of vertices, polygon = geometry.Polygon([]), throws the following error

File "", line 1, in
File "[..]/python2.7/site-packages/shapely/geometry/polygon.py", line 229, in init
self._geom, self._ndim = geos_polygon_from_py(shell, holes)
File "[..]/python2.7/site-packages/shapely/geometry/polygon.py", line 508, in geos_polygon_from_py
geos_shell, ndim = geos_linearring_from_py(shell)
File "[..]/python2.7/site-packages/shapely/geometry/polygon.py", line 450, in geos_linearring_from_py
n = len(ob[0])
IndexError: list index out of range

It would be nice if this would also just return an empty polygon.
I use shapely version 1.5.16 in case this matters.

LineString currently behaves in the same was as Polygon, but gives a more useful exception:
>>> from shapely.geometry import *
>>> LineString()
<shapely.geometry.linestring.LineString object at 0x1012fa240>
>>> LineString([])
Traceback (most recent call last):
  File "/Users/snorf/miniconda3/lib/python3.5/site-packages/shapely/geometry/linestring.py", line 200, in geos_linestring_from_py
    array = ob.__array_interface__
AttributeError: 'list' object has no attribute '__array_interface__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/snorf/miniconda3/lib/python3.5/site-packages/shapely/geometry/linestring.py", line 49, in __init__
    self._set_coords(coordinates)
  File "/Users/snorf/miniconda3/lib/python3.5/site-packages/shapely/geometry/linestring.py", line 94, in _set_coords
    self._geom, self._ndim = geos_linestring_from_py(coordinates)
  File "/Users/snorf/miniconda3/lib/python3.5/site-packages/shapely/geometry/linestring.py", line 258, in geos_linestring_from_py
    "LineStrings must have at least 2 coordinate tuples")
ValueError: LineStrings must have at least 2 coordinate tuples

I think we should be consistent between classes, although I'm not sure what the correct behaviour should be: do we return an empty geometry, or raise an exception?
The current behaviour is as follows

Polygon: exception
LineString: helpful exception
LinearRing: exception
MultiPolygon: empty geometry
MultiLineString: empty geometry

@snorfalorpagus thanks for sorting out the current situation. I'm 👍 on accepting either None (the default) or [] in these constructors and returning an empty geometry in both cases.

I think it would be most convenient if all classes accept an empty list of vertices. I don't see in what case raising an exception for any of them would be more helpful.


Add documentation to diagnostics.py

Adding docstrings to the five classes in diagnostics.py

@carolinegsun would you like some help with documentation? Let me know if/what you would like me to help/write.

I'm working from the top classes to down (also going to be trying to write tests along with it)— PointDiagnostic and FieldDiagnostic are definitely more wieldy classes, so I think I'll try to tackle those all at once, but if you want to take a look at GridDiagnostic or ClockDiagnostic, that would be lovely! Just let me know :)

I can work from the bottom up then. Starting on ClockDiagnostic right now. I'll let you know when I'm moving on to GridDiagnostic so so don't have any merge conflicts.

Just PR'd the documentation for the ClockDiagnostic class. @carolinegsun would you like me to do the GridDiagnostic class as well since it's so similar?

Sounds good! Do you know if it's possible for me "append" onto your PR later to add the documentation for the other 2 classes later?

I had this same issue with the contributing file with Darryl. I think we decided that the simplest way would be to have you push to my dev branch on my personal repo. I'm also pretty sure we decided that it wasn't worth it. I think that just making a separate PR is the best way to do it 👍

Just pushed the GridDiagnostic class documentation to my previous PR. Let me know if there's anything else I can do to help.

Thanks so much! I should have the rest of the documentation up by end of day, latest.  :relaxed:

No problem!

Yep. Separate PRs is the way to go.
Looking forward to the contributions!


Update renovatebot/github-action action to 32.238.3

This PR contains the following updates:

Package
Type
Update
Change

renovatebot/github-action
action
patch
v32.238.2 -> v32.238.3

Release Notes

renovatebot/github-action
v32.238.3
Compare Source
See the the changelog for changes in all releases.
32.238.3 (2022-10-15)
Bug Fixes

deps: update renovate/renovate docker tag to v32.238.3 (223be15)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

@balena-ci I self-certify!


Add Google Code World educational environment. It is a nice start for…

… those interested in learning programming using a FP programming language

Hi @ner0x652, this looks like a great resource but we are actually removing this list altogether from the introduction. We believe there are plenty of programming resources of there, with plenty of sites listing these so it saves us having to maintain a list of sites ourselves.
If we do keep the list in a hidden teacher panel, we may add this resource to the list.
Thanks for the suggestion.


AWS CW API Throttle Issue

Hi,
I have been running into an issue with hitting the API limits and throttled back. I thought the issue was related to https://github.com/aws-robotics/cloudwatchlogs-ros1/issues/20 generating a lot of log entries, but that has been fixed and confirmed.
I am still getting the dreaded ThrottlingException. I have tried various publish_frequency
publish_frequency = 10s
[ERROR] [1554434092.587344572, 32.603000000]: [AWSClient] HTTP response code: 400
Exception name: ThrottlingException
Error message: Rate exceeded
5 response headers:
connection : close
content-length : 58
content-type : application/x-amz-json-1.1
date : Fri, 05 Apr 2019 03:14:51 GMT
x-amzn-requestid : faa1d28b-5750-11e9-9b5c-49f40dc0bbd4

publish_frequency = 60s
[ERROR] [1554433884.447696369,<PHONE_NUMBER>00]: [AWSClient] HTTP response code: 400
Exception name: ThrottlingException
Error message: Rate exceeded
5 response headers:
connection : close
content-length : 58
content-type : application/x-amz-json-1.1
date : Fri, 05 Apr 2019 03:11:23 GMT
x-amzn-requestid : 7e92c988-5750-11e9-a09f-0db3a37537c2

When this is encountered from what I can tell the batch of logs sent go missing. Majority of the time logging will resume and show in CW and other times it just continuously error out.

Roughly, how many lines are written to rosout and at what frequency?
We'll need to improve the aggregation and batching of logs in order to make fewer API calls. This feedback is extremely important to us - thank you!
To unblock you it might be quicker to pursue a limit increase for the PutLogEvents API, but it depends on how high the call volume is relative to the default limit. We can look into this for you if you'd like; you can email the relevant AWS account ID to<EMAIL_ADDRESS>and refer to this issue.

I will have to get exact number but normally 1-2 lines/second with spikes up to 10 lines/second. At the moment we are logging anything DEBUG level for testing and ran into the issue.
I'll send an email out so we can get exact numbers.

It would actually be a little surprising to me if we are throttling based on the number of logs being published.
I've been able to use rostopic pub to send 100 messages per second with the default 5 second batching rate without issue. With this configuration we would be publishing 500 logs at once every 5 seconds. From what you've said this should be more than your system is logging.
The PutLogEvents api that we use to post logs has a default throttle rate of 5 calls per second per stream. If you are running multiple instances of the the logger node (even across different systems) make sure that they are using different log streams. Our recommendation is to have every robot you have running the application use the same log group but have a unique log stream per robot.
To me the more likely culprit is the fact that we are calling the DescribeLogStreams api every time the publisher runs in order to get the stream token. This API is throttled at a rate of 5 calls per second per account per region. This means that the likelihood of exceeding that call rate increases with the number of instances you have running and and as the publiser_frequency lowers (making it more likely that the multiple instances will be synchronized to send within the same second).
I will work on the fix for not calling DescribeLogStreams as often. @mr337 Can you confirm if the scenario I described above sounds like your setup?

Another note is that we limit every call to PutLogEvents to 100 log events and that we don't have any client side throttling on this. This means that if you're generating more than 500 log message lines within the publish_freqency rate you have set you may see Throttled calls on the PutLogEvents call.

Hi @nburek

I will work on the fix for not calling DescribeLogStreams as often. @mr337 Can you confirm if the scenario I described above sounds like your setup?

Sadly that is not the case. The testing and results in the original post was just evaluating the logging node. It was in simulation with a single instance running, no multiple instances or heavy messaging. Everything was writing to a single log group/stream. I barely generated any traffic to hit a threshold...confused :)

Another note is that we limit every call to PutLogEvents to 100 log events and that we don't have any client side throttling on this. This means that if you're generating more than 500 log message lines within the publish_freqency rate you have set you may see Throttled calls on the PutLogEvents call.

That is nice to know and I'll keep that in mind. I might have hit that when testing very long publish_frequency of several minutes creating a big batch.
@AAlon I have sent in an email referring to this issue.
If either of you need any follow up testing let me know!

@mr337 hi there. We've pushed a fix for this issue. Did you have a chance to try it yet?

@xabxx @mr337 To be clear, the fix has not been pushed to mainline, but is in the get_token_fix branch of the cloudwatch_common repository with a pull request ongoing to get it merged into the master branch there.

Appreciate the update! I haven't applied the fix (@nburek provided) or tried the get_toekn_fix branch yet. Plan on circling back shortly to give it a try.

@mr337 thank you! Please keep us updated! :)

So pulled down both cloudwatch-ros1 and cloudwatch-common and compiled.
Here are the checkouts of both repos
/tmp/ros-workspace/src/cloudwatch-common (get_token_fix) $ git branch -v
* get_token_fix ca10e4f Fixes issue with DescribeLogStreams being called to get the next token when it isn't necessary.

/tmp/ros-workspace/src/cloudwatchlogs-ros1 (release-v2) $ git branch -v
* release-v2 6e5b343 2.0.0

I am unclear if I need to use cloudwatchlog-ros1 release-v2. Using release-1 I had compile issues.
After running for a few hours with regular logging I have no issues with logs correctly being pushed. Every now and then I will the following which is filtered out and doesn't seem like anything bad.
[ INFO] [1556254136.453533847, 1530.411000000]: [EnvironmentAWSCredentialsProvider] Found secret key
[ INFO] [1556254136.453803877, 1530.411000000]: [CurlHandleContainer] Connection has been released. Continuing.

Hi @mr337 mr337, thanks a lot for the update. You used the correct branch, in general the latest release branch should be used, which in this case is release-v2 for cloudwatchlogs-ros1.
Those messages are related to the AWS SDK accessing to the credentials to connect to the CloudWatch logs service, and connecting to the service, so they are expected (see EnvironmentAWSCredentialsProvider and CurlHandleContainer).
I'm closing this issue, but please feel free to re-open if you have any other problems. We'll also update this ticket when that PR is merged to master

reopening ticket, we'll keep it open until we release the code fix in Apt

Closing this as it's fixed in code. We're switching to a style similar to most open source projects where we'll close PR's when the code is fixed, then when we do a release we'll make a new PR and link back to this PR so they'll be a notification here when it's done.


adding CONTRIBUTING, ISSUE_TEMPLATE, and PULL_REQUEST_TEMPLATE

Addressing https://github.com/napalm-automation/napalm-panos/issues/11

Coverage remained the same at 44.248% when pulling f3f52855d38449e6c43ab5ccefb44485aa247283 on ebeahan:contributing_pr_template into df64764fb57825a2500f9b0c282f9595608776ea on napalm-automation:develop.

@ebeahan just noticed that https://github.com/napalm-automation/napalm-panos/pull/12 was already open

Coverage remained the same at 44.248% when pulling fd45ecc6c183bb18f03c61425421f4f4c5c232ab on ebeahan:contributing_pr_template into df64764fb57825a2500f9b0c282f9595608776ea on napalm-automation:develop.


chore(vers): upgrade prop-types

In response to Issue 1651 in the original repo.

@TrySound — more than welcome, but can you do the merge?  I cannot.

I can merge but I can't publish anyway.

publishes are automatic for semantic titles of the type feat: or fix:

Hahaha, if I had known that, I would have marked it fix:.  Is there any easy bug you want fixed?  I'll do it over the weekend and this can ride its coattails.


Questions about Training Resources

Hi @IDKiro,
Thanks for your impressive work. Recently we are going to do some related work. Hence I am curious about the training resources issue.
May I kindly ask how many GPUs are used when training such a model? And What kind of GPUs? And how long it takes for the training?
Best regards,

RTX3090 * 4 for default.
You can adjust the batch size and learning rate in the config file according to the linear scaling rules, and SyncBN will be automatically enabled when necessary.


 YURA

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
buladi yaxwi iloji boricha hatoliklarga etibor bering
What part(s) of the article would you like to see updated?
hammasini
Additional information
No response

kuramiz yana


Docs 11622 dw doc builds duke

Replaces https://github.com/mulesoft/docs-mule-runtime/pull/1933

handling via new repo for dw docs


Upload Overdrive

I discovered our cancelled out overdrives essentially make an uploader unusable for all other sectors. I refactored in a couple of steps and the more I changed the more it made sense to essentially extend sectorCtx with not just its ctx and cancel func but everything related to the sector.

Lgtm but this one test keeps failing for some reason


[FEATURE]: Migrate Object Detection Endpoint

Feature Name
Migrate Object Detection Endpoint
Your Name
Karthik Subramanian
Description
DLP is migrating the training endpoints from Flask Blueprint to Django. This task requires creation of /object-detection route to run object detection requests in Django.
References/Resources:

For structure, mirror it similar to here.
Note that object detection supports using AWS Reckognition or built in YOLO architecture
Old object detection code for inspiration: here
AWS Reckognition utils code: here. This part might have to be migrated separately in order to not bloat the whole PR

Please ensure that this endpoint is tested thoroughly!

@FrancisWu2005 good task!