homeManagerModule with input group and udev requiring sudo

This may well be misconfiguration at my end, but I am failing to get the Xremap to start up from the systemd cleanly with home-manager config, and I'd have to start Xremap using sudo once, and only then all the home-manager bindings seem to work fine. The below is the gist of what I have at the moment.
My home-manager module for Xremap, xremap/default.nix:
{ pkgs
, lib
, config
, inputs
, ...}:

{
  imports = [ inputs.xremap.homeManagerModules.default ];

  services.xremap = {
    enable = true;
    withWlroots = true;
    # watch = true;
    deviceNames = [
      "Asus\ Keyboard"
    ];
    yamlConfig = (builtins.readFile ./xremap.yaml);
  };
}

In my home-manager config:
    imports = [
      # ...
      ../../modules/xremap
      # ...
    ];

My NixOS config for udev:
    services.udev = {
      # NOTE: Xremap requires the following:
      # https://github.com/xremap/xremap?tab=readme-ov-file#running-xremap-without-sudo
      extraRules = ''
        KERNEL=="uinput", GROUP="input", MODE="0660", TAG+="uaccess"
      '';
    };

My user is set with input group as well as wheel. When I do sudo xremap, though, I cannot seem to get the wlroots to find the application context, and thus need to run without one. I'm probably doing something incorrect with udev, but any support would be much appreciated!

failing to get the Xremap to start up from the systemd cleanly with home-manager config

At a glance the config looks OK. What is the output of systemctl --user status xremap ran as the user managed by home-manager? Anything in logs? journalctl --user -u xremap

I'd have to start Xremap using sudo once, and only then all the home-manager bindings seem to work fine

When I do sudo xremap, though, I cannot seem to get the wlroots to find the application context, and thus need to run without one

Can you clarify the sequence here?
sudo uses root's environment; xremap would not be able to locate the DE socket thus app-specific bindings would probably not work.
Also, which desktop environment (sway/hyprland/something else) are you using?

Hi @VTimofeenko, thanks for the quick response!
When Xremap is run as a non-root user, I get the following error:
Error: Failed to prepare an output device: Permission denied (os error 13)

This is true for both systemd as well as when I manually trigger the Xremap (I downloaded the latest binary directly to test against). And as mentioned above, this error goes away after running it with sudo once.
So the sequence to get Xremap to work is the following:

