DedupeResponseHeader filter seems broken in 3.1.2

Describe the bug
We upgraded our Spring Cloud version to 2021.0.2 from 2021.0.1, which updated our Spring Cloud Gateway version to v3.1.2 from v3.1.1
Our application.yml has the following configuration
  cloud:
    gateway:
      default-filters:
        - AddRequestHeader=routed-by, ftep-gateway
        - DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin
      x-forwarded:
        enabled: true
      globalcors:
        corsConfigurations:
          '[/**]':
             allowedOriginPatterns: "http://test.com"
             allowCredentials: true
             allowedMethods: "*"
             allowedHeaders: "*"

After upgrading, Spring Cloud Gateway started returning duplicate values for the headers we mentioned under Dedupe above for CORS headers. Please find sample APIs below which helped us confirm
Sample
Route configuration
        - uri: http://localhost:9080/
          id: cors
          predicates:
            - Path=/cors/**
          filters:
            - RewritePath=/cors(?<segment>.*), $\{segment}

Sample API being served from a different service on localhost
@Slf4j
@RestController
@RequestMapping("requests")
public class RequestController {

  @GetMapping("/listHeaders")
  public ResponseEntity<String> listAllHeaders(@RequestHeader Map<String, String> headers) {
    headers.forEach(
        (key, value) -> {
          log.info(String.format("Header '%s' = %s", key, value));
        });

      HttpHeaders corsHeaders = new HttpHeaders();
      corsHeaders.set(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "http://test.com");
      corsHeaders.set(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "false");

    return new ResponseEntity<String>(
        String.format("Listed %d headers", headers.size()), corsHeaders, HttpStatus.OK);
  }
}

cURL command and its output to hit my gateway running on localhost:8080 to call API on localhost:9080
curl -vvv http://localhost:8080/cors/requests/listHeaders -H "Origin: http://test.com"

Logs on localhost:9080

This is a suspect commit which might have lead to this: https://github.com/spring-cloud/spring-cloud-gateway/commit/0dd2a47d8d6133af46ddfb7140d851b586623993

@spencergibb FYI

Not an issue. Closing this. Realized too late I was importing additional config which defining its own global filter. Sorry about the noise 🤦


RPatternTopicReactive.removeListener() not working

Expected behavior
After calling removeListener with reactive client, we shouldn't trigger the listener anymore
Actual behavior
Listener is triggered after calling removeListener with reactive client
Steps to reproduce or test case
@Test
public void testReactiveUnsubscribe() throws InterruptedException {
    final CountDownLatch messageReceived = new CountDownLatch(1);

    final RedissonReactiveClient redisson = Redisson.createReactive(createConfig());
    RPatternTopicReactive topic1 = redisson.getPatternTopic("topic1.*");

    topic1.addListener(Message.class, (pattern, channel, msg) -> {
        Assert.fail();
    }).subscribe(topic1::removeListener);

    topic1.addListener(Message.class, (pattern, channel, msg) -> {
        Assert.assertTrue(pattern.equals("topic1.*"));
        Assert.assertTrue(channel.equals("topic1.t3"));
        Assert.assertEquals(new Message("123"), msg);
        messageReceived.countDown();
    }).subscribe();

    redisson.getTopic("topic1.t3").publish(new Message("123")).subscribe();

    Assert.assertTrue(messageReceived.await(5, TimeUnit.SECONDS));
}

Redis version
6.0.9
Redisson version
3.14.0

Not really sure of this solution but I suggest it anyway
In ReactiveProxyBuilder shouldn't we auto subscribe if we don't return anything ?
Mono<Object> mono = commandExecutor.reactive(...)

if (instanceMethod.getReturnType().equals(Void.TYPE)) {
    return mono.subscribe();
}

return mono;

⚠  By doing what I suggest just before we will mask any errors that could occurs
I think the best approach will be to always return a Mono to let the user handling subscription and errors.
This will be a breaking changes for the Reactive API but for now it doesn't work so I'm pretty sure anyone use the impacted methods.

Fixed! Thanks for report


OpenAI module not working because need to use AWS Secrets Manager

I need to update the OpenAI module to use the secrets manager keys, right now it is dependent on using local environment variables which are not scalable.
After I update the code, will also need to save a copy of it to the mypyutils repo and test that it works

this was resolved


Clarify "Special characters" section for Connection URLs

https://www.prisma.io/docs/reference/database-reference/connection-urls#special-characters

This also applies to MongoDB.
Does it maybe also apply to other databases? If not, is no escapaing necessary there? Is the escaping different? Both could be mentioned here for clarity.
What "special characters" does this refer to? Optimally we would be able to list them out.
(Super bonus: A small tool where you can paste your connection string and it is adapted correctly to work with Prisma)

👋 we're cleaning up our backlog of issues and are closing everything older than two years. If you still feel that this issue is relevant, please feel free to re-open and our team will take a look. Thank you!


Cluster super slow loading spack on startup??

ssh test_oci_2                                                                                ░▒▓ ✔  19:21:54

⠀⠀⠀⠀⢀⡤⢂⣴⠾⠛⠷⢶⣤⡀
⠀⠀⠀⣴⠟⣁⣉⣁⣀⡀⠈⢶⡌⠻⢦
⠀⠀⣸⡏⠜⠋⣩⡭⠉⠛⢷⢸⡇⠸⣦⡁
⠀⠀⢿⡄⠀⢰⡟⠀⠀⠀⠀⣼⠇⠀⠘⣷
⠀⠀⢈⠻⡆⢸⡇⢷⣤⣀⣚⣋⣠⡔⣸⡏
⠀⠀⠀⠳⣦⡘⠷⡀⠈⠉⢉⣉⢉⣴⠟
⠀⠀⠀⠀⠈⠛⠷⢶⣤⡶⠟⠡⠚⠁

Welcome to the Center for AI Safety Compute Cluster!

We're using costly data storage for the moment. If you can try to self limit how much you use we'd appreciate it.

The compute cluster is exclusively designated for work on pre-approved safety projects. Do not use it for any unapproved projects.

Last login: Mon Apr 24 23:21:29 2023 from c-73-139-146-86.hsd1.fl.comcast.net

^CTraceback (most recent call last):
  File "/nfs/cluster/spack/bin/spack", line 54, in <module>
    sys.exit(main())
  File "/nfs/cluster/spack/lib/spack/spack_installable/main.py", line 35, in main
    import spack.main  # noqa: E402
  File "/nfs/cluster/spack/lib/spack/spack/main.py", line 36, in <module>
    import spack.cmd
  File "/nfs/cluster/spack/lib/spack/spack/cmd/__init__.py", line 26, in <module>
    import spack.environment as ev
  File "/nfs/cluster/spack/lib/spack/spack/environment/__init__.py", line 332, in <module>
    from .environment import (
  File "/nfs/cluster/spack/lib/spack/spack/environment/environment.py", line 40, in <module>
    import spack.user_environment as uenv
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 951, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 894, in _find_spec
  File "<frozen importlib._bootstrap_external>", line 1157, in find_spec
  File "<frozen importlib._bootstrap_external>", line 1129, in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1241, in find_spec
  File "<frozen importlib._bootstrap_external>", line 82, in _path_stat
KeyboardInterrupt

```

I think we need to delete or comment this out: sudo vim /etc/profile.d/spack.sh

Slow loading was related to NFS deployment. Closing.

Closing. New cluster will be deployed without spack.


Metadata and title returns "Normal"

Description
Should not say this.
Platform & operating system
MacOS Sonoma 14.7 - M1
What browsers are you seeing the problem on?
Firefox
Steps to reproduce
Look up our name on Google.
Additional context

@monkeyjonjon Issue is at src/routes/+layout.ts Line 17.


MinRows not working

MinRows is not working. This was working in 3.2.0 but is broken in 3.4.0.

Fixed in 3.4.1


Implement ibek support develop

This is a feature to allow a dev to make changes to a support module inside of a generic ioc container.
It will work like this:-

copy out the chosen support module to the /repos folder (mounted to the superfolder of our project)
or allow the user to specify an existing version of a support module in /repos
change the file /epics/ioc-xxx/RELEASE to add in the new support module path (add some comments inline to remind the dev what they are doing)
global configure RELEASE will include this file at the end to override the internal support module path

This means rebuilding the devcontainer will still use the /repos support.
@coretl  should the ioc-xxx/RELEASE file be in .gitignore ? - probably not. Then if you change an IOC and its support in parallel you will get a clear indication why the CI fails.

I'm not sure to be honest, leave it out until we have a reason to ignore it...

yep that sounds better

in #136 I suggest using symlinks instead of updating  /epics/ioc-xxx/RELEASE but the latter is preferred as it changes the repo so that it breaks in more obvious ways if you push it before completing the support module changes (and releasing them - implying there is an 'undevelop' command too).
This also relates to #134 - because the opi files in a support module in develop mode should be editable from outside of the container and yet be discoverable from the read only opi's links.

so in #139 I have changed the name of this to
ibek dev support
to go with
ibek dev instance
The latter of which I have already implemented in ibek 1.5.2


Prepared: Prevent mem allocs during cleanup

If a prepared statement is collected during a GC run and the d'tor is
called, it causes another allocation through either:

allocation of the packet array
allocation of an exception when trying to write to a closed connection

In both cases, the GC freaks out and throws an InvalidMemoryOperation.
This commit fixes the two allocation cases I found. There may be more.
Here is an example backtrace of this:
https://gist.github.com/Marenz/b3293f3a6daa9706a5552a4e68b1cec5

@Abscissa it would be cool if you could release this as a new version, too. I am hitting that bug very easy in my project

Ping?

Sorry, been busy. PR looks good, merging.
New release is being held up by one thing: recent #132/#135 discussion revealed some build failures on certain compiler versions which I need to take care of (mainly just working around https://issues.dlang.org/show_bug.cgi?id=17482 IIRC).


Introduce mouse release and mouse drag events

Introduce separate mouse release and mouse drag (move while pressed) events: MouseLeftRelease, MouseLeftDrag, MouseRightRelease etc, to allow binding them to actions independently from mouse press events (MouseLeft, MouseRight etc).
This PR:

Makes it possible to handle mouse release and drag for arbitrary mouse events and actions (including Lua actions), not just for MouseLeft event and its default MousePress action as in the current code.

Fixes issue #2599 with PastePrimary and MouseMultiCursor actions: selection is pasted not only when pressing MouseMiddle but also when moving mouse with MouseMiddle pressed; similarly, a new multicursor is added not only when pressing Ctrl-MouseLeft but also when moving mouse with Ctrl-MouseLeft pressed.

My initial approach was not to introduce new events for mouse release and mouse drag but to pass "mouse released" info to action functions in addition to *tcell.EventMouse to let the action functions do the necessary checks (similarly to what MousePress is already doing). But then I realized it was a bad idea, since we still want to be able also to bind mouse events to regular key actions (such as PastePrimary) which don't care about mouse event info.
Fixes #1791 (together with PR #2605)
Fixes #2599

Thanks for this (and #2605). I'll try to take a look shortly.

Thanks for this (and #2605). I'll try to take a look shortly.

Cool, thanks. In the meantime I've added one more commit 37fc558 which fixes another bug with mouse release which I've just found (this bug exists without my PR as well).


Default DuckDuckGo to search for 'All regions' from 'United States'

Perhaps it is unique to my machine, but right now all the searches made with Searchio for DuckDuckGo are scoped to 'United States' :

This for some reason turns off 'instant answers' feature. However when you change the search to 'All Regions', instant answers comes back :

This is an issue with DDG, not the workflow.

This is fixed by changing this line to this :
query = query.format(self.options['lang'])

Now all instant answers work. :)
I guess there is no need for pull request as there is a new version in the works.


mgmt resources, fix generic resources api version

Description
issue: https://github.com/Azure/azure-sdk-for-java/issues/36152
dnsForwardingRulesets/virtualNetworkLinks and privateDnsZones/virtualNetworkLinks share the same child resource type.
This PR, instead of comparing child resource types for nested resource types, it compares the full resource type against the target resource type using endsWith.
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

you probably need to "merge" the asset recording.

Logged and issue to change default application gateway size to BASIC instead of STANDARD_SMALL:
https://github.com/Azure/azure-sdk-for-java/issues/36215


Reexport symbols from AbstractFFTs

Closes #26

The CI failure is because the push build didn't get retriggered, which means it wasn't rebased from master. The PR build shows that it works as expected.

Whoops, wrong button


Focused element is off by one when selecting start date

react-dates version 21.8.0
Describe the bug
When selecting a start date, the end date that gets focused for keyboard navigation is off by one day.
Source code (including props configuration)
https://codesandbox.io/s/react-dates-date-range-picker-forked-oyxpn?file=/src/date-picker.jsx
Select a start date and then move your mouse over any of the dates after the one selected (at least 2 days later). The element that has focus is the date 2 days after the first selected date, which you can see there is a black outline around it.
Screenshots/Gifs

Desktop (please complete the following information):

OS: Ubuntu
Browser: Chrome
Version: 88.0.4324.150

Is the issue reproducible in Storybook?
No

It appears react-dates expects the dates to be at noon for some reason, so setting the dates like this solved the issue:
<DateRangePicker
  startDate={inDate ? moment(inDate + " 12:00") : null}
  endDate={outDate ? moment(outDate + " 12:00") : null}
  // ...
/>

We had to pick some time, and midnight doesn’t exist in every timezone ¯_(ツ)_/¯

@ljharb That's interesting. Thanks for the comment.


Error when running the applications

Hi!
I'm not too familiar with Nix, so this is probably an issue on my end. I'm running Ubuntu 21.04 inside VMWare, installing Nix using the standard installation script, and Docker with the corresponding official instructions. I also installed Cachix and followed the instructions on this repository.
Everything was built successfully, and the Docker instance is running fine, but both the console and UI programs fail to start. Do I have to run the programs using some specific Nix command? I tried running them as regular applications. The console version outputs:
fts: <stdout>: commitBuffer: invalid argument (invalid character)

While the UI version shows:
Invalid window
fts-ui: SDLCallFailed {sdlExceptionCaller = "SDL.Video.glCreateContext", sdlFunction = "SDL_GL_CreateContext", sdlExceptionError = "Invalid window"}

This is the same virtual machine I use for testing Monomer; that's what makes me think I may be missing something related to Nix.
Thanks!

Did you build them via nix-build and then ran result/bin/fts-ui? It could be that the SDL library is missing and needs to be declared explicitly in the default.nix file, but I'm really surprised to hear the console application errors out.
I will try to run the project in a VM from scratch tomorrow as now it's a bit late on my end. I'll report back.

Yes! I ran this:
$ cachix use fts
$ nix-build

And then tried ./result/bin/fts and ./result/bin/fts-ui (also tried running the applications from the ``./result/bin/` directory).

I managed to reproduce the issue in a VM with Ubuntu but then I ran into other software issues, and I ran out of free time today.
fts: <stdout>: commitBuffer: invalid argument (invalid character)

The console app issue seems to be related to freetype not being available, needed to render some emojis and unicode chars.
Invalid window
fts-ui: SDLCallFailed {sdlExceptionCaller = "SDL.Video.glCreateContext", sdlFunction = "SDL_GL_CreateContext", sdlExceptionError = "Invalid window"}

The GUI app fails because SDL does not seem available but I don't know how to fix it yet for other platforms.

Can you try https://github.com/gvolpe/fts/pull/3? Not sure if this is going to work but it's worth a try. I can try to dig in during the weeked, now my VM is completely screwed after installing some stuff via sudo apt install 😏

You can also try entering nix-shell and then cabal new-run fts-ui but I experienced the same issue in my VM.

I just tried with the branch's code and got the same error in the console version. The same happens with nix-shell.
On the UI side, it seems the issue is related to OpenGL drivers. Installing nixGL solved the problem for me.
It looks awesome! Thanks!

Yeah it seems we arrived at the same place, I was about to suggest nixGL as well, I got it working on Ubuntu with it. I will update the README file with this info, glad you got it working! :)

I really liked the combination of Nix and Docker for distributing projects like this.
Thanks for your help!

Unrelated question: I wasn't able to figure out why, whenever the TMDB_API_KEY is not set, the UI only displays a single result, even when there are multiple results and I can see sendMsg (MoviesSearchResult [s]) is invoked. Maybe you can help? 😄

Here's the MovieRow widget and the Event Handler. When the env var is set, all the results are displayed normally.

Maybe I'm making a really obvious mistake? It's got me puzzled 😆

Interesting. I just created the API key and can reproduce the issue.
I'll test a few things since this could be a library issue. When the API key is set, I notice a short delay in the logs since posters are available; I don't see this delay when the API key is not set. Maybe the model is not updated correctly when multiple messages are received on the same cycle (overwriting the previous versions).
I'll keep you posted!

Awesome, thanks a lot! (and thanks again for Monomer 😃  )

It could be what you say, that the model gets multiple messages in such a short time and it doesn't get properly updated.
However, your comment made me realize that when TMDB_API_KEY is not set, there's no need to check for its existence multiple times and send movie results one by one, so I fixed this here: https://github.com/gvolpe/fts/commit/87362aa512f2cc2e3d3d4a4738312aacc67c5cc1

I can confirm, it's an issue in the library.
I have a fix, but I want to validate/improve my test cases before publishing a new version.
Thanks for finding this issue!


Run python -m pip instead of pip

When you try to run pip in venv in a directory with a long full path you get an error. To avoid this you need to run python -m pip instead of pip.

Thanks!
Could you execute black on the poetry/console/commands/develop.py file to make the build pass on Travis?
Also, could you rebase your PR on the develop branch?

I've fixed formatting, but I'm getting an error in travis, hope you can help with it.

I had similar issue with tox and found it to be better to call /path/to/python/python /path/to/pip/pip or to put virtualenv to directory with shorter name. Related tox ticket with conversation - https://bitbucket.org/hpk42/tox/issues/66/tox-shouldnt-call-pip-directly-to-avoid .

I'd like to inform you that tox recently got a workaround for such cases - https://github.com/tox-dev/tox/pull/794

And recently tox moved to using python -m pip by default (https://github.com/tox-dev/tox/pull/935).

@Tonkonozhenko Thanks for this contribution!
To get this across the finish line we need to do the following:

Update the mock used in testing here
Manually test that this works when not mocked

Works for me. Thank you!

Hello.  How should we proceed with this PR?

FYI, this is completely obsoleted now.


Use https for twitter links

See https://trello.com/c/Vl41pXd4/120-on-the-web-page-should-use-https-outbound-links

Staged at https://snoopycrimecop.github.io/www.openmicroscopy.org/on-the-web/


Add seeds

Add seeds.

Pushed another set of seeds: now at 2561 seeds in this PR (was 1353).

Merged with
time ./test/fuzz/test_runner.py ../btc_qa_assets/fuzz_seed_corpus --par=9 -l DEBUG --m_dir ../btc_qa_assets/fuzz_seed_corpus_ps_11/

...

Run process_messages with args /home/marco/workspace/btc_bitcoin_core/src/test/fuzz/process_messages -merge=1 -use_value_profile=1 ../btc_qa_assets/fuzz_seed_corpus/process_messages ../btc_qa_assets/fuzz_seed_corpus_ps_11/process_messages
INFO: Seed:<PHONE_NUMBER>
INFO: Loaded 1 modules   (411763 inline 8-bit counters): 411763 [0x56394e1b1a68, 0x56394e2162db),
INFO: Loaded 1 PC tables (411763 PCs): 411763 [0x56394e2162e0,0x56394e85ea10),
MERGE-OUTER: 8044 files, 4742 in the initial corpus, 0 processed earlier
MERGE-OUTER: attempt 1
INFO: Seed: 144625356
INFO: Loaded 1 modules   (411763 inline 8-bit counters): 411763 [0x55de648f1a68, 0x55de649562db),
INFO: Loaded 1 PC tables (411763 PCs): 411763 [0x55de649562e0,0x55de64f9ea10),
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 1048576 bytes
MERGE-INNER: using the control file '/tmp/libFuzzerTemp.3100495.txt'
MERGE-INNER: 8044 total files; 0 processed earlier; will process 8044 files now
#1	pulse  cov: 4852 ft: 7079 exec/s: 0 rss: 163Mb
#2	pulse  cov: 4949 ft: 11001 exec/s: 0 rss: 163Mb
#4	pulse  cov: 4960 ft: 13335 exec/s: 0 rss: 163Mb
#8	pulse  cov: 4963 ft: 13660 exec/s: 0 rss: 168Mb
#16	pulse  cov: 4968 ft: 14422 exec/s: 0 rss: 179Mb
#32	pulse  cov: 6167 ft: 16976 exec/s: 0 rss: 182Mb
#64	pulse  cov: 6927 ft: 18966 exec/s: 0 rss: 192Mb
#128	pulse  cov: 7954 ft: 21838 exec/s: 128 rss: 217Mb
#256	pulse  cov: 11135 ft: 31656 exec/s: 128 rss: 314Mb
#512	pulse  cov: 14582 ft: 44686 exec/s: 102 rss: 435Mb
#1024	pulse  cov: 20675 ft: 69174 exec/s: 93 rss: 435Mb
#2048	pulse  cov: 21868 ft: 93898 exec/s: 78 rss: 435Mb
#4096	pulse  cov: 22324 ft: 135510 exec/s: 83 rss: 435Mb
#4742	LOADED cov: 22364 ft: 145021 exec/s: 79 rss: 435Mb
#8044	DONE   cov: 22364 ft: 145259 exec/s: 90 rss: 464Mb
MERGE-OUTER: succesfull in 1 attempt(s)
MERGE-OUTER: the control file has 2239334 bytes
MERGE-OUTER: consumed 1Mb (171Mb rss) to parse the control file
MERGE-OUTER: 100 new files with 238 new features added; 0 new coverage edges

real	3m9.347s
user	16m12.018s
sys	0m47.680s

From https://github.com/bitcoin/bitcoin/pull/18688


CollectionID read from request header and passed to middleware permis…

…sion check as attribute
What
What the title says.  CollectionID request header is optional.
How
Review test & code changes
Who
Anyone

Thanks for the feedback, minor code factor to clarify intent.

Commit signed


when named parameter is used for send_request_sync it fail

self.send_request_sync('toto',request=msg) fail

Fix in 2.3.26


Create aniii-pr.md

Hey GSSoc team,
This is the PR I have raised and its not been merged Its level 1 PR.
Could you review and mere it.
@sanjay-kv @MastanSayyad
https://github.com/sanjay-kv/Open-source-Practice
https://github.com/aniii09/C

mention the pr link no the repo link @aniii09

https://github.com/AlgoGenesis/C/pull/1155#issuecomment-2439346497
https://github.com/AlgoGenesis/C/pull/1670#issuecomment-2457760043

as the pr is closed by the no points will be assigned @aniii09


Issue 'NavGraph cannot be null' with FreshMasterDetailNavigationContainer since MAUI 8

Hello everyone,
I recently encountered an issue after updating my application to MAUI 8. Specifically, using FreshMasterDetailNavigationContainer triggers an error "NavGraph cannot be null".
Upon inspecting the code, I identified that the problem originates from the following lines in the CreateMenuPage method of FreshMasterDetailNavigationContainer:
var navPage = new NavigationPage(_menuPage) { Title = "Menu" };

if (!string.IsNullOrEmpty(menuIcon))
{
    navPage.IconImageSource = menuIcon;
}

Flyout = navPage;

By replacing these lines with:
Flyout = _menuPage;
The issue seems to be resolved, and the error no longer appears.
Do you think this is a good way to fix the problem? Or was it necessary before MAUI 8 for Flyout to be a NavigationPage?
PS: For those who need to make this correction while the package is not yet fixed, I recommend creating a CustomImplementedNav that replicates the code of FreshMasterDetailNavigationContainer and fixing the error. Afterwards, use your CustomImplementedNav in the App.xaml.cs file.
Thank you in advance for your advice and suggestions.

I still have the same issue, any updates to this?


Incorrect eslintPkgPath: .../api.js/package.json

Operating System: Mac OS
Node Version: 10.15.1
NPM Version: 6.4.1
webpack Version: 4.28.4
eslint-loader Version: 2.2.0

Expected Behavior

Expecting regular Vue builds to succeed.
Actual Behavior

See https://github.com/vuejs/vue-cli/issues/4231
Vue builds are failing due to an eslint-loader error.
Code
This addition seems to result in eslintPkgPath sometimes adding /package.json to the path in situations where it should not:
  var eslintPkgPath = "eslint/package.json";
  if (userEslintPath) {
    eslintPkgPath = userEslintPath + "/package.json";
  }

  var eslintVersion = require(eslintPkgPath).version;

How Do We Reproduce?
See https://github.com/vuejs/vue-cli/issues/4231

PR welcome

could anybody post a workaround until we get the fix?
I am having this issue right now

There are some discussed workarounds in https://github.com/vuejs/vue-cli/issues/4231:
https://github.com/vuejs/vue-cli/issues/4231#issuecomment-508161533
There is also a proposed fix for vue-cli to use the directory rather than the file path:
https://github.com/vuejs/vue-cli/pull/4233
That PR should fix this issue for vue-cli cases, although I'm not sure if there are other instances where people may have been passing file paths to this module that would now be breaking.

I have this problem too.
And just comment like this then it work:smile:
  var eslintPkgPath = "eslint/package.json";
  //if (userEslintPath) {
  //  eslintPkgPath = userEslintPath + "/package.json";
  //}

  var eslintVersion = require(eslintPkgPath).version;

Somebody can test https://github.com/webpack-contrib/eslint-loader/pull/283?

I liked that patch. I just went in and replaced the require with '5.6.0' and it works fine, but that's not a fix. Perhaps that patch will get us back on the road.

Please tests https://github.com/webpack-contrib/eslint-loader/releases/tag/v2.2.1


[RFC] Improved imports

RFC 1. Export defaults
What do you think about exporting the content of the modules as the default? For now, we should write imports like this:
import { Option, some, none } from 'fp-ts/lib/Option'
import * as option from 'fp-ts/lib/Option'

And with this changes, we can write it like this:
import option, { Option, some, none } from 'fp-ts/lib/Option'

RFC 2. Module names
What's the need of the lib part in the module name? Isn't it better to have it like this:
import option, { Option, some, none } from 'fp-ts/Option'

One more comment. If you write import like this:
import option, { Option, some, none } from 'fp-ts/lib/Option'

now, the compiler doesn't fail. It fails in runtime. Checked with typescript 2.3.4

My two cents here:
WS and other editors have impressive autoimport support but it just don't work with * as option syntax because there's no actual named export. So each time one has to manually write those imports, it's a bit inconvenient.
Is there any possibility to have a named exports for a HKT?

@vegansk @raveclassic sorry for the delay (busy with the 0.4.0 rewrite). Interesting suggestions, could you please elaborate though? In practice what should I do? Is there a repo setup somewhere that I can replicate?

@gcanti Well every setup will work for autoimports where there's an explicit named export like:
//previous
export function some() {}
export function none() {}
//...
import * as option from 'fp-ts/lib/Option'; //always should be writte by hand

//would be great
export function some() {}
export function none() {}
//this is important for autoimport to work
export const option: HKT /* or smth to check interface */ = {
  some,
  none
};
//original request for default imports
export default option;

