SerializeGltfBufferData fails when compiling with msys2+mingw on Windows

In SerializeGltfBufferData, _wopen always returns -1 for me.
If I replace
#if defined(__GLIBCXX__)  // mingw
  int file_descriptor =
      _wopen(UTF8ToWchar(binFilename).c_str(), _O_WRONLY | _O_BINARY);
  __gnu_cxx::stdio_filebuf<char> wfile_buf(file_descriptor, std::ios_base::in);
  std::ostream output(&wfile_buf);
  if (!wfile_buf.is_open()) return false;
#elif defined(_MSC_VER)
  std::ofstream output(UTF8ToWchar(binFilename).c_str(), std::ofstream::binary);
  if (!output.is_open()) return false;
#else

with just
#if defined(__GLIBCXX__) || defined(_MSC_VER)
  std::ofstream output(UTF8ToWchar(binFilename).c_str(), std::ofstream::binary);
  if (!output.is_open()) return false;
#else

it works just fine (even with UTF-8 filenames). It requires C++17, however.

It seems _wopen fails if the file doesn't already exist, because of the _O_WRONLY flag. If I replace it with _O_CREAT it works (and doesn't require C++17). Like this:
int file_descriptor =
      _wopen(UTF8ToWchar(binFilename).c_str(), _O_CREAT | _O_BINARY);

@LHLaurini Thanks for the report!
Which Windows version and msys2+mingw version do you use? I think the situation depends on Windows version(we assume all people use Windows 10) and mingw version.

I'm using Windows 10 (fully updated) and since msys2 is a rolling release software distro, I'm using the latest MinGW-w64 binaries available (forgot to mention I was using MinGW-w64).

@LHLaurini Thanks for the version infos. The PR has been merged!


Use inventory for aggregation sessions and encrypted candidates

This PR introduces a change in the way aggregation sessions and encrypted candidates are propagated.
Old model:

Nodes broadcast through dandelion (first using stem and later in fluff phase) the aggregation sessions and encrypted candidates in full to every node. Due to the size of encrypted candidates (2,6kb), this behaviour exhausts some nodes with low specs and reduces the performance of the wallet.

New model:

Nodes broadcast an INVENTORY message using Dandelion with the hashes (32 bytes) of the aggregation sessions and encrypted candidates they now. The node will request the item's data, only if it's unknown for them, hence reducing the computational overhead and traffic.

What to test:

Candidates progagate correctly in Devnet.

Notes:
Nodes running this version will not propagate to older versions, but will receive from those. This change requires a majority of peers in the network to upgrade for a correct propagation of sessions and candidates.

A new build of 0a3edfdb32760667642b03482ca54f983aceb842 has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav

A new build of 07e62332362efa32bfbb86c69ee22dfeb72f3383 has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav

A new build of 30a70a56fd1b30182e6bf4d5a28aa3e1233f24f5 has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav

A new build of 773701e06f728167e0538f83c94670b726a4dbd4 has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav

A new build of e07a06f228aec2a5acd1b39bc357286023de6bb5 has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav

A new build of dd64e3c4d0fe3f8c704883ae0dfa5a1e5fe64a15 has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav

A new build of 0914b8081d86a681c8c9c655f4d24ee30052e2ce has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav

A new build of a94d4896e55ac836b36bd731af482a8633fabbaf has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav

A new build of 65c3b69c623202ce999d9812cbac1b7a27bf09ee has completed succesfully!
Binaries available at https://build.nav.community/binaries/inv_xnav


chore: bump helm dependency deployment chart v3.2.0

Description

bump helm dependencies chart deployment to v3.2.0

Related Issue(s)

#{issue number}

Verification

