Make more information available in the reports

Is your feature request related to a problem? Please describe.
The Python Packaging Advisory Database does contain more information than currently available in pip-audit's reports. In particular there are the references and the aliases.
Describe the solution you'd like
References and aliases should be available in the JSON and other reports. I am currently writing a parser to import pip-audit reports in DefectDojo (https://github.com/DefectDojo/django-DefectDojo) and it would be great if users could see as much information as possible there to be able to assess the vulnerability.
A severity would be great as well, but that doesn't seem to be part of the information in the database.
Describe alternatives you've considered
The only alternative I see is to include a reference to the vulnerability in the Python Packaging Advisory Database in DefectDojo findings, but it would be more convenient for users to get the information directly.

Thanks for the request! I'm aware of the aliases key in the JSON response provided by the PyPA advisory DB, but not the "references" you mentioned. Are you talking about the link key?
Either way, this is indeed something we can and should support in the JSON output format for pip-audit.

Thanks for your quick response! I found the references in the yaml files of the PyPA advisory DB, e.g. https://github.com/pypa/advisory-db/blob/8aa52f490ff7a87026814b5634808f5824d4018a/vulns/aiohttp-session/PYSEC-2018-35.yaml#L41. Don't know how they are called in their JSON response.

Gotcha, thanks for the link. It looks like that key isn't currently exposed via PyPA's JSON API.
For example, here's the vulnerability object produced by requesting aiohttp-session==2.6.0:
  "vulnerabilities": [
    {
      "aliases": [
        "CVE-2018-1000814"
      ],
      "details": "aio-libs aiohttp-session version 2.6.0 and earlier contains a Other/Unknown vulnerability in EncryptedCookieStorage and NaClCookieStorage that can result in Non-expiring sessions / Infinite lifespan. This attack appear to be exploitable via Recreation of a cookie post-expiry with the same value.",
      "fixed_in": [
        "2.7.0"
      ],
      "id": "PYSEC-2018-35",
      "link": "https://osv.dev/vulnerability/PYSEC-2018-35",
      "source": "osv"
    }
  ]

So this will need upstream changes to Warehouse first.

How do you query the API? Using
curl -X POST -d \
          '{"version": "2.6.0", "package": {"name": "aiohttp-session", "ecosystem": "PyPI"}}' \
          "https://api.osv.dev/v1/query"

I get this result, including the references:
{
    "vulns": [
        {
            "id": "PYSEC-2018-35",
            "details": "aio-libs aiohttp-session version 2.6.0 and earlier contains a Other/Unknown vulnerability in EncryptedCookieStorage and NaClCookieStorage that can result in Non-expiring sessions / Infinite lifespan. This attack appear to be exploitable via Recreation of a cookie post-expiry with the same value.",
            "aliases": [
                "CVE-2018-1000814",
                "GHSA-mr4x-c4v9-x729"
            ],
            "modified": "2021-07-02T02:41:32.834524Z",
            "published": "2018-12-20T15:29:00Z",
            "references": [
                {
                    "type": "WEB",
                    "url": "https://github.com/aio-libs/aiohttp-session/pull/331"
                },
                {
                    "type": "REPORT",
                    "url": "https://github.com/aio-libs/aiohttp-session/issues/325"
                },
                {
                    "type": "ADVISORY",
                    "url": "https://github.com/advisories/GHSA-mr4x-c4v9-x729"
                }
            ],
            "affected": [
                {
                    "package": {
                        "name": "aiohttp-session",
                        "ecosystem": "PyPI",
                        "purl": "pkg:pypi:aiohttp-session"
                    },
                    "ranges": [
                        {
                            "type": "ECOSYSTEM",
                            "events": [
                                {
                                    "introduced": "0"
                                },
                                {
                                    "fixed": "2.7.0"
                                }
                            ]
                        }
                    ],
                    "versions": [
                        "0.0.1",
                        "0.1.0",
                        "0.1.1",
                        "0.1.2",
                        "0.2.0",
                        "0.3.0",
                        "0.4.0",
                        "0.5.0",
                        "0.7.0",
                        "0.7.1",
                        "0.8.0",
                        "1.0.0",
                        "1.0.1",
                        "1.1.0",
                        "1.2.0",
                        "1.2.1",
                        "2.0.0",
                        "2.0.1",
                        "2.1.0",
                        "2.2.0",
                        "2.3.0",
                        "2.4.0",
                        "2.5.1",
                        "2.6.0"
                    ],
                    "database_specific": {
                        "source": "https://github.com/pypa/advisory-db/blob/main/vulns/aiohttp-session/PYSEC-2018-35.yaml"
                    }
                }
            ]
        }
    ]
}

It does contain information about the version where the vulnerability has been fixed as well, which would be very useful.

Hey @StefanFl, I believe the example that @woodruffw posted was a response from the PyPI API here. pip-audit can query for vulnerabilities from either the PyPI or OSV APIs via the -s flag so in order to support this, both APIs will have to expose the references key (as you noticed, OSV already exposes this). So that's why this will require a patch to Warehouse.

It does contain information about the version where the vulnerability has been fixed as well, which would be very useful.

I believe pip-audit should already be showing fix versions for each vulnerability.

Of course the fix versions are already there, my fault.
Having the aliases and the link would already be a great start.

I find it puzzling that there's no severity information and one can't decide what severity issue is unacceptable.
What I understood this is because neither osv or pypi provides severity information? Which I find even more puzzling.
But these has links to advisories that has severity information, for example:
https://github.com/advisories/GHSA-mr4x-c4v9-x729
https://github.com/advisories/GHSA-r9hx-vwmv-q579
Why not download advisories to get the severity? And if not everything has it, then just assume worst,
but would be much nicer to know the severity and even be able to skip low severity issues.

I find it puzzling that there's no severity information and one can't decide what severity issue is unacceptable.

First, as a gentle reminder: this project is not in control of any vulnerability reports. All pip-audit does is consume vulnerability APIs and match them against dependency lists; if you want severity metadata, then you should raise a feature request upstream with either OSV or PYSEC.
Matching against GHSA would work when the vulnerabilities in question are in the GHSA DB, but there's no formal guarantee of this: we support IDs from all kinds of vulnerability DBs, and in fact don't even prefer GHSA by default (we prefer PYSEC, since it's curated for the Python community's needs). Attempting to "merge" results from separate feeds also poses problems: these kinds of reports are updated surprisingly frequently, and merging means turning a simple data retrieval problem into a deconflicting/matching problem between two potentially contradictory reports.
TL;DR: If you want severity metadata, please work with our upstreams! It's something we won't be able to accomplish on our own.

And if not everything has it, then just assume worst,
but would be much nicer to know the severity and even be able to skip low severity issues.

Independent of the above: I want to advise against taking this kind of approach (and state that we'll probably never assume the worst):

Vulnerability scoring is hard, and context sensitive: reducing it to a single number from an API means that you lack the context for how exploitable it is within your codebase, which is the metric that determines actual priority. In other words: something that's scored as a 2 might actually be a 9 in your code, while something scored a 9 might be a 2 in my code.
Tools like pip-audit need to be very careful to avoid producing security fatigue, and assuming the worst is fatigue-inducing: users quickly learn that "worst" really means "not so bad," and they begin to ignore things they shouldn't.

I compare the this similar audit's in other languages that usually seem to have this severity thing implemented eg. ci-audit in node. Why OSV or PYSEC doesn't feel that is a irrelevant data is the puzzling thing. And I was not blaming this project about it, I just find it puzzling that they don't have that information.
It might be hard, but all the ReDoS are not so hard. Eg. the PYSEC-2022-42969 you know very well.
Having to need to skip vulns like that, is not nice either. Generally lately there has been so much of these ReDoS ones which usually are pretty pointless like that one. I think vulnerabilities like this blocking the pipelines causes fatigue.

Why OSV or PYSEC doesn't feel that is a irrelevant data is the puzzling thing. And I was not blaming this project about it, I just find it puzzling that they don't have that information.

Please raise it with them! If we can get this data in a consistent matter, we will consider exposing it.

Having to need to skip vulns like that, is not nice either. Generally lately there has been so much of these ReDoS ones which usually are pretty pointless like that one. I think vulnerabilities like this blocking the pipelines causes fatigue

I agree completely. That being said, I don't think that severities solve the problem here: https://github.com/advisories/GHSA-r9hx-vwmv-q579 for example has a score of 7.5, despite having basically no attack profile/value.
The correct (IMO) approach here is to have curated feeds, with vulnerabilities that get removed (or aggressively pre-filtered) by trusted maintainers. I believe PYSEC attempts to provide this, although it's also an open question as to how best to scale it.

Oh, didn't notice it had so huge value. Probably because the attack vector is network. Which is then like, yeah, technically. Maybe when there should be ability to skip vulns with mentioned keywords :trollface:
I'm guessing the severities would at least lessen the effect and the less severe problems could be fixed once and while, not like immediately, but as the ecosystem seems to be what it is, here we are.
Of course one could then take the output of pip-audit and crawl the vulns to find out severity to then decide is it a blocker or not, but granted it would be better if the data would just be available from those. Need to think do I have energy to find right places to nag about it, but thank you for confirming that the problem is those curated lists pip-audit uses and I understand if pip-audit doesn't want to start crawling those itself.

Oh, didn't notice it had so huge value. Probably because the attack vector is network. Which is then like, yeah, technically. Maybe when there should be ability to skip vulns with mentioned keywords :trollface:

Yeah, this gets to the core of it: these scoring schemes have dimensions like "network," when the network context here is "a package index that you probably already trust and can send you ZIP bombs anyways."
I think filtering by keyword is probably a good idea here, but IMO is best done by downstream users of pip-audit via the --format=json output: supporting it directly would mean needing to decide whether to support regexes, what subset to support, etc. Users will probably all want slightly different things, so punting to them makes sense to me 🙂

Need to think do I have energy to find right places to nag about it, but thank you for confirming that the problem is those curated lists pip-audit uses and I understand if pip-audit doesn't want to start crawling those itself.

Just in case it helps: the right OSV issue tracker is probably this one: https://github.com/google/osv.dev/issues

#654 concerns vulnerability ratings/scores specifically, so I'll break that part of this discussion into that issue.


fixes path handling and cache

This PR fixes a bad syntax that I sent in the previous PR and other two bugs.

The fs did not work for paths starting with /, and was not consistent with other filesystems (s3, gcs and azure);
In some cases the cached path was not saved starting with / and it was causing issues with the _ls_from_cache;

@martindurant I made some changes to make the service_account option more inline with the gcs file storage, can you review the changes and let me know what I need to fix in it?
Thanks!


[5.1] Reformat Kernel::terminate

Removed unused variable and made code a bit more readable.

:+1:

It's silly to wrap a whole method in an if statement.


Returning b64encoded str from drise runner

This PR changes the return type of drise runner from a matplotlib figure list, ... to a base64 encoded string list of images.
Previously, there was a bug in the figure_list return value because we were clearing the figure plot before actually returning it.
This PR gives greater flexibility to users: they can read in the figure from their local directory, or they can use the pre-encoded string from the return value.

Codecov Report

Merging #36 (a3fa51d) into main (2facb22) will increase coverage by 1.21%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##             main      #36      +/-   ##
==========================================
+ Coverage   74.25%   75.46%   +1.21%
==========================================
  Files           6        6
  Lines         268      269       +1
==========================================
+ Hits          199      203       +4
+ Misses         69       66       -3

Flag
Coverage Δ

unittests
75.46% <83.33%> (+1.21%)
:arrow_up:

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

Impacted Files
Coverage Δ

python/vision_explanation_methods/DRISE_runner.py
72.15% <83.33%> (+4.20%)
:arrow_up:


Add security, edit performance, add User model, fix bug, optimize components, middleware, token verify

hi

hi

It's too long bro


Implement tensor.round

dl.floor and dl.ceil are implemented round is missing.

This issue was moved to tensorflow/tfjs#70


[Improve][Connector-V2][Feishu] Unified exception for Feishu connector

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
sub-task of https://github.com/apache/incubator-seatunnel/issues/2930
Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Closed because of feishu dose not need write exception.


AddInstance method misworking

A method  AddInstance of the extension seemed to have another idea when was created
As I understand the idea: add IE instance of a SystemUnitClass to another IE in the InstanceHierarchy
What it actually does: adds IE to a SystemUnitClass unit...
        public static bool AddInstance(this SystemUnitClassType systemUnitClass, CAEXObject newInstanceObject)
        {
            if (systemUnitClass.Elements(newInstanceObject.TagName).Any((XElement n) => n.CAEXNameOfElement() == newInstanceObject.Name))
            {
                return false;
            }

            ExternalInterfaceType externalInterfaceType = newInstanceObject as ExternalInterfaceType;
            if ((object)externalInterfaceType == null)
            {
                return systemUnitClass.Insert((InternalElementType)newInstanceObject, asFirst: false);
            }

            return systemUnitClass.Insert(externalInterfaceType, asFirst: false);
        }

Sorry, that the AddInstance extension method is misleading. The AddInstance method works the same way as the Insert method and is therefore obsolete. The behavior is correct.


easyControls 3.0

Is there any chance of getting support for easyControls 3.0?
I checked the communication using web browser, it seems to open webSocket connection and the communicates and delivers data using the webSocket. From what I can see, it seems to me like the websocket actually sends and receives binary data, perhaps ModBus data?

Sorry, not from me. I don't have a device with easyControls 3.0, and unfortunately, I also don't have the time for such a big task. If someone creates a python package which can be used to query these devices by variable names then maybe I could add to this integration.

EasyControls 3.0 is supported by this integration: https://github.com/frawe/EasyControls3_homeassistant


Alternate version

I made an alternate version of this library that suits my needs a little better. It follows the typical Arduino form of passing the serial port and exposing information as collected. I did my best to fuse a number of sources on the protocol. My hope would be that you would consider adopting a similar form. I also hope you do not find this offensive in any way.
https://github.com/AronRubin/SeeedHeartBreathRadar
Thank you,
Aron

Hi Aron, thanks for sharing this alternate version. Looks very interesting from my beginner skills in C and C++. I've been trying to run it with the necessary modifications to remove the display parts of the code, with little success. What microcontroller and IDE did you use. Was it an Arduino or ESP32?
Thanks.
Wijay.

@wijayw It is running on an rp2040 based device for my debug convenience. I don't think there is anything that would prevent it from working with ESP32. When I resume the project, that is likely my target as well. We should probably discuss your issues in the repository associated with the project.

Thanks Aron. Will continue the discussion on the Seeed wiki.

Thank you for your interest and support of this product.


The control disposes textcontroller that is passed in

I came across an issue I think is a bug, The control currently disposes of the textController that is passed in constructor but I believe it should only do this if it was responsible for creating it.
There are situations where the text controller will still be needed if a parent widget creates but is not showing the markdown control (eg a tab view).

Give me time to fix it. I'm working on another project. I need more time to find and fixed this bug.


please as a valid KISS_SU

Can we please have please as a KISS_SU option.

We could have it if please were packaged; otherwise, you can use a patch like this...
diff --git a/kiss b/kiss
index a49886f..b06d0be 100755
--- a/kiss
+++ b/kiss
@@ -46,7 +46,7 @@ as_root() {
         ;;

         *)
-            die "Invalid KISS_SU value: ${su##*/} (valid: doas, sudo, ssu, su)"
+            die "Invalid KISS_SU value: ${su##*/} (valid: doas, please, sudo, ssu, su)"
         ;;
     esac
 }
@@ -1632,7 +1632,11 @@ main() {

     # Figure out which 'sudo' command to use based on the user's choice or what
     # is available on the system.
-    su=${KISS_SU:-"$(command -v sudo || command -v doas || command -v ssu)"} || su=su
+    su=${KISS_SU:-"$(command -v sudo   ||
+                     command -v doas   ||
+                     command -v ssu    ||
+                     command -v please
+    )"} || su=su

     # Figure out which utility is available to dump elf information.
     elf_cmd=${KISS_ELF:="$(

Brilliant, thanks!

The patch above does not add please to accepted options, but this should work: https://gist.github.com/6c280ac11fd3844001c59a0f86568e94

I knew I was missing one...

By the way, I don't see any issues with adding this patch to mainline even if it isn't packaged at community. The syntax seems no different than sudo, doas, or ssu. This just adds an extra command -v call, which is a pretty cheap operation.

You're right, but my concern is that we establish a precedent where any given privilege escalation tool gets added to the list of allowable tools and isn't part of the ecosystem. FWIW, I'm far more inclined to simply allow KISS_SU to define the implementation if it is set, that way users can use please et al., not have the 'responsibilty' of maintaining it, and every tom, dick, and `harry' doesn't get requested for support...

So, something like "use doas, sudo, ssu if KISS_SU is not set, use whatever is given if it is set?"


Recipe issues

In this thread, I will post some problems I find when checking the recipe code.
In https://github.com/k2kobayashi/crank/blob/master/crank/bin/generate_scp.py#L81, if the scp directory already exists, then the generation process won't be executed. However, in https://github.com/k2kobayashi/crank/blob/master/egs/vaevc/template/run.sh#L49, the scp directory is always created first.
I guess the design is to avoid generating the scps again if they already exist? Personally I think it is okay to run the process every time. Shall we skip such check ...?

Thanks. You are right. Maybe I add the check to avoid unexpected overwrite of scp files. I'll modify it.


Extra supply

Hello @gwenchee! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file d3ploy/solver.py:

Line 176:1: E302 expected 2 blank lines, found 1
Line 178:1: W293 blank line contains whitespace
Line 178:1: W391 blank line at end of file


map_size in lmdb may not be needed

in src code here
A max size has been pre-defined. However, this size of space will be occupied no matter how large of parsed files.
e.g., parsing results of two gaussian log will be 0.98GB(in case of map_size=1048576000, map_size=1048576000000 is too big for test), by removing this parameter, it is 10MB (but meet errors).
This is a common issue, as can be found online.

note: this issue can only affect the windows users, linux is fine, mac has not been tested


Add 'annotate' functionality

This was suggested to me earlier by someone - can't remember who. The idea would be to be able to annotate particular runs in the database by adding to a notes field, or something similar.
I can see a command like:
recipy annotate which brings up a text editor (like git commit does), and which does the latest run by default but allows you to set which run to edit with the run ID or another search term (eg with --run options).
In terms of the GUI I'm not entirely sure, but it'd be good if there was some way of clicking a button to annotate, and then editing some text and saving it in the field.
Do you think it's worth having a look at this? I'm happy to do the command-line interface, would you be able to look at the GUI side of things @jvdzwaan?

Sure. This wouldn't be to hard to add.

So, in the GUI runs can be annotated with notes. Notes are also searched when searching for runs.

Thanks @jvdzwaan, that's great! I just need to get round to doing the same for the CLI now...!

Hmmm, I added a notes field, but we already have an unused description field (at least, I think it is currently unused). Shall I remove the notes field and use the description field instead? What do you think, @robintw?

I didn't realise we had a description field, but you're right, we do have one and it isn't used. I'd probably prefer to call it notes (makes it clearer that it is just an optional field for any notes, rather than a required description), but what do you think? We could just delete the description field - it's only defined as "" in a few places.

'Notes' does sound more optional than 'description', so let's stick to notes and remove description.

I've done a first go of annotation for the CLI in 94d8ae2.
I'm looking for advice on how the CLI should work. At the moment I have recipy annotate which annotates the latest run. Somehow I'd like to let users search for runs to annotate - but things get a bit confusing about how to do that given that we have various sub-commands: recipy latest and recipy search for example.
Any ideas? Or should I delay this to the next release and open an issue for command-line interface re-organisation?

I can see how things get complicated. Somehow it makes sense to just be able to annotate the latest run, but if you forget to do it when it is the latest run, why are you not able to annotate searches, etc. Perhaps annotating using a run id is a possibility, however, they are not easy to type. Also: what happens if you annotate a run twice? Is de comment added to what is already there or is is replaced? How about if some of the search results have already notes and some of them don't?
It would perhaps also be nice to be able to annotate the run from inside the script. Or maybe that doesn't make sense, because you don't want static information there.
I guess thinking about this some more is a good idea. It would also be nice what people want, how they want to be able to annotate.

This has been implemented, although more advanced functionality could be useful - so I've opened a separate issue for that #134.


[Communication - Identity] Build test package failing in nightly runs

Communication - Identity nightly test runs are failing with:

Error message:
../../../../../common/temp/node_modules/.pnpm/@azure-tools+test-recorder@3.1.0/node_modules/@azure-tools/test-recorder/types/src/recorder.d.ts(6,10): error TS2305: Module '"../../../../../../../../../../sdk/communication/communication-identity/test/public/node_modules/@azure/core-client/types/latest/core-client"' has no exported member 'AdditionalPolicyConfig'.
Error: Failed calling tsc -p ..  Exit code: 2
##[error]Bash exited with code '2'.

For more details check here:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=3679105&view=results

@timovv can you take a quick look to see if we forgot an export somewhere?

This is related to a recorder minmax test issue @HarshaNalluru is investigating

related https://github.com/Azure/azure-sdk-for-js/issues/29246


feat: returns queried user alongside refreshed token

Description
Resolves #2784 by doing three things:

When refreshing a token, queries the db and returns the full, freshly queried user
Supports the setUser method on the AuthProvider
Ensures the useAuth hook receives an updated user after updating your own account

This is considered a feature request because the current behavior is the intended one, where refreshing the token does exactly what it's named after, it only refreshes the expiration date of the given token.

[x] I have read and understand the CONTRIBUTING.md document in this repository

Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] Existing test suite passes locally with my changes

@thgh thank you for going through this! Much appreciated. I'm going to work my way through your feedback. We also need to refresh the user on the account view as well.

@thgh i wrote some tests for this too 👍

@jacobsfletch one thing to note here - in PR #2937 I just removed an explicit safeguard that used to prevent against GraphQL ever populating more than 0.
Long story short, if we are populating full users within /me and /refresh / similar, we need to make sure those operations accept the depth parameter, and that the corresponding GraphQL resolvers specify depth to be 0. Just something to check here. I did not review this PR to see if there will be a conflict, but I'm happy to talk through this before we merge this PR. Just noting for posterity.

@jacobsfletch one thing to note here - in PR #2937 I just removed an explicit safeguard that used to prevent against GraphQL ever populating more than 0.
Long story short, if we are populating full users within /me and /refresh / similar, we need to make sure those operations accept the depth parameter, and that the corresponding GraphQL resolvers specify depth to be 0. Just something to check here. I did not review this PR to see if there will be a conflict, but I'm happy to talk through this before we merge this PR. Just noting for posterity.
Actually now that I think of it, we should make sure that the GraphQL types support these new changes as well in this PR. 👍

It seems to me this is already working as expected given this config I am able to fetch data from a relationship as I would expect.
  collections: [
    {
      slug: 'users',
      auth: true,
      fields: [
        {
          type: 'relationship',
          name: 'relation',
          relationTo: 'posts',
        },
      ],
    },

Is that what you were concerned would not be available @jmikrut?


Markdown preview editor cannot split to right

Steps:

Create a markdown file
Open preview (Ctrl+Shift+V)
Move mouse cursor on split button

"Split Editor Down" is shown by default. I tried that with Shift key, but it does not switch to "Split Editor Right".

VSCode Version: 1.37.1
OS Version: Windows 10
All plugins related to markdown are disabled.

This happens when a webview is focused. Marking as help-wanted. Webview is likely capturing the modifier key press. Relevant webview code is here: https://github.com/microsoft/vscode/blob/78879b6a8116e5ecee3f95809ac49fb1ab0bb206/src/vs/workbench/contrib/webview/electron-browser/webviewElement.ts#L223

Seem like it already work?

Hi, I'd like to have a go at this one. After testing and looking into the code, the approach that seems most logical to me at the moment is to create a fake KeyboardEvent targeting the document.body. Similar to what's already being done here for keyboard events which target the Webview itself (e.g. copying text via Ctrl+C from the markdown preview):
https://github.com/microsoft/vscode/blob/78879b6a8116e5ecee3f95809ac49fb1ab0bb206/src/vs/workbench/contrib/webview/electron-browser/webviewElement.ts#L164-L170
I've tested this fix and it works, however I'm having trouble deciding which events should be recreated and sent to the window. Should I send all the keydown and keyup events to the document.body (seems a bit excessive), or should I send just the ones that correspond to the alternative key that is reportedly broken (i.e. the "Alt" key for macOS and the "Shift" key for Windows/Linux)?

This seems to be working as expected for me. I tested on windows using shift and on macOS using ctrl
Note that the preview itself will not get split but you still should see a new empty editor group created in the correct location


Add LICENSE

I would like to add a LICENSE for this project.
In order to make this repository truly open source, we'll need to license it so that others are free to use, change, and distribute this software.

Yes, @iamansoni Go ahead!

I would really like to work on this issue under the GSSOC tag as a GSSOC participant so my contributions can be counted! Hope you won't mind tagging it for the same!😅


Transfer ownership of crate to new maintainer

Hi,
I have forked this project to https://github.com/Metaswitch/cassandra-rs and intend to maintain it there. If you no longer intend to maintain this project, please could you contact me and/or Alex Crichton to arrange a transfer of the cassandra and cassandra-sys crates to myself? I would like to avoid forking on crates.io, so that we don't leave the stale crates in place to trip people up in future.
To anyone else who is interested - my maintained fork is available on crates.io at cassandra-cpp.
Thanks,
--KW 8-)

Note: Unless we hear otherwise, we are going to officially start tracking this crate as unmaintained in the RustSec Advisory Database:
https://github.com/RustSec/advisory-db/pull/183

@tupshin any reason this hasn't happened yet? this ends up being the default repo in google search and it makes the fork impossible to search.
overall having both the stale repo in crates.io and on GitHub adds to the cassandra driver confusion for Rust


Theme - Animation on 2FA confirmation has a dark background when light theme applied

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.13-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Precondition: set the light theme in the app

Open the app and log in
Tap Settings > Security > Two-factor authentication
Set up Two-factor authentication

Expected Result:
The animation on the confirmation screen has a light background
Actual Result:
The animation has a black background
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/24924abb-046d-4a2c-a75f-11ce8c3382da
View all open jobs on GitHub

same root cause as https://github.com/Expensify/App/issues/33106
removing the deploy blocker label

cool, thanks!

Gonna take this one if that's alright @stitesExpensify

@peterdbarkerUK could you help ensure that @rushatgabhane is paid $500 C+ review for the review of https://github.com/Expensify/App/pull/33189

Payment handled here https://github.com/Expensify/App/pull/33189#issuecomment-1874173603

Closing as complete!


can cache the map for using offline?

using api.mapbox offline??

I am not a maintainer, but you have to provide a full description of your problem or feature request. The information, that you have provided, is not enough to give you any feedback.

And I guess you meant cache, not cashe?

I want use tiles in offline without internet
there is an api that load map  tiles
Get https://a.tiles.mapbox.com/v4/mapbox.streets.json?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXFhYTA2bTMyeW44ZG0ybXBkMHkifQ.gUGbDOPUN1v1fTs5SeOR4A&secure
I want to use it offline

@fatemehgholampour Unfortunately offline map tiles using the Mapbox tile API violates our terms of use. As such geojsonio does not support offline caching.


44_derive_param_diam_to_sev.R@devel

Added diam_to_sev utility
Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[ ] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[ ] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[ ] Updated relevant unit tests or have written new unit tests - See Unit Test Guide
[ ] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[ ] Update to all relevant roxygen headers and examples.
[ ] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[ ] Address any updates needed for vignettes and/or templates
[ ] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[ ] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[ ] Address or fix all lintr warnings and errors - lintr::lint_package()
[ ] Run R CMD check locally and address all errors and warnings - devtools::check()
[ ] Link the issue so that it closes after successful merging.
[ ] Address all merge conflicts and resolve appropriately.
[ ] Pat yourself on the back for a job well done! Much love to your accomplishment!

@arjoon-r  @Arju24  can you all fix the failing checks.  I put in slack and in the other demo files my fixes for these issues.

Hi @bms63, Fixed the failure checks. Please review and provide your comments.

Please use @devel in branch name going forward.  I think this one can get in without it.

Closing in favor of https://github.com/pharmaverse/admiralvaccine/pull/72


Implemented: Add additional job actions to job config component(#364tt29)

Related Issues

Closes #
Short Description and Why It's Useful

Screenshots of Visual Changes before/after (If There Are Any)

IMPORTANT NOTICE - Remember to add changelog entry
Contribution and Currently Important Rules Acceptance

[ ] I read and followed contribution rules

@disha1202 Please add the image of the work you have done in this PR.

Added the image.

LGTM

LGTM


Dependency Notice: libssl-dev and pkg-config

Issue Summary:
This issue is to inform contributors and users of the project about the required dependencies libssl-dev and pkg-config for building and running the project.
Details:
Several dependencies of our project require libssl-dev and pkg-config to be installed on the system. Without these packages, you might encounter errors during the build process.


Fix yaw when in manual mode during arming

@tumbili This should fix the yaw issue. We have to explicitly lock out yaw in manual at low throttle.

Looks correct. Is 0.05 enough though? Isn't that accidentally triggered if the throttle stick is a "little" higher.

I adjusted the threshold to 0.1 in the final version on master. Applied!


chore: replace tsx with Bun

I replaced tsx with Bun.
Hono uses Bun, so tsx is not needed.
The author should do the following, if applicable

[ ] Add tests
[x] Run tests
[ ] bun run format:fix && bun run lint:fix to format the code
[ ] Add TSDoc/JSDoc to document the code

@nakasyou
Exactly! tsx is not needed now. Thanks.


This page should tell people how to open the console

https://developers.google.com/web/tools/chrome-devtools/console/?hl=en

It does:
https://developers.google.com/web/tools/chrome-devtools/console/?hl=en#open_as_panel
https://developers.google.com/web/tools/chrome-devtools/console/?hl=en#open_as_drawer


Create setup scripts

For each module:

create 00-setup.R script that installs the necessary packages for each module.
include 00-setup.R as the first step in each module run script.

A couple of bioc packages to note:
clusterProfiler
DGCA
An additional package that seemed necessary but wasn't explicitly loaded was broom.helpers.
Date needed: 09/30

Will work on this today. Thanks.

I have added the module specific R scripts and updated corresponding bash scripts.

DGCA doesn't seem to be called anywhere - could you point the scripts where it is needed?
Can you also inform where broom.helpers was necessary? Doesn't seem like it was an issue for me.

Closing as the changes were committed to the master branch.


How to keep some LightningModule's parameters on cpu when using CUDA devices for training

❓ Questions and Help
What is your question?
I tried to transform my code into Lightning yesterday, but the CUDA OOM error occurred. My model has a very large parameter nn.Embedding(24000000, 128) (more than 22GB), which obviously exceeds the memory of my CUDA device. I implemented two classes to sovle this problem in my torch_version code, the pseudo code is as follows:
PyTorch Code
class Emb(nn.Module):
        def __init__(self):
                xxxxxx # some init operations
                self.emb = nn.Emebdding(24000000, 128)
        def forward(self, idx):
                return self.emb(idx)

class MyModule(nn.Module):
        def __init__(self):
                xxxxxx # some init operations
                self.calculation = some_calculation()
        def forward(self, input):
                out = self.calculation(input)
                return out

# train part:
get_emb = Emb()
model = MyModule()
model = model.cuda()
optimizer = some_optimizer([{"params": e.parameters}, {"params": model.parametersba}], lr=1e-3)
loss_metric = some_loss()
for epo in epoch:
        for x, y in dataloader:
                embs = get_emb(x.cpu()).cuda()
                out = model(embs)
                loss = loss_metric(out, y)
                optimizer.zero_grad()
                loss.backward()
                optimizer.step()

The torch_version code above keeps the nn.Embedding on cpu and ensures that the optimization of training is completed on CUDA devices. But I don't know how to achieve this via pytorch_lightning, because the entire 'training' part is encapsulated in training_step. The PL code  is as follows:
PL Code
class MyModule(pl.LightningModule):
        def __init__(self):
                xxxxxx # some init operations
                self.calculation = some_calculation()
                self.emb = nn.Embedding(24000000, 128)
                self.loss_metric = some_loss()
        def training_step(self, batch, batch_idx):
                x, y = batch
                embs = self.emb(x)
                out = self.calculation(embs)
                return {"loss": self.loss_metric(out, y)}

# train part
model = MyModule()
trainer = pl.Trainer(gpus=-1)
trainer.fit(model, dataloader)

So, is there any recommended way to keep a part of the LightningModule's parameters on cpu when using CUDA devices for training?
What's your environment?

OS: Ubuntu 16.04.6 LTS
CUDA: version 10.2, 2080Ti
Version 0.9.0

if you do this:
class MyModule(pl.LightningModule):
        def __init__(self):
                xxxxxx # some init operations
                self.calculation = some_calculation()
                self.emb = [nn.Embedding(24000000, 128)]
                self.loss_metric = some_loss()
        def forward(self, input):
                x, y = input
                embs = self.emb[0](x.cpu()).to(self.device)
                out = self.calculation(embs)
                return {"loss": self.loss_metric(out, y)}

it should work I guess. Can't think of a better solution than this :sweat_smile:

if you do this:
class MyModule(pl.LightningModule):
        def __init__(self):
                xxxxxx # some init operations
                self.calculation = some_calculation()
                self.emb = [nn.Embedding(24000000, 128)]
                self.loss_metric = some_loss()
        def forward(self, input):
                x, y = input
                embs = self.emb[0](x.cpu()).to(self.device)
                out = self.calculation(embs)
                return {"loss": self.loss_metric(out, y)}

it should work I guess. Can't think of a better solution than this 😅

@rohitgr7 Really?! In this case, will the self.emb be saved in ckpt along with other parameters of MyModule? Sorry, I just noticed that I had a typo in the PL Code: forward(self, input) -> training_step(self, batch, batch_idx)

Yeah, won't save. Didnt think of that. If any module in the lightning has a .to method then it will be moved to device. Somehow need to think of a way to override this .to method for embeddings.

@rohitgr7 I tried to use self.emb = nn.Embedding(24000000, 128).cpu() in lightning code, but it failed. Actually, it is very common in recommendation system to use this kind of large-scale embedding as the trainable weight of the model. For example, the sparse features of User Id (more than 24000000) can be represented by a dense embedding matrix. So is there any possible to implement this operation in Pytorch-Lightning?

Looked at PyTorch source code. Found something. Can you try this?

class SpecialEmbedding(nn.Module):
        def __init__(self, fin, fout):
                self.emb = nn.Embedding(fin, fout)

        def _apply(self, fn):
                return self

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

class MyModule(pl.LightningModule):
        def __init__(self):
                xxxxxx # some init operations
                self.calculation = some_calculation()
                self.emb = SpecialEmbedding(24000000, 128)
                self.loss_metric = some_loss()

        def training_step(self, batch, batch_idx):
                x, y = batch
                embs = self.emb(x.cpu()).to(self.device)
                out = self.calculation(embs)
                return {"loss": self.loss_metric(out, y)}

# train part
model = MyModule()
trainer = pl.Trainer(gpus=-1)
trainer.fit(model, dataloader)

@rohitgr7 Thanks for your kindly help! But this SpecialEmbedding code failed again 😅
the error message is as follows:
Traceback (most recent call last):
  File "debug.py", line 742, in <module>
    trainer.fit(model)
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/trainer/states.py", line 48, in wrapped_fn
    result = fn(self, *args, **kwargs)
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 1064, in fit
    results = self.accelerator_backend.train()
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/accelerators/dp_backend.py", line 97, in train
    results = self.trainer.run_pretrain_routine(model)
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 1239, in run_pretrain_routine
    self.train()
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 394, in train
    self.run_training_epoch()
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 491, in run_training_epoch
    batch_output = self.run_training_batch(batch, batch_idx)
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 844, in run_training_batch
    self.hiddens
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 1015, in optimizer_closure
    hiddens)
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 1197, in training_forward
    output = self.model(*args)
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/opt/conda/envs/rapids/lib/python3.6/site-packages/pytorch_lightning/overrides/data_parallel.py", line 70, in forward
    "them on device: {}".format(self.src_device_obj, t.device))
RuntimeError: module must have its parameters and buffers on device cuda:0 (device_ids[0]) but found one of them on device: cpu

It seems that pytorch_lightning forces the parameters of a module to be set on the same device?

not 100% sure why is this RuntimeError should be raised. @awaelchli any suggestions on how to make this work/?
Actually now I also want to know if this is the right way or not or there is another way around since it seems super useful.
@chiragraman does it work on a single GPU device with no distributed backend?

@rohitgr7 did you mean to tag @David-AJ ?

oops, my bad, was looking at your issue too #3998 side by side :sweat_smile:

not 100% sure why is this RuntimeError should be raised. @awaelchli any suggestions on how to make this work/?
Actually now I also want to know if this is the right way or not or there is another way around since it seems super useful.
@David-AJ is it working on a single GPU device with no distributed backend?

Hi @rohitgr7, I tried to run this code on a single GPU and the RuntimeError was raised again.

do you want to train the embedding layer or is it pretrained?
If you want to train it, I'm afraid you can't have it on cpu while also using DP. The error you got above is because DataParallel detects that.

@awaelchli Yes, I want to train it, how about using DDP or any other distributed backend? Actually @rohitgr7‘s first solution self.emb = [nn.Embedding(24000000, 128)] could make self.emb on CPU while training with DP, but in that case the self.emb won't be saved in the ckpt, nor can be loaded using load_from_checkpoint. Could this problem be solved by overriding the on_save_checkpoint and on_load_checkpoint?

self.emb = [nn.Embedding(24000000, 128)]

🤣  this is a funny trick. Very creative. Yeah, this makes torch unaware of this module, and keeps it on the cpu.

Could this problem be solved by overriding the on_save_checkpoint and on_load_checkpoint?

Yes, I think that would do the trick!
But will this this embedding layer not be a huge bottleneck? You will need to transfer all outputs to the GPU and this blocks execution.

@awaelchli

But will this this embedding layer not be a huge bottleneck? You will need to transfer all outputs to the GPU and this blocks execution.

Looks like I have no choice🤣 otherwise I have to train all the module on the cpu, don't know which one could be faster. The application scenario is in the recommendation system, and in fact the number of users and items far exceeds 24 million, all these ID sparse features should be represented by the embedding layer and trained in the module. Do you have any other suggestions on how to make it faster?

Could this problem be solved by overriding the on_save_checkpoint and on_load_checkpoint?

yes. I would do it this way. grab the state dict of the embedding layer and add it to the checkpoint dict. when loading, you do the opposite and read the state dict.

Do you have any other suggestions on how to make it faster?

sorry, nothing comes to my mind :(

I modified my code like this:
class MyModule(pl.LightningModule):
        def __init__(self):
                xxxxxx # some init operations
                self.calculation = some_calculation()
                self.emb = [nn.Embedding(24000000, 128)]
                self.loss_metric = some_loss()

        def training_step(self, batch, batch_idx):
                x, y = batch
                embs = self.emb[0](x.cpu()).to(self.device)
                out = self.calculation(embs)
                return {"loss": self.loss_metric(out, y)}

        def on_save_checkpoint(self, checkpoint):
                checkpoint["emb"] = self.emb

        def on_load_checkpoint(self, checkpoint):
                self.emb = checkpoint["emb"]

It works! Thank you @rohitgr7 and @awaelchli!


Cleaned up some English language issues

What problem does this PR solve?
Simply cleans up some English language issues in help text and error/info messages.
Tests

No code

Related changes

Need to cherry-pick to the release branch
Need to update the documentation
Please update documentation in any cases where output of commands may have changed in this patch.

@kolbe Thanks, please fix the CI.

@kolbe Thanks, please fix the CI.

Oh jeez, I'm so sorry! I will go through and fix the tests.

Codecov Report

Merging #95 into master will increase coverage by 2.57%.
The diff coverage is 22.85%.

@@            Coverage Diff             @@
##           master      #95      +/-   ##
==========================================
+ Coverage   29.33%   31.90%   +2.57%
==========================================
  Files          17       18       +1
  Lines         958      909      -49
==========================================
+ Hits          281      290       +9
+ Misses        625      570      -55
+ Partials       52       49       -3

Impacted Files
Coverage Δ

cmd/help.go
6.00% <0.00%> (-4.17%)
:arrow_down:

cmd/run.go
0.00% <0.00%> (ø)

pkg/repository/component.go
0.00% <ø> (ø)

pkg/repository/mirror.go
8.19% <ø> (ø)

pkg/repository/version.go
78.26% <ø> (ø)

pkg/set/string_set.go
0.00% <0.00%> (ø)

cmd/uninstall.go
38.18% <12.50%> (-7.48%)
:arrow_down:

cmd/status.go
11.90% <20.00%> (ø)

pkg/repository/repository.go
37.11% <30.76%> (ø)

cmd/clean.go
18.91% <33.33%> (ø)

... and 8 more

Continue to review full report at Codecov.

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

@lonng PTAL


Can I get file info in Cross Platform

This link how to get FileInfo of file
https://msdn.microsoft.com/en-us/library/6yk7a1b0.aspx
but I don't know it's will work in other OS

Transported it to the original repo


Abby's Blog Post

This is my blogpost for my project.

The project I intend to focus on for the remainder of the workshop is the systematics normalization project. I am planning to try and create a piece of software that can be used within Empirical or MABE that allows phylogenetic trees with many different sizes to be compared to one another and produce statistically significant results.

All right, here goes.  Overall, it looks very good.  It's definitely a far more fleshed-out outline than mine though (as you probably noticed).  Some of your sections look almost done, so I'll try to review them as if they were the working draft.
First off, I'll talk about the structure.

You begin by saying that the motivation is finding "a good way to compare phylogenetic trees with one another", but the work was giving each tree a weight of its phylogenetic diversity.  Perhaps this is just me, but when I think of comparing two complex entities of data in a statistically significant way, I think more of comparing distributions than comparing a single metric, such as mean or variance.  As such, I'd advise you to perhaps put something in the motivation like finding "a good metric with which to compare phylogenetic trees with one another".

Then again, I am not a statistician (and I will admit that I am not the biggest fan of the subject), so perhaps my opinion on that isn't the most informed.  Maybe ask someone else what they think?  Someone who is a statistician?

Your steps seem more about using your metric than developing it.  I know that your current results are a proof of concept and not the actual results, but based on the motivation being to develop a tool for comparison, the results as a whole seem to be a proof of concept of that tool being useful for comparison.

Overall, a lot more emphasis seems to be given to how you tested the tool than how you created this tool.  I understand that you're going to flesh out and describe your code in the Pressure for Diversity and Mutations section, but the metric development has three sections (those being Systematics, Phylogenetic Diversity, and Pressure for Diversity and Mutations) while the testing of the metric has four (those being The Null Model, Mutation and Pressure for Diversity, Method, and Results).

There is no "conclusion" section where you discuss the metric's performance, but that probably requires that you have the actual results.

The Mutation and Pressure for Diversity section has a subsection called Pressure for Diversity" but the section which has mutations is called Organism Class.  That's not a real issue, it's just my desire for symmetry acting up again.

Now, I'll mention more specific details about the more fleshed out sections.

There are a few minor grammatical errors, as would be expected from a rough draft.  Here are a few that I found:
a. In many places, you capitalize "Phylogenetic Diversity".  According to the wikipedia, it shouldn't be capitalized.
b. Line 33.  There should be no comma after "trait among trees".
c. Line 50.  There should be a comma after "here".
d. Line 164.  "Then, I would run it 1000 times, and at the end of each run, record the final diversity." is a pretty awkward sentence missing a comma after "1000 times, and."  I'd just rewrite it to be "Then, I would run it 1000 times and record the final diversity at the end of each run."
e. Line 166.  There should be no comma after "every 10th value in the dataset".

In the Phylogenetic Diversity section, you give some reasons why you chose that as your metric, but you don't mention what other options you had or how phylogenetic diversity compares to said options.

I think a lot of people who might read this (including me) will probably not know what a Null Model is, so it might be worth explaining it.  Is it related to a null hypothesis?

In two places, you say "we decided".  I don't think you mention who your mentor is, so it might be a nice touch to explain who "we" is.

And that's all I really can say at this stage.  Looks great!  Can't wait to see the final product!

This blog post looks great! I really like the format of the post and how you were so detailed about each step of your project and your findings. I don't think there is a lot to change, but these are some of my suggestions:

Before the "Null Model" section, you mention the "null model" a few times without actually describing it, so I was initially confused about what the null model was. But then I read the "Null Model" section from later in the post and it made sense to me. So I think it would be better to move the "Null Model" section to the beginning of the blog post in the "Background" section, since it is first mentioned under "Systematics".

I know you already mention that certain chunks of code still need commenting/explanation, so I think adding commenting to the code will help readers understand what the code is doing even if they don't understand the specific syntax.

Under "Systematics", in the text immediately before the FindPhyloMultipleGens code, the first sentence says "the following function". Instead of the "The following function", I think it would be helpful if you said FindPhyloMultipleGens. I think doing that would make it more clear about which function you are describing since FindPhyloMultipleGens seems to be a very important function in your project.

In the "Phylogenetic Diversity" section, there's a sentence stating: "phylogenetic diversity is defined as the number of internal nodes in the tree plus the number of extant taxa, minus one" but you don't mention anywhere else what extant taxa is. So it would be good to clarify what that is.

Some minor typos I noticed:

The first line under "Systematics" should say "Systematics.h is a file manager in Empirical" but the "a" is missing right now.
The second sentence under "Phylogenetic Diversity" seems like a run-on sentence. It is currently this: "I could have also used evolutionary distinctiveness, however, phylogenetic diversity is a highly applicable trait among trees, and it is easy to calculate, making it a desirable metric for comparison." You could split it up into two sentences like this: "I could have also used evolutionary distinctiveness. However, phylogenetic diversity is a highly applicable trait among trees, and it is easy to calculate, making it a desirable metric for comparison."

Overall, great job on the blog post! The post was very thorough and did a really good job of explaining each step of your project. This project is very impressive, and I'm really excited to see the final blog post!

Your blog post is great. I like the structure: it is easy to read and easy to understand the problem and your contributions. I like the detailed explanations and that you provide many code examples - this helps understanding a lot. I also really like your schematic figure of the phylogenetic tree, it is simple and contains the necessary information.
Some of the concepts (e.g. null model, pressure for diversity) appear before you explain them. I'm not sure how to fix that without affecting a really nice structure of your blogpost. Maybe adding a definition section in the end (and a link to it at the beginning) would help, so that people, who are not familiar with some concepts could look them up.
In Motivation section:

I'm wondering if the use of word "significant" could be confusing here: "... to obtain statistically significant data ... ". I assume you mean something like "statistically useful data"?
"trees from steps 3 and 4" -> "trees from steps 2 and 3"

In Systematics section:

Could you add a brief explanation what "percentiles" mean in this context?
This part of the sentence is hard to understand in my opinion "... return the percentile corresponding to that value based on the data from the null model"
"trees that contain pressure for diversity or mutations" -> "trees that account for pressure for diversity or mutations"?

In Phylogenetic Diversity section:

I think the following paragraph
"We decided that I would use phylogenetic diversity as our metric for comparison. I could have also used evolutionary distinctiveness, however, phylogenetic diversity is a highly applicable trait among trees, and it is easy to calculate, making it a desirable metric for comparison."
would sound better like this:
"Phylogenetic diversity was used as the metric for comparison. Another possible metric is evolutionary distinctiveness, however, phylogenetic diversity is a highly applicable trait among trees, and it is easy to calculate, making it a desirable metric for comparison."
This sentence seems to repeat the idea in the sentence before (above the plot): "As seen in the graph above, the average phylogenetic diversity increases for all three models as the depth of the tree (number of generations) increases."

In Pressure for Diversity section:

"organisms with rarer fitness" -> "organisms with lower/smaller fitness", i.e. rarer genotype?

I hope this is helpful and let me know if you have questions.
Great work!


Hovering using VICON problem

Hi,
Excellent contribution.
I am new to Vicon, so the following might be quite trivial to solve.
The Crazyflie_tools and the teleop_xbox360 demo are working. However, I am struggling with the hover_vicon demo. To be specific, when I do:
roslaunch crazyflie_demo hover_vicon.launch uri:=radio://0/80/250k frame:=/vicon/crazyflie/crazyflie x:=0 y:=0 z:=1
There are no errors in the console log, but the RViz GUI shows two errors:

Fixed Frame Fixed Frame [world] does not exist
crazyflie/base_link No transform from [crazyflie/base_link] to [world]

Any pointers on what might be wrong?
Thank you for your help in advance.

Try testing vicon_bridge separately: rosrun vicon_bridge vicon_bridge. Now look at your tf-tree: rosrun tf view_frames. It should generate a pdf with the transformation hierarchy. There should be a world frame and a vicon/crazyflie frame as well.

Hi,
Thank you for the quick response.
However, just
rosrun vicon_bridge vicon_bridge
followed by
rosrun tf view_frames
results in a pdf with one node: no tf data received.
In contrast, if I do
roslaunch crazyflie_demo hover_vicon.launch uri:=radio://0/80/250k frame:=/vicon/crazyflie/crazyflie x:=0 y:=0 z:=1
The pdf contains two nodes, vicon/crazyflie/crazyflie and crazyflie/base_link. They communicate:

Broadcaster: /crazyflie/baselink_broadcaster
Average rate: 10.165 Hz
Most recent transform:<PHONE_NUMBER>.741 ( -0.027 sec old)
Buffer length: 4.919 sec
But there is no world frame and no vicon/crazyflie frame.

That means your vicon_bridge is not working properly. The nodes you see in the second case is a static transformation to show the 3D model in rviz properly - they don't have any further value.
This can have multiple causes:

Communication issues. Make sure you have the Tracker software running on your other machine and that you can ping hostname vicon from your ROS-computer. (If your hostname is not vicon follow the instructions from the wiki: http://wiki.ros.org/vicon_bridge)
Make sure you have at least one object active in Vicon Tracker -- ideally named crazyflie
Watch out for any errors or warning when you run vicon_bridge


Document file staging

See docs/developing.rst TODO - DISCUSS STAGING FILES INTO A WORKFLOW

Jake, we talked about this. Can you make sure that your PR covers this issue. Your PR should mention this issue via resolves #749 or fixes #749 in the title or the body.


USHIFT-850: Document rebase job internals and testing

/cc @dhellmann  @ggiguash

Very clear IMO. Thank you for documenting away that tribal knowledge!

/lgtm


Bump release [fr he pt ru tr]

Includes:

Ch1 / sec1 in French
Ch0 in Hebrew
Ch0 in Portuguese
Chs0 and 1 (3 secs) in Russian
Ch0 in Turkish

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


[measure-tools] add some configurability to the provider

should be able to override the provider to set default priority of the group
Originally posted by @aruniverse in https://github.com/iTwin/viewer/pull/177#discussion_r888178338

@johnnyd710 can you help @achrysaetos  with setting up a CoSpace to test his changes out for this next week?


Issue #355 rework persistence service

a directory for each context, and no assumptions about index and data files.
a reworked naming scheme that avoids escaping capital letters and instead relies on a SHA1 suffix to prevent FS limitation induced collisions.

test this please

test this please you pile of shitty integration crap

test this please (this is getting annoying)


Fix documentation

This pull request includes minor updates to the documentation files CONTRIBUTING.md and SECURITY.md. The changes correct formatting issues and clarify the text.
Documentation updates:

CONTRIBUTING.md: Fixed a formatting issue in the description of unsupported Docker images for development. (tensorflow/tensorflow:devel and tensorflow/tensorflow:devel-gpu) are no longer supported for development.
SECURITY.md: Corrected a typographical error in the section outlining the recognition of vulnerabilities.

@mihaimaruseac
Is this PR ready for merge?

Please see https://github.com/tensorflow/tensorflow/blob/master/CONTRIBUTING.md#how-to-become-a-contributor-and-submit-your-own-code
It is in the pipeline, needs to be reviewed by someone else internally.


Suggestion: display "excess" instead of "remaining" if the pipe's transfer rate is greater than the optimal flow

^Pretty much what the title says
(Example: gas turbine with large tritanium rotor running on hydrogen)
It would make it more obvious that the flow rate displayed is off in the other direction compared to the other categories, as opposed to just having the note in the second column.
I would do it myself but I'm JS intolerant (sorry).

Could do, but all of those numbers are always higher. None of them will ever suggest configurations which have a lower transfer rate than required.

Done https://github.com/Divran/greginator/commit/039b173a9af9dfec17c5c022aa15e92410c17943

Actually that diff seems to break the non-huge turbines. For large, medium and small turbines, the website only displays GT/IC2 regulators.

whoops, fixing

fixed


[WIP] Read write ephemeral objects for remote publication of cluster state

Description
The changes include modification in RemoteClusterStateService to enable uploading the ephemeral objects required for publication of cluster state through remote store. Also, added a method to read the Cluster State Attributes such as IndexMetadata, GlobalMetadata attributes from remote store in parallel. Read will be crucial part for publication as each follower node will be downloading the updated state from remote.
Related Issues
Resolves #[Issue number to be closed when this PR is merged]

Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

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.

This PR resolves #14109  as well.

PR has an approval from @Bukhtawar . Providing it another approval to unblock merge as some test fix went in since the last approval.


[PINOT-5] make BitmapInvertedIndexTest Windows compatible

BitmapInvertedIndexTest failed on windows caused by two places, one is that resourceUrl of AVRO_FILE_PATH contains '%5c' which was '\' originally, the other is Files.setPosixFilePermissions which throws exception on windows

Codecov Report

Merging #3786 into master will decrease coverage by 0.27%.
The diff coverage is 50%.

@@             Coverage Diff              @@
##             master    #3786      +/-   ##
============================================
- Coverage     67.29%   67.02%   -0.28%
  Complexity        4        4
============================================
  Files          1027     1027
  Lines         50816    50819       +3
  Branches       7091     7091
============================================
- Hits          34199    34061     -138
- Misses        14284    14437     +153
+ Partials       2333     2321      -12

Impacted Files
Coverage Δ
Complexity Δ

...ndex/converter/SegmentV1V2ToV3FormatConverter.java
73.55% <50%> (-1.03%)
0 <0> (ø)

...apache/pinot/common/metrics/ValidationMetrics.java
20.28% <0%> (-59.43%)
0% <0%> (ø)

...a/manager/realtime/RealtimeSegmentDataManager.java
50% <0%> (-50%)
0% <0%> (ø)

...ller/validation/OfflineSegmentIntervalChecker.java
26.37% <0%> (-48.36%)
0% <0%> (ø)

...er/validation/BrokerResourceValidationManager.java
31.57% <0%> (-42.11%)
0% <0%> (ø)

...core/operator/dociditerators/AndDocIdIterator.java
51.72% <0%> (-31.04%)
0% <0%> (ø)

...pinot/core/operator/docidsets/OrBlockDocIdSet.java
84.9% <0%> (-13.21%)
0% <0%> (ø)

...elix/core/relocation/RealtimeSegmentRelocator.java
70.4% <0%> (-11.23%)
0% <0%> (ø)

...e/operator/dociditerators/SortedDocIdIterator.java
47.22% <0%> (-11.12%)
0% <0%> (ø)

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
72.72% <0%> (-7.28%)
0% <0%> (ø)

... and 24 more

Continue to review full report at Codecov.

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

Thanks for the patch. Are these the only tests that fail on windows?

Hi, @kishoreg , thanks for review. In pinot-core there are a batch of non-Windows-compatible tests. I tried to fix part of them in another PR. There are still several tests left, e.g. PinotDataBufferTest(I suspect about xerial mmap lib), CountStarTreeV2Test(which uses '*' in file name), and FixedByteWidthRowColDataFileWriterTest(which test special chars) etc..


Spaces not Tabs

PEP 8 states "Spaces are the preferred indentation method".
Should we consider using spaces rather than tabs for this project?

I'm aware of the recommendation from PEP 8. Consistency is more important here so as long as all other contributors are willing to stick to using spaces as the indentation, I'm onboard as well. This can be done once we have #11 in place


Fix implicit partial rendering from components

It's possible to render a partial by calling render with the partial string, i.e. without using the partial keyword argument.
Updating ActionView::Component::Base#render to handle this.

The latest release (1.3.1) caused issues with our application as we're rendering partials by just using the implicit method, i.e.
<%= render "test_partial" %>


Don't include decks with currently illegal cards in card stats

Possibly exclude them from other things too?
Show the no entry sign in the margin on deck list?

I felt bad bumping a Season 1 deck to the top of the page, but I felt it was important to actually have a test case for illegal decks.

We should hide the whole deck if the deck is illegal?
Hiding part of the deck from that list feels worse than hiding all of it.

I think in much the same way that we include tapped out decks even though they may never even have been played our basic philosophy should be inclusive.  (If you were never legal but tagged pd I could go either way – speculation for next season seems to point towards including those too.)
I think our initial views should be "useful". Our primary use case is someone looking for a deck they could play now. So if they are jammed with illegal decks that is bad.
Default sort begin most recent first does a lot of work here. I can see an argument for displaying everything and just indicating which are not currently legal with the no entry sign. Of course as soon as you sort by anything else you'll have a jam of illegal decks alongside legal decks.
(Another use case to think about is a Gatherling or League deck that's illegal because of a one-of sideboard card or a typo.)
The two main ways to control for illegal decks showing up "too much" occur to me:
(1) updated_date > start_of_season
(2) Must be legal
There's probably not much difference between these two in practical terms.
I also think there's an argument for not including non-touranment/league decks in the initial view and hiding them behind a "show me everything" type button.
Potentially every page that shows a decklist contains a UI element that allows you to filter and is set by default to {current season, tournament decks}. This could be persistent or not across the site.
This could apply to card stats, too.
[X] current season
[  ] season 1
[  ] all seasons
[X] tournament decks
[  ] all decks

We know we want to be able to restrict all views to current season or even a past season but that's a broader problem than this here, and I think we're happy with recent decks at the top doing most of the work for us here.


Migration to futures-rs/tokio

Hello. I haven't real experience with capnproto or rust, except per two toy micro proyects. But i wish help to port capnproto to tokio and future-rs. I'll remove the dependencies on gj and gj-io, add tokio and futures-rs and fix compiler errors until the compiler dont scream. Is that good idea?
P.d. sorry by my english

I agree that we should migrate to futures-rs and tokio-core. I've made some progress in that direction with the capnp-futures-rs crate, but there is still a lot to do. Please keep me posted on any progress you make, and feel free to ask me any questions.

Well, i'm studying the code, and the rpc protocol specification, read the code of the new and old create, and i'm lost yet. And I have one question:

How you visualize the migration, ¿what's the next file you could migrate?, because i don't know where to start really

Well, the light is coming to me. My attemp is starting here: https://github.com/gabomgp/capnp-rpc-tokio. There is ver little yet, but i hope i can help.

How you visualize the migration, ¿what's the next file you could migrate?

I would start by updating this declaration in the capnp crate to be
pub type Promise<T,E> = Box<::futures::Future<Item=T,Error=E>>;

I would then update the capnpc crate so that code generation still produces code that type checks. Then I would start on capnp-rpc.

I've started working on this: https://github.com/dwrensha/capnproto-rust/tree/futures, https://github.com/dwrensha/capnpc-rust/tree/futures, https://github.com/dwrensha/capnp-rpc-rust/tree/futures

While I eagerly await the futures implementation, I went ahead and dove into capnproto-rust with the gj dep because I plan to use capnproto-rpc for my project.
One issue that I had was the lack of very simple examples. I had to go to this blog post to find a simple hello world example.
I would like to suggest that when you have the futures implementation that you have an extremely simple, contrived example (hello world is always great) so even I may follow along. Futures are very complex as is and I imagine having to follow along with a pubsub and calculator examples may prove difficult.


added scramble pipeline for sensitive info

also added sample usage of scramble pipeline
also added some docs comments to pipeline classes
also (finally) added a unit test project (more unit tests are welcome!)

Example of scrambling filter in action:
SQL Server data pre-scramble:

Same record in Couchbase with FirstName and LastName scrambled and then inserted into Couchbase:

Notice the scrambled FirstName and LastName are the same length.
ScrambleSensitivePipeline can be used as-is, or it can be a blueprint for a more complex scrambling custom filter.
It currently supports scrambling of strings (nvarchar/varchar/etc), int, short, decimal, double, and date/datetime. I couldn't think of any other common types that might need scrambling, but if other types arise as necessary, there is an error message that says to open a GitHub issue.

Thanks @mgroves , this looks quite powerful!


Allow injection of the internal buffer pool

It would be nice that caller can inject into the internal buffer pool. The buffer pool basically manages a pool of byte slices. The slices can be reused for other purposes.
At the moment, we maintain a vendored copy of quic-go in our codebase to share the buffers. This is the only customization that blocks us to use the mainstream version.
Golang has some similar design for this kind of reuse.

The problem here is that slices need to have a minimum capacity of protocol.MaxReceivePacketSize. Any idea for a nice API that fulfills that requirement?

I can't come up with a quick solution on this,  other than putting it in comment. It is mainly a responsibility of the caller to provide valid buffers. This API will surely cause some debugging nightmare, such as double releasing buffers to the pool. It is reasonable that quic-go panics in such cases.

Hello @VictoriaRaymond, I talked about this with @lucas-clemente, and we're skeptical if it's wise to expose an internally used buffer in the API.
Furthermore, I believe the performance benefit you can achieve by merging an application's buffer pool with quic-go's buffer pool would be negligible.


Update php 8.2 extensions (xdebug, memcached, redis now there)

The Problem/Issue/Bug:
deb.sury.org fixed a number of missing php 8.2 extensions, so they should all be here now.

xhprof has a bug with PHP8.1/8.2, see

https://github.com/longxinH/xhprof/issues/76


There are ports that cannot be read.

os:mac
flutter version:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.4, on macOS 12.4 21F79 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
[✓] IntelliJ IDEA Community Edition (version 2021.2.2)
[✓] VS Code (version 1.67.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

I got more ports in Java,But flutter only read half of it。

kotlin code and console:
fun getAllDevice() {
    val portList = CommPortIdentifier.getPortIdentifiers()
    while (portList.hasMoreElements()) {
        val device: CommPortIdentifier = portList.nextElement() as CommPortIdentifier
        println("可用端口:${device.name}")
    }
}

console:
可用端口:/dev/tty.BLTH
可用端口:/dev/cu.BLTH
可用端口:/dev/tty.Bluetooth-Incoming-Port
可用端口:/dev/cu.Bluetooth-Incoming-Port
可用端口:/dev/tty.usbserial-14210
可用端口:/dev/cu.usbserial-14210

dart code:
  void initPorts() {
    setState(() => availablePorts = SerialPort.availablePorts);
    availablePorts.forEach((item) {
      print(item);
    });
  }

console:
flutter: /dev/cu.BLTH
flutter: /dev/cu.Bluetooth-Incoming-Port
flutter: /dev/cu.usbserial-14210

@sm9i dev/tty represent the current terminal, I think the answer lays in the way CommPortIdentifier ask the os for the list of devices. In your case in kotlin you have 2 file descriptors for the same resource, while in Flutter only one. The flutter behavior seems to me more clear and safe.
Closed


Consider renaming 4.3 release to 5.0

With a pretty dramatic configuration style change, big decoupling of authentication and sso subsystems and introduction of authentication transaction API, building on top of Spring Boot, etc. several core API changes e.g. changing ticket counter API from int to long, inclusion of the multifactor authentication subsystem, IMHO it would be appropriate to designate 4.3 release as a 5.0.
This issue could be the channel to track and discuss...

That's fair: 4.3 consists of many huge changes, but so was 4.2 (with full automatic configuration).

wrt full automatic config - the current master goes even further with Spring Boot style config, many API changes, inclusion of mfa subsystem (which is huge), API changes, inclusion of OIDC, SAML Web SSO profile impls, etc. etc. It'd be nice to enumerate most of the big changes here, so it's apparent that it's time for 5.0 ;-) I'll see what I could do to list them here...

Well, to be fair - Spring Boot is not in the master yet, but looks like it's going pretty well and will be at some point ;-)

OK big items justifying major 5.0 release designation:

Java 8 (language features and APIs) - requiring min. version of Java 8 to run CAS server
Overhaul of configuration with Spring JavaConfig model
Redesign of Authentication API and de-coupling it from web SSO subsystem
Native MFA subsystem
Addition of risk-based authn. components
Various core API changes (due to Java 8 - like ticket counter return type and usage of new java.time.* API)
Build on Spring Boot (coming up)
Replacement of a view layer (from JSP to Thymeleaf) (coming up)

... to name a few

I'm in favor of the 5.0 tag because it is quite a large set of changes that will affect deployer overlays and it should be reflected in in our versioning.

:+1:

I think we are all in agreement on this. Any nays before we change milestone dates and schedules?
Also @dima767 would you want to scan the code to change @since tags from 4.3 to 5? I should likely do this on the MFA branch and the boot stuff as well. Then we should be able to close this issue.

I could try. Any advice on how to better (more efficiently) accomplish this?
Some IntelliJ IDEA trickery perhaps?
On Tue, Mar 15, 2016 at 04:38, Misagh Moayyed<EMAIL_ADDRESS>wrote:
I think we are all in agreement on this. Any nays before we change milestone
dates and schedules?
Also @dima767 [https://github.com/dima767] would you want to scan the code to change @since [https://github.com/since] tags from 4.3 to 5? I should likely do this on the MFA branch and the boot
stuff as well. Then we should be able to close this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/Jasig/cas/issues/1616#issuecomment-196720292
[https://github.com/Jasig/cas/issues/1616#issuecomment-196720292][https://github.com/notifications/beacon/AAAxVTnrej5AACuwcxLpFokZm8X3WMNPks5ptnASgaJpZM4Htvp6.gif]

Fairly easily. I'd do: Ctrl+Shift+R to bring up the replace dialog. Punch in the pattern "@since 4.3.0" and change it to "@Since 5.0.0". Also account for "@since 4.3". Case insensitive mode. Replace all.

OK will give it a try. And what are the logistics for getting this into master?
Usual PR route off of feature branch based off of master's HEAD, etc.?
On Tue, Mar 15, 2016 at 07:08, Misagh Moayyed<EMAIL_ADDRESS>wrote:
Fairly easily. I'd do: Ctrl+Shift+R to bring up the replace dialog. Punch in the
pattern " @since [https://github.com/since] 4.3.0" and change it to " @Since [https://github.com/Since] 5.0.0". Also account for " @since [https://github.com/since] 4.3". Case insensitive mode. Replace all.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/Jasig/cas/issues/1616#issuecomment-196767603
[https://github.com/Jasig/cas/issues/1616#issuecomment-196767603][https://github.com/notifications/beacon/AAAxVaQKYhayAxObIezRnG6Iksb9zVSCks5ptpMugaJpZM4Htvp6.gif]

I'd say so yes. Helps to track changes and tag them under milestones, the PR route.

Oh, and by the way, please also change the gradle config to point to 5.0.0.


[Example] ggml: increase llama ctx-size for tinyllama CI job

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!


CA-2003 fix audiorecord

Changes

Comment audio read (that should be the one that make audioRecorder break)
Add Wakelock (that should make all services are up all the time)

I will push it with the removing of wake lock.


EfficientNetSim default config cause INVALID_ARGUMENT exception for TPU

A prominent message is like:
InvalidArgumentError: 9 root error(s) found.
[[{{node similarity_model_1/sequential/random_flip/stateless_random_flip_left_right/stateless_random_uniform/StatelessRandomUniformV2}}]]
etc,

This is a known issue TPU can't handle many tf data augmentation layer (such as RandomCrop), so this issue is really a TPU specific one. As workaround, don't use the data augmentation that comes with EfficientNetSim:
with tpu_strategy.scope():
    model = EfficientNetSim((img_height, img_width, 3),
                        embedding_size,
                        augmentation=None,
                        )

And perform data augmentation as part of your tf.data.Dataset pipeline instead: (e.g.
random_flip = tf.keras.layers.RandomFlip('horizontal')
train_ds = train_ds.map(lambda x, y: (random_flip(x, training=True), y), num_parallel_calls=AUTO)

Note that TFRecordDatasetSampler(...) returns a tf.data.Dataset object.

We just pushed 0.15 to the main branch and we decided to remove the augmentation args from all the tfsim.architectures. This is a breaking change but should resolve these issues.

Things are well if no augmentation layer is used in the model. Closing this issue.
Note: The TPU issue related to unimplemented op for many data augmentation keras layer is a very long standing issue, as far as I know, its been around ~2+ yrs.


fix(catalog): Update malformatted Yaml in catalog content

Description
This PR fixes #1877
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@leecalcote , @yash37158  Closing the PR after the point discussed during the development meeting

@Yashsharma1911 is the Catalog to remain broken while you formulate a proposal?
no, it’s not

@Yashsharma1911 is the Catalog to remain broken while you formulate a proposal?
no, it’s not

No Lee, as I said earlier proposal to move schemas is a different thing which is to ensure we have standards however fixing this issue doesn't depend on it


Add view that allows Scouts to mark spreading jobs complete

Add Ability to assign scouts that completed the job


feat: API for applications, organizations and providers

API for applications, organizations and providers based on Go client and swagger.

will fix semantic requirements

Replaced by: https://github.com/casdoor/casdoor-dotnet-sdk/pull/41


Error: Execution context was destroyed, most likely because of a navigation.

Tell us about your environment:

Puppeteer version: 1.13.0
Platform / OS version: OSX 10.14
Node.js version: v9.10.0

const puppeteer = require('puppeteer');

const jsonReturn = [];

(async () => {
  const browser = await puppeteer.launch({
    headless: false,
    devtools: true
  });

  const page = await browser.newPage();
  await page.evaluate(() => {
    debugger;
  });
  const response = await page.goto('https://myurl.com');

  console.log('served from cache?', response.fromCache());

  // debugger;
  await page.waitForSelector('.featured-shows-featured-show');

  const featuredShows = await page.$$('.featured-shows-featured-show');

  for (const featuredShow of featuredShows) {
    debugger;
    const link = await featuredShow.$('a');
    link.click();

    await page.waitForSelector('.show-title');

    debugger;

    const showTitle = page.$('.show-title')
    const showDates = page.$('.show-dates')
    const showLocation = page.$('.show-location')
    const showGallery = page.$('.entity-link')
    const showDetail = page.$('.show-press-release')

    jsonReturn.push({
      showTitle,
      showDates,
      showLocation,
      showGallery,
      showDetail,
    });

    await page.goBack();
  }

  console.log(jsonReturn);

  await browser.close();
})();

Getting Error:
UnhandledPromiseRejectionWarning: Error: Execution context was destroyed, most likely because of a navigation.

If I understand correctly, jsonReturn contains ElementHanldles that cannot be used after page.goBack() navigation.

Yep. showTitle, showDates, etc, are promises to ElementHandles that have not been resolved yet. They fail to resolve because the page navigates (page.goBack) before they can.
ElementHandles cannot be used after the element they reference is destroyed. This happens when the page navigates.

ok thanks that fixed, closing

I am also facing same issue and working on same scenario. @stoplion Can you please share that how do you fixed this issue ?
Thanks in Advance :+1:

@stoplion I am also facing same issue and working on same scenario. Can you please share that how do you fixed this issue ?

1

I'm having a similar issue. I would like to cycle through a list then goBack click another link and cycle through that list as well. However, it is losing the handle when I navigate back.
for (let i = 0; i < categories.length; i++) {
    it(`should display categories: ${categories[i]}`, async (done) => {
      await page.goto(`${environment.production}/categories/${categories[i]}`)
      const cards = await page.$$('a')
      console.log(cards.length)

      for (const card of cards) {
        await card.click()
        await page.waitForNavigation()
        await page.goBack()
        await page.waitForNavigation()
        await page.waitFor(1000)
        // this is where we want to click on the actual button
        // and check if there are any results for this card
      }
      console.log('out of loop')
      await page.screenshot({ path: `./screenshots/categories/${categories[i]}.png` })
      done()
    })
  }


Implementation of ViewInterface in db-oracle, db-sqlite, db-mysql

We have implementation in mssql & pgsql only

Solved


Error When creating a new BearerStrategy

I am using the same as example but getting this error. Please can anyone help?
if (!name) throw new Error('authentication strategies must have a name');
^
Error: authentication strategies must have a name
at Passport.use (/Users/saransh2012/Developer/vypics/node_modules/passport/lib/passport/index.js:51:20)
at Object. (/Users/saransh2012/Developer/vypics/android_app/auth.js:54:10)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/Users/saransh2012/Developer/vypics/android_app/app.js:11:1)
at Module._compile (module.js:456:26)

Hey

check if u have instantiated your local strategy  before you call passport to use your newly created strategy .
Something like this  ::

var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var registerStrategy = new LocalStrategy({}, function(){});   <==  (Hey check instantiating line in you code to see if your missing a 'new' keyword)
passport.use('local-register', registerStrategy);


Update to latest versions

NOTE: This PR depends on https://github.com/cpage-pivotal/spring-sensors/pull/1 being accepted first.
This PR updates the workshop image to the TAP 1.4.0 base image for Learning Center, kp v0.9.0, Tanzu CLI v0.25.4, Native CLI v1.8.1, OpenJDK 17, TAP VSCode Extension 0.13.0, and TAP VSCode App Accelerator Plugin 0.1.5.
The outcome is that you no longer get the warnings in VSCode about not being able to find a JDK 17 version, and all the other CLI versions are brought up to TAP 1.4.0 versions.

I have already pushed an updated version of the workshop image to the TAP Overview registry, and it is tagged as "dev".  We can just move the "latest" tag if we want workshop users to start using it.  I've tested this change, but I'm glad to pair on reviewing it.


ci: Install nMigen from git

I noticed that the CI job was failing because a board file requires a newer nMigen version than then one currently published on PyPI.
This is one way of working around the issue. I can see why one may want to test together with the package from PyPI, so please close this PR if that's the case.

Nope, this is intentional; the CI being red less so.


App is stuck when it's starting, sometime with a timout error message

After a reinstalled of EAM to get the last version , EAM started ONCE without issue but now  it starts and does nothing . It seems stuck.
I tested in the command line too.
Once, a timeout message has been displayed with a "register" error message (I did not remember the exact content)
I've tried to clean the cache and tmp folder, same issue...

I would need the exact register error message to track this down, this is not happening on my end so it is harder to track down.

I've tried to launch the apps severall times and I've never see the message again, even after a 5 mn waiting delay.
The app is still stuck at start: no error message, no GUI, .... the focus is never given back when lauched from the command line.
I've tested uninstalling and reinstalling the app from the AUR: same issue.
Is there a way to debug the start process of the app ?

Note that I've customized the location of the cache and tmp folders
I've deleted them, and now the app is not stuck at start but it fails with the following errors in the command line
(epic_asset_manager:13054): Gtk-WARNING **: 08:25:39.628: Theme parsing error: gtk-dark.css:4141:7-23: No property named "-gtk-icon-effect"

(epic_asset_manager:13054): Gtk-WARNING **: 08:25:39.629: Theme parsing error: gtk-dark.css:4944:25-30: Junk at end of value for background

(epic_asset_manager:13054): Gtk-WARNING **: 08:25:39.630: Theme parsing error: gtk-dark.css:5226:9-25: No property named "-gtk-icon-effect"

(epic_asset_manager:13054): Gtk-WARNING **: 08:25:39.631: Theme parsing error: gtk-dark.css:5909:9-32: No property named "-GtkArrow-arrow-scaling"
thread '
(epic_asset_manager:13054): dconf-WARNING **: 08:25:39.776: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=5015d4a11368465e907c8985e7f27edc --binary-syntax --close-stderr”: Child process exited with code 1
main' panicked at 'assertion failed: !ptr.is_null()', /home/laurent/.cache/yay/eam-git/src/build/target/cargo-home/registry/src/github.com-1ecc6299db9ec823/glib-0.14.8/src/translate.rs:1508:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

(epic_asset_manager:13054): dconf-WARNING **: 08:25:39.776: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=5015d4a11368465e907c8985e7f27edc --binary-syntax --close-stderr”: Child process exited with code 1

I think the issue could be related with a project folder that is invalid (empty ?) or that contains too much projects which causes a very very long loading time.

I can confirm this is the cause of the issue.
I've changed the value in the settings (using the dconf editor) and set a valid folder for with a smaller number of projects and the app starts fine

That is strange, as the project discovery/loading happens in a separate thread and should not block the main UI thread. I will take a look at it.
Invalid project would be what? The app only cares about the .uproject file and if present about the thumbnail picture.

not an invalid project but an invalid "UE projects" folder, which means a broken symlink, a folder with lots of subfolders without projects or with a lots of UE projects inside.
In my case, the probable cause of this issue was thatI replaced the default UE projects folder (in ~) by a symlink to a folder that contains more or less 10 UE projects BUT that also contains another symlink to a folder with other UE projects inside.
When the app finally started after a while (more than 30 mn I think), I saw lots of project listed with many duplicate.
I Hope that help

I will add some limits to the recursive search and resolve the symlinks so we do not have repeat entries, should help in this case. Possibly also remember visited directories so we do not get into an infinite loop during the recursion


CAMEL-19991: Make platform-http jetty dependencies test scope

/component-test platform-http

Failures in org.apache.camel.itest don't seem to be related. So I'll merge this.