//...

import { option } from 'fp-ts/lib/Option'; //autoimported when using 'option' somewhere
import option from 'fp-ts/lib/Option'; //default import, still written by hand

@raveclassic got it thanks, so could be just what I'm calling proof to check the implementation (example here https://github.com/gcanti/fp-ts/blob/650857691b94435f340d9b3662856ffef031dcab/src/Option.ts#L304) but currently is not exported right?

My 2 cents on this if I may. I've found the same issues with importing so am with @raveclassic . I will end up doing something like this a lot
import * as Option from 'fp-ts/lib/Option`;
type IOption = Option.Option;

I favour the uppercase Option here because that's often the style you see a lot of functional docs/libraries written and in the same way you will often see interfaces in TypeScript modules using the I at the beginning.
Hope this is constructive 😄

@gcanti If such proof can be passed to functions which accept a HKT (like sequence) then yes, it would be awesome

@raveclassic yep! It's not always possible though. Option for example: if you want to use sequence it would be pretty handy
import { sequence } from 'fp-ts/lib/Traversable'
import { option, some } from 'fp-ts/lib/Option' // proof of Option
import { array } from 'fp-ts/lib/Array' // proof of Array

const foo = sequence(option, array)([some(1)])

but if you want a monoid instance you have to call the getMonoid function
import { getMonoid } from 'fp-ts/lib/Option'
import { monoidString } from 'fp-ts/lib/Monoid'

