Explicitly setting a type doesn't give proper type-hinting

Environment data

Language Server version: v2023.11.10
OS and version: Ubuntu 20.04
Python version: 3.10.13

Code Snippet
class UncontrolledClass:
    def __init__(self, input: int) -> None:
        self.num = input
    num: int

    def new(self, input: int):
        if input == 1:
            return UncontrolledClass(input)
        return None

class ControlledClass:
    num: int

from_func: ControlledClass = UncontrolledClass.new(1)
from_func.num

from_num: ControlledClass = 1
from_num.num

Repro Steps

Mouse over from_func and from_func.num.
Mouse over from_num and from_num.num.

Expected behavior
"from_func" should cast to type "ControlledClass". "from_func.num" should have type "int".
"from_num" should cast to type "ControlledClass". "from_num.num" should have type "int".
Actual behavior
"from_func" has type "Any | ControlledClass", "from_func.num" has type "Any | int"
"from_num" has type "ControlledClass", "from_num.num" has type "int" (Correct)

Pylance is working correctly here. This isn't a bug.
Type annotations are not cast operators. They are type declarations that specify the type that should be enforced when assigning values to that variable. When you assign a value to the variable, you are allowed to assign a "narrower" type — one that is compatible with the declared type but more precise. Pyright (the type checker that underlies pylance) tracks these narrowed types throughout the code flow graph in your function. If you enable type checking mode (i.e. set python.analysis.typeCheckingMode to "basic") you will see errors reported if you attempt to violate the typing constraints, as you do in the code above.
For more information about static typing, type declarations, etc., you may find this documentation useful.

Sorry, I used the wrong vocabulary here. In the above code I declare both from_func and from_num as ControlledClass. As expected, when typeCheckingMode is on basic, both of these assignments are considered invalid.
However, my actual use case (not just the toy example above) looks closer to from_func: TypeA = func("TypeA"). I'm not in control of the implementation of func, but it creates an object with a type based on the string passed into it, but it's declared return type isn't well-defined. As a developer, I'd like to be able to specify "I know that this object has this type". In most cases I can do this, but not here.
I would also expect this declaration to work as ControlledClass is narrower than Any | ControlledClass.

It sounds like you're looking for a cast operator to cast the type of the expression to a different type, thus overriding the type checker's inferred type. You can do this using typing.cast.
from typing import cast
x: int = cast(int, "not an int")

I recommend using cast sparingly because it can mask errors that a type checker would otherwise be able to catch.

Thanks, that's exactly what I was looking for.


Right-side menu "auto-expand" not working on Platform doc

In the new-ish topic for the Data Platform) the menu on the right side for the page's content does not auto-expand as one scrolls through the page.
This functionality does work on this page: https://github.com/prisma/docs/blob/main/content/400-reference/200-api-reference/200-command-reference.mdx#prisma-migrate
@nilubava let me know if this is something your team can help with. I looked at the raw .mdx file and do not see any special coding or elements that make the auto-expand work, so don't really understand how this auto-expand feature is implemented.

The page where this works has this in the frontmatter: tocDepth: 2 - this might influence how many levels of headlines are rendered in the sidebar.

Resolved with PR #2522.


perseus-cli: 0.3.1 -> 0.4.2

Description of changes
Upgrade to 0.4.2. Also disable tests due to missing tests in the published crate: https://github.com/framesurge/perseus/issues/305
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

cc @max-niederman

Also disable tests due to missing tests in the published crate

Or we can use fetchFromGitHub.


JWSTSIAF-245 / JSOCOPS-143

This PR modifies several properties of the LW channel coronographic apertures in SIAF, to account for the changes in the aperture location due to the modification of the PW clocking (see AR-1325). The changes are:

new distortions polynomials for the nrca5_full_wedge_bar, nrca5_full_wedge_rend master apertures
new alignment parameters for the same apertures above
new detector locations for many coron science apertures including:

all LW coron science apertures (subarrays and full)
some SW science apertures (this latter change is not derived for the PW clocking changes, but had not been delivered yet after the NRC-30 that preceded AR-1325)

This PR is ready for review


delete this

hey
please delete or rename
i literally built my whole personality around a language called lemon-lang and you are breaking my heart
https://github.com/imagine-hussain/lemonlang
It is based off my best friend luke-fisk-lennon who's brother died of cancer so we want to write a language in his honour :(
pls bro i beg u bro pls i am litarlly crying rn pls change name

