Add HomeKit Secure Video & HomeKit Wi-Fi Router support

Currently does not appear to be working in the Home app, but it makes the options show up.
Feedback welcomed.

The datastream part ist pretty much finished. In the same branch is currently also the Siri remote part in development, which is still not quite finished.
Your PR currently only includes Service and characteristics definitions. The whole logic is still missing. Hence the question if you have any information where to start digging for the exact logic.

The datastream part ist pretty much finished. In the same branch is currently also the Siri remote part in development, which is still not quite finished.
Your PR currently only includes Service and characteristics definitions. The whole logic is still missing. Hence the question if you have any information where to start digging for the exact logic

I didn‘t research that topic at all, yet. Where did you get the information. I hear people talk about Datastreams needed for that feature?
Got a working implementation of that in my fork, so I would be Interested how that plays in

I'm not sure. Could we merge the two and see what it looks like, @Supereg?

I got the information from the file in /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Versions/A/Resources/plain-metadata.config. Unfortunately, I don't have any further information from analysing the other files. You may very well be right about the data streams given that the camera is only streaming when I look at it when it should be streaming all of the time if the home Hub is going to be analysing the data.
There is also a HomeAI.framework in the same area of the macOS filesystem. Looking in there it appears to include support for detecting people, animals and vehicles. Looking here may be able to help you.
Here are some screenshots I took:

Thanks, maybe I can dig a little deeper if I got any spare time

I have also added the HomeKit Wi-Fi Routers. These do not work currently and cannot even be paired. I am going to assume that almost certainly something more is required here.

Is the wifi-satellite service also related to the HomeKit router stuff?
Also are the tunnel and cloud-relay services new? Or just not added to HAP-NodeJS. Also anybody has an idea of the purpose of those two?

Yeah wifi-satellite is the extension node. Like range extender in Netgear Orbi's model.
tunnel and cloud-relay are not new, and both are dead as of iOS 13 😝 Tunnel service was originally created to allow accessory manufacturer to create "bridge" accessory to extend range of BLE accessory. Cloud Relay is to allow accessory manufacturer to support controlling accessory remotely without a home hub (talk directly to iCloud/IDS). Both were deprecated due to lack of adoption.

So I assume products like the Eve Extend do not use the outdated tunnel service? 😅
Thanks for the clarification. Is could-relay equivalent to the 'HAP over iCloud' stuff (which requires MFi authentication and so on)? The relay related code in HAP-NodeJS was meant to support cloud-relay service some time ago I guess?

@Supereg Initially they had a product implemented that, but since Apple never allowed them to ship that (because the tunnel stuff is broken at fundamental level after HAP-BLE 2.0), I believe they switched their in-house solution to have range extender take over HAP part completely...
Yeah it's the HAP over iCloud. There is a private implementation of that based on this repo, but since it requires MFi, it was never available to public 😉

Yeah I still remember that.
Sounds pretty interesting 😅 but probably useless without the ability to compute the MFi challenge. Why does Apple always need to keep the interesting tidbits private 😂

@codyc1515 you did not have any chance to pair the wifi router didn't you? It seems like the wifi stuff should be implemented 🤔 But idk, maybe that are only leftover what I'm seeing here

Agree that it’s disappointing that HAP over iCloud was never implemented. I have not put the wifi satellite in here yet but can add it shortly. The wifi router will not pair. I suspect it’s looking for a specific tlv8 response which I do not know how to provide as yet (there are no routers in public).

Do you checked the log output after which step the pairing fails?
On the other hand, there are probably other things to do with greater priority than routers 😅
Should we maybe create dedicated issues for secure video and routers which discuss the reverse engineering process of both?

Some more screenshots.

@codyc1515 I can't add it to the home app

How did you do it @codyc1515

This is the log from when I try to pair. Looks like the Home app doesn't like the Accessory for some reason.
pi@raspi4:~/HAP-NodeJS $ sudo DEBUG=* ts-node --files src/Core.ts
HAP-NodeJS starting...
  AccessoryLoader Parsing accessory: WiFi-Router_accessory.ts +0ms
  EventedHTTPServer Server listening on port 51926 +358ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] New connection from client +50s
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP server listening on port 42557 +2ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP request: /pair-setup +29ms
  HAPServer [FA:3C:ED:5A:1A:A1] HAP Request: POST /pair-setup +1ms
  HAPServer [FA:3C:ED:5A:1A:A1] Pair step 1/5 +10ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP Response is finished +469ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP request: /pair-setup +2s
  HAPServer [FA:3C:ED:5A:1A:A1] HAP Request: POST /pair-setup +1ms
  HAPServer [FA:3C:ED:5A:1A:A1] Pair step 2/5 +2ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP Response is finished +372ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP request: /pair-setup +28ms
  HAPServer [FA:3C:ED:5A:1A:A1] HAP Request: POST /pair-setup +0ms
  HAPServer [FA:3C:ED:5A:1A:A1] Pair step 3/5 +1ms
  HAPServer [FA:3C:ED:5A:1A:A1] Pair step 4/5 +8ms
  HAPServer [FA:3C:ED:5A:1A:A1] Pair step 5/5 +121ms
  Accessory [Wi-Fi Router] Paired with client AA5731A6-EAC2-4B9A-98B9-5BB8263BF921 +35ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP Response is finished +4ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] Client connection closed +171ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP connection was closed +1ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP server was closed +1ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] New connection from client +5ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP server listening on port 35793 +0ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +2ms
  HAPServer [FA:3C:ED:5A:1A:A1] HAP Request: POST /pair-verify +0ms
  HAPServer [FA:3C:ED:5A:1A:A1] Pair verify step 1/2 +1ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP Response is finished +49ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +27ms
  HAPServer [FA:3C:ED:5A:1A:A1] HAP Request: POST /pair-verify +0ms
  HAPServer [FA:3C:ED:5A:1A:A1] Pair verify step 2/2 +1ms
  HAPServer [FA:3C:ED:5A:1A:A1] Client AA5731A6-EAC2-4B9A-98B9-5BB8263BF921 verification complete +53ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP Response is finished +2ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP request: /accessories +44ms
  HAPServer [FA:3C:ED:5A:1A:A1] HAP Request: GET /accessories +0ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP Response is finished +4ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP request: /pairings +169ms
  HAPServer [FA:3C:ED:5A:1A:A1] HAP Request: POST /pairings +1ms
  HAPServer [FA:3C:ED:5A:1A:A1] Pairings: successfully executed REMOVE_PAIRING +5ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] Client connection closed +13ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP connection was closed +1ms
  EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP server was closed +1ms

Here is the plugin I made, based on the Lightbulb accessory:
import {
  Accessory,
  AccessoryEventTypes,
  Characteristic,
  CharacteristicEventTypes, CharacteristicSetCallback,
  CharacteristicValue,
  NodeCallback,
  Service,
  uuid,
  VoidCallback
} from '..';

class wifiControllerClass {

  name: CharacteristicValue = "Wi-Fi Router"; //name of accessory
  pincode: CharacteristicValue = "031-45-154";
  username: CharacteristicValue = "FA:3C:ED:5A:1A:A1"; // MAC like address used by HomeKit to differentiate accessories.
  manufacturer: CharacteristicValue = "HAP-NodeJS"; //manufacturer (optional)
  model: CharacteristicValue = "v1.0"; //model (optional)
  serialNumber: CharacteristicValue = "A12S345KGB"; //serial number (optional)

  power: CharacteristicValue = false; //current power status

  outputLogs = true; //output logs

  setPower(status: CharacteristicValue) { //set power of accessory
    if(this.outputLogs) console.log("Turning the '%s' %s", this.name, status ? "on" : "off");
    this.power = status;
  }

  getPower() { //get power of accessory
    if(this.outputLogs) console.log("'%s' is %s.", this.name, this.power ? "on" : "off");
    return this.power;
  }

  identify() { //identify the accessory
    if(this.outputLogs) console.log("Identify the '%s'", this.name);
  }
}

const wifiController = new wifiControllerClass();

var lightUUID = uuid.generate('hap-nodejs:accessories:light' + wifiController.name);

var wifiAccessory = exports.accessory = new Accessory(wifiController.name as string, lightUUID);

// @ts-ignore
wifiAccessory.username = wifiController.username;
// @ts-ignore
wifiAccessory.pincode = wifiController.pincode;

wifiAccessory
  .getService(Service.AccessoryInformation)!
    .setCharacteristic(Characteristic.Manufacturer, wifiController.manufacturer)
    .setCharacteristic(Characteristic.Model, wifiController.model)
    .setCharacteristic(Characteristic.SerialNumber, wifiController.serialNumber);

wifiAccessory.on(AccessoryEventTypes.IDENTIFY, (paired: boolean, callback: VoidCallback) => {
  wifiController.identify();
  callback();
});

wifiAccessory
  .addService(Service.WiFiRouter, wifiController.name)
  .getCharacteristic(Characteristic.RouterStatus)!
  .on(CharacteristicEventTypes.SET, (value: CharacteristicValue, callback: CharacteristicSetCallback) => {
    wifiController.setPower(value);
    callback();
  })
  .on(CharacteristicEventTypes.GET, (callback: NodeCallback<CharacteristicValue>) => {
    callback(null, wifiController.getPower());
  });

This is what I did before, but I can't add it to the home app @codyc1515

@hassbian-ABC Yes, it currently does not work & I am not sure why as there is no reference device or documentation.

Okay so the current state is, that HomeKit pairs but after executing the initial GET /accessories it automatically unpairs itself.
What I also found out that in order to add a HomeKit router to your home you need to have some sort of home hub configured. Otherwise the pairing process will be aborted.
I think what happens is, that HAP expects some sort of default configuration the the GET /accessories which are obviously unknown/not set. So I'm unsure what the best way is to proceed at this point. Besides that, I'm much more interested in Secure Video than routers 😅