export const mymonoid = getMonoid(monoidString)

@davetayls isn't the same as
import { Option } from 'fp-ts/lib/Option'
// or
import { Option as IOption } from 'fp-ts/lib/Option'

Maybe a better example is Const: I can certainly export the proof but it only contains the Functor and Contravariant instances. In order to get an Applicative instance you have to call getApplicative

Anyway I find myself using import * as option only when I want to use option as a proof for functions like sequence so if I export all the proofs it seems a net gain, isn't it?

@gcanti Yes, it would be great!
But.. what name to pick for Const proof? const is reserved :)

@gcanti ah sorry i should have included more in the example. This is over-simplified but hopefully shows the separate Option and IOption.
import * as Option from 'fp-ts/lib/Option`;
type IOption = Option.Option;

const v: IOption<string> = Option.fromNullable(something);

Sounds like exporting the proofs as default would be a gain. It would make the example a lot nicer, especially if the Option interface isn't needed. Something like this I presume.
import Option, { Option as IOption } from 'fp-ts/lib/Option`;
const v: IOption<string> = Option.fromNullable(something);

@davetayls proofs actually don't include helpers like fromNullable so that you have to either import it separately or with import * as Option syntax.

oops, didn't see that thanks for the heads up 😄

@raveclassic mhh.. const_? Here you can find the current names exported (as whole modules) in index.ts

@gcanti Sounds good, at least IDE/editor will suggest it.
Unfortunately JS parser can't process const' which imo fits better and is more common in fp languages.

closed this in 03ee0fa33b248383ae566d0a61d52049f484108b


Allow id in fragment

