5.22_Explain_everything_related_CoreDNS

Description 📜
Explain everything related to CoreDNS
Fixed #656

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Open Source

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@Aryamanz29 please check


RuntimeErorr: Cuda out of memory.

I'm running the latest version of the program. I can train successfully using the softgroup_s3dis_backbone_fold5.yaml file. When training with the softgroup_s3dis_fold5.yaml file, when the first Epoch training is finished and validation starts, the progress bar starts to report an error after reaching 11%. RuntimeErorr: Cuda out of memory. I tried to reduce the learning rate to 0.001 but found that it did not work. I only have a 3080 video card with 10G of video memory, is there any way to continue the training if I want to?

The S3DIS scenes are very large with up to millions of points, so evaluation of this dataset requires a lot of memory. You can skip validation by using --skip_validate.

I skip the verification step and finally complete the entire training of S3DIS, but I still get an error when testing: RuntimeErorr: Cuda out of memory. I would like to ask if it is possible to test with one graphics card?

We run S3DIS on large GPU mem. I think 10G is not enough to run inference on S3DIS. One work around is to add continue in tools/test.py when meet scans with large number of points (e.g. 500k).

I have the same problem, my GPU is
GPU 0: NVIDIA GeForce RTX 3090
GPU 1: NVIDIA GeForce RTX 3090
GPU 2: NVIDIA GeForce RTX 3090
GPU 3: NVIDIA GeForce RTX 3090
if I need other large GPU

are you having problem with training + validation

YES.

Maybe distributed training requires more GPU memory. You can add --skip_validate to training. Then evaluate after finishing training.

OK,  Thank you

我跳过了验证步骤，终于完成了S3DIS的整个训练，但是测试的时候还是报错：RuntimeErorr: Cuda out of memory。请问能不能用一张显卡测试？

Excuse me, have you solved your problem? I have the same problem as you.Where should 'continue' be added to 'tools/test.py'?

I skip the verification step and finally complete the entire training of S3DIS, but I still get an error when testing: RuntimeErorr: Cuda out of memory. I would like to ask if it is possible to test with one graphics card?

Excuse me, have you solved your problem? I have the same problem as you.Where should 'continue' be added to 'tools/test.py'?

Maybe distributed training requires more GPU memory. You can add --skip_validate to training. Then evaluate after finishing training.
@thangvubk --skip_validate only worked in traing, it can't solve the problem in inferencing

The S3DIS scenes are very large with up to millions of points, so evaluation of this dataset requires a lot of memory. You can skip validation by using --skip_validate.

When training on Scannet, i met the problem when validate:
"RuntimeError: CUDA error: an illegal memory access was encountered
terminate called after throwing an instance of 'c10::CUDAError'"
How can i deal with it?

When training on Scannet, i met the problem when validate: "RuntimeError: CUDA error: an illegal memory access was encountered terminate called after throwing an instance of 'c10::CUDAError'"
How can i deal with it?

That problem is mostly due to the GPU capabilities. I don't know what's the average number of points per scan in the ScanNet dataset, but I figured out two options when facing this issue:
· Option 1: Reduce the val_dataset memory weight
When I worked with my own custom data in the STPLS3D dataset backbone I had the same problem and I fixed it by cropping my scenes. In the original work the scenes were cropped in cells of 25 meters and in my case I could overcome this problem by cropping the scene in cells of 10 meters (without losing the geometrical meaning).
The ScanNet  dataset is a different case and maybe cropping the scene could help. However, a possible solution is randomly downsampling the validation point clouds and then preprocess the validation set again. If the problem persists, keep trying to downsampling the validation point clouds (but be careful with the geometrical meaning, visualize them before test the model)
· Option 2: Buy and add new GPU(s) :)

Hello,I think this problem is " pin_memory " this option. If you set this option True, the data loading is faster. But you need more GPU memory.(2x3090 are not work) So I set it from True to False , I can train and validate successfully. But when validating, you need 100GB+ RAM. I guess.
My configuration
RAM 125.5GIB
GPU 2x3090(24GB)


Make sure we use sex instead of gender

Pieter: Also it needs to be Sex: Male or Female not Gender, or twitter ppl get angry (not me)

Michael: haha the pushback we got from some people on that was a little surprising, but yes, I guess better safe than sorry

https://t.me/onzecorona/718

The design didn't use the translations :) Fixed in english, dutch was already ok (using "Sekse")


YARN-10014. Refactor boolean flag based approach in SchedConfCLI#run.

1746

 Quality gate: Failed
2 Issues

 2 Code issues

Details

 Quality gate: Failed
2 Issues

 2 Code issues

Details


Personal info setting

[ ]  Does the code work?
[ ]  Are functions, methods, and variables adequately named?
[ ]  Any test on the new function?
[ ]  Is it well tested? It should pass all jest tests.
[ ]  Is the code clear and easy to understand?
[ ]  Does it meet the team guidelines and style guides?
[ ]  Is there any duplicated code?
[ ]  Is documentation on functions, methods, classes, contexts, and behaviours adequate?
[ ]  Are there better or simpler solutions?
[ ]  Is there any performance issue?

The required function working within expectations, and it passed postman tests.


WIP: Refactor build task, caching mechanisms and middleman frontmatter

See commits for details.
TODO: make tests less horrific.

This somehow got very big - the commit in https://github.com/alphagov/govuk-developer-docs/pull/2916/commits/6ec9e1b7cbc17a14b0709af6c60b9d0d5be77224 took over an hour to build 😱
Closing this and opening a new PR #2918.

This somehow got very big - the commit in https://github.com/alphagov/govuk-developer-docs/pull/2916/commits/6ec9e1b7cbc17a14b0709af6c60b9d0d5be77224 took over an hour to build 😱
Closing this and opening a new PR #2918.


Added excellent 3Blue1Brown visual transformer explanation

3Blue1Brown just added this excellent video explaining how transformers work. It seems more intuitive and easier to understand than the existing References in the section 1. The LLM architecture.

Thanks for your suggestion! I added it and credited you here: https://github.com/mlabonne/llm-course?tab=readme-ov-file#acknowledgements


random targets for individual trains

each train should have it's own flag for selecting routes automatically. The global checkbox syncs the setting for all trains?

while we're at it, we probably want custom wait times. Per train / per block or global setting?

Each train has a random targets checkbox. Train only starts random targets when global setting is enabled though.

Also make it possible to exclude certain blocks from random targets pool.


[CU-86er1kwvj] Fix broken CI workflow about bot-CI

Target

Task summary:
Fix broken CI workflow about bot-CI.

Task tickets:

Task ID: CU-86er1kwvj.
Relative task IDs: N/A.

Key point change (optional):
N/A.

Effecting Scope

The CI workflow about Bot PR.

Description

Fix the if-condition error.
Try to remove unnecessary block area.

Task linked: CU-86er1kwvj [CI] Fix broken CI workflow about bot-CI


Finnish translation

Create fi.json
Update localize.ts

localize.ts probably needs fixing if more languages have been added


Server Error for objects that are not JSON serializable

Within a view function setting resp.media throws an Internal Server Error if the object is not JSON serializable.
This is due to the format_json-method in formats.py
I am guessing that the format_yaml-method shows a similar behavior.
My proposal to solve this issue is the implementation of a new annotation like this:
@api.media_encoder(UnserializableClass)
def my_encoder(obj):
    ...

If I have permission I would write the PR.

You can clone the repository and make a PR from your own repo.


fix readme link

@yxdyc
Besides, the subsection titled Documentation Index | 文档索引 is always presented side by side in both README.md and README_ZH.md. Could this be considered slightly redundant? Especially for developers who are not familiar with Chinese, it might come across as a mess.

Please change the version to 0.2.0 in the data_juicer/init.py also~

@yxdyc
Besides, the subsection titled Documentation Index | 文档索引 is always presented side by side in both README.md and README_ZH.md. Could this be considered slightly redundant? Especially for developers who are not familiar with Chinese, it might come across as a mess.

Agree, please @zhijianma also modify accordingly.


responsive settings not working correctly with fixedWidth and items

Hi,
thank you for creating tiny slider and dedicating your time to developing it!
In general it works well but I found a small but annoying bug while using responsive settings.
Issue description:
When I use fixedWidth on mobile and then on bigger breakpoints I change it to fixedWidth: false and I set items: numberOfItems instead, the slider only displays 1 item instead of numberOfItems.
Problem occurs only when scaling from mobile to desktop. The other way around there's a problem with displaying the last slide on mobile.
Demo link/slider setting:   https://codepen.io/adaban/pen/yQMprW
Tiny-slider version:   2.8.7
Browser name && version:  Chrome 70, Firefox 63, Safari 12
OS name && version:   MacOS Mojave 10.14

Thanks for the reply!


services.borgmatic.enable does not enable borgmatic.timer

Describe the bug
Setting borgmatic.timer = true results in borgmatic.timer unit to be installed but not enabled. This results in borgmatic.service not being run automatically.
Steps To Reproduce

Enable borgmatic in configuration.nix:

services.borgmatic = {
  enable = true;
  settings = {
    # omitted
  };
};

Rebuild the system.

Inspect the systemd timers:

$ systemctl list-timers | grep borgmatic # empty output
$ systemctl status borgmatic.timer
○ borgmatic.timer - Run borgmatic backup
     Loaded: loaded (/etc/systemd/system/borgmatic.timer; linked; preset: enabled)
     Active: inactive (dead)
    Trigger: n/a
   Triggers: ● borgmatic.service

Expected behavior
borgmatic.timer is enabled and scheduled for execution.
Additional context
systemd.timers.borgmatic.enable = true does not have an effect (besides adding borgmatic.timer.d/overrides.conf).
Starting the timer manually enables the timer:
# systemctl start borgmatic.timer
$ systemctl list-timers
NEXT                        LEFT          LAST                        PASSED    UNIT                         ACTIVATES
Tue 2022-12-20 02:53:08 CET 4h 12min left Mon 2022-12-19 22:24:08 CET 16min ago borgmatic.timer              borgmatic.service

