bug(base-iamge): e2e-cli and e2e-lang fails after the envd-ssh rename

Description
https://github.com/tensorchord/envd/runs/8292794140?check_suite_focus=true
/cc @lunarwhite Do you have the interest to help resolve this?
Reproduction
Additional Info

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

I rerun the test but these two tests still fail.

I've tried to rerun these two tests on local machine(Ubuntu18.04.1 x86_64):

make e2e-cli-test

Ran 12 of 12 Specs in 372.425 seconds
SUCCESS! -- 12 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestMain (372.43s)
PASS
coverage: 41.4% of statements in ./pkg/app
ok      github.com/tensorchord/envd/e2e/cli     372.627s        coverage: 41.4% of statements in ./pkg/app

make e2e-lang-test

Ran 5 of 5 Specs in 722.999 seconds
SUCCESS! -- 5 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestMain (723.00s)
PASS
coverage: 21.5% of statements in ./pkg/app
ok      github.com/tensorchord/envd/e2e/language        723.196s        coverage: 21.5% of statements in ./pkg/app

It seems a little strange that GitHub Action CI workflow failed.

/assign
I'll track this issue.

      - name: e2e test
        run: make e2e-lang-test
        env:
          GIT_LATEST_TAG: ${{ steps.get-latest-tag.outputs.tag }}

Maybe related to the env var GIT_LATEST_TAG, I think.

It's caused by the missing git tag v0.2.0-alpha.20.
Releasing a new one in branch main fixed this.


Problem with CMD 18 Use Case # 5 relation extraction