Hello,
I would request to allow a (optional) id field for the fragment.
The reason for this request is, that it seams to be the most suitable clean solution to handle compositions with ember/JSONAPI.
I started a discussion without much participation about this problem here: https://discuss.emberjs.com/t/ember-data-handling-composition/15035/2
When allowing fragments to have an id attribute, they would solve the problem of compositions without changes at JSONAPI and backend frameworks in a nice way.

I'm seeing this issues too (my fragment has a ID field that gets stripped during conversion from the wire to the framgment instance). First, adding an ID field explicitly fails with the standard ember error message about having an ID field on a model. But removing it, and relying on the underlying model's default ID field doesn't work either. It seems the specific problem is that the ID value is getting stripped out in the extractAttributes() method of the serializer, and so apparently never gets passed along to the fragment. Not sure whether avoiding this ID stripping with a custom serializer might work around the problem? If I have a chance to test, I'll come back to update

Hmm, it surprises me that there's no id. My experience with adopting this addon is this: I replaced a lot of code using ember data fragments, but many templates reference an ID explicitly. Is there a good reason for disallowing an identifier for this object? My instinct is that that seems like a bad practice.
The README on this issue is confusing as well: https://github.com/lytics/ember-data-model-fragments#conflict-resolution. Maybe it means that "id-less embedded records" being in ember data proper is an issue?

This thread adds some interesting context: https://github.com/lytics/ember-data-model-fragments/issues/86#issuecomment-149375719.
I think this assumes I shouldn't use an id directly for presentation purposes?


sioyek: fix build on darwin

After #283813, the postInstall step on Darwin tries to copy a file that does not exist.
Fixes the typo in the file name so that copying works.
Relevant pdf_viewer/keys_user.config file: https://github.com/ahrm/sioyek/blob/development/pdf_viewer/keys_user.config
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[x] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@xyven1 only tangentially related to this PR, but do you know what is going on in the linux postInstall?
https://github.com/NixOS/nixpkgs/blob/9ed5dad1e5143bfeedc2c312f83c3de442935d30/pkgs/by-name/si/sioyek/package.nix#L68-L71
If I check with tree, keys.config and prefs.config are already copied to /etc/sioyek and shaders and tutorial.pdf are already under share/sioyek/shaders and share/sioyek/tutorial.pdf. It seems we can replace
https://github.com/NixOS/nixpkgs/blob/9ed5dad1e5143bfeedc2c312f83c3de442935d30/pkgs/by-name/si/sioyek/package.nix#L51-L53
with
     substituteInPlace pdf_viewer/main.cpp \
       --replace-fail "/usr/share/sioyek" "$out/share/siyoek" \
       --replace-fail "/etc/sioyek" "$out/etc/sioyek"

and remove lines 68--70. Having them outside clutters my nix profile (~/.local/state/nix/profiles/profile/etc) as they're in top level /etc instead of /etc/sioyek. Just a thought, maybe we shouldn't try fix what isn't broken :p.
Also we are missing keys_user.config and prefs_user.config but I guess the intention was to have those be editable in /etc (they are empty files), which is not something that terribly matters for the package.

Do you happen to know why the build is failing on OfBorg? No worries if not.

It looks like xpc should be part of the Apple SDK and should (maybe?) be included by default. Adding darwin.apple_sdk.libs.xpc explicitly as input fixes this specific build error (70a367577e213ad058943c8b118ae5ed0e3af6b1), but the error then is somewhere in QT), so I reverted that change again.

How is this PR going?

Hi, please check ofborg failure (on darwin) below

Result of nixpkgs-review pr 348045 run on aarch64-darwin 1

1 package failed to build:

sioyek

any update?

This fails for me with (after a rebase):
> /nix/store/v39c0h6xv6hvki2k1bsyp5n090q8y2bp-clang-wrapper-16.0.6/bin/clang++ -stdlib=libc++ -headerpad_max_install_names  -arch arm64 -isysroot /nix/store/amdympl4rz7kj93j82cva60v8007n4nv-apple-sdk-11.3/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -mmacosx-version-min=11 -o sioyek.app/Contents/MacOS/sioyek  TouchSlider.o TouchCheckbox.o TouchListView.o TouchCopyOptions.o TouchRectangleSelectUI.o TouchRangeSelectUI.o TouchPageSelector.o TouchConfigMenu.o TouchTextEdit.o TouchSearchButtons.o TouchDeleteButton.o TouchHighlightButtons.o TouchSettings.o TouchAudioButtons.o TouchMarkSelector.o TouchDrawControls.o TouchMacroEditor.o TouchGenericButtons.o TouchMainMenu.o book.o config.odatabase.o document.o document_view.o input.o main.o main_widget.o pdf_renderer.o pdf_view_opengl_widget.o checksum.o new_file_checker.o coordinates.o sqlite3.o ui.o path.o utils.o mysortfilterproxymodel.o RunGuard.o OpenWithApplication.o fzf.o synctex_parser.o synctex_parser_utils.o macos_specific.o qrc_resources.o moc_TouchSlider.o moc_TouchCheckbox.o moc_TouchListView.o moc_TouchCopyOptions.o moc_TouchRectangleSelectUI.o moc_TouchRangeSelectUI.o moc_TouchPageSelector.o moc_TouchConfigMenu.o moc_TouchTextEdit.o moc_TouchSearchButtons.o moc_TouchDeleteButton.o moc_TouchHighlightButtons.o moc_TouchSettings.o moc_TouchAudioButtons.o moc_TouchMarkSelector.o moc_TouchDrawControls.o moc_TouchMacroEditor.o moc_TouchGenericButtons.o moc_TouchMainMenu.o moc_main_widget.o moc_pdf_renderer.o moc_ui.o moc_mysortfilterproxymodel.o moc_RunGuard.o moc_OpenWithApplication.o   -F/nix/store/vqdh4a4wql5g2339rfigy667cfybja79-qtdeclarative-6.8.0/lib -F/nix/store/7qps5dh35824i6a1r3zavhzmbph9zlwc-qtbase-6.8.0/lib -F/nix/store/z6czspdyq507q4kps95apxildxgsi4sp-qt3d-6.8.0/lib -F/nix/store/cgpsvgg13353wv183xmd98933p1qvc83-qtsvg-6.8.0/lib -F/nix/store/5sb3jk5jagkx0lhj0szi1xj19scmgcbr-qtspeech-6.8.0/lib -F/nix/store/nc8h7dspiyybxfd03g2iysnnr3iycc8j-qtmultimedia-6.8.0/lib -ldl -L/private/tmp/nix-build-sioyek-2.0.0-unstable-2024-09-29.drv-0/source/mupdf/build/release -lmupdf -lgumbo -lharfbuzz -lfreetype -ljbig2dec -ljpeg -lopenjp2 -lz -framework QtQuickWidgets -framework QtQuick -framework QtOpenGLWidgets -framework QtOpenGL -framework QtWidgets -framework Qt3DInput -framework Qt3DCore -framework QtSvg -framework QtTextToSpeech -l/nix/store/nc8h7dspiyybxfd03g2iysnnr3iycc8j-qtmultimedia-6.8.0/lib/QtMultimedia.framework/Versions/A/QtMultimedia -framework QtMultimedia -framework QtGui -framework AppKit -framework ImageIO -framework Metal -framework QtQmlMeta -framework QtQmlModels -framework QtQmlWorkerScript -framework QtQml -framework QtNetwork -framework QtConcurrent -framework QtCore -framework IOKit -framework DiskArbitration -framework UniformTypeIdentifiers -framework AGL -framework OpenGL
       > ld: warning: directory not found for option '-L/private/tmp/nix-build-sioyek-2.0.0-unstable-2024-09-29.drv-0/source/mupdf/build/release'
       > ld: library not found for -l/nix/store/nc8h7dspiyybxfd03g2iysnnr3iycc8j-qtmultimedia-6.8.0/lib/QtMultimedia.framework/Versions/A/QtMultimedia
       > clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
       > make: *** [Makefile:544: sioyek.app/Contents/MacOS/sioyek] Error 1
       For full logs, run 'nix log /nix/store/xvqksiyrh51mba69vgqxfp7r4ixdk81w-sioyek-2.0.0-unstable-2024-09-29.drv'.
error: 1 dependencies of derivation '/nix/store/qdc2a5i9r0i7km56v5wb4g38cfjcax3l-review-shell.drv' failed to build

Though it worked before the latest SDK updates.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 348045

x86_64-darwin

:x: 1 package failed to build:

sioyek

aarch64-darwin

:x: 1 package failed to build:

sioyek

The immediate failure comes from the fact that the QtMultimedia framework is passed as: -l/nix/store/nc8h7dspiyybxfd03g2iysnnr3iycc8j-qtmultimedia-6.8.0/lib/QtMultimedia.framework/Versions/A/QtMultimedia -framework QtMultimedia and I think only the -framework is needed (I was able to link the file once I remove the -l argument from Makefile).
I think this -l argument comes from /nix/store/5sb3jk5jagkx0lhj0szi1xj19scmgcbr-qtspeech-6.8.0/lib/QtTextToSpeech.framework/Resources/QtTextToSpeech.prl:
$ cat /nix/store/5sb3jk5jagkx0lhj0szi1xj19scmgcbr-qtspeech-6.8.0/lib/QtTextToSpeech.framework/Resources/QtTextToSpeech.prl
QMAKE_PRL_TARGET = QtTextToSpeech
QMAKE_PRL_CONFIG = shared lib_bundle
QMAKE_PRL_VERSION = 6.8.0
QMAKE_PRL_LIBS = -l/nix/store/nc8h7dspiyybxfd03g2iysnnr3iycc8j-qtmultimedia-6.8.0/lib/QtMultimedia.framework/Versions/A/QtMultimedia -F/nix/store/5sb3jk5jagkx0lhj0szi1xj19scmgcbr-qtspeech-6.8.0/lib -framework QtGui -framework OpenGL -framework AGL -framework AppKit -framework ImageIO -framework Metal -framework QtNetwork -framework QtCore -framework IOKit -framework DiskArbitration -framework UniformTypeIdentifiers
QMAKE_PRL_LIBS_FOR_CMAKE = -l/nix/store/nc8h7dspiyybxfd03g2iysnnr3iycc8j-qtmultimedia-6.8.0/lib/QtMultimedia.framework/Versions/A/QtMultimedia;-F/nix/store/5sb3jk5jagkx0lhj0szi1xj19scmgcbr-qtspeech-6.8.0/lib;-framework;QtGui;-framework OpenGL;-framework AGL;-framework AppKit;-framework ImageIO;-framework Metal;-framework;QtNetwork;-framework;QtCore;-framework IOKit;-framework DiskArbitration;-framework UniformTypeIdentifiers