Start up and login as a non-root user
At this point, I can see systemctl --user status xremap in a failed state
I can see the error Error: Failed to prepare an output device: Permission denied (os error 13) with journalctl
Run Xremap with sudo manually (something like sudo ./Downloads/xremap ./Coding/xremap/xremap.yaml --device "Asus Keyboard")
Confirm that I do not get any error (if I try to use application context based mapping, I'd get an error, which is expected when running it as root)
Kill the process from step#4, and restart systemd with systemctl --user restart xremap
Confirm that I do not get any error, and Xremap works correctly including application context

I'm using Niri (https://github.com/YaLTeR/niri), but I could repro this with Hyprland as well.

Potential solution:
Have you tried using the non-home manager user module? Here's a sample flake, you would need to import the inputs.xremal-flake.nixosModules.default, set services.xremap.serviceMode = "user" and specify the user.
The user mode automatically adds the user to uinput and input (source)
If you want to disect this further:
This is very odd. AFAIK xremap does not change device permissions by itself -- that's kinda the point of udev. One potential idea is that udev is not triggered before step 4. DE is not relevant in this case.
Can you provide:

Outputs of id and groups at login
Outputs of getfacl /dev/input/event0at step 1 and 6

Also worth running udevadm monitor --property --subsystem-match=input while everything is happening and check the messages as to what exactly is going on.

Thanks for the reference -- with the reference to how it's handled with NixOS module, I could finally find what I was missing!
My user was configured with input group, but it wasn't part of uinput. In fact, I didn't even have the uinput group defined, and that was because I didn't have hardware.uinput.enable = true; in my config. Once I added that, and made sure the login user is also a part of uinput group, I could get the Xremap to work smoothly with systemd!
So, I think the below is the NixOS configuration needed for home-manager based Xremap setup:
    # Ensure uinput group is made available
    hardware.uinput.enable = true;
    services.udev = {
      # NOTE: Xremap requires the following:
      # https://github.com/xremap/xremap?tab=readme-ov-file#running-xremap-without-sudo
      extraRules = ''
        KERNEL=="uinput", GROUP="input", TAG+="uaccess"
      '';
    };

With that in place, once a user is a part of both input and uinput group, the non-root user can run Xremap.


Recipe book scrolling works anywhere in inventory

Hiya.
Maybe works as intended, but scrolling anywhere in your inventory causes the recipe book pages to flip. This can cause issues with mods like Mouse Tweaks where scrolling to move items causes the recipe book pages to fly by. I was wondering if this could be fixed so the pages only turn when the cursor is in the recipe book panel. fwiw I'm on 1.20.1
Thanks for opening the repo back up too ^^

Thanks for pointing this out. I don't use Mouse Tweaks, so I never noticed this, but limiting the scrolling detection isn't a bad idea. Let me see what I can do.

Updated for 1.20/1.20.1: https://modrinth.com/mod/hardcover/version/1.0.1+fabric-mc1.20

Works perfectly, thanks a ton!


Update statefulset.yaml

When Certs are provided via CertManager, the /cockroach/certs volume mount needs to be added to allow the secrets to be mounted into the pod

Fixed with #147 . Closing this.


Improve hero section maintaining existing template

Improve Hero Section Design for Consistency
Description:
This PR introduces improvements to the hero section while preserving the existing design template for consistency. The changes aim to enhance the visual appeal and provide a modern, clean design that aligns with the overall theme of the website.
Changes made:
Background Image Update:

The logo image has been integrated as a full-width background, creating a more immersive experience for users.
The main text content has been centered vertically and horizontally, making the hero section more balanced and visually appealing.

Typography Enhancements:

Improved typography for the hero section title to create a smoother color transition effect for the "AMyeS FiT" text, using a gradient for a dynamic look that doesn't require hover actions.

Adjusted the font sizes to ensure responsiveness across different devices, ensuring consistency across screen sizes.
Call-to-Action Button:

Updated the "Sign up today" call to action with a better contrasting design and a subtle hover effect, ensuring it stands out without disrupting the overall design language.

Screenshots:

Issue #24

@Aneeshaik Please review. So, I saw the mention of the UI improvement issue with @Saachi30!. This prompted the color transition for the name to pop out more

Hey @AfubeAngel! It's good but it doesn't sync with the below components.


Feature Request

FTP Upload like NetBeans with file selection, Sync and download.

dupe of #13643

thanks!


[FLINK-31386][network] Fix the potential deadlock issue of blocking shuffle

What is the purpose of the change
Currently, the SortMergeResultPartition may allocate more network buffers than the guaranteed size of the LocalBufferPool. As a result, some result partitions may need to wait other result partitions to release the over-allocated network buffers to continue. However, the result partitions which have allocated more than guaranteed buffers relies on the processing of input data to trigger data spilling and buffer recycling. The input data further relies on batch reading buffers used by the SortMergeResultPartitionReadScheduler which may already taken by those blocked result partitions that are waiting for buffers. Then deadlock occurs. This patch fixes the deadlock issue by reserving the guaranteed buffers on initializing.
Brief change log

Reserve the guaranteed buffers on initializing for SortMergeResultPartition.

Verifying this change
This change added tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

This patch is picked. CI [SUCCESS]. Merging.


NotImplementedError with fewer tables than GPUs

Does the library not support cases where the number of embedding tables is smaller than the number of GPUs, e.g., when we have one embedding table with billions of items but want to shard it across multiple GPUs maybe by using column_slice_threshold? It seems that it raises an error in such cases:
https://github.com/NVIDIA-Merlin/distributed-embeddings/blob/c635ed843cf3edbc41f5e9bfc02a5ca2f71b0882/distributed_embeddings/python/layers/dist_model_parallel.py#L272-L273

It will be supported in next release which should be coming soon.
The way it is supported will be exactly as you suggested, use column_slice_threshold to slice tables. It was not well tested in current release version, so marked as not implemented to prevent surprises.

Hi @edknv,
The feature to automatically slice table when there is more worker than table is added in this commit
https://github.com/NVIDIA-Merlin/distributed-embeddings/commit/a5816132ac65d07e1129861dc4404e075cef826e
By default, we do as little slicing as possible, meaning if you run say 7 tables on 8 GPU, just the largest will be sliced 2-way and you get 8 total slices for each worker.
Note that explicitly set column_slice_threshold will disable auto slicing and instead use the user defined threshold.
Closing now. Please re-open if you find further issue wiht the feature.


<IP_ADDRESS> binary builds seemed to be tagged as "beta"?

From Rubygems release page: https://rubygems.org/gems/unf_ext/versions

@knu can you please check this?

Oh, I think I forgot to push binary gems.  Just pushed those, so please check out.

@knu perfect, thank you!


Added cluster info data source

Added functionality which addresses #464
Cluster Version Info missing at current due to messing around with nested block structs.

My customer was asked for it for awhile now, so decided implementing this by themselves. Great to see it's getting added.


Branch v1.4 update dg

Update Appendix: Requirements portion of DG
Update export command error message

Codecov Report

Merging #193 (d32e65e) into master (a0895ea) will increase coverage by 0.16%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #193      +/-   ##
============================================
+ Coverage     45.33%   45.49%   +0.16%
  Complexity      495      495
============================================
  Files           129      129
  Lines          2484     2473      -11
  Branches        302      292      -10
============================================
- Hits           1126     1125       -1
+ Misses         1269     1259      -10
  Partials         89       89

Impacted Files
Coverage Δ

...va/seedu/address/logic/commands/ExportCommand.java
0.00% <ø> (ø)

src/main/java/seedu/address/model/AddressBook.java
58.62% <0.00%> (ø)

...rc/main/java/seedu/address/model/tasks/Header.java
0.00% <0.00%> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
61.81% <0.00%> (ø)

...in/java/seedu/address/model/tasks/Information.java
0.00% <0.00%> (ø)

...java/seedu/address/model/tasks/UniqueTaskList.java
24.00% <0.00%> (ø)

...va/seedu/address/logic/commands/DeleteCommand.java
100.00% <0.00%> (ø)

...a/seedu/address/logic/commands/AddTaskCommand.java
0.00% <0.00%> (ø)

...a/seedu/address/model/person/UniquePersonList.java
93.02% <0.00%> (ø)

.../seedu/address/logic/parser/FindCommandParser.java
55.73% <0.00%> (ø)

... and 15 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 8b0518a...d32e65e. Read the comment docs.

Nice! LGTM!


Question: Is there any way to use BackgroundDownloader?

I want to use BackgroundDownloader from my legacy UWP code.
var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();

then it throws an exception:System.Runtime.InteropServices.COMException:“This operation is only valid in the context of an app container. (0x8007109A)”
My current project is generated by Windows APP SDK C# 2022 Templates <IP_ADDRESS>382420
Thanks for help!

@codendone Is this a supported scenario?

It looks like the error string is correct that BackgroundDownloader is not supported unless the app is running in an app container. microsoft/WindowsAppSDK#219 proposes having app container as an option for Windows App SDK, but that isn't currently available (and this approach would obviously only be if interest if you'd like your app to be in an app container).

@EveElseIf have you got any workaround for Background Downloader? I am also working on a UWP to WinUI3 conversion.

What are the recommended alternatives?


Flags are not being parsed for running external command

Describe the bug
While running probe of type EXTERNAL with command that passes in few flags but none of the flags are being parsed. Instead of the flags only whitespaces are getting passed.
Cloudprober Version
Pre-release (latest changes)
To Reproduce
Attached the scripts for reference
Additional context
Add any other context about the problem here.
cloudprober.zip

I could reproduce this bug. Thank you so much for filing this, @Pulkit0110. It was a recent change where I was trying to optimize label substitution in command args.
I've created #394 to fix the bug and fix/add a test that would have caught this error.


cleaups: gofmt -w -s

Various cleanups. Remove superfluous nil check and fmt.Errorf where it
makes sense.

I don't understand why travis is acting this way.
Locally tests pass.


Add resource snippets and snippet list module

This PR defines the Resource snippet type and creates a Snippet List module to be able to output them in a filtered, compact format.
We'd very much like to get this in tomorrow's 4.6 code freeze. Sorry for the short turnaround, but the code has already been fairly thoroughly vetted via pairing with @chosak and @jimmynotjim and the concept by @schaferjh.
Additions

Resources snippet definition
Snippet List module

Changes

Fixes Image and Text 25/75 output to not output an empty h3 if heading is not set.
Simplifies (and also makes more complex) the .o-table__stack-on-small code

Testing

Pull branch and check it out
./cfgov/manage.py migrate
./cfgov/manage.py runserver
Go to the Snippets screen and create a new Resource, making sure to add a related file or link, and giving it a couple tags. Remember the tag names you gave it.
Open or create a browse page
Create a Snippet List module in the main content area. Be sure to select "Resources" for the snippet type and enter tag names to match the tags you gave the snippet you created. Also, create at least one action, choosing the snippet field that corresponds to to the related file or link field you entered on your snippet.
Preview the page

Screenshots

Notes

The tag-based filtering mechanism isn't ideal, but it's a working MVP. Ideally, we'd have a hard-coded list of snippet (sub)categories for editors to choose from, but until we get closer to continuous delivery and/or our idea of what tags gets more solidified, having to deploy code to update that list would be extremely painful.

Todos

Write tests for the new filter_by_tags method on TaggableSnippetManager.

Checklist

[x] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[x] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged
[x] Visually tested in supported browsers and devices
[x] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[x] Reviewers requested with the Assignee tool :arrow_right:

Looks good from a FEWD perspective.

I have added tests for the new function we wrote (filter_by_tags)!


C++20: Possible to use homogeneous variadic function parameters?

Some functions/methods are taking an arbitrary number of arguments that should all be of the same type. An example of such a method is command_buffer_t::draw_indexed. It accepts any type, but optimally, it would only accept any number of arguments each of the SAME type, namely const buffer_t&.
Evaluate if it is possible (with C++20 ?!) to specify that all variadic arguments shall have the same type!
Article that describes this issue in general: Fluent C++: How to Define a Variadic Number of Arguments of the Same Type
C++ Proposal: Homogeneous variadic function parameters
In the case of command_buffer_t::draw_indexed, the big advantage would be that -- for instance in the model_loader example -- the buffers could not only be passed like follows:
cmdbfr->draw_indexed(
	*drawCall.mIndexBuffer,
	*drawCall.mPositionsBuffer, *drawCall.mTexCoordsBuffer, *drawCall.mNormalsBuffer
);

but also without explicitly invoking ak::owning_resource::operator* i.e. like follows:
cmdbfr->draw_indexed(
	drawCall.mIndexBuffer,
	drawCall.mPositionsBuffer, drawCall.mTexCoordsBuffer, drawCall.mNormalsBuffer
);

AND even a mixture would be possible because the implicit cast operator ak::owning_resource::operator const T& would be invoked automatically by the compiler. The following invocation would then also be viable:
cmdbfr->draw_indexed(
	drawCall.mIndexBuffer,
	*drawCall.mPositionsBuffer, drawCall.mTexCoordsBuffer, *drawCall.mNormalsBuffer
);

...or any other combination of passing const owning_resource<buffer_t>& or const buffer_t& for that matter since all would be cast to const buffer_t& since the method declaration would state the type explicitly.
Initializer Lists?
An alternative would maybe be to look into using std::initializer_list but it would have to capture references and pass them on. Not sure if would lead to nice syntax. In the optimal case, with an std::initializer_list, the following might be possible:
cmdbfr->draw_indexed(
	drawCall.mIndexBuffer,
	{ *drawCall.mPositionsBuffer, drawCall.mTexCoordsBuffer, *drawCall.mNormalsBuffer }
);

If we can use homogeneous variadic function parameters, other interfaces could be switches as well, like:
descriptor_cache::get_or_create_descriptor_sets(std::initializer_list<binding_data> aBindings)


How to get the train data files

Hi,
When I run the training code, it ocurrs the problem like 'No such file or directory' ,maybe some train files can't find in it,like '../../frames/frame02661.png'.
Could you support me with the data or data links for training?
Thanks!

has anyone solved this problem

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar


Does LMP/LGP install feature support to install user feature?

If use zipkin for opentracing, server.xml have to specify the <feature>usr:opentracingZipkin-0.31</feature> and the user feature should be available at the usr directory.
LMP/LGP  need to support to install user feature by liberty:install-feature goal, assuming that user feature is available at maven repo

@fmhwong may need an esa file for opentracingZipkin-0.31 at the maven repository

This maps to https://github.com/OpenLiberty/open-liberty/issues/8986.  @bensonlatibm

I believe the work needed is considered part of https://github.com/OpenLiberty/open-liberty/issues/8986 and will be handled by @bensonlatibm @hermankailey and team.  Benson and Herman, can you confirm?

@bensonlatibm @hermankailey, please use this issue for that work you need to do for OpenLiberty/open-liberty#8986 in the plugins.


Issue with demo case 3

Describe the bug
Case No. 3 cannot be solved.
To Reproduce
Steps to reproduce the behavior:

Filter SVs and look for the deletion.
Deletion is not returned.

Expected behavior
Deletion should be returned.
Additional context
Add any other context about the problem here.

Root Cause Analysis
One end of the deletion is in a segmental duplication. This is forbidden for all criteria sets.

Resolution Proposal
Allow 1 breakend to be in a segmental duplication for CNVs in "high" and 2 breakends for CNVs in "pass" mode. Allow 2 breakends for all SVs including neutral in "default" mode.


Destroy or recreate

I try to use the script and it is working really well but i have problems with ajax content that is loaded.
I tried to just fire the function again but it looks like this does not work. Is there any way to reset the init and fire the function again?

@ChristianGrieger try calling the init function with the force flag true https://github.com/smasala/responsive-tables-js/blob/master/src/responsivetables.js#L43

Thank you very much 👍


Fix drone filter func

As title. cc @bradrydzewski

@bradrydzewski need you take this PR. I will write the blog post to introduce the drone filter feature. 👍

ping @bradrydzewski

@tboerger @appleboy  Any ETA when this PR will be merged? we want to use filter feature on drone agents

@gvishnutej I don't have permission to merge this PR. I can verify this PR resolve the filter issue.

sorry the delay on my end. I think eventually we will use a different (e.g. simpler) mechanism for routing jobs to different agents. So you should expect the filter to eventually be replaced, but that won't happen for a few months.

@bradrydzewski Thanks for merging this fix. I see that drone:latest docker image has this change. Is there a plan to release a new version of drone with this fix?

@appleboy does this allow running certain jobs on certain agents?  any quick example you could share, or link to a blog post?  Been hoping for this feature!  Thanks for your time on this!

@geekdave see the @bradrydzewski comment https://github.com/drone/drone/pull/2200#issuecomment-328394983


How can I use migrations?

I'm trying to use migrations in your project, but I can not. I am putting the migrations in the "application/migrations" folder, however I get the following error message:
No migrations were found.

Did u follow instructions at https://www.codeigniter.com/user_guide/libraries/migration.html ?

Yes. But I did not get a solution in the documentation. Thank you anyway.


[GSoC'24] Keyboard Shortcuts Customization, Cypress Tests

Motivation and context

How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have created a changelog fragment
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (see GitHub docs)
[ ] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

Summary by CodeRabbit

New Features

Enhanced user interface for the Shortcuts Settings component, improving organization and styling.
Introduction of a comprehensive suite of end-to-end tests for customizable keyboard shortcuts, ensuring robust functionality and user experience.

Bug Fixes

Improved handling of shortcut registration and conflict resolution, enhancing usability.

Documentation

Added tests that cover various functionalities related to shortcut management, contributing to better reliability and user guidance.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 83.56%. Comparing base (ad8ceea) to head (a310823).
Report is 2 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #8343      +/-   ##
===========================================
+ Coverage    83.47%   83.56%   +0.08%
===========================================
  Files          396      396
  Lines        41830    41830
  Branches      3881     3881
===========================================
+ Hits         34919    34954      +35
+ Misses        6911     6876      -35

Components
Coverage Δ

cvat-ui
79.53% <ø> (+0.17%)
:arrow_up:

cvat-server
87.14% <ø> (ø)


Feature request: Export key(s) as "REG ADD" command

Example you right click this key

Then you would paste it like this

Should work with multiple items

would become

Text examples
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Google\SketchUp8\Settings" /v Shortcut_10 /t REG_SZ /d "0 0 0 R selectRectangleTool:" /f
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Google\SketchUp8\Settings" /v Shortcut_15 /t REG_SZ /d "0 0 0 G Edit/Make Component..." /f
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Google\SketchUp8\Settings" /v Shortcut_18 /t REG_SZ /d "0 0 0 Q selectRotateTool:" /f

NOTE :
You can reverse this change with the following command
reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\regedit.exe"


Don't prepend "Computer" when open key

When user clicks "Open key", the key name is prepended "Computer", but Regedit doesn't recognize "Computer" if the system locale is not English.
I found that at least on Windows 10 17763, there's no need to prepend "Computer\". Regedit can open the correct key when the LastKey or Favorites values start with "HKEY_LOCAL_MACHINE", "HKEY_CURRENT_USER", etc.

Regedit doesn't recognize "Computer" if the system locale is not English.

Good catch, thanks! 😃


3rd-party libraries annotation is not automatically loaded

Describe the bug
On opening new directory (project) in VSCode, 3rd-party library annotation is not automatically loaded. In this case, it's LOVE library.
Any code (always main.lua in my case) that has local love = require("love") doesn't load the LOVE annotation at first, but if the require("love") is retyped, the annotation is back. This is bit annoying to do everytime when opening my projects.
To Reproduce
Reproducing this seems require a slightly larger workspace (and sadly mines are private), but thankfully my own livesim2 project can be used to reproduce this. You just need to tell VSCode to open the project to reproduce (but ensure the project is detected as LOVE project first). I've attached the log for this project.
Unfortunately, an empty project consist of main.lua that only contain local love = require("love") (which has been detected as LOVE project) doesn't seem get affected by this issue. I also have attached the log for this empty project too in case you need to compare the logs between.
Expected behavior
LOVE library annotation should be loaded automatically on load, like the empty project described above.
Screenshots

Environment (please complete the following information):

OS: Windows
Is WSL remote? No
Client: VSCode

Additional context
I slightly have no idea when this start to happend, as it seems it happends overnight to me.
I also have ${3rd}/love2d/library in my Lua.workspace.library workspace setting for both projects, so this can be ruled out.
Provide logs
"livesim2" project log
empty project log

LOVE API is bigger than default limit. Try to add "Lua.workspace.preloadFileSize": 1000, to your config.

My Lua.workspace.preloadFileSize is set to 65536, so that one also can be ruled out.

Wait! I thought you were using this line to avoid the error. Otherwise it is not surprising because there is no library named love in your project.
You need to explicitly specify the type:
---@type love
local love = require("love")

Your issue is not with the Sumneko server, but with the VSCode client. In Sublime Text, for example, the client is designed differently and it looks for required package everywhere, although I personally think that VSCode behaves more correctly.

If you didn't touch any of that require("love") line and keep it as-is and the annotation doesn't load, then you're affected by the issue. Now try to retype the require("love") part of that line and you'll see annotation suddenly comes back.

Yes, you're right, it is strange behavior. But, as I said, it is observed only in vscode and only if you don't explicitly specify ---@type love. I think in this case, it is better to always specify the type, just to avoid scanning the entire project in search of a library that is not in it.

Interesting. This seems to be the exact same behavior I described in #932. As to whether its an LSP client problem or a lua-language-server quirk, I'm sympathetic to both views (mostly because I don't feel I have sufficient understanding of either one :upside_down_face:).
As a user of lua-language-server and a common LSP client (neovim), here is what I would naturally expect to happen:

Open file.lua in my editor
Editor starts lua-language-server with Lua.workspace.library containing /path/to/external/lib and/or Lua.runtime.path containing /path/to/external/lib/?.lua
file.lua contains the line local mod = require "my_module"
Call textDocument/hover for mod.
lua-language-server understands enough about lua to parse out that mod is equal to require "my_module"
lua-language-server searches Lua.workspace.library and/or Lua.runtime.path, eventually locating /path/to/external/lib/my_module.lua
lua-language-server returns the appropriate typedefs/enhancements from /path/to/external/lib/my_module.lua
a. If /path/to/external/lib is in Lua.workspace.library, ideally this file was preloaded and can be returned from memory/cache
b. If /path/to/external/lib/?.lua is in Lua.runtime.path, the file is read and parsed, and the results are probably cached

This seems like a logical and reasonable expectation to me, but it's possible I'm missing something.
Re: @lua-rocks comment:

I think in this case, it is better to always specify the type, just to avoid scanning the entire project in search of a library that is not in it.

I agree, but I do not own all codebases that I work on, and some of them do not use/allow EmmyLua style annotations.

@flrgh

I do not own all codebases that I work on, and some of them do not use/allow EmmyLua style annotations.

In such cases I keep this code in a directory which is added to exceptions so that neither luacheck nor lsp tries to scan them. I require these libraries in a separate directory and I write the API there:
/git/ is ignored and inspect placed there as submodule:
"Lua.workspace.ignoreDir": [".**", "git"]

require inspect from /lib/:
---@class lib.any.inspect-options:table
---@field depth integer? sets the maximum depth that will be printed out
---@field newline string? add custom newline each level of a table
---@field indent string? add an indent each level of a table
---@field process fun(...): any? additional handler

---Returns any lua variable in human-readable format.
---@alias lib.any.inspect fun(variable:any, options: lib.any.inspect-options): string

---@type lib.any.inspect
local inspect = require("git.inspect.inspect")
return inspect

Sorry for the late reply, I just finished the Chinese New Year holiday.
Thank you very much for providing a reproducible project, I tried to fix it, please help to test if this version fixes your problem: https://github.com/sumneko/lua-language-server/actions/runs/1811303949

I tried it and now everything works as intended, thanks.


Implement prepend instrumentation for datamapper

As part of implementing prepend auto-instrumentation for all libraries instrumented, introduce a prepend version of auto-instrumenting for the Datamapper gem
Feature Description
The agent instruments many libraries using the method chaining (a.k.a. method aliasing) approach to monkey-patching.  This is a form of monkey-patching was deprecated with Ruby's introduction of :prepend as a means to insert additional functionality into a module's method lookup mechanism ahead of the library's original method implementation.
Prepend strategy will be the default choice in 7.0+.  However, the prepend strategy may be reverted back to method chaining by adding the following configuration flag:
instrumentation:
  datamapper: chain

All configuration options are described in-depth here:
If you find a conflict between Prepend and another gem in your application's Gemfile, we would highly appreciate opening an Issue or commenting on this one specific to this gem so that we are aware and potentially work with gem authors to eliminate conflicts.
Additional Context
We are switching to prepending by default and deprecating method-chaining as this is the most acceptable and dependable way to extend libraries with auto-instrumentation support outside of using the subscriber/notification hooks pattern that some gem authors already provide for observability purposes.  However, this change is potentially a breaking change for some depending on other gems involved in an application's Gemfile makeup.  To facilitate switching over to 7.0 release, the method chaining approach is only deprecated (not removed) and a configuration switch is provided to revert back to method-chaining for customers that are affected by prepend auto-instrumentation strategies.

Our research has shown this gem is not commonly used by our users at this time. Datamapper instrumentation will be left as is and not converted to prepend.


Don't scroll under the view above

My scrollview don't scroll under the view above the layout. it flies over the layout above it

You need to arrange the layout in such a way that the scrolled view is under the view that isn't scrollable.

When I use the default scrollview of Anroid it works very well, but it is only with overscroll-decor I have this problem

When I use the default scrollview of Anroid it works very well, but it is only with overscroll-decor I have this problem

You can see how to deal with it in sample code, use a FrameLayout to wrap your view which need to over scroll.


Support "derivative" and other pipeline metrics

@mahendra tested with the dashboard you tried and it worked :)

❤


chore: release main

:robot: I have created a release beep boop
bombastic-monorepo: 0.0.0
0.0.0 (2024-02-16)
Features

add basic module CLI to build as executable (ab54f20)
add React, create renderer (4bdb0e2)
bombastic: implement Renderer and HTMLRenderer (c32cfe9)
bombastic: multiple BOMObject related features (aa2b021)
bombastic: refactor Renderer, implement HTML document template (7d93e30)
config repository workflows (#3) (2d530dd)
create BOMGenerator, read IFCs from file (d4c19c1)
implement BOMObject, add tests (f8466ef)

Bug Fixes

adapt testsuite to Bun limitations related to mocking (a68b12a)
create empty .release-please-manifest.json, fix root package symbol (adec3c2)
remove deprecated config from release-please workflow (#6) (68ee51a)

Miscellaneous Chores

prepare initial release 0.0.0 (e628743)

bombastic-ifc: 0.0.0
0.0.0 (2024-02-16)
Features

config repository workflows (#3) (2d530dd)

Miscellaneous Chores

prepare initial release 0.0.0 (e628743)

bombastic-cli: 0.0.0
0.0.0 (2024-02-16)
Features

config repository workflows (#3) (2d530dd)

Miscellaneous Chores

prepare initial release 0.0.0 (e628743)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/oxcabe/bombastic/releases/tag/untagged-3d53b95f5f5c8b659596 :sunflower:

:robot: Release is at https://github.com/oxcabe/bombastic/releases/tag/untagged-588ca789311b27b3a745 :sunflower:

:robot: Release is at https://github.com/oxcabe/bombastic/releases/tag/untagged-fc438241dae554d5f355 :sunflower:


3D Secure required - using PHP server version

This is a great example, and works for most card types except for when 3D Secure 2 is required, in those cases it fails with "Your card was declined. This transaction requires authentication." What is missing from this sample to make 3D Secure work?

@reddingwebpro You are correct, this example declines any transactions that require 3DS. You should use our new Payment Intents API (an API that sits on top of Charges) that helps you easily handle 3DS.
https://github.com/stripe-samples/accept-a-card-payment
I updated the README to hopefully make it clearer that this sample is deprecated in favor of the one I linked about. Let me know if you have other questions and sorry for the confusion!


[Pull Request Fix-6986][dist] Fix the conf of the rpm package lacks master.properties and worker.properties

Purpose of the pull request
修改正则匹配规则

Brief change log
*.xml  change to .
Verify this pull request

This pull request is code cleanup without any test coverage.

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.0.0-release@8a27ae4). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             2.0.0-release    #6989   +/-   ##
================================================
  Coverage                 ?   37.59%
  Complexity               ?     3206
================================================
  Files                    ?      648
  Lines                    ?    26380
  Branches                 ?     2855
================================================
  Hits                     ?     9918
  Misses                   ?    15544
  Partials                 ?      918

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 8a27ae4...4a2e0f8. Read the comment docs.


chore: keep grafana dashboard.json in non-compacted style

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
PLEASE DO NOT LEAVE THIS EMPTY !!!
Keep the Grafana config (dashboard.json) in non-compacted text, because it had caused several times of merge conflicts...  https://github.com/risingwavelabs/risingwave/pull/5182 https://github.com/risingwavelabs/risingwave/pull/5287
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
None
Refer to a related PR or issue link (optional)
None

The reason why I keep it compact is like:

Merge conflict is unavoidable. If there're two people editing this file, there must be merge conflicts, as we need to record x, y of every panel. If someone inserts a metrics between two panels, all below panels will have y += 8. So there must be conflicts.
Therefore, if there are multiple people editing it, the best way is not resolve the merge conflict. Developers should regenerate the whole json based on the merged Python script.

... and people will only spend more time resolving conflict and find out the better way is just to regenerate everything, if we keep the JSON formatted 🤣

Merge conflict is unavoidable. If there're two people editing this file, there must be merge conflicts, as we need to record x, y of every panel. If someone inserts a metrics between two panels, all below panels will have y += 8. So there must be conflicts.

Indeed. Persuaded me 😇


Datepicker binding fails with custom format and ng-required

If the datepicker is defined with a custom date format (e.g. 'dd/MM/yyyy') and is marked with the ng-required attribute, the model binding fails and sets the target model date to null.  For example:
<input class="form-control" type="text"
        ng-model="startDate"
        uib-datepicker-popup="dd/MM/yyyy"
        is-open="datePickerOpenStatus"
        ng-required="true" />

A simple example of this problem can be found at http://plnkr.co/edit/uwAzMAEzhxKMaSKHYu5P
The code uses...

AngularJS version 1.4.7
Angular-Animate version 1.4.7
Angualr UI-Bootstrap version 0.14.1

@Neilski, please do not use the issues forum for support related requests.  Rather, please follow the instructions here.
If you think you've found a bug, please follow these instructions.
Unfortunately, if you think you have found a bug and do not follow the above instructions within a reasonable amount of time, we will close the issue due to lack of activity.

Apologies.  I have now added the Plunker example at http://plnkr.co/edit/uwAzMAEzhxKMaSKHYu5P  I hope this helps define the problem.

Closed in error.

No worries.  This needs more investigation, but in the interim, it works correctly if you just add required instead of the directive `ng-required

No worries.  This needs more investigation, but in the interim, it works correctly if you just add required instead of the directive ng-required - but I'm not sure why, at the moment.

Ahhhh.  After some research, you're not using the ng-required attribute correctly.  Per the docs, you only want to use ng-required when you want to data bind to the value.  I.e., you want to use an expression to determine whether or not the field is required.  E.g., required and ng-required="true" are the same thing.
Closing as this is working as designed.

I have just re-tested my test case using required instead of ng-required and I am still seeing the same problem with the date value being nulled.

I'll post the working plunker when I get into work. Please ping me if I forget.

Ok, you neglected to say that the issue is when you assign an initial value to the model and ng-required is specified.  Without the initial value, it is working as designed.
I'm reopening for more investigation.

@Neilski, our demo is working fine.  Please use that as a launching point and reopen if you still think there is a bug.  Thanks.

I'm not sure if this is the same issue but I have a similar example here
So far, I have seen this issue only when format is provided with uib-datepicker-popup and it also includes a ngRequired expression. As you can see in the plnkr, the date field disappears from the model.
So, the snippet will work properly if you remove
ng-required="data.config.dob.isRequired"
or, change
uib-datepicker-popup="MM/dd/yyyy" to uib-datepicker-popup
One more observation was that this affects all other datepickers on the page whether or not they have the format and ngRequired combination.

@codenewa, please open a new issue following our instructions if you feel this is a bug and needs fixing.  Adding to an already closed issue is almost a sure-fire way for it to get missed/lost.

This is a duplicate of #4616 and was fixed in #4635.


Closes #5061

Created jigsaw sudoku game
PR Description 📜
Fixes #5061
Jigsaw Sudoku is an enhanced version of the classic Sudoku puzzle game. Unlike standard Sudoku, Jigsaw Sudoku features irregularly shaped regions instead of the traditional 3x3 blocks. This variation adds an extra layer of challenge and excitement to the game.

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & 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 have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in GameZone's README.md
[x] I have added README.md in my Game folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.
[x] I have added my Game to gamesData.json file and it is loading properly on main website as intended.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @its-kritika ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hey @its-kritika, You have reached your limit to contribute in GameZone with a score of 180.
We believe in giving equal opportunity to everyone so you will not be able to contribute to GameZone now onwards. 💗
Thank you for your valuable time and contribution in GameZone 🕹!
Your merged pull requests:

#5023 with labels: level3 score: (45)
#4061 with labels: level3 score: (45)
#3834 with labels: level3 score: (45)
#3774 with labels: level3 score: (45)

Thank you  @its-kritika , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


perf(api): increase pick-up downward movement for p1000

overview
Increase the travel distance (from 10mm to 15mm) that a pipette travels downwards to create the seal during pick-up-tip movements.
Waiting on tests results from @Carlos-fernandez
This added 5mm allows p1000-single pipettes to travel far enough down to create a seal.

@andySigler status of testing/this PR?


Adding tests for signing

Codecov Report

Merging #34 into master will increase coverage by 2.99%.
The diff coverage is 77.10%.

@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
+ Coverage   64.18%   67.17%   +2.99%
==========================================
  Files           4        4
  Lines        3130     3211      +81
==========================================
+ Hits         2009     2157     +148
+ Misses       1121     1054      -67

Impacted Files
Coverage Δ

src/tests.rs
87.35% <77.10%> (+2.59%)
:arrow_up:

src/lib.rs
65.66% <0.00%> (+3.88%)
:arrow_up:

Continue to review full report at Codecov.

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


net: openthread: Fix possible deadlock in net_mgmt handlers

The core part of this PR is fixing a deadlock situation in OpenThread's net_mgmt handler, please see the commit message for explaination.
Additionally, Small improvement that make sense IMO are proposed (see the other commit). Altogether those fixes allow to use mDNS responder with OT.

CC @lmaciejonczyk @canisLupus1313

Dropped the select on NET_MGMT, apparently for simple use cases (RCP) NET MGMT is not a must.


feat: renamed ensure_none to unsure_unsigned

Fix #13279
Description
Renamed FRAME System's ensure_none to ensure_unsigned

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2343453

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2343452

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2343451

Please don't just break common API without notice. You need to kept ensure_none alias and mark it as #[deprecated].

Added 'ensure_none' alias as requested by @xlc .

btw is it just me or does it take 30 minutes for everyone to build?

btw is it just me or does it take 30 minutes for everyone to build?

Building the whole thing can take a while without Sccache and fast hardware. Normally compiling a few singluar crates + CI checks works good. I often just do cargo c -p pallet-balances or whatever for small changes.
Please update the description to mention the alias and that this is not a breaking change.

Please update the description to mention the alias and that this is not a breaking change.

Done.
Although local CI checks are passing, Polkadot CI is failing. ensure_none still exists but Polkadot can't seem to find it.

IMO the naming now may be more misleading than before.
We have an enum:
pub enum RawOrigin<AccountId> {
    Root,
    Signed(AccountId),
    None,
}

Currently there is a check function for each variant (where the name of the function is in 1 to 1 correspondence to the variant name)... Pretty easy

ensure_signed <-> Signed<T>
ensure_root <-> Root
ensure_none <-> None

As a user of ensure_unsigned I may logically  (wrongly) infer that ensure_unsigned is the opposite of ensure_signed.
But it is not. Since Root is not allowed by both of them.
In short, ensure_signed(org) || ensure_unsigned(org) is not a tautology as one may expect.
Obviously reading the docs removes any doubt. But the same applies for the previous implementation

As a user of the new ensure_unsigned I may logically (wrongly) infer that ensure_unsigned is the opposite of ensure_signed.
But it is not, since Root origin is not allowed by both of them.

While this is true, you could not assume that ensure_none is meaning "no one can call this". And also nothing bad would be happen if you use ensure_unsigned and it is called with Root.
I think the general direction is fine, but we should also rename None in the enum RawOrigin to Unsigned. There are also usages of none like here: https://github.com/paritytech/substrate/blob/f5e370da7f34622637a343f03420b4242b321891/frame/support/src/traits/dispatch.rs#L349-L350
So, if we do it, we should do it everywhere and use deprecated where possible.

@gitofdeepanshu would you take this issue over?


[AzureMonitorExporter] update changelog

OpenTelemetry dependencies were recently updated. #33471 #33579
Note: Test dependencies are not included in the Changelog.

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


Ability to configure own headers for the HTTP request

In order to handle non-cookie authentication for API backends (and set the current_user to attach events and visits), we need to be able to add custom headers to the request being sent.
In our case, we are doing Authentication via JSON Web Token passed via either headers or URL parameters. We would need to be able to configure those headers either dynamically on every call or maybe better, after we authenticate the user frontend-side.

Hey @Startouf,  I'm facing the same problem due to JWT.  I'm using jwt_sessions as my authentication framework which authentications via a Authorization header.
I ended up forking ajoy.js and implementing support for headers as an additional configuration parameter.  You can take a look here under the issue_23 branch: https://github.com/krsyoung/ahoy.js/tree/issue_23
It is pretty bad at the moment but works.  In my frontend Vue code I just make a call to set the header once the user has authenticated:
// this.$ahoy is my ahoy instance
this.$ahoy.setHeader('Authorization', 'Bearer: ' + accessToken)

My situation is even more complicated as I need to decode the token on the backend before I can access the current user.  I solved this by creating a custom user method for ahoy (called ahoy_user) that manually performs the decode and then returns the user.
What did you end up doing?   Could my branch work for you?

I'm reading the JWT token + user ID from custom headers named X-user-Token and X-user-email so I'm not sure your branch would work if you are just reading from Authorization
I am using the simple_token_authentication gem

Ah, the change I made in my branch is really just to allow ahoy.js to support any arbitrary headers.  I think in your case it would be as simple as:
// set customer HTTP headers for ahoy
ahoy.setHeader('X-user-token', 'xxx')
ahoy.setHeader('X-user-email', 'xxx')

I also ate a lot of turkey over the past couple of days so I can't really say I'm 100% confident!

@krsyoung I started using your branch and it works great.  One thing is I needed to set useBeacon to false to get the headers to send when tracking events.
Since it seems like there's sufficient interest in this feature, can we submit a pull for this?

Just added the ability to do ahoy.configure({headers: ...}) on master.


docs[srs-reflection-q2]: Complete reflection question 2

This contains Reflection question 2, please read reflection question 1's answer first

Seems good. Fixed conflict wrt to the PDF file, merging pull request and deleting branch.


Get help from Dan Miller Calendly link

https://app.clubhouse.io/windmill/story/7269/add-calendly-link-to-install-page

@jazzdan : I considered using the same embedded calendly widget in https://tilt.dev/enterprise, but that seems to take up too much space. What do you think about the popup design here?
(Also, need to replace the calendly link with yours, don't know what your calendly link is. Let me know here and I can replace it.)


Questions regarding the ID type features

Hi, in the paper, you mentioned:

Avazu originally contains 23 fields with categorical features.
We remove the id field that has a unique value for each data
sample

If the id fields were removed during pre-training, the input size will be different from finetuning on CTR task. As a result, the MLP layers in the model will have different sizes. How do you re-use the pre-trained weights in the MLP layers on CTR task if the size do not match?

This operation is done during the data preprocessing before both pretraining & finetuning stage. That is, the data ID field is not contained for both pretraining and finetuning. This operation is generally adopted by most of CTR papers, since the data ID is the column indicating the row index actually.

Oh i see, it's the row id not something like itemid/userid


CYBER SECURITY RESOURCES ADDED

Please add in the index section as well

@aaryan2134  I have added a cyber security link in the index section.  Please check it...

Amazing!
Please resolve conflicts so that merging can be done
Thank you

yeah...conflict is resolved...

Thank you for your contribution


LUCENE-10550: Add getAllChildren functionality to facets (#914)

Just using to backport.

Thanks @Yuti-G !


Bundler 1.13 complains about corrupt lock when no lock exists

$ git clone https://github.com/chef/ffi-yajl
$ cd ffi-yajl
$ git checkout d343b78cc803636ecaa152a0517f4beccf2220db
$ bundle _1.13.1_ install --without development development_extras rbx
[...]
 The following gem is missing from the DEPENDENCIES section: 'ffi'

This works just fine on Bundler 1.12.x, but on Bundler 1.13.x it's an error.
Environment

    Bundler   1.13.1
    Rubygems  2.5.1
    Ruby      2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
    GEM_HOME  /Users/andre/.gem/ruby/2.3.1
    GEM_PATH  /Users/andre/.gem/ruby/2.3.1:/opt/rubies/2.3.1/lib/ruby/gems/2.3.0
    Git       2.7.3

Bundler settings

    gem.coc
      Set for the current user (/Users/andre/.bundle/config): "true"
    gem.mit
      Set for the current user (/Users/andre/.bundle/config): "true"
    gem.test
      Set for the current user (/Users/andre/.bundle/config): "rspec"
    build.eventmachine
      Set for the current user (/Users/andre/.bundle/config): "--with-cppflags=-I/usr/local/opt/openssl/include"
    local.rails
      Set for the current user (/Users/andre/.bundle/config): "/Users/andre/src/rails/rails"
    local.compact_index
      Set for the current user (/Users/andre/.bundle/config): "/Users/andre/src/bundler/compact_index"
    path.system
      Set for the current user (/Users/andre/.bundle/config): "true"
    local.lita-tweet
      Set for the current user (/Users/andre/.bundle/config): "/Users/andre/src/indirect/lita-tweet"
    build.nokogiri
      Set for the current user (/Users/andre/.bundle/config): "\"--use-system-libraries --with-xml2-include=/usr/include/libxml2"
    path
      Set for your local app (/Users/andre/src/bundler/testcases/4467/ffi-yajl/.bundle/config): ".bundle"
    disable_shared_gems
      Set for your local app (/Users/andre/src/bundler/testcases/4467/ffi-yajl/.bundle/config): "true"
    without
      Set for your local app (/Users/andre/src/bundler/testcases/4467/ffi-yajl/.bundle/config): "development:development_extras:rbx"
    jobs
      Set via BUNDLE_JOBS: "8"

Gemfile

    source "https://rubygems.org"

    gemspec name: "ffi-yajl"

    platforms :rbx do
      gem 'rubysl', '~> 2.0'
    end

    group :development do
      # for testing loading concurrently with yajl-ruby, not on jruby
      # gem 'yajl-ruby', platforms: [ :ruby, :mswin, :mingw ]
      gem 'github_changelog_generator'
    end

    group :development_extras do
      gem 'rubocop', '= 0.32.1'
      gem 'reek', '= 1.3.7'
      gem 'test-kitchen', '~> 1.2'
      gem 'kitchen-digitalocean'
      gem 'kitchen-ec2'
      gem 'kitchen-vagrant'
    end

Gemfile.lock

    <No /Users/andre/src/bundler/testcases/4467/ffi-yajl/Gemfile.lock found>

ffi-yajl.gemspec

    gemspec = eval(IO.read(File.expand_path(File.join(File.dirname(__FILE__), "ffi-yajl.gemspec.shared"))))

    gemspec.platform = Gem::Platform::RUBY
    gemspec.extensions = %w{ext/ffi_yajl/ext/encoder/extconf.rb ext/ffi_yajl/ext/parser/extconf.rb ext/ffi_yajl/ext/dlopen/extconf.rb}

    gemspec.add_development_dependency "ffi", "~> 1.5"

    gemspec

/cc @segiddins

@trevorturk since you're seeing this specific issue (of --without development causing issues with transitive development dependencies), it would be great if you could follow ISSUES and supply your Gemfile, lock, and steps to reproduce. That way we can make sure the fix also fixes your situation. 👍

Further information: as per information from @trevorturk in #4467, the issue this particular ticket is triggered specifically by --without development when some gems in the bundle have development dependencies.

Hmmmmmmmmmmmm I'm sorry, I'm having trouble making a repro script. I'll give it another try tomorrow and report back.

I've reproduced this and have been digging in, it appears that having the multiple gem specs in the repo is related

Thanks, @segiddins! It occurred to me overnight that I personally ran into this issue only when I was changing ruby versions. So, I have a deployed app, then I change the ruby version, then I hit this issue when deploying again. I was wondering if the "ruby version" or "bundled with" lines in Gemfile.lock might cause a problem, but maybe that's silly.
Anyway, I'll try to work up a script that runs through the bundle --deployment, ruby version change, bundle --deployment again to see if I can get a reproducible issue. It could be there are multiple things going on. My attempt to make a repro script last night didn't work, but I'm not ready to give up just yet :)

@trevorturk no need, I've already opened up https://github.com/bundler/bundler/issues/5008 -- just see if that fixes things for you

@segiddins I'm having trouble reproducing locally and I'm not sure how to get an unreleased gem onto my remote system. Any chance we could try your fix in #5008 via a --pre or --beta so I can test the fix on my known-to-be-failing remote system? Or do you know an easy-ish way for me to remotely install bundler with your fix included?

git clone https://github.com/bundler/bundler /path/to/bundler
ruby -I/path/to/bundler/lib /path/to/bundler/exe/bundle $bundler_args

Thanks for that! I'm sorry to report, however, that my issue does not appear to be fixed. I'll spend some more time trying to reproduce with a local script, but please do let me know if you have any other ideas of what I might be able to do to help debug.

Here's the output from bundle env on the remote system, truncated to exclude private gems:
Environment    Bundler   1.13.1    Rubygems  2.6.6    Ruby      2.1.10p492 (2016-04-01 revision 54464) [x86_64-linux]    GEM_HOME  /usr/local/bundle    GEM_PATH      Git       2.1.4Bundler settings    frozen      Set for the current user (/root/.bundle/config): "1"    build.nokogiri      Set for the current user (/root/.bundle/config): "--use-system-libraries"    app_config      Set via BUNDLE_APP_CONFIG: "/usr/local/bundle"    bin      Set via BUNDLE_BIN: "/usr/local/bundle/bin"    path      Set via BUNDLE_PATH: "/usr/local/bundle"    silence_root_warning      Set via BUNDLE_SILENCE_ROOT_WARNING: "1"Gemfile    source 'https://rubygems.org'    ruby '2.1.10'

... and I believe these are the relevant commands I'm running via a Dockerfile:
bundle config --global frozen 1
bundle config build.nokogiri --use-system-libraries
git clone https://github.com/bundler/bundler /usr/src/bundler
ruby -I/usr/src/bundler /usr/src/bundler/exe/bundle install --deployment --without 'development test' -j4

Ah, luckily I seem to be able to reproduce the issue with only a single gem now. Here are my Gemfile and Gemfile.lock and I'll include the difficult-to-read output from bundle env and the error I'm getting:
source 'https://rubygems.org'
ruby '2.1.10'

gem 'sinatra-sequel'

GEM
  remote: https://rubygems.org/
  specs:
    rack (1.6.0)
    rack-protection (1.5.3)
      rack
    sequel (4.38.0)
    sinatra (1.4.5)
      rack (~> 1.4)
      rack-protection (~> 1.4)
      tilt (~> 1.3, >= 1.3.4)
    sinatra-sequel (0.9.0)
      sequel (>= 3.2.0)
      sinatra (>= 0.9.4)
    tilt (1.4.1)

PLATFORMS
  ruby

DEPENDENCIES
  sinatra-sequel

RUBY VERSION
   ruby 2.1.10p492

BUNDLED WITH
   1.13.1

Environment    Bundler   1.13.1    Rubygems  2.6.6    Ruby      2.1.10p492 (2016-04-01 revision 54464) [x86_64-linux]    GEM_HOME  /usr/local/bundle    GEM_PATH      Git       2.1.4Bundler settings    frozen      Set for the current user (/root/.bundle/config): "1"    build.nokogiri      Set for the current user (/root/.bundle/config): "--use-system-libraries"    app_config      Set via BUNDLE_APP_CONFIG: "/usr/local/bundle"    bin      Set via BUNDLE_BIN: "/usr/local/bundle/bin"    path      Set via BUNDLE_PATH: "/usr/local/bundle"    silence_root_warning      Set via BUNDLE_SILENCE_ROOT_WARNING: "1"Gemfile    source 'https://rubygems.org'    ruby '2.1.10'        gem 'sinatra-sequel'Gemfile.lock    GEM      remote: https://rubygems.org/      specs:        rack (1.6.0)        rack-protection (1.5.3)          rack        sequel (4.38.0)        sinatra (1.4.5)          rack (~> 1.4)          rack-protection (~> 1.4)          tilt (~> 1.3, >= 1.3.4)        sinatra-sequel (0.9.0)          sequel (>= 3.2.0)          sinatra (>= 0.9.4)        tilt (1.4.1)        PLATFORMS      ruby        DEPENDENCIES      sinatra-sequel        RUBY VERSION       ruby 2.1.10p492        BUNDLED WITH       1.13.1

ruby -I/usr/src/bundler /usr/src/bundler/exe/bundle install --deployment --without 'development test' -j4
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Installing tilt 1.4.1
Installing rack 1.6.0
Installing sequel 4.38.0
Your Gemfile.lock is corrupt. The following gem is missing from the DEPENDENCIESsection: 'bacon'
The command '/bin/sh -c ruby -I/usr/src/bundler /usr/src/bundler/exe/bundle install --deployment --without 'development test' -j4' returned a non-zero code: 20

You can see a bit more detail in my comment here: https://github.com/bundler/bundler/issues/4467#issuecomment-248483072
Apologies, I know this bug report is difficult to follow. I'll spend some more time trying to reproduce locally here, but I haven't had any luck so far, sadly. I'm more than happy to try a few different possible fixes and/or to change my settings etc if it'll help debug. Please do let me know.
In any case, thanks for your patience and attention, @segiddins -- it's very much appreciated, but no worries if you're reached the end of your patience. I have been able to find a workaround as mentioned in my comment on the other issue, so there's no pressure on my end, I'd just like to help if I can.

You need to have -I/usr/src/bundler/lib

Ahh, sorry, I fat fingered that one. Sadly, fixing that doesn't seem to help:
ruby -I/usr/src/bundler/lib /usr/src/bundler/exe/bundle install --deployment --without 'development test' -j4
Your Gemfile.lock is corrupt. The following gem is missing from the DEPENDENCIESsection: 'bacon'
The command '/bin/sh -c ruby -I/usr/src/bundler/lib /usr/src/bundler/exe/bundle install --deployment --without 'development test' -j4' returned a non-zero code: 20

OK, I'm really sorry, I forgot to mention the important step: git checkout seg-lazy-specification-materialize-platform

Ha! Sorry I should have noticed that, too. Sorry x2 I don't think that did the trick:
Step 11 : RUN git clone https://github.com/bundler/bundler /usr/src/bundler && cd /usr/src/bundler &&  git checkout seg-lazy-specification-materialize-platform
Cloning into '/usr/src/bundler'...
Switched to a new branch 'seg-lazy-specification-materialize-platform'
Branch seg-lazy-specification-materialize-platform set up to track remote branch seg-lazy-specification-materialize-platform from origin.
Step 12 : RUN ruby -I/usr/src/bundler/lib /usr/src/bundler/exe/bundle install --deployment --without 'development test' -j4
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Installing tilt 1.4.1
Installing rack 1.6.0
Installing sequel 4.38.0
Your Gemfile.lock is corrupt. The following gem is missing from the DEPENDENCIESsection: 'bacon'
The command '/bin/sh -c ruby -I/usr/src/bundler/lib /usr/src/bundler/exe/bundle install --deployment --without 'development test' -j4' returned a non-zero code: 20

I'll keep trying to repro locally -- I'd really like to have a script for you to test.
In any case I wanted to note again that this change to my Gemfile gets around the issue:
# gem 'sinatra-sequel'
gem 'sinatra-sequel', github: 'trevorturk/sinatra-sequel', branch: 'no-bacon'

This uses a branch https://github.com/rtomayko/sinatra-sequel/compare/master...trevorturk:no-bacon where I comment out one line from the sinatra-sequel.gemspec file: s.add_development_dependency 'bacon' so the problem must be wrapped up in reading the gemspec somehow.

Is it possible that the problem here is the version of the gem command and not bundler ?  I have found that rubygems version 2.5.1 produces an erroneous Gemfile.lock.  Regenerating Gemfile.lock using gem version 2.5.0 or 2.5.2 would fix it.  There was some work on the Rubygems dependency graph around that time but I did not look further.

@salemine it doesn't seem to be an issue with the gem command in my case, at least. I was on gem --version 2.2.5 and upgraded to 2.5.2 and see no change. I'm still using that no-bacon fork which seems to be a reliable workaround.
Unfortunately, I still haven't been able to make a working reproduction script locally. I really sorry about that -- I'll keep trying, but I'm out of ideas for today. If anyone wants to team up I'm happy to screen share etc to try and debug where I can reproduce using Codeship CI easily.

@homu I don't believe #5008 fixes this issue -- I tested @segiddin's branch.

@trevorturk please open a new issue

I'll report back to #4467 if I'm able to make a repro script, otherwise I'll watch for updates there. Thanks!

bundler-1.13.2 seems to have fixed the issue we were seeing:
% bundle install --without development
Fetching gem metadata from https://rubygems.org/........
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Resolving dependencies...
Using libyajl2 1.2.0
Using bundler 1.13.2
Using ffi-yajl 2.3.0 from source at `.`
Bundle complete! 16 Gemfile dependencies, 3 gems now installed.
Gems in the groups development, development_extras and rbx were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.


23w05a: Breaks MC loading options.txt

With 23w05a, Fabric 0.14.13, Fabric API 0.73.3, and CRAWL 0.11.5.
When the client starts it tries to load options.txt, fails (and generates an error)
[01:00:38] [Render thread/ERROR]: Failed to load options java.lang.NullPointerException: Cannot invoke "net.minecraft.class_7172.method_42404()" because "$$1" is null
As a result, player must re-enter all audio/video/resourcepack/etc. options and settings.
Workaround, of course, is to not use Crawl and wait until it updates to 1.19.4 or whatever.

Can't reproduce with 1.19.4


Added widget support for django-suit

Added extra widget to support HStore Admin in Django-suit templates.

Coverage decreased (-0.4%) to 87.597% when pulling 5dafa9c664cc7068da29721d248c4c72dffdae9a on attendanceproject:master into 277b28cbd92f358c6edcd7ea2022bbcdb680de56 on djangonauts:master.

Coverage decreased (-0.04%) to 87.929% when pulling 6dc3dfb12dbdde01ed9edced9e368869f8b31956 on attendanceproject:master into 277b28cbd92f358c6edcd7ea2022bbcdb680de56 on djangonauts:master.


Applied audits

Fixed a bug about rewardIdx when member is changed
Cannot use duplicated names when member is added or updated
Duplication check logic is changed
Change/Remove member duplication logic is updated

LGTM

Merged


Fix crates.io shield link

The URL wasn't set. Fixed it to point at https://crates.io/crates/futures

Thanks!


[Don't merge] get various issue paths working

Signed-off-by: Jacob Saur<EMAIL_ADDRESS>

Closing in favor of https://github.com/kiva/aries-guardianship-agency/pull/94


Setup Residual thresholding

We need a threshold on the residual images - things with nothing in the residuals shouldn't be shown to citizens.

threshold defined by SNR - right? rather than absolute
On 22 July 2016 at 11:39, Thomas Collett<EMAIL_ADDRESS>wrote:

We need a threshold on the residual images - things with nothing in the
residuals shouldn't be shown to citizens.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DES-SL/BlueRings/issues/17, or mute the thread
https://github.com/notifications/unsubscribe-auth/AB1EEtpE3GPN_1ZmXSEHyI4spkipnhSVks5qYJ3sgaJpZM4JSpJi
.

Yes, definitely - so we need robust estimators for both image signal and
image noise.
On Fri, Jul 22, 2016 at 3:40 AM, aprajita<EMAIL_ADDRESS>wrote:

threshold defined by SNR - right? rather than absolute
On 22 July 2016 at 11:39, Thomas Collett<EMAIL_ADDRESS>wrote:

We need a threshold on the residual images - things with nothing in the
residuals shouldn't be shown to citizens.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DES-SL/BlueRings/issues/17, or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AB1EEtpE3GPN_1ZmXSEHyI4spkipnhSVks5qYJ3sgaJpZM4JSpJi

.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/DES-SL/BlueRings/issues/17#issuecomment-234512691,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AArY9yUxgOkXtdCApWFI2wcOPJl2FKJHks5qYJ4wgaJpZM4JSpJi
.


Replace sourceFile.organizeImports with prettier's organize-imports plugin

Blocked on https://github.com/prettier/prettier/pull/12763
But first make sure it's actually faster

Band-aid solution is in https://github.com/fern-api/fern/pull/113, but once https://github.com/prettier/prettier/pull/12763 is merged we can use pluginSearchDirs

nope


process "ipp-usb udev" still exists after disconnecting two USB printers

Hi,
I used the ipp-usb on my mips os. And find below issue, please have a look.
Two printers are connected to PC via USB.
When I unplugged the USB cables, the process "ipp-usb udev" still exists.
When I plugged the USB again, the ipp-usb cannot work well.
main.log
04a9-2828-74bfc0146ffa-iR2625-2630-UFR.log
04a9-27fa-f4a997cf9d6c-MF745C-746C.log
Besides
There is another phenomenon bothered me.
First, unplug all USB printer,
and set the port in the MF745C.state and iR2625.state are the same, 60000.
If plug the MF745C firstly, and then plug the iR2625 later, the port in the iR2625.state would become 60001.
But if plug the iR2625 firstly, and then plug the MF745C later, the port in the MF745C.state is still 60000, and ipp-usb fails to convert MF745C's USB URI to IPP URI. And no information is outputted to the MF745C.log file.

Hi,
I don't see "device removed" events in the main.log, so either log is incomplete for some reason, or this event was actually missed.
I want to ask you to perform the following experiment:

Diconnect all devices
Erase main.log
Start ipp-dev manually, in debug mode
Connect one device
Disconnect it
Terminate ipp-usb by pressing ctrl-c
Send me a resulting main.log

Hi
if just connect one usb printer, the process “ipp-usb udev” always exit after unplugged the usb.
I will use “ipp-usb debug” to connect two USB printers and catch the debug infor, is it OK?
But the debug info will be provided 12 hours later.

OK

Sorry, alexpevzner.
I cannot reproduce this issue on Ubuntu16.04 & Debian10 amd64 architecture.
This issue probably caused by my mips os. It may have some wrong to catch the "device removed" events.
So just let it be, and please close this issue.

If you can reproduce it on MIPS, I'd be glad to fix it there.

Yes, I can reproduce it on MIPS.
But from the log, there is no "device removed" event when I unplug the USB cables.
Is there some method to fix the OS issue?

May you rerun it as following:
LIBUSB_DEBUG=1000 ipp-usb debug 2>libusb.log

libusb.log
The OS can catch the "device remove" event when I unplug the first USB cable, but it fails to catch the "device remove" event again when I unplug the second USB cables.

Hi @tangyanli,
thank a lot for your logs. I see, "remove" event comes to the libusb, but doesn't come to ipp-usb. I need to think a little bit about this problem, it will take some time.

Fixed (I hope). Please, try again (on MIPS). Note, I didn't set release tag yet, waiting for you feedback.

All right, I will test it later. Thanks!

Hi, alexpevzner
It's so great, the issue is fixed.
And the phenomenon bothered me is also fixed.

Besides
There is another phenomenon bothered me.
First, unplug all USB printer,
and set the port in the MF745C.state and iR2625.state are the same, 60000.
If plug the MF745C firstly, and then plug the iR2625 later, the port in the iR2625.state would become 60001.
But if plug the iR2625 firstly, and then plug the MF745C later, the port in the MF745C.state is still 60000, and ipp-usb fails to convert MF745C's USB URI to IPP URI. And no information is outputted to the MF745C.log file.

Hi, alexpevzner
If it's possible, may I ask your help to supply the aarch64 binary based on Ubuntu16.04 and Debian10?

Hi, alexpevzner
Could I ask you a question..
I thinked the below two URIs are equal:
http://localhost:60000/ipp/print
ipp://localhost:60000/ipp/print
Towards Canon MF745x and iR2625, driverless works well by the both URI.
Today I tested another Canon Device, the ipp URI always works. But sometime it fails to create driverless queue by the http URI.
Is there some difference between the two URI?

Hi @tangyanli,
first of all, thank you for your feedback. You helped me to fix a real bug, which accidentally did not appear on Intel CPUs.
Regarding aarch64, I've tried to enable this build, but it failed with different reasons for Debian 10 and for Ubuntu 16.04.
On Debian, Go compiler is quite old, and its standard library misses the syscall.Dup2() function. I will implement workaround, but a bit later. But sane-airscan was build successfully for this target :-)
On Ubunty 16.04/aarch64, SuSE build system misses many essential packages, and I can't resolve this issue.
Regarding your question, IPP uses HTTP, and at the HTTP level, there are only http:// and https://. The ipp:// and ipps:// schemes are interpreted by CUPS, and when it comes to the HTTP, CUPS internally translates them to appropriate HTTP schemes. This is better to ask @tillkamppeter about CUPS, but if it sometimes work, sometimes not, it looks as a CUPS bug.

Hi, alexpevzner
The Debian10 aarch64 binary package is enough.
(waiting for it :-)). It can also works well on Ubuntu16.04. For I have tested the ipp-usb aarch64 on Ubuntu16.04 which built on Deepin (compatible with Debian10), but I just built the ipp-usb, not the whole package.
And thanks for your reply of the question.

Hi @tangyanli,
I've created ARM64 package for Debian 10

Got it! Thank you so much

You are always welcome!


[US2051625] Add nirfmxwlan_restricted support

What does this Pull Request accomplish?
Adds support for nirfmxwlan_restricted to grpc-device.
This adds entrypoints that are not included in the public header, specifically:

GetChannelList
OFDMModAccFetchCommonPilotErrorTraceIndB
OFDMModAccNoiseCalibrate

Why should this Pull Request be merged?
US#2051625
What testing has been done?
Added system tests to cover added entrypoints. Tests pass. Build passes.

A tip for the PR description: you can put AB# and a tool will replace it with a link to the AzDo work item. It will also go to the AzDo work item and link back to the corresponding PR.


GelfMessageFormatter and content/extra as numeric array

Monolog version 3.8.1
GelfMessageFormatter::format  throws an exception if any of the context or extra properties in the LogRecord argument contains a numeric array..
Exception:
preg_replace(): Argument #3 ($subject) must be of type array|string, int given

Thats of course due to strict_types=1 and this:
https://github.com/Seldaek/monolog/blob/main/src/Monolog/Formatter/GelfMessageFormatter.php#L118
https://github.com/Seldaek/monolog/blob/main/src/Monolog/Formatter/GelfMessageFormatter.php#L130
I'm not sure if this type of message is what you expected to receive, but some libraries, like the Elasticsearch client, send messages like this. Therefore, the logger shouldn't throw an exception in such cases.

Mentioned and described Type Error in #1927


Capture error w/ path resolution

Ack - test fails before message

On Apr 1, 2017, at 9:14 AM, Chris Hicks<EMAIL_ADDRESS>wrote:
@chrhicks commented on this pull request.
In src/test/scala/io/flow/apidoc-json-validation/MultiServiceSpec2.scala:

multi.bodyTypeFromPath("POST", "/:organization/payments") should equal(Some("payment_form"))

}

it("validated when path exists in both services") {
multi.upcast(

 "POST",

 "/:organization/payments",

 Json.obj(

   "discriminator" -> "merchant_of_record_payment_form",

   "method" -> "paypal",

   "order_number" -> "F1001",

   "amount" -> 1.00,

   "currency" -> "CAD"

 )

) should equal(

 Left(Seq("Missing required field for type 'webhook_form': 'events'"))

webhook_form? :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Multiple load dimensions

Is your feature request related to a problem? Please describe
Right now we consider a single capacity constraint, which might resemble weight. We should probably be able to (simultaneously) support constraints on the following:

Size (width, height, depth)
Weight (kg, litre)
# items (bags, packages, boxes)

Size restrictions can quickly turn into a bin packing problem, which is pretty hard (see some of the references below). I do not think we need to add support for bin packing via this issue.
Describe the solution you'd like
Some support for additional loading constraints.
Describe alternatives you have considered
N/A
Additional context
Came up in a conversation I had today and is something we discussed before, I think. I'm writing this out here so I do not forget about it.

Maybe this should more generally be "rethink capacity constraints", because we might want to make a clearer separation between weight/load constraints on the one hand, and volume/space use on the other.

I recall that something similar to this came up in the ROADEF 2022 challenge. Might be relevant.

Two relevant surveys to help determine the scope:

Ostermeier, M., Henke, T., Hübner, A., & Wäscher, G. (2021). Multi-compartment vehicle routing problems: State-of-the-art, modeling framework and future directions. European Journal of Operational Research, 292(3), 799–817. https://doi.org/10.1016/j.ejor.2020.11.009

Gu, W., Archetti, C., Cattaruzza, D., Ogier, M., Semet, F., & Speranza, M. G. (2023). Vehicle routing problems with multiple commodities: A survey. European Journal of Operational Research. https://doi.org/10.1016/j.ejor.2023.11.032

Thanks! I recall having skimmed the 2023 survey paper a few months ago. I'll have another look soon.

I would like to have a weight and volume split in the codebase soon, along with a simple Parcel-like object to store that data. I might work on that after #471. Beyond weight/volume I do not need much more complicated packing constraints for now.

@wouterkool proposed a few weeks ago to treat 'load' more generally, as say multiple dimensions of stuff picked up or delivered at a customer. The question is how to make this work nicely. Do we want to allow for arbitrary dimensions, or limit the number? Should they have names?

I still don't really know how to do multiple/arbitrary user-specified dimensions in a nice way. Let's first think of an interface of sorts before we go into the algorithmics.

VROOM keeps it simple, and assumes an arbitrary array is passed of (multiple) quantities. See their docs for more details. I suppose we could start there for our implementation as well. The ProblemData instance can then check whether all arrays are of the same length.

Esri does the same thing as VROOM: they have a Capacities field on the vehicles that's just an array of quantities (see here).
I'm pretty much convinced by now that we should do the same. I'd have liked to also have labels for these different quantities (so we know what's at each index), but that's not really required and seems difficult to make this work nicely.
Imlementation-wise, I guess we'd duplicate the LoadSegment and associated penalty value for each load dimension?

For the interface I am defaulting to empty lists if the user doesn't pass anything. I think that's reasonable. But what do we do if the user only sometimes passes data? E.g., delivery=[1, 2, 3] for one client, but nothing for another (so it defaults to delivery=[])? Should we allow that? Or explicitly require that the user passes the same amount of dimensions in every case, if they use the feature? We should probably not require users to pass both pickup and delivery, if they use only one of the two.

E.g., delivery=[1, 2, 3] for one client, but nothing for another (so it defaults to delivery=[])? Should we allow that?

Probably not because it makes validation harder.

A question remains whether we should have a single load penalty, or one penalty per load dimension (and similarly, feasibility checks per load dimension). We default to a single load penalty in #645 for now.


Diagnostics - general tracking issue

The parser currently emits few diagnostics beyond general syntax errors, but it has always been the plan to walk the tree and emit more. We may want to bring it up to par with nikic/php-parser, at least.
For examples, search nikic/php-parser for emitError. e.g. in this file: https://github.com/nikic/PHP-Parser/blob/a32e3797d411590841ae06dd559ddb867d376aff/lib/PhpParser/ParserAbstract.php

I also saw that the diagnostic code uses Reflection to get the Token name, that is very slow.

I also saw that the diagnostic code uses Reflection to get the Token name, that is very slow.

For tracking purposes: That was fixed in #187 (Instead of using Reflection every time, tolerant-php-parser only uses Reflection the first time, and caches that)


Allow files with the same name

Description
I was wondering if it would possible to lift the restriction of forbidding two files with the same name.
Something like this won't compile:
folder 1/file.swift
folder 2/file.swift

There was a note, Filenames are used to distinguish private declarations with the same name, but I suppose maybe it can use the relative paths to the project?
Expected behavior
The code should be allowed to compile.
Actual behavior
Code won't compile
Steps to reproduce
N/A
Swift Package Manager version/commit hash
Swift 5.9, the one comes with the latest Xcode
Swift & OS version (output of swift --version && uname -a)
swift-driver version: 1.87.3 Apple Swift version 5.9.2 (swiftlang-<IP_ADDRESS>.56 clang-15<IP_ADDRESS>.5)
Target: arm64-apple-macosx14.0
Darwin Vaidas-MacBook-Pro.local 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:44 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T6000 arm64

The original discussion can be found here.

I think this is something the compiler restricts, could we move this issue over to the Swift repo? cc @shahmishal


[PermissionsAndroid] Handle "Never Ask Again" in permissions and add requestMultiplePermissions

In order to get featured in the Google Play Store, we had to handle a few specific cases with permissions based on feedback from the editorial team.
First, which was previously possible with this permissions module was bumping the sdk to version 23.
The second is requesting multiple permissions at one time. In order for the camera + upload to work, we needed to request both camera permissions + media storage in one flow.
The last is handling the case where the user checks the "Never Ask Again" box. This will only appear after a user denies a permission once and is then prompted again. The logic for handling this case is taken from here: http://stackoverflow.com/questions/31928868/how-do-we-distinguish-never-asked-from-stop-asking-in-android-ms-runtime-permis/35495372#35495372
We were also seeing a few crashes similar to #10009 due to onRequestPermissionsResult being called before onResume (http://stackoverflow.com/questions/35205643/why-is-onresume-called-after-onrequestpermissionsresult), so I delayed the handling using a callback.

Also note - this is a breaking change in the API. It changes the result of requestPermission to a string (with 3 possible results) as opposed to a boolean

I think better not to have a breaking change and instead introduce a new method. We can add deprecated warning to current methods and eventually remove them.
What do you think of following the Permissions API from the web? https://developer.mozilla.org/en-US/docs/Web/API/Permissions?
We could have Permissions.query, Permissions.request and Permissions.requestMultiple.
The shape of the object passed could be something like { name: 'android.permission.READ_CALENDAR' } (value of PermissionsAndroid.PERMISSIONS.CALENDAR) and the result can be an object with a field state instead of just being a string, whole value can be granted, denied (basically never ask again), or prompt (denied, can be prompted to later ask again)

@cmcewen hi, thanks for this PR.
I've tried your changes to fix my problem with permissions (https://github.com/facebook/react-native/issues/10009), but it doesn't helps - the app still crashes.
Do you know why this could be?

@alexHlebnikov still seeing crashes as well. take a look at #10351

This is great!
@cmcewen Any chance you could rebase and address @satya164's issue about the breaking change?
I think a generic Permissions api is a nice target, but maybe not right now, at least this PR unblocks people targeting 23 and later.
Happy to help out if you need.

@AndrewJack was planning to circle back on this - will need to incorporate changes from #10296 too.
As for the generic Permissions API, I've thought about it a bit but I'm not sure this is something that can be abstracted across platforms - iOS and Android handle things fairly differently and with iOS 10 we now have to include the NSMicrophoneUsageDescription, Android has dangerous/not dangerous, etc.
If we don't adopt that though and remove the breaking change, what do you think the new method should be? newRequestPermission? I know breaking changes are usually not a great a idea but this is a fairly new module and I think the best name for a method to request a single permission is requestPermission

@cmcewen Would be nice to have a clean api here
@satya164 How strict is the no breaking changes rule for new apis like PermissionsAndroid? Especially when it is likely only a minority is actually targeting above 22 due to the React Native template.

@cmcewen

I've thought about it a bit but I'm not sure this is something that can be abstracted across platforms

It's just to have a familiar API. It's okay to diverge a bit to fit specific platform usage.
@AndrewJack

How strict is the no breaking changes rule for new apis like PermissionsAndroid

We make breaking changes all the time, but most of the time we deprecate the old APIs for a few releases before removing them entirely.

I think a generic Permissions api is a nice target, but maybe not right now, at least this PR unblocks people targeting 23 and later.

I think this PR is a good time to do it since otherwise we don't have a good migration plan for existing users. Even though a minority of people are using it, we will break their code without any warning. So I think we should avoid it.
Also migrating to the new API is jus renaming few methods and such, so I hope it's not a large task.

If we don't adopt that though and remove the breaking change, what do you think the new method should be? newRequestPermission?

I think just request and requestMultiple are fine, like the Permissions API.

@cmcewen are you still planning to ship this?

@hramos yes definitely, been caught up with a few things but would like to get this fixed up + merged so we don't have to fork RN anymore 😄

@satya164 revisiting this with a few updates - sorry for taking so long.
I did some more reading on the web permissions API and though I agree it would be really nice to have a familiar API that has cross-platform potential, the reality of RN right now doesn't seem like it would be the right fit.
There are only 4 permissions in the web spec right now (https://www.w3.org/TR/permissions/#permission-registry): "geolocation", "notifications", "push-notifications", "midi-sysex". Geolocation is the only one currently supported cross-platform. Notifications on the web imply showing a notification window on the desktop, and push implies receiving data - on both Android and iOS these are basically the same permission, and only the iOS push functionality is baked into core RN (and it seems like it should be moved out to me). Midi-sysex is for playing midi files which doesn't apply to RN right now.
By introducing a generic Permissions API as a new module, it would seem to lead that RN will eventually support these 4 permissions on both platforms + other web permissions as they are released. To me it seems highly unlikely that will happen. It also seems strange that using the Permissions API will require importing a list of Android specific permissions through the PermissionsAndroid module.
As for the breaking change, I understand usually it is frowned upon, but anyone using this API will already be used to jumping through a few hoops. Otherwise it would require either creating this generic API to have a new method, or adding a new method to PermissionsAndroid with a name other than requestPermission

@cmcewen Probably I didn't explain properly, but my intention is not to provide a cross-platform navigator.permissions API. Just to rename the methods to the ones in the spec since they are a bit nicer and familiar.
Basically just PermissionsAndroid.query, PermissionsAndroid.request and PermissionsAndroid.requestMultiple which gets rid of redundant Permission in the method names. You'll still do something like PermissionsAndroid.query(PermissionAndroid. ACCESS_COARSE_LOCATION), PermissionsAndroid.request(PermissionAndroid. ACCESS_COARSE_LOCATION) etc.
And instead of returning a boolean, return granted, denied or prompt since that's what we need.
Renaming the methods is straightforward and will also allow us to smoothly deprecate the old methods.

@satya164 ah okay that makes more sense - I've updated to use that syntax. I return never_ask_again instead of prompt though, since they have different meanings.
The spec says: The "prompt" state represents that the user agent will be asking the user’s permission if the caller tries to access the feature. The user might grant, deny or dismiss the request.
Never ask again is important to know because the user won't be shown any system prompt at all, so they should be directed to the system settings where they can enable the permission if it's really important for the app's functionality

@cmcewen sounds good

Can you also add warnings when trying to use deprecated methods?

Looks good to me, just few minor things and I'll merge! Thanks a lot :D

@facebook-github-bot shipit


Add Crostini Support

After some issues with udev rules, I discovered that Crostini does not have direct Bluetooth support. However, the official documentation states that Web Bluetooth API could be used as a workaround. I would love to see JoyDance support on Crostini, so please look into this.
Thanks.

I'm not sure that will work, but sure it gonna take a lot of time because originally JoyDance wasn't designed to use Web Bluetooth API.

Another option is running JoyDance on a Raspberry Pi Zero 2 W

But then you need to acquire the hardware, which is kind of what JoyDance is designed to help you avoid.

which is kind of what JoyDance is designed to help you avoid.

No I never said that. I love using JoyDance on my Pi because it's small, portable, and I don't need to use my laptop anymore.

I'm just saying that it could be a reason why someone is interested in using JoyDance. The description states:

Use Joy-Cons to play Ubisoft's Just Dance on all platforms

To me, that looks like a way to avoid the extra hardware often associated with Just Dance.
Also, unrelated: In

Use Joy-Cons to play Ubitsoft's Just Dance on all platforms
You misspelled Ubisoft.

Also, in README.md, under the Tested heading, you wrote:

Raspberry Pi Zero 2 W (Bulleye, kernel 5.15)
Did you mean Bullseye?

To me, that looks like a way to avoid the extra hardware often associated with Just Dance.

Yeah, that's understandable.

Did you mean Bullseye?

Thank you. Fixed both.


add a step to define ingress gateway in bookinfo guide

following https://github.com/istio/istio/pull/5113

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun
Assign the PR to them by writing /assign @linsun in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: frankbu
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun
Assign the PR to them by writing /assign @linsun in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: frankbu, linsun
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [linsun]

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


User manual and structured documentation

Opening on behalf of @punchagan who's been writing most of the new user manual.

Create structure documentation for the project in doc/.
Add a user manual in doc/user_manual.md.
Add a JSON specification in doc/json_spec.md.
Move a hardware tuning guide to doc/hardware_tuning.md.
Rewrite README to point to the documentation.
Stop advertising for enrolment of community projects in the README.

TODO

[x] Create an example of a project setup in doc/demo.
[x] Add screenshots in the user manual.

Added screenshots and link to demo project, and made some minor fixes to the text.


Add mock files to vts/policymanager

add missing mock files to vts/policymanager

Include vts/policymanager unit tests and submit the generated mock files

There are no unit tests here AFAICS.

we need to add an issue to track hooking policy manager unit testing into the main build

we need to add an issue to track hooking policy manager unit testing into the main build

Yes doing this now!

we need to add an issue to track hooking policy manager unit testing into the main build

Yes doing this now!

Issue #34 raised.


Multiple Commands on the Same Keys and Values Should be Shown in Top-right Pane

Microsoft PowerToys version
0.69.1
Installation method
Microsoft Store
Running as admin
Yes
Area(s) with issue?
Registry Preview
Steps to reproduce
Type text as per screenshots
Here, it looks like the key is not ultimately deleted:

Here, it looks like the key is deleted whereas it is recreated:

✔ Expected Behavior
Sometimes keys and values are deleted and recreated again in .reg files to clear them.
Multiple actions should be shown in the top-right pane.
Mockup:

❌ Actual Behavior
Currently, not all actions on the same key or value are reflected in the top-right pane.
Other Software
n/a

Respectfully, I'm not touching this one.  This topic came up, as part of the original PR, and I don't see a way to make it work that makes sense.  Yes, a REG file can add and remove Keys, parsing it in real time, but how do you make sense of that as a preview?

In one case, I can see a file that would remove a Key at the start of the file and then build up a new series of data in place of it but that should work here.  You won't see the delete of the Key (or any child data, because that's not in the file) and, because it is overwritten by the addition of the same Key later in the file, it will show you all of the new data, which is a legitimate preview of what the final state will be in the Registry.
For the situation called out above, where you take the time to create a Key, import it and then delete it in the same file sounds doesn't sound like anything anyone would do on purpose - honestly, it feels more like an edge test case, which the app fails on! - and the investment it would take to re-write the parse to handle this would be rather large.

Love having it as an active Idea-Enhancement, if someone wants to pick it up.  Maybe it can be rolled into the proposed color coding of the file, as that will likely trigger a bunch of parsing changes (or re-writes.)

@randyrants
I added the "help-wanted" label to show that this is something the core team won't pick up and ask the community for help.