@lukefisklennon is the person in question, it is very sad indeed, my thoughts and prayers are with him (i'm 6'4" btw)

real (i'm 6'9")

hi @lukefisklennon, nice seeing you here, how is your day going?

day wasted

@lukefisklennon , remember that every sunrise brings forth a fresh opportunity, an invitation to embrace the untapped potential of the day. Don't let setbacks define your journey, for a wasted day can be the foundation of a triumphant tomorrow.

Indeed, @imagine-hussain, each day is a blank canvas, waiting to be filled with the colors of your experiences, thoughts, and dreams. It's all too easy to allow challenges and setbacks to overshadow the day's potential, but these are the moments that shape us, that test our resolve and fortify our character.
Remember, it's not about avoiding failure, for failure is an inevitable part of the journey. It's about learning from each stumble, each misstep. These are not signs of defeat, but markers of growth, signposts on the road to success.
Just as a sunrise brings the promise of a new day, each setback is an opportunity for a fresh start. So, embrace the day with an open heart, a curious mind, and a resilient spirit.  For, in the grand tapestry of life, every thread counts, every weave matters, and every color - be it bright or dark - contributes to your unique masterpiece.
So, walk with hope in your heart, and you'll never walk alone. The journey may be long, and the road may be winding, but with determination, resilience, and a positive attitude, every sunrise will be a beacon of hope, a symbol of untapped opportunities, and a promise of better days to come.


[ADD] Implement two stacks in an array

Create a data structure twoStacks that represents two stacks. Implementation of twoStacks should use only one array, i.e., both stacks should use the same array for storing elements.
Describe the solution you'd like
Method 1 (Divide the space in two halves)
Describe alternatives you've considered
Method 2 (A space efficient implementation)
Additional context
Add any other context or screenshots about the feature request here.

Hey! I want to add an explanation and code for this problem, please assign this to me.
I'm also a participant in GSsoC'22.

Good morning!! Please assign this task to me. I will write clean and efficient code by describing comments and also telling their complexity.
I am a participant in Gssoc'22.


Use HTML meta keywords if available from page.keywords

This is an enhancement or feature.
Generate a <meta name=keywords> tag if keywords for a page is available. Good for SEO.

I disagree with this being good for SEO. It's long since been regarded as not a good idea.
https://yoast.com/meta-keywords/

At the risk of being too facetious, I just want to say, I love Yoast.
Since Yoast is for mass consumption, most people believe everything they say. This fact helps me with my SEO, because I do the things (like meta keywords--I've been using since '96) that Yoast doesn't recommend.
BTW, one of my sites has been on Google SERP 1 position 1 for the three years it's been alive. And, without ever touching Yoast. ;-)
Just my two cents.
Thanks!

It's not just Yoast offering this advice.
It's your actual page content that is used for search. Closing as this isn't something I'd like to add to the theme.


Bundle CLI using webpack

As mentioned in #896, one of the things we can do is to bundle everything with webpack. This will reduce the installation time and should improve the boot time.
Here's the branch with the work
Some of the things we need to take into account and figure out:

[ ] With the work to lazy load depending on the task (#1101) do we we need to create different chunks or do something especial to take advantage of it or webpack will do some magic?
[ ] We do some dynamic imports with require in the code (when loading rules/parsers/formatters, etc., load package.jsons from packages, etc.). The guidance I got from @TheLarkInn is to wrap those in new Function or eval so webpack doesn't try to optimize those
[ ] We probably want to optimize some of our import statements so we can get better 🌳 shaking (just import what we need instead of *)
[ ] Add shebang to the output
[ ] Something else?

The initial tests show an output of 2.16MiB which is not bad at all (and we can probably optimize further):

When we execute the bundle, the output is:
node dist/cli.js -v

webpack:///external_%22update-notifier%22?:1
module.exports = update-notifier;
                 ^

ReferenceError: update is not defined
    at eval (webpack:///external_%22update-notifier%22?:1:18)
    at Object.update-notifier (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:23511:1)
    at __webpack_require__ (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:20:30)
    at Object.eval (webpack:///./src/lib/cli.ts?:7:73)
    at eval (webpack:///./src/lib/cli.ts?:92:30)
    at Object../src/lib/cli.ts (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:22840:1)
    at __webpack_require__ (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:20:30)
    at eval (webpack:///./src/bin/sonarwhal.ts?:4:66)
    at Object../src/bin/sonarwhal.ts (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:22828:1)
    at __webpack_require__ (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:20:30)

The weird part to me is that it complains about update and not update-notifier. If I change module.exports = update-notifier; to module.exports = 'update-notifier'; in the code then it will complain about require-uncached. Yet another package with - in the name, but this time it is uncached that can't be found. Doing the same "hack" will output the following:
webpack:///./src/lib/utils/misc.ts?:260
        throw new Error('No package found');
        ^

Error: No package found
    at findPackageRoot (webpack:///./src/lib/utils/misc.ts?:260:15)
    at findPackageRoot (webpack:///./src/lib/utils/misc.ts?:262:12)
    at Object.eval (webpack:///./src/lib/utils/handlebars.ts?:14:113)
    at eval (webpack:///./src/lib/utils/handlebars.ts?:49:30)
    at Object../src/lib/utils/handlebars.ts (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:23164:1)
    at __webpack_require__ (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:20:30)
    at Object.eval (webpack:///./src/lib/cli/wizards/new-rule.ts?:21:76)
    at eval (webpack:///./src/lib/cli/wizards/new-rule.ts?:359:30)
    at Object../src/lib/cli/wizards/new-rule.ts (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:22948:1)
    at __webpack_require__ (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:20:30)
    at eval (webpack:///./src/lib/cli/actions.ts?:3:75)
    at Object../src/lib/cli/actions.ts (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:22852:1)
    at __webpack_require__ (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:20:30)
    at Object.eval (webpack:///./src/lib/cli.ts?:12:70)
    at eval (webpack:///./src/lib/cli.ts?:92:30)
    at Object../src/lib/cli.ts (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:22840:1)
    at __webpack_require__ (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:20:30)
    at eval (webpack:///./src/bin/sonarwhal.ts?:4:66)
    at Object../src/bin/sonarwhal.ts (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:22828:1)
    at __webpack_require__ (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:20:30)
    at C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:69:18
    at Object.<anonymous> (C:\projects\@sonarwhal\sonarwhal\packages\sonarwhal\dist\cli.js:72:10)

which at least is an error sonarwhal throws.
@TheLarkInn the issues with names that have - could be a problem with webpack?

I've pushed a new commit that fixes the - modifying the exports:
externals: {
  browserslist: 'browserslist',
  encoding: 'encoding',
  'require-uncached': 'commonjs require-uncached',
  'update-notifier': 'commonjs update-notifier'
},

But now we need to figure out how to load the .hbs for the wizards. I'm currently using handlebars-template-loader but I'm not sure how to do a fallback for when we are not using webpack (I'll add this to the list in the top).
Now when I execute it I get the following:
webpack:///external_%22browserslist%22?:1
module.exports = browserslist;
                 ^

ReferenceError: browserslist is not defined

It could be because we have a browserslist and also a package with the same name.

I've worked a bit this morning with @TheLarkInn and there's now a new version that generates chunks and has a few more things working (basically all the options minus actually analyzing a site).
Things to figure out:

[ ] With the new work, there are 19 bundles created automatically and 17.5MB. That's quite a lot compared to the initial and I'm not sure why. @TheLarkInn any ideas?
[ ] Can't load the connectors. Probably because they are not a separate package, we generate the name dynamically and webpack doesn't include them. Might be time to separate the connectors from the CLI as well. (FYI @alrra)
[ ] Need to figure out how to export the utils that are used by the resources. Maybe a new bundle defined manually? @TheLarkInn throughts?
[ ] Testing, testing, testing

I'm working on separating part of the functions we have under utils in the main package into its own subpackage or otherwise it will not be possible to bundle everything correctly (some circular references when bundling...). These are the ones I've identified. Some will go to a new package, others to existing ones. @alrra, @sarvaje if you have any preference please let me know.

Function
packages
Used By

async-wrapper
Maybe utils-tests-helpers?

caniuse

content-type

debug

handlebars-utils

logging

hint-helpers
utils-tests-helpers?

resource-loader
hintRunner uses it so utils-tests-helpers?

schema-validator

fs/file-extension
Maybe delete it?

fs/is-file

fs/load-json-file

fs/read-file

fs/read-file-async

fs/write-file-async

misc/cut-string

misc/delay

misc/generate-html-page
utils-tests-helpers

misc/normalize-string

misc/normalize-string-by-delimiter

misc/to-camel-case

misc/to-lowercase-keys

misc/to-pascal-case

network/as-uri

network/as-path-string

network/is-html-document

network/has-attribute-with-value

network/is-http

network/is-https

network/is-local-file

network/normalized-header-value

packages/is-official

network/is-regular-protocol

packages/load-package

network/request-async

Finally we are going to bundle all the create- packages but not the main CLI.
A few reasons:

there are many utils in the main CLI that are used by other packages which made the bundling and configuration weird
separating the utils into its own packages wasn't very straightforward with some nasty dependencies that caused circular references and not a lot of ROI after the improvements in #896


plotting enhancements

Fixes #169 and #150.
Add some additional features and improvements to the plotting functions, as described in the issues.
Review Checklist for Source Code Changes

[ ] Does pip install still work?
[ ] Have you written a unit test for any new functions?
[ ] Do all the units tests run successfully?
[ ] Does adler run successfully on a test set of input files/databases?
[ ] Have you used black on the files you have updated to confirm python programming style guide enforcement?

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 0% with 9 lines in your changes missing coverage. Please review.

Project coverage is 69.65%. Comparing base (7f0094b) to head (dc0133a).
Report is 179 commits behind head on main.

Files with missing lines
Patch %
Lines

src/adler/utilities/plotting_utilities.py
0.00%
9 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

:exclamation:  There is a different number of reports uploaded between BASE (7f0094b) and HEAD (dc0133a). Click for more details.
HEAD has 1 upload less than BASE

Flag
BASE (7f0094b)
HEAD (dc0133a)

3
2

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #183       +/-   ##
===========================================
- Coverage   84.71%   69.65%   -15.07%
===========================================
  Files          14       20        +6
  Lines         373     1015      +642
===========================================
+ Hits          316      707      +391
- Misses         57      308      +251

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Build a distributed automatic metadata extraction and catalog generation pipeline

Proposed workflow using currently available functionality of datalad / metalad / catalog:
0. Preparation

Set up datalad superdataset, this will serve as the home page of the catalog
Include all subdatasets that should be available in the catalog
For super and subdataset, include relevant metadata (e.g. .studyminimeta.yaml, .datacite.yml)
Save and publish all (datalad save, datalad push)

1. Main job start:

Arguments: superdataset location, catalog location
Clone superdataset (datalad clone)
Extract dataset+file level metadata for superdataset (datalad meta-extract ... <extractor_name>)
Create catalog, adding the extracted metadata (datalad catalog --create ...)
Set superdataset as catalog super (datalad catalog --set-super <id> <version>)
Save catalog as datalad dataset (with text2git config?) (datalad create --force, datalad save
Publish catalog somewhere accessible if needed (datalad push...) (or just keep in original location on cluster?)
Loop through subdatasets: start per-subdataset jobs in parallel (access list from git submodules or metalad_core extractor or another way?)

2. Per-dataset job:

Arguments: subdataset location, catalog location
Clone subdataset
Extract dataset+file level metadata (datalad meta-extract ... <extractor_name>; for file-level: datalad meta-conduct ... )
Write extracted metadata to file (part of extraction procedure)
Translate metadata to catalog schema (using existing shell scripts with jq e.g.: studyminimeta2catalog.sh, bidsdataset2catalog.sh, outputs new translated metadata files)
Clone catalog, check out subdataset-specific branch (datalad clone..., git checkout -b <branchname>)
Add extracted metadata to catalog (datalad catalog --add...<translated files>)
Commit changes to subdataset-specific branch (datalad save)
Push branch to origin (datalad push <branchname>)

3. Main job, continued once all subdataset jobs are complete:

Merge all subdataset branches into master (no conflicts since subdataset jobs only committed new content to distinct locations) (git merge <branch1> <branch2>....<branchN>)
Push catalog to server (github pages for demo)

@mih @christian-monch @adswa I'm interested in your thoughts on this process and where/how it could be improved.

Reading this reminds me to ask for a datalad catalog demo in one of the next devcalls. I hope I didn't miss a past one.  :)
I think I only have some clarifying questions because I haven't yet tried any of the catalog functionality.

It sounds like "Main job" is something that does not parallelize, and "Per subdataset job" is something that does parallelize, correct?
It sounds like "Main job" calls the "Per-dataset job" task. Will this rely on DataLad-internal parallelization, or on any other parallelization mechanisms (like job scheduling, etc)?
How many cataloges are there in the end? There is one created in the main job, and then each per-subdataset job add to it, right?
It sounds like the clone location of the catalog will be the same location that subdatasets push their catalog update to when they are done, right? One thing to consider is that with each new branch pushed to that catalog, cloning the catalog will take longer (unless you only clone specific branches). Depending on how many branches there will eventually be, this can add up. Also, is there any safeguard in case there are more than two subds pushing/cloning at the same time, or is a parallel push/clone something that won't happen? If this can happen, consider some precautions like a separation between clone and push location.

Reading this reminds me to ask for a datalad catalog demo in one of the next devcalls. I hope I didn't miss a past one. :)
Anytime :)

It sounds like "Main job" is something that does not parallelize, and "Per subdataset job" is something that does parallelize, correct?

Correct

It sounds like "Main job" calls the "Per-dataset job" task. Will this rely on DataLad-internal parallelization, or on any other parallelization mechanisms (like job scheduling, etc)?

The idea is that the job scheduler parallelizes these subdataset jobs.

How many cataloges are there in the end? There is one created in the main job, and then each per-subdataset job add to it, right?

Correct, one catalog created at the start, all sub/parallel jobs add to it. A single subdataset job adds content to a separate + new location in the catalog directory tree, i.e. none of them edit the same content.

It sounds like the clone location of the catalog will be the same location that subdatasets push their catalog update to when they are done, right? One thing to consider is that with each new branch pushed to that catalog, cloning the catalog will take longer (unless you only clone specific branches).

Good point. Technically, the subdataset jobs only need to clone master, from which they then create a subdataset-specific branch.

Depending on how many branches there will eventually be, this can add up. Also, is there any safeguard in case there are more than two subds pushing/cloning at the same time, or is a parallel push/clone something that won't happen? If this can happen, consider some precautions like a separation between clone and push location.

This can likely happen. Is the issue simultaneous push+clone, or simultaneous pushes? Is the former a problem if they only clone from master and push different branches. Is the latter a problem even if they push separate branches?

It sounds like the clone location of the catalog will be the same location that subdatasets push their catalog update to when they are done, right? One thing to consider is that with each new branch pushed to that catalog, cloning the catalog will take longer (unless you only clone specific branches).

Good point. Technically, the subdataset jobs only need to clone master, from which they then create a subdataset-specific branch.

We ran into this in processing the enki dataset. Initially, clones were very fast. But after a few hundred jobs had pushed their branches, the cloning took longer and longer. Depending on what the relevant aspects of the catalog clone are, you could also solve this with clone configurations. Git is able to clone only individual branches (--branch), and datalad clone can pass the --branch option to git clone, too. But I'm not sure if this is better than separate locations or applicable to this usecase. One thing to keep in mind is that I think that cloning just the master branch does not take care of retrieving the annex branch. Not sure how this affects the catalog. @mih might know more, and I think https://github.com/datalad/datalad/issues/6219 is the relevant issue in this case.

Depending on how many branches there will eventually be, this can add up. Also, is there any safeguard in case there are more than two subds pushing/cloning at the same time, or is a parallel push/clone something that won't happen? If this can happen, consider some precautions like a separation between clone and push location.

This can likely happen. Is the issue simultaneous push+clone, or simultaneous pushes? Is the former a problem if they only clone from master and push different branches. Is the latter a problem even if they push separate branches?

Mostly the former, regardless of which branches are pushed, as far as I know.

Ok, thanks for this! Separate locations should be fine. I can clone from a fork/duplicate, and in the subdataset job set upstream remote to the original url, before pushing there. Cloning from an unchanging fork would also circumvent the issue of cloning an increasing amount of branches. Does this sound right?

Update: this pipeline is being developed (WIP) here: https://github.com/jsheunis/fairly-big-catalog-workflow

Closing this issue here, but linking it for reference to where the workflow is developed.


Added ngc/AoT support

Related issues:

https://github.com/gevgeny/angular2-highcharts/issues/70
https://github.com/gevgeny/angular2-highcharts/issues/75

Thanks @Fank ! I merged your branch into the repository. I additionally added the rule !*.ngfactory.ts to the .npmignore file to make sure that these factory files are also published to npm. I assume these files are required in the npm package as well right? (I still need to read up on the aot compilation...).

yea i missed it.


Allow release of Input Output objects?

We're (Focusrite/Novation) currently using a fork of the original node-midi library and using your modernised fork sounds like a good idea to be more future proof.
We have one very particular usecase which is that we use the virtual ports to test our software and that includes cases where we wait for devices to connect, disconnect and reconnect (because, among other things, we do firmware upgrades via sysex).
The main issue here is that closePort() does not make the virtual port go away, for that the RTMidiInput/Output objects needs to be discarded. Nulling the input object in JavaScript land will probably free the device eventually but that's not usable for our usecase.
In our case, we have added a release() method to the input/output objects that free the RTMidi objects. This works fine for our usecase but leads to a slightly odd internal state after the release.
I have experimented with your package and can prepare a PR that would show what I mean (It's basically just calling handle.reset()) but I also wanted to ask if maybe you have a better idea of how to properly release everything in a way that doesn't rely on a GC run.

It feels like this is a flaw/bug in my implementation of closePort(), and that they should be doing a handle.reset() too.
Every other method that uses the handle looks to be already doing a null check (including resetPort), so it looks like I intended it to do that cleanup as part of closePort, but didnt notice that it was missing.
I will happily accept a PR to improve upon what it is currently doing.

@Julusian Hm, interesting. I guess coupling it to closePort() would work for us, but the downside of that is that you cannot open the port again, which would work atm.
I'll create the PR and we can discuss this there. Thanks for the quick feedback!

Hi, what's the status of this issue? I also stumbled open this problem of virtual ports cluttering up.
In the similar python package they ended up with adding a delete method: https://github.com/SpotlightKid/python-rtmidi/issues/60, so I guess the original suggestion by @halfbyte can be accepted?

Cool, thanks!


Linux: Cannot use pkg-config arguments in task.json

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version: Pop! OS 20.04 LTS

Steps to Reproduce:

Add a pkg-config instruction to the task.json args list.
Run Build Task

This is a known issue, but it was never fixed, but closed because a workaround was in place (inlining the args into the compiler command). https://github.com/Microsoft/vscode/issues/47538
hello.c
#include "stdio.h"
#include "glib.h"

int main (void) {
    printf("Hello, World!\n");

    return 0;
}

task.json
{
	"version": "2.0.0",
	"tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc build active file",
            "command": "/usr/bin/gcc",
            "args": [
                "-g",
                "`pkg-config --cflags glib-2.0`",
                "${file}",
                "`pkg-config --libs glib-2.0`",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "compiler: /usr/bin/gcc"
        }
    ]
}

OUTPUT:
> Executing task: C/C++: gcc build active file <

Starting build...
/usr/bin/gcc -g "`pkg-config --cflags glib-2.0`" /home/zak/Development/test/c/glib/ray.c "`pkg-config --libs glib-2.0`" -o /home/zak/Development/test/c/glib/ray
/home/zak/Development/test/c/glib/ray.c:2:10: fatal error: glib.h: No such file or directory
    2 | #include "glib.h"
      |          ^~~~~~~~
compilation terminated.

Build finished with error(s).
The terminal process failed to launch (exit code: -1).

Terminal will be reused by tasks, press any key to close it.

working args:
"args": [
    "-g",
    "-I/usr/include/glib-2.0",
    "-I/usr/lib/x86_64-linux-gnu/glib-2.0/include",
    "${file}",
    "-lglib-2.0",
    "-o",
    "${fileDirname}/${fileBasenameNoExtension}"
],

This would need to be addressed by the extension that contributes the cppbuild type task.


Use new query functions in plugin examples

Use new useGetQuery and useListQuery functions in the examples folder and mark old function as deprecated

any updates on this? @ashu8912


⚠ SceneTime has degraded performance

In d79f16c, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1893 ms

Resolved: SceneTime performance has improved in b749f79 after 6 minutes.


Improve UI for Navbar

I plan to improve the Navbar styling on >= large screen sizes. I plan to make it responsive too.
@Devmangrani please assign this to me

Hi @stephikebudu
Absolutely, go for it! Looking forward to seeing your improvements on the Navbar styling—especially on larger screens. Thank you for your initiative and keep contributing! 😊


Add side navigation documentation

Fixes #1

@fofr Amended the docs. Lemme know if the description of theme makes sense.


Gradle build-info.xml not found for module app

With
classpath 'com.android.tools.build:gradle:2.0.0'
I receive following error on first start

Gradle build-info.xml not found for module app. Please make sure that you are using gradle plugin gradle:2.0.0-alpha4 or greater

the only thing to make it work again was to disable InstantRun in AS->Preferences->Build,Execution,Deployment->Instant Run->Enable Instant Run

Thank you for reporting this.

thanks hannesa2,i have the same error on android 2.1 on ubuntu 16.04, your commit save my day and my week, thanks a lot


Update .gitignore

Change .gitignore to angular

.gitignore updated, pending pull request. 844957a

Fixed .gitignore due to failed tests. f31aa54

pull request closed #17


Added corner points to barcodes for proper QR outlining

Instead of always displaying a straight up rectangle, we can now display the full polygon around the QR instead:

@WoLpH Firstly thank you for the PR. Secondly sorry for the late response. Before committing could you please verify if the changes are compatible with iOS. I don't have a mac or iPhone hence it would be a greater help if you can do this. Thanks.

Closing PR. This feature in included in https://github.com/bharat-biradar/Google-Ml-Kit-plugin/pull/229/commits/b7d432e13749456b8b8b7d6cc6a38ecad93b6870 as part of this PR: https://github.com/bharat-biradar/Google-Ml-Kit-plugin/pull/229.

Sorry for not getting back to you. I've been too busy to get to the ios part.
Thank you for adding this :)

Run our example app and you will see how it is implemented.


Adjustment for QLed Q7F (2017) TV

Hi,
I did some adjustment in your component (media_player.py) to have it work perfectly on my QLed TV.
Basically I was having 2 issue:

After some inactivity period command didn't work at first call -> solution: I always close the WS connection after 10 seconds

The running app was not always shown correcly -> solution: I added an additional (optional) information in app_list to help keep correct information from SmartThings

I also did some additional adjustment in source selection and source_list to give the component more time to update the source based on new selection and to return an empty source list when the TV is off.
 I'm avalaible if you need any additional clarification.
media_player.zip
Thanks a lot for your job!!!!!

Here some additional fix for better power management.
I also added an optional config params to avoid request of running on port 8001 if SmartThings is configured.
media_player.zip
Ciao.

Created a pull request for  this, sorry but I'm quite new with GitHub.


Segmentation fault \ For many non-NixOS "Apps" \ "Linux Distros" without systemd (Slackware)

Describe the bug
Segmentation fault for many non-NixOS "Apps"
For "Linux Distros" without systemd like (Slackware)
Many "Apps" have: Segmentation fault
Here is just a couple of "Apps" submitted:
kodi = Media center
xfe = MS-Explorer like file manager for X
Most "Apps" do not have:  Segmentation fault
But many "Apps" have: Segmentation fault
Steps To Reproduce

Install Linux Distro that does not have systemd like (Slackware)

Install Nix via the [single-user installation] For:
non-NixOS via the terminal

Install kodi On non-NixOS
Name: kodi Version: 19.4

Execute kodi from terminal

Expected behavior
Segmentation fault
#######################################
#######################################
Steps To Reproduce

Install Linux Distro that does not have systemd like (Slackware)

Install Nix via the [single-user installation] For:
non-NixOS via the terminal

Install xfe On non-NixOS
Name: xfe Version: 1.42

Execute xfe from terminal

Expected behavior
Segmentation fault

It's probably linked to graphic drivers rather than systemd. can you try https://github.com/guibou/nixGL ?


How to encode a looping animation?

I want to make my animation run in a loop.
But searching for "loop" in here doesn't give me any hints on how to do that.
In the C library looping is part of the encoder options.

The library does looping by default.
However, there was another configuration option which would limit the loop count. Created a pull request #15

When I tried it I got a not-looping animation by default and I was unable to figure out how to fix that:
https://github.com/walles/loadviz/blob/9e82365e9eef42a93d14b0cb0a88b5c427d082f8/libloadviz/src/bin/screenshot.rs
The code ^ has moved along since then, but if you do cargo run --bin=screenshot at the above SHA you should get a 10s not-looping screenshot in screenshot.webp.
I used Firefox to look at the generated screenshot.webp image.

Part of the code in the above link:
  let frames_per_second = 10;
  let seconds = 10;

  for i in 0..(frames_per_second * seconds - 1) {
      let dt_seconds = i as f64 / frames_per_second as f64;
      let dt_milliseconds = (dt_seconds * 1000.0) as i32;

      println!("frame {}", dt_milliseconds);
  }

  let final_milliseconds = frames_per_second * seconds * 1000;
  println!("final ts {}", final_milliseconds);

outputs
...
frame 9500
frame 9600
frame 9700
frame 9800
final ts 100000

the final timestamp (for finalize) determines the duration of the last frame, hence last frame being shown for<PHONE_NUMBER> ms.
I added a brief note to the function documentation. Would this help?

My issue is that when I ran my code, the resulting webp only played once and then stopped when I opened it in Firefox.
Here's the not-looping screenshot generated by the above code:

It is a webp, but I'm naming it .gif as a workaround for https://github.com/orgs/community/discussions/5470.

Did you wait to see if it looped over after 90.2 seconds<PHONE_NUMBER>/1000), caused by the last timestamp (100_000ms)? Would it be possible to upload the raw procuded webp somewhere?

frame 9800
final ts 100000

I missed that there was a 10x difference here, sorry.
What you're saying is that this line is wrong, and I think you're right:
https://github.com/walles/loadviz/blob/9e82365e9eef42a93d14b0cb0a88b5c427d082f8/libloadviz/src/bin/screenshot.rs#L66
Not sure what could be done on your end that would have helped me spot / avoid this.
I'll just chalk it down to my fault and close this ticket.
Thanks for looking into it @blaind!


Changes to docusaurus.config.js only picked up once per yarn start invocation

🐛 Bug Report
Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io I tried but cannot reproduce this issue on the sandbox
[X] I have read the console error message carefully

Description
When I run yarn start, and then edit & save docusaurus.config.js a few times, only the first save is recognized. If I want further changes to take effect, I have to terminate the development server (Ctrl-C) and run yarn start again.
Have you read the Contributing Guidelines on issues?
Yes
Steps to reproduce
Follow the steps here: https://docusaurus.io/docs/installation to create a new repo, then modify docusaurus.config.js.

Create a new docusaurus site:
$ rm -rf test-01
$ npx @docusaurus/init@latest init test-01 classic
[...]
We recommend that you begin by typing:

  cd test-01
  yarn start

Happy building awesome websites!
$ cd test-01

Run the development server:
$ yarn start
yarn run v1.22.10
$ docusaurus start
Starting the development server...
Docusaurus website is running at "http://localhost:3000/".
[...]
✔ Client
  Compiled successfully in 11.96s

ℹ ｢wds｣: Project is running at http://localhost:3000/
ℹ ｢wds｣: webpack output is served from /
ℹ ｢wds｣: Content not from webpack is served from /home/william/Documents/wpyoga/test-docusaurus/test-01
ℹ ｢wds｣: 404s will fallback to /index.html

Now change the first line in docusaurus.config.js and save:
const lightCodeTheme = require('prism-react-renderer/themes/duotoneLight');

On the terminal, observe that the site is rebuilt:
✔ Client
  Compiled successfully in 362.65ms

Open http://localhost:3000/docs/intro and see that the code block theme has now changed.

Now change the first line in docusaurus.config.js again and save:
const lightCodeTheme = require('prism-react-renderer/themes/vsLight');

On the terminal, there is no activity at all.

Reload the page at http://localhost:3000/docs/intro and see that the theme has not changed.

Further changes to docusaurus.config.js are not picked up until I stop the development server and start it again.
Expected behavior
When I modify docusaurus.config.js, the site is rebuilt.
Actual behavior
The expected behavior happens only the first time I modify docusaurus.config.js. Any further modifications to that file don't trigger site rebuild. In this state, modifications to documents inside blog/ and docs/ still trigger site rebuild.
Your environment

Public source code: (I'm using the default site with classic preset)
Public site URL: (not deployed yet)
Docusaurus version used: 2.0.0-beta.4
Environment name and version: Google Chrome 91.0.4472.114 (Official Build) (64-bit), Node.js 12.22.1, yarn 1.22.10
Operating system and version: Linux Mint 20.2, based on Ubuntu 20.04.2 LTS

Additional info: I have also reproduced this bug using Node.js 14.17.4 and yarn 1.22.11.
Reproducible demo
Please follow the above steps to reproduce the issue.

Is it a problem that only happens with beta.4? Did it use to work with older versions?
Have you tried changing something else than the prism theme? Like navbar items?
It is likely an issue in the file-watching system. It may be a problem on your system, or one of the libs we use, because it generally works fine for most users an we didn't change anything about that recently.
I suggest trying yarn start --poll 100 as a workaround

Hi @slorber thank you for your reply :)

Is it a problem that only happens with beta.4? Did it use to work with older versions?

I don't remember...
However, I tried creating a new site using docusaurus 2.0.0-beta.0, the same problem persists.

Have you tried changing something else than the prism theme? Like navbar items or a md doc?

I tried changing the navbar title, it exhibits the same behaviour.
However, if I change an MD document, the site is rebuilt.

It is likely an issue in the file-watching system. It may be a problem on your system, or one of the libs we use, because it generally works fine for most users an we didn't change anything about that recently.

Okay... is there a difference in the file-watching system, for docusaurus.config.js and for markdown documents inside blog/ and docs/? I'm asking because the behavior seems different. markdown documents inside docs/ and blog/, when they are edited or even touch-ed, will trigger a site rebuild.

I suggest trying yarn start --poll 100 as a workaround

Using this, the site will usually be rebuilt after I change some value in docusaurus.config.js.

docusaurus 2.0.0-beta.0 and 2.0.0-beta.4 have the same behavior:

action
yarn start
yarn start --poll 100

touch docusaurus.config.js
✗
✓

sed -i docusaurus.config.js -e "s/title: 'My Site.*/title: 'My Site $RANDOM',/"
✓  (ONLY THE FIRST TIME)
✓

touch docs
✗
✗

touch docs/intro.md
✓
✓

touch blog
✗
✗

touch blog/2019-05-28-hola.md
✓
✓

Thanks

Okay... is there a difference in the file-watching system, for docusaurus.config.js and for markdown documents inside blog/ and docs/? I'm asking because the behavior seems different. markdown documents inside docs/ and blog/, when they are edited or even touch-ed, will trigger a site rebuild.

Yes, docs are watched by Webpack's internal dependency graph system, while the config file and other things are watched using the chokidar lib.
https://github.com/facebook/docusaurus/blob/master/packages/docusaurus/src/commands/start.ts#L115
  const fsWatcher = chokidar.watch(pathsToWatch, {
    cwd: siteDir,
    ignoreInitial: true,
    usePolling: !!cliOptions.poll,
    interval: Number.isInteger(cliOptions.poll)
      ? (cliOptions.poll as number)
      : undefined,
  });

  ['add', 'change', 'unlink', 'addDir', 'unlinkDir'].forEach((event) =>
    fsWatcher.on(event, reload),
  );

If you want to help us debug this issue, you can try to add some logs in<EMAIL_ADDRESS>and see if some file-system events are not triggered, or try different chokidar options?
Maybe you are using symlinks or a special file-system folder, or you have some specific file-system that is not supported by chokidar, or chokidar might have a bug preventing you to get the watcher events being fired.
Unfortunately, it will be hard for me to solve this issue. It's also not very probable that this is a Docusaurus bug so I'm going to closes it, but happy to re-open if you can prove that chokidar is working correctly and this is our Docusaurus integration that fails. Otherrwise I suggest creating a small repro and opening a bug report on Chokidar directly

Hi @slorber , thanks for suggesting that! I went down the rabbit hole, and I think I re-discovered paulmillr/chokidar#791 and its related issues, including paulmillr/chokidar#35 and paulmillr/chokidar#601
I've set up a repo to easily reproduce this problem at: https://github.com/wpyoga/repro-docusaurus-5252 . It contains both docusaurus and non-docusaurus-specific (chokidar only) code. You are welcome to take a look and try it out. So far it works on my Linux laptop.
I'm using the standard ext4 file system. And I'm not using symlinks either.

docs are watched by Webpack's internal dependency graph system

Since the docs seem to be watched quite reliably, is it possible to watch the config file using a similar mechanism?

Thanks for investigating this.
What I understand is that it's an issue happening only when using some editors like Vim right?
Unfortunately, I'm not sure what I can do here, hopefully Chokidar will fix this.

Since the docs seem to be watched quite reliably, is it possible to watch the config file using a similar mechanism?

I'm not sure it is possible, and not even sure the Webpack watcher system is public api. Webpack is responsible for tracking the dependency graph of the frontend React application to build, not the NodeJS code. We use Chokidar to watch for changes in the Node.js side, which Webpack is not responsible for.


AE: Implement Data Preview for Control Technology

Definition of Ready

[ ] Does this meet the INVEST criteria?
[ ] Does this have a clearly defined user?
[ ] Does this have an estimate?
[ ] Does this have acceptance criteria?
[ ] Does this have sufficient context (wireframes, business rules, etc.)?
[ ] Is this traceable to a feature, epic, or PI?

User Story
As a CAMPD custom data download user I want to preview filter criteria for control technology so that I can confirm that my dataset includes my desired control technologies
Acceptance Criteria
Given a user has selected control technology filter criteria
When they select Preview Data
Then the filter criteria is reflected in the results
Context
(User journeys, design mockups, architectural diagrams, business rules, data element definitions)
Data Preview
Trigger: A user has entered, at a minimum, the required parameters, and selected the option to preview data.
For each record that matches the criteria, the system will display in a tabular format:
Refer to CAMPD_DataLabels_AggregatedEmissions_5-10_2021  for column display names
For each record that matches the criteria, the system will display in a tabular format in the following order and ordered by
When the system identifies at least one record that matches the criteria, then for each record the system will display the data below and ordered by Facility > Unit > Year
STATE
FACILITY_NAME
ORISPL_CODE
UNITID
ASSOC_STACKS
YEAR
SUM_OP_TIME
COUNT_OP_TIME
GLOAD
SLOAD
SO2_MASS
SO2_RATE
NOX_MASS
NOX_RATE
CO2_MASS
CO2_RATE
HEAT_INPUT
PRIMARY_FUEL_INFO
SECONDARY_FUEL_INFO
UNIT_TYPE_INFO
SO2_CONTROL_INFO
PART_CONTROL_INFO
NOX_CONTROL_INFO
HG_CONTROL_INFO
PRG_CODE_INFO
Testing
Test Case:
Tester:
Definition of Done

[ ] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[ ] Has the code been unit tested and peer reviewed?
[ ] Have the functional tests been executed?
[ ] Have all defects been reviewed and dispositioned, resolved, or deferred?
[ ] Has the user story been accepted by the Product Owner?
[ ] Is the user story ready to be deployed to the test/staging environments?

work will be completed in AE: Filter Custom Data Download By Time Period and enable data preview #1175


Javascript file not specified in the bower.json

Hi,
I'm using yeoman and the angular generator. When i'm building my project with grunt (using the command line 'sudo grunt build'), semantic's js files are not included in my index.html. I saw that the js file is not specified in the bower.json of the semantic component.
So, I put in the bower.json
"main": [
"transition.css",
"transition.js"
]
This works fine but I want to know if this is the right way or an error.
Thank you.

Closing since this is no longer an issue.


Enable hub controller

This PR is used to enable deploy hub-cluster-controller and hub-of-hubs-addon-controller into HoH cluster by using our existing deployment scripts. Also enable test with the latest image tag. I have published all the required images with the latest tag from main branch.
After deployed hoh, the agent deployment can be optional. It can be done via hub-cluster-controller if the leaf hub cluster is a managed cluster of HoH cluster.

I'm fine with merging the PR.
will let Vadim also comment before approving (so that auto merge is not triggered)


fix: scoping down user pool group IAM roles and adding --force to amplify push command

Description of changes:

Scope down the IAM roles assigned to user pool groups by the following condition:
'Condition': {
'StringEquals': {'cognito-identity.amazonaws.com:aud': },
'ForAnyValue:StringLike': {'cognito-identity.amazonaws.com:amr': 'authenticated'
}

Implement amplify push --force with force as an optional parameter to trigger Cloud-formation deployments without any changes to the CFN files or going through any update flows.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

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

@@            Coverage Diff             @@
##           master    #3609      +/-   ##
==========================================
+ Coverage   59.53%   59.86%   +0.33%
==========================================
  Files         286      283       -3
  Lines       13240    13167      -73
  Branches     2663     2659       -4
==========================================
  Hits         7882     7882
+ Misses       4933     4861      -72
+ Partials      425      424       -1

Impacted Files
Coverage Δ

packages/amplify-util-mock/src/utils/ddb-utils.ts

...kages/amplify-util-mock/src/__e2e__/utils/index.ts

...kages/amplify-util-mock/src/utils/lambda/invoke.ts

packages/amplify-util-mock/src/index.ts

...ges/amplify-util-mock/src/utils/config-override.ts

packages/amplify-util-mock/src/storage/index.ts
0% <0%> (ø)

...l-mock/src/CFNParser/resource-processors/lambda.ts
0% <0%> (ø)

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 553186e...e8e9322. Read the comment docs.


Fix redirect to correct files.

Fix redirect to correct files in README.md.

This change is

Thank you!


Changing title of active analysis via My Analyses section doesn't reflect

Looks like the links to the analysis are malformed?


Design a Home Page UI

The project requires a Home Page.
Suggest and design a Home Page UI which should be responsive, creative, having good User Interface and User Experience.

Hi everyone!
I've designed a basic responsive Home Page UI with a header, main content section, and footer. You can find the code below:
<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Home Page</title>

Welcome to Our Website

Explore Our Products

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla convallis libero quis tincidunt pretium. Sed vel nibh mauris. Phasellus vel enim vitae ligula bibendum faucibus. Donec ac dapibus metus.

Integer non quam vel eros tempor accumsan a nec orci. Fusce id leo eget lacus congue vehicula vel eu massa. Duis lacinia diam nec feugiat fermentum. Suspendisse potenti.

© 2024 Your Company. All rights reserved.

Please consider assigning this task to me. I'm eager to contribute to the project by implementing the Home Page UI. Looking forward to your response!

mam can you assign home page to me,  I 'm a fullstack developer but new to opensource .

Hello @Vivek-yadav01 , Go for it
All the Best

sure mam

is there any figma for reference?

No, Frontend part  has to be done from scratch.
If you can draw the wireframing of home page, its good. Else create a new issue for that.

Hey @Trisha-tech i would like to work on this project.

can create a resposive home page ui using react which will give a great UI experience.

notification bar.
navbar.
promotion banner.
new item section.
items on sale section.
FaQ section.
Fotter with required information.

@Trisha-tech  Is he going to make full Home page UI ? Can I add a category section to the Home Page (like fiction, non-fiction, novels, kids books, and education books)??

Hi, @Trisha-tech  ,i want to design a Home Page Ui for Online BookSales ,can you assigned me ?
like this :

Hey @Trisha-tech i would like to work on this project.

Hello @AmrutaZagade , Go for it
All the Best


Sphinx Gallery problem with TOC headers

Problem
In the tutorial doc part, all the tutorial pages go into the last section.

Possible solution
This might be some header-issue when generating the Sphinx Gallery

https://github.com/openjournals/joss-reviews/issues/6912

Fixes by adding the sphinx_gallery_conf option nested_sections=False. See here for explanation


Update PULL_REQUEST_TEMPLATE.md add new section

Fixes #109
Please check if this PR fulfills these

[x] The commit message is descriptive of changes
[ ] You have tried at least one local test (this includes viewing the changes on your local fork)
[x] Docs have been added / updated as needed (for bug fixes / features)

What kind of change does this PR introduce?

[x] Typo / Doc Update
[ ] Bug Fix
[ ] Feature / New Item

What is the new behavior (if this is a feature change)?

[ ] Added Interview Technical Question
[ ] Added Interview Whiteboard Question
[ ] Corrected existing items
[ ] Other

Other information:

Perfect! Thank you!


Spotify doesn't play, and barfs HARMONY_LOCAL_PLAYER_DISABLED errors

Hey there!
I can't get Spotify to work with nativefier, I get this error in the console when trying to play something:
Uncaught (in promise) r {code: "HARMONY_LOCAL_PLAYER_DISABLED", message: "Cannot perform command; local player is disabled.", status: -1, debug: {…}}
Any idea why that might be happening? Here's my full command:
nativefier --name "Spotify" "https://open.spotify.com/" --title-bar-style 'hidden' --global-shortcuts shortcuts.json --inject spotify.css --min-width 280 --min-height 280 --width 280 --height 280 --internal-urls ".*?"
I'd like to point out I'm on the latest version of nativefier and I'm running macOS 10.13.6. I'm trying to make a cleaner version of Spotify, so that I'm not distracted by other songs & playlist while working etc.

@everlydesigns I know that the this issue was open 2 years ago, but now, are you able to use the Spotify with Nativefier??


autotune export to microsoft excel

initial version, requires xlsxwriter

fixed all the review comments from @scottleibrand
tested on one day.
can be merged to dev at appropriate time

i think it's ready to be merged to dev


GH-37730: [C#] throw OverflowException in DecimalUtility if fractionalPart is too large

Rationale for this change

In BigQuery, the BIGNUMERIC supports very large precision and scale values, which causes an error in the DecimalUtility due to the fractionalPart of the value being larger than .NET's maximum decimal value.
What changes are included in this PR?

Throws an OverflowException with the entire original value
Changes the original OverflowException to also include the original value (which can be parsed as a string by downstream drivers).

Are these changes tested?

Yes, tests are added for this scenario.
Are there any user-facing changes?

Closes: #37730

@lidavidm  - can you help with this one too, please?


[Failing Test]:  Python_ParDo_Dataflow_Streaming loadtest suite has been timing out.

What happened?
See: https://ci-beam.apache.org/job/beam_LoadTests_Python_ParDo_Dataflow_Streaming/
Issue Failure
Failure: Test is continually failing
Issue Priority
Priority: 2 (backlog / disabled test but we think the product is healthy)
Issue Components

[X] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

Suite has been timing out recently as per:
https://ci-beam.apache.org/job/beam_LoadTests_Python_ParDo_Dataflow_Streaming/buildTimeTrend. We can increase the timeout and watch https://s.apache.org/beam-community-metrics to see if there is a performance regression in some tests once the suite is running again.

@riteshghorse did you get the chance to inspect performance tests dashboards for obvious regressions?

I looked at http://<IP_ADDRESS>/d/MOi-kf3Zk/pardo-load-tests?orgId=1 and didn't see any clear trends one way or another, so I think this is safe to close


Mocking storage with constant return

Hey! Is it possible to mock access to storage with constant return? E.g., I have some token, and I want it to always return UINT256::MAX when I ask for balance/allowance.

You can change the value in Database impl that you use, if this is no enough you can go even lower and
With EvmBuilder (main branch) override any instruction.
Evm::builder().
.append_handler_register(|h| {
     spec_to_generic!(handler.spec.id, {
            // and modify handler.instruction_table on SLOAD with logic that you need
      }
}

Great, thanks!


Telemetry

This PR adds a telemetry module that the rest of the flight software is able to interact with (rather than calling the device drivers themselves)

The features implemented in this branch have been HITL tested, the procedure and test log for which can be found here: https://cornell.app.box.com/file/789148155547


Issues on mobile devices; portions of the screen "cut off"

ref: https://forum.cortezaproject.org/t/save-button-in-mobile-browser-not-visible/924/4
Samsung S20 (the normal sized one)
On 1) I can’t see the record page’s toolbar because the browser’s toolbar is hiding it. My suspicion is that the body of the web application is not scrollable (but some div inside of the body as the main content div) the browser won’t detect that you’re scrolling and hide it.
On 2) the last application on Corteza One is cut off half way through
On 3), the auth pages, I can’t see the top part with the button to all apps, log out, …

Comment from Mia: As expected, this is not as trivial due to mobile browser bar behaviour. Need more time and probably Jože's input.

Fixed the auth screen on mobile views,
Fixed topbar not being fully visible on smaller screens (Avatar was disappearing)

Tested and confirming that this is looking good. Now the only thing left is the CL.

What was fixed
Only on mobile views:
Fixed login form covering up the topbar on auth screens.
Fixed not being able to click the avatar button in topbar on certain views
How was it fixed
By adjusting the styling of the auth screens and the Corteza topbar

Added the entry to the CL.


The file referenced here is not available in the repo

https://github.com/huggingface/candle/blob/be5b68cd0ba49424b0b100c0ea48ad35b2bd67b9/candle-examples/examples/rwkv/main.rs#L281

Thanks for reporting this, I probably forgot to upload it at some point. Anyway I've generated a new quantized version and uploaded it so should be all good.


[docs] Which refinements carry over to new scopes?

T | null | undefined -> T refinements don't carry over between function scopes:
type Dialog = {
  id?: string
}

function closeDialog(dialog: Dialog) {
  if (!dialog.id) {
    return
  }
  setTimeout(() =>
    removeFromDOM(
      dialog,
      document.getElementById(dialog.id!)! // Note the assertion: dialog.id!
    )
  )
}

function removeFromDOM(dialog: Dialog, element: Element) {
  element.parentNode!.removeChild(element)
  delete dialog.id
}

But union case selections do carry over:
type VisibleDialog = { id: string }
type DestroyedDialog = {}

type Dialog = VisibleDialog | DestroyedDialog

function closeDialog(dialog: Dialog) {
  if (!('id' in dialog)) {
    return
  }
  setTimeout(() =>
    removeFromDOM(
      dialog,
      document.getElementById(dialog.id)! // Note no assertion: dialog.id
    )
  )
}

Why is that? What's the guiding principle here - is it that nullability refinements aren't preserved between function scopes, but all other refinements are?

This is all part of #9998.
In the first one, it is impossible for TypeScript to determine outside of the scope of the function, if there will be mutations to dialog that might change the value of .id, therefore it is reset within the scope of the enclosing function.
For the second one, TypeScript can statically determine that no code can change the value of dialog.  Even if some variable reassignment happens outside of the scope of closeDialog it will not impact the reference of dialog inside the scope of its function or unclosing functions, so it can be positive that the type narrowing is valid within the scope of the enclosed function.

@kitsonk Thanks for the response! So in (2), after the if (!('id' in dialog)) refinement, TS knows that dialog must be a VisibleDialog, and if something deleted its id, that would be a type error.

TS knows that dialog must be a VisibleDialog

Correct and it knows that no one is performing a re-assignment to dialog, so it can trust that narrowing will always be valid within the scope of the function in (2).  TS always assumes that mutations on values will be type safe, so in this particular instance it isn't specifically considering it.
If you reassign dialog at any point, you can see that TypeScript will reset the narrowed type:
declare const removeFromDOM: any;

type VisibleDialog = { id: string }
type DestroyedDialog = {}

type Dialog = VisibleDialog | DestroyedDialog

function closeDialog(dialog: Dialog) {
    if (!('id' in dialog)) {
        return
    }
    setTimeout(() =>
        removeFromDOM(
            dialog,
            document.getElementById(dialog.id)! // Error as `dialog` is now `Dialog`
        )
    )
    dialog = {};
}


Implemented associations to Label class

In this PR we:

created the association to Label class

STATUS: APPROVED :green_circle: :clap:

Hi @andrianarivo   🙋♂,
Your project is complete!  There is nothing else to say other than... merge it! Great job 👏
Congratulations! 🎉
TO HIGHLIGHT:

Great sense of Ruby knowledge
No Rubocop offenses
Gitflow is respected

Now you can merge this branch and move on :1st_place_medal:
Cheers and Happy coding!👏👏👏


How to integrate socket into dev server?

Hi,
I want to use sockets in this project. I find that I should use sockjs vs socket io.
my console logs in server.ts not showing on node-console/browser. I see that server.ts is for AoT only. :(
So where and how to configure sockjs/socket.io?

The server.ts file is for universal, if you're not using universal, then just use this branch: https://github.com/qdouble/angular-webpack2-starter/tree/no-universal-support
You can't put sockjs/socket.io on the webpack dev server, but you could potentially add it to the prodsever here: https://github.com/qdouble/angular-webpack2-starter/blob/master/prodserver.js .

@qdouble What about mongoose?
Where I can config this mongoose.connect('mongodb://<IP_ADDRESS>:27017/chat');?
Same answer or any other way?

Yeah, you'd have to run it on the prodserver.js file
On Sat, Nov 19, 2016 at 9:15 AM Shlomi Levi<EMAIL_ADDRESS>wrote:

Reopened #179
https://github.com/qdouble/angular-webpack2-starter/issues/179.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/qdouble/angular-webpack2-starter/issues/179#event-865390121,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ7seD-TMdTKri_xk5TOgq8t1CYNrkyKks5q_y6rgaJpZM4K3R7K
.


Fix configuration

Signed-off-by: guillemdb<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@063207d). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage        ?   37.56%
=======================================
  Files           ?        5
  Lines           ?      189
  Branches        ?       24
=======================================
  Hits            ?       71
  Misses          ?      111
  Partials        ?        7

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 063207d...e4cd0cb. Read the comment docs.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@063207d). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage        ?   37.56%
=======================================
  Files           ?        5
  Lines           ?      189
  Branches        ?       24
=======================================
  Hits            ?       71
  Misses          ?      111
  Partials        ?        7

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 063207d...e4cd0cb. Read the comment docs.


"rights holder" comment says this is contact point for questions about the data set, not correct in all cases

In the comments about rights holder, the sentence "This entity is the direct contact for the platform operator or data consumers, who have questions or issues about the contents of a dataset." does not fit the reality for many datasets. For instance a dataset of all public transport timetables in a country, where each transport operator will be listed as a rights holder, but the dataset is maintained by a national entity who will be the preferred contact point for questions about the dataset.

+rights holder
dct:rightsHolder
foaf:Agent
This property refers to an entity that legally owns or holds the rights of the data provided in a dataset. This entity is legally responsible for the content of the data. It is also responsible for any statements about the data quality (if applicable, see property dqv:hasQualityAnnotation) and/or the relevance to legal frameworks (if applicable, see property dcatap:applicableLegislation).
This entity is the direct contact for the platform operator or data consumers, who have questions or issues about the contents of a dataset.

This is overlapping with another comment from SEMIC.
See:
https://github.com/mobilityDCAT-AP/mobilityDCAT-AP/issues/14
...point 1.
-> I need to re-introduce the "contact point" property, which will be the only interaction point between data providers and data users. In contrast, "publisher" and "rights holder" will be organisations that (technically/legally) represent the data set.
-> This change should resolve your issue.

See the resolved issue:
https://github.com/mobilityDCAT-AP/mobilityDCAT-AP/issues/14
...point 1.
->Agent information and contact point information is now separated.
->"rights holder" is not anymore used to establish a contact with data users.


Unable to start jaeger with Docker on windows 10

Describe the bug
Jaeger tracing fails to start (consistently reproducible) with docker-compose on Windows 10 Hyper-V
Cannot start service jaeger: Ports are not available: unable to list exposed ports: Get "http://unix/forwards/list": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
To Reproduce
Steps to reproduce the behavior:

docker compose file
jaeger:
image: jaegertracing/all-in-one:1.13
ports:

"6831:6831/udp"
"6832:6832/udp"
"16686:16686"

docker-compose up -d

Expected behavior
the container image is loaded (this works)
The container is started - this step fails
Cannot start service jaeger: Ports are not available: unable to list exposed ports: Get "http://unix/forwards/list": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Screenshots
If applicable, add screenshots to help explain your problem.
Version (please complete the following information):

OS: Windows 10 Version 1909
Jaeger version: [e.g. 1.13)
Deployment: Docker on Hyper-V
Docker Desktop <IP_ADDRESS>
Engine 19.03.13 Compose 1.27.4
What troubleshooting steps did you try?
Try to follow https://www.jaegertracing.io/docs/latest/troubleshooting/ and describe how far you were able to progress and/or which steps did not work.
I did not find anything in the troubleshooting section relevant to my problem.
On Docker i did try a few things such as manual DNS configuration (the docker compose file has other images that start successfully)

Additional context
Add any other context about the problem here.

I think you've already identified the issue: Ports are not available. It's not an issue with Jaeger, but with your environment.

I think you've already identified the issue: Ports are not available. It's not an issue with Jaeger, but with your environment.


Isnt working with coc

I'm unable to get this to work in my coc setup. Is there anything I need to know to get this to work? Are there anymore options I can set in CocConfig? I have a project with tailwindcss installed and I don't get any intellisense while editing.

it need tailwind init general config in your project.

Ahh right on, thanks for getting back to me so quick and for creating this extension! Can I point the extension to where that file exists? Its not in the root of my project.

This was fixed by changing the placement of my tailwind.js config file to be in the root of my project. Thanks!

@iamcco maybe you can add the tailwind init comment in the README? I discovered coc.nvim through your plugin (always used deoplete until now, and YouCompleteMe before that), and it took me a while to understand that the lack of completion was unrelated to my coc install, but to the missing tailwind.config.js.
Also, isn't there a way to parse the default config from ./node_models/tailwindcss/? Because I have no need for a custom tailwind.config.js file in the root of my project.

@AdrienLemaire I have updated readme


Music Of The Spheres Coldplay Wristband

Hello all, nice to meet you!
I'm an Italian software engineer, and I happen to be a Coldplay fan.
I went to their concert in Naples some days ago and I brought the wristband home with me (see attached pic), thinking that I could find some way to turn it on again.

After a little searching online, I stumbled upon your github repo.
Since I don't know anything about these wristbands, arduino, IR or RF, could you please help me in turning it on?
What do I need to do to achieve this (is there something I have to buy? is disassembly needed?)
Many thanks for your help.
Best regards,
Pasquale
P.S.
I know this isn't much of an issue, I'm sorry for that. Please feel free to close it if you want, and if you can we can continue our discussion via email, my address is<EMAIL_ADDRESS>

Well, since I've already bought IR transmitter and arduino online, I really hope it's infrared.
But as far as I know, all wristbands used in coldplay music of the spheres were infrared...
Or am I wrong?

It looks like IR based on the little dot on the front, but I think some concerts over in Europe are using the RF modules.
As for powering the wrist strap back on, you probably need to disassemble it and get new batteries. It takes two little 3V coin cells in series

Actually it has standard AAA batteries

Sorry for the late reply guys,  I've been recovering from Glastonbury Festival.
All the Coldplay ones are Infrared.
You basicly just need an 840nm IR LED and an Arduino and you can use the code on the Repo to  get them working

@sean1983 wow! Glastonbury must have been awesome!
I've bought this transmitter:
https://it.aliexpress.com/item/1005004005620672.html?spm=a2g0o.productlist.main.1.46d114ca9nZ5qn&algo_pvid=2a039d4b-4579-4bd2-a558-635ca88bfee2&aem_p4p_detail=202307020843401456071700085640004513083&algo_exp_id=2a039d4b-4579-4bd2-a558-635ca88bfee2-0&pdp_npi=3%40dis!EUR!0.38!0.3!!!!!%402100bbf516883126200237378d0745!12000027716275871!sea!IT!0&curPageLogUid=JxAVUbP7r5Kf&search_p4p_id=202307020843401456071700085640004513083_1
and this arduino - clone:
https://it.aliexpress.com/item/1005002997846504.html?spm=a2g0o.productlist.main.5.2b31suNLsuNL9R&algo_pvid=0b1e839c-a183-426e-ab8f-efcfa5a6ebb2&aem_p4p_detail=202307020850351221903485349820009559360&algo_exp_id=0b1e839c-a183-426e-ab8f-efcfa5a6ebb2-2&pdp_npi=3%40dis!EUR!3.45!3.1!!!!!%402100bb6416883130350831592d077e!12000023136335076!sea!IT!0&curPageLogUid=PlFscdDwMyvL&search_p4p_id=202307020850351221903485349820009559360_3
I hope they'll be good for the purpose


payment method added in checkout page

Related Issue
[Cite any related issue(s) this pull request addresses. If none, simply state "None”]
#1167
Description
[Please include a brief description of the changes or features added]
i added  paypal as well as credit card as a payment method
Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes]

Checklist:

[x] I have performed a self-review of my code
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

@Suchitra-Sahoo ,review it and if you want to any changes then inform me

The total price should be in Rs also on clicking make payment direct  it back to product page.

ok @Suchitra-Sahoo

Hey @Suchitra-Sahoo ,check #1237


Fixed typo in tests/forms_tests/field_tests/test_choicefield.py.

I'd like @claudep to confirm that this test isn't a candidate for removal in the spirit of https://github.com/django/django/pull/7986 (the clean up is ongoing).

That's clearly the sort of test I'd like to remove. On Python 3, we are assuming that strings are strings, not bytestrings. So unless we are dealing with interfaces where bytes input is legitimate (there are such cases, of course), we should not accept or test bytestrings handling.

Makes sense. Shall I close this PR?

Close it or make it remove the test?

OK, I'll close this. I'm not sure what assumptions are safe to know what parts of the form API always expect a string or can accept more than a string.


Can't Save onvif settings

Hi,
using the latest firmware, i am unable to save any onvif settings. When i press the save button, just nothing happens!
Other than that, thanks for the Yi Hack firmware, using it since 2021 already!
Kind regards,
Bas

Please, try to clean the cache of your browser.
I changed the js script.

Ahh that did the trick. Thanks!


📝 Chained function are forced on new line when there is an operation as parameter

Environment information
See playground link
Configuration
See playground link
Issue
When there is an operation in the parameter of the chained function, it's forced back to the beginning of the line instead of keeping it on the same line.
I think this issue could be related: https://github.com/biomejs/biome/issues/1039

Playground links
With a - 60 operation:
https://biomejs.dev/playground/?lineWidth=120&indentStyle=space&trailingCommas=none&code=YwBvAG4AcwB0ACAAZQB4AHAAaQByAGEAdABpAG8AbgBEAGEAdABlACAAPQAgAGQAYQB5AGoAcwAoACkALgBhAGQAZAAoAHIAZQBzAHAAbwBuAHMAZQAuAGUAeABwAGkAcgBlAHMAXwBpAG4AIAAtACAANgAwACwAIAAiAHMAZQBjAG8AbgBkACIAKQAuAHUAbgBpAHgAKAApADsA
Without a - 60 operation:
https://biomejs.dev/playground/?lineWidth=120&indentStyle=space&trailingCommas=none&code=YwBvAG4AcwB0ACAAZQB4AHAAaQByAGEAdABpAG8AbgBEAGEAdABlACAAPQAgAGQAYQB5AGoAcwAoACkALgBhAGQAZAAoAHIAZQBzAHAAbwBuAHMAZQAuAGUAeABwAGkAcgBlAHMAXwBpAG4ALAAgACIAaQB0ACcAcwAgAG4AbwB0ACAAcAByAGkAbgB0AHcAaQBkAHQAaAAiACkALgB1AG4AaQB4ACgAKQA7AA%3D%3D
Code of Conduct

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

In the playground links, you can see that Prettier's behavior is the same, so it looks to me like this is by design. If I'm not mistaken, the rationale is that there shouldn't be too much information on a single line.

There are different heuristics inside a "member chain". One of them checks where the chain contains complex expressions, and if so, the whole chain goes on multiple lines regardless of the line width.


Update License

Update the files headers, and README to Apache 2.0 License

@SaeedRe squashed in a single commit in master:
https://github.com/Kynetics/uf-service-api-reference-implementation/commit/90e685c14c15bb0c562fce63c8621f534a4bc1c5


[CP Staging] Revert "Revert "Revert "Consolidate options on settlement "Pay" button"""

Straight Reverts Expensify/App#48421
Fixes https://github.com/Expensify/App/issues/36301

https://48639.pr-testing.expensify.com/

Kewl.
__
Pay button on expenseReports is back to Pay $x with Expensify instead of Pay $x with business bank account:

❓ I don't have an option to change it to Pay elsewhere though to mark as manually reimbursed, not sure what's happened there.

Addressing this issue with the unexpected error on trying to Pay an expense report when a user hasn't added a bank account. I'm able to click Pay and prompt for a deposit account to be added by the submitter again now:

___
Added a PBA as the submitter, and the report was reimbursed automatically after:

__
Sent another request, now with a PBA added, reimbursed fine:

Yep, let's ship this. It fixes the bugs preventing reimbursement. Still need to figure out that question on why the manual option is missing, but wondering if that's coming from something else.

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Thanks1 ❤

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.0.29-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/roryabraham in version: 9.0.29-12 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


(GH-34) Parse class and defined type parameters

Previously the Sidecar would only evaluate the name of Puppet Classes and
Defined Types.  This commit adds support for Puppet Class parameters;
Also updates the completion and hover provider for the new information
Fixes #34

Nit: Commit messages have ; where a : should be

@jpogran Fixed.  Also, I saw I had a TODO still.  Implemented tests for the hover provider which found an error. Fixed that too.

See, my nit requirement was a good thing :)


Confirmation message is misleading someone cast vote with a Gnosis Safe

When someone cast a vote with Gnosis Safe there will be a confirmation message saying "Your vote is in!". This is misleading because vote is not really cast until the tx is confirmed on the Safe. We should instead show a message saying: Approve the pending transaction in the Safe interface to confirm your vote.

Showing such a long message in a notification that is only visible for a second isn't optimal I think. I'd like to do this in a modal that shows this information after a vote is signed/cast.
Other than that this modal could include:

Easy ways to share the proposal or how you voted on a proposal
Ways to verify your own vote or look it up on IPFS
Anything else that gives the user a feeling of accomplishment
Some tips like:

You can change your vote
How to become a delegator
ect

Agree about a modal

We need a design for this @bonustrack

Is this actually shipped and can we close the issue?


Add documentation to gfx_app

(Note: this is for pre-ll)
I understand that gfx_app is meant to be a framework for the gfx examples, but I've found it to be very useful in prototype or toy renderers. My original intention was to generalize it a little such that more kinds of projects could use it, but I figured I'd start by documenting the existing code (and potentially creating a new project that just does the cross platform window/backend initialization that gfx_app does).
Please let me know if this PR is useful and what improvements I can make on it, if so!
Cheers!

Thanks for taking the time to look at this! I've updated the crate documentation to exclude Vulkan and Metal from the list of supported backends.


In code API docs WAY out of date

The documentation at /documentation seems to be way out of date, take as an example
/documentation/1.0/projects/index.html
If you compare this against a GET to
/api/v1/projects
the data returned is significantly different.  Please update docs ASAP.

Looks like this is a non-issue


Fix unpacker to pass apply options

Ran into this issue when using encrypted images via CRI where the payloads were not registering for the stream processor. This fixed it.
Signed-off-by: Brandon Lum<EMAIL_ADDRESS>

Codecov Report

Merging #3952 into master will decrease coverage by 3.37%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3952      +/-   ##
==========================================
- Coverage      46%   42.63%   -3.38%
==========================================
  Files         117      130      +13
  Lines       11829    14759    +2930
==========================================
+ Hits         5442     6292     +850
- Misses       5469     7548    +2079
- Partials      918      919       +1

Flag
Coverage Δ

#linux
46% <ø> (ø)
:arrow_up:

#windows
38.22% <ø> (?)

Impacted Files
Coverage Δ

archive/tar_opts.go
58.82% <0%> (-12.61%)
:arrow_down:

snapshots/native/native.go
42.42% <0%> (-10.27%)
:arrow_down:

archive/tar.go
48.58% <0%> (-8.63%)
:arrow_down:

cio/io.go
46.47% <0%> (-8.53%)
:arrow_down:

metadata/snapshot.go
47.57% <0%> (-7.2%)
:arrow_down:

metadata/containers.go
49.84% <0%> (-6.26%)
:arrow_down:

content/local/writer.go
58.65% <0%> (-5.55%)
:arrow_down:

content/local/store.go
49.52% <0%> (-5.29%)
:arrow_down:

metadata/images.go
57.41% <0%> (-4.97%)
:arrow_down:

archive/compression/compression.go
58.69% <0%> (-4.7%)
:arrow_down:

... and 74 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 7804afb...95fbf3d. Read the comment docs.


Influx Migrate 1.x to 2.x: When the CLI options for --db or --rp are invalid, there is no error handling

Steps

Setup a 1.x instance
Setup a 2.x instance
Stop both instances
Making sure the following command references the 2.x influxd binary (within the influxdb repo), run influxd migrate --org-id {2xOrgId} --db fjshfkjsdhfkj

Results

The command will successfully run and display output similar to:

2020-03-24T20:33:41.395370Z	info	Resources opened	{"log_id": "0LkZrQ3l000", "service": "kvstore-bolt", "path": "/Users/sengel/.influxdbv2/influxd.bolt"}
Building TSI index
Removed existing TSI index at "/Users/sengel/.influxdbv2/engine/index"

Now run the command again but, this time, with a valid database name but invalid retention policy.
Example:
influxd migrate --org-id 9a487831c22a21ec --db 1xdb.autogen --rp fkldsfjsdfjsf

The output will also appear to be successful when it displays:

2020-03-24T20:33:41.395370Z	info	Resources opened	{"log_id": "0LkZrQ3l000", "service": "kvstore-bolt", "path": "/Users/sengel/.influxdbv2/influxd.bolt"}
Building TSI index
Removed existing TSI index at "/Users/sengel/.influxdbv2/engine/index"

Expected Results:

The error message should be similar to the error message that displays when an invalid value is passed to --influxdb-2x-path (as an example):

Bad path entered in command:
influxd migrate --org-id 9a487831c22a21ec --influxdb-2x-path fsd/fs/fsdf
Output:
2020-03-24T20:48:34.716988Z	info	Resources opened	{"log_id": "0Lk_hwbW000", "service": "kvstore-bolt", "path": "fsd/fs/fsdf/influxd.bolt"}
Error: open fsd/fs/fsdf/engine/data: no such file or directory
Usage:
  influxd migrate [flags]

Flags:
      --db string                 only import the provided 1.x database
      --dry-run                   simulate migration without running it
      --from string               earliest point to import
  -h, --help                      help for migrate
      --influxdb-1x-path string   path to 1.x InfluxDB (default "/Users/sengel/.influxdb")
      --influxdb-2x-path string   path to 2.x InfluxDB (default "/Users/sengel/.influxdbv2")
      --migrate-hot-shards        migrate all shards including hot ones. Can leave unsnapshotted data behind
      --org-id string             destination 2.x organization id (required)
      --rp string                 only import the provided 1.x retention policy. --db must be set
      --to string                 latest point to import
      --verbose                   enable verbose logging

we removed the migrate command from the influxd binary. https://github.com/influxdata/influxdb/pull/19004

Closing this issue since it is no longer relevant.


Add Otsu thresholding

https://en.m.wikipedia.org/wiki/Otsu's_method

So I'm adding histogram, threshold, threshold_mut, and otsu_level functions.
As it is, the otsu method will return the optimal threshold, which you would then apply with the threshold function.
I ran into an issue when compiling things however. This is the first time I'm used the image crate, so when I went to compile my code, I got an error during the compilation of the custom_derive-0.1.2 crate. Do I need to be running the nightly or anything?

Yes, this only compiles on nightly. As far as I know, the #[bench] attribute still requires nightly, and since switching I've not paid any attention to any other crates that might also need it.
There's already a cumulative_histogram function in contrast.rs, so you might want to separate the "cumulative" and "histogram" parts of that and use/replace the latter in/with your new code. It's only a couple of lines, but we might as well use a common implementation.

I apologize for letting this sit. I've been pretty swamped lately. I'll finish writing tests and send out a PR tomorrow.

No worries, thanks!

Okay, apparently I was still being wildly optimistic about my schedule. I finally finished the last function yesterday, though. Woo-hoo!
I'd like to ask your thoughts on a minor implementation detail, however.  According to wikipedia/the matlab implementation, the otsu method usually returns a real value on the interval [0,1].
As I've written it, however, I just return a value that's the type of the input image (which for now is assumed to be u8, like everything else in contrast.rs).
Is there any merit in following convention? For my 2 cents, I think it makes more sense to return a value that matches the pixels in the image, otherwise you'd need to convert it to do any comparisons.

I agree that it should return a threshold that can be used directly, rather than scaling to [0, 1] just to reverse the scaling whenever you use the value.


Rename the default config file from opta.yml to opta.yaml

Description
Rename the default config file to use the yaml extension.
This is consistent with the kubernetes official documentation and examples where yaml is preferred.
Safety checklist

[X] This change is backwards compatible and safe to apply by existing users
If  a user has defined the default opta.yml file, they will see this warning message:

WARNING: Could not find file opta.yaml, but loaded opta.yml.

[ ] This change will NOT lead to data loss
[ ] This change will NOT lead to downtime who already has an env/service setup

How has this change been tested, beside unit tests?
Ran opta apply locally with opta.yml and opta.yaml to test the behavior.

@NitinAgg some tests were failing (coming from https://github.com/run-x/test-service)
I added some changes to support both opta.yml and opta.yaml.
A warning will be showed when opta.yml is used as the default file, see the PR description for more info.


Improvements to CTIS documentation

Prerequisites:

[x] Unless it is a documentation hotfix it should be merged against the dev branch
[x] Branch is up-to-date with the branch to be merged with, i.e. dev
[ ] Build is successful
[x] Code is cleaned up and formatted

Summary

Make a contingency table codebook CSV to replace the huge Markdown-formatted tables
Make the survey codebook much more prominent
Improve home page to make it clearer this is the US CTIS

Preview version: http://rosmarus.refsmmat.com/delphi-epidata/symptom-survey/

Did we get an update on the spreadsheet being made public? If not, how about we just push this version and update the link later to make it point at the central spreadsheet (maybe when we're adding the next batch of stuff)?


Adding predicated member access to psobject to speed up formatting.

PR Summary
By not doing excessive amounts of extra work, formatting can be sped up quite significantly.
The main change comes from adding new, more efficient, primitives to query an object for it's members.
The formatting system has been checking for properties by retrieving all properties, and then determined whether a set of properties has been among them.
With this change, I added a method public R AggregateUntil<R>(Func<T, (bool continueSearch, R result)> predicate)
That enables early exit and for example responding with a bool instead of a set of objects, which reduces allocations and wastes less cycles.
Test script:
$files = gci -ea:0 c:\windows -Recurse -File
$files | format-table Name, LastAccessTime, Length | out-null

version
time
speedup

6.1
32.47s
1.0x

PR 8024
6.70s
4.8x

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[ ] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[x] Add [feature] if the change is significant or affects feature tests

@iSazonov I updated the description in the PR.

Pinging to keep alive

Very desirable PR. :-)