I have no idea why this happens though. Someone with some knowledge around qmake may have some insight...

Agree with @booxter, came to the same conclusion when investigating this.
Maybe @K900 or @emilazy knows something? Sorry for bringing you into this, but seems like you both know your way around Qt. Any help will be greatly appreciated.

This is probably my fault, I messed with the Darwin Qt 6 build recently. Sadly I don’t actually know that much about Qt :) but I can try and take a look. If you could try with https://github.com/NixOS/nixpkgs/pull/352395 reverted it would be helpful.

Thx for the fast reply @emilazy
Checked out b242971, the commit before the pull request you linked, and the error is still the same. So doesn't seem to be your pull request that broke this.

Oh good, I’m off the hook then :)
Did it build before the Qt 6.8 update? It’d be good to see the .prl file on a Nixpkgs commit from before it broke (as close to that point as possible), and from after. Alternatively, if it’s not something obvious like 6.8 or the SDK rework, we might be able to bisect the commit that caused it. I can investigate what’s going on with the .prl files, but it would be good to have a lead of some kind first.

Since I have little experience with QT and definitely none whatsoever with how Nix does QT-library-stuff internally, I do not think this PR is the right place to debug this further.
I changed the commit message to reflect that only the typo is fixed. Since the overall build on Darwin is stil broken, I opened issue #366069 for further discussion regarding the QT problem.
With this: can we merge this PR?

Apologies for not being of more help, can't test on MacOS.
As a workaround for now, is it possible to revert the changes in https://github.com/NixOS/nixpkgs/pull/283813 with an overlay like the following?
final: prev:

{
  sioyek = prev.sioyek.overrideAttrs (previousAttrs: {
    src = final.fetchFromGitHub {
      owner = "ahrm";
      repo = "sioyek";
      rev = "v2.0.0";
      sha256 = "sha256-GFZaTXJhoBB+rSe7Qk6H6FZJVXr3nO9XgM+LAbS4te4=";
    };
    buildInputs = builtins.filter (pkg: final.lib.getName pkg != "qtspeech")
      previousAttrs.buildInputs or [ ];
  });
}

If I remember correctly, the changes to the build were fairly minimal. If there are problems due to the qt5 -> qt6 change, an overlay like this might work (again, untested).
final: prev:

let
  sioyek' = prev.sioyek.overrideAttrs (previousAttrs: {
    src = final.fetchFromGitHub {
      owner = "ahrm";
      repo = "sioyek";
      rev = "v2.0.0";
      sha256 = "sha256-GFZaTXJhoBB+rSe7Qk6H6FZJVXr3nO9XgM+LAbS4te4=";
    };
    buildInputs = builtins.filter (pkg: final.lib.getName pkg != "qtspeech")
      previousAttrs.buildInputs or [ ];
  });
in
{
  sioyek = final.qt5.callPackage sioyek'.override { };
}

If you're up for it, I would review a change that adds a separate Darwin derivation like what we do for signal-desktop.

With this: can we merge this PR?

Neither I nor xyven1 (I think) have merge permissions, so you can play the waiting game or ping one of the participants here who do. Or you can post on one of the NixOS discourse PR review threads like I did in https://github.com/NixOS/nixpkgs/pull/283813#pullrequestreview-2350442815.

Since the darwin build problems currently tracked in #366069 surfaced originally in this PR, just as a heads up:
I investigated the darwin build issue and found what's causing the problematic -l argument in /nix/store/5sb3jk5jagkx0lhj0szi1xj19scmgcbr-qtspeech-6.8.0/lib/QtTextToSpeech.framework/Resources/QtTextToSpeech.prl. See my draft PR #348045 for details and a potential fix.


Use temp directory for os test

This should allow us to extend filesystem tests.

Codecov Report

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

@@            Coverage Diff             @@
##           master     #849      +/-   ##
==========================================
+ Coverage   62.89%   62.96%   +0.06%
==========================================
  Files          88       88
  Lines       14547    14547
  Branches     3288     3288
==========================================
+ Hits         9150     9160      +10
+ Misses       3238     3221      -17
- Partials     2159     2166       +7

Impacted Files
Coverage Δ

vm/src/stdlib/os.rs
68.54% <0%> (+8.06%)
:arrow_up:

Continue to review full report at Codecov.

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

Great. חג שמח :smiley:


Update machine-learning-r-csharp-binary-classifier.md

Edit for freshness

Hi @jaymathe, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (jaymathe). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Plain text language isn't being split into lines

Hey! 👋
Not sure if this is expected behavior, but I noticed that the plain text language, i.e. txt, outputs the entire code inside a single . The whitespace is preserved, though, but the single line naturally causes problems with CSS.
I created a repro so you can quickly run it yourself.
import { unified } from 'unified'
import markdown from 'remark-parse'
import toRehype from 'remark-rehype'
import prettyCode from 'rehype-pretty-code'
import stringify from 'rehype-stringify'

const toHtml = unified()
  .use(markdown)
  .use(toRehype)
  .use(prettyCode)
  .use(stringify)
  .process

const result = await toHtml(`
~~~txt
first line
second line
third line
~~~
`)

console.log(String(result))

The above logs the following HTML:

first line
second line
third line

I feel like this might be a Shiki bug?
https://github.com/atomiks/rehype-pretty-code/blob/273da09538e49163518e04c5f0a76af1198cff85/src/index.js#L160
What does this line print out?

Managed to check this myself and yeah Shiki doesn't wrap each line with a new

shikijs/shiki#298 🙃

The fix has been released in Shiki v0.10.1.


fv3config.run_docker swallows error messages

Currently, fv3config swallows error messages that occur before the FV3 model is run. In addition, it automatically deletes the container making it impossible to inspect after the fact. This makes it difficult/impossible to debug errors in fv3config.run_native that can arise from errors in the config object or the fv3config.run_native.

Actually it does output errors, but just sends it to the command line stdout (which doesn't appear in a jupyter notebook for some reason). It shows up on the terminal running the jupyter notebook server.

I thought the default behavior was to write to out and err files?

IIRC the errors that happen before/after that (e.g. during `write_run_directory) will be outputted to the actual STDOUT.

I'm a little confused as to how fv3config can "swallow" its own stack traces? What is it expected to do other than send to stdout, and rely on whatever you're using to properly display stdout?

I can't remember what the exact issue is. I think the output stderr.log and stdout.log files won't be available under certain circumstances. Also the --rm flag makes it difficult to debug the container. Usually it would be possible to run the container and inspect its logs and contents for debugging purposes.

It sounds like in run_docker we want to call docker run in a way that it will store its stdout and stderr somewhere we can retrieve it.

docker run will do that automatically if you print to the terminal. Then these logs can be retrieved with docker logs.

GKE likewise has a mechanism for catching catching logging information from K8s jobs.

OK, so what's stopping the logs from being retrieved with docker logs?

the fact that they are being piped to stderr.log and stdout.log.

Here you seem to say the problem is that errors should not be printed to stdout:

Actually it does output errors, but just sends it to the command line stdout (which doesn't appear in a jupyter notebook for some reason). It shows up on the terminal running the jupyter notebook server.
And that you can't retrieve errors printed to stdout:
IIRC the errors that happen before/after that (e.g. during `write_run_directory) will be outputted to the actual STDOUT.

But now you're saying the problem is that you can't retrieve errors piped to log files, and instead want them piped to stdout? I must not be understanding.
Could you write down a MCVE comparing actual and expected behavior to help me understand the issue?
On a side note, stdout.log and stderr.log should be viewable in the outdir if python3 -m fv3gfs.run crashes. You only won't be able to retrieve those files if fv3config.fv3run crashes, in which case the crash should be reported in console as there's no piping of fv3config.fv3run output to stdout or stderr. In short,
fv3config.fv3run (baremetal) -> fv3config.fv3run (inside docker) -> fv3gfs.run
Only the last step has its log files piped to disk. The second step should copy the outdir even if the last step crashes. If the second step crashes, it should output to stdout and stderr. The subprocess.check_call command in the first step does no output redirection. If you're running on kubernetes, you just have the last two steps.

I think I mostly agree with you. You're the one driving this conversation, Jeremy. Feel free to close this issue, since as I said above, it mostly was an issue with running via the jupyter notebook. In that case, one of the subprocess-docker-subprocess layers was not printed to output cell, but rather printed in the terminal console running notebook server, which was confusing.
If I were to change anything, I would add an option to run_native to avoid piping the output to those files. This approach short-circuits the dockers' and k8s's mechanisms for capturing and interacting with stderr and stdout. For instance, one would like to use kubectl logs <podname> to print the outputs of a running job.

Haha ok great. I just felt weird having an issue open with no plan or route for anybody to fix it.
We talked at one point about adding optional out and err arguments to run_native which would pipe to a location you choose (only accessible from within python, not the command line). Feel free to open a new issue with that, if you like.


How to get the prediction of all models in the final population?

Hi! I want to implement an ensemble model based on the final population or an external archive, like [1]. However, I cannot find a way to get the prediction of all models in the final population. Can you help me with this? Thanks a lot!
[1]. Zhang, Hengzhe, Aimin Zhou, and Hu Zhang. "An Evolutionary Forest for Regression." IEEE Transactions on Evolutionary Computation (2021).

Hi,
This is currently not supported by the sklearn module, however it is rather straightforward to add this yourself:
$ git diff pyoperon
diff --git a/pyoperon/sklearn.py b/pyoperon/sklearn.py
index 8e9e4c2..d8f5509 100644
--- a/pyoperon/sklearn.py
+++ b/pyoperon/sklearn.py
@@ -320,7 +320,7 @@ class SymbolicRegressor(BaseEstimator, RegressorMixin):

         model_vars = [self.inputs_[h] for h in hashes]
         names_map = {v.Hash : v.Name for v in model_vars} if names is None else {v.Hash : names[v.Index] for v in model_vars}
-        return op.InfixFormatter.Format(self.model_, names_map, precision)
+        return op.InfixFormatter.Format(model, names_map, precision)

     def fit(self, X, y):
@@ -475,6 +475,8 @@ class SymbolicRegressor(BaseEstimator, RegressorMixin):
             'random_state': self.random_state
         }