Notify maintainers
@pennae @dotlambda
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.83, NixOS, 23.05 (Stoat), 23.05.20221218.04f574a`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.12.0`
 - channels(root): `"nixos, nixos-hardware"`
 - channels(raindev): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I can also confirm that I have recently ran into this problem.
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.18, NixOS, 23.05 (Stoat), 23.05.git.5a1dc8ac`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I ended up getting it working. I setup my borgmatic config like so:
{
  pkgs,
  config,
  ...
}: {
  services.borgmatic = {
    enable = true;
    settings = {
      # omitted
    };
  };
  systemd.timers.borgmatic = {
    enable = true;
    wantedBy = ["timers.target"];
    timerConfig = {
      Unit = "borgmatic.service";
      OnCalendar = "daily";
      Persistent = true;
      RandomizedDelaySec = "3h";
    };
  };
}

This creates the overrides.conf as @raindev mentions. But I load the borgmatic.service as the Unit to populate the Triggers. The sample that is loaded as the timer doesn't actually include this bit. Wiki explains how to do this here: https://nixos.wiki/wiki/Systemd/Timers
In the end I get a running timer
 ╰─λ systemctl status borgmatic.timer
● borgmatic.timer - Run borgmatic backup
     Loaded: loaded (/etc/systemd/system/borgmatic.timer; enabled; preset: enabled)
    Drop-In: /nix/store/bhjgfxd5bj9xdv522nnm6s7xwfg2zn41-system-units/borgmatic.timer.d
             └─overrides.conf
     Active: active (waiting) since Thu 2023-04-13 21:22:15 MDT; 9min ago
      Until: Thu 2023-04-13 21:22:15 MDT; 9min ago
    Trigger: Fri 2023-04-14 01:25:06 MDT; 3h 53min left
   Triggers: ● borgmatic.service

I believe this issue has been solved in https://github.com/NixOS/nixpkgs/pull/226663


Add devcontainer config for developing Gitea

With the recent release of https://github.com/loft-sh/devpod making ephemeral dev environments (ala GitPod/Codespaces) much easier (aka, no pre-configured infra required). This allows an alternative to using GitPod for such development options.

In Gitpod we also write an app.ini and run make watch. I wonder if that's possible here, could also go in a future PR

Where is the start command?

Also, please re-format this file to 2-space.

Also, please re-format this file to 2-space indent.

updated formatting.

Where is the start command?

none yet.

I tried spinning up a GitHub Codespace but it failed, log:
###########                                                               15.4%2023-05-18 14:56:47.682Z:
###########                                                               15.5%2023-05-18 14:56:48.734Z:
###########                                                               15.6%2023-05-18 14:57:27.621Z:
###########                                                               15.7%curl: (18) transfer closed with 21098780 bytes remaining to read
#17 122.9
#17 122.9 Binary download from https://nodejs.org/dist/v20.2.0/node-v20.2.0-linux-x64.tar.xz failed, trying source.
#17 122.9 grep: /usr/local/share/nvm/.cache/bin/node-v20.2.0-linux-x64/node-v20.2.0-linux-x64.tar.xz: No such file or directory
#17 122.9 Provided file to checksum does not exist.
#17 122.9 Binary download failed, trying source.
#17 122.9 Detected that you have 2 CPU core(s)
2023-05-18 14:57:27.771Z: #17 122.9 Number of CPU core(s) less than or equal to 2, running in single-threaded mode
2023-05-18 14:57:27.922Z: #17 123.1 Downloading https://nodejs.org/dist/v20.2.0/node-v20.2.0.tar.xz...
2023-05-18 14:57:28.224Z: #17 123.4 #=#=#
curl: (22) The requested URL returned error: 500
#17 123.4
#17 123.4 Binary download from https://nodejs.org/dist/v20.2.0/node-v20.2.0.tar.xz failed, trying source.
#17 123.4 grep: /usr/local/share/nvm/.cache/src/node-v20.2.0/node-v20.2.0.tar.xz: No such file or directory
#17 123.4 Provided file to checksum does not exist.
#17 123.4 ERROR: Feature "Node.js (via nvm), yarn and pnpm" (ghcr.io/devcontainers/features/node) failed to install! Look at the documentation at https://github.com/devcontainers/features/tree/main/src/node for help troubleshooting this error.
2023-05-18 14:57:28.243Z: {"outcome":"error","message":"Command failed: docker buildx build --load --build-context dev_containers_feature_content_source=/tmp/devcontainercli-root/container-features/0.41.0-1684421683984 --build-arg _DEV_CONTAINERS_BASE_IMAGE=mcr.microsoft.com/devcontainers/go:1.20 --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp --target dev_containers_target_stage -t vsc-gitea-e34ec3f68ee66efeb08de38b5a53c8c0e83bc2a9a5802233221d193ce35354ef-features -f /tmp/devcontainercli-root/container-features/0.41.0-1684421683984/Dockerfile.extended /var/lib/docker/codespacemount/.persistedshare/empty-folder","description":"An error occurred setting up the container."}
2023-05-18 14:57:28.249Z: #17 ERROR: executor failed running [/bin/sh -c cp -ar /tmp/build-features-src/node_1 /tmp/dev-container-features  && chmod -R 0755 /tmp/dev-container-features/node_1  && cd /tmp/dev-container-features/node_1  && chmod +x ./devcontainer-features-install.sh  && ./devcontainer-features-install.sh  && rm -rf /tmp/dev-container-features/node_1]: exit code: 1

#9 [internal] load metadata for mcr.microsoft.com/devcontainers/go:1.20
------
 > [dev_containers_target_stage 5/5] RUN --mount=type=bind,from=dev_containers_feature_content_source,source=node_1,target=/tmp/build-features-src/node_1     cp -ar /tmp/build-features-src/node_1 /tmp/dev-container-features  && chmod -R 0755 /tmp/dev-container-features/node_1  && cd /tmp/dev-container-features/node_1  && chmod +x ./devcontainer-features-install.sh  && ./devcontainer-features-install.sh  && rm -rf /tmp/dev-container-features/node_1:
#17 122.9 Binary download failed, trying source.
#17 122.9 Detected that you have 2 CPU core(s)
#17 122.9 Number of CPU core(s) less than or equal to 2, running in single-threaded mode
#17 123.1 Downloading https://nodejs.org/dist/v20.2.0/node-v20.2.0.tar.xz...
#17 123.4 #=#=#
curl: (22) The requested URL returned error: 500
#17 123.4
#17 123.4 Binary download from https://nodejs.org/dist/v20.2.0/node-v20.2.0.tar.xz failed, trying source.
#17 123.4 grep: /usr/local/share/nvm/.cache/src/node-v20.2.0/node-v20.2.0.tar.xz: No such file or directory
#17 123.4 Provided file to checksum does not exist.
#17 123.4 ERROR: Feature "Node.js (via nvm), yarn and pnpm" (ghcr.io/devcontainers/features/node) failed to install! Look at the documentation at https://github.com/devcontainers/features/tree/main/src/node for help troubleshooting this error.
------
ERROR: failed to solve: executor failed running [/bin/sh -c cp -ar /tmp/build-features-src/node_1 /tmp/dev-container-features  && chmod -R 0755 /tmp/dev-container-features/node_1  && cd /tmp/dev-container-features/node_1  && chmod +x ./devcontainer-features-install.sh  && ./devcontainer-features-install.sh  && rm -rf /tmp/dev-container-features/node_1]: exit code: 1
2023-05-18 14:57:28.252Z: Stop: Run: docker buildx build --load --build-context dev_containers_feature_content_source=/tmp/devcontainercli-root/container-features/0.41.0-1684421683984 --build-arg _DEV_CONTAINERS_BASE_IMAGE=mcr.microsoft.com/devcontainers/go:1.20 --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp --target dev_containers_target_stage -t vsc-gitea-e34ec3f68ee66efeb08de38b5a53c8c0e83bc2a9a5802233221d193ce35354ef-features -f /tmp/devcontainercli-root/container-features/0.41.0-1684421683984/Dockerfile.extended /var/lib/docker/codespacemount/.persistedshare/empty-folder
2023-05-18 14:57:28.346Z: Error: Command failed: docker buildx build --load --build-context dev_containers_feature_content_source=/tmp/devcontainercli-root/container-features/0.41.0-1684421683984 --build-arg _DEV_CONTAINERS_BASE_IMAGE=mcr.microsoft.com/devcontainers/go:1.20 --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp --target dev_containers_target_stage -t vsc-gitea-e34ec3f68ee66efeb08de38b5a53c8c0e83bc2a9a5802233221d193ce35354ef-features -f /tmp/devcontainercli-root/container-features/0.41.0-1684421683984/Dockerfile.extended /var/lib/docker/codespacemount/.persistedshare/empty-folder
2023-05-18 14:57:28.399Z:     at Ose (/usr/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:1946:3264)
2023-05-18 14:57:28.406Z:     at nO (/usr/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:1946:3200)
2023-05-18 14:57:28.410Z:     at processTicksAndRejections (internal/process/task_queues.js:95:5)
2023-05-18 14:57:28.411Z:     at async Yse (/usr/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:1961:2626)
2023-05-18 14:57:28.413Z:     at async vh (/usr/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:1961:3741)
2023-05-18 14:57:28.416Z:     at async Eae (/usr/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:2092:10371)
2023-05-18 14:57:28.419Z:     at async gae (/usr/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:2092:10112)
2023-05-18 14:57:28.422Z: devcontainer process exited with exit code 1

====================================== ERROR ====================================
2023-05-18 14:57:28.427Z: Failed to create container.
=================================================================================
2023-05-18 14:57:28.429Z: Error: Command failed: docker buildx build --load --build-context dev_containers_feature_content_source=/tmp/devcontainercli-root/container-features/0.41.0-1684421683984 --build-arg _DEV_CONTAINERS_BASE_IMAGE=mcr.microsoft.com/devcontainers/go:1.20 --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp --target dev_containers_target_stage -t vsc-gitea-e34ec3f68ee66efeb08de38b5a53c8c0e83bc2a9a5802233221d193ce35354ef-features -f /tmp/devcontainercli-root/container-features/0.41.0-1684421683984/Dockerfile.extended /var/lib/docker/codespacemount/.persistedshare/empty-folder
2023-05-18 14:57:28.431Z: Error Code: 1302

====================================== ERROR ====================================
2023-05-18 14:57:28.461Z: Container creation failed.
=================================================================================
2023-05-18 14:57:28.461Z:

===================================== WARNING ===================================
2023-05-18 14:57:28.464Z: Creating recovery container.
=================================================================================

@yardenshoham
curl: (22) The requested URL returned error: 500

nodejs.org is probably just having a tea break, hopefully it'll be back soon.


Add Extension methods to register Singletons

RegisterSingleton<TRegistered, TMap>()
RegisterSingleton<TRegistered, TMap>(string name)
RegisterSingleton<TRegistered>()
RegisterSingleton<TRegistered>(string name)

Fixed in https://github.com/unitycontainer/abstractions/releases/tag/<IP_ADDRESS>


Add GetHieAsts rule, Replace SpanInfo, add support for DocumentHighlight and scope-aware completions for local variables

This is all the remaining changes from the hls-3 branch.
Drops support for GHC 8.4
Fixes #663
Changes:

Remove the GetSpanInfo rule, depend entirely on GetHieAst for hover, go to definition etc.

New features:

Document Highlight for highlighting references of a Name in the same file
Completion for local variables in scope via GetBindings

Missing features:

Go to definition for module names
Kind info on hover
Relevant constraints on hover

TODOs:

[x] Add tests for new features
[x] fix as many existing tests as possible
[x] Re-add as many missing features as possible, using something like the DocMap mechanism
[x] Benchmark performance differences

Related GHC MRs for .hie file changes:
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4037
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4068
One has already been merged into the ghc-9.0 branch, the other will be merged soon hopefully
Old description:
This is the slight modification of what already lives in the hls-3 and hiedb-3 branches, necessary for https://github.com/haskell/haskell-language-server/pull/391/
We make some modifications to be able to save the HieAst before compressing the types. We compress the types on demand when we actually need to write the file to disk. This should improve hls performance somewhat as we get rid of the overhead of type compression (which can be expensive) in most cases.

Marvelous. Thank you so much!

Will other clients like Stan be able to use the hie files produced by ghcide? If not, maybe we should change the file extension

Any changes worth upstreaming to ghc?

Will other clients like Stan be able to use the hie files produced by ghcide? If not, maybe we should change the file extension

Yes, the hie files are generated in precisely the same way.

Any changes worth upstreaming to ghc?

Yeah, we need enrichHie exported. I will make a MR today. Hopefully it can get into 9.0

I just updated the benchmarks to measure allocations and delayed actions

I'm a bit busy this week, will hopefully finish this up on the weekend.
Till then, here's a gif demonstrating local completions(you can try it out by running haskell-language-server):

I am leaning towards not adding back the "relevant constraints on hover" feature.

It is not complete, it misses many constraints (for example, constraints introduced by GADT pattern matching etc.)
It will require a generic SYB style traversal of the AST, which is not needed for anything else anymore thanks to this PR
GHC 9.0 will allow writing this feature properly with the changes from https://gitlab.haskell.org/ghc/ghc/-/merge_requests/1286
(the weakest reason) this feature hasn't existed in HLS for a long time and nobody has seemed to miss it.

/cc @pepeiborra @ndmitchell thoughts?

I have fixed as many tests as I plan to. The remaining failures are genuine behavior divergences that I don't think are worth fixing. Please review them once CI completes.
The only TODO remaining is to add tests for the new features.

I am fine with dropping the "constraints on hover" feature, it was  bit erratic for me and only seemed to work on declaration lhs's. Is there any chance of back porting #1286 to the ghcide fork of Hie files?
Ignoring the tests related to that feature, there are only 5 failing tests, all related to hover. Good job!
Please share some benchmarks if you have the chance too.

Here are the interesting benchmark results:
hover after edit seems to be down:

completions after edit is up, but that is to be expected since we are doing more work, calculating local completions:

There is some funkyness with the allocations for document symbols I can't explain:

The rest seem to be unchanged, except for the shape of the allocation graph: http://<IP_ADDRESS>/benchmarks/

Look at the "Delayed work" column in the results.csv file:

"Hover after edit" is almost twice as efficient in delayed time. 50% more efficient in user time, 50% less allocations
"Document symbols after edit" is almost twice as efficient in delayed time
"Completions after edit" is almost twice as inefficient in delayed time and allocates 19% more

What exactly is delayed time?

What exactly is delayed time?

The time spent waiting for all the delayed actions in the Shake queue to complete

The regression in completion performance is expected since we now depend on Typecheck, not just GetParsedModule. Stale information should hide most of the difference in actual use I think.

I have no idea why there is a change for DocumentSymbols.

Added tests! This is done except for that one Unexpected Pass on 8.10.

I don't have the energy to figure out why the test is passing on 8.10 but not before that. I diffed the HieAst generation code, but could find no obvious culprits. CPPing the error away. With any luck this is good to go now.

Any opinions on whether I should remove 8.4 specific CPP in this PR, or a different one?

I would say merge this when ready, clean up 8.4 CPP in another PR

OK, I think this is ready, we can merge if you are happy.


Blog app - creating a data model

[ ]  Create a new app. Give it a meaningful name.

[ ]   Initialize your project with Git.

[ ]    Make sure that your project has Postgres database set up.

[ ]     Build your project schema.

    Create and run the necessary migration files.

    Table and column names should match the ERD diagram.

      note: photo for users table should be a link to an image

    Foreign keys should be included.

      Pay attention that in posts table the column holding the foreign key to the users table should be named author_id

    All columns that are foreign keys should have a corresponding index.

@FrederickMih Thanks for the approval. I must admit this was kind of new to me at the beginning.

You were straightforward and your tables were well-linked. Great job :+1:

@FrederickMih , thanks and have a great day ahead


Update dask notebook for anndata 0.11 & scanpy 1.11

All the stylistic changes (trailing newlines, - instead of * for bullet lists) are by the formatter, not me.

Hmm, that PCA looks a bit wonky :thinking:

For me looks ok?
Looks basically the same as the previous one:


Add support for python virtualenv configuration

Add a checkbox to set up the activate script of the python virtual environment.
As long as it is checked, the Python path input box should fill in the activate script path. (<virtualenv python dir>\Scripts\activate.ps1 for Windows or <virtualenv python dir>/Scripts/activate for Linux)
In this case, the program will execute the activate script first and then call the python command.

Nice, thank you, but this doesn't take the first-time setup into account.
If you'd like this to be merged, make sure the usage of a venv is possible during the first-time setup wizard.

Sorry I wasn't very active last season and didn't notice this pr. I will try to cherrypick into the new version. Thank you.
Btw I noticed a line on the documentation:

Note that you don’t have to activate a virtual environment to use it. You can instead use the full paths to its executables, rather than relying on your shell to resolve them to your virtual environment.
Is directly using the full path to executable reliable?

Sorry I wasn't very active last season and didn't notice this pr. I will try to cherrypick into the new version. Thank you.
Btw I noticed a line on the documentation:

Note that you don’t have to activate a virtual environment to use it. You can instead use the full paths to its executables, rather than relying on your shell to resolve them to your virtual environment.

Is directly using the full path to executable reliable?

If your question "the full path" refers to pyhton.exe
As long as python is the only global installation and the environment variables are not manually changed to other paths, the full path call should be fine.
If your question "the full path" refers to activate.ps1
There is no problem calling this script directly with the full path.
However, Powershell may have permission restrictions on scripts that call .ps1 script (not sure whether it is the default setting of Windows?)
So I added a permission setting Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted -Force; before calling the .ps1 script.
This will temporarily grant process-level scope permissions to execute the .ps1 script.

The above is the situation in the Windows environment.

The full path I'm referring to is the path to the python executable in your virtualenv folder. Based on your past screenshot, that is:
D:\Program Files\aegisub\automation\include\zah\python3\Scripts\python.exe

The reason I think using activate.ps1 is not exactly a good idea is because when I tried to install virtualenv on my machine which I primarily use MSYS2, virtualenv only generates activate scripts for POSIX shells but not cmd and PowerShell, and I don't think there is a way to regenrate activate scripts for another environment.
The documentation said that calling the python executable in the virtualenv folder is perfectly fine, and since indeed all the thing the activate script really does is to add the python executable in the virtualenv folder to shell's PATH, I think I should preferrly just add a note in the Python setup screen to inform the user that they should use the python executable in the virtualenv folder if they are using virtualenv. Otherwise I would have to deal with the situation that I need to let the user select a shell to run activate script to run AutoClip.

Because I have multiple versions of python in my OS, each python has its own package installation directory.
In my case, switching python can not be done by simply calling different python.exe, but also need to change the path of OS environment variable(PATH) at the same time. Otherwise, the package installation directory may be referenced incorrectly.
(If there is only one global python in the OS, direct calling python.exe will use the correct package path.)
The active script of the virtual environment can automatically set these OS environment variables.
So after calling the active script, executing python in the corresponding shell will be the target python. There is no need to write the full path of python to call.

I think if the user is proficient in python, configuring and using virtualenv is not a problem.
If he is a novice who doesn’t understand python so much, I suggest he just use the global python instead of configuring virtualenv.

You convinced me. I think I would agree with you to let the user run a custom setup script with PowerShell 5 on Windows and /bin/sh on non-Windows environments.
cc @Zahuczky
I originally don't intend to tell the user the environment the code are going to be executed with. However, to let the user set a custom script, I have to disclose this information and disclose it at the first „Welcome to AutoClip Enter Python Enter vsrepo“ screen.
The problem is that if a new user is presented with lines of commands without any information, for example, when they are at the „Install dependencies“ screen, they will assume it's a generic one-execution-per-line script and adhere the one-command-per-line rule. However, if they are already informed that this will be a PowerShell 5 or /bin/sh script, they will expect to write script for the specific shell. That creates a god amount of additional issues:
First, the commands in the „Install dependencies“ screen have to be in PowerShell 5 or /bin/sh. Otherwise if the user have set a setup script in the first „Welcome to AutoClip“ screen but didn't see it show up, that will be weird. However, if the commands are shown in PowerShell 5 or /bin/sh, they user may attemps to do advanced things like adding brackets to PowerShell script or using variables in /bin/sh script, which will be a hell to support.

Can either of you think of a way to properly communicate this and still only allow generic one-execution-per-line script for the commands?
Btw @machinewu , may I ask what's the situation in your use case that directly using the python executable inside venv directory is not available?

A simple situation is calling pip.
My OS environment variable PATH like this: set PYTHON_HOME=D:\devtool\python\python38; set PATH=%PYTHON_HOME%;%PYTHON_HOME%\Scripts;%PATH%
If directly using another python's pip without changing the OS environment variable, some packages may be installed in the Python package directory of PYTHON_HOME or PATH.

I believe virtualenv handles that well. You can try to run python -m site to confirm:
a_@DESKTOP-A4VLSDL ~/D/venv> bin/python.exe -m site
sys.path = [
    'C:/fakepath/D/venv',
    'C:/msys64/ucrt64/lib/python311.zip',
    'C:/msys64/ucrt64/lib/python3.11',
    'C:/msys64/ucrt64/lib/python3.11/lib-dynload',
    'C:/fakepath/D/venv/lib/python3.11/site-packages',
]
USER_BASE: 'C:/Users/fakeuser/.local' (exists)
USER_SITE: 'C:/Users/fakeuser/.local/lib/python3.11-mingw_x86_64_ucrt/site-packages' (exists)
ENABLE_USER_SITE: False

As you can see, USER_SITE is disabled and the only site-packages directory here is the one inside venv.
I've tried to install packages and indeed they are installed into the venv directory.
a_@DESKTOP-A4VLSDL ~/D/venv> find . -maxdepth 4 -type d
.
./bin
./lib
./lib/python3.11
./lib/python3.11/site-packages
./lib/python3.11/site-packages/pip
./lib/python3.11/site-packages/pip-23.3.2.dist-info
./lib/python3.11/site-packages/pkg_resources
./lib/python3.11/site-packages/setuptools
./lib/python3.11/site-packages/setuptools-69.0.2.dist-info
./lib/python3.11/site-packages/wheel
./lib/python3.11/site-packages/wheel-0.42.0.dist-info
./lib/python3.11/site-packages/_distutils_hack
./lib/python3.11/site-packages/__pycache__
a_@DESKTOP-A4VLSDL ~/D/venv> bin/python.exe -m pip install requests
Collecting requests
  Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting charset-normalizer<4,>=2 (from requests)
  Downloading charset_normalizer-3.3.2-py3-none-any.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests)
  Downloading idna-3.6-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests)
  Using cached urllib3-2.2.0-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests)
  Downloading certifi-2024.2.2-py3-none-any.whl.metadata (2.2 kB)
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 844.1 kB/s eta 0:00:00
Downloading certifi-2024.2.2-py3-none-any.whl (163 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 163.8/163.8 kB 1.4 MB/s eta 0:00:00
Downloading charset_normalizer-3.3.2-py3-none-any.whl (48 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.5/48.5 kB 2.6 MB/s eta 0:00:00
Downloading idna-3.6-py3-none-any.whl (61 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.6/61.6 kB 1.7 MB/s eta 0:00:00
Downloading urllib3-2.2.0-py3-none-any.whl (120 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 120.9/120.9 kB 3.6 MB/s eta 0:00:00
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2024.2.2 charset-normalizer-3.3.2 idna-3.6 requests-2.31.0 urllib3-2.2.0
a_@DESKTOP-A4VLSDL ~/D/venv> find . -maxdepth 4 -type d
.
./bin
./lib
./lib/python3.11
./lib/python3.11/site-packages
./lib/python3.11/site-packages/certifi
./lib/python3.11/site-packages/certifi-2024.2.2.dist-info
./lib/python3.11/site-packages/charset_normalizer
./lib/python3.11/site-packages/charset_normalizer-3.3.2.dist-info
./lib/python3.11/site-packages/idna
./lib/python3.11/site-packages/idna-3.6.dist-info
./lib/python3.11/site-packages/pip
./lib/python3.11/site-packages/pip-23.3.2.dist-info
./lib/python3.11/site-packages/pkg_resources
./lib/python3.11/site-packages/requests
./lib/python3.11/site-packages/requests-2.31.0.dist-info
./lib/python3.11/site-packages/setuptools
./lib/python3.11/site-packages/setuptools-69.0.2.dist-info
./lib/python3.11/site-packages/urllib3
./lib/python3.11/site-packages/urllib3-2.2.0.dist-info
./lib/python3.11/site-packages/wheel
./lib/python3.11/site-packages/wheel-0.42.0.dist-info
./lib/python3.11/site-packages/_distutils_hack
./lib/python3.11/site-packages/__pycache__

I think of a way.
They could be an „Advanced“ button at the „Welcome to AutoClip Enter Python Enter vsrepo“ screen. Clicking the „Advanced“ button skips the whole „Welcome“ sequence directly to the „Edit settings“ screen where the setup script option will be available.
After that it will execute AutoClip main process, if it has missing dependencies or when it attemps to update dependecies, depending on whether the setup script option is filled, it will show either a simple one-command-per-line command window or [I haven't thought of a easy way to show and run command with a setup script :( ].

Sorry I've been inactive throughout the year. The support for venv is ready and will be included in the next version.
https://github.com/Zahuczky/Zahuczkys-Aegisub-Scripts/blob/af9e6c155c02c8f4f1f6c4c3f4bc1d83d1db285a/macros/autoclip/zah.autoclip.lua#L212-L220
https://github.com/Zahuczky/Zahuczkys-Aegisub-Scripts/blob/b9ccfcbc2f09c53472ebf32b911bbbbee4f9d676/macros/autoclip/zah.autoclip.lua#L852-L856


Releases Tab gone?

Is it just me, or did something break? For a few days, the "Releases" tab doesn't show up anymore for any repo (including this) on all of my machines (Linux at home, Windows at work, 1 at ff54, 2 at ff55). In the latter place on Windows, it's version <IP_ADDRESS>6 (and seems to have updated today) – if it helps, I can check my other machines later when I've returned home.

@IzzySoft Could you please try to go to chrome://extensions and press "Update extensions now" button and see if that fixes it for you? Thanks!

<IP_ADDRESS>6 (previous release on MDN) is broken, and mozilla was a bit slow approving new releases lately, but luckily already approved today's release <IP_ADDRESS>2 which works for me (using FF55). Updating the addon should fix it.

Firefox 55.0.2 here on Linux. Let's see: chrome://extensions starts a Google search for that expression (sounds logical on Firefox). about:addons shows <IP_ADDRESS>2 being available. Updated. Oh! Yes!!! That brought the "Releases" tab back, thanks! Will check on the Windows machine (FF55) tomorrow as well and report back. One of my Linux machines is still on FF54 and cannot be updated before next week – but if these two machines with FF55 have it fixed, I'm confident the other will have it as well after the update.
Thanks a lot! That was fast!

Cheers!

Yeah! Thanks again – and as promised, feedback from the "dark side": tab is back on FF55/Win7 as well, as expected. :clinking_glasses:


Enable Style/InvertibleUnlessCondition cop

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

This is a new cop introduced in rubocop v1.44.0. It's disabled by default but i think it's enough of a readability improvement to enable. (I also added a rule to favor if a != b over unless a == b.)
It is invalid in at least one case – when comparing class hierarchies that do not share inheritance (see the disable below).
cc @issyl0

Currently failing CI due to upstream violations, will hold off on fixing until initial feedback is in

As a general note: I have on my "one day" TODO list to go through literally every disabled by default cop and try to enable them all and remove the ones I disagree with. Here's a list from a work project I've done this on, if it's useful:
# Enable useful some rules disabled by default.
 It's a good idea.

@MikeMcQuaid Don't tempt me to do your TODO list items for you. It's a good idea.

Note that per comment on the rubocop PR, rubocop will be enabling fewer of these kinds of cops going forward. If you'd prefer to stay on top of these as they come in, it may be worth exploring the EnabledByDefault config setting.

Note that per comment on the rubocop PR, rubocop will be enabling fewer of these kinds of cops going forward. If you'd prefer to stay on top of these as they come in, it may be worth exploring the EnabledByDefault config setting.

Good idea. I knew about NewCops: enable (which we've enabled) but I do think EnabledByDefault probably makes more sense. When new cops are added and we have no violations: I think it's worth us enabling them.

As long as it's not DisabledByDefault, I'm game for config changes. Bad news though, currently running brew style after setting EnabledByDefault: true reveals 1170 files inspected, 42077 offenses detected, 21649 offenses autocorrectable. 💀 But that's why Mike is wise and said "only enable new cops if no offenses" (or, I guess, minimal, sensible, easily fixable ones). I'll make an issue over the weekend for determining which ones are good/bad/enforceable.

As long as it's not DisabledByDefault, I'm game for config changes. Bad news though, currently running brew style after setting EnabledByDefault: true reveals 1170 files inspected, 42077 offenses detected, 21649 offenses autocorrectable. 💀 But that's why Mike is wise and said "only enable new cops if no offenses" (or, I guess, minimal, sensible, easily fixable ones). I'll make an issue over the weekend for determining which ones are good/bad/enforceable.

I'm not too surprised by that. It might be more worthwhile to attempt it by department (e.g. Style) and not globally.


Add read/write throughput performance tests

Part of #1467
This PR adds several performance tests that compare the PG statistics obtained when running PG benchmarks against Neon and vanilla PG to measure the read/write throughput of the DB.

An example benchmark result:
test_compare_pg_stats_rw_with_pgbench_default[vanilla-5-10-100].pg_stat_database.tup_updated: 34510
test_compare_pg_stats_rw_with_pgbench_default[vanilla-5-10-100].pg_stat_database.tup_fetched: 23743
test_compare_pg_stats_rw_with_pgbench_default[vanilla-5-10-100].pg_stat_database.tup_inserted: 11503
test_compare_pg_stats_rw_with_pgbench_default[vanilla-5-10-100].pg_stat_database.tup_returned: 1299066
test_compare_pg_stats_rw_with_pgbench_default[vanilla-5-10-100].pg_stat_database.tup_deleted: 0
test_compare_pg_stats_rw_with_pgbench_default[neon-5-10-100].pg_stat_database.tup_updated: 15931
test_compare_pg_stats_rw_with_pgbench_default[neon-5-10-100].pg_stat_database.tup_fetched: 11357
test_compare_pg_stats_rw_with_pgbench_default[neon-5-10-100].pg_stat_database.tup_inserted: 5310
test_compare_pg_stats_rw_with_pgbench_default[neon-5-10-100].pg_stat_database.tup_returned: 601615
test_compare_pg_stats_rw_with_pgbench_default[neon-5-10-100].pg_stat_database.tup_deleted: 0
test_compare_pg_stats_wo_with_pgbench_simple_update[vanilla-5-10-100].pg_stat_database.tup_deleted: 0
test_compare_pg_stats_wo_with_pgbench_simple_update[vanilla-5-10-100].pg_stat_database.tup_updated: 17587
test_compare_pg_stats_wo_with_pgbench_simple_update[vanilla-5-10-100].pg_stat_database.tup_inserted: 17586
test_compare_pg_stats_wo_with_pgbench_simple_update[neon-5-10-100].pg_stat_database.tup_deleted: 0
test_compare_pg_stats_wo_with_pgbench_simple_update[neon-5-10-100].pg_stat_database.tup_updated: 6607
test_compare_pg_stats_wo_with_pgbench_simple_update[neon-5-10-100].pg_stat_database.tup_inserted: 6606
test_compare_pg_stats_ro_with_pgbench_select_only[vanilla-5-10-100].pg_stat_database.tup_returned: 83953
test_compare_pg_stats_ro_with_pgbench_select_only[vanilla-5-10-100].pg_stat_database.tup_fetched: 82320
test_compare_pg_stats_ro_with_pgbench_select_only[neon-5-10-100].pg_stat_database.tup_returned: 20084
test_compare_pg_stats_ro_with_pgbench_select_only[neon-5-10-100].pg_stat_database.tup_fetched: 18451
test_compare_pg_stats_wal_with_pgbench_default[vanilla-5-10-100].pg_stat_wal.wal_fpi: 10690
test_compare_pg_stats_wal_with_pgbench_default[vanilla-5-10-100].pg_stat_wal.wal_records: 74466
test_compare_pg_stats_wal_with_pgbench_default[vanilla-5-10-100].pg_stat_wal.wal_buffers_full: 0
test_compare_pg_stats_wal_with_pgbench_default[vanilla-5-10-100].pg_stat_wal.wal_write: 8142
test_compare_pg_stats_wal_with_pgbench_default[vanilla-5-10-100].pg_stat_wal.wal_bytes: 90491009
test_compare_pg_stats_wal_with_pgbench_default[neon-5-10-100].pg_stat_wal.wal_fpi: 83
test_compare_pg_stats_wal_with_pgbench_default[neon-5-10-100].pg_stat_wal.wal_records: 36268
test_compare_pg_stats_wal_with_pgbench_default[neon-5-10-100].pg_stat_wal.wal_buffers_full: 0
test_compare_pg_stats_wal_with_pgbench_default[neon-5-10-100].pg_stat_wal.wal_write: 5402
test_compare_pg_stats_wal_with_pgbench_default[neon-5-10-100].pg_stat_wal.wal_bytes: 3650488

In summary, currently, in term of throughputs,

Neon is 2 times slower than vanilla for normal r/w workload
Neon is 3 times slower than vanilla for w/o workload
Neon is 4 times slower than vanilla for r/o workload
The WAL stats are significantly different, which is possible because of the difference in how the two DBs process WALs


Move to github.com/gdcc? Add to Dataverse API Guide?

Hi! I spotted your tweet at https://twitter.com/GaelForget/status/1537033362543616005
@poikilotherm and I would like to invite you to move this repo to the @gdcc GitHub org, next to pyDataverse: https://github.com/gdcc/pyDataverse
Totally up to you, of course! 😄
Say the word and we'll create an empty repo, made you admin, etc. Thanks!
(Also, just to foreshadow a future step, we'd also love a pull request to update a future version of https://guides.dataverse.org/en/5.11/api/client-libraries.html to include Julia! Here's the source: https://github.com/IQSS/dataverse/blob/v5.11/doc/sphinx-guides/source/api/client-libraries.rst )

Hi! I spotted your tweet at https://twitter.com/GaelForget/status/1537033362543616005
@poikilotherm and I would like to invite you to move this repo to the @gdcc GitHub org, next to pyDataverse: https://github.com/gdcc/pyDataverse
Totally up to you, of course! 😄
Say the word and we'll create an empty repo, made you admin, etc. Thanks!

Thank you!! Sounds good to me -- absolutely! I am waiting on the package registration to go through ( https://github.com/JuliaRegistries/General/pull/62370 ) before going back to clean some things up.
Next week maybe?

(Also, just to foreshadow a future step, we'd also love a pull request to update a future version of https://guides.dataverse.org/en/5.11/api/client-libraries.html to include Julia! Here's the source: https://github.com/IQSS/dataverse/blob/v5.11/doc/sphinx-guides/source/api/client-libraries.rst )

Sure. Could do that just after my cleaning up & the migration if that would work.

@gaelforget hi! Just checking in. Even if the Julia bindings aren't complete, we're happy to include a link in the Dataverse API Guide. No rush. Just something to think about. 😄

@gaelforget hi! Just checking in. Even if the Julia bindings aren't complete, we're happy to include a link in the Dataverse API Guide. No rush. Just something to think about. 😄

Thanks for the ping. Working on it now

Say the word and we'll create an empty repo, made you admin, etc. Thanks!

Previously when I transferred repo ownership to an org on GitHub, I think that we proceeded by

creating a team on the org side for the repo owners
adding the repo to the team / making team admin of repo
inviting pkg dev to org member
adding pkg dev to the team

That's what we do in JuliaClimate and MITgcm for example.
On the org side, only someone with sufficient / owner privileges can create teams and so on. Details may depend on how you have the org set up.
One advantage, as compared to creating a fresh repo, is that everything in the original repo carries over -- i.e., issues, discussions, settings, ci, docs, zenodo links, webhooks, tags, etc. If instead of using the GitHub transfer mechanism I just push the git history into a fresh repo then the rest is lost.
@pdurbin , could we do the transfer this way via the GitHub ownership transfer?

(Also, just to foreshadow a future step, we'd also love a pull request to update a future version of https://guides.dataverse.org/en/5.11/api/client-libraries.html to include Julia! Here's the source: https://github.com/IQSS/dataverse/blob/v5.11/doc/sphinx-guides/source/api/client-libraries.rst )

Done. Please refer to https://github.com/IQSS/dataverse/pull/8991

@gaelforget thanks! You used the "closes" syntax so automation closed this issue. I guess you could re-open it since you said "closes in part". Exciting to have Juila support!

I'd have all the necessary permissions to do this move. We should take a look at this next week. Are you with us on Matrix? (chat.dataverse.org) I'm on during usual CEST working hours and sometimes after.

I'd have all the necessary permissions to do this move on gdcc side. We should take a look at this next week. Are you with us on Matrix? (chat.dataverse.org) I'm on during usual CEST working hours and sometimes after.

Sounds good. Will join Matrix and should have time next week

@gaelforget thanks for working on this today! 🎉


Is this 3001 of framwork? What is a management port?

Remarks should not be shown in Figure 1, should be the service registration port, rpc port. The management port is a web port.

备注图1所示应该不是，应该是服务注册的端口， rpc的端口。管理端口是web端口。

172.25.13 is the node of framewrok, and <IP_ADDRESS> is the node of work.
What should be filled in for local?

<IP_ADDRESS>是framewrok的节点，<IP_ADDRESS>是work的节点

还有这里所示的local应该填什么？

The local is generated by the framework and does not need to be processed by yourself.

local是框架生成的，不需要自己处理。


CORS error when using imageToBase64

How do I disable the CORS header in the request? When I run the code below, I get a CORS error.
        imageToBase64('<image_url>') // Image URL
            .then((response) => {
                console.log(response);
                doc.addImage(response, 'JPEG', width / 2, 650, 400, 125);
            }
            )
            .catch((error) => {
                console.log(error); // Logs an error if there was one
            }
            )

Access to fetch at '<image_url>' from origin '<mywebpage>' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Help please, thank you!

How do I disable the CORS header in the request? When I run the code below, I get a CORS error.
        imageToBase64('<image_url>') // Image URL
            .then((response) => {
                console.log(response);
                doc.addImage(response, 'JPEG', width / 2, 650, 400, 125);
            }
            )
            .catch((error) => {
                console.log(error); // Logs an error if there was one
            }
            )

Access to fetch at '<image_url>' from origin '<mywebpage>' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Help please, thank you!

Hi @jasonnn0210
How's it goin'?
well, it is problem for CORS yet, so we need to open CORS in your API.


Your openAI secret key is published

Hi,
Just a fair warning that you've published your API key:
https://github.com/yding25/GPT-Planner/blob/2fa2a872c19738b78c61731e33dc6430dc2d3df7/dataset/backup/openai_api_key.txt#L1
If you have a a paying account on openAI's api and this key is still valid, it may be used to access the api while billing you. You should probably deactivate this key in openAI's dashboard and remove it from your code, using instead an environment variable or similar.

Thanks for the reminder. The API was revoked.

Thanks for the reminder. The API was revoked.


Merge CSI/Cluster Volumes code into Master

All work for support of cluster volumes until now has been on the feature-volumes branch of swarmkit, in order to keep the master branch free of half-done volumes code.
This PR merges feature-volumes into master, the first step toward finally releasing cluster volume support.

V E R Y   E X C I T I N G


Even if environment is set in docker-composer.yml, it is not reflected.

The docker-compose.yml I tried is below.
If i look at LDAP_DOMAIN of dev_openldap, it is still example.org, and dev_phpldapadmin is also listening on port 443.
openldap:
    image: osixia/openldap:1.5.0
    container_name: dev_openldap
    environment:
      LDAP_LOG_LEVEL: "256"
      LDAP_ORGANISATION: "xxxxx.net"
      LDAP_DOMAIN: "xxxxx.net"
      LDAP_BASE_DN: ""
      LDAP_ADMIN_PASSWORD: "admin"
      LDAP_CONFIG_PASSWORD: "config"
      LDAP_TLS: "false"
      LDAP_TLS_VERIFY_CLIENT: "never"
    volumes:
      - /srv2/data/ldap:/var/lib/ldap
      - /srv2/config/ldap:/etc/ldap/slapd.d
    ports:
      - "389:389"

  phpldapadmin:
    image: osixia/phpldapadmin:latest
    container_name: dev_phpldapadmin
    environment:
      PHPLDAPADMIN_LDAP_HOSTS: "openldap"
      PHPLDAPADMIN_HTTPS: "false"
      PHPLDAPADMIN_LDAP_CLIENT_TLS: "false"
    ports:
      - "10084:80"
    depends_on:
      - openldap

i run into the same issue... any solution?

I tried it again and it worked.


Integration of visual notifications

Default notification CSS here: https://gist.github.com/philippeowagner/7552397
Templatetags, based on comments in #3 (https://github.com/arteria/django-hijack/commit/2eb1f54fe6b71b24f4536b182be41e728e9f781e#comments)

Should not be in the core, so closing this as well.


[MM-48825] - Move search results number text below tab button

Summary
This PR submits a fix for the cases when there are lots of files and messages and the Files tab extends into the filter icon.
It moves the text below into the Results screen as proposed by UX
Ticket Link
https://mattermost.atlassian.net/browse/MM-48225
Checklist

[ ] Added or updated unit tests (required for all new features)
[x] Has UI changes
[ ] Includes text changes and localization file updates
[x] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on: iPhone 8, iOS 15.2 / Pixel 3a, Android 12.1
Screenshots

Release Note
NONE

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!


Update Locales json files with camelCase keys and interpolated strings

Fixes
Converted keys and interpolated string from kebap case to camelCase.
Fixes #2059  by @obulat
Description
Replaced json and json5 locale files so that the keys and interpolated strings are in camelCase.  Used the following script below to automate replacement for keys and interpolated strings while avoiding converting string values in objects.
import JSON5 from 'json5'
import kebabToCamel from './kebabCamelFunc.js'

//Locales English
const enData = fs.readFileSync('./en.json5','utf8')
const enObj = JSON5.parse(enData)
const newEnObj = kebabToCamel(enObj)
const enJson5Str = JSON5.stringify(newEnObj, null, 2);
fs.writeFileSync('./output_en.json5', enJson5Str);

//Locales Arabic
const arData = fs.readFileSync('./ar.json','utf8')
const arObj = JSON.parse(arData)
const newArObj = kebabToCamel(arObj)
const arJsonStr = JSON.stringify(newArObj,null,2)
fs.writeFileSync('./output_ar.json', arJsonStr)

//Locales Spanish
const esData = fs.readFileSync('./es.json','utf8')
const esObj = JSON.parse(esData)
const newEsObj = kebabToCamel(esObj)
const esJsonStr = JSON.stringify(newEsObj,null,2)
fs.writeFileSync('./output_es.json', esJsonStr)

//Locales Russian
const ruData = fs.readFileSync('./ru.json','utf8')
const ruObj = JSON.parse(ruData)
const newRuObj = kebabToCamel(ruObj)
const ruJsonStr = JSON.stringify(newRuObj,null,2)
fs.writeFileSync('./output_ru.json', ruJsonStr)

export default function kebabToCamel(input) {
  const camelCaseObj = {};
  for (const [key, value] of Object.entries(input)) {
    const camelCaseKey = key.replace(/-([\w])/g, (match, letter) => letter.toUpperCase());
    if (typeof value === "string") {
      const camelCaseValue = value.replace(/\{([^\}]+)\}/g, (match, content) =>
        `{${content.replace(/-([\w])/g, (match, letter) => letter.toUpperCase())}}`
      );
      camelCaseObj[camelCaseKey] = camelCaseValue;
    } else if (typeof value === "object") {
      camelCaseObj[camelCaseKey] = kebabToCamel(value);
    } else {
      camelCaseObj[camelCaseKey] = value;
    }
  }
  return camelCaseObj;
}

Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Hi @obulat, I just updated the keys and interpolated strings in the 4 locales json files i found. I'm hoping to take a closer look at the vue components tomorrow to replace the kebap case in these files. Also happy to make any adjustments for this pull request if there are any error or conflicts you spot.

@obulat Do you know if changes to the keys like this is going to cause every single key changed to appear as a new string in Glotpress? I don't know it well enough to know if it is smart enough to notice that only the keys have changed while the strings are the same. If you don't know or aren't sure, can we verify with the translations folks? Otherwise, I fear this will cause a significant dip in our translation percentages and lose the hard work the translators have done so far.

Hi @sarayourfriend , I'm not sure if it answers your question or is related but I wanted to mention that I need to update the original description of this pull request as it only describes the changes I made to the locales files.  I also wrote a script to change files in the src folder that utilize keys in the locales files and changed the referenced text from kebap case to camel case as well so that we can reference the different language locales files.
If there are other directories that I need to update I'm more than happy to make changes or abandon all together depending on what you and @obulat believe is the best approach.
Currently when running the CI/CD testing, I get a failure during the linting test (I thought I turned off my linting and prettier extensions) but trying to see if there are other causes that are causing the test failure.

Yup, gotcha. The question I'm asking Olga is about how Glotpress will interpret these changes. For context, the en.json file gets transformed into a POT file which is uploaded to WordPress.org's Glotpress instance. WordPress volunteers then translate the file there, which we download and then transform back into a format that our Vue app can understand.
The changes in this PR look fine to me, I don't think there's an issue with them on their own. My question is just meant to ask whether this particular change will cause the application the translators use to translate strings (Glotpress) to treat all the new keys as distinct and new strings that need to be translated, accidentally throwing away the work the translators have done so far. I suspect Glotpress is smart enough to notice that the values haven't changed and reuse them, but I don't know for certain. It would be good to know what the effect of this will be on translators and the progress of their work before we merge it and to mitigate any adverse effects if we can (probably through working with the WP.org Glotpress folks to bulk-change keys, especially if we need this change for the Nuxt 3 upgrade).

Yup, gotcha. The question I'm asking Olga is about how Glotpress will interpret these changes. For context, the en.json file gets transformed into a POT file which is uploaded to WordPress.org's Glotpress instance. WordPress volunteers then translate the file there, which we download and then transform back into a format that our Vue app can understand.
The changes in this PR look fine to me, I don't think there's an issue with them on their own. My question is just meant to ask whether this particular change will cause the application the translators use to translate strings (Glotpress) to treat all the new keys as distinct and new strings that need to be translated, accidentally throwing away the work the translators have done so far. I suspect Glotpress is smart enough to notice that the values haven't changed and reuse them, but I don't know for certain. It would be good to know what the effect of this will be on translators and the progress of their work before we merge it and to mitigate any adverse effects if we can (probably through working with the WP.org Glotpress folks to bulk-change keys, especially if we need this change for the Nuxt 3 upgrade).

I checked GlotPress, and I don't think this will cause problems. The key used in .po files in GlotPress are the strings themselves, and our keys are set as msgctxt (context). Since the strings stay the same, they will still be translated the same way. See these two objects:
#: src/components/VSearchResultsGrid/VAllResultsGrid.vue:111
msgctxt "browse-page.search-form.audio"
msgid "audio"
msgstr "аудио"

msgctxt "error.audio"
msgid "audio"
msgstr "аудио"

Thank you for your changes, this is a really great start, @sajeremy! I checked the PR out locally, and found that in addition to the changes inside $t() function, it also needs more complicated changes in other parts of the code. One of such cases is use-pages composable.
I've created a patch with all the changes I added locally here: https://gist.github.com/obulat/c27b9a7232f15ab76a840e8cb3f73fba If you want, I can add those changes to this PR, @sajeremy

@obulat wow, that is awesome! I would definitely appreciate adding those changes to the PR and  will taking the time to learn from your solution. Aside from the changes you mentioned above, are there any other actions you would like me to complete for this PR?

I would definitely appreciate adding those changes to the PR and will taking the time to learn from your solution. Aside from the changes you mentioned above, are there any other actions you would like me to complete for this PR?

Great! I've added the changes and also merged main into this branch. I don't think there's too much to learn from my solution, though :) It's more knowledge of the project and the code than a clever solution, I've opened all the pages to make sure there are no warnings about missing i18n keys left.
I am going to approve this PR as soon as the CI passes, and after there is one more approval, this PR can be merged 🚀
Thank you so much for working on this, and welcome to Openverse!


What is the structure of the realtime data table？

What is the structure of the realtime data table?

+1 Wondering the same


My bug report

Steps to reproduce
Insrtall Powershell 7.2.0 preview 7
Launch Powershell

Expected behavior
PowerShell launches

## Actual behavior

PowerShell Crashes

Environment data

Environment
PSReadLine: 2.2.0-beta1
PowerShell: 7.2.0-preview.7
OS: Microsoft Windows 10.0.20348
BufferWidth: 120
BufferHeight: 9001
PowerShell Crashes... Uninstalled powershell 7.2.0 preview 7

Name                           Value
----                           -----
PSVersion                      5.1.20348.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.20348.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

@2nleyrtonc can you provide an error message, stack trace, dump file, terminal output or any other indication of the nature of the crash?

Microsoft Windows 10.0.20348
That is an older Windows 10 Insider (pre-release) build.  I tried this on Windows 10 Insider build 21390 and I don't see a crash.

From preview.6 and onward, you want to be on PSReadLine 2.2.0-beta3.  Try Install-Module PSReadLine -AllowPrerelease -Force -AllowClobber.

Thanks.
I will upgrade my build …

Clarke, Nathaniel
From: Keith Hill @.>
Sent: Friday, 18 June, 2021 16:49
To: PowerShell/PowerShell @.>
Cc: 2nleyrtonc @.>; Mention @.>
Subject: Re: [PowerShell/PowerShell] My bug report (#15606)
Microsoft Windows 10.0.20348
That is an older Windows 10 Insider (pre-release) build. I tried this on Windows 10 Insider build 21390 and I don't see a crash.
https://user-images.githubusercontent.com/5177512/122614416-d92e2b80-d043-11eb-92de-88ed2010eb4b.png
From preview.6 and onward, you want to be on PSReadLine 2.2.0-beta3. Try Install-Module PSReadLine -AllowPrerelease -Force -AllowClobber.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/PowerShell/PowerShell/issues/15606#issuecomment-864266517 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AGY2O35LDK4WHYLEAPIDVBLTTOWKDANCNFSM466BJ37Q .  https://github.com/notifications/beacon/AGY2O34QFJXSHIUIO7ESXI3TTOWKDA5CNFSM466BJ372YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGOB2SFI.gif

Installed PSReadLine 2.2.0-beta3. then reinstalled powershell 7.2.0 preview 7 successfully.
Thx.


Merkle Leaf

curl -L
-H "Accept: application/vnd.github+json"
-H "Authorization: Bearer "
-H "X-GitHub-Api-Version: 2022-11-28"
https://api.github.com/zen

Non Blocking


feat: add attribution annotation for landing zone blueprints

This will allow us to capture usage data.

/lgtm


Add General hide Class

Might be helpful to have a .hide class to just hide something all together across all viewports.

Added with commit 6fb9abf


Add background info article on protocol features and characteristics

Description:
New documentation article that focuses on defining core features, highlighting what server/client protocols support which feature. Additionally, it defines a few key protocol characteristic groups for our protocols, and provides brief notes on incompatibilities.

Only "protocols_features_characteristics.adoc" needs to be reviewed. Rest is just reorganization.


Pipenv ~/.cache Usage

Short Story
tl;dr, I would like to be able to either set the .cache directory Pipenv wants to use or disable using it.
Long Story
I'm trying to deploy an application using Pipenv, my install step is simple and works fine:
pipenv install --three --deploy \
&& pipenv run python setup.py install

I'm running this command using Chef as part of my CI system which runs as root but the actual command is executed with the permissions of a user with less authorisation. This causes an issue when the install tries to access ~/.cache/pipenv and resolves to /root/.cache/pipenv rather than /home/foo/.cache/pipienv.
Pip has the same behaviour up to this point, but supports the --cache-dir=/var/cache/pip flag which lets me work around my permissions issue. That's easy to set using export PIP_CONFIG_FILE=/etc/pip.conf and writing something simple like:
[global]
cache-dir=/var/cache/pip

Without overriding the cache directory for pip I have the same issue, however - after overriding the cache directory for pip I only have the issue with pipenv.
Here is the dump to the console on install error:
Traceback (most recent call last):
File "/usr/local/bin/pipenv", line 11, in <module>
sys.exit(cli())
File "/usr/local/lib/python2.7/dist-packages/pipenv/vendor/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pipenv/vendor/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/dist-packages/pipenv/vendor/click/core.py", line 1063, in invoke
Command.invoke(self, ctx)
File "/usr/local/lib/python2.7/dist-packages/pipenv/vendor/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/dist-packages/pipenv/vendor/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pipenv/cli.py", line 52, in cli
if core.need_update_check():
File "/usr/local/lib/python2.7/dist-packages/pipenv/utils.py", line 996, in need_update_check
mkdir_p(PIPENV_CACHE_DIR)
File "/usr/local/lib/python2.7/dist-packages/pipenv/utils.py", line 653, in mkdir_p
os.mkdir(newdir)
OSError: [Errno 13] Permission denied: '/root/.cache/pipenv'

I can confirm that if I change the permissions I execute my install script with this is the only file created in that directory and the rest of the system continues to work as expected:
$ ll -a ~/.cache/pipenv/
total 8
drwxr-xr-x 2 root root 4096 Mar  2 15:59 ./
drwxr-xr-x 4 root root 4096 Mar  2 15:59 ../
-rw-r--r-- 1 root root    0 Mar  2 15:59 .pipenv_update_check

Describe your environment

OS Type: Ubuntu 16.04
Python version: Python 2.7.12 (although the application is run with Python 3.5.2)
Pipenv version: pipenv, version 10.1.2

Expected result
When I set the pip cache directory using PIP_CACHE_DIR, Pipenv would respect it as well.
Thanks to all the contributors on this project. This is a really, really neat way of controlling Python applications!

@92kz1h sorry for not getting you an answer on this sooner, I believe you can set PIPENV_CACHE_DIR and it will do what you are looking for -- I'll close this for now but let me know if this doesn't work

PS if that's not documented we would definitely take a PR with that documentation update!


"Terminated Frameworks" problem

Hello!
As someone mentioned on the mailing list, there's a problem with restarting Chronos.
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.346902 27238 group.cpp:313] Group process (group(1)@<IP_ADDRESS>:33094) connected to ZooKeeper
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.346921 27238 group.cpp:790] Syncing group operations: queue size (joins, cancels, datas) = (0, 0, 0)
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.346926 27238 group.cpp:385] Trying to create path '/mesos' in ZooKeeper
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.347455 27243 detector.cpp:138] Detected a new leader: (id='12')
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.347513 27243 group.cpp:659] Trying to get '/mesos/info_0000000012' in ZooKeeper
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.347833 27242 detector.cpp:433] A new leading master (UPID=master@<IP_ADDRESS>:5050) is detected
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.347884 27243 sched.cpp:234] New master detected at master@<IP_ADDRESS>:5050
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.347956 27243 sched.cpp:242] No credentials provided. Attempting to register without authentication
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.348299 27243 sched.cpp:736] Got error 'Completed framework attempted to re-register'
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.348309 27243 sched.cpp:1320] Asked to abort the driver
Jan 22 10:16:42 test3 java[27217]: [2015-01-22 10:16:42,348] INFO Error: Completed framework attempted to re-register (com.airbnb.scheduler.mesos.MesosJobFramework:216)
Jan 22 10:16:42 test3 java[27217]: [2015-01-22 10:16:42,348] INFO Shutting down job scheduler (com.airbnb.scheduler.jobs.JobScheduler:661)
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.350591 27243 sched.cpp:777] Aborting framework '20150116-150711-4084312256-5050-20769-0001'
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.350764 27276 sched.cpp:1286] Asked to stop the driver
Jan 22 10:16:42 test3 java[27217]: I0122 10:16:42.350814 27240 sched.cpp:752] Stopping framework '20150116-150711-4084312256-5050-20769-0001'
Jan 22 10:16:42 test3 java[27217]: [2015-01-22 10:16:42,350] INFO Defeated. Not the current leader. (com.airbnb.scheduler.jobs.JobScheduler:673)

We're using mesos 0.21.1 and there are no other chronos instances running on the cluster.

As I mentioned on the mailing list, this is related to the failover timeout. I have submitted a PR to change the default timeout to make it 1 week, https://github.com/mesos/chronos/pull/350. This can be configured as well.

What happens if someone has a mesos cluster, uses chronos on it for a while. Then stops it and wants to use it again a few months later?

One option is to configure your failover timeout to be longer.
The second option is that if this happens, you can either clear the zookeeper state related to the framework id or change the framework id that it registers with. That said, it would be more elegant if there were a way to gracefully handle this scenario in the code (case of failover timeout elapsed). Let's leave this issue open in order to gracefully handle this in Chronos itself.

Sure, the workaround covers 99+ % of the cases, however, at least documenting the what to do in those rare cases would be a nice minimum. (Providing a command line switch for deleting the ZK metadata, for example, to force re-registration would be even better.) Thanks!

+1 for improved documentation.


{AKS} az aks stop: add prompt when private link cluster is stopped

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
az aks stop: prompt when stopping a private link cluster.
General Guidelines

[x] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[x] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Thank you for your contribution! We will review the pull request and get back to you soon.

@zhoxing-ms  we decided to warn customer instead of prompt. I've changed the code accordingly. Please help review the change again.

Requeued live test


Support for svelte.js

I hope there is no support for svelte.js
Can you suggest how to build with svelte.js

in the near future most likely there will be no direct implementation


Initialize npm for the node.js example

This PR adds an npm init -f to the node.js example, while not strictly needed, I ran into the bug that npm installed packages into a parent folder which had a node_modules folder already, which is confusing. This makes sure that everything is contained in the same folder. It will also help in another addition I plan to do (resource detection)

Does any such example exist for ES6 ?


The correct way to do an "initial" sendNext to get combineLatestWith to work

I have two signals, one from color picker and second from UISlider (to pick color alpha):
 let pickedColor = Signal<UIColor>()
 let pickedAlpha = Signal<Float>()

I'd like to combine these two signals, so the obvious way is to use combineLatestWith:
let _ = pickedColor.combineLatestWith(pickedAlpha).next { color, alpha  in
    print("color: \(color)\talpha: \(alpha)")
}.disposeWith(disposableBag)

The values are not printed, until both controls do their first sendNext, which is expected.
I cannot wrap my head around the "nice" way to make that initial signals from both controls. Currently, what I do the next line after setting up combineLatestWith is:
pickedColor.sendNext(colorPicker.color)
pickedAlpha.sendNext(alphaSlider.value)

...but, I feel like I'm missing something obvious from FRP.

Instead of Signal try with SignalValue it sends its current value to any new observers and should call the combineLatestWith(...) handler.
I need to find some time to update and rework the library for Swift 3.
If you have any suggestions feel free to open an issue.
:)

Hi @yankodimitrov
Thank you very much for answer. I'll try it a bit later.
Speaking about Swift 3. Have you seen this private fork? We use it in our Swift 3 app and it seems to work fine.

Hi @evgeniyd
Yes I saw it, but along with the Swift 3 compatibility I want to refactor the framework.
Im working on it on the SignalKit-5.0 branch.
I will close the issue for now.


When installing from the ZIP with admin, error 404

Hello,
I followed your doc here : https://getgrav.org/downloads
and here : https://learn.getgrav.org/16/basics/basic-tutorial
I saw the page with php extensions missing, I installed them and so the webpage dissapeared and now I am always redirected to localhost/admin with "error 404 not found"... You're app is not really plug and play ^^

Did you install “Grav Core” or “Grav Core + Admin”?
Can you reach just localhost? If that’s the case you have issues with your routing. Try looking at the troubleshooting for 404 here:  https://learn.getgrav.org/16/troubleshooting/page-not-found
Also what server/web server/php versions are you running?

Sorry for the lack of infos
"Grav Core + Admin"
Nope I can't, it redirects me to /admin all te time
I'm using Apache2 and PHP 7.3 :

That redirect happens because it's the first time load and the admin plugin is trying to get you to register your administration user. It is definitely working as intended but something is causing that 404.
My question to you is if the 404 error you are getting looks like a well styled 404 page with a "Whoops" in it or if it's the default plain web server 404 error.
If it is the latter that is definitely an issue with the htaccess, in which case you should make sure you have a .htaccess at the root of your site and the webserver and vhost configured accordingly to work with it (see my troubleshooting link above).
If it is the former, try having a look at the logs in logs/grav.log and see if there's anything obvious going on.

Well... Sorry I'm bad, here is what I've done to make it work (should be in documentation instead of troubleshooting) :
# Place Grav files in webroot
cd /var/www/html/
mv /home/user/Downloads/grav-admin-v1.6.28.zip .
unzip grav-admin-v1.6.28.zip
rm grav-admin-v1.6.28.zip
mv grav-admin/* .
mv grav-admin/.* .
rmdir grav-admin/
chown -R www-data: *
chown -R www-data: .*

# Install php modules dependancies
apt install php-mbstring php-curl php-dom php-gd php-xml php-zip
# Enable apache mod rewrite
a2enmod rewrite
# Add "AllowOverride All" to apache's virtualhost configuration
nano /etc/apache2/sites-available/000-default.conf

So it looks like this :

# Restart apache service
service apache2 restart


⚠ Samsung has degraded performance

In 51910ed, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2750 ms

Resolved: Samsung performance has improved in 61f04b3.


Implement battery

[x] BQ27220
[x] BQ25896
[x] GUI

[ ] Set battery capacity on BQ27220
[ ] Logo on main screen when plugged in
[ ] Battery info Menu


Graphical Corruption when toggling fullscreen mode with vrr=2

Hyprland Version
Hyprland, built from branch main at commit 424c9a7e704590db5c823557e5e388e366f7b1cd dirty (render: stop locking SWC on tearing). Tag: v0.30.0-86-g424c9a7e
Bug or Regression?
Regression
Description
Hyprland v0.29.0 has introduced a graphical corruption issue that was not present in v0.28.0 and earlier version.
When VRR is set to vrr=2, toggling fullscreen mode results in graphical corruption during both entry and exit of the fullscreen mode. This does not occur when VRR is set to vrr=0 or vrr=1.
I use two monitors, with only one of them supporting VRR, yet I can replicate this issue on both monitors as long as VRR is set to vrr=2.
Notably, prior to v0.29.0, setting vrr=2 globally did not display any graphical corruption on neither monitor.
How to reproduce
Set vrr=2 and then either spam toggle fullscreen or move the mouse while toggling fullscreen.
Another way to trigger this is to move my mouse from one monitor to the other and back again, graphical corruption will occur even without spamming or moving the mouse during fullscreen transition, but only for the first toggle cycle.
Crash reports, logs, images, videos
hyprland.log

git bisect please

I couldn't pinpoint a faulty commit using git bisect.
Since I was going nowhere with that, I decided to test the binary releases from GitHub.
I found that the v0.28.0 release binary is functioning properly with no graphical corruption. However, when I manually compile v0.28.0, graphical corruption occurs.
Furthermore, I tested the v0.27.0 release binary and encountered no graphical corruption.
This issue also persists in newer binary releases, including v0.29.0, v0.29.1, and v0.30.0.

if anything, this is an issue with wlroots or amdgpu, but I think it's just a thing that happens when you toggle vrr

I've the same issue, with various glitches happening on plasma and mutter-vrr, too. So I guess it is indeed something that needs to be fixed by amd or wlroots.
Just to add however, since I've played around with my config all day:
I have two monitors - 75Hz and 144Hz, both with freesync.
75Hz, 144Hz, both vrr = 2: This config will introduce a 2-3s long black screen when toggling fullscreen.
60Hz, 120Hz, both vrr = 2: This config gets rid of the black screen, making the transition to fullscreen instant, however it introduces the graphical glitches
72Hz, 144Hz, both vrr = 2: This again results in black screens.
No differences with various combinations of vrr on both monitors. For comparison, I've also tested the behavior on plasma today, and 75/144 results in constant back and forth black screens (pretty much unusable), while 60/120 works flawlessly with no glitches happening.


Mapping to object of the same type doesn't work

I have some complex entities that I need to copy but exclude several Object-type properties. However, it wasn't working for me. Then I tried this simple example and found it doesn't work. It appears I get back the default(DestinationType)
var mapper = new MappingService();
mapper.Register<PartType, PartType>();

mapper.Compile();

// The only property is "Type"
var partType = new PartType()
{
  Type = "Test"
};

var partTypeCopy = mapper.Map<PartType, PartType>(partType);
Assert.AreEqual(partTypeCopy.Type, partType.Type); // Fails here

Dear bzuillsmith,
Thanks a lot for th input. You are right I've just checked it and yes it ignores the same for some reason. So this is the bug and we'll fix it ASAP.

Any ETA in that 1.1 Version?
I could use that functionality too.

Tornhoof,
September the 15th!

Fixed and will be included 1.1 release


Weekview support

Does this package support weekview?

unfortunately, I'm not planning to support week view right now. yet I'm happy to review any PR addressing this.


Unable to extract licenses for some NPM packages

What happened:
I ran Syft with SYFT_JAVASCRIPT_SEARCH_REMOTE_LICENSES=true and it logs out a warning it failed to fetch them
What you expected to happen:
To successfully fetch all licenses
Steps to reproduce the issue:

Make a project with the dependencies below
Run Syft with SYFT_JAVASCRIPT_SEARCH_REMOTE_LICENSES=true

Anything else we need to know?:

I ran Syft twice and both times it gave the same warnings, implying there's an invalid assumption in the unmarshalling
Here are the warnings from running Syft

[0036]  WARN unable to extract licenses from javascript yarn.lock for package ansi-wrap:0.1.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0041]  WARN unable to extract licenses from javascript yarn.lock for package array-slice:0.2.3: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0042]  WARN unable to extract licenses from javascript yarn.lock for package array-unique:0.2.1: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0086]  WARN unable to extract licenses from javascript yarn.lock for package config-chain:1.1.13: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0134]  WARN unable to extract licenses from javascript yarn.lock for package glob-base:0.3.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0168]  WARN unable to extract licenses from javascript yarn.lock for package is-primitive:2.0.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0172]  WARN unable to extract licenses from javascript yarn.lock for package is-whitespace:0.3.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0187]  WARN unable to extract licenses from javascript yarn.lock for package kind-of:1.1.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0242]  WARN unable to extract licenses from javascript yarn.lock for package preserve:0.2.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string

They all look like they have normal package.json files on GitHub to me which is strange

array-slice
kind-of
is-whitespace
is-primitive
glob-base
preserve
ansi-wrap

Environment:

Output of syft version: syft 0.103.1
OS (e.g: cat /etc/os-release or similar):

PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

Hi @atl-mk, thanks for the report! I tried quickly to reproduce on the same version of Syft:
mkdir syft-2611 && cd syft-2611
yarn && yarn add array-slice
SYFT_JAVASCRIPT_SEARCH_REMOTE_LICENSES=true syft . -o json

I don't see the warning you are seeing, and I see the MIT license in the JSON output:
      "licenses": [
        {
          "value": "MIT",
          "spdxExpression": "MIT",
          "type": "declared",
          "urls": [],
...

Can you share more detailed reproduction steps, maybe the full project you are scanning? Can you also try upgrading to the latest available Syft?
Thanks!

@tgerla
Exactly the same even in a different project
Here's a simple package.json file
{
  "name": "test",
  "private": true,
  "dependencies": {
    "ansi-wrap": "0.1.0",
    "array-slice": "0.1.0",
    "glob-base": "0.3.0",
    "is-primitive": "2.0.0",
    "is-whitespace": "0.3.0",
    "kind-of": "1.1.0",
    "preserve": "0.2.0"
  }
}

Simply using yarn on 1.22.19 results in the same output. I even upgraded to the latest version of Syft, when I reported the bug 1.103.1 was the latest version, but the bug is still present
$ SYFT_JAVASCRIPT_SEARCH_REMOTE_LICENSES=true SYFT_LOG_LEVEL=info syft . -o syft-json=sbom.cyclonedx.json
[0000]  INFO syft version: 0.103.1
[0000]  WARN no explicit name and version provided for directory source, deriving artifact ID from the given path (which is not ideal)
[0000]  WARN unable to extract licenses from javascript yarn.lock for package ansi-wrap:0.1.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0001]  WARN unable to extract licenses from javascript yarn.lock for package example:8.8.8: unable to parse license from npm registry: json: cannot unmarshal string into Go value of type struct { License string "json:\"license\"" }
[0001]  WARN unable to extract licenses from javascript yarn.lock for package glob-base:0.3.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0002]  WARN unable to extract licenses from javascript yarn.lock for package is-primitive:2.0.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0002]  WARN unable to extract licenses from javascript yarn.lock for package is-whitespace:0.3.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0002]  WARN unable to extract licenses from javascript yarn.lock for package kind-of:1.1.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0002]  WARN unable to extract licenses from javascript yarn.lock for package preserve:0.2.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
$ SYFT_JAVASCRIPT_SEARCH_REMOTE_LICENSES=true SYFT_LOG_LEVEL=info syft . -o syft-json=sbom.cyclonedx.json
[0000]  INFO syft version: 0.105.0
[0000]  WARN no explicit name and version provided for directory source, deriving artifact ID from the given path (which is not ideal)
[0000]  WARN unable to extract licenses from javascript yarn.lock for package ansi-wrap:0.1.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0001]  WARN unable to extract licenses from javascript yarn.lock for package example:8.8.8: unable to parse license from npm registry: json: cannot unmarshal string into Go value of type struct { License string "json:\"license\"" }
[0001]  WARN unable to extract licenses from javascript yarn.lock for package glob-base:0.3.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0002]  WARN unable to extract licenses from javascript yarn.lock for package is-primitive:2.0.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0002]  WARN unable to extract licenses from javascript yarn.lock for package is-whitespace:0.3.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0002]  WARN unable to extract licenses from javascript yarn.lock for package kind-of:1.1.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
[0002]  WARN unable to extract licenses from javascript yarn.lock for package preserve:0.2.0: unable to parse license from npm registry: json: cannot unmarshal object into Go struct field .license of type string
$ yarn -v
1.22.19

Hi @atl-mk, thanks for the detailed info! I've been able to reproduce the issue and have an idea for the fix, and will add this to our backlog. Details below:
It looks like the NPM registry doesn't always return a license shaped the way we expect. In Syft's code, we assume that the license field on the returned object will be a string, but it looks like sometimes it can be an object:
❯ curl -s https://registry.npmjs.org/tiny-tarball/1.0.0 | jq .license
"ISC"

❯ curl -s https://registry.npmjs.org/ansi-wrap/0.1.0 | jq .license
{
  "type": "MIT",
  "url": "https://github.com/jonschlinkert/ansi-wrap/blob/master/LICENSE"
}

So for ansi-wrap, we get an object back, and for tiny-tarball, we get a single string.
But in Syft, we assume it will be a single string, see https://github.com/anchore/syft/blob/98de2e2f6205b1660f98915cbed22695821fa9c8/syft/pkg/cataloger/javascript/package.go#L186-L188, so this functionality is broken for packages that have an object in their license field.
Dev notes: The next step is to change our deserialization to work with either an object or a string being returned in the license field.

Thanks @willmurphyscode
Note it can also be an array of objects. See https://docs.npmjs.com/cli/v10/configuring-npm/package-json#license for an example, while this shape is deprecated by NPM, many packages still use this.


Zombile process with MPI launch[BUG]

Describe the bug
If the parallel training is launched via MPI, zombie process will not be killed upon keyboard interruption or exceptions.
To Reproduce
Initialize the parallel context with MPI and launch more than one processes (e.g., mpirun -np 2 train.py). Then interrupt the training with Ctrl + C.
Expected behavior
Ranks > 0 will keep running and taking up memories.

The issues emerges from improper interruption with multiple hit of Ctrl+C.


deps: Updated dependencies

What
For: #2251

Codecov Report

Merging #2259 (cd7be79) into develop (2ea0da3) will decrease coverage by 1.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           develop   #2259      +/-   ##
==========================================
- Coverage     8.86%   7.73%   -1.13%
==========================================
  Files          161     181      +20
  Lines         6623    9098    +2475
==========================================
+ Hits           587     704     +117
- Misses        6036    8394    +2358

Impacted Files
Coverage Δ

...kages/smooth_app/lib/widgets/attribute_button.dart
0.00% <0.00%> (-92.00%)
:arrow_down:

packages/smooth_app/lib/themes/smooth_theme.dart
60.00% <0.00%> (-22.98%)
:arrow_down:

...s/smooth_app/lib/data_models/user_preferences.dart
9.37% <0.00%> (-22.94%)
:arrow_down:

...p/lib/generic_lib/dialogs/smooth_alert_dialog.dart
19.23% <0.00%> (-14.98%)
:arrow_down:

...mooth_app/lib/data_models/product_preferences.dart
26.47% <0.00%> (-4.96%)
:arrow_down:

.../smooth_app/lib/pages/onboarding/welcome_page.dart
0.00% <0.00%> (-3.13%)
:arrow_down:

.../smooth_app/lib/pages/onboarding/scan_example.dart
0.00% <0.00%> (-2.28%)
:arrow_down:

packages/smooth_app/lib/main.dart
15.74% <0.00%> (-2.16%)
:arrow_down:

...s/smooth_app/lib/pages/onboarding/next_button.dart
2.22% <0.00%> (-1.78%)
:arrow_down:

...p/lib/pages/onboarding/consent_analytics_page.dart
0.00% <0.00%> (-1.57%)
:arrow_down:

... and 169 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 0b902d1...cd7be79. Read the comment docs.


ipfs: files.ErrNotReader -> iface.ErrIsDir

This is the actual fix making it's way to master. https://github.com/textileio/go-textile/tree/sander/0.1.10-rc2 cherry-picks this onto the stack needed by the current RN SDK.


Update recogni zephyr fork to move soc/dts/board and some drivers to recogni overlay

This branch uses updated west.ml file.

Wrong branch...


Add detailed exception if injected Tracer isn't a MockTracer

Signed-off-by: Kevin Grigorenko<EMAIL_ADDRESS>

Superseded by #45