Okay i found the problem looking in the console while pairing. You simply didn't set the permissions correctly for the characteristics. Correcting the permissions it pairs just fine.

Some of them were correct. I listed all newly added characteristics with their permission below. Would be great if you could update the PR.
Camera:

RecordingAudioActive: READ, WRITE, NOTIFY, TIMED_WRITE
SupportedCameraRecordingConfiguration: READ, NOTIFY
SupportedVideoRecordingConfiguration: READ, NOTIFY
SupportedAudioRecordingConfiguration: READ, NOTIFY
SelectedCameraRecordingConfiguration: READ, WRITE; NOTIFY
CameraOperatingModeIndicator: READ, WRITE, NOTIFY, TIMED_WRITE
EventSnapshotsActive: READ, WRITE, NOTIFY, TIMED_WRITE
HomeKitCameraActive: READ, WRITE, NOTIFY, TIMED_WRITE
ManuallyDisabled: READ, NOTIFY
ThirdPartyCameraActive: READ, NOTIFY
PeriodicSnapshotsActive: READ, WRITE, NOTIFY, TIMED_WRITE

Router:

NetworkClientControl: READ, WRITE, NOTIFY, TIMED_WRITE, WRITE_RESPONSE,
NetworkClientStatusControl: READ, WRITE, WRITE_RESPONSE
RouterStatus: READ, NOTIFY
SupportedRouterConfiguration: READ
WANConfigurationList: READ, NOTIFY
WANStatusList: READ, NOTIFY
ManagedNetworkEnable: READ, WRITE, NOTIFY, TIMED_WRITE
NetworkAccessViolationControl: READ, WRITE, NOTIFY, TIMED_WRITE, WRITE_RESPONSE

What I found out so far:

You need to have a home hub to pair a router accessory
The name of the accessory should match the WLAN SSID

I have also added some bug fixes to this commit which are not related to Secure Video or Wi-Fi Router. I'm not sure how to split these out unfortunately.

I also don't know how the TLV8 structures work exactly. I have made the permissions changes and now have the accessory paired. Here are some screenshots (thank you to @Supereg !):

I probably should investigate this while having some accessories paired in my test home 😅 Didn't know you get the connected accessories displayed in the router overview. Thanks for the hint 🙃
Im also unsure what exact structure the tlv8 has. Length and exact meaning of some values is pretty problematic. But should I get access to an HAP enabled router I think we could solve this with the information we get from the binaries.

Cool. Thank you. Would you please be able to take a moment to explain how you worked out the TLV8 structure and the permissions issues? You mentioned about a log somewhere?

Regarding the permission stuff: I just opened the console app on macOS and viewed the log output of my iPhone of the homed process while trying to pair the router. There I encountered a warning message that HomeKit expected a TIMED_WRITE permission on some characteristic. That gave me the clue.
The permission itself stands in the already mentioned plist file. It's encoded in the Properties key for every characteristic. The permissions are encoded as bit masks in a single number. Under Root.PlistDictionary.HAP.Properties are all the possible permissions listed with their designated bit position.

Going to close this pull request and make some separate pull requests as there is too much in here.

https://blog.logitech.com/2019/11/14/circle-2-now-works-with-apple-homekit-secure-video/

@Supereg Any new info on tlv8?

This is a very interessting discussion and I have tried to implement a custom node hap based router in the past, but without success.
Unfortunately I did not find a clue on how to solve the whole tlv8 situation to be actually able to control the network permissions of all of my IoT devices.
Are there any updates or documentation on this topic and how to use it?
Thank you very much!


'NoneType' object has no attribute 'text' errror

Describe the bug
Whenever try to open any favorites or browse the episode list, it will prompt error.
To Reproduce
Steps to reproduce the behavior:

Go to Drama
Click on List of drama and error will prompt

Log file
A link to the log file.
KodiLog.txt

Also seeing that on a Kodi 21.0 / Win x64 client.  "NoneType" object means the script was expecting to get a value (probably key/value from a dict) but whatever was supposed to create the dict didn't for some reason.  Not enough being logged in the addon to tell more.

What am I supposed to provide to help solve this please? Even when I try on my pc, i am still getting the same error.

I'm also getting this error as well (for Kodi 21.1 on Android). None of the addon categories (Search Drama/Star, Recently... X) return any results, favorited shows return no episodes. Originally was on Kodi 19.5 and thought I'd try an update to see if that would fix it but no change.
Here's a snippet from the log file:
2024-11-12 13:31:57.329 T:24431   debug <general>: ResolveURL: No Settings Update Needed
2024-11-12 13:31:59.268 T:24431   debug<EMAIL_ADDRESS>trying to load setting definitions from old format...
2024-11-12 13:31:59.298 T:24431    info <general>: [script.module.xbmcext] Routing "/drama-detail/queen-cheorin"
2024-11-12 13:31:59.311 T:24431    info <general>: [script.module.xbmcext] Calling "episode_list"
2024-11-12 13:32:01.433 T:24431 critical <general>: [plugin.video.dramacool] 'NoneType' object has no attribute 'text'
2024-11-12 13:32:01.437 T:24431   debug <general>: CPythonInvoker(41, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.dramacool/dramacool/addon.py): script successfully run
2024-11-12 13:32:01.438 T:24431   debug <general>: onExecutionDone(41, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.dramacool/dramacool/addon.py)

Perhaps the website has changed. But if the workaround is working then all is good. I’m busy with other project and will probably rewrite the code when I have time.

I did a clean install of Kodi 21.0 then install Dramacool from the repository.lime and that works.  Looking through things I saw that resolveurl had an update the other day.  So you might check that you have 5.1.152 installed.  Not sure that's a fix, but just a guess at this point.  I did a file compare between the working Kodi/Dramacool and my primary Kodi and updated resolveurl also deleted my userdata addon_data for Dramacool and will test later.

I'm also getting this error as well (for Kodi 21.1 on Android). None of the addon categories (Search Drama/Star, Recently... X) return any results, favorited shows return no episodes. Originally was on Kodi 19.5 and thought I'd try an update to see if that would fix it but no change.
Here's a snippet from the log file:
2024-11-12 13:31:57.329 T:24431   debug <general>: ResolveURL: No Settings Update Needed
2024-11-12 13:31:59.268 T:24431   debug<EMAIL_ADDRESS>trying to load setting definitions from old format...
2024-11-12 13:31:59.298 T:24431    info <general>: [script.module.xbmcext] Routing "/drama-detail/queen-cheorin"
2024-11-12 13:31:59.311 T:24431    info <general>: [script.module.xbmcext] Calling "episode_list"
2024-11-12 13:32:01.433 T:24431 critical <general>: [plugin.video.dramacool] 'NoneType' object has no attribute 'text'
2024-11-12 13:32:01.437 T:24431   debug <general>: CPythonInvoker(41, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.dramacool/dramacool/addon.py): script successfully run
2024-11-12 13:32:01.438 T:24431   debug <general>: onExecutionDone(41, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.dramacool/dramacool/addon.py)

I found my solution by changing the domain to asianc.co

How do you change the domain? Is this in the addon somewhere or do you have to edit the script/code?

These 2 domains are working:
Make a change in the addon settings.
domain1 : runasian.pro
domain2 : asianc.co
Or if you're a coder and want to update the settings.xml file to default the 2 working domains...
navigate to the plugin folder (kodi > addons > plugin.video.dramacool > resources > settings.xml) and modify and save the settings.xml file as shown below.
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <settings>     <category label="33800">         <setting label="33801" type="text" id="domain1" default="runasian.pro"/>         <setting label="33802" type="text" id="domain2" default="asianc.co"/>     </category> </settings>


Update smart-scroll to 4.2

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Should be 4.2.1. closing as it's easier to resubmit with cask-repair.


PR

Please, rebase your commits :package: and be more descriptive

I pick your changes. Thanks @Alejandro-Bizneo  :heart:

Closing this one


Mamba only officially supports installing into the base environment. See docs for details: https://mamba.readthedocs.io/en/latest/installation.html

          Mamba only officially supports installing into the base environment. See docs for details: https://mamba.readthedocs.io/en/latest/installation.html

Using mamba create also speeds up the env creation process anyways.
Originally posted by @exhaustin in https://github.com/facebookresearch/home-robot/pull/36#discussion_r1110175351

Should be resolved by #58  - although really we don't need install instructions here?


HOTFIX: Fix Security Shell Gun being uncraftable.

About the PR
Add the sec shell gun to the lathe list since I forgor.
Why / Balance
Because I forgor and it should already be there.
Technical details
No
Media
No
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Changelog
No CL no Fun.

WTF is this diff?

WTF is this diff?

I think you wrote the fix on the master branch instead of stable, so you are also pushing all as-yet-unmerged commits from master onto stable


Monocular 3D Detection FCOS3D Demo Failure due to size mismatch for neck.fpn_convs.3.conv.weight

Describe the bug
I am using CUDA 11.1 on Ubunu 20.04 and docker:
docker run --gpus all --shm-size=8g -it mmdetection3d
Reproduction
Downloaded the finetuned model from here: https://download.openmmlab.com/mmdetection3d/v0.1.0_models/fcos3d/fcos3d_r101_caffe_fpn_gn-head_dcn_2x8_1x_nus-mono3d_finetune/fcos3d_r101_caffe_fpn_gn-head_dcn_2x8_1x_nus-mono3d_finetune_20210427_091419-35aaaad0.pth
And followed the demo here https://mmdetection3d.readthedocs.io/en/latest/demo.html#monocular-3d-detection:
root@d5a18d54d399:/mmdetection3d# python demo/mono_det_demo.py demo/data/nuscenes/n015-2018-07-24-11-22-45+0800__CAM_BACK__1532402927637525.jpg demo/data/nuscenes/n015-2018-07-24-11-22-45+0800__CAM_BACK__1532402927637525_mono3d.coco.json configs/fcos3d/fcos3d_r101_caffe_fpn_gn-head_dcn_2x8_1x_nus-mono3d_finetune.py checkpoints/fcos3d_r101_caffe_fpn_gn-head_dcn_2x8_1x_nus-mono3d_finetune_20210427_091419-35aaaad0.pth