+        self.individuals_ = gp.Individuals
+
         self.is_fitted_ = True
         # `fit` should always return `self`
         return self

Once you've made the above changes to sklearn.py (you'll find this file in the install location of pyoperon which you can find with pip show pyoperon), you can retrieve the population like this:
reg = SymbolicRegressor(...)
reg.fit(X_train, y_train)
individuals = [reg.get_model_string(x.Genotype) for x in reg.individuals_ ]
parents = individuals[reg.population_size:]
offspring = individuals[:-reg.pool_size]

This will get you the infix strings for the parents and offspring (normally you wouldn't need the offspring, since by the time the algorithm is finished they are already merged back into the parent population).
Alternatively, you could also directly use the python bindings without the sklearn interface, you can find an example here: https://github.com/heal-research/pyoperon/blob/cpp20/example/operon-bindings.py

This functionality will probably be included in the next release (pyoperon-0.3.5), in the meanwhile I will leave this issue open in case you run into any trouble.

Thanks for your prompt answer. However, I find these individuals perform poorly compared to the best model. Could you further check this? I have tried to get the best model based on the training error from the final population. However, the performance is still to be worse than the best individual. It is very weird.
I get predictions by using the following line of code:
prediction = [est.evaluate_model(x.Genotype, X) for x in est.individuals_]

The predictions you get are not scaled, while the best model returned by the SymbolicRegressor is scaled to the target using linear scaling: https://github.com/heal-research/pyoperon/blob/cpp20/pyoperon/sklearn.py#L446. Basically, the tree gets extended with two additional nodes at the root which perform the scaling.
If you scale the models you should get the same results (at least for the best model). Here, I am just applying the scaling, but can add the scale and offset as nodes to the model as shown in the snippet above.
models = [x.Genotype for x in reg.individuals_]
for m in models:
    y_pred = reg.evaluate_model(m, X_train)
    r2 = r2_score(y_train, y_pred)
    scale, offset = FitLeastSquares(y_pred, y_train)
    r2_scaled = r2_score(y_train, scale * y_pred + offset)
    print(r2, r2_scaled)

Thanks! I have tried your code. However, the results are still much worse. I doubt individuals stored in gp.Individuals are not the final individuals?

I need to have a look again, but I am pretty sure that the individuals are final. One thing to note is that only the first N=|pop| individuals from the gp.Individuals array represent the final population.
Could you share a piece of code which demonstrates the issue you are seeing? This would make it much easier to debug.

Thanks. Here is a link to the problematic part of my code. Is that convenient for you? Or do more need a cleaner example?
https://github.com/hengzhe-zhang/SR-Forest/blob/c664a3cb588e81e149a560a58b59707feb8eb2bf/sr_forest/operon_ensemble.py#L509-L518

Thanks, I can run your code, will return with a comment when I figure out what's going on there.

Hi,
I think your code had some bugs, mainly https://github.com/hengzhe-zhang/SR-Forest/blob/c664a3cb588e81e149a560a58b59707feb8eb2bf/sr_forest/operon_ensemble.py#L512 seems suspicious - where does that y come from?
With the following changes to operon_ensemble.py, everything seems to work:
461c461
<         self.individuals_ = gp.Individuals
---
>         self.individuals_ = [ get_solution_stats(x)[0] for x in gp.Individuals[:self.population_size] ]
509,517c509
<         for id, x in enumerate(est.individuals_):
<             if not id in self.linear_scaling:
<                 y_pred = est.evaluate_model(x.Genotype, X)
<                 scale, offset = op.FitLeastSquares(y_pred, y)
<                 nodes = x.Genotype.Nodes + [op.Node.Constant(scale), op.Node.Mul(), op.Node.Constant(offset),
<                                             op.Node.Add()]
<                 x.Genotype = op.Tree(nodes).UpdateNodes()
<                 self.linear_scaling.add(id)
<         prediction = [est.evaluate_model(x.Genotype, X) for x in est.individuals_]
---
>         prediction = [est.evaluate_model(x, X) for x in est.individuals_]
527c519
<     e = OperonX(generations=10)
---
>     e = OperonX(generations=10, population_size=100)
529,530c521,522
<     print(r2_score(y_train, e.predict(x_train)))
<     print(r2_score(y_test, e.predict(x_test)))
---
>     print('operon train', r2_score(y_train, e.predict(x_train)))
>     print('operon test', r2_score(y_test, e.predict(x_test)))
532c524
<     e = OperonForest(generations=10)
---
>     e = OperonForest(generations=10, population_size=100)
534,535c526,527
<     print(r2_score(y_train, e.predict(x_train)))
<     print(r2_score(y_test, e.predict(x_test)))
---
>     print('operon forest train', r2_score(y_train, e.predict(x_train)))
>     print('operon forest test', r2_score(y_test, e.predict(x_test)))
537c529
<     e = OperonForest(generations=10, decision_tree=DecisionTreeRegressor(splitter='random'))
---
>     e = OperonForest(generations=10, population_size=100, decision_tree=DecisionTreeRegressor(splitter='random'))
539c531,532
<     print(r2_score(y_test, e.predict(x_test)))
---
>     print('operon forest+DT train', r2_score(y_train, e.predict(x_train)))
>     print('operon forest+DT test', r2_score(y_test, e.predict(x_test)))

Excellent! It seems that Operon works very well in SR-Forest. Thanks for your help.


JSRT API to access javascript relational comparison function

It would be tremendously convenient if there were a JSRT API that could compare the magnitude of two JsValueRef's, as per the the ecmascript abstract relational comparison algorithm.

Thanks for the feature request @markt- .
This seems generally useful. Any proposal/suggestion on the shape of the API? Given NaN can be a valid output, I imagine returning a JsValueRef rather than a bool, which can be very annoying to deal with.

Indeed, I would expect a JsValueRef as well.   Testing for boolean value true or false would generally involve calling a JsGetValueType() call on the result first to make sure it isn't undefined.
The API, I would imagine, would have a function that takes two JsValueRef's, a boolean indicating whether to evaluate the left or right side first, and a pointer to the JsValueRef to put the result in.
This, I think, is the cleanest solution.
Alternative approaches that just output a bool, or even a 3-way comparison function return -1, 0, or 1 to indicate two values' relatve magnitudes have deficiencies when working with javascript types in that where a is not equal to b and a is not less than b, for instance, does not necessarily translate to a being greater than b, where this point is mitigated by allowing the relational comparison function being able to return undefined.  In my view the only right way to deal with this other than to use the aforementioned abstract relational comparison algorithm would be to define a very general comparison function within the API that takes two values and outputs a small bitvector (stored within a single int), which explicitly indicates which comparative relation operators would succeed for those values, and there would be one bit used for each relational comparison operation, ie, each of ==, !=, <=, >=, <, and >.  It's worth noting that for any given relational comparison, multiple bits would often be set in this output (eg, for the values 2 and 3 in that order, the bits corresponding to !=, <, and <= would each be set).  The only concern I would have with this being the partial overlap of such a function with the output of the existing JsEquals API call.

// + spec guru @bterlson and @curtisman for feedback
Thanks for the suggestion! I got some more time to look into the spec. Instead of the abstract relational comparison algorithm (ARCA), would an API that mirrors the < operator (alway returns a boolean) be more useful and intuitive? From what I've read in the spec, it looks like undefined from ARCA is mapped as false. In addition to having LHS and RHS as in-param, the API can have an additional in-param to indicate whether the host wants < or <=. Something like,
JsLessThan(
  _In_ JsValueRef lhs,
  _In_ JsValueRef rhs,
  _In_ bool allowsEqual,
  _out_ bool *lessThan
)

When I first saw your comment, I was concerned about the possibility of comparing two different non-primitive values, where both <= and >= comparisons could return true, but ==, <, and > would all return false, but it seems to be true in all cases where the comparison will not throw an exception that regardless of what < may evaluate to, >= is always the opposite and regardless of what <= is, > is always the opposite as well.  So yes, that would probably be fine.

@liminzhu your proposed API is good I think. What it loses from the ARC algorithm is the signal that any of the parameters are NaN. This doesn't seem too important to me.

Shall we tag this as accepting PR? @akroshg


[InstagramBridge] Track username change ?

When an instagram user changes his username, this broke the feed and there is no way to find out who is the new username. Is it possible to parse the id of the account to get the new username if the old one fails ?

Ok so it would involve first storing the user id which is fairly simple because it's on the source of the user page, but then if you want to get the username from the ID you need to use either the official API or a scraper who need to login: https://github.com/postaddictme/instagram-php-scraper

I don't see any credentials in these examples, so it might be possible without authentication:

https://github.com/postaddictme/instagram-php-scraper/blob/master/examples/getAccountById.php
https://github.com/postaddictme/instagram-php-scraper/blob/master/examples/getAccountByUsername.php

That being said, changing user names should be very rare, so caching and tracking might not be worth the effort. Especially when taking into consideration that bridges are not supposed to do caching right now.
For now I'll mark this as a blocked feature request. Future changes could make this easier to implement.

Is this still relevant? Rare event this is.

This is a use case for #1380

@Tokariew perhaps you want to take a stab at this

@Tokariew perhaps you want to take a stab at this

sorry, my main account was banned, so currently don't have account to test
but if this not require authorization i will check on some weekend


(1164) Update seeds to reflect data model changes

Context

#254 and #255 were the first steps in some changes to course-related entities: moving the referable property to the Offering entity and moving to only have one audience per Course
Changes in this PR

Update the seeds to allow the UI to be run locally without mocking the relevant endpoints
Update config to allow the API to run locally

Release checklist
Release process documentation
As part of our continuous deployment strategy we must ensure that this work is
ready to be released once merged.
Pre-merge

[ ] There are changes required to the Accredited Programmes UI for this change to work...

[ ] ... and they been released to production already

Post-merge

[ ] Manually approve release to preprod
[ ] Manually approve release to prod

 Read referable from an Offering rather than a Course (S)

 Read singular "audience" value from API (M)


Cyrillic URLs seem to cause issues

Describe the bug
When using cyrillic in URLs, and switching from locale to locale (with the provided LocaleSwitcher component, everything works as expected except when going from a URL containing cyrillic to a locale which URL is not cyrillic.
To Reproduce
With this config:
routes: {
    "de": {
      "cookies": "cookie-richtlinien",
      "contact": "kontakt",
    },
    "ru": {
      "cookies": "cookies",
      "contact": "контакты",
    },
  },

Starting on de/kontakt, the link to the russian version is ru/контакты.
Going to ru/cookies with the navigation works as well. On that page, the German page is de/cookie-richlinien as expected.
Going back to ru/контакты, the German versions of the page show up as de/контакты leading to a 404.
This works with any other language as destination: they are all listed with the cyrillic URL.
I was able to fix this by decoding the URI in LocaleSwitcher:
let links = astroI18n.locales.map((locale) => ({
    locale,
    href: l(decodeURI(Astro.url.pathname), params, {
        targetLocale: locale,
    }),
    label: labels[locale] || locale,
}));

Mandatory reproduction repository
Reproduction of the bug

It should be fixed try again with the last version.

Yes indeed! Thank you!


TarVFile refactor

Extracted from #441.
Refactored TarVFile and webdataset functionalities to work with high-level File api and dropped old functionality. This has a lot of overlap with Add datachain.lib.tar.process_tar() generator #440 and remove legacy udf decorator #438.

Closing in favor of #448 since I can't update this PR any longer

@rlamy Yes, it is up to you if you think it's worth merging. You could also consider taking parts of it now or in the future.
In response to your specific concerns:

Removing FileSlice means that we lose the ability to perform random reads inside a tar archive. To read a single image inside a webdataset file, we now need to get the whole file.
I wonder how much the performance actually suffers here - it doesn't appear much worse in the examples. I did try to optimize this a bit so it streams the file and skips over each entry until hitting the image requested. The advantage would be that it is simpler and relies on tarfile, which also means it will support things like compression. Also, supporting other archive types could probably be achieved in a similar way easily.

However, it is possible to drop this part of the PR and bring back FileSlice along with a TarVFile.offset attribute. The rest of the PR could remain the same.

We lose the ability to merge files and v-files in the same dataset - in fact, we're effectively doing away with the whole idea of v-files.
Yes, I guess that's the primary benefit and drawback of the PR besides dropping a lot of code. Now that there is mature support for different File and DataModel classes, is VFile needed? IMHO the approach in this PR is more straightforward, and it will be easier to implement new v-objects and document how to do this since it only requires a new File-like class.

As you note, the drawback is the inability to merge files and v-files since they are two different DataModel classes. Is it useful to keep the raw tarfile records alongside the extracted objects? If so, is supporting two related classes in a dataset columns something that needs to be supported generally?

Just remembered another benefit to this PR: reading image files. The current wds examples won't work for model training since they don't read the file contents as images.

I like the simplification and that we are relying on the existing abstractions (and optimization can be done on top even in this PR - model itself can stay simpler).

We lose the ability to merge files and v-files in the same dataset

@rlamy could you clarify please? what is the scenario / use case for this?

We lose the ability to merge files and v-files in the same dataset

@rlamy could you clarify please? what is the scenario / use case for this?

We lose the ability to merge files and v-files in the same dataset

@rlamy could you clarify please? what is the scenario / use case for this?

An example would look like:
base = DataChain.from_storage("s3://webdataset-stuff").gen(...)
extra = DataChain.from_storage("gs://raw-images").filter(C.path.glob("*.png").map(...)
combined = (base | extra).filter(...)

I agree that using .location is clumsy, but I think that the ability to combine data from different sources without copies is essential functionality.
Now, .location is actually a work-around for the fact that we only support unions when the data models are exactly the same. So if we want to move on with this PR, I think we need to find a way to make DataChain.union() compatible with model inheritance (i.e. the schema of the union is the common base of the schemas, calling collect() on the union returns the original objects, etc.)

Closing for now since I don't see it progressing.


chore(deps): bump https://github.com/jenkins-x/jx-cli to 3.0.374

Update jenkins-x/jx-cli to 3.0.374
Command run was ./promote/main

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign daveconde
You can assign the PR to them by writing /assign @daveconde in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Bugs in codes

Hi,
I think your codes need to be carefully reviewed because there are many bugs and unused variables inside. Such as 'iteration = (epoch -1) * cfgs.batch_size + step + 1' in URFunny_main.py. The code style of scripts for different datasets is even different, making replication and migration very difficult and annoying.

What is your bug? Or is there anything you do not understand? The computation of iteration refers to the step of iteration for the entire training process.

What is your bug? Or is there anything you do not understand? The computation of iteration refers to the step of iteration for the entire training process.

The computation here should use len(dataloader) not batch_size. This makes the iteration as well as train_score to be  totally wrong.

Yes, it is a typo. I'm ready to correct it. thx!


replacing hardcoded data with fetch for average values

chart shows real data from the API

Hi Laura, well done, great job! I think you have done some changes to make the code compatible with chart requirements. However, you have the total messages and reactions for the channel instead of averages. I calculated averages in the front-end because I wasn't be able to it in database query. I believe either I need to change the query again or we make some small changes in the front-end . Let's decide it in the stand-up meeting.

I made some changes on the front-end with the data for the chart and managed to get the right calculation for the averages.


Electron 12.0.0 'Require' is not defined

Hey!
I am running into a problem using this quick start. Before I package the app, everything works fine and the node 'require' works fine without errors. However, when I use electron-packager and try out the .exe, it gives an error ar line 1 that 'require' is not defined:
const { app, BrowserWindow } = require('electron')

I have tried with and without nodeIntegration but it doesn't seem to change the error. Here is my createWindow() function:
mainWindow = new BrowserWindow({
    width: 500,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      // preload: path.join(__dirname, 'preload.js'),
    },
    resizable: false,
    icon: 'logo.png',
    frame: false
  })

  mainWindow.setMenuBarVisibility(false)

  // and load the index.html of the app.
  mainWindow.loadFile('index.html')

  // Open the DevTools.
  // mainWindow.webContents.openDevTools()

Thank you!

Same problem here.

My case says require is not defined in renderer.js
This is my renderer.js
const { ipcRenderer } = require('electron')

This is expected with the contextIsolation default change.

Hi,
after recent changes in electron, 99% of the examples with native modules out there don't work any more.
Is there any working example that compiles and runs with the current node and electron?

Hi,
after recent changes in electron, 99% of the examples with native modules out there don't work any more.
Is there any working example that compiles and runs with the current node and electron?
@ifcquery

const win = new BrowserWindow({
        webPreferences: {
            nodeIntegration: true,
            contextIsolation: false
        }
    })

However, I do not know the exact implications of contextIsolation

@updatesvc thanks, this has helped to solve the issue. I'm also worried if setting contextIsolation is a good idea, but at least it fixes the require issue.

@codebytere If this issue is expected, how do we import a renderer script into our index.html file without turning on Node integration and turning off context isolation? As far as I understand their defaults are meant to protect the user from malicious code.

Hey!
I am running into a problem using this quick start. Before I package the app, everything works fine and the node 'require' works fine without errors. However, when I use electron-packager and try out the .exe, it gives an error ar line 1 that 'require' is not defined:
const { app, BrowserWindow } = require('electron')

I have tried with and without nodeIntegration but it doesn't seem to change the error. Here is my createWindow() function:
mainWindow = new BrowserWindow({
    width: 500,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      // preload: path.join(__dirname, 'preload.js'),
    },
    resizable: false,
    icon: 'logo.png',
    frame: false
  })

  mainWindow.setMenuBarVisibility(false)

  // and load the index.html of the app.
  mainWindow.loadFile('index.html')

  // Open the DevTools.
  // mainWindow.webContents.openDevTools()

Thank you!

I added these to BrowserWindow and it works fine
nodeIntegration: true,
contextIsolation: false,
enableRemoteModule: true,

@codebytere If this issue is expected, how do we import a renderer script into our index.html file without turning on Node integration and turning off context isolation? As far as I understand their defaults are meant to protect the user from malicious code.

@codebytere  you raised a very important solution I think. I'm trying to use preload.js and react so contextIsolation has to be true for me to be able to use it but then it starts to give the same error

For anyone wondering how to avoid turning on Node Integration or turning off Context Isolation: My team used this template project to get started. It is a Typescript React app that does not use create-react-app, so it may not be exactly what you're looking for. However, it is small and easy to understand, it's possible you could adapt some other framework to use the same principles.

@artium-ryanh  Any chance you could help get this going with a Next.js-Electron Application?

No, I'm sorry. I'm far from an expert on this issue. I just started from the template project that I linked to and played with it until it met my needs. I couldn't set up another React/Electron app with different tooling.

Could you explain where the MAIN_WINDOWS_WEBPACK_ENTRY and MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY are coming from?

A

Boa noite. No meu código, uso const {remote} = require('electron'); em um aquivo. Uso o require(électron´) mas o erro que o console acusa é somente nesta chamada.  webPreferences: {
nodeIntegration: true,
contextIsolation: true
}
Já alterei esses parêmtros e nada adiantou.

@mlumoura The remote module was removed in Electron 14. If you really need to migrate an older project to newer versions of Electron, see: https://github.com/electron/remote
Otherwise, please use the IPC modules directly: https://www.electronjs.org/docs/latest/tutorial/ipc

For everyone still looking for a solution, this should work. I am using ipcRenderer as an example, but it should work for any node module that you need to require.
In your browser window, set nodeIntegration and contextIsolation to true. Also add a preload option.
It should look like this
` mainWindow = new BrowserWindow({
webPreferences: {
  nodeIntegration: true,
  contextIsolation: true,
  preload: path.join(__dirname, 'preload.js'),
}

});`
In preload.js, add this
`const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('ipcRenderer', {
send: (channel, data) => ipcRenderer.send(channel, data),
on: (channel, func) =>
ipcRenderer.on(channel, (event, ...args) => func(...args)),
});`
What the proload.js script does is it has exposed the module needed to the renderer.
So, in your renderer js file, do not require ipcRenderer (or any other node module). Just use it directly and it should work


Grafana alerts are created for Clickbench

Closed by: https://github.com/spicehq/ai-platform/pull/8385


cancel-backfill: Add exclude/include-pools options

Only cancel backfills for PGs belonging to the set of pools selected by --exclude-pools/--include-pools.
Pools can be specified by integer ID or by name.

Looks good other than the test failure! Turns out that test failure is partially our fault - https://github.com/digitalocean/pgremapper/pull/39 will fix up the test implementation and then you can add pool 2 to setupTest() once you pull those changes in.

I was a bit perplexed as to why TestCalcPgMappingsToUndoBackfill is failing here, as it was working fine in my environment, but I think it's because it runs osdPoolDetails() for real (as opposed to using hard-coded JSON) as part of reorderUpToMatchActing(), and I assume there's no pool ID 2 in the test environment.
I could remove PG 2.* from the tests, but then it wouldn't exercise much of the exclude/include pools code path. So is there an easy way to add a pool in the test environment?

@baergj Race condition with my comment. :) I'll look into #39 now...