[x] Your code builds clean without any errors or warnings
[x] Manual testing done (required)
[ ] Relevant automated test added (if you find this hard, leave it and we'll help out)
[ ] All tests run green

Documentation

[x] User documentation is updated with a separate linked PR in altinn-studio-docs. (if applicable)

Pipeline code to patch deployment for apps which use old version until they have upgraded to 3.2.0. This only in "Helm Upgrade Test" for now:
@@ -9,20 +9,40 @@ catch {
 helm plugin install https://github.com/helm/helm-mapkubeapis
 # Define the new mapping to append
 $NewItem = @"
+
   - deprecatedAPI: "apiVersion: autoscaling/v2beta2\nkind: HorizontalPodAutoscaler\n"
     newAPI: "apiVersion: autoscaling/v2\nkind: HorizontalPodAutoscaler\n"
     deprecatedInVersion: "v1.23"
     removedInVersion: "v1.26"
+  - deprecatedAPI: "apiVersion: traefik.containo.us/v1alpha1\nkind: IngressRoute\n"
+    newAPI: "apiVersion: traefik.io/v1alpha1\nkind: IngressRoute\n"
+    deprecatedInVersion: "v1.23"
+    removedInVersion: "v1.26"
+  - deprecatedAPI: "apiVersion: traefik.containo.us/v1alpha1\nkind: Middleware\n"
+    newAPI: "apiVersion: traefik.io/v1alpha1\nkind: Middleware\n"
+    deprecatedInVersion: "v1.23"
+    removedInVersion: "v1.26"
+  - deprecatedAPI: "apiVersion: traefik.containo.us/v1alpha1\nkind: TLSOption\n"
+    newAPI: "apiVersion: traefik.io/v1alpha1\nkind: TLSOption\n"
+    deprecatedInVersion: "v1.23"
+    removedInVersion: "v1.26"
+  - deprecatedAPI: "apiVersion: traefik.containo.us/v1alpha1\nkind: TLSStore\n"
+    newAPI: "apiVersion: traefik.io/v1alpha1\nkind: TLSStore\n"
+    deprecatedInVersion: "v1.23"
+    removedInVersion: "v1.26"
 "@

 $MAP_PATH = "/home/vsts/.local/share/helm/plugins/helm-mapkubeapis/config/Map.yaml"
@@ -51,9 +71,21 @@ $ai_instr_key = (Get-AzApplicationInsights -ResourceGroupName $resourceGroupName
 # Run helm mapkubeapis with the modified YAML file
 helm mapkubeapis $(RELEASE_NAME)

+# Content in helm-post-renderer.sh
+$HelmPostRenderer = @"
+#!/bin/bash
+## Read the entire Helm output (rendered templates) from stdin
+## Replace the apiVersion and output the result
+sed 's/apiVersion: traefik.containo.us\/v1alpha1/apiVersion: traefik.io\/v1alpha1/g'
+"@
+# Add content to post-renderer script
+Add-Content -Path helm-post-renderer.sh -Value $HelmPostRenderer
+chmod +x helm-post-renderer.sh
+
 helm upgrade $(RELEASE_NAME) $(APP_COMMIT_ID)/deployment --install `
--f overrides.yaml --atomic
+-f overrides.yaml --set deployment.image.pullSecrets="" --set deployment.ingressRoute.tls="" --post-renderer ./helm-post-renderer.sh --atomic

 if(!$?) {

Yes, ready to merge - everything is in place. We even patch on deploy apps that use old template.


ZEPPELIN-3552. Support Scala 2.12 of SparkInterpreter

What is this PR for?
A few sentences describing the overall goals of the pull request's commits.
First time? Check out the contributing guide - https://zeppelin.apache.org/contribution/contributions.html
What type of PR is it?
[Bug Fix | Improvement | Feature | Documentation | Hot Fix | Refactoring]
Todos

[ ] - Task

What is the Jira issue?

Open an issue on Jira https://issues.apache.org/jira/browse/ZEPPELIN/
Put link here, and add [ZEPPELIN-Jira number] in PR title, eg. [ZEPPELIN-533]

How should this be tested?

First time? Setup Travis CI as described on https://zeppelin.apache.org/contribution/contributions.html#continuous-integration
Strongly recommended: add automated unit tests for any new or changed behavior
Outline any manual steps to test the PR here.

Screenshots (if appropriate)
Questions:

Does the licenses files need update?
Is there breaking changes for older versions?
Does this needs documentation?

hmm, Spark doesn't support Scala 2.12?

The first scala supported spark is 2.4.0 IIUC

Spark 2.4 will officially support Scala 2.12, so it will be great if Zeppelin will support it together with Spark. And also, there are some libs that are Scala 2.12 only

Spark 2.4 will officially support Scala 2.12, so it will be great if Zeppelin will support it together with Spark. And also, there are some libs that are Scala 2.12 only

The default distribution will still be with Scala 2.11 for Spark 2.4 if I am not mistaken. It is nice to support it but Spark 2.4 with 2.11 should be supported first as a higher priority. I can work on 2.4.0 with 2.12 support further after this one got merged.

Hey Jeff, I can take over this one too if you're busy since I took a look for similar code paths.

Hi @felixcheung @zjffdu any news on this? Spark 3.0 (which will be out late of summer) seems to remove the support to v 2.11 so it would be great merge this ASAP

Sorry, actually I am stuck in some works .. I think I wouldn't be able to take over this.

Don't worry @HyukjinKwon let me continue this.

whoa long time

Scala 2.12 is no longer experimental in Spark 2.4.1 so I suggest targeting 2.4.1

Any ETA for this?

@conker84 I make some updates to this PR, and it basically works in my local environment. But I still need more time to refine this PR. I suppose this could be done in 0.9.

@conker84 I make some updates to this PR, and it basically works in my local environment. But I still need more time to refine this PR. I suppose this could be done in 0.9.

Ok thanks!
Spark 3.0 will add native Property Graph & Cypher Support, so we need this to start to test how Zeppelin behaves with it.
Please ping me when it will be merged!

Any news on this?

Ping

@conker84 I am busy on other stuff recently, but make some progress on this. The plan is still completing it before 0.9 which is planed to be released this summer.

Folks, This PR is ready for review. Now scala 2.12 is supported.
@felixcheung @jongyoul @conker84 Could you help review or try this PR ? Thanks

LGTM

LGTM too.

Will merge if no more comments


The rendering of [Feature Request] paging components on Firefox

Existing Component
是
Component Name
el-pagination__editor
Description
http://ondc8g8tu.bkt.clouddn.com/17-8-22/91745689.jpg
如图，多了两个小按钮一样的东西，我发现是input标签中的 type = "number" 属性搞的鬼，可否帮忙更改为text属性？
具体文件在pagination.js文件中。

Fixed in #6623

in element2.0.2, it still have two small buttons in firefox,  then i checked the dom, find that:
the type of input, is still  number, not text

@chendayang It'll be fixed in 2.0.4


[UPDATE] Reshare flow to include Vultiserver

Currently the Reshare flow does not seperate between including Vultiserver or not.
Leading to that the server always joins.
Please implement/update Reshare flow according to figma so user can have an optional Vultiserver on reshare.
Also include logic to check if the vault already has a vault share on the vultisig server or a new one needs to be created.

This one has been implemented , and merged , @realpaaao can you please do some QA for it?

closed with https://github.com/vultisig/vultisig-ios/pull/1218


Editor: Trigger Suggest On Property / Function Selected

Option to trigger the suggest widget when a symbol is selected. This makes it easier to modify, since to replace a symbol, the user currently has to delete the symbol, and then trigger the suggest widget.
Suggested name: editor.triggerSuggestOnSymbolSelected

Option to trigger the suggest widget when a symbol is selected.

What do you mean? Setting the cursor on a word which is the name of a symbol?

Selecting a symbol (e.g. by double-clicking the symbol or via key commands)

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


vorta: 0.8.3 -> 0.8.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for vorta is: "Desktop Backup Client for Borg"
meta.homepage for vorta is: "https://vorta.borgbase.com/"
meta.changelog for vorta is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.8.4 with grep in /nix/store/jj4nzvrb3k1lsy9y29rlcrgx3p0zprny-vorta-0.8.4
found 0.8.4 in filename of file in /nix/store/jj4nzvrb3k1lsy9y29rlcrgx3p0zprny-vorta-0.8.4

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
vorta

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jj4nzvrb3k1lsy9y29rlcrgx3p0zprny-vorta-0.8.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vorta https://github.com/r-ryantm/nixpkgs/archive/fa020dce7f61996ef410a1a4b2fa819d8f2360ef.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jj4nzvrb3k1lsy9y29rlcrgx3p0zprny-vorta-0.8.4
ls -la /nix/store/jj4nzvrb3k1lsy9y29rlcrgx3p0zprny-vorta-0.8.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

vorta

Maintainer pings
cc @ma27 for testing.

Works fine for me, local tested the build output and multiple backup runs/actions :)


Unable to change frame rate

System Configuration

Version
Your Configuration

Operating System
Ubuntu 16.04

Kernel
4.4.0-47-generic

ROS
kinetic

ROS RealSense
1.6.0

librealsense
1.11.1

Camera Type-Firmware
Intel RealSense F200, Camera FW: <IP_ADDRESS>

I have been trying to change the fps for a week, without results. The first thing I tried was to change the static parameters: depth_fps, color_fps and fisheye_fps, without results.
After looking at librealsense I discovered a dynamic parameter called f200_dynamic_fps. This was default set to 0 when I called
$ rosservice call /camera/driver/get_settings

I tried to change the settings with
$ rosrun rqt_reconfigure rqt_reconfigure

but f200_dynamic_fps did not show up under /camera/driver
To get around this issue I added the following line to the parameter generator in realsense_camera/cfg/f200_params.cfg:
gen.add("f200_dynamic_fps", int_t, 0, "Dynamic fps", 2, 2, 60)

I also added the following line to realsense_camera/src/f200_nodelet.cpp
rs_set_device_option(rs_device_, RS_OPTION_F200_DYNAMIC_FPS, config.f200_dynamic_fps, 0);

This makes the option appear in rqt_reconfigure, but changing the fps does not change the actual fps.
I validated the fps with
$ rostopic hz /camera/depth/camera_info

This gives around 53 fps for me.
Expected Behavior
The fps is changed to 2
Actual Behavior
The fps stays at 60 (Unchanged)
Steps to Reproduce

In realsense_camera/cfg/f200_params.cfg add the line

gen.add("f200_dynamic_fps", int_t, 0, "Dynamic fps", 2, 2, 60)

In realsense_camera/src/f200_nodelet.cpp add the line

rs_set_device_option(rs_device_, RS_OPTION_F200_DYNAMIC_FPS, config.f200_dynamic_fps, 0);

Build

Run the node

$ roslaunch realsense_camera f200_nodelet_default.launch

Run  rqt_reconfigure and change the value f200_dynamic_fps to 2 (will be 2 default after the config above)

$ rosrun rqt_reconfigure rqt_reconfigure

Validate fps with

$ rostopic hz /camera/depth/camera_info

There are a few problems here.
First, the proper way to change from the default Frames Per Second is to switch from the default of mode:=preset to using the mode:=manual.
See mode in the Parameters section of the wiki doc.
The realsense_camera package has an example launch file for the R200 camera, but I'm attaching a version for the F200 setting the FPS to 5.
f200_nodelet_modify_params.launch.txt
roslaunch f200_nodelet_modify_params.launch
The list of valid FPS for resolutions is published on the librealsense GitHub.
In creating the example launch file for you, I ran into two problems.

The existing realsense_camera package (1.6.0) only allow the setting of the depth and IR streams to the same values. For the F200 camera that overlap is only 30 or 60fps. This will be resolved in the next release of realsense_camera package as the IR streams will be disable by default allowing the selection of a lower fps for the depth stream. See PR #150

librealsense appears to have a bug which locks the Depth stream to 30fps for both the F200 and SR300 cameras regardless of the requested FPS. See librealsense Issue 361

The attached launch file will allow you to get the color stream at the lower rate, but the depth appears to be stuck at 30fps until we can get a fix from librealsense team.

The librealsense bug appears to not be a real issue.
Were you able to use the attached launch file to change the FPS on your camera?

I see, I am now able to change fps, thank you for the help! I did not understand that I needed to set the mode to change the fps! I see it is written vaguely under mode in the list of static parameters, but maybe it would be smart to write it at the very top under static parameters?
I tried all fps settings, all works except for color fps set to 2 (supposed to be supported), which crashes with this error:
[ERROR] [1479818696.536289742]: /camera/driver - Error calling rs_wait_for_frames ( device:0x2187e00 ):
Timeout waiting for frames.
[camera/nodelet_manager-1] process has died [pid 9449, exit code 1, cmd /opt/ros/kinetic/lib/nodelet/nodelet manager __name:=nodelet_manager __log:=/home/mathiact/.ros/log/399d2a96-b0b1-11e6-a0eb-7c7a911c589a/camera-nodelet_manager-1.log].
log file: /home/mathiact/.ros/log/399d2a96-b0b1-11e6-a0eb-7c7a911c589a/camera-nodelet_manager-1*.log
Logfile - camera-driver-2-stdout.txt
Thank you so much for the help! :)

I've made some updates to the ROS wiki page to try to highlight the default of 'preset' mode.  Also added a short Tutorial on how to make a modified launch file for modifying parameters.

This is great! Well done :)

Hi, can you get back to me here, @mdhorn?
I built this on a new computer, and the fps worked the day I installed it, but not after. It is stuck to 30 again. I use your launch file. Launching does not give any errors, it says depth_fps is set to 5, but in reality it is set to 30. Can you please help me on debugging this?
To summarize: This worked the first day, but not after reboot. I have tried to rebuild it several times, no change. What can I do?

@MathiasCiarlo this has not been 100% reproducible. I did see an F200 stuck at 30 fps for depth, but have not been able to reproduce this problem for a while.
What USB devices are attached?  I would try running the attached launch file with just the camera attached and remote log into the system.
My guess it there is some USB traffic issue causing the problem.
f200_nodelet_modify_params.launch.txt

Thanks. I was using a keyboard and mouse through a monitor hub, but nothing changed when I unplugged them and remote logged in. I think I will have to use /depth/image_raw/compressedDepth instead and manually build the point cloud.. Hopefullly I will figure out how to do it by looking at the rviz source code.


[JOSS review] Installation link in README.md is broken

https://ngspetsc.readthedocs.io/en/latest/installation.html shall be replaced by https://ngspetsc.readthedocs.io/en/latest/install.html.

This should have been fixed.


vencord: 1.6.7 -> 1.6.9

Description of changes
https://github.com/Vendicated/Vencord/compare/v1.6.7...v1.6.9
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 289105 run on x86_64-linux 1

4 packages built:

vencord
vencord-web-extension
vesktop
webcord-vencord


(Suggestion) Can you add mob ID's?

Many people know this: OreSpawn and another big mod do not go together. Can you fix that problem by adding a increased ID limit?
The game crashed whilst initializing game
Error: java.lang.RuntimeException: No more entity indicies left

Use Justenoughids


Autoexclude claims beyond limits

Need a facility to automatically exclude claims beyond a specified number of claims limit or beyond a specified mileage limit.

New settings bonusClaimsLimit/bonusClaimsExceeded cater for limiting the number of bonuses which may be claimed in a leg.

Now offers MaxMilesExclude as option for PenaltyMaxMiles


The article headings are "iis / iis express" and imply that full iis is needed for WS on express

https://twitter.com/oising/status/1041815933344460801

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a3b0cac1-adc7-434c-d867-6e28e39bdae7
Version Independent ID: 762efeed-010e-f422-03d0-22d6681b2851
Content: WebSockets support in ASP.NET Core
Content Source: aspnetcore/fundamentals/websockets.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: tdykstra

I am having problems getting WS working on IIS Express 10 (w10/1803) with signalr core 2.1. It always falls back to SSE. At first I assumed WS support wasn't enabled for iis express but I'm told it should be on by default. So it seems my iis express install is just busted, but I can't be sure. This article doesn't help. If WS support is enabled by default on IIS Express, then the article needs to expressly state this, and list which platforms support it OOTB.

@anurse or @BrennanConroy  please respond.

https://github.com/aspnet/Docs/pull/8621


Fix diff_against on model with non-editable fields

Description
#776 improved the performance of diff_against by setting fields directly to the fields of the instance. But model_to_dict ignores non-editable fields, which leads to an error when it loops over fields and can't fetch the non-editable fields.
I have added a test that fails without my change to ignore non-editable fields.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have run the pre-commit run command to format and lint.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have added my name and/or github handle to AUTHORS.rst
[x] I have added my change to CHANGES.rst
[x] All new and existing tests passed.

Nice! I happened to stumble on this problem as well, so I'm happy that you've fixed it!

Hopefully done :)


❓ Question : Training - Evaluating discrepancy in Abstractive Summarization

Thanks for open-sourcing the code !
After reading your paper, I have a question about the finetuning procedure for Abstractive summarization (and more generally any Seq2Seq task).

I understand this idea : Similarly to Bert and to UniLM pretraining, finetuning on Abstractive Summarization is masking some token and predicting it in order to learn a bidirectional representation of tokens.
But at inference time, since we don't have access to the whole summary (it is yet to be generated), we can only apply a left-to-right LM.
It seems a pretty big discrepancy between training and testing.

What I don't understand is that people already tried to use BERT (trained as a bidirectional encoder) as a left-to-right LM. But results were really low.
And in your case, results are very high !
So my questions are :

Did I miss something ? Did I misunderstood and there is in fact no discrepancy ?

If I understood right, why do you finetune Seq2Seq model using bidirectional LM, and not left-to-right LM ?

Hi @Colanim ,
Only the encoder is pre-trained in a bidirectional manner, while the decoder is left-to-right, which is controlled by the attention mask matrix. So the fine-tuning process is the same as inference in terms of decoding.
-li

Thanks for the quick response !
So if I understood well, for abstractive summarization there is 3 tasks :

left-to-right LM on the summary part for decoder
Bidirectional LM on the article part for the encoder
Extractive task based on the first token

Is it right ?

Because the source side has been given. During fine-tuning, we only compute generation loss for the decoder, which is similar to previous seq2seq models. In the paper, we added an extractive loss in the encoder side, but we didn't use it in the repo's example. The released checkpoint can achieve better results even without the extractive loss.

Ok so in the actual code there is only one loss, which is the generation loss for the decoder (so, left-to-right LM based on the summary).
Thank you very much for your answers !


Solution for global plugin installs with eslint > 6.0

A solution for global plugin installs have been completely overlooked during discussion about https://github.com/microsoft/vscode-eslint/issues/696
I can confirm that the solution below works for me with eslint 6 and up, with plugins and configs
I think we should get path for resolvePluginsRelativeTo from the system node install
Memo for monorepo players:

install all modules globally, npm i -g ...
add the option to force vscode-eslint to use global path (npm list -g | head -n 1) instead the local path (always 404 😂 )

// settings.json
{
    "eslint.options": {
        "resolvePluginsRelativeTo": "/usr/local/lib/node_modules"
    }
}

Refs:

https://eslint.org/docs/user-guide/migrating-to-6.0.0#-plugins-and-shareable-configs-are-no-longer-affected-by-eslints-location
https://eslint.org/docs/developer-guide/nodejs-api#cliengine

Originally posted by @up9cloud in https://github.com/microsoft/vscode-eslint/issues/696#issuecomment-543549287

npm root -g to get NODE_PATH

@baybal I am not sure exactly what you think is missing. The extension does honor the global install using the command npm config get prefix.
Can you please explain.

I guess he just wish you could reconsider https://github.com/microsoft/vscode-eslint/issues/696#issuecomment-566127447. Instead, to use global as default to solve the mono issue.

@up9cloud I see the wish but I still have no idea on how to solve this since whatever I do will make another camp unhappy. So the best you can do tight now is to use
"eslint.workingDirectories": [
    { "mode": "auto" }
],

In a mon repro or explicitly list the working directories. I will close the issue. Please ping if someone disagrees.

I've installed eslint plugins globally because I find it tedious to install them for every project, especially given amount of dependencies. Linter's plugin versions is not something you need to differentiate much.
Setting resolvePluginsRelativeTo helped, but it won't work for parsers due to https://github.com/eslint/eslint/pull/13234. After applying the fix from the PR everything works fine, I don't need to install copy of plugins to every project anymore.


Support for S3 Access Points

Some organizations have multiple Data Lake domains across AWS accounts, for which they need to grant access to different departments (Finance, HR, etc.). This was one of the use cases for which AWS created S3 Access Points, in order to securely share datasets. However, when it comes to building ETLs supported by AWS Data Wrangler, all methods related to S3 only accept an S3 path in the form "s3://bucket/path/".
Describe the solution you'd like
I'd like to be able to provide S3 Access Points instead of S3 buckets in the S3 methods. Currently, all low level S3 APIs that
have a Bucket field (such as GetObject) allow the requester to input either a Bucket name or the ARN of an S3 Access Point (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html#API_GetObject_RequestParameters). Hence it should be a matter of redesigning the parsing capabilities on AWS Data Wrangler to accept such format, and shouldn't require a change in the underlying Boto3 calls.

Thanks @rodalarcon, great suggestion! We will address it in our next minor release (1.10.0)!

Thanks @igorborgest. It'd be great to allow the same S3URI pattern that is already allowed in AWS CLI:
s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
Ref: https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html#examples

Released on version 2.3.0 🚀

Released on version 2.3.0 🚀


linkToPost copy-to-clipboard, autoselect url

linkToPost disabled input field should automatically select the inputvalue on click of the element, additionally a button on the side with a copy-to-clipboard execution would be nice too -> but we would need to create the svg icon for that

-the items takes up alot of space and should be reduced -> maybe extract the usages/codesnippets and put them in a component, then we can implement a button for copying to clipboard or at least automatically selecti the whole url on click, and maybe make the component collapsible (default value collapsed, and include share icon?)


Update move-resource-group-and-subscription.md

#232 - 'validate move' link was linking to /move-resources instead of /validate-move-resources. Caused issues - the 'try it' feature results in live resource moves rather than non-impacting moves as should be.

@alexnmbc : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@alexnmbc - thanks for correcting that link!
#sign-off


allow list hosts by hypervisor

这个 PR 实现什么功能/修复什么问题:
允许使用hypervisor过滤hosts
是否需要 backport 到之前的 release 分支:

release/2.8.0

/cherrypick release/2.8.0

/lgtm
/approve

Codecov Report

Merging #505 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #505      +/-   ##
=========================================
+ Coverage    7.37%   7.38%   +<.01%
=========================================
  Files         345     345
  Lines       54215   54221       +6
=========================================
+ Hits         3999    4003       +4
- Misses      49839   49843       +4
+ Partials      377     375       -2

Flag
Coverage Δ

#aFlag
7.38% <0%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

pkg/compute/models/hosts.go
0.38% <0%> (-0.01%)
:arrow_down:

pkg/appsrv/response.go
69.23% <0%> (+3.07%)
:arrow_up:

pkg/util/seclib2/seclib.go
95.74% <0%> (+4.25%)
: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 a31e817...b4240bf. Read the comment docs.


ssl-proxy: init at 0.2.7

Description of changes
Packaged ssl-proxy.
Homepage: https://github.com/suyashkumar/ssl-proxy
Description taken from the repo: [ssl-proxy is a] simple single-command SSL reverse proxy with autogenerated certificates (LetsEncrypt, self-signed).

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

also, any reason to exclude darwin and windows? I see the original repo has support for those.
Yeah, the only issue is that I only have access to a linux machine.

Ping me 2 days to merge

@AndersonTorres is it merging time?


Fix chromeLike label size & Update readme

Fixes #27

Codecov Report

Merging #49 into master will increase coverage by 0.47%.
The diff coverage is 6.25%.

@@             Coverage Diff              @@
##             master      #49      +/-   ##
============================================
+ Coverage     51.51%   51.98%   +0.47%
  Complexity       64       64
============================================
  Files            12       12
  Lines           330      327       -3
  Branches         60       58       -2
============================================
  Hits            170      170
+ Misses          119      116       -3
  Partials         41       41

Impacted Files
Coverage Δ
Complexity Δ

...ct/starter/easylauncher/filter/ChromeLikeFilter.kt
6.06% <0.00%> (+0.50%)
1.00 <0.00> (ø)

...ect/starter/easylauncher/plugin/IconTransformer.kt
78.57% <100.00%> (ø)
0.00 <0.00> (ø)

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 1a534ee...0441910. Read the comment docs.


neuron-mpi: 8.2.2 -> 8.2.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/neuronsimulator/nrn/releases.
meta.description for neuron-mpi is: Simulation environment for empirically-based simulations of neurons and networks of neurons
meta.homepage for neuron-mpi is: http://www.neuron.yale.edu/neuron
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 8.2.3 with grep in /nix/store/3azskcqqrwsd29ijjp2ydf08wh118mia-neuron-8.2.3
found 8.2.3 in filename of file in /nix/store/3azskcqqrwsd29ijjp2ydf08wh118mia-neuron-8.2.3

Rebuild report (if merged into master) (click to expand)

5 total rebuild path(s)

5 package rebuild(s)

First fifty rebuilds by attrpath
neuron
neuron-full
neuron-mpi
python310Packages.neuronpy
python311Packages.neuronpy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3azskcqqrwsd29ijjp2ydf08wh118mia-neuron-8.2.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A neuron-mpi https://github.com/r-ryantm/nixpkgs/archive/d660b340ee492ccf0723c41e16b93b4abfd9ea46.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/d660b340ee492ccf0723c41e16b93b4abfd9ea46#neuron-mpi

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3azskcqqrwsd29ijjp2ydf08wh118mia-neuron-8.2.3
ls -la /nix/store/3azskcqqrwsd29ijjp2ydf08wh118mia-neuron-8.2.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

neuron
neuron-full (python310Packages.neuronpy)
neuron-mpi
python311Packages.neuronpy

Maintainer pings
cc @adevress @CyborgPotato for testing.

Runs well! No issues in my testing.


feature/Game

Description
Add operations related to the game
Trello link:
Trello card
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

[ ] Changes were successfully tested.
[ ] Dependencies. All dependencies are deployed.

How Has This Been Tested?
Manually, using https://jiangxy.github.io/websocket-debug-tool/

Remember run:
mvn spotless:apply
Before open the PR
Also I added a new githook in this PR but i'm not sure it works in other OS
https://github.com/Devathon-2024-team5/Preguntonic-backend/pull/15


useWith and converge

Hi,
Can anyone help me understand why this code behaves as I expected (returns 1)
var myPredicate = curryN(2, function myPredicate(a, b) {
  return a;
});

useWith(
  flip(find)([0, 1, 2, 3]),
  [
    flip(myPredicate),
  ]
)('some state for myPredicate')

But if I swap the useWith for a converge then it does not (it returns a function)
var myPredicate = curryN(2, function myPredicate(a, b) {
  return a;
});

converge(
  flip(find)([0, 1, 2, 3]),
  [
    flip(myPredicate),
  ]
)('some state for myPredicate')

Careful, lift will take the place of converge, not of useWith.  We considered removing converge once we had lift, but it can handle certain variadic situations that lift cannot, so we've kept it... so far.
useWith is really only useful for making a pointed function point-free.  Sometimes there's value in that, but please don't make a fetish of point-free.

I seem to come back to converge and useWith time and again when trying to solve a problem. Certainly I have been guilty of fetishizing point-free in the past (and maybe still), I'm trying to be better!
Thanks for your help.

Converge is quite possibly my favorite function, and one I often use to demonstrate how elegant (and still readable) point-free programming can be.  Not my most used, but not uncommon to use either.  I'm sad that I'll probably never see a convergeP in core, for the rare times I need to converge with async operations.


--dateopt option does not work

The OpenSSL 3.0 man page for openssl-x509 claims:
  -dateopt
           Specify the date output format. Values are: rfc_822 and iso_8601.
           Defaults to rfc_822.

but neither work:
$openssl x509 -noout -dates -dateopt iso_8601 -in server-cert.pem
Invalid date format: iso_8601

$ openssl x509 -noout -dates -dateopt rfc_822 -in server-cert.pem
Invalid date format: rfc_822

Problem is that the set_dateopt() function always returns zero, regardless of success or failure, but when called in apps/x509.c, apps/crl.c and apps/ca.c the return status is actually being checked for, and a zero result leads to an abort with the "Invalid date format:" message above.
Proposed fix: use the same semantics as in the set_ext_copy() function right below set_dateopt() and return zero if no known option matched, one otherwise:
git diff
diff --git a/apps/lib/apps.c b/apps/lib/apps.c
index a7ac4368ef..16161964b0 100644
--- a/apps/lib/apps.c
+++ b/apps/lib/apps.c
@@ -1148,7 +1148,9 @@ int set_dateopt(unsigned long *dateopt, const char *arg)
         *dateopt = ASN1_DTFLGS_RFC822;
     else if (OPENSSL_strcasecmp(arg, "iso_8601") == 0)
         *dateopt = ASN1_DTFLGS_ISO8601;
-    return 0;
+    else
+        return 0;
+    return 1;
 }

 int set_ext_copy(int *copy_type, const char *arg)

With above patch against current master branch the -dateopt option works as expected:
$ /usr/local/bin/openssl x509 -noout -dates -dateopt iso_8601 -in client-cert.pem
notBefore=2021-04-15 09:23:07Z
notAfter=2031-02-22 09:23:07Z

$ /usr/local/bin/openssl x509 -noout -dates -dateopt rfc_822 -in client-cert.pem
notBefore=Apr 15 09:23:07 2021 GMT
notAfter=Feb 22 09:23:07 2031 GMT

$ /usr/local/bin/openssl x509 -noout -dates -dateopt invalid_format -in client-cert.pem
Invalid date format: invalid_format

Please submit a PR with your fix. Ideally it would be nice to have a test case for -dateopt.

Ok, was hoping to avoid that, but PR against 3.0 branch will come soon.
Only adding basic -dates -dateopt ... check to test/recipes/25-test_x509.t for now.
Did a quick test with openssl crl -dateopt, only to find out that it now accepts -dateopt iso_8601 but still prints timestamps in rfc_822 format.
Then tried openssl x509 -text -dateopt iso_8601 instead of -dates, and found that output there is still in rfc_822 format, too.
So -dateopt only seems to work in combination with -dates right now ... another formal issue report about that will come in later today ...

With a test case added, would this still pass as "trivial", or would I now have to jump through the CLA submission loop, too?

With a test case added, would this still pass as "trivial", or would I now have to jump through the CLA submission loop, too?

Ah, that would not pass the limit for CLA: trivial.

signed CLA form sent


Update BootstrapColorPickerPickerField.php

I needed to change the class to extend the FieldTypeBase otherwise the field wouldn't save into the database.
I guess this occurs since Bolt 3.3 because the save mechanism for custom fields had changed.
Also, the interface FieldTypeBase shouldn't be necessary in this context anymore because the FieldTypeBase itself uses it already.

LGTM! Thanks!


[fix]: Fix css on main page when information is open.

This is a janky fix to get the page to align to the bottom, but hey, if it works, don't touch it:)

nice


Security issue with nvm path

Hi nvm collaborators!
I recently installed nvm in my MacBook and noticed something that brought my attention. When I inspect my $PATH variable I saw that the nvm bin folder is prepended to the current list like this:
> echo $PATH
/Users/androdriguez/.nvm/versions/node/v13.3.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

I'm not a security expert but as far as I know this setup is opening the door for Sudo Piggyback attacks in which a malicious script can insert a malicious sudo program in the nvm bin folder without any problem and thus replace the original sudo program located in usr/bin in order to steal password information and other things.
I was wondering if this can be addressed by not prepending but appending the path to the end of the list like this (as Flutter does for example):
> echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/androdriguez/.nvm/versions/node/v13.3.0/bin

Or at least changing the owner and group privileges of the bin folder to root and wheel to ask for admin credentials anytime someone tries to write in the folder:
> ls -al /Users/myuser/.nvm/versions/node/v13.3.0
total 320
drwxr-xr-x  9 myuser  313246183    288 Dec 16 18:01 .
drwxr-xr-x  3 myuser  313246183     96 Dec 16 18:01 ..
-rw-r--r--  1 myuser  313246183  53571 Dec  3 09:46 CHANGELOG.md
-rw-r--r--  1 myuser  313246183  77130 Dec  3 09:46 LICENSE
-rw-r--r--  1 myuser  313246183  26337 Dec  3 09:46 README.md
drwxr-xr-x  5 root    wheel        160 Dec 26 18:57 bin
drwxr-xr-x  3 myuser  313246183     96 Dec  3 09:46 include
drwxr-xr-x  4 myuser  313246183    128 Dec  3 09:46 lib
drwxr-xr-x  5 myuser  313246183    160 Dec  3 09:46 share

Let me know your thoughts about this matter.
Best regards.

I think your concern is quite overblown, for one - nowadays you're not supposed to install any global packages anyways, which addresses the risk. Additionally, one of the biggest benefits of using nvm is not having to use sudo to npm install -g.
The ability for nvm to shadow node and npm and other global package names is critical; your system's node must not take precedence over it, otherwise nvm can't work.

Thanks @ljharb. I understand that nvm folder should precede any other node or npm executables in $PATH in order to work properly. But the risk is still there anyway. I suppose this is a trade off between convenience vs security and in this particular case nvm chooses the first to provide an easier developer experience by avoiding sudo calls.

I believe that this is also the same choice nearly every PATH-modifying tool makes (other package/version managers, primarily)

Yes, the first time time I learned about this issue was reading about Hombrew here. That's why I started using MacPorts instead. However I can't afford not using nvm because it eases a lot my developer experience. In my case I just changed bin folder privileges to root and wheel to give me peace of mind.


dolphinEmuMaster: 2018-09-24 -> 2018-12-25

Motivation for this change
version bump
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

ping @MP2E

@GrahamcOfBorg build dolphinEmuMaster

Thanks!


Question about Correct Support Matrix for Azure Functions Codeless AI Monitoring

Hi team, I'd like to know correct support matrix of Codeless AI Monitoring for Azure Functions.
For example, if I tested wiht Azure Function with Linux Elastic Premium plan / West Japan region, Application Insights cannot be enabled while app creation. but as far as I see the support matrix of this doc, this seems not mentioned. (for all runtimme at Azure Functions - Basic, it's mentioned as GA)
1, Could you please check whether current support matrix can explain this scenario? if doc improvement is required, kindly modify accordingly.
Thank you.

2, Even for above case, we could enable application insights after app creation.
Does it mean, "Codeless Monitoring is not supported as warned while creation (Q1), but user can enable it with assumption they implement code using SDK"?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 61a9464c-27a3-acf9-3038-c6923f3900c9
Version Independent ID: c91caad1-a62c-f0ff-93e5-070d38e467d6
Content: Monitor your apps without code changes - auto-instrumentation for Azure Monitor Application Insights - Azure Monitor
Content Source: articles/azure-monitor/app/codeless-overview.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @MS-jgol
Microsoft Alias: jgol

@yutaro113 -
Thanks for brining this to our attention. We will investigate it further and update you shortly.

Hello @MS-jgol  - please review this doc-enhancement request when time permits.

@yutaro113
A few points to answer your concerns:

The Functions basic monitoring, that supports bindings (essentially, some http requests) is available for all languages, and is GA
The behavior you see in portal does not look as intended, the monitoring should be on by default. It looks like a bug in the UX.
There is also a concept for language specific workers, that enables full distributed tracing capabilities for the language. For Python specifically: https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python?tabs=application-level#log-custom-telemetry

I'm going to close this issue for now but let us know if you have any additional questions.
#please-close

Thanks a lot @MS-jgol for helping on this thread.
@yutaro113 Hope the above information shared by @MS-jgol helps. If you have any further queries please feel free to revert back.
At this point it appears that there's no further edits or updates needed to the documentation, other than what has been listed above. We will go ahead and close this issue for now, however if you have any further feedback on the document please tag us in your reply and will be happy to reopen the thread and continue the conversation. Thank you


Tutorial: Fixes for Exercise 3

The PR fixes the issues with the exercise 3 from the tutorial:

There was an inconsistency between the code in the solution vs the exercise, as the exercise used @classmethod and the solution did not. Now that's been made consistent
The 2nd solution did not lower the memory usage. Not sure why it was added there - the PR removes it
An edit to the for consistency to utilise the same global variables instead of magic numbers

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

Project coverage is 93.02%. Comparing base (41248ed) to head (a72f3aa).
Report is 100 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #641      +/-   ##
==========================================
+ Coverage   92.55%   93.02%   +0.47%
==========================================
  Files          91       94       +3
  Lines       11304    11415     +111
  Branches     1581     2092     +511
==========================================
+ Hits        10462    10619     +157
+ Misses        837      796      -41
+ Partials        5        0       -5

Flag
Coverage Δ

cpp
93.02% <ø> (+7.08%)
:arrow_up:

python_and_cython
93.02% <ø> (-2.70%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


refactor: use Interface methods

use Interface methods instead of methods in concrete classes

Fixes 12 errors of 35: https://github.com/lonnieezell/codeigniter-shield/pull/44#issuecomment-1105787493

I am not a fan of this one. Some of things, like id are a class property on the entity. I don't see a need to pull it from an interface method. Using getAuthX methods instead of simple properties makes it less readable and harder to remember, and doesn't always apply. If I'm getting the email address, auth shouldn't have anything to do with it.
There's got to be a different way to make Stan happy, because this doesn't work for me.

Interfaces
An interface is a contract between the code and our developers:

A class that implements an interface must have all the defined methods.
An interface cannot be changed without a major release.
Anything that uses an interface in a typehint or docblock must use only that interface's methods.

https://github.com/codeigniter4/CodeIgniter4/issues/4356

Now Email2FA depends on Auth:
https://github.com/lonnieezell/codeigniter-shield/blob/270ec98c6d26ee96b9f5bc56e25c25d6ffa38872/src/Authentication/Actions/Email2FA.php#L24
And depends on the return value type Authenticatable:
https://github.com/lonnieezell/codeigniter-shield/blob/270ec98c6d26ee96b9f5bc56e25c25d6ffa38872/src/Auth.php#L66
That is Email2FA depends on Authenticatable (Interface), not User (concrete class).
So you can't use any method or property on User except methods defined in Authenticatable.
This is not a matter of someone liking or disliking. If you break the rule, the interface will be meaningless.
Because if someone implements a class that follows the interface, it is not guaranteed to work.
If the interface methods are hard to remember, then the method names need to be changed.
The true issue is Email2FA should depend on Authenticatable or not.
If it depends on User, of course you can use all properties and methods in it.
But if users want to use their own User class, they can't use it with Email2FA.

An alternative would be to ditch the Authenticatable interface altogether and use User everywhere. Developers who want to use their own entity just need it to extend User.
I am a fan of the interoperable Auth interfaces (see Tatter\Users) but I don't know that trying to provide that from within a package adds any benefit. If this seems important then maybe a better approach would be to have separate packages - one could be CodeIgniter\Auth with just the interfaces and the basic services, and then Shield could be an implementation of that.

My apologies. I jumped the gun last night. I've been sick and tired the last few days and apologize. But, yes, I do understand how interfaces work.
Reviewing it again it looks fine. Thanks for your good eye, @kenjis

Now if only we could get these actions to authenticate again. I need to look into that more, because it's starting to drive me batty.

@lonnieezell No problem. You did not do anything that you need to apology.
Everybody has own preference, and you just stated your preference.
It is legal in my country and should not be condemned.
I am considering interface design for this library.
There is src/Interfaces directory
https://github.com/lonnieezell/codeigniter-shield/tree/develop/src/Interfaces
and it has Authenticatable and UserProvider.
So it seems to me that it is assumed that a user can replace them
(without extending existing concrete classes).

@kenjis Yes, I agree with that.

Now if only we could get these actions to authenticate again

My hunch is that it is some sort of caching, since the actual Action call now is un-authenticated. It looks like the last batch of workflows all succeeded, so maybe we'r in the clear? I'm keeping an eye on it.


Fix one-character values

The current regex for getting variables' values is broken for one-character values.

Sorry for the late review, I did not get the notification. Thanks!


strokeWidth issues in IE

Hi!
During our development we have discovered an issue when strokeWidth is larger than 6.
Please take a look at this fiddle:
https://jsfiddle.net/kdf6kbra/
If you open it in IE it doesn't work, but if you open it in Chrome or FF, everything works fine.
Otherwise, thank you for a great plugin! :+1:

Thanks for reporting. This is duplicate of https://github.com/kimmobrunfeldt/progressbar.js/issues/79.  This has been reported so many times I'll now report the bug to IE/Edge browser team. Let's continue discussion in the other issue.


Create a "How-To Overcome the AWS CloudFormation 200 Resource Limit" section

And/or describe in Troubleshooting topic in the docs?

Moving guide issues to doc repo.


RGB color space not permitted on grayscale PNG

When I try to use the tikz in the readme:
%%tikz
\draw (0,0) rectangle (1,1);
\filldraw (0.5,0.5) circle (.1);

I get this output:
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex)
 \write18 enabled.
entering extended mode
... some omitted ...
No pages of output.
Transcript written on tikz.log.
convert-im6.q16: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `tikz.png' @ warning/png.c/MagickPNGWarningHandler/1667.

It would appear that ImageMagick is noticing that the output is not RGB and not-so-helpfully changing the filetype for us as discussed here.
There are proposed solutions in that repo, but how can I make tikzmagic use them?

A bit more hacking around and I can repoduce this error outside of ipython:
tkiz.tex
\documentclass[convert={convertexe={convert},density=300,size=400x240,outext=.png},border=0pt]{standalone}
\usepackage[]{tikz}

\begin{document}
\begin{tikzpicture}[scale=1,]
\draw (0,0) rectangle (1,1);
\filldraw (0.5,0.5) circle (.1);

\end{tikzpicture}
\end{document}

$ pdflatex --shell-escape tkiz.tex
...
convert-im6.q16: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `tikz.png' @ warning/png.c/MagickPNGWarningHandler/1667.

It looks like the arguments to documentclass are passed through to imagemagick, but trying to add colorspace=RGB gives an error:
\documentclass[convert={convertexe={convert},colorspace=RGB,density=300,size=400x240,outext=.png},border=0pt]{standalone}

Gives an error:
! Package xkeyval Error: `colorspace' undefined in families `standalone.cls/convert'.

Hahaha, I that's a warning, not an error.  I had wrongly assumed that it was triggering this functionality., so I set about working around it.
I found a workaround, but the awkward logs were still showing up.  That's a separate issue, which I'll post momentarily.


No output on commands which print something

Not sure if I did not configure right or if this is not the intended functionality but when I enter a command like : map {some character} it does not show the output. The prompt to press enter to continue is given but not the actual output.

Yes, it should work. However, this plugin uses vim.api.nvim_exec2() and it was introduced in neovim version0.8.0. Are you using an older version?
If you are using an older neovim version and would like to make it work, I guess it's a matter of adding a condition here and use vim.api.nvim_exec() for older versions.

Added a condition to check for nvim version 0.8.0. I'm currently on 0.10.0-dev and can't reproduce your issue. Would you mind updating the plugin and giving it a try?

I just reinstalled and the error persisted. Im on version 0.9.5 nvim and check heath is all good. I reinstalled things by just adding the packer use statement you provided and running the command :silent Telescope cmdline and then running map s ( a command which prints two mappings with the normal stock pressing : and running the command) and it did not print.

I've tested in neovim 0.9.5 using lazy package manager and it is working fine. But if I use packer, you are right, is not showing any output... 😨
As alternative, you can enable output_pane in the extension settings. I've tested and it's working fine with packer.  This setting renders the output in split pane.

CONS: You need to close the pane afterwards (like any buffer)
PROS: You can select and yank the output

local telescope = require("telescope")
telescope.setup({
  extensions = {
    cmdline = {
      output_pane = {
        enabled = true
      }
    },
  }
})

telescope.load_extension("cmdline")

NOTE: I don't use packer anymore, but any pull request is welcome. Hope the output pane helps in the meantime.

@jonarrien First of all, I love the plugin, it has been the missing piece of my puzzle (I've needed vim-normal-mode in the cmd-line for a long time).
But I do have the same issue.
I am using vim-plug and NVIM v0.9.5.
As I run commands that should yield an output, I can observe that the output is being shown for fractions of a second and disappear right away.
And with the suggested fix
telescope.setup({
  extensions = {
    cmdline = {
      output_pane = {
        enabled = true
      }
    },
  }
})

I observe something strange:

Commands that yield an output with focus on the new window like :messages work as expected, opening a new window.

For commands that yield output without focus like :echo 1, the bug remains.

Do you have any workaround in mind? I would be sad to not use the plugin because of this...

@jonarrien I investigated the error a bit further.
My discovery was, that in my case somehow the notification-output of Telescope (that displays the actual vim-mode) and the output of the called cmd competed against each other.
As a result, the cmd-output disappeared right away.
As a workaround, I wrapped the vim.api.nvim_exec2(...)-call into a vim.defer_fn(function() to call it asynchronously after 1ms. That fixed all the output-issues for me except for one:
Calling :messages from Telescope cmdline does never yield an output, when called via
vim.api.nvim_exec2('messages', { output= false })

although inspecting the output via
local data = vim.api.nvim_exec2('messages', { output= true })
vim.notify(data.output)

does always yield the output correctly.
But handling it that way would lead to exponential messages growth, because the notify-message gets fed back right into the messages itself.
I can't explain the :messages-bug, but the fix for the other outputs works fine. Do you have anything in mind that could be the cause of the :messages-problem? And do the :messages work well in your environment?

Hi @JULO01,
Thanks for your feedback. I'm using Nvim's API to execute the commands by default, but I also experienced that issue and that's why I implemented the output_pane option.  Still didn't decide which way to go.
I'm currently using v0.10.0-dev-2361 and tested both commands. With output_pane disabled, none of them are working. With the output_pane enabled:

:messages opens an split view properly with the content
:echo 1 doesn't open split window, but 1 is displayed in a notification on the top right (no issue).

Looks there are some changes between 0.9.5 and 0.10.0, but I can't explain it either. Definitely it's on my list and looking for a solution.

Alright, thanks for investigating!

But I do have the same issue. I am using vim-plug and NVIM v0.9.5.

Couldn't figure out the issue with 0.9.5, please use NVIM 0.10.0 at least.

Commands that yield an output with focus on the new window like :messages work as expected, opening a new window.
For commands that yield output without focus like :echo 1, the bug remains.

If the output lines are few (< 5), it shows the output on a notification. This can be adjusted in config with:
  output_pane = {
    min_lines = 5,
  }

Do you have any workaround in mind? I would be sad to not use the plugin because of this...

:echo 1 should show the output in a notification. It works for me at least.


Replace "Open Beauty Facts" by "Install Open Beauty Facts" when not installed

Replace "Open Beauty Facts" by "Install Open Beauty Facts" when not installed.
We need that to be compliant with app-stores policies.

If it's alright, I would like to be assigned this issue.


Remove Worker's RollingUpdate condition and replace last tryUpdateStatus usage with patch

How to categorize this issue?

/area quality
/kind cleanup
What would you like to be added:
While looking into https://github.com/gardener/gardener-extension-provider-aws/issues/493 @timebertt found that the Status().Update()/TryUpdateStatus() can be replaced by a Patch and hence the whole updateWorkerStatusMachineDeployments to do not cause any conflict.
https://github.com/gardener/gardener/blob/15ce8a4cd716ae9192120cd71706c43950eb23d9/extensions/pkg/controller/worker/genericactuator/actuator_reconcile.go#L471-L493
@timebertt noticed that the Worker's RollingUpdate condition is not used (@danielfoehrKn also confirmed this). So we can remove the RollingUpdate and this should unblock us to use Patch instead of Status().Update()/TryUpdateStatus().
Why is this needed:
An Update() call to be replace by a Patch() call that does not cause conflicts.

/assign @ary1992


First draft on model validation in MVC

https://github.com/aspnet/Docs/issues/116

Please create your PR once it is ready for review.


Added uptime feature as well as a default greeting message

Updated config.js to include frequently used channel IDs
Added a default greeting message upon bot startup
Finalized the uptime command

In relation to #9


Session viewer: Allow selecting sessions that aren't ready yet

Currently the session viewer simply doesn't let you select a session that is still preparing. That's quite annoying at times, especially for the combination "Capella/Guacamole + Jupyter", since they start up very differently: Capella is quick to prepare, but takes some time after first connecting, while Jupyter takes much longer to prepare, but is there immediately when that's done.
It would be nice if I could select any session in the session viewer immediately, and when it's not ready yet I see a message similar to the sidebar card on the "Sessions" tab.
Quick mockup:

(Is this even possible with the current setup and how sessions are handled?)

Is this even possible with the current setup and how sessions are handled?

Yes, that's certainly possible. The session state is already available in the session viewer, but it's not used. The main reason is the inadequate reliability of the session state. For example, there are cases where the session state jumps from "Session started" to "Preparation of session" -> The actual connection would happen to early.
For better UX, I'd therefore implement https://github.com/DSD-DBS/capella-collab-manager/issues/1578 before addressing this issue.

Implemented in https://github.com/DSD-DBS/capella-collab-manager/pull/1978.


Inferno g(10) test fails on underscore in resource id

Hello. We noticed that Inferno fails on underscore in resource id. I could not find any comment that says underscore is invalid symbol in id.

https://www.hl7.org/fhir/datatypes.html#id

Have a look at Resource spec. id field has string type, not id one.

I'm not sure why they don't just use the id type there, but regardless they do describe the format requirement on the id element in the Logical Id section.

Logical ids (and therefore locations) are case sensitive. Logical Ids are always opaque, and external systems need not and should not attempt to determine their internal structure. A logical id SHALL always be represented in the same way in resource references and URLs. Ids can be up to 64 characters long, and contain any combination of upper and lowercase ASCII letters, numerals, "-" and ".".

This error is coming straight out of the HL7 FHIR Validator.
I do wonder why they chose not to use the id type in the Resource though.

That is FHIR 4.3.0. Certification is still based on FHIR 4.0.1, where it's an id: http://hl7.org/fhir/R4/resource.html

Looks like R4b (4.3.0, the current published release but not the one used in US Core) introduced this problem, which was acknowledged and is fixed in R5.
See https://jira.hl7.org/browse/FHIR-25262 and http://hl7.org/fhir/5.0.0-snapshot1/resource.html#resource


server example with modules

I was trying to use achieve this with
https://github.com/okgrow/merge-graphql-schemas
but I'm not sure if that's the right direction. There seem to be many ways to structure graphql servers.
Would be nice if one of the yoga server examples would show how to set up a modularised structure in front of the prisma API
+-- src
|   +-- types
|   |   +-- index.js (grouped types)
|   |   +-- auth.graphql (imports from prisma api)
|   |   +-- post.graphql (imports from prisma api)
|   +-- resolvers
|   |   +-- index.js (grouped resolvers)
|   |   +-- auth.js
|   |   +-- post.js
|   + index.js (server)

src/index.js (server)
const resolvers = require('./resolvers')
const typeDefs = require('./types')
const server = new GraphQLServer({
  typeDefs,
  resolvers,
  ...

@beebase Did you ever find a solution for modularization with graphql-yoga?

@beebase why do you need to import post.graphql? Merging the schema will take care of this into a single schema declaration for the GraphQLServer command behind the scenes in graphql-yoga.
Based on your comments above it sounds like you have two directories with .graphql files? One with user defined schema, and a second with prisma defined schema.
// ... other code
const typesArray = [...fileLoader(path.join(__dirname, './userDefinedSchemaFolder'), ...fileLoader(path.join(__dirname, './prismaSchemaFolder')]
const typeDefs = mergeTypes(typesArray, { all: true })

const resolvers = ...
const server = new GraphQLServer({
  typeDefs,
  resolvers
})

If I am misunderstanding you and there truly is only one folder of schema definitions, then my initial statement will work. You do not need to import schema definitions into files that references that schema. merge-graphql-schemas creates a concatenated type definition that contains all the references. This concatenated (merged) type definition can then be passed to the GraphQLServer call. The code below has worked for me, give it a shot.
const { fileLoader, mergeTypes, mergeResolvers } = require('merge-graphql-schemas')

const typesArray = fileLoader(path.join(__dirname, './types')
const typeDefs = mergeTypes(typesArray, { all: true })

const resolversArray = fileLoader(path.join(__dirname, './resolvers')
const resolvers = mergeResolvers(resolversArray)

const server = new GraphQLServer({
  typeDefs,
  resolvers
})

Let me know if that works, or you have question. I don't use prisma so I am not familiar with the api or directory structure.

I have not been able to get merge-graphql-schemas to work with graphql-yoga. See #214

@jboothe @kissmygritts  I paused my graphql project since my post end January. I was hitting a wall trying to modularise prisma. Tried different approaches but none of them worked for me.  Couldn't find any example code either.

Yeah, if I knew how to solve it I would gladly submit a PR example project. I find it hard to believe someone has not solved this.


Stylize permalink markers in non-heading contexts

Currently there is no whitespace between an element and it's corresponding ¶ character.
Also was wondering if it'd make sense for the ¶ character to be faded / not visible unless you hover.

Ooooh. Yup. That's done for heading right -- looks like Sphinx puts these in a lot of places! :o

Bundling into #1's "Stylize the remaining permalinks" bullet. :)

Note to self: see http://<IP_ADDRESS>:50249/demo/lists_tables.html#list-tables for examples of where this happens. :)


Remove couch, pouch and mongo jobs from Concourse pipeline

Done by Travis

Signed-off-by: Adriana Stefanova<EMAIL_ADDRESS>

Coverage increased (+0.1%) to 90.712% when pulling 1c1a30ee3b53d93af38ea0283f93cd71253f0508 on SAP:remove_jobs into 3f4fca31ea70ef50cfc6f0b93cf37090df8517cf on cloudfoundry-incubator:master.

Coverage increased (+0.1%) to 90.712% when pulling 1c1a30ee3b53d93af38ea0283f93cd71253f0508 on SAP:remove_jobs into 3f4fca31ea70ef50cfc6f0b93cf37090df8517cf on cloudfoundry-incubator:master.


Visual Studio 15.8.1, class initializer_list, not possible to use 'no const' reference type and iterator one

template<class _Elem>
class initializer_list
{	// list of pointers to elements
public:
typedef _Elem value_type;
typedef const _Elem& reference; // Why const here?
typedef const _Elem& const_reference;
typedef size_t size_type;
typedef const _Elem* iterator;  // Why const here?
typedef const _Elem* const_iterator;

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8da1b0e5-7cf1-efdf-d931-6042e57ee532
Version Independent ID: e3ab6a82-eaf0-6122-60a0-5da45c88c042
Content: initializer_list Class
Content Source: docs/standard-library/initializer-list-class.md
Product: visual-cpp
GitHub Login: @corob-msft
Microsoft Alias: corob

@Ignac75 This is a question for the language standard committee, because the const qualifiers are in the std::initializer_list prototypes in section 18.9 of the ISO C++11 standard. An initializer_list instance is usually a temporary and may reference an internal static created by the compiler. I could be wrong, but I expect the restrictions are to support this common use and keep you from trying to modify read-only memory.


[MRG] Improve Renderer API

Fix #6760

[x] Fix bugs with sphere() and tube() for array parameter dimension
[x] Rework the documentation (better name, more informative)
[x] Use color parser to allow more formats
[x] Unify color management with _check_color() (int, str, float, ...)
[x] Rework scale for more intuitive radius alternative () (not supported by mayavi)

The meanings of scale and radius are very different. Technically, the implementation of the sphere() function of the _Renderer API either with Mayavi or PyVista use the underlying glyph reprentation which does not provide fine tuning over the radius of the sphere. So those two parameters will most likely live together with scale used as the default and when radius is given, it will set a fixed radius for the spheres.

Yes, It's good on my end. Feel free to merge.

Thanks @GuillaumeFavelier


ability to remove callbacks that are no longer needed

I need a way to remove callbacks registered with connect.agent(), connect.contact(), and any other callback based "subscriptions".

When you register a callback an event subscription object is returned. You can call unsubscribe() on the object to remove the callback.
Example:
const eventSubscription = connect.contact(function(contact) {
    const contactId = contact.getContactId();

    console.log("New contact received with ContactId:", contactId);
});

eventSubscription.unsubscribe();

Oh, that is so nice @bretticus-mc! The TypeScript types state that connect.contact() is a void method. Can this be updated? My guess is there a good number of methods that support unsubscribing, but such isn't discoverable via the TypeScript types.
https://github.com/amazon-connect/amazon-connect-streams/blob/073ac34c49f06edf1220ec03fc2353777ac8d0ce/src/index.d.ts#L84
P.S. I cannot re-open this issue. I suspect I lack permissions to do so.


Add another libvirt hint to getting-started guide

I had to tell vagrant/virsh/libvirt tools to use direct qemu
access to be able to see all information while using RHEL 7,
even though I was in the proper group.
Signed-off-by: Martin Sivak<EMAIL_ADDRESS>

Interesting. Could you please add that you need to do this on RHEL/CentOS 7?


Unable to make a group specification with doctrine association

I'm trying to create a specification to get the users within a certain usergroup. User entity has an association to Usergroup entity. My group spec:
<?php

namespace MyApp\UserBundle\Service;

use RulerZ\Spec\AbstractSpecification;

class GroupsSpec extends AbstractSpecification
{
    private $groups;

    public function __construct($groups)
    {
        $this->groups = $groups;
    }

    public function getRule()
    {
        return 'groups IN (:groups)';
    }

    public function getParameters()
    {
        return [
            'groups' => $this->groups
        ];
    }
}

This is how I use it
<?php

$this->rulerz->filterSpec($qb, new GroupsSpec($usergroups));

The issue I'm getting is:
[Semantical Error] line 0, col 65 near 'groups IN (:': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.

 It is a many-to-many relationship - does that change anything?

I already tried to write a similar specification but the relationship was just a one-to-many (and it worked).
I'll try to reproduce the problem but I don't have much time right now, it would really be awesome if you could provide me a gist or something that I can execute and have the same error.

This issue is Doctrine-related, because a simple select query with an IN where statement will break on many to many relation already. Maybe the mapping is wrong on our side. Closing the issue.


Add "eBPF for Windows v0.6.0" package installer.

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Closes microsoft/ebpf-for-windows#1650
This PR adds the microsoft/ebpf-for-windows package installer, using the latest v0.6.0 MSI release.
Microsoft Reviewers: Open in CodeFlow

@wingetbot run


issue-205 : record callback response to ES

Fixes #205.
Tied to (PR 576)[https://github.com/openBackhaul/ApplicationPattern/pull/576]

Reviewer is @vanithavalluripalli9 , please squash commits when merging.


Undefined symbol: OBJC_CLASS_$FIRApp | OBJC_CLASS$_FIRMessaging when building Xcode Project

Description
I was given an Xcode Project built in an outdated Firebase Version. So i Upgraded both my Xcode Version and my Firebase Dependencies.
When doing so I ended up with Xcode 13.4 and Firebase 10.14.0
I updated every Class in my project to be compiled by Swift5 and everything seems to work when building but these two errors.
I only import FirebaseDatabase, FirebaseAnalytics and FirebaseMessaging frameworks. I did it manually by downloading the folder from github and including them on my project. I didnt use cocoapods nor other helpers.
Reproducing the issue
Build the project and I get the error when executing FirebaseApp.configure()
Firebase SDK Version
10.14.0
Xcode Version
13.4
Installation Method
Zip
Firebase Product(s)
Analytics, Database, Messaging
Targeted Platforms
iOS
Relevant Log Output
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_FIRApp", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_FIRMessaging", referenced from:
      objc-class-ref in LoginController.o
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

I am building for simulator and I veryfied that the libraries that the project uses to build are for x86_64.

Hi @DeiMartinez, could you instead on Xcode 14.1? Firebase requires Xcode 14.1.
A few other things to check:

Is the FirebaseCore.xcframework visible in your project navigator (and added as a framework dependency in your build settings)? See the README.md in the zip archive for the integration instructions.
Is FirebaseCore imported into AppDelegate.swift?

Hey I couldn't run Xcode 14.1 on my device that's why 13.4. I got a workaround, using the Xcode Swift Package Manager the error disappears. Yeah, I had FirebaseCore, FirebaseAnalytics and FirebaseMessaging all imported into AppDelegate.swift and the error ocurred.


Partial doesn't work with inherited fields

from starlite import Partial, get
from pydantic import BaseModel

class Parent(BaseModel):
    foo: int

class Child(Parent):
    bar: int

@get("/test")
def example(obj: Partial[Child]) -> None:
    print(obj)

In the above example, Partial[Child] only accepts the field bar: Optional[int] and ignores all fields from the superclass. I couldn't find this behaviour documented anywhere so I assume this isn't intended?
Python 3.10.5 (main, Jun 23 2022, 17:14:57) [Clang 13.1.6 (clang-13<IP_ADDRESS>.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from starlite import Partial
>>> from pydantic import BaseModel
>>> class Parent(BaseModel):
...     foo: int
...
>>> class Child(Parent):
...     bar: int
...
>>> PartialChild = Partial[Child]
>>> PartialChild.__annotations__
{'bar': typing.Optional[int]}
>>>

This behaviour can also be seen above

I believe the following implementation would work:
class Partial(Generic[T]):
    _models: Dict[Type[T], Any] = {}

    def __class_getitem__(cls, item: Type[T]) -> Type[T]:
        """
        Modifies a given T subclass of BaseModel to be all optional
        """
        if not cls._models.get(item):
            field_definitions: Dict[str, Tuple[Any, None]] = {}
            for obj in item.mro():
                if issubclass(obj, BaseModel):
                    for field_name, field_type in obj.__annotations__.items():
                        # we modify the field annotations to make it optional
                        if not isinstance(field_type, GenericAlias) or type(None) not in field_type.__args__:
                            field_definitions[field_name] = (Optional[field_type], None)
                        else:
                            field_definitions[field_name] = (field_type, None)
                else:
                    break
            cls._models[item] = create_model(f"Partial{item.__name__}", **field_definitions)  # type: ignore
        return cast(Type[T], cls._models.get(item))

This implementation will traverse the class' mro and grab all annotations from parent classes until BaseModel is reached.
This does, however, change the runtime behaviour of Partial since even though the linter complains, you can currently pass a non BaseModel class into Partial:
>>> from starlite import Partial
>>> class Parent:
...     foo: int
...     bar: int
...
>>> temp = Partial[Parent]
>>> temp.__annotations__
{'foo': typing.Optional[int], 'bar': typing.Optional[int]}

Whereas, after this change the same code would simply produce {} as Parent is not a subclass of pydantic.BaseModel.
Currently the documentation for this class says "Modifies a given T subclass of BaseModel to be all optional" so the new behaviour would be correct from that perspective.

Great! Would you like to add a PR?


Add optional time lock to collateral

User Story
As an exchange implementing MARKET Protocol it would be helpful to ensure collateral that is deposited into the collateral for trading is locked for withdraw longer than the life of a given order.  The user could possibly request for early withdraw of the time-locked collateral, and some elapsed number of blocks could then release the collateral early back to the user.  This delay in withdraw would allow for the exchange to cancel any outstanding orders prior to them becoming unfillable / invalid.
Why Is this Needed?
Summary: Possibly better UX all around if the order book is kept in a more valid state.
Description
Type: Feature
Solution
Summary: Add timelock to user deposited collateral (that isn't locked for an open position), and ability to request early unlock.

Issue moved to MARKETProtocol/smartcontracts #2 via ZenHub

closed as no longer relevant with new architecture.


Documentation on installation doc for aws

Description
Below items will be covered as part of wiki documentation:

Installation of AWS

Multi step (Provision+deployment)

Acceptance Criteria
The WIki page should be ready along with KT given to the documentation team

Document : https://progresssoftware.sharepoint.com/:w:/s/ChefCoreC/EcGKKQd8emJGhjNnb4HGGKcB-zuSr4B54vXFmq_raSBTgg?e=ypKyWz


where I will get less or scss file

do you have scss or less file for that theme for customization theme a little

The SCSS for this theme isn't currently available... but I think it could potentially be a good idea to include SCSS and use Hugo Extended (Pipes) to concatenate and minify the SCSS at build time. It could combine auto-complete.css, featherlight.min.css, hugo-theme.css, perfect-scrollbar.min.css etc.


What is the use case for multiple parameters to control parallel processing?

When I parallelize my BayesSearchCV, I always end up making sure n_points is the same as the number of cores I'm using, to get the most out of my parallel processing.
Is there a reason why you would ever not want to do this? If not, would it not make sense to omit the n_points param altogether and just set it internally to whatever the number of jobs is? It can be confusing for new users to get their heads around the multiple but similar parameters of n_points and n_iter without having to look at the code.
Furthermore, I've also recently started setting more parameters in optimizer_kwargs to make sure my optimiser is also using all the cores available. Could it be sensible default behaviour to just pass the BayesSearchCV n_jobs to the optimizer unless otherwise specified?

n_points controls the beam search width. Each computed n_points batch "eats into" total n_iter. It's not evident that n_points = cpu_count should produce the optimal results, only that n_iter will be most rapidly expended.


Serialization/deserialization of h5 model failed with custom initializer (TF 2.13)

System information.

Have I written custom code (as opposed to using a stock example script provided in Keras): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 22.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.13.0
Python version: 3.10

Describe the problem.
When saving and loading a model in h5 format with a custom kernel initializer, loading fails with TypeError: Error when deserializing class. Exception encountered: Unknown initializer. The same code works correctly in TF 2.12.
The same code where the model is saved as .keras format works well both in TF 2.12 and 2.13. I didn't check with other type of custom objects, e.g. Constraint or Regularizer.
Describe the current behavior.
Loading a h5 model containing a custom kernel initializer fails with the following error:
TypeError: Error when deserializing class 'Dense' using config=<ocnfig dict here>
Exception encountered: Unknown initializer: <initializer name>

Note that a h5 model saved with TF 2.12 is correctly loaded in TF 2.13. However, a model saved in TF 2.13 cannot be loaded in neither TF 2.12 nor TF 2.13. The serialization in TF 2.13 might be the root of the problem. The deserialization is only a consequence.
Describe the expected behavior.
I expect that the saved model in h5 format can be loaded correctly even with a custom initializer registered in Keras serializable objects.
Contributing

Do you want to contribute a PR? (yes/no): no

Standalone code to reproduce the issue.
The following standalone code fails in TF 2.13 but works in previous TF versions.
The custom initializer code is taken from the Keras documentation.
import tensorflow as tf

@tf.keras.saving.register_keras_serializable()
class ExampleRandomNormal(tf.keras.initializers.Initializer):
    def __init__(self, mean=0.0, stddev=1.0):
        self.mean = mean
        self.stddev = stddev

    def __call__(self, shape, dtype=None, **kwargs):
        return tf.random.normal(shape, mean=self.mean, stddev=self.stddev, dtype=dtype)

    def get_config(self):  # To support serialization
        return {"mean": self.mean, "stddev": self.stddev}

# Create model with custom kernel initializer
lay = tf.keras.layers.Dense(
    10, kernel_initializer=ExampleRandomNormal(), input_shape=(32,)
)
model = tf.keras.Sequential([lay])

# Save model to h5 format
model_path = "model.h5"  # with "model.keras", it works
model.save(model_path)

# Load h5 model => fail "TypeError: Error when deserializing class Dense using config"
# Exception encountered: Unknown initializer
model2 = tf.keras.models.load_model(model_path)

@cofri,
As mentioned above it was an issue with tensorflow v2.13, but whereas when I tried to execute the code on tf-nightly by import keras_core as keras the code was executed without any issue/error. Kindly find the gist of it here.
Also please notice that  UserWarning: You are saving your model as an HDF5 file via model.save(). This file format is considered legacy. We recommend using instead the native Keras format, e.g. model.save('my_model.keras').
Thank you!


proxyValidation when a safe is being loaded is broken

Trying to load an EOA will fail because masterCopy is invalid but will not fail is proxyFactory has a different bytecode to the one supported by gnosis.
Any contract pointing to a valid masterCopy could be loaded as a safe.
The problem seems to be here: https://github.com/gnosis/safe-react/blob/issue-1578/src/logic/contracts/safeContracts.ts#L142.
const metaData = 'a165' is never found and bytecode.substring always` returns -1.

@tschubotz this one should be closed, we already fixed it here: https://github.com/gnosis/safe-react/pull/1636.

Cool, closing this.
Please close a ticket yourself in case it's fixed. I'll reopen in case I object. I think that would be a better process :)


Explicitly state that file needs to be named ".runsettings"

@vritant24 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off Thanks!


index: build: use detail=True if not localfs

This significantly speeds up entry building on slow filesystems.
Part of https://github.com/iterative/dvc/issues/10059

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (7ca63e6) 63.79% compared to head (0c84caf) 63.72%.

Files
Patch %
Lines

src/dvc_data/index/build.py
62.50%
2 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #478      +/-   ##
==========================================
- Coverage   63.79%   63.72%   -0.08%
==========================================
  Files          61       61
  Lines        4116     4119       +3
  Branches      703      551     -152
==========================================
- Hits         2626     2625       -1
- Misses       1345     1351       +6
+ Partials      145      143       -2

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


Installation errors when trying to make on parser-data branch

I am trying to use the parser-data branch, but am getting installation errors when running the make command. I've attached the log, but the first place it seems to error is here:
trie_search.c:777:14: error: conflicting types for 'cstring_array_get_phrase'
I can see in GIT that there hasn't been any changes to trie_search.c and trie_search.h for some time, so suspect that the problem is the way in which we are installing; are there some flags that should be provided to get this to install?
make.txt

parser-data is my development branch and most of the recent work has been on the Python side to construct a larger/better training set for libpostal. The changes to the C code are in progress, and some are uncommitted.
Recommending that people use the new model files for the moment, not parser-data itself.
There is an intermediate version of the new model that is backward compatible with master. That can be found at: https://libpostal.s3.amazonaws.com/mapzen_sample/parser_full.tar.gz. To use it (doesn't require switching branches or anything, it's the same model in master trained on more/better data), just unpack the contents of the tarball into $DATA_DIR/libpostal/address_parser where $DATA_DIR is whatever you passed in during configure, default is /usr/local/share.

Thanks, I'll try using the new model files!


has no effect triggers a warning with no suitable alternative.

Initial checklist

[ ] I read the support docs
[ ] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Problem
The following sentence:
If the [`formData`](#formData-true) option is set to false, `metaFields` has no effect.

Produces the following result:
warning   Replace `effect` with `choose`, `pick`

None of the suggested alternative works here.
Solution
Either provide a different alternative, or accept has no effect as a valid expression.
Alternatives
Add 'effect' to the ignore list.

It’s a pretty simple module, there is no awareness of context, so accepting one word in certain combinations is not possible.
Some alternatives:

does nothing or does not apply (this matches your context but can’t be added to suggestions)
has no result (result could be added to the list of suggestions)
`metaFields` does nothing/not apply when `formData` is set to `false` (rewrite sentence)

Maybe we could do something similar to benefit to provide more granular suggestion based on a combination of words: https://github.com/retextjs/retext-simplify/blob/60e019306e3813af87bdee28ee4b632fce5ee46a/patterns.js#L194-L199
I haven't tried it, but maybe something like that would work:
  'has no effect': { replace: ['does nothing', 'does not apply'] },

+1 for adding result to the list of suggestions, do you want me to open a PR?
In any case, thanks for your helpful suggestions – and for this plugin, it's quite helpful for someone like me who is not English native speaker.

oh that’s interesting, I don’t remember that benefit from technique.
Yes, PR would be great! With either or both of the 'has no effect' and result in effect cases?

In any case, thanks for your helpful suggestions – and for this plugin, it's quite helpful for someone like me who is not English native speaker.

Good to hear, thanks! :+1:


Feature: Multiple Cursors

A feature we'd love to have (that actually works pretty well in VSCode + Vim plugins!) is multiple cursor support. As @CrossR mentioned in a discussion - you can physically do most of the operations with macros or similar - but the instant feedback you get with multiple cursors makes it much easier to check what you are doing and iterate.
This 'instant feedback' is a key value of our project, and makes a lot of sense to include.
We're thinking about possible approaches to this. It likely won't be in for our 'MVP' release, but certainly something we'll investigate post-MVP.
Some possibilities:
'User space': Onivim 2
I considered implementing a concept of this in 'user space' in Oni1/2 - essentially tracking multiple cursor positions, and then 'applying' key commands to each of those positions. In effect, the logic would be (in pseudocode)
/* Sort cursors by position, and then work with them in _reverse_ order */
cursors = cursors |> sort |> reverse
foreach cursor in cursors
   nvim_set_cursor cursor.position
   nvim_input key

The reversal of ordering is important, because applying edits at 'earlier' positions will impact the cursor positions of all other cursors in the line (for example, inserting 'a' means either we need to move all our other cursor positions by 1 character, otherwise we'll insert at the wrong spot).
I thought about this mainly for insert mode, but also toyed with normal mode. The challenging issue I was thinking about was the case where you might have multiple cursors on adjacent lines:
...
|abc
|def
|ghi
...

And you issue a command like d3k - what is the expected output? Do some cursors get 'consumed' by that operation? I hadn't thought through those cases, but perhaps some of the other strategies would be helpful
'User space': Multi-cursor vim plugins
https://github.com/mg979/vim-visual-multi looks like a very promising plugin! Perhaps we could include / bundle this as a way to get similar functionality, without needing anything in Onivim 2's layer (thanks @jordwalke)
In Neovim directly
It sounds like there is on-going work in core Neovim, tracked by this issue (and following from the inccommand work by @justinmk):
https://github.com/neovim/neovim/issues/7257

It sounds like there is on-going work in core Neovim, tracked by this issue (and following from the inccommand work by @justinmk):

Yes. My main goal for the summer is to finish that. But given how long it's taken me I wouldn't blame anyone for not waiting :)

A few open questions:

What should the gesture be for creating multiple cursors? In VSCode, I believe it is 'ctrl+click'. In the Vim world, having a visual selection and pressing I is sort of like having multiple cursors.
What should the correct behavior be in normal mode, when deleting / modifying ranges that overlap multiple cursors?

Just a suggestion,
maybe we can get a way to "filter out" selections once they were made like Kakoune dose? this functionality can make multi cursor as useful as G and S combined.

Regarding the multiple cursors without mouse, check out atoms vim plugin, it has a feature Called occurrences: https://github.com/t9md/atom-vim-mode-plus/wiki/OccurrenceModifier
It's probably my most used feature day to day, apart from moving the cursor around.
There is also a YouTube video https://youtu.be/01yHgi59ASg
I really put in words how well that works in practice, I use that for all kind of refactors, from simple renames to things like documenting route handlers or taking a JS module exporting multiple function and turning it into a module that exports a class with all those functions.

A few open questions:

What should the gesture be for creating multiple cursors? In VSCode, I believe it is 'ctrl+click'. In the Vim world, having a visual selection and pressing I is sort of like having multiple cursors.
What should the correct behavior be in normal mode, when deleting / modifying ranges that overlap multiple cursors?

Perhaps focusing on insert-mode first for multiple cursors would be ideal, and then we could branch out from there as we solidify the requirements for normal mode.

I love the way terryma/vim-multiple-cursors does it:
normal mode / visual mode

start:          <C-n> start multicursor and add a virtual cursor + selection on the match

next:         <C-n> add a new virtual cursor + selection on the next match
skip:         <C-x> skip the next match
prev:         <C-p> remove current virtual cursor + selection and go back on previous match

select all:     <A-n> start multicursor and directly select all matches

visual mode when multiple lines are selected

start: <C-n> add virtual cursors on each line

This would be awesome
Neither the vs code vim plugin nor the ideavim one work properly with multi cursor. Having a good implementation in oni would definitely be an advantage and might convince people to prefer it over the vim emulation plugins.


Research on how to setup package to it can be installed

So far I’ve read through the information we were given on installing the package. Today or tomorrow I’ll install a test package to make sure I know how to do this with our real project once we’ve finished it.

Sounds good

I've had some trouble with the testing of the upload so I have had to start again with a new package. I will let you all know once I have got it to work

okay cool

I’ve spent all of labs trying to work out how to do this today. I’m on the last step but I’m getting an error so I’ll stop for today and try again over the weekend.

Please can everyone let me know when the package is finished so I can upload it as I could take a bit of time

I've made a new package so I will retry uploading it onto test PYPI. I'll let you all know how its going.

I got it to work!!!
We can now make a link that takes you to a test pypi page which tells you how to install the package through a link (https://test.pypi.org/project/example-package-elizabethb/0.0.1/ - for the example one).
We can add this to the README so people know how to access the information