/opt/conda/lib/python3.7/site-packages/mmcv/cnn/bricks/conv_module.py:107: UserWarning: ConvModule has norm and bias at the same time
  warnings.warn('ConvModule has norm and bias at the same time')
Use load_from_local loader
The model and loaded state dict do not match exactly

size mismatch for neck.fpn_convs.3.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 2048, 3, 3]).

Would be very grateful for assistance, as this is my first time using the repo and thought the demo would be a good place to start.  Am I doing something wrong?

Thank you for your comment. We didn't see such issue in an older version of mmdet3d (say, v0.14.0). However, mmdet3d v0.15.0 does have such issue. @xiliu8006 is looking into it.
Update: I have run the demo and also encountered this warning. But the saved visualization result is the same as previous. Maybe this issue won't affect FCOS3D's output. So I think you can still use the codebase without bugs.

@xiliu8006  please could you confirm whether this warning can safely be ignored? (Would be reassuring as it sounds like maybe a mismatch in the default layer dimensions versus that the model was trained at, which could lead to inconsistencies)

OK, I will check it as soon as possible, I am sorry for the delayed response.

@xiliu8006 please could you confirm whether this warning can safely be ignored? (Would be reassuring as it sounds like maybe a mismatch in the default layer dimensions versus that the model was trained at, which could lead to inconsistencies)

Thanks for your comments, it is a bug, because there is a [bc-breaking] in mmdet

Then why the model output is the same? Maybe FCOS3D doesn't use this layer in producing output?

Then why the model output is the same? Maybe FCOS3D doesn't use this layer in producing output?

The output is not same, if you run the tools/dist_test.sh, you will find the map is 22.2 (the right map is 29.9).

OK, maybe demo is a special case :)


build(make): bump version to 0.5.0

Co-authored-by: orionji<EMAIL_ADDRESS>

Codecov Report
Base: 90.48% // Head: 90.48% // No change to project coverage :thumbsup:

Coverage data is based on head (0bd76af) compared to base (9babf83).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #54   +/-   ##
=======================================
  Coverage   90.48%   90.48%
=======================================
  Files          33       33
  Lines        2469     2469
=======================================
  Hits         2234     2234
  Misses        160      160
  Partials       75       75

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


connpool  add MaxRequestsPerConn

Issues associated with this PR
1681
Solutions
You should show your solutions about the issues in your PR, including the overall solutions, details and the changes. At this time, Chinese is allowed to describe these.
UT result
Unit Test is needed if the code is changed, your unit test should cover boundary cases, corner cases, and some exceptional cases. And you need to show the UT result.
Benchmark
If your code involves the processing of every request, you should give the Benchmark Result.
Code Style

Make sure Goimports has run
Show Golint result

https://github.com/mosn/mosn/blob/7609947746ede8d48454a13ac48d62b339f98f77/pkg/configmanager/parser.go#L78
这个也要看看怎么处理，需要向前兼容逻辑


Kali Linux - Insomnia 5.16 / 5.16.1 client start issue

Hi there,
Got an issue with Insomnia REST client(5.16 until 5.16.1) as the app does not start after an upgrade or a fresh install.
Reproduction:
Have installed Insomnia REST client with any Kali Linux 2018, fully patched. Try to launch it. Nothing happens.
Downgrade the client to a previous version like 5.15 and everything goes back to normal.

Insomnia Version: 5.16 and 5.16.1
Operating System: Kali Linux(a Debian Based distro)

[Question] – How do I fix this?
Cheers.

Can you try launching it from the terminal and see if there are any errors?

Yep. Here's the output:

Oh I've seen that before. I just fixed this yesterday but thought it was only present in the AppImage build.
I just uploaded a fixed deb to the latest GitHub release. For now, you can download the manually here https://github.com/getinsomnia/insomnia/releases/download/v5.16.1/insomnia_5.16.1_amd64.deb
Let me know if that works for you 😄

It worked like a charm :+1:  Much appreciated.

Woo! 😄


harbor 1.2.0rc1 fails to install on both rhel 7.3 and 7.4

If you are reporting a problem, please make sure the following information are provided:
1)Version of docker engine and docker-compose.
rhel 7.4
Docker version 17.06.1-ce, build 874a737
docker-compose version 1.9.0dev, build f5ad3e7
harbor 1.2.0rc1

2)Config files of harbor, you can get them by packaging "harbor.cfg" and files in the same directory, including subdirectory.
located at: https://gist.github.com/8f6be32e626e6e59c4a430eb98f492f3
3)Log files, you can get them by package the /var/log/harbor/ .
located at: https://gist.github.com/828d362973e1b791c0c8f8512b08fbb9
Clearing the configuration file: ./common/config/nginx/cert/local.net.key
Clearing the configuration file: ./common/config/nginx/cert/local.net.crt
Clearing the configuration file: ./common/config/nginx/nginx.conf
Clearing the configuration file: ./common/config/adminserver/env
Clearing the configuration file: ./common/config/ui/env
Clearing the configuration file: ./common/config/registry/config.yml
Clearing the configuration file: ./common/config/db/env
Clearing the configuration file: ./common/config/jobservice/env
Generated and saved secret to file: /data/secretkey
Generated configuration file: ./common/config/nginx/nginx.conf
Generated configuration file: ./common/config/adminserver/env
Generated configuration file: ./common/config/ui/env
Generated configuration file: ./common/config/registry/config.yml
Generated configuration file: ./common/config/db/env
Generated configuration file: ./common/config/jobservice/env
Generated configuration file: ./common/config/jobservice/app.conf
Traceback (most recent call last):
File "./prepare", line 254, in
shutil.copyfile(os.path.join(templates_dir, "jobservice", "app.conf"), jobservice_conf)
File "/usr/lib64/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 21] Is a directory: u'./common/config/jobservice/app.conf'

somehow these became directories:
Generated configuration file: ./common/config/jobservice/app.conf
Generated configuration file: ./common/config/ui/app.conf
Now failing here
Generated and saved secret to file: /data/secretkey
Generated configuration file: ./common/config/nginx/nginx.conf
Generated configuration file: ./common/config/adminserver/env
Generated configuration file: ./common/config/ui/env
Generated configuration file: ./common/config/registry/config.yml
Generated configuration file: ./common/config/db/env
Generated configuration file: ./common/config/jobservice/env
Generated configuration file: ./common/config/jobservice/app.conf
Generated configuration file: ./common/config/ui/app.conf
Fail to generate key file: ./common/config/ui/private_key.pem, cert file: ./common/config/registry/root.crt

Looks like another weird directory happened
./common/config/ui/private_key.pem/
removed it and now insatllings


[WIP] add dotnet-minver

Closes #94

Why make this be something that has to be invoked via dotnet? Global tools don't have to be. This could just be a minver tool.

@bording I do indeed need some schooling wrt to dotnet tools.
BTW - the tool package was requested by @thefringeninja.
Are you saying that it can be just called minver and dotnet tool install will do whatever magic needs to be done to make it runnable? Will that work on all platforms?

@adamralph Yes, you can install a global tool, and then you'll just magically have a minver tool. It will work on all platforms, with the caveats around LibGit2Sharp linux distro issues.

The tool name will default to the project name, but you can set the ToolCommandName property in the project file to override that.
Based on that, a rethink of all the project names might be in order. I've been thinking that might generally be a good idea, because things are a bit mixed up right now.

Yes, you can install a global tool, and then you'll just magically have a minver tool. It will work on all platforms, with the caveats around LibGit2Sharp linux distro issues.

Interesting. What's the general guidance on this? I've seen plenty of NuGet packages named dotnet-xxx, e.g. https://www.nuget.org/packages/dotnet-watch, and they seem to stick to the dotnet-xxx naming for the actual executable too. But I guess they are specifically for the .NET CLI, e.g. "to watch for source file changes during development and restart the dotnet command" whereas minver is useful for any git repo.

Based on that, a rethink of all the project names might be in order. I've been thinking that might generally be a good idea, because things are a bit mixed up right now.

I'm all ears. 👂 😉 I guess if this does become just minver then not only the project names, but the package names will need some thinking about too.

Interesting. What's the general guidance on this? I've seen plenty of NuGet packages named dotnet-xxx

A lot of those packages are for the older, project-scoped cli tool references. From what I've seen, the guideance at this point is to only name your tool dotnet-xxx if it actually has some direct reason why the tool would only be useful if the .NET SDK is actually being used.
Since MinVer is more general purpose, having the tool be minver makes a lot of sense to me.

I'm all ears. 👂 😉 I guess if this does become just minver then not only the project names, but the package names will need some thinking about too.

Right now, the MinVer.Tasks project is the actual commandline tool invoked by MSBuild, and it has a project reference to MinVer. However, MinVer is the project that has the MSBuild targets, requires the publish output from MinVer.Tasks, and builds the package, so it's actually a bit of a circular dependency. The MSBuild stuff is also split between two projects.
Instead, I think we should turn MinVer into something like MinVer.Core, and it just has the actual versioning logic in it. Then we need an additional project for each of the "shipping vehicles" we want, in this case, something running inside of MSBuild, and the commandline tool being proposed by this PR.
At the moment, the MSBuild project would also have a dependency on the commandline tool, but we should still be able to make that work. In the future, the MSBuild project should probably just become an MSBuild task, and then that dependency is removed.