refactor using t3 stack

This will be closed because the backend will be rewriten in the future in a more performant language.


Button to deploy to heroku

I want to deploy it to heroku.
But I don't know how to run the docker container on heorku.
Can you please provide the heroku deploy to heroku directly which will help me to complete my project.

I was able to get this deployed to heroku using their Dockerfile deployment method:
https://devcenter.heroku.com/articles/build-docker-images-heroku-yml
Dockerfile
FROM gotenberg/gotenberg:7
CMD ["gotenberg"]

hereoku.yml
build:
  docker:
    web: Dockerfile

run:
  web: gotenberg --api-port-from-env PORT


[Wish] Able to decide where to place the Story Point area

I have a module that is using the same are as the Story Points so it would be a nice feature to be able to set what corner you wish the Story Point tray to be located.
In my case I solved it by changing in the css-file.
E.g:

While on top of Story Points. Would it be possible to have an option to manually edit their number in either pools?
Sometimes there are abilities that use up 2 of them and in other situations I have seen people homebrew items/talents/whatever else that introduces more of them to the pools.

While on top of Story Points. Would it be possible to have an option to manually edit their number in either pools?
Sometimes there are abilities that use up 2 of them and in other situations I have seen people homebrew items/talents/whatever else that introduces more of them to the pools.