Hello Sujit Pal,
Thank you for this amazing work.
I have searched accross the web how to tackle jointly NER and RE fine tuning and your solution is the most streight forward with Python Code included.
I am stacked to the CMD 18 as token.startswith(") isn't a valid operation
Could you please explain this command ?  Do you mean  token.startswith(' ') ?
Best Regards,
Evangelia

Sorry, I think github's ipynb rendering might have a bug for HTML-like tags. The append call on span_idxs should be as follows:
span_idxs.append([
    [idx for idx, token in enumerate(tokens) if token.startswith(\"<S:\")][0],
    [idx for idx, token in enumerate(tokens) if token.startswith(\"</S:\")][0],
    [idx for idx, token in enumerate(tokens) if token.startswith(\"<O:\")][0],
    [idx for idx, token in enumerate(tokens) if token.startswith(\"</O:\")][0]
])

Hello,
Thank you very much. I think the problem is solved.
I've seen you made some changes to Case #5.
I would also like to know how can I jointly train NER and RE ? Should I do this separetly or do you suggest any practice ?
Does you method allows saving model to Hugging Face for Open Source use ?
If you prefer I can create new threads on these subjects.
Best Regards,
Evangelia ZVE

Hello,
Thanks a lot for your detailed answer.
Best Regards,
Evangelia Zve

You are very welcome. Closing this issue.


USABILITY: organizations

It would be helpful to assign groups of people to a coordinator in the admin module.

It could take an extended period of time if it is handled later rather than with automation.


Document the changes and use of vsock (macOS)

With the upcoming release of CRC, v1.26 we are changing the network mode that we use from the current hypervisor driver IP assignment to the vsock userspace network stack. This allows us to use a more fine-grained approach to network ports, routes, etc, but it also means the current method will become a 'legacy' option. While it should be transparent to the user, some changes will be made to how the DNS is configured, or for people to get access to the VM.
Note: the main reason we have this vsock option is because it allows people to use CRC while needing a VPN connectivity.

@robin-owen @guillaumerose

But we also need to document this option for the linux also in case user want to use vsock as with v1.26 it shouldn't be experimental feature right?

At the moment this is also not the default on Windows. Perhaps we can stage this for Sprint 201; enable for Windows as default and for Linux as an option.

It's now the default on macOS and Windows (when the installer is used). The option will most likely be removed soon on both platforms (gone already with the macOS installer, and https://github.com/code-ready/crc/pull/2661 does the same change for the Windows installer).


Validate - indicate UTF-8 to avoid null exception when posting WhatIf output as comment to Pull Request

We stumbled upon some Swedish character in the WhatIf output. This caused the following error:

Indicating utf-8 solved the issue. Do you agree?

Updated to use parameter -ContentType and a condition to require the build to be initiated by a Pull Request.

@SimonWahlin can you please take a look at this one?


Fix IsRowMajor assertion

Description
Compilation currently fails when assertions are enabled with:
cvxpy/cvxcore/src/LinOpOperations.cpp: In function ‘Tensor get_kronl_mat(const LinOp&, int)’:
cvxpy/cvxcore/src/LinOpOperations.cpp:379:25: error: ‘Eigen::SparseMatrixBase<Eigen::SparseMatrix<double> >::IsRowMajor’ cannot be used as a function
  379 |   assert(!rh.IsRowMajor());
      |                         ^

Here, we fix this issue by referring to the enum directly. The code now compiles, though I can't test it because master is broken with AttributeError: module '_cvxcore' has no attribute 'KRON_R'
Issue link: #1690
Type of change

[ ] New feature (backwards compatible)
[ ] New feature (breaking API changes)
[X] Bug fix
[ ] Other (Documentation, CI, ...)

Contribution checklist

[X] Add our license to new files.
[X] Check that your code adheres to our coding style.
[ ] Write unittests.
[ ] Run the unittests and check that they’re passing.
[ ] Run the benchmarks to make sure your change doesn’t introduce a regression.

@r-barnes regarding KRON_R, that failure message is odd. Is it possible that Python is finding an old version of _cvxcore? It would help if you could show the workflow you're using to modify cvxcore (including how you run swig and try to install cvxpy).

@r-barnes I tried this on a fresh clone of your fork. Indeed, installing fails with assertions enabled when your fix is not in place.
Regarding your comment ATTENTION!. Does that imply that this change should not be merged? I don't know which downsides it would have to keep assertions permanently enabled, but an alternative could be to set the flag CFLAGS="-UNDEBUG" while installing on the CI, so every code will be checked with assertions without making changes to setup.py.

@phschiele - I put the attention there because it's possible NDEBUG can affect performance. I would not expect this to be the case unless you have assert inside of a tight loop or class accessors.

@cvxpy/maintainers Could you please merge the current master into this branch so we get retrigger the CI and get the benchmarks?

@cvxpy/maintainers Could you please merge the current master into this branch so we get retrigger the CI and get the benchmarks?

Done.

Since we rarely make changes to cvxcore, I have instead added instructions on how to enable debug checks to the README of CVXCORE.


web3 and ethers version update

Has this been tested with combination with remix-ide? just to ensure we don't run wiht issues with the debugger


Fix: D8450498 breaks test_end_to_end job

Summary: Because of the way react-native local-cli communicates with metro, getWatchFolders function was always returning an empty array that triggered an error.
Differential Revision: D8650733

Verified. Closing as this will land to the internal repo soon.


Travis: Test Python 2.6

fcb7cd6f66e951eeae76ff2f48d8ad3e40da37ef is a Python 2.6 fix, so I figured @diafygi would like to support Python 2.6 (which I'm all for!), but then we should also test for Python 2.6.
BTW: Why are Travis builds for PRs disabled?

Can't remember why, but for some reason python 2.6 on TravisCI didn't work. Will test on another branch later this spring.

If you could enable Travis for PRs I could have a look.

I don't plan on supporting Python 2.6 in tests. You're welcome to maintain your own fork as needed.


Problem with high resolution Zed camera

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues.
[X] This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description
I use Zed camera and API in C++ to open and capture camera, but i only can open the camera with VGA solution, when i use USB hub to convert my usb gate to 3.0 its sometime can open the camera in higher resolution, is there any tips to fix
Steps to Reproduce

...
Expected Result
Can open in higher resolution
Actual Result
Only open in VGA resolution
ZED Camera model
ZED
Environment
OS: window 11
CPU: AMD ryzen 5 4600H
GPU: GTX 1650ti
SDK: 3.7

Anything else?
No response

Hi @huyle24022002
Please run the ZED Diagnostic tool and send the report file that it generates to<EMAIL_ADDRESS>to open support a ticket.


Add ability to customise Django settings

@andrewgodwin PR is intended as a decision point about how we'd like to encourage people to handle custom settings overrides.

People set DJANGO_SETTINGS_MODULE and then do whatever they're going to do, optionally importing our settings.py

More flexible
Harder to troubleshoot and document

This PR, we do the normal settings.py before optionally importing a fixed path

Less flexible (requires DJANGO_SETTINGS_MODULE for any pre-Takahē settings code)
Common pattern that can be documented
Solves the common case of "add to INSTALLED_APPS" and add extra settings without people potentially not importing settings.py

I prefer the second option that this PR presents, but I'd like to call it local_settings.py due to personal preference!


Added Update App Prompt

Description
Fixes #4586.
Added In-App Update Prompt feature. Whenever a new update is released in the Play Store, a prompt  will be displayed. If the "Update" button is clicked, it will start to update the app, and if "Don't show again" button is clicked, the Prompt won't show up until the next update is released on the Play Store.
Tests performed
Tested 3.0.2-debug-master on Realme XT with API level 28.

Hi, @jayant99acharya Welcome to the project, before making a PR for any issue do wait for feedback from team members. One or more team members will review the issue and assign it if needed to be fixed.
If you haven't read it already, we have prepared a document for new contributors.

@jayant99acharya It seems like you have configured wrong git username/email. Do make sure that you are using your own username/email when adding commits.

If you don't know how to modify it, here is a good article - https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/setting-your-commit-email-address

Hmm I am not sure if this PR is wanted of not, since there is no issue created for this purpose. :/


Wrong output on and()

On chrome you can find the correct way:
6827581190108759180n & 0xfn === 12n
On bigInt:
bigInt(6827581190108759180).and(0xf).value === 8
Seems like with few examples I tried, it always off by 4, but not 100% sure about it.

@idofilus  try
bigInt('6827581190108759180').and(0xf).value === 8

@Yaffle Not sure I understand what you mean by

6827581190108759180 equals<PHONE_NUMBER>108759040

6827581190108759180 =<PHONE_NUMBER>000000111000011101011000101111001001001000100 10001100
6827581190108759040 =<PHONE_NUMBER>000000111000011101011000101111001001001000100 00000000
Now if we will use the lowest bits that are different:
   10001100
&      1111
 ----------
       1100

@idofilus , in javascript the numbers are stored using the "double-precision floating point format" and so have 53 bits of precision,  your source code will parsed and the value will be rounded.

@Yaffle I understand, but it seems like V8 is emulating it as a even bigger than unsigned long long ?
For example, if you would try to increment with the max of Unsigned long long:
18446744073709551615 + 1 ===<PHONE_NUMBER>3709552000
Values are rounded
But, using V8's BigInt it would be possible:
18446744073709551615n + 1n ===<PHONE_NUMBER>3709551616n
Even:
18446744073709551615n * -1n - 10n === -18446744073709551625n
So, even tho your point is logical. It seems like BigInt is much bigger than this.

@idofilus , I agree. BigInt is much bigger. The expression bigInt(6827581190108759180)  will be evaluated as a function call with number value, not BigInt value.

@Yaffle I used BN.js to solve my case, they are using strings as input to probably overcome the issue you described. I guess this is the nature of this current library because of it. Maybe consider having to support as a string as well with unlimited number range ? Or at least let people know about limitation :)
I mean, not sure if it's already mentioned here. But I'm doing pretty standard thing here (kind of) using the server with uint64_t and handling modification to number on the client side as well.


JSON parsing does not work

cite.set() fails to parse standard JSON inputs, and object inputs.
I've reproduced this locally, and in the browser demo.
If you copy the JSON output produced in the browser demo back into one of the input windows, you get the following:
 [{"id":"temp_id_9016360104836194"}]
Seems like cite.set() is failing to parse?
I'm trying to do something like:

var Cite = require('citation-js')

cite = new Cite();

var optionsObject = {
   format: 'object'
}

var optionsHTMLString = {
  format: 'string',
  type: 'html'
}

var inputData = "a list of references in conventional .bib format";

function displayFilteredAndSortedReferences() {

    // This works fine.
    cite.set(inputData);
    var referencesObj = cite.get(optionsObject);

    // Do some filtering / sorting of referencesObj (which requires them to be in object format.)

    // And now only output the filtered and sorted array of references to HTML to the page.

    // This does not work.
    cite.set(filteredReferencesObj);
    var outputHTML = cite.get(optionsHTML);

    //  Result:
    //

    //
 (n.d.).

    //

    // This also doesn't work.
    cite.set(JSON.stringify(filteredReferencesObj));
    var outputHTML = cite.get(optionsHTML);

    //   Result:
    //

    //

    //

}

Not sure what is happening. Can you give a minimal example of failing input for filteredReferencesObj, so I can reproduce/debug myself?
One problem might be that the output options are incorrect: 'object' is an incorrect value for the format option. I see you're using optionsHTML as options, but I don't see them defined. What are they?

Hi Lars, after putting together the minimal code sample, I think the error was actually in my filtering code. However, it was producing an error which is similar to one which I was able to reproduce in the browser demo:
When you input a JSON string into the input boxes, it fails to parse.
[{"id":"Q23571040","type":"article-journal","title":"Correlation of the Base Strengths of Amines 1","DOI":"10.1021/ja01577a030","author":[{"given":"H. K.","family":"Hall"}],"issued":{"date-parts":[[1957,1,1]]},"container-title":"Journal of the American Chemical Society","volume":"79","issue":"20","page":"5441-5444"}]

Changing the format option to real fixed parsing for me. It now correctly parses into an object. Maybe it would be helpful to throw an error message for the format = 'object' condition. As of now it fails silently and outputs a JSON string.
Here's the working minimal example:

var fs = require('fs');
var Cite = require('citation-js');

var filePath = './example.bib';

var cite = new Cite();

var optionsObjectOutput = {
	format: 'real' // I was setting this to 'object' for some reason. Should have read the Docs more closely.  https://github.com/larsgw/citation.js#cite.in.options
	// Issue: setting this to 'object' does not throw an error. It just defaults to outputting as a string.
}

var optionsHTMLOutput = {
	format: 'string',
	type: 'html'
}

displayFilteredAndSortedReferences(filePath);

function displayFilteredAndSortedReferences(path) {
	fs.readFile(path, 'utf8', function(err, data) {

		// Parse in .bib file data.
		cite.set(data);
		var referenceLibraryObjects = cite.get(optionsObjectOutput);

		//console.log("Before Filtering: ------------------------------------------ ");
		//console.log(referenceLibraryObjects);

		// Filter reference objects.
		var filteredReferenceLibraryObjects = referenceLibraryObjects.filter(function(reference){
			return reference.id == 'allison_managing_2013' || reference.id == 'lee_stress-constrained_2012'; // Just extracting two example references.
		});

		//console.log("After Filtering: ------------------------------------------ ");
		//console.log(filteredReferenceLibraryObjects);

		// Output HTML display of citation.
		var referencesOutputHTML = [];
		filteredReferenceLibraryObjects.forEach(function(referenceObject) {
			cite.set(referenceObject);
			referencesOutputHTML.push(cite.get(optionsHTMLOutput));
		});

		// Works!
		console.log("HTML Output: ------------------------------------------ ");
		console.log(referencesOutputHTML);

	});
}

I put the invalid-options-don't-throw-errors thing in a separate issue #59
I am able to reproduce the issue
After playing around with the internal general parsing methods (Cite.parse.input), I found that the input type recognising function thinks the input is a Bib.TXT string
You can expect a fix soon, in the next version (v0.3.0-13), today or tomorrow


[API] admin create user: return usefull error if passwordcheck not pass

source: https://gitea.com/gitea/go-sdk/issues/389
post /admin/users to create a new user.
i got response: code=400, message=Bad Request, the request body:
{
<EMAIL_ADDRESS>    "full_name":"debugcool",
    "login_name":"debugcool",
    "must_change_password":true,
    "password":"123456",
    "send_notify":true,
    "source_id":0,
    "username":"debugcool"
}

i want to know what's wrong with my request or where is the open api log
-> password complexity dont match

@debugcool ping :)

AFAICS the API returns some JSON with the message: "PasswordComplexity" or "PasswordPwned" so I'm not certain what's wrong here.

let me have a look ...


typo fix in changelogs.md and pydelhi.py

Closes #15

[x] relace => replace in pydelhi.py
[x] all Febriuary => February & doesn not => does not in changelogs.md

Thanks @imkaka for you contributions.


[ENH] Added Flag to save LogFile

Closes #250

Changes proposed in this pull request:

Added flag to save log

Checklist

[x] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see https://neurobagel.org/contributing/pull_requests for more info)
[ ] PR has a label for the release changelog or skip-release (to be applied by maintainers only)
[x] PR links to GitHub issue with mention Closes #250
[x] Tests pass
[x] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

Hi @alyssadai,
Thank you for your review 😋. I have implemented the suggested changes and addressed all the comments.
Thanks again!

Looks great, thanks a lot for your contribution @samadpls!

Oops, accidentally closed instead of merged.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.785%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
929

Relevant Lines:
931

💛  - Coveralls


When should one replace sequential .add with an .addAll?

Description
The current implementation detects something like this:
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");

and suggests replacing that with
list.add(List.of("a", "b", "c", "d", "e"));

Depending on how large the content of the .add calls is, one will end up with a multi-line .addAll call that is not any better than the original one.
What to lint instead?
Most importantly this should not subtract points. Therefore, it must be separated from the other .addAll lint;
for (var value : collection) {
    list.add(value);
}
// -> replace with list.addAll(collection);

If the .add has a constant value, one could suggest replacing this with
private static final List<String> MY_CONSTANTS = List.of("a", "b", "c", "d", "e");

// ...

list.add(MY_CONSTANTS);

Note: Do not suggest this for classes or things that reference the current method. Enum Literals are okay.

Making this a new lint that suggests a constant seems like the best way to not throwaway the entire code.
What has to be changed?

Move the isConstantExpressionOr function https://github.com/Feuermagier/autograder/blob/224ba4a025fdedcc44d29850a2435898c5ac64b7/autograder-core/src/main/java/de/firemage/autograder/core/integrated/structure/StructuralEqualsVisitor.java#L65 to a utility class
The suggestion should only apply if all values are constant or they

are immutable (like primitives excluding arrays), TODO: improve the TypeUtil#isImmutable function if necessary
only one instance can exist of them like for enums
do not depend on anything from the context that will not be available in a static variable (like local variables, fields, params, other methods, ...). For this one, we might want to provide the context in the or lambda? Or maybe move the Utility Methods in DuplicateCode that provide these to a Utility Class?

Rename the ProblemType


make dist not working - typo in rule

after config/bootstrap within Makefile.in:
line 707:
dist dist-all:
should be:
dist: dist-all
':' at the wrong place

The automake flow will be deprecated and removed soon.
Please consider moving to cmake.


The IsahcClient timeout setting is not a connection timeout

I believe the timeout that can be set through http_client refers to the connection timeout. And I think the process shown below sets a timeout on isahc. According to the isahc documentation, it is not the connection timeout that can be set with timeout(). The connection timeout can be set with connect_timeout().
https://github.com/http-rs/http-client/blob/3c0ed9a2f350749f48f579867139dd9e3afdf182/src/isahc.rs#L90
https://github.com/http-rs/http-client/blob/3c0ed9a2f350749f48f579867139dd9e3afdf182/src/isahc.rs#L118

@trrk will accept a PR if you make one. :)


[WARNING] promo-code not retrieve

[Master HamsterKombat Bot][WARNING] 2024-09-05 01:31:53 Event registration for Twerk Race was successful, but no code was provided, retry in 24 seconds.
[Master HamsterKombat Bot][WARNING] 2024-09-05 01:32:17 Event registration for Twerk Race was successful, but no code was provided, retry in 22 seconds.
[Master HamsterKombat Bot][WARNING] 2024-09-05 01:32:39 Event registration for Twerk Race was successful, but no code was provided, retry in 23 seconds.
[Master HamsterKombat Bot][WARNING] 2024-09-05 01:33:03 Event registration for Twerk Race was successful, but no code was provided, retry in 21 seconds.
[Master HamsterKombat Bot][WARNING] 2024-09-05 01:33:24 Event registration for Twerk Race was successful, but no code was provided, retry in 21 seconds.

Don't worry, it's normal, I added it to see the bot activity in the process of getting keys

Don't worry, it's normal, I added it to see the bot activity in the process of getting keys

Okay, thanx man


stack setup fails to compile a sanity check

Issue description
stack setup fails to install a sanity check even after deleting ~/.stack/, however works in a nix-shell.
I'm not sure what I need to do in order to get ordinary stack commands to run in my regular nix environment.
Steps to reproduce
-> % nix-env -q gcc-wrapper gmp stack | cat -
gcc-wrapper-5.4.0
gmp-6.1.1
stack-1.3.2
-> % rm -rf ~/.stack
-> % stack setup
Using latest snapshot resolver: lts-7.14
Writing implicit global project config file to: /home/jdag/.stack/global-project/stack.yaml
Note: You can change the snapshot via the resolver field there.
Downloaded lts-7.14 build plan.
Fetched package index.
Populated index cache.
Preparing to install GHC to an isolated location.
This will not interfere with any system-level installation.
Downloaded ghc-8.0.1.
Installed GHC.
The GHC located at /home/jdag/.stack/programs/x86_64-linux/ghc-8.0.1/bin/ghc failed to compile a sanity check. Please see:

    http://docs.haskellstack.org/en/stable/install_and_upgrade/

for more information. Exception was:
Running /home/jdag/.stack/programs/x86_64-linux/ghc-8.0.1/bin/ghc /tmp/stack-sanity-check4023/Main.hs -no-user-package-db in directory /tmp/stack-sanity-check4023/ exited with ExitFailure 1

[1 of 1] Compiling Main             ( /tmp/stack-sanity-check4023/Main.hs, /tmp/stack-sanity-check4023/Main.o )
Linking /tmp/stack-sanity-check4023/Main ...

/nix/store/zgnh07lr5l9i3jnvl3b8ikkgfs23llnx-binutils-2.27/bin/ld: cannot find -lgmp
collect2: error: ld returned 1 exit status
`gcc' failed in phase `Linker'. (Exit code: 1)

However, when I re-run the command inside a nix-shell, I get a quite different result:
-> % nix-shell -p gcc -p gmp -p stack

[nix-shell:~]$ stack setup
stack will use a sandboxed GHC it installed
For more information on paths, see 'stack path' and 'stack exec env'
To use this GHC and packages outside of a project, consider using:
stack ghc, stack ghci, stack runghc, or stack exec

Technical details

System:

-> % lsb_release -a
No LSB modules are available.
Distributor ID: BunsenLabs
Description:    BunsenLabs GNU/Linux 8.6 (Hydrogen)
Release:        8.6
Codename:       bunsen-hydrogen

It's Debian Jessie basically

Nix version:

-> % nix-env --version
nix-env (Nix) 1.11.5

Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion)

-> % nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion
"17.03pre98398.7215118"

Apparently, your host system lacks libgmp:
ld: cannot find -lgmp

The library is available in the Nix shell environment because Nix provides it, but outside of the Nix the library is missing, apparently.

But my stack executable comes from Nix:
-> % readlink -f $(which stack)
/nix/store/ic8kcv1sanm922h9xq75x52p51gqm0i5-stack-1.3.2/bin/stack

And as you can see from the original traceback, my ld executable comes from Nix too, and I have libgmp installed in Nix.
I guess my real question is: given that I can get gmp inside a Nix-shell, how can I make the same resource available to tools I use under Nix, without being inside a Nix-shell.

my ld executable comes from Nix too, and I have libgmp installed in Nix.

There is not such thing as installing something "in Nix". The Nix ld has no default paths whatsoever. If you want it to find libgmp, then you'll have to tell it (or rather, tell stack) where to look for it.

how can I make the same resource available to tools I use under Nix, without being inside a Nix-shell.

You have to configure appropriate search paths, i.e. those that nix-shell configures for you when running inside of it.

That makes perfect sense. Sometimes I forget that Nix isn't all encompassing magic. However, might it make sense for me to try to augment the nix expression for stack so that it is able to find libs installed by Nix on which it depends? I'm not sure how to do that (yet), but am willing to give it a whirl.
Or would it make more sense to try to add ~/.nix-profile/lib to something like $LD_LIBRARY_PATH in my profile?
I guess if I got desperate I could sudo aptitude install libgmp-dev on Debian, but that feels like a cop out.

There's at least a dozen different way to accomplish what you want. I'll just mention the simplest solutions to get you started. First, determine the paths to libgmp:
$ gmplib=$(nix-build --no-out-link "<nixpkgs>" -A gmp.out)/lib
$ gmpinc=$(nix-build --no-out-link "<nixpkgs>" -A gmp.dev)/include

Now, run stack with the arguments --extra-include-dirs=$gmpinc --extra-lib-dirs=$gmplib. Or configure those paths in ~/.stack/config.yaml globally so that don't have to bother typing them on the command line. Alternatively, install libgmp into a nix-env user profile, like
$ nix-env -p /nix/var/nix/profiles/$USER/libgmp -f "<nixpkgs>" -iA gmp

..., and use the paths /nix/var/nix/profiles/$USER/libgmp/{include,lib} instead, which have advantage that they remain valid after after you've update to a new library version, i.e. by running:
$ nix-env -p /nix/var/nix/profiles/$USER/libgmp -f "<nixpkgs>" -u

Last but not least, it's probably a bad idea to use stack setup at all when you have Nix available and chances are that you'll be much better off with stack's Nix support, i.e. by specifying the --nix flag.

Thanks for the awesome advice! I'll try out some of those options and see how I do.

Thanks @peti. I didn't even realize stack had a --nix suite of flags!


[FEATURE] Bump harvester go dependecy to 1.16

Is your feature request related to a problem? Please describe.
Bump Harvester go dependency to 1.16 to make it consistent with Rancher 2.6
Describe the solution you'd like
Bump Harvester go dependency to 1.16

close in favor of https://github.com/harvester/harvester/pull/918


Revert "Revert "Publish Package Metadata<EMAIL_ADDRESS>

Reverts pulumi/registry#1953

the package repo needs docs before we can merge this

Added the docs to the OG repo, do we still need to rollback @susanev?


Dependency failing in GitHub due to bintray.com turn down

Most GitHub actions are failing, looks like bintray.com is expected by a dependency and that site has been turned down it seems
https://stackoverflow.com/questions/70677130/bintray-502-bad-gateway-in-android-studio
[warn] 	Note: Unresolved dependencies path:
Error:  sbt.librarymanagement.ResolveException: Error downloading org.webjars.npm:mime-db:[1.52.0]
Error:    No version found for [1.52.0,1.52.0] in
Error:    No version found for [1.52.0,1.52.0] in
Error:    not found: /root/.ivy2/localorg.webjars.npm/mime-db
Error:    No version found for [1.52.0,1.52.0] in https://repo1.maven.org/maven2/org/webjars/npm/mime-db/maven-metadata.xml
Error:    download error: Caught java.io.IOException (Server returned HTTP response code: 502 for URL: https://dl.bintray.com/webjars/maven/org/webjars/npm/mime-db/maven-metadata.xml) while downloading https://dl.bintray.com/webjars/maven/org/webjars/npm/mime-db/maven-metadata.xml
Error:    not found: https://build.shibboleth.net/nexus/content/groups/public/org/webjars/npm/mime-db/maven-metadata.xml
Error:  	at lmcoursier.CoursierDependencyResolution.unresolvedWarningOrThrow(CoursierDependencyResolution.scala:345)
Error:  	at lmcoursier.CoursierDependencyResolution.$anonfun$update$38(CoursierDependencyResolution.scala:314)
Error:  	at scala.util.Either$LeftProjection.map(Either.scala:[57](https://github.com/seattle-uat/civiform/runs/5807765913?check_suite_focus=true#step:5:57)3)
Error:  	at lmcoursier.CoursierDependencyResolution.update(CoursierDependencyResolution.scala:314)
Error:  	at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:60)
Error:  	at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:[59](https://github.com/seattle-uat/civiform/runs/5807765913?check_suite_focus=true#step:5:59))
Error:  	at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:133)
Error:  	at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:73)
Error:  	at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$20(LibraryManagement.scala:146)
Error:  	at scala.util.control.Exception$Catch.apply(Exception.scala:228)
Error:  	at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:146)
Error:  	at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:127)
Error:  	at sbt.util.Tracked$.$anonfun$inputChangedW$1(Tracked.scala:219)
Error:  	at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:1[60](https://github.com/seattle-uat/civiform/runs/5807765913?check_suite_focus=true#step:5:60))
Error:  	at sbt.Classpaths$.$anonfun$updateTask0$1(Defaults.scala:3690)
Error:  	at scala.Function1.$anonfun$compose$1(Function1.scala:49)
Error:  	at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
Error:  	at sbt.std.Transform$$anon$4.work(Transform.scala:68)
Error:  	at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
Error:  	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
Error:  	at sbt.Execute.work(Execute.scala:291)
Error:  	at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
Error:  	at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
Error:  	at sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
Error:  	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
Error:  	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
Error:  	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
Error:  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
Error:  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Error:  	at java.base/java.lang.Thread.run(Thread.java:834)
Error:  (update) sbt.librarymanagement.ResolveException: Error downloading org.webjars.npm:mime-db:[1.52.0]
Error:    No version found for [1.52.0,1.52.0] in
Error:    No version found for [1.52.0,1.52.0] in
Error:    not found: /root/.ivy2/localorg.webjars.npm/mime-db
Error:    No version found for [1.52.0,1.52.0] in https://repo1.maven.org/maven2/org/webjars/npm/mime-db/maven-metadata.xml
Error:    download error: Caught java.io.IOException (Server returned HTTP response code: 502 for URL: https://dl.bintray.com/webjars/maven/org/webjars/npm/mime-db/maven-metadata.xml) while downloading https://dl.bintray.com/webjars/maven/org/webjars/npm/mime-db/maven-metadata.xml
Error:    not found: https://build.shibboleth.net/nexus/content/groups/public/org/webjars/npm/mime-db/maven-metadata.xml
Error:  Total time: 25 s, completed Apr 3, 2022, 7:53:00 PM
Error: Process completed with exit code 1.

Susan and I paired on this.
The cause and therefor resolution was inconclusive but it seems to have passed.
Between us, Gwen and Swathi; only me and GitHub actively showed the issue.
Shane: I was only able to repo in a single local repo.  Checking the repo out in a new location did not have the issue. I was able to resolve the issue seemingly my removing my ~/.ivy directory.   Oddly moving it back did not recreate the problem.  I'm passed it seemingly
GityHub: GH started inconsistently showing the issue.  I reran the prechecks on various PRs, some gave the issue others did not, and it seems like they're passing now consistently.
One outstanding thought we had but can't speak towards yet, is if somehow my local corrupted state pushed something to DockerHub/etc that the GitHub system then picked up.

we can probably schedule this for a future fix it week; maybe need to somehow host the dependencies. could also check the github issues, discord, and ask around to see if this is solved elsewhere


Fix RemoteHelper url on Readme

Old way of referencing the url didn't work and would point to an invalid
address instead:
https://github.com/RemoteHelper/client-mock-node/blob/master/remote-helper

Thanks for pointing it out; I fixed the links in a different way in order to keep the link definition at the bottom.


Comments panel: css issue causing the position of "Ln" to be shifted

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

VS Code Version: 1.69.1

In the Comments panel, the position of the [Ln] is sometimes shifted:

This happens when a comment has multiple lines. In the DOM, the div contains the full comment, even though only the first line is displayed. If a line within the comment is longer than the first line, the div will be larger, causing the issue visible in the screenshot.
I've reproduced the issue on github.dev with the GitHub comments.
cc @hermannloose @alexr00

Tried to repro with a multiline comment and didn't see any shifting.


Code format

[x] Choose clang-format version and define a .clang-formatconfiguration file [S & B]
[x] Enforce the new format [D]
[ ] Coding style guidelines [S]

Only guidelines are missing now.

It would be cool if there was a way to automatically generate some from the clang format

No, guidelines are different, these include naming convention for instance.

Ah ok - I will work on that. Perhaps a page for ReadTheDocs?

Exactly.

This not highest priority though so I'm not opposed to put it in the backlog.


Option to disable comments manually

Add ability to disable or enable comments (#55).

I've merged your branch into the master by mistake. Reverted it back now, sorry.


NullReferenceException in FarseerDuality when spliting up a Shape with the CuttingTools

I tried to split up a shape of a Rigidbody with the "CuttingToools" from  Farseer.
As soon as I split it up, I've got this NullReferenceException:
[Edit] Error:   An error occurred: NullReferenceException: Object reference not set to an instance of an object.
CallStack:
   at FarseerPhysics.Dynamics.World.ProcessRemovedBodies() in c:\Stuff\svn\Projects\AdamsLair.FarseerDuality\Dynamics\World.cs:line 610
   at FarseerPhysics.Dynamics.World.ProcessChanges() in c:\Stuff\svn\Projects\AdamsLair.FarseerDuality\Dynamics\World.cs:line 411
   at FarseerPhysics.Dynamics.World.Step(Single dt) in c:\Stuff\svn\Projects\AdamsLair.FarseerDuality\Dynamics\World.cs:line 639
   at Duality.Resources.Scene.<Update>b__8() in c:\projects\duality\Duality\Resources\Scene.cs:line 473
   at Duality.DualityApp.EditorGuard(Action action) in c:\projects\duality\Duality\DualityApp.cs:line 983

My code:
if (keyboard.KeyHit(Key.B))
{
	var world = Scene.PhysicsWorld;
	CuttingTools.Cut(world, mousePosition.Xy, Vector2.Zero, 2f);
}

Using non-exposed Farseer API directly is currently not supported in Duality - when possible, try to stick to what you can do using Duality RigidBodies and Shapes directly.
However, it won't hurt to investigate this. Keeping it open, but low-prio for now.


Created a new handler that supports snpp to send sms text messages

Anyone feel free to review my code and propose changes.

@jsfrerot  Could you please take a look at the Travis output.
Thanks!


Report about the nginx ingress controller in the SLA reporting dashboard

Atlas recently added a new dashboard to report about our SLAs in this PR https://github.com/giantswarm/dashboards/pull/433/files.
We have SLAs on nginx and those should be added to this dashboard.
What we would like is for you to create a slo using sloth the expose the availability of the public nginx ingress controller that is optionally deployed in the clusters.
Here is an example of an slo alert https://github.com/giantswarm/sloth-rules/blob/5a0ee4a6c65dfdd849d197cd3b873d8fa342dec4/areas/kaas/teams/phoenix/apiserver/slos/availability.yaml
Feel free to ask @giantswarm/team-atlas for help to create the SLO rule and alert and to integrate the data in the dashboard

@QuentinBisson I understood that this is not urgent and that's why it is living in our backlog at the moment without a clear ETA. Let me know if there is some urgency from atlas to get this done, so that we can rearrange in cabbage.

Coming from the umbrella issue I thought it was quite important for customers https://github.com/giantswarm/roadmap/issues/3228#issuecomment-1960945105 :D

@LolloneS any thoughts on the matter?

What we would like is for you to create a slo using sloth the expose the availability of the public nginx ingress controller that is optionally deployed in the clusters.

I think we need to get this a bit more clear before proceeding: What does availability mean for our customers?
Let's say we used the nginx_ingress_controller_requests metric, that'd actually say nothing about nginx but rather about the workload. Any other metric showing the "controller" health (like admission) might look ok, but it may not have enough samples to provide any useful information and it doesn't actually show that nginx works.
There is then, the "latency" aspect of the availability. What value is considered fast enough to pass the availability check?

I think this should be about our availability not the one from the customer though

As a customer, I want to be able to see the availability of the important kubernetes components and check if they are respecting the agreed SLAs.

I'm taking this from the main ticket. I don't think there is a correct definition of what we need to do here.

What is the agreed SLA? For which SLI?
availability is too broad

maybe @LolloneS can help us here.
Also, the dashboard is SLO Reporting on Grafana, right? Are you going to make it public at some point?

It is currently private but yes it will be public once all cabbage SLOs are there.
I agree that this is too broad and you need to define what the availability is . The agreed SLA  in the contracts is  of 99.5 availability but then we should be the one to decide what we mean with availability

@mcharriere I think that, as always, we should start with something simple and then iterate on it.

the agreed SLA is 99.95% IIRC
availability in this case refers to the Nginx deployment actually being up&running and serving requests. a ping once a minute to a dummy Ingress is all we need

availability in this case refers to the Nginx deployment actually being up&running and serving requests. a ping once a minute to a dummy Ingress is all we need

I see. I added this to refinement to discuss our options.
At first glance, I don't think we have the infrastructure to generate synthetic traffic from outside the cluster, but maybe from the inside is enough.

I think we should bé able to use the blackbox exporter or a prometheus operator probe from thé MC though

As we recently learned in SIG arch, that's not always guaranteed. For example, let's take the case of a public installation, where the MC probes both the public and the private ingress controller running on the WC.
The public ingress will work fine, but the private ingress will fail. And vice versa.

Also, a dummy ingress means that the unavailability of that backend counts for the SLA. Also, we could probably use the default-backend so there is no need for an App on its own.

To try to avoid all this MC/WC connectivity issues, I'd say we start with in-cluster traffic alone.
We could change net-exporter to query some predefined ingresses pointing to the default-backend.

We decided for the first iteration to go with a solution confined to net-exporter, where we expose a /healthz endpoint and install N ingresses; where should be check every some customizable interval.

We'll report the SLO based on those metrics.

Things we agreed on in Slack:

net-exporter deploys ingress with the helm chart (configurable) - UX-wise it isn't great because we'll need to have that configured in separate app, after (internal) ingress, or kong is installed
net-exporter exposes the metric and pings itself in the exporter

exporterkit PR enabling exposing extra /blackbox endpoint in net-exporter https://github.com/giantswarm/exporterkit/pull/95 (details in the PR description)

Feels like everything is done on our side. We have:

https://github.com/giantswarm/ingress-sla-app with requirements PR to be merged
(our dependency) net-exporter is released and all default-apps-* received updates (but they are not released yet), we'll need to wait for the releases and then update the requirements
SLO rules are merged https://github.com/giantswarm/sloth-rules/pull/179 - I think it's for Team Atlas to release and update dashboards

The small thing that's left is ops recipe, but PRs are open.
I'd like to create a small follow up issue with those tasks:

revisit https://github.com/giantswarm/sloth-rules/pull/179 PR and set cancel_if_outside_working_hours: '{{ include "workingHoursOnly" . }}'
update ingress-sla-app requirements PR with the actual versions when default-apps-<provider> is released

And close this.  @QuentinBisson WDYT?

Did you add the app to the cluster default apps ? I think the PR is missing here unless I'm mistaken but then you should be done and I can take over and add the recording rules to the sla dashboard

@QuentinBisson that should get you a EKS cluster with everything setup:
---
apiVersion: v1
data:
  values: |
    global:
      metadata:
        name: quentin1ove
        organization: pawel
kind: ConfigMap
metadata:
  creationTimestamp: null
  labels:
    giantswarm.io/cluster: quentin1ove
  name: quentin1ove-userconfig
  namespace: org-pawel
---
apiVersion: application.giantswarm.io/v1alpha1
kind: App
metadata:
  labels:
    app-operator.giantswarm.io/version: 0.0.0
  name: quentin1ove
  namespace: org-pawel
spec:
  catalog: cluster
  config:
    configMap:
      name: ""
      namespace: ""
    secret:
      name: ""
      namespace: ""
  kubeConfig:
    context:
      name: ""
    inCluster: true
    secret:
      name: ""
      namespace: ""
  name: cluster-eks
  namespace: org-pawel
  userConfig:
    configMap:
      name: quentin1ove-userconfig
      namespace: org-pawel
  version: 0.16.0
---
apiVersion: v1
data:
  values: |
    clusterName: quentin1ove
    organization: pawel
kind: ConfigMap
metadata:
  creationTimestamp: null
  labels:
    giantswarm.io/cluster: quentin1ove
  name: quentin1ove-default-apps-userconfig
  namespace: org-pawel
---
apiVersion: application.giantswarm.io/v1alpha1
kind: App
metadata:
  labels:
    app-operator.giantswarm.io/version: 0.0.0
    giantswarm.io/cluster: quentin1ove
    giantswarm.io/managed-by: cluster
  name: quentin1ove-default-apps
  namespace: org-pawel
spec:
  catalog: cluster-test
  config:
    configMap:
      name: quentin1ove-cluster-values
      namespace: org-pawel
    secret:
      name: ""
      namespace: ""
  kubeConfig:
    context:
      name: ""
    inCluster: true
    secret:
      name: ""
      namespace: ""
  name: default-apps-eks
  namespace: org-pawel
  userConfig:
    configMap:
      name: quentin1ove-default-apps-userconfig
      namespace: org-pawel
  version: 0.8.0-6d1f44cbde2f5dcecbdc7912d81dfdd57595e21f
---
apiVersion: application.giantswarm.io/v1alpha1
kind: App
metadata:
  labels:
    app-operator.giantswarm.io/version: 0.0.0
    giantswarm.io/cluster: quentin1ove
    giantswarm.io/managed-by: cluster
  name: quentin1ove-ingress-nginx
  namespace: org-pawel
spec:
  catalog: giantswarm
  config:
    configMap:
      name: quentin1ove-cluster-values
      namespace: org-pawel
  kubeConfig:
    context:
      name: quentin1ove-admin@quentin1ove
    inCluster: false
    secret:
      name: quentin1ove-kubeconfig
      namespace: org-pawel
  name: ingress-nginx
  namespace: kube-system
  version: 3.6.0
---
apiVersion: application.giantswarm.io/v1alpha1
kind: App
metadata:
  labels:
    app-operator.giantswarm.io/version: 0.0.0
    giantswarm.io/cluster: quentin1ove
    giantswarm.io/managed-by: cluster
  name: quentin1ove-prometheus-blackbox-exporter
  namespace: org-pawel
spec:
  catalog: default
  config:
    configMap:
      name: quentin1ove-cluster-values
      namespace: org-pawel
  kubeConfig:
    context:
      name: quentin1ove-admin@quentin1ove
    inCluster: false
    secret:
      name: quentin1ove-kubeconfig
      namespace: org-pawel
  name: prometheus-blackbox-exporter
  namespace: kube-system
  version: 0.4.1
---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    giantswarm.io/cluster: quentin1ove
  name: quentin1ove-ingress-sla-userconfig
  namespace: org-pawel
data:
  values: |
    global:
      ingressSLA:
        checks:
          - ingressClass: nginx
---
apiVersion: application.giantswarm.io/v1alpha1
kind: App
metadata:
  labels:
    app-operator.giantswarm.io/version: 0.0.0
    giantswarm.io/cluster: quentin1ove
    giantswarm.io/managed-by: cluster
  name: quentin1ove-ingress-sla
  namespace: org-pawel
spec:
  catalog: giantswarm
  config:
    configMap:
      name: quentin1ove-cluster-values
      namespace: org-pawel
  userConfig:
    configMap:
      name: quentin1ove-ingress-sla-userconfig
      namespace: org-pawel
  kubeConfig:
    context:
      name: quentin1ove-admin@quentin1ove
    inCluster: false
    secret:
      name: quentin1ove-kubeconfig
      namespace: org-pawel
  name: ingress-sla
  namespace: kube-system
  version: 0.2.0

Thanks here you go https://github.com/giantswarm/dashboards/pull/548

Dashboard changes is being released

So I think we should be able to close once the ops-recipe PR is merged :)

Awesome work Cabbage

Follow up issue https://github.com/giantswarm/giantswarm/issues/30925. Closing.


Doesn’t work with new Open API stuff in ASP.NET Core 9

Is there an existing issue for this?

[x] I have searched the existing issues

Describe the bug
Is there a way to make this work for Minimal API Endpoints in .NET 9?
Routes not showing up in generated spec.
I’m switching from NSwag.
Expected Behavior
Routes showing up in Open API spec.
Steps To Reproduce
No response
Exceptions (if any)
No response
.NET Version
9.0.0-RC
Anything else?
No response

I'll need some additional information. "It doesn't work" doesn't provide much context. What is your setup? Is there a repro?
The OpenAPI Minimal API example should show everything you need to get things started with Minimal APIs and OpenAPI.
I should also point out that .NET 9 is not yet officially supported because it is not released. A TFM mapping is only guaranteed to work with an exact match (e.g. net8.0 → .NET 8). This is because of a runtime major version bump. Even if things compile, there can be runtime behavioral differences. I've seen it happen. As an army of one, it's difficult to chase pre-releases. It's rare for me to release a version for a pre-release version of .NET. It isn't as trivial as some might think. Nevertheless, the official release is nearing and I intend to get something aligned to that ASAP.
If the provided example is insufficient, I should point out Microsoft's eShop application for Aspire uses Minimal APIs, OpenAPI, and API Versioning. I collaborated with them on adding it. They appear to have it working without issue. You might want to review that setup (see: here)

@commonsensesoftware Excuse me. I was kind of desperate. But it seems that the sample might give me a solution.
Thanks.


Loading custom images for layers.

Utilizing the same layer preparation as mapbox-gl can you add an image for reference for an IconLayer other than an icon atlas  or a URL reference in each object?
i.e. ---
map.addImage(id, "http://some.com/image.png");

map.addLayer({
                            id: id,
                            interactive: true,
                            type: 'symbol',
                            source: {
                                ---brevity---
                            },
                            layout: {
                                'icon-image': id
                            }
                        });

I can't have an icon atlas for the dynamic images that i am using and the url reference will fetch for every object in the layer it seems like.  Is there a different way to do what I am trying to do where I can preload an image for reference and map handles it?

My understanding is that icon atlas is a known set of glyphs/sprites like sprite sheets used in games.  I do not know the icons before hand, so I am unable to create an icon atlas.
The out of the box API for mapbox-gl allows me to create an in memory mapped lookup on the fly for any images I want to use in a layer.
I understand Icon Layer can do this with icon urls, but it seems like it is making a url request for every feature in the layer.
Is there something I am missing

My understanding is that icon atlas is a known set of glyphs/sprites like sprite sheets used in games. I do not know the icons before hand, so I am unable to create an icon atlas.

Your understanding about icon atlas is correct.
If you do not know image urls beforehand, IconLayer allows you pass in the url for each feature/data point. check Example: auto packing iconAtlas

The out of the box API for mapbox-gl allows me to create an in memory mapped lookup on the fly for any images I want to use in a layer.

IconLayer provides 2 options now,

If you know the shared IconAtlas beforehand, pass in IconAtlas (image url or texture) and IconMapping (like a icon look up table)

If you do not know the icons you are going to use, then your getIcon property need provide instructions about how to get these icons. Then the IconLayer will do the work of fetching icons and creating shared IconAtlas and IconMapping.

IconLayer({
  data,
  getIcon: d => ({
    url: d.some_url,
    width: 128,
    height: 128,
    anchorY: 128,
    mask: true
  }),
  ...
})

I understand Icon Layer can do this with icon urls, but it seems like it is making a url request for every feature in the layer.

If your data and getIcon provided icon urls, IconLayer will extract all the unique urls from your data and fetch them, but IconLayer will not make duplicate calls for the same url.
Let me know if I misunderstood your questions.

Looks like that answered my concerns.  Maybe I am coding up the getIcon function wrong.  I’ll take another look.


Fix memory leak in XGDMatrixCreateFromMat_omp()

This replaces the array allocated by new with a std::vector.
Fixes #3161

Thanks for addressing this. Can you please change from vector to vector.
It is actually unsafe for multiple threads to write to vector because internally it uses a bit packed representation.
vector is generally regarded as a bit of a mistake in the standard library and should often be avoided.

Interesting. Thanks for the tip! I don't work with C++ very much and had no idea about that.

Codecov Report

Merging #3182 into master will decrease coverage by 0.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #3182      +/-   ##
============================================
- Coverage     45.29%   45.27%   -0.02%
  Complexity      228      228
============================================
  Files           166      166
  Lines         12901    12900       -1
  Branches        466      466
============================================
- Hits           5844     5841       -3
- Misses         6865     6867       +2
  Partials        192      192

Impacted Files
Coverage Δ
Complexity Δ

src/c_api/c_api.cc
18.65% <100%> (-0.18%)
0 <0> (ø)

python-package/xgboost/libpath.py
62.5% <0%> (-8.34%)
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 cdc036b...4cf9834. Read the comment docs.


Empty Dataframe

I'm getting empty dataframes.
from pandas_datareader import data as pdr
import fix_yahoo_finance
import datetime

df = pdr.get_data_yahoo(
    tickers = 'COT',
    start   = datetime.date(2017, 6, 4),
    end     = datetime.date(2017, 6, 21)
)

df

But there is data on Yahoo:
https://finance.yahoo.com/quote/COT/history?p=COT

Try upgrading to v 0.0.18 and try again
Upgrade using:
$ pip install fix_yahoo_finance --upgrade --no-cache-dir

I am getting the same issue(s) today. SPY/BABA/QIHU etc. some work but the vast majority break

I updated to version 0.0.18.
Still approximately every third request returns an empty dataframe only.
I really doubt, that this is a Yahoo error.

Hum...after about the third request every data frame is empty....

yes^. as a temp fix I wrapped any calls with the retry package which seems to generally work although am usually throttled after 20-30 requests.

Oh blimey a valiant effort but that makes life very inconvenient.....

Logically the code makes sense I really feel as if yahoo may refresh tokens or blacklist requests quickly? I changed the code a bit to get a new token per response vs per session as it was written. That seems to work for a bit after which it breaks/is throttled
Sent from my iPhone

On Jul 14, 2017, at 11:53 AM, AnthonyFJGarner<EMAIL_ADDRESS>wrote:
Oh blimey a valiant effort but that makes life very inconvenient.....
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Quandl US stock data is pretty cheap. Trouble is if course yahoo also provides FX, indices and mutual funds. And its coverage is worldwide. But I guess I may have to swallow the cost and buy it all.

Gentlemen, god knows why but my downloads are now working a dream. No empty frames. Sample FX code attached in case it is of any use to anybody. A big thanks to ranourussi for this fix. Hope it isn't TOO temporary
`def fix_yahoo_FX(ticker_list, target_directory, start=None, end=None, source='yahoo',
forward_fill=True):
f = open(ticker_list)
csv_f = csv.reader(f)
next(csv_f)
if start is None:
start = datetime.date(1980, 1, 1)
if end is None:
end = datetime.date.today()
for row in csv_f:
    try:
        ticker = row[3]
        direction = int(row[4])
        col_name = row[1]
        filename = (target_directory + col_name + '.csv')
        if not os.path.isfile(filename):
            df = yf.download(ticker, start, end)
            if forward_fill is True:
                df = df.fillna(method='ffill')

            cols = [0, 1, 2, 3, 5]
            df.drop(df.columns[cols], axis=1, inplace=True)
            df.columns = [col_name]
            df.index.name = 'Date'
            df.to_csv(filename)
        else:
            old_file = pd.read_csv(filename, parse_dates=True, index_col=0)
            newstart = (pd.Series(old_file.index).iloc[-1]).to_datetime()
            df = yf.download(ticker, newstart, end)
            cols = [0, 1, 2, 3, 5]
            df.drop(df.columns[cols], axis=1, inplace=True)
            if forward_fill is True:
                df = df.fillna(method='ffill')
            else:
                pass
            df.columns = [col_name]
            df.index.name = 'Date'
            df.drop(df.head(1).index, inplace=True)
            df.to_csv(filename, mode='a', header=False)
    except CParserError:
        logger.fatal('Failed to update' + " " + ticker)
        logger.fatal(traceback.format_exc())
        pass
f.close()`

i'm still getting empty data frames too regardless of if I try to get data for only 5 to 10 tickers for 5-10 years. mydata = yf.download(count[0:11], start="2000-01-01", end="2017-07-27")

Same here again. I extented the piece of code, listed above, and tested it with Python 2 and Python 3.6 .
Result: Lots of empty dataframes. The first ticker was ok, next tickers delivered always empty dataframes.
I am sorry, but the fix_yahoo_finance package is, in my eyes, completely unreliable.
And I doubt, that Yahoo is the problem, because in my Wealthlab-Software the Yahoo-data-provider has been working again for weeks now.
In comparison, the tiingo- and quandl- API do work flawlessly with my code.
Drawback: Accessing more than 500 tickers costs money with tiingo.

Honestly just pay 5/mo or whatever it is and use tiingo api it is much faster and way more reliable in my experience!
Sent from Mail for Windows 10
From: renium
Sent: Thursday, July 27, 2017 6:16 AM
To: ranaroussi/fix-yahoo-finance
Cc: Maximus; Comment
Subject: Re: [ranaroussi/fix-yahoo-finance] Empty Dataframe (#22)
Same here again. I extented the piece of code, listed above, and tested it with Python 2 and Python 3.6 .
Result: Lots of empty dataframes. The first ticker was ok, next tickers delivered always empty dataframes.
I am sorry, but the fix_yahoo_finance package is, in my eyes, completely unreliable.
And I doubt, that Yahoo is the problem, because in my Wealthlab-Software the Yahoo-data-provider has been working again for weeks now.
In comparison, the tiingo- and quandl- API do work flawlessly with my code.
Drawback: Accessing more than 500 tickers costs money with tiingo.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

tiingo doesn't, afaik, have the UK data.
The first few runs today of yf.download returned empty frames, but after that it started working again.
(I always pickle my returned data to avoid hitting yahoo too hard.)

I downloaded sp500 stock data from yahoo using pdr.get_data_yahoo. Many successes, but some empty dataframes. Here are tickers with empty dataframes, but not all:
(ticker != 'BHGE') and (ticker != 'SRCL') and (ticker != 'SYK') and (ticker != 'STI') and (ticker != 'SYMC') and (ticker != 'SYF') and (ticker != 'SNPS') and (ticker != 'SYY') and (ticker != 'TROW') and (ticker != 'TGT') and (ticker != 'TEL') and (ticker != 'FTI') and (ticker != 'TXN') and (ticker != 'TXT') and (ticker != 'UA')
Please help.

@SungchuLee I think I've experienced a similar issue to what you have described I've been able to get most of the data just using short bursts of 100-200 stocks at a time. My time frame has been the last 30 years and only some failed. The issue may be not allowing enough time between your requests as well as the time frame you try and grab data for.

@yoshiserry Following your advice, I added a line "time.sleep(1)" between the downloads and I've been able to get most of the data. Many thanks. Still some failed for new-born babies.

I experimented with times after finding one second too short. I used what other people reported on this issue between 45 or 60 seconds

@yoshiserry Following your advice, I added a line "time.sleep(60)" between the downloads and I've been able to get most of the data. Many thanks. Still some fails.
Previous failed list (not all) without time.sleep:
(ticker = 'BHGE') and (ticker = 'SRCL') and (ticker = 'SYK') and (ticker = 'STI') and (ticker = 'SYMC') and (ticker = 'SYF') and (ticker = 'SNPS') and (ticker = 'SYY') and (ticker = 'TROW') and (ticker = 'TGT') and (ticker = 'TEL') and (ticker = 'FTI') and (ticker = 'TXN') and (ticker = 'TXT') and (ticker = 'UA')
Failed list (not all) with time.sleep(60):
(ticker = 'BHGE') and (ticker = 'SRCL') and (ticker = 'SYK') and (ticker = 'STI')


Play/Pause not working

I just managed to muddle my way through installing this integration and I'm SO thankful you made it!
Sadly the one thing I wanted it for is the one thing not working, play/pause.
I have a full sized Yoto player (3rd gen I believe). Logging in and adding the device all worked perfectly and I see a bunch of sensors reporting correctly.
And side note, can play & pause be used separately? So you know you are pausing somehow?
Thanks!

Your right looks like I have a bug in that.  I have been working on play pause last day or two. My underlying api works though so I should be able to get this fixed shortly.

Okay should be fixed now.  I also encourage you to install this via HACS so that you get prompted for auto updates.  I have added a bit to the readme on this.
Play / pause works separately after the update comes in. Currently that only comes every 30 minutes.  On my to do list is to fix that here: https://github.com/cdnninja/yoto_ha/issues/31
If you go to the developer menu and run the yoto update

It will force it to update, not good practice but shows what it should look like without waiting 30 minutes.  I plan to work on dialing in data update speed now since I think that is important for this to be useful.

Oh amazing thanks, working through that readme now!
To be fair I'm pretty sure I tried the steps you've described and it didn't "find" it before. So not sure what's different now :/

Ok installed via HACS, worked fine pasting in the github link this time.
Re-added the integration and signed in all fine, but yet the play/pause button still isn't triggering...

Oh the play/pause wasn't working in the actual device page, but calling the service "pause" does! :D

Right now the button starts as play pause.   After it scans and sees it's currently playing it switches to a pause button that works.
Home assistant just doesn't know the status on startup.  Once I fix real time updates that will go away.

Closing as real time display is tracked in #31

Real time updates are working now so play pause feels responsive now.  Only master branch not a release just yet.


JBDS-4439 Detect free space available on disk for macOS

Codecov Report

Merging #746 into master will decrease coverage by 0.72%.
The diff coverage is 34.61%.

@@            Coverage Diff             @@
##           master     #746      +/-   ##
==========================================
- Coverage   98.56%   97.84%   -0.73%
==========================================
  Files          31       31
  Lines        2647     2826     +179
  Branches      227      407     +180
==========================================
+ Hits         2609     2765     +156
- Misses         38       49      +11
- Partials        0       12      +12

Impacted Files
Coverage Δ

browser/services/platform.js
92.01% <34.61%> (-7.99%)
:arrow_down:

browser/pages/confirm/controller.js
91.8% <0%> (-2.02%)
:arrow_down:

browser/model/jbosseap.js
96.9% <0%> (-2.01%)
:arrow_down:

browser/model/helpers/downloader.js
96.94% <0%> (-1.52%)
:arrow_down:

browser/services/componentLoader.js
98.78% <0%> (-1.22%)
:arrow_down:

browser/model/jdk-install.js
98.26% <0%> (-0.54%)
:arrow_down:

browser/directives/pathValidator.js
100% <0%> (ø)
:arrow_up:

browser/pages/location/controller.js
100% <0%> (ø)
:arrow_up:

browser/model/helpers/util.js
100% <0%> (ø)
:arrow_up:

browser/services/request.js
100% <0%> (ø)
:arrow_up:

... and 18 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 d3e5ada...88a207e. Read the comment docs.

test this

test this

test this


deps: Upgrade to latest version of emoji dependency

To add support for new emojis in Hugo, we need to upgrade our internal
dependency on the emoji package.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Sorry, I fast a little bit fast merging this. I had to revert this due to related test failures. Could you create another one and run the tests?


docs: update link text

This pr updates the link text NavigationActions to CommonActions in TabActions to be consistent across other Action page. StackActions and DrawerActions has the same content with CommonActions as link text.

Hi @mdneyazahmad , thanks for this. However, as this bug is also present in version 5.x, do you mind adding the fix for that to this PR? I will be happy to take a look


Fix some typo

This pull request fixes some typo but I'm not sure whether they are all typo or not.

300e836bdfd71d9c52b3445ce3298850b198915e: When I look around vocabulary definitions (yaml files), .url property seems valid url with anchor. But the .url property in endpoints.yaml wasn't valid because there is no Endpoints anchor. There was endpoints instead (lowercase).
1d6037854afc95f938c5f3967bb939be9350d129: While reading CONTRIBUTING.md, there was the part, the he issue. I felt the he word seems like a typo of the. And only one the word is needed, I removed it. If it is a English expression I didn't, please let me know. I'll drop the commit.

Amending defined Vocabulary API seems not allowed now 🤔
@dahlia How do you think about https://github.com/dahlia/fedify/commit/300e836bdfd71d9c52b3445ce3298850b198915e commit? Should it be amended like this pull request, or not? If it shouldn't be amended, I won't investigate for the script error.

Thanks for your contribution.


Index id in Partition instance is different from index id in OlapTable instance

I don't know why, but it happened.
It can only be recovered using very tricky code modification.
Add a issue here, in case it happen again.

It happened again....
After Master FE restart, some rollup lost in OlapTable's indexNameToId, but exist in partition

There is no drop/add rollup at that moment

The reason is that user renamed a table to an existing rollup index name, which should not be allowed.


fix spelling error in AccountSASPermissions.yml

docs
https://learn.microsoft.com/en-us/javascript/api/@azure/storage-blob/accountsaspermissions?view=azure-node-latest#properties
screenshot

@xirzec  will you release a new version after the fix, so that it can be reflected on the docs site ? Thanks


Update Gradle plugin to remove dependency on 'internal' module

Rationale
gradlePlugin v1.39 automatically adds a dependency on the internal module, which no longer exists as of LabKey 23.3
Related Pull Requests

https://github.com/LabKey/gradlePlugin/pull/166

Changes

Update gradle plugin to 1.40.0

On further consideration, this change should probably go in 23.3-SNAPSHOT


Target root OU using '/' instead of root OU id (eg. r-abc1)

At the moment when we want to move an account to the root OU we need to provide the root OU id. It would be easier if we can just provide a / to indicate we want to put something in root.

Implemented in release v0.0.6


WAKEWORD initiator is bad request and TAP initiator is OK

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:

Get bad request when communicating with AVS server using WAKEWORD initiator, but used TAP initiator is success.
Log information: avs.log
Thanks!
What is the expected behavior?

What behavior are you observing?

Provide the steps to reproduce the issue, if applicable:

Tell us about your environment:

What version of the AVS Device SDK are you using?
  <1.22.0>

Tell us what hardware you're using:

[ ] Desktop / Laptop
[x] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[x] Linux
[ ] MacOS
[ ] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Hi @BobXLiu, were there any changes made to the SDK or the wakeword adapter?  From the logs, I am seeing messages like this:
[Status]: RingBuffer rp wrapped(524160) count=336

I would like to suggest double checking if the data are being written to the AudioInputStream correctly.

Hi @kclchan, This issue has been resolved and the root cause is incorrect context content


Cluster Datastore unmarshalling bug on shrink operation

Do you want to request a feature or report a bug?
This is a bug in cluster/datastore that causes ACME's state to be unreadable/corrupted during cluster operations
What did you do?
Running Traefik in clustered mode with Consul as the ACME storage backend.
Ocasionally, we would see erratic behaviour that ended up with ACME registration/certificate issuance failing and being retried for no apparent good reason.
The issue ultimately bubbled up once we reached let's encrypt rate limts and were effetively dead in the water
What did you expect to see?
Stable state and no unnecessary ACME certificate reissuance attempts
What did you see instead?
Apart from the error logged below, we were effectively seeing very slow TLS initial negociation intermittently and sometimes TLS negociation failures. All consistent with Let's Encrypt re-issuance
Output of traefik version: (What version of Traefik are you using?)

Version:      v1.3.7
Codename:     raclette
Go version:   go1.8.3
Built:        2017-08-25_08:36:23PM
OS/Arch:      linux/amd64

# (paste your configuration here)

If applicable, please paste the log output in debug mode (--debug switch)
ERRO[2017-09-20T17:21:41Z] Error reloading: invalid character 'c' after top-level value
ERRO[2017-09-20T17:21:41Z] Error in watch datastore: invalid character 'c' after top-level value, retrying in 579.298905ms

Tracked down the issue to a very interesting case of unitialized memory, and my apologies if my go-foo isn't very good.
Reproducing the issue was a bit tricky but can actually be done relatively easily. I've been using the following approach, but I am sure there can be more succint ones.
Basically, if the ACME's stored config object in Consul shrinks in size, what comes back out from cluster/datastore.go still contains the trailing portion of the config object from before, i.e.
{ email<EMAIL_ADDRESS>}
 .. (after setting it to longer)
{ email<EMAIL_ADDRESS>}
... (after setting it back to short)
{ email<EMAIL_ADDRESS>}

My poor-man's reproduction test case was:
consulate kv set acme/object "$(cat big | base64)" ;
consulate kv set acme/lock $RANDOM;
sleep 1;
consulate kv set acme/object "$(cat small | base64)";
consulate kv set acme/lock $RANDOM

And I could trigger the bug every time.

I'd like to make a PR to fix this, having managed to track it down to staert's use of mitchellh/mapstructure without the ZeroFields:       true option.
However, I am not entirely certain I fully understand the ramifications of the possible fixes I've found, and I'd like some guidance/opinions.
Internally to traefik, we can fix it with
diff --git a/cluster/datastore.go b/cluster/datastore.go
index 538d70be..fe4cc617 100644
--- a/cluster/datastore.go
+++ b/cluster/datastore.go
@@ -121,13 +129,24 @@ func (d *Datastore) watchChanges() error {
 func (d *Datastore) reload() error {
        log.Debugf("Datastore reload")
        d.localLock.Lock()
+
+       // clear Object first, as mapstructure's decoder doesn't have ZeroFields set to true
+       d.meta.Object = d.meta.Object[:0]
+
+       //log.Debugf("Meta before %s", d.meta.Object)
+
        err := d.kv.LoadConfig(d.meta)

        if err != nil {
                d.localLock.Unlock()
                return err
        }
        err = d.meta.unmarshall()
        if err != nil {
                d.localLock.Unlock()
                return err
        }

Or what feels like a better fix to me, but lives in containous/staert would be like
diff --git a/vendor/github.com/containous/staert/kv.go b/vendor/github.com/containous/staert/kv.go
index 528f0a59..7d2a9841 100644
--- a/vendor/github.com/containous/staert/kv.go
+++ b/vendor/github.com/containous/staert/kv.go
@@ -52,6 +52,7 @@ func (kv *KvSource) LoadConfig(config interface{}) error {
        }
        // fmt.Printf("mapstruct : %#v\n", mapstruct)
        configDecoder := &mapstructure.DecoderConfig{
+               ZeroFields:       true,
                Metadata:         nil,
                Result:           config,
                WeaklyTypedInput: true,

But to summarize, cluster/datastore persists data to Consul on user's behalf, but when that data shrinks for whatever reason, it might fail to decode it back.
In our case, the culprit was failed ACME validation requests, that caused the ACME config to grow with the new cert then shrink back down once the validation request ultimately failed.

:clap: :clap: :clap: for this awesome and deep analyze !

@gozer Many thanks for this complete analyze!!!
The best thing to do is certainly opening a new PR on stært in the way to use the modified version in the next Træfik release.

@nmengin I've thought about this some more and I've opened the initial issue against staert, but it got me thinking, and maybe someone that knows how staert is used could shed some light.
I believe my suggested patch to staert  ZeroFields: true would have unintended consequences to staert's configuration merging between different backing stores, no?
I believe not having ZeroFields set is what allows staert to possibly merge bits of configuration from different sources into the same configuration object.
For instance, if I had in TOML { foo: { a: 123} } and in the KV { foo: { b: 456} }, wouldn't the expected final state for the object be { foo: { a: 123, b: 456 }} ?
With that patch, I believe only the last writer would win.
If that's the case, then, the correct solution would be to explicitely avoid that merging for just that one specific case of ACME's storage of a JSON string representation as an array of bytes[]
d.meta.Object = d.meta.Object[:0]

Or to be possibly cleaner and do something like the following pseudo-code:
func (d *Datastore) reload() error {
        d.localLock.Lock()

        newmeta := make(Metadata)

        err := d.kv.LoadConfig(newmeta)

        if err != nil {
                d.localLock.Unlock()
                return err
        }
        err = newmeta.unmarshall()

    if err != nil {
                d.localLock.Unlock()
                return err
        }
   // Swap in our new, valid, config object
    d.meta = newmeta

Closed by #2165.


Move to quarkus-reactive-routes

Depending on vertx-web is causing issues when building with Quarkus main
(Ecosystem CI) as it downloads old snapshots from our snapshots
repository.

Note that it will break compatibility with older versions of Quarkus.

If we don't want to do that right now, I have another option in the way in Ecosystem CI to properly deploy the relocations too.

Thanks.. I was going to get to this (and thought I had already fixed to remove vertx-web dependency.. ) but may have gotten lost w/ the other pile of things I was looking at.


Add different levels of comparison to equality methods of Person class #742

Fixes #742
Some changes to note:
In AddCommandSystemTest, line 120 was changed from assertCommandSuccess(CARL) to assertCommandSuccess(AMY)  to test for duplicate persons in the next few lines as the duplicate person tests require the default person to be used, which is either AMY or BOB.
While porting from se-edu/addressbook-level2#122, I realized only name and phone were checked. Since email is a unique identifier for a person as well, I added that to the equality method.

Also, as per the change in AB-Level2, we need to update Person#equals(Object) to verify tags as well?

Oh right. I'll do this in a new commit then.

@Zhiyuan-Amos, for the verifying of tags, it seems like it won't be possible to add this until #845 is merged. This is because in XmlSerializableAddressBookTest#toModelType_typicalPersonsFile_success the addressBookFromFile contains many contacts without tags while the persons in TypicalPersons are built with a default tag, friends. So in this case, I would have to add the friends tag to every person in typicalPersonsAddressBook.xml for the test case to pass, but that would rather unintuitive. So in that case, I'll just fix the current issues first and then after #845 is merged I'll add the verification for tags?

@vivekscl Yup, sounds good! :)

As mentioned in #855, we can use the other PersonBuilder constructor to write a more concise form for the duplicate tests here, which should also be much clearer to users what we are testing as well.

.As mentioned in #855, we can use the other PersonBuilder constructor to write a more concise form for the duplicate tests here, which should also be much clearer to users new developers what we are testing as well.
But since this refactoring is unrelated to this PR, we should do that in a separate PR?

Just noticed we should change the header comments for AddressBook too:
https://github.com/se-edu/addressbook-level4/blob/2f4405c75cd21111952565a9706a9793b475c41e/src/main/java/seedu/address/model/AddressBook.java#L21-L24
since we are using different comparison for Persons.

First time trying to comment on phone, seems like it doesn't work out quite well. You can see them if you click into the link to the file. Sorry about that!

Should we update the .equals method in PersonCardHandle to include checking of tags too:
https://github.com/se-edu/addressbook-level4/blob/a4ef5229e29bb1da91d462a650ee82c243ab1b7c/src/test/java/guitests/guihandles/PersonCardHandle.java#L73-L81

Should we update the .equals method in PersonCardHandle to include checking of tags too:

@yamidark this is a good catch. We should consider having a reference to Person inside the PersonCardHandle actually so that we can simplify the equals method in PersonCardHandle, and also so that we won't forget to make changes in the event we update Person#equals(Object)

There seems to be a problem with Travis in installing Java 9. It worked just yesterday and I've been restarting the build for quite some time to no avail. So it seems like I'll have to wait before I request a review.

Does CanIHasReview blocks you from requesting for reviews? If not, you can just request :)

Sure! But on a side note, since I have yet to add the equality for tags after #845 is merged, do I call for last reviews now or once I add the equality for the tags?

We can do the last call for reviews after #845 is merged. :) I forgot about that ><

Well you can post it on the issue tracker :P

Oh because this test passes now since different tags mean they are different persons.

There still seems to be an error with CanIHasReview for this PR. I'll request for it the old fashion way then.
@Zhiyuan-Amos Ready for Review.

@damithc gentle reminder for your review :)

Just thought of this, we should update the header comments of DuplicatePersonException as well:
https://github.com/se-edu/addressbook-level4/blob/ae383756eaef6702531f5258fe501b7c0e2c831d/src/main/java/seedu/address/model/person/exceptions/DuplicatePersonException.java#L5-L8
Since the header comments mention duplicate Person objects which implies the stronger .equals method instead, we should change this to something like duplicate person being added to imply we are using the weaker isSamePerson(Person) instead?
Also, UniquePersonList#setPerson(Person, Person) should be updated as well:
https://github.com/se-edu/addressbook-level4/blob/ae383756eaef6702531f5258fe501b7c0e2c831d/src/main/java/seedu/address/model/person/UniquePersonList.java#L62-L65
we should call (!target.isSamePerson(editedPerson) && internalList.contains(editedPerson)) instead, else we could throw DuplicatePersonException() incorrectly, for situations such as when we only want to change the data fields of the person.

To be added to the header comments of UniquePersonList
Adding and updating of Persons uses Person#isSamePerson(Person) for equality so as to ensure that the person being added or updated is unique in terms of identity with respect to the UniquePersonList. However, the removal of a Person uses Person#equals(Person) so as to ensure that the exact person will be removed.

@yamidark for AddressBookTest, you mean instead of using ALICE twice, we should use two persons  with only the identity fields being equal?

This test can be updated to edit a person with same data fields but different identity fields.

I did try adding this test, but now the first person has different identity fields and all the other tests below have to change as well.
After this change, I've tried to change the second person instead of the first but then there's no ADDRESS_DESC_CARL. Another workaround would then be to change the tests below, but that's out of the scope of this PR right?

Also, should we consider a case for:
Case: edit a person with new values same as another person's values but with different name -> rejected?

@Zhiyuan-Amos isn't this case actually a valid one? Since if the name is different, it is already assumed to be another person altogther?

isn't this case actually a valid one? Since if the name is different, it is already assumed to be another person altogther?

Oh yes, what am I thinking. Sorry!

@Zhiyuan-Amos I realized there's no need to add a private method, editFirstPersonToBob as after the 3rd commit, it's enough to change the personToEdit to the first person in the list and the other tests that follow would still pass. Furthermore, the tests further down below, namely the identity field tests, just require that BOB be on the list and not the first person on the list.

@damithc for your review :smile:

@vivekscl Remember to do last calls for review in gitter.

@Zhiyuan-Amos is this ready for merging? :smile:
Here's the merge commit message:
Person class contains only one equality method Person#equals(Object)
which checks if all fields of the Person except tags are identical.

Two Persons of the same name that have at least one other equivalent
identity field (phone or email) but different data fields (address and/
or tags), is considered different even though they are actually the same
person.

Let's add another equality method, Person#isSamePerson(Person), for
identity fields in Person class and use this equality check when adding
or editing a person.


Approach: Build on top of userland zlib implementation

Refs #1.

I'm not aware of any userland zlib implementation and I'm not seeing this happen any time soon, so let's close this.


Upgrade to libvips v8.15.2

Thanks very much for doing this and publishing the Windows binaries too.


*: move github.com/pingcap/tidb/parser here

Here is the dependency graph:

TiDB need to update its "import github.com/pingcap/tidb/parser" to "import github.com/pingcap/parser"

@shenli

Question about package management... As parser.go isn't checked in, do the dependencies still need to manually make parser and check it into their vendor/*?

parser.go will be included in this repository, although I didn't do it in this commit @kennytm


Update results_string parsing

The new halite binary prints out the board size. We delete this line so that the original code works.

Great, thank you for the update.


"expected call-signature: '...' to have a typedef" on setters

I received the following error
expected call-signature: 'accessToken' to have a typedef
when trying to have a setter like below
	set accessToken(value: string)
	{
		// some code, no return value as it is a setter
	}

which is what typescript expects.

which version of tslint are you using?

Ooops, I forgot to mention this didn't I :/
We are using tslint 2.1.1
The workaround so far is
/* tslint:disable:typedef */
set mysetter(value: number)
{
/* tslint:disable:typedef */
...

Thanks for looking at it

Please also note that we are using tslint via the grunt task grunt-tslint

Ok, thanks for the info. We should be releasing new versions of tslint and grunt-tslint soon, although that might not happen until TypeScript 1.5 is out of beta.

I am having this same issue as well.

Was this fixed in latest release?

Yes, it should be fixed in v2.3.0-beta. We'll be updating the grunt & eclipse plugins to use that version very soon.

Great thanks!


Using DNS to check connectivity

On new installations, DNS is used to check network
connectivity.
Bug-Url: https://bugzilla.redhat.com/1659052
PR to get feedback, not yet verified.

Hello contributor, thanks for submitting a PR for this project!
I am the bot who triggers "standard-CI" builds for this project.
As a security measure, I will not run automated tests on PRs that are not from white-listed contributors.
In order to allow automated tests to run, please ask one of the project maintainers to review the code and then do one of the following:

Type ci test please on this PR to trigger automated tests for it.
Type ci add to whitelist on this PR to trigger automated tests for it and also add you to the contributor white-list so that your future PRs will be tested automatically. ( keep in mind this list might be overwritten if the job XML is refreshed, for permanent whitelisting, please follow #3 option )
If you are planning to contribute to more than one project, maybe it's better to ask them to add you to the project organization, so you'll be able to run tests for all the organization's projects.

I added validate_network_test.yml


Fixes empty config issue on s3 adapter

Fixes #59

Thank you for the PR @ssyberg , we'll get this reviewed soon.

Thanks @ssyberg 👍

🥳


Document the -a/--array argument

Document the -a/--array argument in the README

Looks good, but I don't work at boxboat, have write access to this repo, or maintain builds for it anymore

Hi @matthewdevenny, could this PR be merged as well?

@matthewdevenny thanks!


Custom module not updated on all screens

Hi,
I'm using a custom module to know if there is some packages to update. It looks like this :
"custom/pacman": {
        "format": "{percentage} ",
        "interval": 600,
        "return-type":"json",
        "exec": "~/.config/scripts/pacman.sh",
        "exec-if": "exit 0",
        "tooltip": false,
        "on-click": "kitty pacman -Syu"
    },

And pacman.sh looks like this :
#/bin/zsh

nb=$(checkupdates | wc -l)

if [ $nb -eq 0 ]; then
    class="no_update"
else
    class="need_updates"
fi

echo -e "{\"class\":\"$class\",\"percentage\":$nb}"

My problem is that the icon showed on my bar isn't updated on all my screens at the same time. After I run pacman -Syu, the screen from where I did the update is updated and shows 0, but other screens keep the old number.
What do I need to do in order to make sure all screens are updated?
At the moment I have to click (or right-click) on the icon of each screen and it updates the icon for this screen only.

I am experiencing the same issue. Is there a timeline on this enhancement?


Find a more permanent solution for building kotlin 1.3

We're currently using https://github.com/keith/rules_kotlin which is a fork of https://github.com/loreto/rules_kotlin. We'll want to have a more permanent solution which doesn't rely on @keith's repository.

https://github.com/lyft/envoy-mobile/pull/314


Performance of SqueezeSeg trained from scratch much lower than performance of the pre-trained model

Hello !
I'm trying to train from scratch the SqueezeSeg model using your code and configuration files. I just had to change the batch size to 16 because 32 was too big for my GPU.
But at the end of the training, the performance of my network (iou=0.201) is much lower than the performance of your pre-trained SqueezeSeg (iou=0.305).
Here are my figures at the end of the 150 epochs :

Have the pre-trained models been trained with the same configuration files as in the git repo ? Should I adjust some params to reach pre-trained performances ?

Hi,
The pretrained model is trained with the config file in the pretrained model log directory, which you download from this repo.
It is called arch_cfg.yaml.
I can't guarantee the result will be exactly the same because the training stops and starts multiple times usually, so I recommend you use at least 3 or 4 times the number of epochs

Thank you for your quick answer
So I'm going to continue the training with much more epochs and I will report my new results here to see how close I am to the pre-trained network results

Hello,
As you said, I continue to train my network. Unfortunately, the performance didn't really improve. Maybe I did something wrong or maybe you have some advice to improve the performance ?
Here are my curves when I restart the training for a second time :

A problem stopped the training, so I restart for a third time :

@jedolb How did you schedule your learning rate? I used the exact arch_cfg and data_cfg provided by the pretrained squeezeseg model, but get both train and valid performance dropping

Hi @IDl0T ,
Like you, I used the arch_cfg and data_cfg files provided by the pretrained SqueezeSeg model. I just had to change the batch size to 8 because I didn't have enough GPU memory for a bigger batch size. I didn't reach the performance of the pretrained SqueezeSeg model, just like you. Maybe there is something to change in the config files.
But then, I tried to train from scratch Darknet21 and I've reached the performance of the pretrained Darknet21 model. You can use this one too if you are interested in

I close this issue since there seems not to be much activity here or the problem resolved.


chore: add linting to project with eslint

resolves #17
made a bit of a mess of this. apologies for the number of commits for such a simple thing

Unsure why this has failed checks


[Feature request]: xarray accessor

I am a PhD student in climate science, and love proplot! But I would love to use it from xarray using an accessor. That might look like this:
So you can toy with the data yourself, I used the Xarray tutorial air temperature dataset for an "example" of sorts. The environment needs both pooch (```conda install pooch``) and Xarray installed.
import xarray as xr

airtemps = xr.tutorial.open_dataset("air_temperature")
airtemp1D = airtemps.mean(dim=['lat','lon']).air # example of 1D (time)
airtemp2D = airtemps.isel(time=0).air # example of 2D (lat,lon)
airtemps3D = airtemps.air # example of 3D (time,lat,lon)

Make plotting simple graphs in proplot an accessor to Xarray:
import proplot as pplt

@xr.register_dataarray_accessor("proplot")
class ProPlotAccessor:
    def __init__(self, xarray_obj):
        self = xarray_obj

    def plot1D(self):
        fig,ax = pplt.subplots(nrows=1,ncols=1)
        ax.plot(self,color='k')

    def plot2D(self):
        fig,ax = pplt.subplots(nrows=1,ncols=1)
        ax.contourf(self,cmap='viridis')

    def plot(self):
        if len(self.dims) == 1:  # if data is 1D
            return self.plot1D()
        elif len(self.dims) == 2:  # if data is 2D
            return self.plot2D()
        else:
            raise ValueError("Data is not 1D or 2D")

Test the accessor on the Xarray tutorial data with different dimensions:
airtemps1D.proplot.plot()

airtemps2D.proplot.plot()

I think this would be impactful because it would make it easier for those in the climate science space who use Xarray to get their feet wet with proplot, moving away from matplotlib. I'd be happy to collaborate on this effort if wanted/needed!
@TomNicholas

I think this would be super neat. It would effectively copy how xarray already allows you to plot matplotlib plots, i.e.
da.plot.line()  # matplotlib plot
da.proplot.line()  # proplot plot

Xarray's documentation on accessors is here.
You might also want to follow this issue in case we ever implement it :sweat_smile:


Blazor Server: stopPropagation and preventDefault directives not working anymore (?!)

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
It does appear that those directives are not working anymore.
test.zip
above there is a minimalistic test page and javascript code. asp.net core is .net core 6.
Expected Behavior
With reference to the code included, when clicking on the button on the page which is triggering the server event the server code should execute, however because of the directives on the button the javascript code, linked to the same event on the document, should never be fired.
Steps To Reproduce

Create a new blazor server page

Copy Paste the content of the included one

Add a javascript file with code like in the included file

Make sure you invoke this javascript code via interop in the afterrender method, this will setup a document level  global event Listener, that should fire when the client side event is triggered.

Then when clicking the "Client Click!" button, you should see in the console browser the message, however, as expected no event is bubbling up to the document

Now do the same on the button labeled "Server Click". the server side event will execute, but when it is fired, even the javascript code was already ran. This should not happen because of the directives stopPropagation and preventDefault applied to the server button itself.

Exceptions (if any)
No response
.NET Version
No response
Anything else?
No response

@b-giavotto the attached script.js doesn't contain any code, but I imagine it was supposed to contain something like this (from the name of the function):
function docEventListener() {
    document.addEventListener('mousedown', () => console.log('document click'));
}

That would indeed log "document click" when clicking on the server button but not when clicking on the client button from your T.razor example:
<input type="button" onmousedown="event.stopPropagation();event.preventDefault(); console.log('client Click');" value="Client Click!" />
<input type="button" @onmousedown="serverclick" @onmousedown:preventDefault=true @onmousedown:stopPropagation=true value="Server Click!" />

I think that's an expected behavior. According to the docs:

The stopPropagation directive attribute's effect is limited to the Blazor scope and doesn't extend to the HTML DOM. Events must propagate to the HTML DOM root before Blazor can act upon them.

That means the stopPropagation attribute only works for event handlers registered via blazor (e.g., @onmousedown), not via Javascript (e.g., document.addEventListener('mousedown', ...)).


improve node version condition, per review

re https://github.com/iambumblehead/esmock/pull/89#discussion_r928491745

trying to tune this to target specific minor version of node 16, re https://github.com/iambumblehead/esmock/pull/68#issuecomment-1191884521


Cannot find installation of real FFmpeg (which comes with ffprobe). ignore the video because of the above error...

On running train.py i get
Cannot find installation of real FFmpeg (which comes with ffprobe).
ignore the video because of the above error...

Hi,
This project use skvideo to load the videos.  Please refer to the following discussion:
https://github.com/scikit-video/scikit-video/issues/13

I had the same issue in Windows 10 and installing ffmpeg from the source has solved the problem. After installing Windows package for ffmpeg manually, extract it and then add the bin folder path to the environment variables


[cli] error when using dx app create

when running dx app create I get:
scratch dx --version
@dxos/cli/0.1.48-next.806c124 darwin-x64 node-v18.16.0
➜  scratch ls
foos
➜  scratch dx app create foof
(node:49339) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
    TypeError: Cannot read properties of undefined (reading 'configDir')
➜  scratch

This is a duplicate of https://github.com/dxos/dxos/issues/3247, no?


@property above @computed_field raises TypeError: 'PydanticDescriptorProxy' object is not callable

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
When using computed fields, if I take the example from pydantic's documentation, but I place @property above @computed_field, and I try to print the computed field area, I get the following error:
Traceback (most recent call last):
  File "tmp.py", line 12, in <module>
    print(Rectangle(width=3, length=2).area)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'PydanticDescriptorProxy' object is not callable

I just wanted to report it because it looked like unexpected behaviour from placing the decorators in the "wrong" order.
Example Code
from pydantic import BaseModel, computed_field

class Rectangle(BaseModel):
    width: int
    length: int

    @property
    @computed_field
    def area(self) -> int:
        return self.width * self.length

print(Rectangle(width=3, length=2).area)

Python, Pydantic & OS Version
pydantic version: 2.9.2
        pydantic-core version: 2.23.4
          pydantic-core build: profile=release pgo=false
                 install path: .venv/lib/python3.11/site-packages/pydantic
               python version: 3.11.10 (main, Oct 16 2024, 04:38:48) [Clang 18.1.8 ]
                     platform: Linux-6.11.5-arch1-1-x86_64-with-glibc2.40
             related packages: typing_extensions-4.12.2 mypy-1.13.0
                       commit: unknown

Indeed, this isn't supported. You should use the order shown in the docs, with @computed_field, then @property.


[AAP-7570] Add SSL support when connect to a controller

Resolves AAP-7570

@bzwei please update the Usage page in the docs with this new option

Updated.

@bzwei please update the Usage page in the docs with this new option