Renamed to minver-cli in #105.

Released in alpha 15.


Not able to Build

Build type: native build
Project name: openh264
Project version: 2.1.1
C compiler for the host machine: gcc (gcc 9.2.0 "gcc (MinGW.org GCC Build-20200227-1) 9.2.0")
C linker for the host machine: gcc ld.bfd 2.32
C++ compiler for the host machine: c++ (gcc 9.2.0 "c++ (MinGW.org GCC Build-20200227-1) 9.2.0")
C++ linker for the host machine: c++ ld.bfd 2.32
Host machine cpu family: x86
Host machine cpu: x86
Program nasm found: YES (C:\Users\amitv\AppData\Local\bin\NASM\nasm.EXE)
Compiler for C++ supports arguments -Wno-non-virtual-dtor -Wnon-virtual-dtor: YES
Compiler for C++ supports arguments -Wno-class-memaccess -Wclass-memaccess: YES
Compiler for C++ supports arguments -Wno-strict-aliasing -Wstrict-aliasing: YES
Run-time dependency threads found: YES
Did not find pkg-config by name 'pkg-config'
Found Pkg-config: NO
Run-time dependency GTest found: NO (tried pkgconfig and system)
Looking for a fallback subproject for the dependency gtest
test\meson.build:2:2: ERROR: Git program not found.

could you please give more detailed information about the build issue, e.g., platform, environment?

How is this problem solved?

I don't understand this issue, since git isn't used anywhere in test/meson.build and that line points to a subproject wrap: subprojects/gtest.wrap uses https urls to download, not git.


Add find_all method to Store

Resolves #1633.

Motivation

Solution

it requires a collect anyway because store is behind a RwLock.

can't you move the RwLockReadGuard into the returned iterator?

I don't understand your point @SOF3 . Could you elaborate on it a bit?

I am just confused why we need so many special methods on Store instead of exposing a map-like API that provides iter(). Is it simply because we don't want to implement a custom Iterator type that owns its own RwLockReadGuard?

@SOF3 that's a good point. In deed, we already have the state method which returns an iterator through all the objects.
I can close this and use that method.
Thank you both.


MySQL Database

How much database storage is recommended? I am searching for a free cloud based MySQL database.

You can use the smallest available size, the database only stores user accounts and config files.

Is 5MB good? And what about the SSH servers I connect to? Where will those be stored?

Well an empty MySQL database is probably larger than that. Host list is a part of the config.

I didn't understand, sorry. Do you mean 5 megabytes is not enough?

And why am I getting psycopg2 not available error when using PostGreSQL?

And should I host gateway service as well?


HideOnClose property in DockContent class

dockpanelsuite\winformsui\docking\dockcontent.cs
I have set HideOnClose property to be true,
When I call the Close method,and try to use dockcontent ,but the dockcontent was disposed

That property is only useful when you click the close button on UI, but takes no effect if you explicitly call Close method in code.
Please call Hide instead.


Tek Forcefield improvement.

Tek Forcefield modification:

Use Tek Generator for power.
Consume less element (if not using Tek Generator).
Add Element Shards to fuel items (costing less if not using a Tek Generator).
Persist Radial Menu on screen when changing shield size.

Should be complete remap/replace of vanilla structure.

"Shielded Buff" not persisting against radiation, Reaper Queen was able to damage glass structures through the shield. more testing required in dev env.

Remapped vanilla Buff_InsideTekShield to use Buff_InsideTekShield_KC and fixed casting references to forcefield structure.
Gated Buff_FullTekSuit_KC effects on element drain or durability drain when inside the forcefield radius (has Buff_InsideTekShield_KC)
Added checks for polarisation buffs to activate/deactivate correctly when in inside a forcefield radius (has Buff_InsideTekShield_KC)


Block count issue

Wagtail 6.2rc1, block count doesn't disable plus sign (adding a new block)
code:
featured_block = StreamField(
        [
            ("FeaturedImage", ImageWithCaptionBlock()),
            ("FeaturedVideo", VideoStreamBlock(max_num=1)),
        ],
        block_counts={
            "FeaturedImage": {"max_num": 1},
            "FeaturedVideo": {"max_num": 1},
        },
        min_num=0,
        max_num=2,
        blank=True,
        verbose_name="Featured block",
    )

before wagtail upgrade:

wagtail 6.2rc1:

This is intentional per #12023. Validation errors will be shown as soon as you add a new block.


Pull request for fork to jenkinsci/CTM-plugin

Testing done

Submitter checklist

[ ] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[ ] Ensure that the pull request title represents the desired changelog entry
[ ] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

I think everything looks fine, but there are 2 checks that failed above.
@raleigh-rinehart   do we now have CI/CD - is that what the checks are for?

Needs to be built with Java 11 or newer, but not sure how to change that.

As we were using Java 17 so I think we need to build repository using Java 17

@abhijeet-rana-27 it looks like this is a requirement.  Please work on this until it is solved. I think you'll have to do whatever research is necessary, since Raleigh and I do not know what is required here.    Thank you.


tests: cmsis_rtos_v1: Add additional test scenarios for signal

Add additional test scenarios to validate signal event
APIs such as setting signal from ISR, setting/clearing
each unique flag and few negative test cases too.
Signed-off-by: Praful Swarnakar<EMAIL_ADDRESS>

Codecov Report

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

@@            Coverage Diff             @@
##           master    #9856      +/-   ##
==========================================
+ Coverage   52.27%   52.28%   +0.01%
==========================================
  Files         213      213
  Lines       25962    25962
  Branches     5596     5596
==========================================
+ Hits        13571    13575       +4
+ Misses      10154    10151       -3
+ Partials     2237     2236       -1

Impacted Files
Coverage Δ

lib/cmsis_rtos_v1/cmsis_signal.c
72.3% <0%> (+6.15%)
: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 cdc7395...2826fbf. Read the comment docs.

Shippable failure is due to bug in CMSIS RTOS V1 signal implementation reported in #9857.

@rgundi: Thanks for thorough review. Addressed all your review comments. Kindly check.

recheck

@nashif:
FYI: Shippable was fail as the additional test cases created as part of this commit helped to figure bugs in CMSIS signal implementation reported in https://github.com/zephyrproject-rtos/zephyr/issues/9857

recheck


Translation Issue

Hi,
translation for unzer-payment-instructions does not work
Woocommerce installation + current unzer payment version 1.2.1
There is a german translation .po file in the folder but it does not work for a few strings, e.g.
Please transfer the amount of %s to the following account:

Holder: %s
IBAN: %s
BIC: %s

Please use only this identification number as the descriptor:
%s
the string ist correctly translated in the .po but the english instead of the german translation ist still shown
best mille

For me, nothings was being translated, all the strings remained in English instead of German. I had to load the textdomain by myself, and now it works. This is the code I had to use:
add_action('init', function () {
  $text_domain   = 'unzer-payments';
  $language_file = implode(DIRECTORY_SEPARATOR, [
    ABSPATH,
    'wp-content',
    'plugins',
    $text_domain,
    'languages',
    "$text_domain-de_DE.mo"
  ]);
  load_textdomain($text_domain, $language_file);
});

Hi, @sdegetaus,
Thanks for your input.
We are closing this issue, please write to<EMAIL_ADDRESS>for any further assistance.
Thanks,
Unzer Plugins team


[WIP] timeout implementation