A GM can do this already by right-clicking the number. It will then let them edit the number directly.

While on top of Story Points. Would it be possible to have an option to manually edit their number in either pools?
Sometimes there are abilities that use up 2 of them and in other situations I have seen people homebrew items/talents/whatever else that introduces more of them to the pools.

A GM can do this already by right-clicking the number. It will then let them edit the number directly.

I... did not notice though I was trying to experiment my way to it. Thanks and it is non issue then.


xserver inside a systemd container (Cannot open virtual console 7 (No such file or directory))

Issue description
I upgraded from 16.03 to 16.09. I have a NixOS (systemd) container which runs xserver and I forwardX11 over ssh into that container so that I can run selenium webdriver tests. After the update, xserver no longer starts in my container. I get the error:
xf86OpenConsole: Cannot open virtual console 7 (No such file or directory)
Here's the full output from journalctl https://gist.github.com/jcbrand/c25cc4cc1e6e62de1695fce96216a0fd
Steps to reproduce
Add the following to a container's .nix config file:
 xserver.enable = true;
Here's my full container config: https://gist.github.com/jcbrand/be8335bb43af4c7337046f871dc3a77a
Technical details

System: 16.09.1764.ec7a66c (Flounder)
Nix version:  nix-env (Nix) 1.11.6
Nixpkgs version: 16.09.1764.ec7a66c"

On IRC @cillianderoiste pointed out that this issue might be related to the allowedDevices option and the fact that now systemd's DevicePolicyis set to "closed" which is the reason/dev/net/tun` could not be created inside containers.
See here: https://github.com/NixOS/nixpkgs/issues/18708
And info on DevicePolicy: https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html#DevicePolicy=
I've set containers.foo.allowedDevices to allow "/dev/console" and "/dev/tty0" but it doesn't seem to make a difference.

This is resolved in 17.03 by using allowDevices.


License updates

No JIRA required. This is a port of https://github.com/jbossas/jboss-eap7/pull/3438.

I really think we need to get away from this "no Jira required" situation both up and down stream, it takes seconds to create a Jira issue to assign it to a release to track the changes we have made.  This isn't as if it is correcting some minor typos, this is fixing how licence information of included components is represented.
Added to that the way GitHub represents the diffs makes them impossible to review.

https://github.com/wildfly/wildfly/pull/13142#issuecomment-604056866 applies here too.

I've created JIRA for this issue/PR: https://issues.redhat.com/browse/WFLY-13474


Add new get metrics interface for lianyou.

This is a private feature

plz keep this branch

Got it.


BUG: scipy.stats RuntimeWarnings are platform dependent

RuntimeWarnings when encountering NaN are platform and possibly compiler dependent.
Reproducing code example:
On Windows/ Python 3.7/conda/SciPy 1.3
$  python -c "import numpy;import scipy.stats;scipy.stats.norm.cdf(numpy.array([numpy.nan]));print('done')"
C:\Anaconda\lib\site-packages\scipy\stats\_distn_infrastructure.py:877: RuntimeWarning: invalid value encountered in greater
  return (self.a < x) & (x < self.b)
C:\Anaconda\lib\site-packages\scipy\stats\_distn_infrastructure.py:877: RuntimeWarning: invalid value encountered in less
  return (self.a < x) & (x < self.b)
C:\Anaconda\lib\site-packages\scipy\stats\_distn_infrastructure.py:1748: RuntimeWarning: invalid value encountered in greater_equal
  cond2 = (x >= self.b) & cond0
done

On Linux (Ubuntu 18.04/WSL),Python 3.7/conda/SciPy 1.3
python -c "import numpy;import scipy.stats;scipy.stats.norm.cdf(numpy.array([numpy.nan]));print('done')"
done

Scipy/Numpy/Python version information:

1.3.0 1.16.4 sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)

Pretty sure that that's NumPy's behavior. Similar to https://github.com/numpy/numpy/issues/9568

We've been solving or silencing these as we're encountering them. I don't think this issue is needed still. We're turning warnings into exceptions in CI, so they will be acted on when we see them. So I'll close this.


Unable to drain a node with DaemonSet using UI

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Deploy a DaemonSet (This was found when using the aqua)
Try draining node using the UI

Result:

Node will go into Error status and no pods will be removed

Other details that may be helpful:
::Workaround::
CLI:
kubectl drain --delete-local-data --ignore-daemonsets=true
API:

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.2.8
Installation option (single install/HA): HA

Same Issue here
+1

Hi
Are there any News to this issue? With Rancher 2.4.5 there are two news buttons if you Drain trough GUI: "Delete Local Data" und "Force" instead "Safe" and "Aggresive" but no more.. Would be really nice if ignore-daemonset is added to the GUI.
Regards


error: 'boxPoints' is not a member of 'cv'

Does OpenCV 2.x currently works?
I got an error about opencv.
My opencv is 2.4.7.
So I must use a higher version???

The error has been solved.

Glad to hear that you solved the problem by yourself.

Related cases #140 and #160, just in case some other newcomer hits this same problem: in my case I had both OpenCV 2.4.9  (at /usr) and OpenCV 3.4.7 (installed from sources to /usr/local).
With default installation this caused that OpenCV 2 was used, and the compilation problem happened. I updated library configuration  in ./third_party/opencv_linux.BUILD:
# OpenCV installed to /usr/local
cc_library(
    name = "opencv",
    srcs = glob(
        [
            "local/lib/libopencv_core.so",
            "local/lib/libopencv_calib3d.so",
            "local/lib/libopencv_features2d.so",
            "local/lib/libopencv_highgui.so",
            "local/lib/libopencv_imgcodecs.so",
            "local/lib/libopencv_imgproc.so",
            "local/lib/libopencv_video.so",
            "local/lib/libopencv_videoio.so",
        ],
    ),
    hdrs = glob(["local/include/opencv2/**/*.h*"]),
    includes = ["local/include"],
    linkstatic = 1,
    visibility = ["//visibility:public"],
)

I also cleaned my build with bazel clean --expunge just in case.


Formatting multiple package.json files in a mono repo fails

Formatting multiple package.json files in a mono repo seems to fail for me and I'm not sure what the problem is. I'm using the setup below using husky and lint-staged in a precommit hook.
{
  "scripts": {
    "precommit": "lint-staged"
  },
  "lint-staged": {
    "**/package.json": [
      "format-package -w",
      "git add"
    ],
    "*.js": [
      "eslint --fix",
      "git add"
    ]
  }
}

This works fine for multiple Javascript files. Whenever there is an linter error, ESLint kicks in and fixes the problem or halts the commit.
However it doesn't work when there are multiple package.json files staged for commit. It will format one and ignore the rest.

@matijs could you share an example repo setup that i could test on to try and fix this issue?

@matijs as a follow up - i now have a working example and hope to have a fix pushed this week

this issue should be fixed in v4.3

@camacho So sorry for not getting back to you sooner and well done reproducing and getting it fixed. 👍
I hope to check out 4.3 shortly.


NIFI-600: Adding compression support to PutHDFS and GetHDFS

Tim,
Thanks for tackling this! Looks great. Tested locally without any issue. Unit tests all look good. Checkstyle is good. Really appreciate the contributions you're making!


Add support to IPv6 addresses when blocking IP addresses

I'm pretty sure that the current core doesn't support IPv6 addresses in the system/permissions/blacklist dashboard page (and all the related stuff).
What about adding support to that (maybe using the great https://github.com/mlocati/ip-lib library :wink:)?

Nice!

@aembler @KorvinSzanto a question for you...
Adding support to IPv6 requires changes to the database structure in order to save the new data (affected tables will be UserBannedIPs and SignupRequests).
What shall we do with those tables? We could update them, but third party packages will become broken.
Alternatively, we could add new tables, and keep the old tables empty or remove them.
I'd go with the first option: in any case packages using those tables will need some adjustments because of the new IPv6 support.

I would think just update the tables with a note about backward compatibility in the update notes. I would think the addons that rely on those tables is small in number

There are too many irons in the fire ATM: I'd wait until we have less pull requests before working on this.