A natural extension to the proxy functionality (#41) would be a timeout functionality.
See tests for usage examples.

Coverage increased (+0.08%) to 98.712% when pulling cab10180cf6201bc6729528ed0077c6576c436df on MSusik:master into 8105d07269198a8f06b504699185c2dc3caf8947 on ssut:master.

Merged. Thanks for your contribution.


Module build failed

npm start
RROR in ../canner.schema.js Module build failed (from ../node_modules/babel-loader/lib/index.js): Error: [BABEL] /Users/name/react/canner-firebase-cms/canner.schema.js: As of v7.0.0-beta.55, we've removed Babel's Stage presets. P

This is fixed in master branch, please clone again and try thanks!


Virtualenv plugin position

Actual behavior
The virtualenv plugin always appear on the x section.
Expected behavior
Like all other plugins, set the position by adding virtualenv in airline#section#create for the desired section.
Cause of the problem
Virtualenv plugin position is defined by this line
call airline#extensions#append_to_section('x', s:spc.g:airline_right_alt_sep.s:spc.statusline)

in vim-airline/autoload/airline/extensions/virtualenv.vim
Plugin improvements (IMHO)

Don't restrict showing virtualenv name only for python filetype. When you work with config files it's usefull to know on which virtualenv you are.
Allow to format plugin's output with some text before and after the virtualenv name.
Allow user to set a message when no virtualenv is found like in the branch plugin.

I can make a pull request with this if you want.

please go ahead and create a PR. However please note, I don't like to see the virtualenv extension when e.g. working with vim files or C files. For txt files that might be debatable as you mention (thinking of configuration files but for many other filetypes it does not make sense. Best is to add a whitelist when to allow the virtualenv extensions to be shown (per filetype).

Yeah I agree, there's no need to see it everywhere.

waiting for PR, closing therefore.


Add a rule to validate filenames?

It would be useful to force the casing of the javascript filenames themselves e.g.
requireFilenameCasing: "pascal"
// driveService.js
requireFilenameCasing: "lowercase-dashed"
// drive-service.js

with options pascal, camel, lowercase-dashed (better name?), lowercase underscored etc.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/19698520-add-a-rule-to-validate-filenames?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

Thanks for contributing. I've wanted this for a while too.
All of our rules are for linting the contents of a file, not its filename. However, I believe it's possible to attach the filename as part of the JsFile object and assert properties about that filename in a new rule.
Would you like to give it a go? We could use the help. Feel free to ask questions on this issue thread if you need help.

I don't know if we wanted this as part of JSCS but it would be awesome to have! And an easy rule name - could also do validateFilenames since we have a few of those. Would be nice to do it for different file types to be general but kind of outside our scope? If we only need one option then it can just be different strings like suggested above.

I might get round to it, but I already do quite a bit of open sourced contributions and I have a backlog of own time work for that

We'd also need the ability to specify the name of a file if it's received as stdin or as a temp file (which some linters do... most notably sublimeLinter.

Additionally can we have this option also check for specific file name patterns under specific directories?
For example. if I wanted all scripts under controllers directory to have camel case, and all scripts under services directory to have pascal case?

For example. if I wanted all scripts under controllers directory to have camel case, and all scripts under services directory to have pascal case?

It seems as a task for the config finder

This would be so awesome to have :smile:!


More tests and fix of bugs

This PR fix bug #48 and comes with small improvements.

I think it's time to merge this PR. For the lines untested I am not sure if they can be.
Should probably merge tests and then handle errors in the clean plot code.

I think we should not worry about the few lines of code in app.py that is not tested. One is to run the server, which we know works, another is to safely remove a file.

Yes I do agree that we don't need to worry with them.


How can I using WebSocket with Nancy?

How can I using WebSocket with Nancy?

@LazyCuteLion https://docs.microsoft.com/en-us/aspnet/signalr/overview/deployment/tutorial-signalr-self-host

I recommend using this library, worked well for me
http://sta.github.io/websocket-sharp/


PPI data

❓ Questions & Help

Hi,
When I use to_dense_adj to convert the edge index of the first PPI graph data to an adjacency matrix. It should have 1767 nodes and the adjacency matrix is of the dimension 1767*1767, but when I use "to_dense_adj", the dimension of the adjacency matrix becomes 1750 * 1750, I check the code of 'to_dense_adj" and I didn't see anything that will result in this results. Could you help me with that ? Thanks!

It's because the max_num_nodes is calculated according to the max number of nodes in a batch not all graphs from dataset. The function to_dense_adj might need an additional parameter, see this issue:
https://github.com/rusty1s/pytorch_geometric/issues/1269

This can be also fixed by passing in a batch vector:
batch = torch.zeros(num_nodes, torch.long)
adj = to_dense_adj(edge_index, batch):


[WIP] Support resolve auth by reading gateways injected headers in gears

refs  #1291
Updated in this pr:

Gateway call resolve endpoint to inject headers
Gateway standalone support gears and app endpoint, so in standalone mode. Dev need to configure the gears endpoint to start gateway
Add middleware for gears to resolve auth and access key from headers

WIP:

Remove stale middlewares in asset gears

Updated, thanks @kiootic


Update query re-writing page

Removed tier references as we will soon be rolling out query re-writing on infrequent tier as well.
Added comments around this being a best effort query re-writing approach & not all queries will be rewritten.
Removed some ambiguous statements.

Purpose of this pull request
This pull request (PR) ...
Issue number:

Select the type of change:

[ ] Minor Changes - Typos, formatting, slight revisions
[x] Update Content - Revisions and updating sections
[ ] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - Updates, maintenance, and new packages for the site, Gatsby, React, etc

Please do not merge, this is under discussion with PMs.

Please do not merge, this is under discussion with PMs.

Hey @sakshi-sumo can you sign the CLA bot so we can input your change when the time comes.

@stacykor Signed it yesterday (that is filled the linked google form)

Reviewed by Product team. We'll merge as soon as the rollout is done.
@stacykor @JainM6 kindly review & add suggestions if any if the meantime.

@sakshi-sumo what's your target date?

Hi @sakshi-sumo , just making sure you've seen comments from myself, @stacykor , and @manashar4 . Can you provide an ETA when this should go live?

ETA would be sometime next week. Incorporating comments.


Show previously displayed booking

Acceptance criteria

When I open SmartFAQ anywhere on the frontend, it shows the nearest booking
When I open SmartFAQ in MMB in booking detail page, this specific booking is opened
When I open SmartFAQ anywhere, MMB booking detail included, and select different booking from the allbookings page, then I close SmartFAQ and reopen it again no matter on which page of the frontend, SmartFAQ is smart enough to display booking previously selected by a user

=> in other words, if the user intentionally selected one booking from the list, keep track of such selection so it opens the same booking later again, but don't implement such memoization for specific booking which was displayed just because the user was on MMB detail page, makes sense?

I am sorry, but I don't understand of the assignment of this issue. :(  @kantord

This can't be tested in the standalone app, we'll test when opening the MR in gitlab.


Update streaming funcs for latest version of azr/backoff

Fixes #120.

Thanks a lot for your reactivity. :+1:


WV-451 update uses of ContestOffice to use readonly [TEAM REVIEW]

Updated any uses of ContestOffice.objects.all that could use readonly instead of hitting main database. Also, added error message for google vertex credentials.

made a new PR for WV-451


Fix SELinux module for OSLogin

Move from the binary-format to the CIL format for SELinux module; this makes it a version-agnostic installation.

tested build and install on 7.4 SAP image with SELinux enforcing; confirmed persistent through reboot.


feat(react): new component InPageWizardStepCard

Needs to be fixed:

Icon on edit button needs to be wrapped as a component and should be regular. It should also pick up the correct colour.

Removed the linting rule since it was created by the nx generator and acted weired...


Intellisence is not working for module variables in JS

Issue Type: Bug
Intellisence is not working for module variables. I am using JavaScript. In the below code when I say-
path.

It does not show relevant methods associated with the Path module!!
const path = require('path');
var pathObj = path.<show no method associated with the Path module>

VS Code version: Code 1.45.1 (5763d909d5f12fe19f215cbfdd29a91c0fa9208a, 2020-05-14T08:27:35.169Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz (8 x 2712)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.92GB (17.35GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

remote-wsl
ms-
0.44.2

Does this reproduce in the latest VS Code insiders build?
Also, are you in a wsl workspace?

Hi MJBVZ, its not the insider build.
I can use Linux cmd in the VS Code terminal, so I guess i am using wsl workspace.
More Details:
Version: 1.45.1 (user setup)
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:27:35.169Z (3 wks ago)
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.17763

Can you also please test using the VS Code insiders built to see if this has already been fixed?


Fix out-of-bounds access loading pem files in Objective-C.

dataUsingEncoding: method of NSString does not return
a null-terminated string. Passing it to GRPC core results in
an out-of-bounds access when the resulting
non-null-terminated buffer is passed to strlen.

Fixes #15555.

Bazel build for C/C++


Remove redundant / duplicate / old functions

There's some classes and functions lying around that are no longer of use. I'll remove them.

As far as I can tell this should now be complete, can't see any more code that is legacy


Sign in to on-prem Azure Devops?

Is there a way to have the app sign into a self-hosted (up to date) azure devops instance?

Hi, honestly I don't know how on-premise works, is it just a different url (instead of the default dev.azure.com/)? Can you login with your PAT and/or with Microsoft sign in?

On prem is in some parts of the API similar but especially when it comes to user management it’s different. The most common problem are self signed certificates some IT departments are using for internal servers. They usually don’t work with 3rd party apps that don’t explicitly provide a “don’t validate ssl” feature.


Added an example resource to the solution for ease of reference

Added the codepoints.txt as the example / base file to which may be used.

Added this file so that there is always an example document that may be used.  Helps to understand solution and stands as a file to use should the MDL Icon repo ever be removed.


Objects jump on zoom change

It's something like https://github.com/visgl/deck.gl/issues/5588 I think.
I'm using deck.gl-leaflet with Vue-Leaflet application and facing the problem that objects on map jumps when I change zoom level.
I've unexpirienced JS dev and bootstrapped sample application with provided example code
<script>
import { MapView } from<EMAIL_ADDRESS>import map from "@/mixins/map"
import { ArcLayer, GeoJsonLayer } from<EMAIL_ADDRESS>import { LeafletLayer } from "deck.gl-leaflet"

export default {
  name: "AdminLayout",
  mixins: [map],
  data() {
    return {
      center: [30, 50],
      zoom: 4
    }
  },
  mounted() {
    const AIR_PORTS =
      "https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_10m_airports.geojson"
    const deckLayer = new LeafletLayer({
      views: [
        new MapView({
          repeat: true
        })
      ],
      layers: [
        new GeoJsonLayer({
          id: "airports",
          data: AIR_PORTS,
          // Styles
          filled: true,
          pointRadiusMinPixels: 2,
          pointRadiusScale: 2000,
          getPointRadius: f => 11 - f.properties.scalerank,
          getFillColor: [200, 0, 80, 180]
        }),
        new ArcLayer({
          id: "arcs",
          data: AIR_PORTS,
          dataTransform: d => d.features.filter(f => f.properties.scalerank < 4),
          // Styles
          getSourcePosition: f => [-0.4531566, 51.4709959], // London
          getTargetPosition: f => f.geometry.coordinates,
          getSourceColor: [0, 128, 200],
          getTargetColor: [200, 0, 80],
          getWidth: 1
        })
      ]
    })
    this.$nextTick(() => {
      this.$refs.map.mapObject.addLayer(deckLayer)
    })
  },
  methods: {
  }
}
</script>

The code is from here:
https://github.com/visgl/deck.gl/blob/8.5-release/examples/get-started/pure-js/leaflet/app.js
I understand this is not a Vue plugin, but can you give me a clue where should I look?

It's latest versions.
<EMAIL_ADDRESS>"^8.5.3",
<EMAIL_ADDRESS>"^8.5.3",
"deck.gl-leaflet": "^1.1.2",

Hi @DmitriyVTitov, can you publish a codepen replicating the bug?

@zakjan No, it's almost impossible, because App uses mixins.
I will try to create minimum app with vue-leaflet and your library tomorrow and copy that to codepen.

@zakjan Your plugin works very well on clean app. Something interferred with one of our mixins so false alarm :)
Close the issue pls.

Perfect, thanks for confirming!


Atomfs top

What type of PR is this?

Which issue does this PR fix:
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs showing the issue:
Testing done on this change:

Automation added to e2e:

Will this break upgrades or downgrades?
Does this PR introduce any user-facing change?:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@mikemccracken looks like some opts := atomfs.MountOCIOpts{ related changes likely broke this?

2024-11-21T04:51:45.5185091Z not ok 8 mount + umount + mount a tree of images works in 3406ms
2024-11-21T04:51:45.5186133Z # (from function `stacker' in file test/helpers.bash, line 111,
2024-11-21T04:51:45.5188624Z #  in test file test/atomfs.bats, line 101)
2024-11-21T04:51:45.5203134Z #   `stacker internal-go atomfs umount b' failed

024-11-21T04:51:45.5848499Z # mountinfo after b^
2024-11-21T04:51:45.5848771Z # Debug mode:
2024-11-21T04:51:45.5849104Z # stacker version df9884444bf07e2a511c828fed1aebb36baf5b03
2024-11-21T04:51:45.5849929Z # stacker subcommand: [/home/runner/work/stacker/stacker/stacker --debug internal-go atomfs umount b]
2024-11-21T04:51:45.5850993Z # Device /dev/mapper/74dca53d231ebbe7e483abc17cef1f17ecfc7ef4c52352e352ff6789062e88bf-verity is still in use.
2024-11-21T04:51:45.5851918Z # error: libcryptsetup function 'crypt_deactivate' returned error with code '-16'.
2024-11-21T04:51:45.5852451Z # machinerun.io/atomfs/squashfs.Umount
2024-11-21T04:51:45.5856489Z # 	/build/gopath/pkg/mod/github.com/rchincha/atomfs@v0.0.0-20241101035249-eaa7b437e0a6/squashfs/verity.go:493
2024-11-21T04:51:45.5857390Z # machinerun.io/atomfs.Umount


Please update the PoSh Script

It is still using Get-AzureVm.

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

ID: a2c40f2e-91ef-eafc-1288-094266885d41
Version Independent ID: 4e8f9a62-69fc-a6a4-2a3c-afca18dcd253
Content: Onboarding machines for management by Azure Automation State Configuration
Content Source: articles/automation/automation-dsc-onboarding.md
Service: automation
GitHub Login: @bobbytreed
Microsoft Alias: robreed

@thuansoldier Thank you for the feedback, that section of the document is actually talking about classic VMs which use the Get-AzureVM cmdlet.  There is a separate section for resource manager virtual machines.  We still want to provide ways for people to onboard classic VMs to DSC.

@thuansoldier Closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


Syntax Highlighting doesn't use preinstalled ansible collections

Summary
Syntax highlighting and auto-completion is missing for preinstalled ansible collections.
From ansible-config:
COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH(default) = warning
COLLECTIONS_PATHS(default) = ['/home/vscode/.ansible/collections', '/usr/share/ansible/collections']
COLLECTIONS_SCAN_SYS_PATH(default) = True

From ansible-galaxy collection list:
# /home/vscode/.local/lib/python3.11/site-packages/ansible_collections
Collection                    Version
----------------------------- -------
amazon.aws                    6.1.0
ansible.netcommon             5.1.1
ansible.posix                 1.5.4
...
community.dns                 2.5.6
community.docker              3.4.8
community.fortios             1.0.0
...

My playbook uses the community.docker-collection. The playbook works as expected.
There's no syntax highlighting or auto-completion for collection-content.
Extension version
v2.6.92
VS Code version
1.81.0-insider
Ansible Version
ansible [core 2.15.1]
  config file = /workspaces/project/ansible/ansible.cfg
  configured module search path = ['/home/vscode/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/vscode/.local/lib/python3.11/site-packages/ansible
  ansible collection location = /home/vscode/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/vscode/.local/bin/ansible
  python version = 3.11.4 (main, Jul  4 2023, 05:43:24) [GCC 10.2.1 20210110] (/usr/local/bin/python)
  jinja version = 3.1.2
  libyaml = True

OS / Environment
Debian 11 Container running on Ubuntu 22.04
Remote from Win11
No virtualenv used.
Requirements.txt lists ansible and ansible-lint without version pin.
Relevant log output
No response

@max06, it seems like your vscode is not open in the correct / desired environment. Try selecting the appropriate python interpreter from the settings.

This is running in a devcontainer. There is no reason to make use of virtualenv or similar.

This is also an issue on the neovim side of things. Seems to be an als issue


OkHttp 3.3.4-RC1 strange headers behavior with HTTP2 enabled

I have updated from OkHttp 3.3.1 to 3.3.4-RC1 and then have faced strange issue:
When I change request header value became merged with value from previous request (we have saw it on server side). It looks like this SESSION: ,  instead of SESSION:
This is exactly what we saw on server side - header has 2 different sessions in it 0ed91** and dc35275*:
'api-session': '0ed91033efc8950f18c85afa4e6537a3; 7RCbXBqq#zK=Tmfk03hsR7vaRra7jka8S8bMZh0fd1VJkq7?Ydtp=Y&uNNguGvoI; active;<PHONE_NUMBER>964; 900000, dc352754a1606f641acac300a9d81adb; 7kch9FjctfxHSQb29NGytrQe7XICtn9WyPtmT2yKJ@s4ou0#Gikg&bvYfY@XxHN6; not-active;<PHONE_NUMBER>394; 900000',
This happens only if Http2 enabled and client use OkHttp3 ver 3.3.4-RC1.
Server: Nginx 1.11.1 (Http2 Enabled)
Client: Nexus 5 (Android 6.0.1)
Connection: HTTPS (TLS1.2)
This is my interceptor used to add session header to each request and get new session header from each response.
Interceptor apiInterceptor = new Interceptor() {
            @Override
            public okhttp3.Response intercept(Chain chain) throws IOException {
                Request original = chain.request();

                Request.Builder builder = original.newBuilder()
                        .method(original.method(), original.body());

                if (model.getSession() != null) {
                    builder.addHeader(SESSION_HEADER, model.getSession().getHeader());
                }

                Request request = builder.build();

                okhttp3.Response response = chain.proceed(request);

                if (response.isSuccessful()) {
                    extractSession(response.headers());
                }

                return response;
            }
        };

Would this be caused my requests executing concurrently?

This SESSION header is set only inside this interceptor per request. I also set some extra headers like Language, Date, API-VERSION, User-Agent.
However response also can contain this header with same name, that's why I extract it from each response to get new value. And I have 2nd Interceptor to do another job related to response.
I think its related to HTTP/2.0, when we test on staging server with HTTP/2 disabled this issue disappears.

I forget to mention app also use okhttp logging-interceptor which is does not show anything wired. Everything seems to work as expected according to logs on client side. Also I have rechecked Model side which is storing and retrieving sessions.

Could you write a test case to demonstrate the problem? As is it’s hard to understand what we should fix.

This was likely caused by the bug fixed in #2715. @DASAR can you try version 3.4.1?
This test fails on 3.4.0:
  @Test public void dynamicTableHeaderIndexes() throws IOException {
    hpackWriter.writeHeaders(headerEntries("key", "value", "auth", "secret"));
    bytesIn.writeAll(bytesOut);
    hpackReader.readHeaders();
    assertEquals(headerEntries("key", "value", "auth", "secret"),
        hpackReader.getAndResetHeaderList());

    hpackWriter.writeHeaders(headerEntries("key", "value", "auth", "changedsecret"));
    bytesIn.writeAll(bytesOut);
    hpackReader.readHeaders();
    assertEquals(headerEntries("key", "value", "auth", "changedsecret"),
        hpackReader.getAndResetHeaderList());
  }

@dave-r12 @swankjesse with 3.4.1 version this problem disappeared. Everything works as expected.


Little bug with the new commits

Closing a ticket that has been claimed the ticket author still has perms to talk. Not a huge issue down the line but making sure everything is covered (also realised you might be getting email spammed i do apologise 🙏)
Also maybe down the line what would the chances be of this bot being sharded? (ability to operate in more than 1 server) Honestly, I would pay or at least donate, you deserve the recognition

Hey @Mirrage0, no worries regarding the emails haha.
I think the issue you're facing might be related to specific configuration options being enabled together, could you send your configuration file so I can try to replicate and fix the issue? (Please remove channel IDs, role IDs and such information before sending it)
Regarding your question about sharding the bot, I'm still not sure since I'm still learning and improving my skills but I think the bot currently does not work well on multiple guilds due to how it stores data. I can definitely change that in the future to make it store data based on each guild which would make it work on multiple servers but I would also have to do some more research about any other requirements for sharding.
Thank you for your kind words and for reporting issues, I truly appreciate that! 😄

Did the issue happen again after you first encountered it? It may be due to discord API interaction errors sometimes which can happen when the API has latency spikes. I tried the new options I added in the last few commits and I could not replicate the issue with a claimed ticket not properly removing the permission of the ticket author yet.
Can you try to replicate the issue and see if it happens again? I'm also not sure if you're on the latest commit but I noticed the "closeRemoveUser" option is missing in your config.
Regarding having thumbnail on embeds, that sounds good and I can of course add it as an extra option, I think most embeds can have more options and customizable features in the future as I keep evolving the bot.
The bot uses SQLite as well, but I was wondering if what you meant by using the bot on multiple servers is having it on a few discord servers? After some research it seems that sharding is for bots who are on a lot of servers, probably 1000+ which means it might not be necessary to add complexity to this bot for this to work. I think improving the way it stores data and registers slash commands could make it usable on multiple servers probably without issues.

I also tried testing with the config option "closeRemoveUser" being absent in the config however I cannot seem to be able to replicate the issue, when tickets are claimed or just closed without being claimed the ticket author permissions to send messages is being denied properly it seems, so I'm not sure.
I added thumbnail and image options for the panel embed. (aa5696c)

Hello @Mirrage0, thank you for finding this issue I'm working on a fix and will push the commits as soon as I'm done.
I'll assume the issue you originally reported was some discord API latency spike or possible rate limit since I cannot replicate it under even the same config settings.
The missing config option you had was from this commit: 3d9373c
I will also push a fix for the claim field overriding the working hours/possibly other fields.
For now I think I will indeed focus on improving the bot, making the config less error prone and easier to understand before considering working on adding multiple guild support to the bot. For now I think the simplicity of the bot is better and focusing on stability and features is a higher priority.
Adding a randomColor option in the future as well as more embed options/default options to prevent errors will be a more long term goal I will focus on.

Yes I intend to add such default values in future updates.
The claim field issue and DM errors should both be fixed in the last 2 commits now.

If line 887 is undefined, you might be missing new config options that were added in the commit which fixed the DM errors. Please add them and try again, as it works for me when I tried it.
I suggest using notepad++ and it's comparison plugin to easily add new config options each time I update the config.

Hey, no worries about the delay and thank you for catching this issue!
It should be fixed now in the latest commit, I changed the commands/buttons that were not using deferReply to make use of it which should fix such issues.
I'm really glad you're enjoying using my bot and I appreciate your feedback a lot, I haven't set up a way to donate yet but I'll make sure to add a link for that once I figure out which platform would work for me to receive potential donations since not all payment methods/platforms work globally unfortunately.
I intend to keep evolving this project and adding more configuration options alongside improving the wiki in the future. 😄


Add devtools dependency in PKGBUILD

devtools is needed to build the package.

While building in chroot is recommended, aurutils doesn't force its users to do it. aurutils should be functional without it as long as you don't use -c/--chroot.
devtools is already included as an optional dependency. If you want to use chroot build, you will have to install it yourself.
https://github.com/AladW/aurutils/blob/ffc08900adee4f8771f2bb5be5093a5663047895/makepkg/PKGBUILD#L15-L16

Let's close the PR then 👍


Add db40 to wave list

I'm doing some experiments and need this wave. Can this be done?

The coefficients are not built in (only up to 'db20' iirc), but you can create your own wavelet using pywt.Wavelet(name, filter_bank=[dec_lo, dec_hi, rec_lo, rec_hi]), where the dec/rec are the deconstruction and reconstruction coefficients, and lo/hi are the approximation and detail coefficients respectively.
I'm not aware of any plans to extend the builtin filters all the way up to db40, but it might be fun to implement the construction function for daubechies wavelets to allow arbitrary ones. Looks straightforward at first glance, I'll have a look in the coming week or so.

I found the coefficients for db2-99 here: https://github.com/fukuroder/daubechies_wavelet_coefficients/tree/master/coefficients. I did a spot check for db20 and they match (in reverse order). I may just add it into the code myself.

Sorry for the delay, but after a quick look it seems that a built-in solver would be necessary to allow arbitrary wavelets, which is a little beyond the scope of the project. Given that custom filter banks are possible, I don't think adding more is a priority unless there is a lot of demand for wavelets beyond 'db20'.

If you think there is a particular wavelet that would be of widespread general interest feel free to make a case for it and we may include it in a future release.  Otherwise, you can follow the instructions above to use your own custom wavelet coefficients.


⚠ Adacta-fintech.com has degraded performance

In 16116f8, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 200
Response time: 1399 ms

Resolved: Adacta-fintech.com performance has improved in 65b0c5e after 19 minutes.


ntr: protein transport along microtubule to kinetochore

ntr: protein transport along microtubule to kinetochore
child of
GO:0034501	protein localization to kinetochore
GO:0098840      protein transport along microtubule
ref: PMID:25472718
def: standard (see siblings)

(note to self, klp5/6)


Medium risk security issue reported by Snyk

Waterline version: 0.11.11
Node version: 8.1.2
NPM version: 5.0.4
Operating system: Linux dave-macbookpro 4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Snyk reports an unfixable, medium risk security issue with the dependencies of this project. Dependencies should up updated.
? Medium severity vuln found in<EMAIL_ADDRESS>introduced via<EMAIL_ADDRESS>- desc: Uninitialized Memory Exposure
- info: https://snyk.io/vuln/npm:concat-stream:20160901
- from<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  Remediation options (Use arrow keys)
  Upgrade (no sufficient upgrade available we'll notify you when there is one)
  Patch (no patch available, we'll notify you when there is one)
❯ Set to ignore for 30 days (updates policy)
  Skip

ok, fixed!

More info available on the Snyk website. https://snyk.io/test/github/Multicolour/multicolour

I'll take a look -- I'm guessing this doesn't apply to our usage.

Not really a relevant vulnerability for our usage, but in the interest of having a clean bill of health for Waterline, I upgraded the @mapbox/geojsonhint version and published anchor v0.11.6.  Thanks for the report @davemackintosh!


strides type

Even though the fortran APIs may support negative strides,
the C/C++ code would be incorrect with negative stride values.
Choices:

support -ve stride "everywhere" [hard]
assert strides are positive
make strides a non-negative type
Now, I realize there is no unsigned ptrdiff_t, but maybe size_t
(with a static_assert that sizeof(size_t)>=sizeof(ptrdiff_t))
would be a better choice?

There are a few other cases where int loop indices should be size_t, I think.
(from compiler warnings on a [non-JIT] 32-bit int HPC system). I can point these
out if interested.

Sorry for keeping this without a reply. This is a embarrassing question because we are only targeting x86_64 and have a large leeway in how we can (incorrectly) mix signed/unsigned integers of different sizes and still get correct results in most of the cases.
I think that it is useful to use signed types for tensor dimensions (makes padding computations much easier), but maybe not for the strides. However this leads to the need to be even more careful when mixing signed and unsigned integers. We found that Microsoft compiler is actually quite paranoid regarding this, so maybe part of the fixes will come with the Windows support.
Re: 32-bit int HPC system: does it have 32-bit ptrdiff_t? In other words, do you have troubles with being unable to address >2G elements using this approach?

My HPC compiler has options -size_t32 [default] and -size_t64
I find ptrdiff_t, intptr_t and void* are 8 bytes long with both options.
Glad I verified -- I definitely don't want to support 4-byte size_t with 8-byte ptrdiff_t option.

From the sxc++ manuals, it seems -size_t32 is a historical relic that began as an
O/S-related -over2g option, and later morphed (when size_t became unsigned?) to the
current -size_t32/64 options with cut-off at 4G array sizes.
Old docs for -over2g:

The size over 2GB cannot be defined for arrays, structures, unions, and classes before SUPER-UX R11.1

Docs for -size_t32:

When the type of size_t is unsigned int (default), the use of arrays, structures, unions, and classes of 4 GB or more is unavailable

Thanks for the info. Since use of signed type here was a conscious decision here, I'm closing this. We will add asserts / do proper error checking.


[Minor Issue] Ped Models

I am not too sure what exactly is the cause of this issue however I believe it could be the player customization stuff which is written specificly for the MP model.
Something my players have noticed is that some of the actual NPC models have a messed up face as if the model itself is broken in some way, my guess is that the player customization is trying to apply certain things made for the MP model only to the NPC models and thus messing up how the NPC model looks.
although not a huge concern this does render several models completely unusable including dog models which my community wants to use for k9 police force. is there a chance this can be looked into and hopefully corrected. I can provide any additional information required including pictures of the issue.

https://github.com/ImagicTheCat/vRP/commit/f477f5a31dd4780d115913728ee287962063ea7e


Add lambda subnet

Updates to main.tf, variables.tf, outputs.tf, and README.md to add optional Lambda subnets, per emerging best practices: https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#lambda-vpc

Hi Chad!
I am not sure I understand the difference between new lambda_subnets and existing intra_subnets. If necessary intra_subnets can be as large as you want. Could you double check, please.

Anton;
The intra subnets I can see are only for internal (network) use - no access to the public.  The Lamba subnet is basically a mirror of the 'private' subnet, but only for use by Lambdas.  Put differently, it's for the use case where Lambda functions need access to the internet.  This is one of the most commonly recommended patterns by AWS for Lambdas in a VPC.
I can see the argument, that you might want some lambdas to be private as well, and I certainly sympathize with wanting to keep this module clean.  Our challenge is that we are finding that, based on best practice, a) we need a truly separate subnet for only lambdas (address space for ENIs), and b) we are also finding that internet access to the internet through a NAT Gateway is usually needed.  The reason we landed on this for all our Lamba functions is that it's pretty rock solid security if they are only accessing the internet through the NAT Gateway - so why not do it all the time.
Look forward to your feedback and .. BTW thanks so much for doing this!!!

A private subnet, is a private subnet... No matter if it is for Web servers, or for RDS subnet groups.
So, create just another subnet and use it for lambda
FYI do keep in mind very soon aws is changing the away ENI are attached to lambda, reducing the start time

You could make the same argument for “database_subnets”.  Why make a separate subnet for DB?
It is still best practice to create a subnet dedicated to Lambas, per AWS recommendation. From: https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html
•  Create dedicated Lambda subnets in your VPC:

This will make it easier to apply a custom route table for NAT Gateway traffic without changing your other private/public subnets. For more information, see Configuring a Lambda Function to Access Resources in an Amazon VPChttps://docs.aws.amazon.com/lambda/latest/dg/vpc.html
This also allows you to dedicate an address space to Lambda without sharing it with other resources.

From: Fernando Miguel<EMAIL_ADDRESS>Reply-To: terraform-aws-modules/terraform-aws-vpc<EMAIL_ADDRESS>Date: Tuesday, February 12, 2019 at 3:43 PM
To: terraform-aws-modules/terraform-aws-vpc<EMAIL_ADDRESS>Cc: Chad Coffman<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [terraform-aws-modules/terraform-aws-vpc] Add lambda subnet (#214)
A private subnet, is a private subnet... No matter if it is for Web servers, or for RDS subnet groups.
So, create just another subnet and use it for lambda
FYI do keep in mind very soon aws is changing the away ENI are attached to lambda, reducing the start time
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/terraform-aws-modules/terraform-aws-vpc/pull/214#issuecomment-462989090, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALlZ5xdMTs26K-7QDgLVotditNudRM2Aks5vM1GEgaJpZM4a39Ql.

database_subnets exists because there is a way to create database subnet group and database routing table if necessary.
I agree with what @FernandoMiguel is saying and with the fact that AWS is working on changing the slow part related to ENI and cold-starts.
I think it is better to keep this module smaller and I don't think we need to add support for dedicated lambda_subnets.

Thank you, gentlemen, I appreciate the look.
Just for clarity, however, my concerns are not slowness related to cold starts.  It’s strictly around scaling up/down, and reserving the IP space.  In addition, as I indicated, this is a best practice.  I’ll plan to keep our fork internal, and continue to maintain internally as you make updates.  I do hope you’ll consider this best practice (again, from AWS, not me) as you move forward with additional design.
From: Anton Babenko<EMAIL_ADDRESS>Reply-To: terraform-aws-modules/terraform-aws-vpc<EMAIL_ADDRESS>Date: Wednesday, February 13, 2019 at 12:38 AM
To: terraform-aws-modules/terraform-aws-vpc<EMAIL_ADDRESS>Cc: Chad Coffman<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [terraform-aws-modules/terraform-aws-vpc] Add lambda subnet (#214)
database_subnets exists because there is a way to create database subnet group and database routing table if necessary.
I agree with what @FernandoMiguelhttps://github.com/FernandoMiguel is saying and with the fact that AWS is working on changing the slow part related to ENI and cold-starts.
I think it is better to keep this module smaller and I don't think we need to add support for dedicated lambda_subnets.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/terraform-aws-modules/terraform-aws-vpc/pull/214#issuecomment-463108174, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALlZ5_aVhAwN_gViv53riRbLEbsk6VTRks5vM88cgaJpZM4a39Ql.

Can you use private_subnets and allocate /17 CIDR blocks? /17 gives 32K of IPs. Sounds like a lot to me.

I've not kept up with this module in depth.
But years ago I forked it to have multiple private subnets.
I remember seeing last year a PR to add support for N number of subnet.
Which brings to my original suggestion :
Can't you just create more private subnets and label them lambda?
(assuming the PR I mentioned has been

I totally love that idea, Fernando!  I’m not sure how I missed that, but it looks like this is a possibility.  I’m not sure, however, that this was implemented, but this would be far preferable so that it is extensible.
My understanding was that this:
<EMAIL_ADDRESS>Requires an implementation like this – put differently, this is for listing the CIDR ranges, rather than listing the subnet names to be created.
<EMAIL_ADDRESS>This was why I created the new, named subnet.  Looking forward to your feedback!
From: Fernando Miguel<EMAIL_ADDRESS>Reply-To: terraform-aws-modules/terraform-aws-vpc<EMAIL_ADDRESS>Date: Wednesday, February 13, 2019 at 8:40 AM
To: terraform-aws-modules/terraform-aws-vpc<EMAIL_ADDRESS>Cc: Chad Coffman<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [terraform-aws-modules/terraform-aws-vpc] Add lambda subnet (#214)
I've not kept up with this module in depth.
But years ago I forked it to have multiple private subnets.
I remember seeing last year a PR to add support for N number of subnet.
Which brings to my original suggestion :
Can't you just create more private subnets and label them lambda?
(assuming the PR I mentioned has been
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/terraform-aws-modules/terraform-aws-vpc/pull/214#issuecomment-463271703, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALlZ5zVlrPqzy5-TIqbjzfbFvxOUzQbfks5vND_qgaJpZM4a39Ql.

sorry @cwcoffman but you need to post to github... email will mangle all your replies and not included attachemnts

Thanks for the feedback @FernandoMiguel - I cleaned up the posts and will only use Github in the future.

technically i don't oppose having named subnets :)
just dont see the need for one called lambda
if this PR allows for adding N private subnets, I would use it...
heck, i'm forking this for that sole reason

@FernandoMiguel - I actually like your approach better, as named subnets are probably OK, but having 'types' of subnets that can be named and extended for whatever purpose is definitely better for the community.  When your fork is in, I'd love to see it!

eh... i never got to clean it up and push it
ROFL
i actually need to do the opposite... pull master to mine.. i'm quite far behind
but as far as i remember, the only reason was pretty much just needing 4 private named subnets
it doesnt scale ... it's just hardcoded 4 sets of private subnets.
so feel free to improve yours to included N and label them :D

I think it would be a good idea to support the tagging of individual resources (like subnets) by index, like this?
# terraform.tfvars
private_subnet_tags_index = {
  0 = {"Name" = "private-for-lambda", "purpose" = "lambda"}
  1 = {"Name" = "private-for-everything", "purpose" = "everything"}
}

Would this be sufficient for discovering subnets using data source?

Anton - love this idea. If we had n number of private, intra, public subnets and the ability to tag like this, I think that would be pretty ideal.  Then as services / best practices change, we can respond with new and improved infrastructure fairly rapidly.

my only problem with that data structure in TF <0.12 is that if you want to delete one of the index, it will destroy and recreate all the following resources, right?
a bit dangerous

@FernandoMiguel It won't delete/recreate resources because tags can be changed without downtime and private_subnet_tags_index is a map, not list, so it won't be recreated if middle-element changes.

I think it would be a good idea to support the tagging of individual resources (like subnets) by index, like this?
# terraform.tfvars
private_subnet_tags_index = {
  0 = {"Name" = "private-for-lambda", "purpose" = "lambda"}
  1 = {"Name" = "private-for-everything", "purpose" = "everything"}
}

Would this be sufficient for discovering subnets using data source?

+1 - this is an elegant way of keeping private subnets agnostic of different workloads/requirements

Closing this PR.


Add more paths for OTel e2e changes

What does this PR do?
Adds more paths for OTel e2e changes:

cmd/otel-agent/**/*
pkg/trace/api/otlp.go
pkg/trace/stats/otel_util.go
pkg/trace/transform/transform.go

Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


[extension types] A switch over a sealed class with an extension type as its type parameter leaks the underlying type?

Consider:
void main() {
  final Foo<S> f = FooCase(S("abc"));

  switch (f) {
    case FooCase<String>(:final t):
      print(t);
  }
}

sealed class Foo<T> {}

final class FooCase<T> implements Foo<T> {
  final T t;

  const FooCase(this.t);
}

extension type S(String str) {}

This program compiles, but I expected it not to compile because I intuitively expected case FooCase<String>(:final t): to produce a static error because f is never a FooCase<String> (at least statically?).
I wanted to ask, is this expected behavior?

I wanted to ask, is this expected behavior?

Yes, exhaustiveness analysis uses the underlying representation type when it encounters an extension type, even when the extension type is an actual type argument. This matches the actual run-time semantics.
We could introduce some warnings when a compile-time only type is tested dynamically. After all, we know that it's just going to be the representation type, so why not tell the developer to ask about the representation type in the first place?
However, you can use this to "dress up" an object with a set of extension type methods that may be convenient to have in the body of that switch case:
extension type E2(List<int> xs) implements List<int> {
  int get second => xs[1];
}

extension type E3(List<int> xs) implements E2 {
  int get third => xs[2];
}

void main() {
  var xs = [4, 5, 6];
  switch (xs) {
    case E3(length: 3):
      print('Tail sum: ${xs.second + xs.third}');
  }
}

Thank you, @eernstg , so this is indeed expected behavior and not a bug. From my side this issue could be closed.

[...] If you're casting into an extension type then the object hasn't been vetted for that type, which may break some invariants. If you're casting out of an extension type then the object may be used in ways that the extension type was intended to prevent.

I think that sums up the observation that has lead me to file this and the other issue  (https://github.com/dart-lang/sdk/issues/56653) very nicely: it is possible to implicitly cast to and from an extension type by, for example, using switch statements.
The wrong assumption that I had was that I can only get values with a static type that was introduced by an extension type by either using a constructor from an extension type or a cast expression, but now I see that, for example, switch statements can also be used to do that.

We could introduce some warnings when a compile-time only type is tested dynamically

We could then lint the case where a plain extension type is obtained by a dynamic type check, e.g., via pattern matching. Conversely, an open extension type can freely be obtained by pattern matching or casts.

If that could help with catching accidental casts to/from an extension type, then that sounds very useful to me.


Comprehensibility

Add 'a'
Remove
 (no image is found)
Add <Note: Differentiability implies continuity BUT continuity does NOT imply differentiability.>

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Reason: Since your PR was created, the master branch content has updated making some of your changes unnecessary or need to be reorganized to fit the current version.  Please re-sync your fork so you are looking at the latest version of master and then create a new PR if you find any changes warranted.
Thank you and happy coding.


Images pertaining to sub-type in non-standard countries

For now, I'm ignoring the images (the jpgs) associated with the individual sub-types in non-standard country page.

Is this fine, @IanMayo?

Yes - that is fine.  They are just placeholders, and probably don't need to go to the browser-based version.