prepare_memmap_dataset.py seems to use wrong eos_token_id for the tokenizer

❓ The question
In the file prepare_memmap_dataset.py, at lines 244 and 456, the following code snippet are found:
tokenizer = Tokenizer.from_pretrained(tokenizer_id, truncate_to=None)

This snippet lacks the eos_token_id parameter. The from_pretrained method, which is defined as follows, automatically assigns the last word in the vocabulary as the eos_token:
def from_pretrained(cls, identifier: str, **kwargs) -> Tokenizer:
    base_tokenizer = BaseTokenizer.from_pretrained(identifier)
    eos_token_id = kwargs.pop("eos_token_id", base_tokenizer.get_vocab_size() - 1)
    return cls(base_tokenizer, eos_token_id, **kwargs)

Ah! @wsonejoy good point. This is deprecated, please see https://github.com/allenai/dolma/blob/main/docs/tokenize.md
@soldni will work on cleaning this up.

added warning and pointing people to Dolma tokenizer in #517


Missing filter in rule

Per issue #43

Thank you very much @icthieves for contributing to the project!


Motion Representation during training

Hi there. First of all, thanks a lot for your great insights on motion representation and its impact on  AE-like approaches as well as diffusion; it is greatly appreciated and the results seem promising.
I wanted to validate the performance of the model but observed that AE checkpoints are not provided (as mentioned in another issue). Then, I tried training the AE but observed issues on the train_AE.py code.
For instance, while the data loaded is directly the new_joint_vecs (with 263-dim, w/ redundant information), the model takes only 67-dim (as mentioned in the paper). Thus there is an error in shapes during the AE forward pass. I assume there is missing a preprocessing of features to 3D joints (3*22 joints=66).
Similarly, I am wondering what is with the additional 67 dimension of the data, as I could not find the information about this in the paper (i.e., Njoints*3 = 66, what is the +1 to make the 67-dim).
Thanks

Hi there, thank you for your interest in our work. I totally forgot to provide the pre-trained AE model and the README.md file has been updated with the downloading link.
For Training the AE from scratch, I believe it's because the original motion data (263 dim) is only processed to (67 dim) with the updated mean and std in utils/datasets file (specifically in current version line 57). So if you can recalculate the mean and std following data preparation instructions or use our obtained ones (change the commenting of mean and std in train or eval files), the problem should be solved.
In paper we wrote joints number *3 +1, because it's better to write this than 1+2+1+(joints number-1) *3 => (root_rot_velocity (B, seq_len, 1), root_linear_velocity (B, seq_len, 2), root_y (B, seq_len, 1), ric_data (B, seq_len, (joint_num - 1)*3)). It's still the first four essential motion components as mentioned in paper.


Project install option broken?

Not sure what the root of the issue is here given i can import the module in question manually in the interpreter, but using the project install option is currently not very happy.  I used the python 3.8.2 module on the LLNL toss3 machines so you can hopefully reproduce it?  Anyway, cloning, then attempting to install into an alternate directory gives this enormous stack pointing to something that's definitely built in to the python install.  Following the steps on the readme leads to:
$ git clone git@github.com:LLNL/ATS.git ats3_source

$ python3 -m pip install ats3_source/ --target=ats3/

Processing ./ats3_source
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
ERROR: Exception:
Traceback (most recent call last):
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 153, in _main
    status = self.run(options, args)
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 381, in run
    resolver.resolve(requirement_set)
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 201, in resolve
    self._resolve_one(requirement_set, req)
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 365, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 312, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 223, in prepare_linked_requirement
    abstract_dist = _get_prepared_distribution(
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 49, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(finder, build_isolation)
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/distributions/source/legacy.py", line 37, in prepare_distribution_metadata
    self._setup_isolation(finder)
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_internal/distributions/source/legacy.py", line 90, in _setup_isolation
    reqs = backend.get_requires_for_build_wheel()
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py", line 151, in get_requires_for_build_wheel
    return self._call_hook('get_requires_for_build_wheel', {
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py", line 255, in _call_hook
    raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pep517.wrappers.BackendUnavailable: Traceback (most recent call last):
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/subprocess.py", line 64, in <module>
    import msvcrt
ModuleNotFoundError: No module named 'msvcrt'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 63, in _build_backend
    obj = import_module(mod_path)
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/tmp/white242/pip-build-env-uf448wdc/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 8, in <module>
    import _distutils_hack.override  # noqa: F401
  File "/tmp/white242/pip-build-env-uf448wdc/overlay/lib/python3.8/site-packages/_distutils_hack/override.py", line 1, in <module>
    __import__('_distutils_hack').do_override()
  File "/tmp/white242/pip-build-env-uf448wdc/overlay/lib/python3.8/site-packages/_distutils_hack/__init__.py", line 77, in do_override
    ensure_local_distutils()
  File "/tmp/white242/pip-build-env-uf448wdc/overlay/lib/python3.8/site-packages/_distutils_hack/__init__.py", line 63, in ensure_local_distutils
    core = importlib.import_module('distutils.core')
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/tmp/white242/pip-build-env-uf448wdc/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 17, in <module>
    from distutils.dist import Distribution
  File "/tmp/white242/pip-build-env-uf448wdc/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 19, in <module>
    from distutils.util import check_environ, strtobool, rfc822_escape
  File "/tmp/white242/pip-build-env-uf448wdc/overlay/lib/python3.8/site-packages/setuptools/_distutils/util.py", line 11, in <module>
    import subprocess
  File "/usr/tce/packages/python/python-3.8.2/lib/python3.8/subprocess.py", line 69, in <module>
    import _posixsubprocess
ModuleNotFoundError: No module named '_posixsubprocess'

pip installing into a virtualenv seems to work ok still, but wanted to try out this option to compare the workflow differences for everyone (unless that's not supported anymore, which is fine too).
Much appreciate any help sorting this (and/or me) out!

Hi  @jwhite242   and  @davidbloss
David, can you help Jeremy here.  That installation method is not the one I normally use for a public install of ATS.  I believe Jeremy is working off of your install notes.
Jeremy, python 3.8.2 is the correct python to use, so that is good.
However, the 'main' branch of ATS is in a state of flux.   Can you use the 'python3' branch which is the latest python3 stable release.   IE, can you add a
git checkout python3
To your method after you do the clone.
This doesn't solve the issue you are seeing (I confirm I saw the something similar when I attempted your commands)
Jeremy, here are commands I would do for a local install, based on what you posted,  But would like @davidbloss  to check in here with his input on the best way to do this.
git clone git@github.com:LLNL/ATS.git ats3_source
cd ats3_source
git checkout python3
cd ..
python3 -m virtualenv --system-site-packages --python=python3.8 pwd/ats3_install
./ats3_install/bin/python -m pip install pwd/ats3_source

@davidbloss  Can you review the install instructions, particularly  on RZVernal.  Left message in teams.  But my prior 'virtualenv' and 'pip install' methods are not working on rzvernal.

Hey Shawn, finally got back into this and got to a point where those missing extensions are the holdup instead of python2-3 porting of our other bits.   So where do I get those LLNL extensions to start exercising the schedulers/machines?

Hi Jeremy
https://lc.llnl.gov/gitlab/dawson/atsllnl
ssh://git@czgitlab.llnl.gov:7999/dawson/atsllnl.git
And hang on, I am preparing a presentation for SWING and am currently documeting how to install the python3 version of ATS in a private space.
I have verified it works for the core ATS in this repo.  I am now verifying it works with the extensions.  Will get back to you in a bit with how I do this.

@jwhite242 Hey Jeremy, I began looking at this issue and was able to recreate it. Just wanted to double check that this is something that needs attention and isn't potentially fixed in one of your incoming PRs.

So, it wasn't really urgent or anything, I was just trying that option because it was there in the docs and wanted to see what the workflow difference might be.  If that's not an option you all want to support in ATS that's totally fine; I've been successfully using it just as a normal package in a virtual environment for some time now and can certainly continue on that way.

If this is not a necessary install method, and a user can install and test in other ways, we can just update the documentation and close this out.   Energy better spent elsewhere.


Project Setup and Initial Documentation

Set up the basic structure of the "Raiden" project, including necessary folders, files, and a README.md for documentation. Outline the primary goals and architecture of the framework.

Merged cli to main, and mark this one as completed. Thanks @vani-rf !


Add ScriptForEvaluation to the ledger API (PLT-7327)

Added ScriptForEvaluation, containing both a serialised script and the corresponding deserialised script.
Renamed ScriptForExecution to ScriptNamedDeBruijn.
Renamed fromSerialisedScript to deserialiseScript, which produces a ScriptForEvaluation. This is the only way to obtain ScriptForEvaluation.
Removed assertScriptWellFormed.

By the way, three kinds of ScriptDecodeError (CBORDeserialiseError, RemainderError, LedgerLanguageNotAvailableError) are checked in phase 1 (in deserialiseScript), while the fourth kind (PlutusCoreLanguageNotAvailableError) is checked in phase 2 (in mkTermToEvaluate). This can be very bewildering, and begs documentation and testing (PLT-6622).

By the way, three kinds of ScriptDecodeError (CBORDeserialiseError, RemainderError, LedgerLanguageNotAvailableError) are checked in phase 1 (in deserialiseScript), while the fourth kind (PlutusCoreLanguageNotAvailableError) is checked in phase 2 (in mkTermToEvaluate)

Yep, this is exactly the thing that tripped me before: I moved it to be with the others, which is not safe :(

Added the instances. The NFData instance for ScriptForEvaluation is derived via OnlyCheckWhnf, which should be sufficient since deserialiseScript is the only way to obtain a ScriptForEvaluation.

The NFData instance for ScriptForEvaluation is derived via OnlyCheckWhnf, which should be sufficient since deserialiseScript is the only way to obtain a ScriptForEvaluation.

Should be in a comment on the instance.

The NFData instance for ScriptForEvaluation is derived via OnlyCheckWhnf,

I think you meant to say NoThunks, not NFData :slightly_smiling_face:

I think you meant to say NoThunks, not NFData 🙂

lol


refactor(client): improves architecture - adds service and graphql files in each page directory

Ticket
Title: ETQDev, j’ai une refacto de l’archi côté front
Notion Link: https://www.notion.so/jkergal/ETQDev-j-ai-une-refacto-de-l-archi-c-t-front-1cb8b63c2bcb44c6a78b1362e8e3ef01?pvs=4
Description

adds service files into each page directory, to call graphQL hooks and to handle or map data before giving them to components
moves graphQL queries and mutation in each page directory in file called *.graphql.ts

Guidelines
🔗 Link your PRs to their related Notion tickets
✍ Use the commit convention to your pull request title
📃 If your code affects the build, update README.md
🚫 Do not merge a PR until all comments are resolved
🗑 Remove your branch after merging

Cool, but can u explain me the new architecture?

Yup, i'll explane you next Monday :D


Add 'sic' function to bypass version number normalization

Summary of changes
As discussed in #308, this proposed change adds a simple API to bypass version number normalization, forcing the user to explicitly opt into this undesirable behavior. Now a user can specify:
from setuptools import setup, sic

setup(version=sic('1.0.0a'))

And version number normalization will be skipped.
Pull Request Checklist

[x] Changes have tests
[X] News fragment added in changelog.d. See documentation for details

Because I like to nitpick a bit, verbatim may be a more common Latin word than sic though? ... but that's purely cosmetic. An alternative could be exactly() or as_is() ?

I do strongly prefer a single-word names for functions where possible. I think verbatim or exactly would be suitable, but as I thought about it more, I like sic better because (a) the fact that it's a little esoteric in source code is jarring, and that's good for this case because it is a discouraged use and (b) the word sic inherently carries a connotation of "abnormal", so more than just "I want it this way,", it forces the author to acknowledge "I want it this way and that's not normal."
Good suggestions though, and compelling enough to warrant serious consideration and reflection.

@jaraco thank you++ :bowing_man:


pihole percentage sensor not rounding

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.49.0
Python release (python3 --version):
Component/platform:
pihole
Description of problem:
percentage sensor is not rounding
Expected:
rounding would occur (without requiring a template sensor) so that the value isn't 7+ digits long.
Problem-relevant configuration.yaml entries and steps to reproduce:

Traceback (if applicable):

Additional info:

Was fixed with #8499.


Add forwarding for other agents running in the system, like gpg-agent

Implement forwarding of messages to check if in other agents in the systems exist the key that we need.

it should work, im using in that way @nimish, as seen in other tickets im building a new version to debug, i will keep this open and upload the new version. (been with a lot of work so I didnt have time to build it). i will do tomorrow.

Looking forward to it!

There are other “frontend” ssh agent proxies out there. I would suggest using them for fancy setups and leave sekey for a rock solid backend implementation with touchid only.

There are other “frontend” ssh agent proxies out there.

Would you please name few?

Like https://github.com/tiwe-de/ssh-agent-filter.
But following the unix philosophy, it would be great if sekey worked as a standalone agent accessing the SE, and other routing/filtering/selection would happen in a separate agent.


[WIP] Fix crash for single station trip

[x] Fix crash for TripDetails when ExitTimestamp is unavailable
[x] Properly zoom Map for trips with only one station
[x] Add app icon
[ ] Fix crash which occurs after a repeated tag scan
[ ] Routes do not seem to correspond to actual Route

I'll work on this more this week, also have some stations that I'll try to add to the top-level repo

@timroesner For the crash on repeated tag scan... I noticed that too tonight. It was never an issue before, so my assumption is its a bug in beta 5, but could be wrong.

@robbiet480 The unknown station I see is a tag on a bus, which is consistent across agencies, but does not really have a station name.
For the crash I noticed that it has to do something with the TableView, not sure if that is a SwiftUI bug or has to do with how the data is deleted / repopulated when dismissing and presenting.

@timroesner If you have a Android device you should check out Metrodroid (free) and scan your card with it. My goal is, at least for Clipper, to exactly match Metrodroid and TransitPal's results.

@robbiet480 Don’t have an Android to test on 😕 but maybe somebody from metrodroid can help?
Sent with GitHawk


Joined Segments and visual Identifiers

This is an integration PR of #164 and #165.

@bhilburn On second thought, I prefer separate PRs 164 and 165, because of prettier history reasons.
Merging this pull request would look like the other two would have been closed without merging them, right?
If you merge 164 into next, I could push my merge to 165, and you could merge it again. Then both pull requests would be merged correctly..

@dritter - Makes sense!


Documenting src/redux/movies/trending.reducer.js to explain functionality

I will be documenting the functionality of the src/redux/movies/trending.reducer.js file, which handles the state management for trending movies in the Redux store.

I would like to work on this please!

Great! I assigned you (@rohan6820) to the issue. Have fun working on it!


[Realm] Support using IUOs in methods that use generics to get the cl…

…ass name
Closes #2366.
\c @tgoyne

:+1:


Colored pics on masthead

Branch seen live at bosley.club

Checks a box on https://github.com/RevolutionUC/revolutionuc-website/issues/2


How to call ESP_GATTC_NOTIFY_EVT in "spp_client_demo" example (IDFGH-2216)

OS- Windows (Developemnt in msys32)
IDF- v3.3-beta1-136-g97eecfa1b
I am working on BLE to send and recieve data. I used "BLE_SPP_CLIENT" example for this. I connected this to a BLE 5.0 device which is HC-42 and also edited the "ESP_GATT_SPP_SERVICE_UUID" with its service UUID. I have written a program in HC-42 based system in which it can receive any input through BLE (of ESP32) and then transmit data accordingly to ESP32 via BLE.
Now I am able to connect with BLE (HC-42) by edited "static const char device_name[] = "HC-42";" this and then also able to write character to HC-42 from ESP32. But I am unable to recieve any data from HC-42 system to ESP32. For confirmation I used android BLE scanner app to send and get data from HC-42 system which is working fine.
Do I need to add NOTIFY_CHAR UUID of HC-42 for incoming data. As I sew and tried the code of "gattc_demo.c" of "gatt_client" example. In this I am able to recieve the data but not able to write it, just vice versa of previous. Please let me know how can I read or recive data in BLE_SPP_CLIENT or write data in gattc_demo.c example. Both the example with little changes are attached below.
spp_client_demo - Copy.docx
gattc_demo - Copy.docx
Please change the .docx to .c

Any help on this @blueMoodBHD

Hello, do you mean you want to use the function GATT_NOTIFY to transmit data? Recently I find a problem with the GATT_NOTIFY function that may cause your case.
You can try to use this patch to solve the problem. And the available branch of this path is release/v3.3 .
fix_pointer_type_3.3.zip
(First, you need to unzip the attachment file to your computer. )
You can use this command
git apply you_file_location/fix_pointer_type_3.3.patch

Hi, Thanks for your reply. I want to use GATT_NOTIFY to recieve data.
Let me explain you what I am doing. I am using HC-42 module as a server with a MCU to recieve and transmit data. If HC-42 will recieve "S" then it should start transmitting sensor data to client. Now for client I am using ESP32 to write "S" to HM-42 and then receive data accordingly. To check my server part I used a android BLE scanner app to send the "S" and then recieve data accodingly.
Now, To implement it with ESP32 (as a client). I used "BLE_SPP_CLIENT" example and edited the "ESP_GATT_SPP_SERVICE_UUID" with HC-42 (server BLE) service UUID.
I am able to connect with HC-42 by edited "static const char device_name[] = "HC-42";" and then also able to write character to HC-42 from ESP32. But I am unable to recieve any data from HC-42 to ESP32 as it is transmitting but there is no event to recieve data in ESP-32. Do I need to add NOTIFY_CHAR UUID of HC-42 for incoming data, but this variable is not defined in this example.
As I saw and also tried the code of "gattc_demo.c" of "gatt_client" example. In this I am able to recieve the data but not able to write it, just vice versa of previous. In this NOTIFY_EVT called after connected to HC-42 and resposible for receiving data in ESP-32 from HC-42 module. But in this I am unable to send/write "S" to server (HC-42).
Please let me know if you need anything more in this. Meanwhile I will try your patch.

I have understood your issue and I will try to reproduce it on my environment.

Hello, I found you need to register the notify function for the attribute.
If you want to receive the notify messages, you need to call the following API to register the notify function.
esp_err_t esp_ble_gattc_register_for_notify (esp_gatt_if_t gattc_if,
                                             esp_bd_addr_t server_bda, uint16_t handle)

For the spp_client_demo, the notify function will be registered by ESP_GATTC_CFG_MTU_EVT when connecting with the spp_server_demo.  But in this demo, the client and server need to match. If the client checks that the server service does not match the preset protocol, the client cannot register the notify function successfully.
Here is an example I set a small change on spp_client_demo to make it can register the notify function with the other device (rather than the spp_server).
Note: only the characteristic attribute can be notified.
And for more details,  you can find in the tutorials of the Gatt_Client. This is the document link.
https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/bluedroid/ble/gatt_client/tutorial/Gatt_Client_Example_Walkthrough.md#registering-for-notifications

Hi, Thanks for your reply. I tried your code but still it is not receiving data from HC-42 (server). Screenshot is attached here. I checked GATT_CLIENT example in this I am able to recieve the data from HC-42 (Server) but not able to write any data to server as I mentioned earlier.
I think we have to define NOTIFY_UUID of "server" in "ble_spp_cleint" example same as "gatt_client" example and then have to  call notify function. I tried to implement the notify function and defined NOTIFY_UUID in "ble_spp_client" to receive data but that is not working and crashing.

You don't need to set a special uuid for notify, because notify is a method that the server can send the attribute data to master.
From you log I found that the nottify has been registed.
If you want to send data form client to server, please use esp_ble_gattc_write_char function. If you want to send data from server to client, please use notify.
And I write a server that can send notify to the master when it got 's' from spp_client used gattc_write_char function.
If you need I can show you the server code to see what's the different with our server action.
Screenshot is attached here.

I again tried with your "ble_spp_client.c" example. But, I did not received any data from server. I can't change the server code. It is pre defined with some command to get data through BLE. As I mentioned earlier It is working fine as I checked it through any BLE android application. I am unable to call ESP_GATTC_NOTIFY_EVT in this "ble_spp_client" for receiving data. In the "gatt_client.c" example I am unable to call "esp_ble_gattc_write_char" to write data. The connection is established successfully in the example but the problem is still there.
For this I used a small arduino code and connected HC-42 BLE module with arduino:-
The code is :-
#include <SoftwareSerial.h>
SoftwareSerial mySerial(8,9);
void setup()
{
mySerial.begin(115200);
Serial.begin(115200);
delay(100);
}
void loop()
{
if (Serial.available()>0)
mySerial.write(Serial.read());
if (mySerial.available()>0)
Serial.write(mySerial.read());
}
Now I am using above code for server and connect the Arduino with a separate PC and start observing the Data through serial monitor. On the other side I used same ESP32 setup with both the example one by one. In ble_spp_client example it is successfully sending the data and I can see the data on serial monitor of my Server (Arduino + HC-42 setup). But when I tried to send data from server same problem exist. In Gatts_Client.c example when I send from Server side I am able to  recieve in client part and can observe the data in NOTIFY_EVT in esp32.

Sorry, I'm not familiar with how HC-42 works. Can you provide a log of the Gatts_Client running with HC-42? Thank you.

Maybe its just logging issue, but i see problem on this screenshot:
https://user-images.githubusercontent.com/20817125/69847390-f9996800-129c-11ea-9c1e-bd3fec896e70.jpg
You have only 1 handle for characteristic (handle 13) and 2 handles for descriptor, which is wrong, because characteristic should have 2 handles and descriptor 1 handle, but this can be not related.
Could you check with nRF connect on android smartphone if characteristic you are trying to write is with WRITE or WRITE WITH NO RESPONSE properties? Because on this screen last log shows that you are trying to write attribute with handle 13 with status 0 (ESP_OK).
Also for testing purpose you can clone HC-42 in nRF connect, then connect with esp32 client and see logs on android smartphone.

Hi, @gengyuchao
The screenshot of GATT_CLIENT example with HC-42 is attached here. In this I am able to receive data through NOTIFY_EVT but not able to write to server (just vice-versa of ble_spp_client example).

Hi, @chegewara
The screenshot which you have sharep of me is not with the original "ble_spp_client" example. Original one is attached here. Also i am using the nRF connect app for checking purpose. The screenshot is also attached here.

You see, just like i suspected. Your HC-42 characteristic property is WRITE NO RESPONSE. You have to set parameter write_type for it or esp32 will await response:
https://docs.espressif.com/projects/esp-idf/en/v3.3/api-reference/bluetooth/esp_gattc.html#_CPPv424esp_ble_gattc_write_char13esp_gatt_if_t8uint16_t8uint16_t8uint16_tP7uint8_t21esp_gatt_write_type_t19esp_gatt_auth_req_t

What parameter should I use in attribute "write_type". Currently, I am using ESP_GATT_WRITE_TYPE_RSP by default. esp_ble_gattc_write_char( spp_gattc_if, spp_conn_id, db+SPP_IDX_SPP_DATA_RECV_VAL)->attribute_handle, event.size, temp,ESP_GATT_WRITE_TYPE_RSP, ESP_GATT_AUTH_REQ_NONE);

https://docs.espressif.com/projects/esp-idf/en/v3.3/api-reference/bluetooth/esp_gatt_defs.html#_CPPv421esp_gatt_write_type_t

I changed the "write_type" to ESP_GATT_WRITE_TYPE_NO_RSP but still it is not receiving data from server.

I am confused now.
One time you write you cant receive data from server, other time you getting notifications but cant write to server.

Hey, I am trying with two example. I mentioned that with "ble_spp_client" (spp_client_demo.c) example I am able to write to server but can't receive any attribute from server AND when I used "gatt_client" example (gattc_demo.c) I am unable to write character but able to receive it just vice-versa of ble_spp_client. For both the example screenshot is attached here. Please let me know if you need more for this. I can upload a video of all the demonstration.

From this screenshot i can see you can write characteristic with success and receive notifications too:
https://user-images.githubusercontent.com/20817125/69900307-87f21480-1397-11ea-9de4-5782ee367a36.jpg
From this screeshot you can see you have issue with handlers DB:
https://user-images.githubusercontent.com/20817125/69900308-87f21480-1397-11ea-9408-f98e1a685f4b.jpg
Look at third line from the bottom.

Yes, if you see this one:-
https://user-images.githubusercontent.com/20817125/69900307-87f21480-1397-11ea-9de4-5782ee367a36.jpg
ESP_GATTC_WRITE_CHAR_EVT event is called automatically after connection with server and the "write char success" printed. But after connection once this event is over I am trying to write character through serial monitor but unable to call ESP_GATTC_WRITE_CHAR_EVT and unable to write it to server.  Yes, you are correct I am receiving notification as I mentioned earlier. Code is attached here.
gatt_demo1.zip
And for "ble_spp_client" I am trying to solve handlers DB issue which you have mentioned above.

Any Solutions? @chegewara  @gengyuchao

There are no discoveries yet, I am waiting for my HC-42 arrive. I will try your issue when I receive my new HC-42. : )

Hi, @ROYMURLI I finally got HC-42 and tried to connect with ESP32 using HC-42. After some effort, the SPP function can be used normally. Because HC-42 and ESP32 have different service definitions, they cannot be used directly. The following modifications need to be made.
1.Modify the service UUID searched by ESP32 Client to the service provided by HC-42，or search all service
2. Modify the handle of the registered notify.
3. Modify the handle of write char of Enable Notify.
I will send you my code later。

Thanks @gengyuchao  It worked. Will open again if I will face any problem.


Docker image build

Docker image cant build currently:

on i386 platform

Causes:

Cargo is not installed

After #13, we add to the bug list:

ppc64le

Only build docker images for amd64, armv6 and armv7 because those are common platforms and wheels are available so it's easy to build

Now building images for arm64 :tada:

Close the issue for now
Maybe we will add more in future


Add-DbaDbRoleMember

Summary of new feature
New command to add an existing Db User to a Database or Application Role of a Database.
For example, you have already created a user with this command:
New-DbaDbUser -SqlInstance sqlserver2017 -Database DB1 -Username JohnSmith
and you want to add him to db_owners with a command like this:
Add-DbaDbRoleMember -SqlInstance sqlserver2017 -Database DB1 -Username JohnSmith -Role db_owner
Current kludge/helper function using Invoke-DbaQuery is this:
function Add-DbaDbRoleMember {
    param(
        [String]$SqlInstance,
        [String]$Database,
        [String]$Username,
	[String]$Role
    )
    Invoke-DbaQuery -SqlInstance $SqlInstance -Database $Database "ALTER ROLE [$(Role)] ADD MEMBER [$($Username)]"
}

Proposed technical details (if applicable)
Latest version of dbatools as of writing
0.9.701

@ClaudioESSilva created this command! It will be publicly available on Thursday 💯

Just a quick note. It does not cover Application Roles...yet 😃
That should be, maybe, another command. Add-DbaDbApplicationRoleMember.
We keep in touch!

thanks claudio, shall we reopen?

@ddraillantclark can you please open a new one just regarding the Application Roles feature?
Thank you!

ty 👍

Will do.  Thanks!


Ball vs Triangle TOI enters infinite loop

I have encountered an issue where sometimes time_of_impact with ball vs triangle just never returns (I assume it enters an infinite loop). I was able to capture the exact input which was passed to time_of_impact to make it bug out.
EDIT: Never mind, this output isn't reproducable, so I'm not quite sure why it's freezing, but it does it on debug and release builds alike.

Sorry, I fail to reproduce the bug. Here is the code I executed. Please correct me if I misread your input. Here, it is assumed that you used 32-bit floats (the bug is not reproduced with 64-bit either):
extern crate nalgebra as na;
extern crate ncollide;

use na::{Iso2, Vec2, Pnt2};
use ncollide::shape::{Ball, Triangle};
use ncollide::geometry;

fn main() {
    let b = Ball::new(0.375f32);
    let t = Triangle::new(Pnt2::new(0.5, -0.5), Pnt2::new(-0.5, -0.5), Pnt2::new(-0.5, 0.5));

    let m1 = Iso2::new(Vec2::new(11.590705, 5.927473), na::zero());
    let m2 = Iso2::new(Vec2::new(11.5, 5.5), na::zero());

    let cast = geometry::time_of_impact(&m1, &Vec2::new(0.0, -0.016684677), &b, &m2, &na::zero(), &t);

    println!("cast: {}", cast.unwrap());
}

Because this is probably related to floating-point rounding errors, could you, if at all possible:

Re-run your program using a different precision than the current one (e.g. f64 if you are currently using f32) and attempt to reproduce the bug.
Provide more precise numbers (or, even better, their hexadecimal machine representations). I believe that more than only six digits will be necessary to actually reproduce the bug.

This looks like a convergence issue for the implicit_toi_and_normal_with_ray from ncollide_queries/ray/ray_support_map.rs or the underlying gjk executions because it seems that the two objects are nearly-touching.

Sorry, I had narrowed it down to the wrong call to time_of_impact. I was able to figure out that it happened when v1.x was incredibly small, specifically this velocity:
Vec2 {
    x: -0.000000000000000000000000000000000000000006925,
    y: 0
}

Well, to be honest, I have no idea how my implementation behaves with that kind of input! The following seems to produce an infinite loop:
extern crate nalgebra as na;
extern crate ncollide;

use na::{Iso2, Vec2, Pnt2};
use ncollide::shape::{Ball, Triangle};
use ncollide::geometry;

fn main() {
    let b = Ball::new(0.375f32);
    let t = Triangle::new(Pnt2::new(0.5, -0.5), Pnt2::new(-0.5, -0.5), Pnt2::new(-0.5, 0.5));

    let m1 = Iso2::new(Vec2::new(0.0, 0.0), na::zero());
    let m2 = Iso2::new(Vec2::new(11.5, 5.5), na::zero());
    let dir = Vec2::new(0.0, 0.000000000000000000000000000000000000000006925);

    let cast = geometry::time_of_impact(&m1, &dir, &b, &m2, &na::zero(), &t);

    println!("cast: {:?}", cast);
}

As expected, it runs fine with 64-bit floats.
I will investigate this further but it might take some time to write something completely robust.

That's fine, for my purposes I was able to fix it with a simple if velocity.x < epsilon check :)

Hey, thanks! 😄


This code is stolen and is subject to license infringement

Most of the code in this repo is stolen from Reasons, which is distributed under an MIT license, that clearly states:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.


Update README.md

Most of us have been using RSpec long enough to have this step memorised, although it's not clear for newcomers how to setup RSpec after installing it. I would like to add this small change so it makes it easier for newcomers to get started.
Thank you.
David

Thanks!


feat: support otw update

cc @AlCalzone

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 85 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 24.185%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/ZwaveClient.ts
0
85
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
3784

Relevant Lines:
16528

💛  - Coveralls

Testing result:
I didn't see any progress and the update seems to have been done with an empty file.


Fix potential memory leak in WebSocket

The sendBuffer created using malloc in AsyncSocket.h is not freed in all the paths returning from this function. This potential memory leak was identified by a clang-tidy tool check.

The sendBuffer is only malloc:ed in case of requiresWrite being true. So in all other cases it shouldn't be free:d (those are the fast paths).

The sendBuffer is only malloc:ed in case of requiresWrite being true. So in all other cases it shouldn't be free:d (those are the fast paths).


C'thun - Skeram - Add arcane explosion ability

In WoW, has an arcane explosion ability which would fit better than carrion beetles currently. This could be done with a modified thunder clap ability (and maybe an additional effect, along with a cool animation). Arcane explosion could fit some other heroes as well and is fairly iconic, so making an ability like that will be beneficial
Additionally, Skeram potentially should be an agility hero?

Don't forget the Arcane Explosion spell must be mechanically distinct from Thunder Clap, or it must be called and iconed Thunder Clap.


Add phones exit button and make all phones options clickable

https://github.com/knausj85/knausj_talon/issues/530

This seems good, but I'd probably just label it as 'phones hide' matching the existing voice command. It doesn't look like we have 'exit' used as a way of closing this kind of thing elsewhere in the voice commands (we have 'hide', 'off', 'close' in other places). We do have it for shutting down a program, but only one instance I think. It'd be good to keep the number of 'close' type verbs down, and preferably reduce them!.

Sounds reasonable, will update it to hide 👍

Nice one :).


IR-234: Add spec.storage.s3.trustedCA to image registry config

Add spec.storage.s3.trustedCA to configs.imageregistry.operator.openshift.io. It allows administrators to provide custom certificate authorities for S3 connections that should be used by the image registry and its operator.

/assign @ricardomaraschini
for intra-team review

/assign @deads2k
for review and approvals

/assign @bmcelvee @sferich888
for approvals

/retest

@JoelSpeed we have only the jira story. The change seems to be trivial enough not to require an enhancement proposal: it affects only the registry.

/label docs-approved
@dmage I'll follow up with you offline about the doc updates.

/assign @xiuwang
for qe approval

@deads2k comments are addressed, ptal.

/lgtm

/label qe-approved


Fixed copying and cutting keyboard shortcuts

Fixes for #4189
Fyi, @gave92

Wait

@gave92 Ok now!


How would one test for failed charges?

So I did the following:
      before(:each) do

        failed_card_num = '4000000000000002'

        failed_customer = Stripe::Customer.create(
          source: StripeMock.generate_card_token(
            number: failed_card_num,
            brand: 'Visa'
          )
        )

        failed_card_token = Stripe::Token.create(
          :customer => failed_customer.id,
          :source => failed_customer.sources.first.id
        )

        @failed_charge = Stripe::Charge.create(source: failed_card_token.id, amount: @amount, currency: "usd")
      end

      it 'expects to return false once if status of the charge failed' do
        # expect(is_a_valid_charge?(@failed_charge)).to eq false
      end

Where the valid_charge method checks if status is "succeed" - if not return false.  So the card num above I assumed would do the trick. Any idea what I can do ?

@mdere Does this help ?
require 'stripe_mock'
describe 'Card Error Prep' do
  it 'prepares a card error', live: true do
    StripeMock.start
    StripeMock.prepare_card_error(:card_declined, :new_charge)
    cus = Stripe::Customer.create(email<EMAIL_ADDRESS>    expect(cus.id).to match(/^test_cus/)
    expect { Stripe::Charge.create(
      amount: 900,
      currency: 'usd',
      source: StripeMock.generate_card_token(number: '4242424242424241'),
      description: 'hello'
      )
    }.to raise_error(Stripe::CardError, 'The card was declined')
    StripeMock.stop
  end
end

@kathyonu - Well, the thing with my method "is_a_valid_charge" takes in a charge object and checks if the charge is failed by confirming the status of the charge object it self.
I see that the charge is created with almost the same exact replica of the live charge object, but I am looking for if it is possible to mimc a charge object when it fails so I can access the status of "failed".

Stripe returns an error if the card is declined, not a full bodied response as when charge succeeds.
Stripe ref: Within Create a charge is a paragraph titled,
Returns
"Returns a charge object if the charge succeeded. Raises an error if something goes wrong. A common source of error is an invalid or expired card, or a valid card with insufficient available balance."
This means there is no object response given on a failure.  You cannot test that which does not exist in their response.  Have I understood the issue correctly, and ..
Does this resolve the issue ?

@kathyonu - Interesting, well the reason why I'm implementing this is that we noticed various charges that were created on our dashboard that didn't go through and saw that they failed. I def can pull the charges via Charge.retrieve that failed and shows a status of failed.

There's the answer.  Well done.

@mdere Should this Issue be closed ?

We are good - thanks!
On Fri, Oct 16, 2015 at 1:55 PM, kathyonu<EMAIL_ADDRESS>wrote:

@mdere https://github.com/mdere Should this Issue be closed ?
—
Reply to this email directly or view it on GitHub
https://github.com/rebelidealist/stripe-ruby-mock/issues/267#issuecomment-148785411
.

--
Michael Dere
Mobile :<PHONE_NUMBER>
Email<EMAIL_ADDRESS><EMAIL_ADDRESS>


View Team - Selecting a team from the team search is broken

go to the My Teams screen
search for a team
tap on one the teams
Expected Result: Team details should be displayed with the option to join the team
Actual Result: App throws an error as shown in the screenshot below

This is now fixed in master.


Training with finetune/lora.py takes longer with larger micro_batch_size

Fine tuning with micro_batch_size set to 4 takes just a little less than 4x the time with micro_batch_size set to 1.  I was under the impression that micro_batch_size should only impact the internal training (reducing storage as a trade off to slightly longer training), but it looks like the number of iterations is the same regardless of the micro_batch_size setting, resulting in vastly different amounts of training.  Should max_iters be set to
max_iters = 50000  / micro_batch_size # train dataset size
EDIT: 11464.66s vs. 3111.51s for micro_batch_size = 4 and 1, respectively on an RTX 4090.  No other changes from main branch of finetune/lora.py.
I only tested lora.py, but it appears that adapter.py and adapter_v2.py do the same thing.

I don't have an easy answer here. This probably depends on your hardware and model size. If you are compute-bound then this would be expected. If you want to debug at this, I suggest profiling the code. Here's a guide: https://www.youtube.com/watch?v=qRZrVNNe3gQ


Sets not downloading

I tried soundscrape https://soundcloud.com/ollyjamesmusic/sets/send-your-beatport-receipts-to and Terminal waited a few seconds until starting a new line with MacBook:~ Me$ indicating it didn't download it.
Edit: I tried a set with multiple songs and it worked. Maybe it doesn't download sets with one track?

It looks like that set doesn't exist, could that be why?

Well it did when I posted this, I guess you can disregard this unless another broken playlist pops up.

Okay, thanks for reporting! Let me know if anything else comes up.

Found another set that doesn't download https://soundcloud.com/datweekaz/sets/tweekay16

Works for me [OSX] - can you try
pip install soundscrape --upgrade

Oops, never mind, I get the same error as you do. Hm.

I think they've maybe they nuked the new API key..

But why does it work on Windows if they patched your API key

Looks like the files downloaded okay on OSX, not sure why though..


fix: Distance - No error when editing the default rate to 4 decimal places and creating a same one.

Explanation of Change
This is a follow-up PR. The original PR prevents users from creating distance rates with the same value. However, in offline mode, the validation was failing because the rate value conversion on the frontend was not the same as on the backend. This PR uses parseFloat(Number(rateRate || 0).toFixed(10)) to ensure that all rates match the backend conversion in the validation function.
Fixed Issues
$ https://github.com/Expensify/App/issues/53427
PROPOSAL:
Tests

Go offline.
Create a new workspace.
Go to More features > Enable Distance rates.
Go to Distance rates.
Click on the default rate.
Change the rate to 1.00 and save it.
Click Add rate.
Try to save the same rate 1.00 and note that it shows error.
Click on the default rate.
Change the rate to 1.2345 (any four decimal places) and save it.
Click Add rate.
Create a new rate same as 1.2345 in Step 11 and save it.
Verify error is shown when saving the same distance rate.

[x] Verify that no errors appear in the JS console

Offline tests

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/5d71f36a-ebc7-4ebe-a407-b69dcd5a0a44

Android: mWeb Chrome
https://github.com/user-attachments/assets/b9b0985a-13d6-40bf-a0be-1a0620f3bec9

iOS: Native
https://github.com/user-attachments/assets/e12e37b8-6a0a-48ea-943e-873d1b1a614c

iOS: mWeb Safari
https://github.com/user-attachments/assets/82c47f52-194c-4129-b3ba-f44a9eb280b9

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/baf5f5d5-d2d9-4c7d-87cc-0fb6e53fbfcf

MacOS: Desktop
https://github.com/user-attachments/assets/83220b12-0167-4a30-babc-59952c72e0c9

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Memory leak

Program settings
Version: 0.0.31 (latest)
Command line: ./uashield --no-sandbox (doesn't start without --no-sandbox parameter)
Proxy: enabled
Max threads (just my preference): 128
The amount of threads doesn't matter because the same happens with 256 or even 32 threads.
Environment
Oracle VM VirtualBox (virtual machine)
OS (uname -a output): Linux kali 5.16.0-kali6-amd64 #1 SMP PREEMPT Debian 5.16.14-1kali2 (2022-03-23) x86_64 GNU/Linux
RAM: 3 GB
Behavior
When the program is running normally, the CPU utilization is about 20%, and the RAM usage is 1.5/3.0 GB.
After running for quite a bit, the program starts gradually eating all the memory available, and the CPU load rises to 100% immediately.

Memory usage per process right before the crash:

By the way, the program window doesn't respond anymore, and the terminal output is scrolling way faster than normal. Among the usual logs, there's superagent: double callback bug message appearing every few seconds.
Then the program runs out of memory, and the crash happens. Here's a message you can see in the terminal:

Tried to gather everything I noticed. Don't really sure what else I can provide, so here it is.

I already created issue about this on node-socks-proxy.
TooTallNate/node-socks-proxy-agent#93

And looks like there is issue in http-proxy-agent and https-proxy-agent . I'm trying to find it, but now we are on workarounds :D . I spend hours on this issue and looks like this problem not in uashield.

The issue is still present in the latest release 1.0.6, but there's some new info about it. The process causing the system to hang is now the one with the --type=renderer argument.

Forgot to add some logs.
First, there's noticeable the worker count degradation with some errors. But when the thread count reaches 16, there're a lot more of the same errors thrown.
The log of errors is very long. This short snippet was captured at the moment the memory usage went up.
Automatic planer changed workers count from [29] to [28]
Automatic planer changed workers count from [28] to [27]
Automatic planer changed workers count from [27] to [26]
Automatic planer changed workers count from [26] to [25]
Automatic planer changed workers count from [25] to [24]
Automatic planer changed workers count from [24] to [23]
Automatic planer changed workers count from [23] to [22]
Automatic planer changed workers count from [22] to [21]
Automatic planer changed workers count from [21] to [20]
Automatic planer changed workers count from [20] to [19]
Automatic planer changed workers count from [19] to [18]
Automatic planer changed workers count from [18] to [17]
Automatic planer changed workers count from [17] to [16]
[4481:0503/151515.572648:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.6vhsY2 failed: Too many open files (24)
Automatic planer changed workers count from [16] to [17]
Automatic planer changed workers count from [17] to [18]
Automatic planer changed workers count from [18] to [19]
Automatic planer changed workers count from [19] to [20]
pageview
null
Automatic planer changed workers count from [20] to [21]
Automatic planer changed workers count from [21] to [20]
Automatic planer changed workers count from [20] to [19]
Automatic planer changed workers count from [19] to [18]
Automatic planer changed workers count from [18] to [17]
Automatic planer changed workers count from [17] to [16]
[4481:0503/151602.761683:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.VZqJ8n failed: Too many open files (24)
Automatic planer changed workers count from [16] to [17]
Automatic planer changed workers count from [17] to [16]
[4481:0503/151621.010336:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.p7zLN1 failed: Too many open files (24)
[4481:0503/151627.687667:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.1E64hm failed: Too many open files (24)
[4481:0503/151636.608858:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.0G2eYS failed: Too many open files (24)
Error: EMFILE: too many open files, open '/root/.config/UA Cyber SHIELD/config.json'
    at Object.openSync (node:fs:585:3)
    at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812)
    at Object.readFileSync (node:fs:453:35)
    at Object.e.readFileSync (node:electron/js2c/asar_bundle:5:9160)
    at ElectronStore.get store [as store] (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:276:29)
    at ElectronStore.set (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:170:17)
    at IpcMainImpl.<anonymous> (/tmp/.mount_uashied3We2N/resources/app.asar/electron-main.js:34:13190)
    at IpcMainImpl.emit (node:events:390:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:10120)
    at EventEmitter.emit (node:events:390:28) {
  errno: -24,
  syscall: 'open',
  code: 'EMFILE',
  path: '/root/.config/UA Cyber SHIELD/config.json'
}
[4481:0503/151711.745965:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.UqhUzw failed: Too many open files (24)
[4481:0503/151712.140937:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.J2ESXX failed: Too many open files (24)
[4481:0503/151712.165743:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.6VhJ8A failed: Too many open files (24)
Error: EMFILE: too many open files, open '/root/.config/UA Cyber SHIELD/config.json'
    at Object.openSync (node:fs:585:3)
    at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812)
    at Object.readFileSync (node:fs:453:35)
    at Object.e.readFileSync (node:electron/js2c/asar_bundle:5:9160)
    at ElectronStore.get store [as store] (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:276:29)
    at ElectronStore.set (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:170:17)
    at IpcMainImpl.<anonymous> (/tmp/.mount_uashied3We2N/resources/app.asar/electron-main.js:34:13190)
    at IpcMainImpl.emit (node:events:390:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:10120)
    at EventEmitter.emit (node:events:390:28) {
  errno: -24,
  syscall: 'open',
  code: 'EMFILE',
  path: '/root/.config/UA Cyber SHIELD/config.json'
}
Error: EMFILE: too many open files, open '/root/.config/UA Cyber SHIELD/config.json'
    at Object.openSync (node:fs:585:3)
    at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812)
    at Object.readFileSync (node:fs:453:35)
    at Object.e.readFileSync (node:electron/js2c/asar_bundle:5:9160)
    at ElectronStore.get store [as store] (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:276:29)
    at ElectronStore.set (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:170:17)
    at IpcMainImpl.<anonymous> (/tmp/.mount_uashied3We2N/resources/app.asar/electron-main.js:34:13190)
    at IpcMainImpl.emit (node:events:390:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:10120)
    at EventEmitter.emit (node:events:390:28) {
  errno: -24,
  syscall: 'open',
  code: 'EMFILE',
  path: '/root/.config/UA Cyber SHIELD/config.json'
}
Error: EMFILE: too many open files, open '/root/.config/UA Cyber SHIELD/config.json'
    at Object.openSync (node:fs:585:3)
    at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812)
    at Object.readFileSync (node:fs:453:35)
    at Object.e.readFileSync (node:electron/js2c/asar_bundle:5:9160)
    at ElectronStore.get store [as store] (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:276:29)
    at ElectronStore.set (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:170:17)
    at IpcMainImpl.<anonymous> (/tmp/.mount_uashied3We2N/resources/app.asar/electron-main.js:34:13190)
    at IpcMainImpl.emit (node:events:390:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:10120)
    at EventEmitter.emit (node:events:390:28) {
  errno: -24,
  syscall: 'open',
  code: 'EMFILE',
  path: '/root/.config/UA Cyber SHIELD/config.json'
}
Error: EMFILE: too many open files, open '/root/.config/UA Cyber SHIELD/config.json'
    at Object.openSync (node:fs:585:3)
    at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812)
    at Object.readFileSync (node:fs:453:35)
    at Object.e.readFileSync (node:electron/js2c/asar_bundle:5:9160)
    at ElectronStore.get store [as store] (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:276:29)
    at ElectronStore.set (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:170:17)
    at IpcMainImpl.<anonymous> (/tmp/.mount_uashied3We2N/resources/app.asar/electron-main.js:34:13190)
    at IpcMainImpl.emit (node:events:390:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:10120)
    at EventEmitter.emit (node:events:390:28) {
  errno: -24,
  syscall: 'open',
  code: 'EMFILE',
  path: '/root/.config/UA Cyber SHIELD/config.json'
}
Error: EMFILE: too many open files, open '/root/.config/UA Cyber SHIELD/config.json'
    at Object.openSync (node:fs:585:3)
    at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812)
    at Object.readFileSync (node:fs:453:35)
    at Object.e.readFileSync (node:electron/js2c/asar_bundle:5:9160)
    at ElectronStore.get store [as store] (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:276:29)
    at ElectronStore.set (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:170:17)
    at IpcMainImpl.<anonymous> (/tmp/.mount_uashied3We2N/resources/app.asar/electron-main.js:34:13190)
    at IpcMainImpl.emit (node:events:390:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:10120)
    at EventEmitter.emit (node:events:390:28) {
  errno: -24,
  syscall: 'open',
  code: 'EMFILE',
  path: '/root/.config/UA Cyber SHIELD/config.json'
}
Error: EMFILE: too many open files, open '/root/.config/UA Cyber SHIELD/config.json'
    at Object.openSync (node:fs:585:3)
    at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812)
    at Object.readFileSync (node:fs:453:35)
    at Object.e.readFileSync (node:electron/js2c/asar_bundle:5:9160)
    at ElectronStore.get store [as store] (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:276:29)
    at ElectronStore.set (/tmp/.mount_uashied3We2N/resources/app.asar/node_modules/conf/dist/source/index.js:170:17)
    at IpcMainImpl.<anonymous> (/tmp/.mount_uashied3We2N/resources/app.asar/electron-main.js:34:13190)
    at IpcMainImpl.emit (node:events:390:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:10120)
    at EventEmitter.emit (node:events:390:28) {
  errno: -24,
  syscall: 'open',
  code: 'EMFILE',
  path: '/root/.config/UA Cyber SHIELD/config.json'
}
[4481:0503/151725.527400:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.qjY8B3 failed: Too many open files (24)
[4481:0503/151729.321989:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.mTsMrD failed: Too many open files (24)
pageview
Error: getaddrinfo EMFILE www.google-analytics.com
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26) {
  errno: -24,
  code: 'EMFILE',
  syscall: 'getaddrinfo',
  hostname: 'www.google-analytics.com'
}
[4481:0503/151750.673180:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.4juMyV failed: Too many open files (24)
[4481:0503/151801.246013:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.mJL8se failed: Too many open files (24)
Failed to load list of external proxy resources. Error code: [EMFILE]
Failed to load list of external targets resources. Error code: [EMFILE]
Failed to load proxy resource https://raw.githubusercontent.com/opengs/uashieldtargets/master/proxy.json. Error: [EMFILE]
Failed to load proxy list. Loaded empty
EMFILE
Failed to load targets list. Received empty list
[4481:0503/151832.740546:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.olbcDQ failed: Too many open files (24)
pageview
Error: getaddrinfo EMFILE www.google-analytics.com
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26) {
  errno: -24,
  code: 'EMFILE',
  syscall: 'getaddrinfo',
  hostname: 'www.google-analytics.com'
}
[4481:0503/151939.310454:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.7VGIFm failed: Too many open files (24)
[4481:0503/151939.310521:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.bnvjGw failed: Too many open files (24)
[4481:0503/151939.310558:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.Wkvxxo failed: Too many open files (24)
pageview
Error: getaddrinfo EMFILE www.google-analytics.com
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26) {
  errno: -24,
  code: 'EMFILE',
  syscall: 'getaddrinfo',
  hostname: 'www.google-analytics.com'
}
[4481:0503/152119.508339:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.UhowHa failed: Too many open files (24)
[4481:0503/152133.550187:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.PuQZzG failed: Too many open files (24)
[4481:0503/152139.014468:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.yp8VSZ failed: Too many open files (24)
[4481:0503/152139.014540:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.NjhBCI failed: Too many open files (24)
[4481:0503/152149.323256:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.47DOGk failed: Too many open files (24)
[4481:0503/152154.990999:ERROR:platform_shared_memory_region_posix.cc(250)] Creating shared memory in /dev/shm/.org.chromium.Chromium.EjQdku failed: Too many open files (24)

...


close() api is not shutting down connection

Hi,
I am trying to write a websocket client that listens from a websocket server for some events and dumps them on screen. If the length of message exceeds 250 chars, I wan the connection to close. I have written the following code for it:
import time
from ws4py.client.threadedclient import WebSocketClient

WS_HOST='<IP_ADDRESS>:8081'
EVENTS_URL = 'ws://' + WS_HOST + '/events'
FAULTS_URL = 'ws://' + WS_HOST + '/faults'
ALARMS_URL = 'ws://' + WS_HOST + '/alarms'
ECHO_URL = 'ws://echo.websocket.org/'

class SNMPWebSocketClient(WebSocketClient):
    def opened(self):
        print 'Opened client at {0}'.format(self.url)

    def closed(self, code, reason=None):
        print "Closed down", code, reason

    def received_message(self, m):
        print m
        print 'Client={0}, server={0}'.format(self.client_terminated, self.server_terminated)
        print len(m)
        if len(m) >= 272:
            print 'Send close signal'
            self.close()
        print '\n\n'

if __name__ == '__main__':
    ws = SNMPWebSocketClient(EVENTS_URL)
    try:
        ws.connect()
        ws.run_forever()
    except KeyboardInterrupt:
        ws.close(code=1002, reason='kb yay Interrupt')
        time.sleep(1)
        print 'Kb Interrupt'

But while listening the close never goes through. The client and server flags for terminated shows 'True' but still the client keeps receiving messages. Is there something wrong in my use of close()? Or is this how the websocket client is supposed to work until it is explicitly killed?
Here is the output:
 $ python threaded_ws.py
Opened client at ws://<IP_ADDRESS>:8081/events
{"Enable":true,"OwnerId":1,"OwnerName":"ASICD","EventName":"PortOperStateDown","Description":"Port Operational State DOWN Event","SrcObjName":"Port","EvtId":2,"TimeStamp":"2017-03-28T14:38:32.881456505Z","SrcObjKey":{"IntfRef":"eth25"},"AdditionalData":null}
Client=False, server=False
258

{"Enable":true,"OwnerId":1,"OwnerName":"ASICD","EventName":"VlanOperStateDown","Description":"Vlan Operational State DOWN Event","SrcObjName":"Vlan","EvtId":4,"TimeStamp":"2017-03-28T14:38:32.882046191Z","SrcObjKey":{"VlanId":3050},"AdditionalData":null}
Client=False, server=False
254

{"Enable":true,"OwnerId":1,"OwnerName":"ASICD","EventName":"IPv4IntfOperStateDown","Description":"IPv4 Interface Operational State DOWN Event","SrcObjName":"IPv4Intf","EvtId":6,"TimeStamp":"2017-03-28T14:38:32.883912357Z","SrcObjKey":{"IntfRef":"eth25"},"AdditionalData":null}
Client=False, server=False
276
Send close signal

{"Enable":true,"OwnerId":1,"OwnerName":"ASICD","EventName":"PortOperStateUp","Description":"Port Operational State UP Event","SrcObjName":"Port","EvtId":1,"TimeStamp":"2017-03-28T14:38:33.38139292Z","SrcObjKey":{"IntfRef":"eth25"},"AdditionalData":null}
Client=True, server=True
253

{"Enable":true,"OwnerId":1,"OwnerName":"ASICD","EventName":"VlanOperStateUp","Description":"Vlan Operational State UP Event","SrcObjName":"Vlan","EvtId":3,"TimeStamp":"2017-03-28T14:38:33.382071856Z","SrcObjKey":{"VlanId":3050},"AdditionalData":null}
Client=True, server=True
250

{"Enable":true,"OwnerId":1,"OwnerName":"ASICD","EventName":"IPv4IntfOperStateUp","Description":"IPv4 Interface Operational State UP Event","SrcObjName":"IPv4Intf","EvtId":5,"TimeStamp":"2017-03-28T14:38:33.382852609Z","SrcObjKey":{"IntfRef":"eth25"},"AdditionalData":null}
Client=True, server=True
272
Send close signal

I have the same issue here. It just marks it as closed, but does not really close it.


upgrade to fabric8 2.0.33.

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/283/
Test PASSed.


ifaddrs.h: getifaddrs() causing invalid argument exception.

Hi. In alignement with my explorations today, it appears that ifaddrs.h is not fully implemented, or there is some other bug. Whenever one attempts to call getifaddrs(), errno is set to EINVAL.
This is causing issues in #134 and is probably just as related to #69 as anything else is. Furthermore, this is the reason why almost all of the LibZMQ tests seem to be failing. I've attached the test suite output after building libzmq and running make check. Finally this is causing errors with Anaconda, in particular the iPython or Jupyter notebook projects cannot use sockets to communicate between the browser and the iPython kernel, this is seen in this issue #1331.
The following code replicates the error:
#include <ifaddrs.h>
#include <iostream>
#include <errno.h>

int main(){
    ifaddrs *p = 0;
    int rc = getifaddrs(&p);

    std::cout << "Succeded ? " << rc << "\n";

    if(rc == -1){
        if(errno == 22)
            std::cout << "Invalid argument exception.";
    }

    std::cin.get();
    return 0;

}

@MadcowD getifaddrs requires NETLINK\RAW socket support, which unfortunately we don't have at the moment. Meanwhile, help us prioritize this by up voting network interface query support in our user voice page. Thanks for trying out WSL and providing us valuable feedback.

Also see #118

Hello!   I'm seeing exactly the same issue for cpp-ethereum.
I've worked through build errors in #147 and am now onto runtime errors, the first of which is a showstopper on getifaddrs().
See https://twitter.com/BobSummerwill/status/740820732737904640.
The failure is occurring very early on, at https://github.com/bobsummerwill/cpp-ethereum/blob/merge_repos/libp2p/Network.cpp#L82, in code which is likely very similar to networking code which many other Linux apps have.

Works on my latest internal builds, the fix should make its way to the insider builds eventually (if it already hasn't).

This is fixed in the latest insider build 14971. Thanks.

Hi, just a question.
How many days would take to launch the fix on regular version? I'm not into Insider Program.

Hi @Hostert -- these improvements are scheduled to be released as part of the next major Windows version, which we've been told is scheduled for release sometime in maybe the first quarter or half of 2017?

Is this one really closed? I am on 14971 but am still experiencing the problem.

Thank you @aseering.

@marcobehler - I am not able to repro the above issue on build 14971 using the sample program posted by @MadcowD. Do you have the teredo interface installed by any means on your Windows box? If so, you might be running into #1414 or #468. See the workaround posted by @saschagehlich in #468 to disable the teredo interface. A fix for that is coming soon.

@sunilmut I can confirm that @saschagehlich's workaround posted in in #468 resolved my problem in trying to run Middleman (https://github.com/middleman/middleman/issues/1960). Thank you so much! Care to explain (to a Windows & Ubuntu newbie like myself) what this change actually does?

@sunilmut can also make it work with @saschagehlich's workaround. (then the error goes away)...

Glad to know @mattrothenberg and @marcobehler that it resolves both of your issues. @JasonLinMS can provide the exact details. But as I understand, the "Teredo Tunneling Pseudo-Interface" has a HW address of 32 bytes. In string format, each byte requires 3-byte for representation i.e  32*3 = 96bytes. While the 'ip' tool is hard coded to only expect 64 bytes overall. So, there is buffer overflow and the tool crashes.

@sunilmut Thanks for the great explanation.

The teredo issue should be fixed in 15007

Closing this out. If anyone is still (on builds 15007+) having problems, please let us know and we can reopen.


[BUG] Monk's little details bug with "token highlight"

Hello,
"Monk's little details" got an update and the "token highlight" is now above the token instead of beneath.

Thanks for the report. Fixed in 2.8.13.


Fix flipped EYEDIR.z in sky shaders

As reported in #47711, EYEDIR's Z component had the wrong sign.
We were already accounting for this in the cubemap pass, so this commit just moves that declaration into the common part of the shader. I don't fully follow the math here; it's possible that cube_normal itself is incorrect and/or that panorama_coords is too. Any advice there?
Here's a before (left) and after (right), looking toward +X +Y +Z with FOV 120:
shader_type sky;
void sky() { COLOR = EYEDIR; }

Out of curiosity, does this fix https://github.com/godotengine/godot/issues/56136?

@Calinou Oof, unfortunately not :pensive: It seems like there's a more fundamental problem that this PR would be merely working around.

If you look above, you can see that cube_normal.z is already multiplied by -1 so this change essentially results in it getting multiplied right back.
This is going to need a little bit of investigation for 2 reasons:

It looks like the z-inversion for the subpasses was added with little to no investigation (https://github.com/godotengine/godot/pull/37438)
This PR breaks sky shaders that use DirectionalLight3Ds (the lights appear in the wrong position, they are inverted on the z axis).

@clayjohn To your second point, it looks like the directional light data being passed to the sky shader also has an inverted Z component. On master, given a WorldEnvironment with the following sky shader:
shader_type sky;

void sky() {
	COLOR = LIGHT0_DIRECTION;
}

Pointing a DirectionalLight3D along each axis demonstrates the problem:

I added commit ff2a5c0 to address that, so EYEDIR and LIGHTx_DIRECTION should agree again.

I added commit https://github.com/godotengine/godot/commit/ff2a5c04b16a2aab6a688f4637d1e746f7a69794 to address that, so EYEDIR and LIGHTx_DIRECTION should agree again.

Looks good! I can't remember negating the z direction like that when I originally wrote this, but there it is. It makes sense to remove that.
Now, we just need to figure out if we can just skip the original negation of cube normal.z. With your PR, we are inverting the z, calculating the panorama coords (for using HDRIs) and then inverting the z again. It probably makes sense to never invert the z and just be consistent throughout. I don't think that should cause any issues, as it should just flip HDRIs on their z-axis. But we should double check.

Thanks! Done in d437355 :smile:
I wanted to preserve the appearance of HDRIs between Godot 3 and master (assuming the former is correct), so I made a quick reference texture to compare them and decided to move the negation of cube_normal.z into the calculation of panorama_coords. Also checked that cubemaps and radiance line up after all my tampering.
Something feels off about this still, given #56136 and the other cube_normal definition here. I get the sense I'm contorting this cube_normal to account for a sign error and/or swapped components in params.projections or params.orientation...

Something feels off about this still, given https://github.com/godotengine/godot/issues/56136 and the other cube_normal definition here. I get the sense I'm contorting this cube_normal to account for a sign error and/or swapped components in params.projections or params.orientation...

Something feels off as in there is a code smell? Or the result actually looks wrong?

Something feels off as in there is a code smell? Or the result actually looks wrong?

Just a code smell :sweat_smile:

Thanks!


Search Improvement: Community/Campus partners

Example: When searching “The Institute for Holocaust Education” the system doesn’t pull up that there are any partners with that name. BUT that is a community partner in the system just without “The” in front of it.
Community partner search should pull up any organization with those words within the name, and the name with the exact sequence of words entered in the search.

This also includes not having to re-type a new community partners name when you get beyond the search (just like with a new project name following the search). Here is the project example for reference:

This also includes not having to re-type a new community partners name when you get beyond the search (just like with a new project name following the search). Here is the project example for reference:

The group discussed this issue in a meeting. We are looking at ways to improve the search by changing the single search bar option now into a layered search. For instance, searching by academic year, project name, and community partner to avoid duplicates.

@sirichandana95 Let's talk about this tonight.  She wants to be sure that if you type in The Institute for Holocaust Education, that Institute for Holocaust Education is displayed as a possible match.  If not, there will be duplicates in the system.
Also, she is going to let me know if we just always search on keyword and not have a drop down for exact match.

Sure Wendy. Thank you
On Wed, Oct 23, 2019 at 2:23 PM Wendy Cobb<EMAIL_ADDRESS>wrote:

@sirichandana95
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_sirichandana95&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=GbmOoB7RrLogieHUIMC7hCreXeuSRsyfQiMklkAZ5RU&m=JWtMVqGTmCXWyuq6xV1fFMR9jvVXjqajDzwNeedDOPg&s=rN5jK9Z4cdJ49I3nsUZlrwuf94y5GKzS22K49o22LoQ&e=
Let's talk about this tonight. She wants to be sure that if you type in The
Institute for Holocaust Education, that Institute for Holocaust Education
is displayed as a possible match. If not, there will be duplicates in the
system.
Also, she is going to let me know if we just always search on keyword and
not have a drop down for exact match.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_uno-2Disqa-2D8950_uno-2Dcpi_issues_1386-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAMPVYV5B6LMM72DDE5HKTM3QQCQBXA5CNFSM4IMMLYFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECCSRKA-23issuecomment-2D545597608&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=GbmOoB7RrLogieHUIMC7hCreXeuSRsyfQiMklkAZ5RU&m=JWtMVqGTmCXWyuq6xV1fFMR9jvVXjqajDzwNeedDOPg&s=kOnZjdis2V81lFAWnMGT5xsXU2DtEBhSxgFQvqEt0mI&e=,
or unsubscribe
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AMPVYV2VABZBXKZF4EA72OTQQCQBXANCNFSM4IMMLYFA&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=GbmOoB7RrLogieHUIMC7hCreXeuSRsyfQiMklkAZ5RU&m=JWtMVqGTmCXWyuq6xV1fFMR9jvVXjqajDzwNeedDOPg&s=qEZFmp8zQ-M-2TeCSJ752oRoN7KrsY-VTGC9T8WxJ5g&e=
.

@sirichandana95 @babonaresh @parimitamohanty
The client wants to make changes to make search more intuitive for user.  Please also remember to include messages if nothing is returned etc.  So user knows what is happening.
removing the drop-downs above the search fields (i.e., “Keywords”) BECAUSE they are not intuitive, AND unnecessary because the search functionality should improve to the point that the tool is picking up any word entered if it is in any title, or project form field.
i.	This applies to community partners and campus partners too
Please let me know if you need any more clarification.  They think that if you type in something it should look at everything and pick that information up.

@wlcobb I don't see the word "Keywords" anywhere.
If you find it on dev, can you send a screenshot?

@parimitamohanty It is on the search screen for partner.

On Thu, Oct 24, 2019 at 9:54 PM Wendy Cobb<EMAIL_ADDRESS>wrote:

@parimitamohanty
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_parimitamohanty&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=vR0unsWZpPcilFTM_JdN2fKvU0NnGvnoTK_k0RkIIt4&m=93-u7nh85jiwFKbD9lji4zxR2iP8bG2F2lbks0NKOqI&s=m7breLmHy8YJUyPJ1c_Z32_W75gC7mxasD8xaYEtNMs&e=
It is on the search screen for partner.
[image: search_option]
https://urldefense.proofpoint.com/v2/url?u=https-3A__user-2Dimages.githubusercontent.com_42555289_67539757-2Dc580c500-2Df6a8-2D11e9-2D9f85-2De662ff8f230c.PNG&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=vR0unsWZpPcilFTM_JdN2fKvU0NnGvnoTK_k0RkIIt4&m=93-u7nh85jiwFKbD9lji4zxR2iP8bG2F2lbks0NKOqI&s=4fzRLGwNaHshAbZxmKwlRWblsnP5lMZ3z_LXbC_u3kE&e=
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_uno-2Disqa-2D8950_uno-2Dcpi_issues_1386-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAKFAB4ZB4WBSC5AVPLJJZQTQQJNVHA5CNFSM4IMMLYFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECHAQ5I-23issuecomment-2D546179189&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=vR0unsWZpPcilFTM_JdN2fKvU0NnGvnoTK_k0RkIIt4&m=93-u7nh85jiwFKbD9lji4zxR2iP8bG2F2lbks0NKOqI&s=jaWVGcipU2XprcZkppHyzVOCclKDQLI4Ax_BckrXctM&e=,
or unsubscribe
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKFAB44QDRRAT5LMBY2Z3HDQQJNVHANCNFSM4IMMLYFA&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=vR0unsWZpPcilFTM_JdN2fKvU0NnGvnoTK_k0RkIIt4&m=93-u7nh85jiwFKbD9lji4zxR2iP8bG2F2lbks0NKOqI&s=6kb6P8A6sWNbPoo7NUKISKRDlnPXqu-pp-yERaEAX10&e=
.

Yes got it
Earlier I was  looking into the search project screen for it so got
confused.
All clear now.
Thanks

@wlcobb
No label is required above the search field right?

@parimitamohanty  Correct, eliminate the Keyword/Patrner name drop down and it should try to find best match from what type in.

@parimitamohanty @sirichandana95 The feedback is that there needs to be more context around the search.  I will get additional feedback.


WIP: Move the extension API to the api module

Just to keep the ball rolling :soccer:
Some issues with the current implementation:

Groovy expects a static resolution of the processor, so I had to add static JRubyProcessor processor = new JRubyProcessor() in the tests
Groovy does not support default methods in interfaces, so I hard to re-declare default methods in JRubyProcessor and BaseProcessor
I had to break the API in few places

The idea is to use this pull request as a starting point. Ideas ? Thoughts ?

Thanks for your review @robertpanzer
I'm currently in vacation but when I'm back I will do a follow-up :wink:

Thanks @robertpanzer
I'm back!

Can you tell where you introduced changes to the API?
Clearly it breaks binary compatibility due to the renaming of Processor to BaseProcessor, but are there also changes that would require changes other than recompiling?

Reading the code again I don't think it breaks the API anymore.

Looks great! 👍
I'll try to create an RC2 tomorrow.

Nice (team)work!

@robertpanzer Awesome, next step is to move the Asciidoctor interface 😅

Awesome, next step is to move the Asciidoctor interface 😅

We can go for that :)
Only if we want to remove the factory methods that take a gem path at the same time I think we should wait for 2.0.0

Yes you're right.
I thought about it and maybe this API can stay. I mean it may be useful to load from a given path in other implementations.
But at the same time it may be too generic and the users might get confused by what the factory actually does with this path.
I still feel like "advanced initialization" strongly depends on the context (and thus on the mplementation).


Gulp package-solution --ship error after migrating to SPFx 1.11

After migrate with your suggestion, when packaging the solution there is an error
Error - 'package-solution' sub task errored after 171 ms
Cannot read property 'name' of undefined
You must also upgrade the "package-solution.json" file in adding a developer section
{
    "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json",
    "solution": {
        "name": "Your Webart Name",
        "id": "47c915dd-b5e5-4c2e-82f3-c6075c21b3bb",
        "version": "<IP_ADDRESS>",
        "includeClientSideAssets": true,
        "isDomainIsolated": false,
        "developer": {
            "name": "",
            "websiteUrl": "",
            "privacyUrl": "",
            "termsOfUseUrl": "",
            "mpnId": ""
            }
    },
    "paths": {
        "zippedPackage": "solution/process-guide.sppkg"
    }
}

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

ID: 56ca1a68-c91c-077f-b082-c5184af9b93f
Version Independent ID: b6b0f7ff-4f39-b05d-c203-92f5aaec3f63
Content: SharePoint Framework v1.11 release notes
Content Source: docs/spfx/release-1.11.0.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Try to add developer section in package-solution.json to resolve this issue:
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json",
"solution": {
"name": "jerrytest-client-side-solution",
"id": "5ec36f58-4fce-4371-9000-805fc3041c31",
"version": "<IP_ADDRESS>",
"includeClientSideAssets": true,
"isDomainIsolated": false,
"developer": {
"name": "",
"websiteUrl": "",
"privacyUrl": "",
"termsOfUseUrl": "",
"mpnId": ""
}
},
"paths": {
"zippedPackage": "solution/jerrytest.sppkg"
}
}
After adding the developer section try to rerun gulp package-solution should be working.

@Jerry0527 Look at their OP... it's already there.

@MichelLaplane I see a similar issue... not sure if there's a regression... investigating...

@andrewconnell,
Look at the error message:
Error - 'package-solution' sub task errored after 171 ms
Cannot read property 'name' of undefined
You must also upgrade the "package-solution.json" file in adding a developer section
Clearly, the error message specify the developer section, right ?
I suggest OP to double check this point and in my side, it's working as expected.....

Hi Andrew,
Yes it is just the developer section that should be added from an old project when you migrate to 1.11.
The issue i have raised was just to point out that this operation must be added to the post "How to update a project from 1.10 to 1.11".
Regards

@MichelLaplane said:

Yes it is just the developer section that should be added from an old project when you migrate to 1.11. The issue i have raised was just to point out that this operation must be added to the post "How to update a project from 1.10 to 1.11".

Correct, but that is already in that section. Immediately after the section, you reference, there is an important callout block that explicitly states this, and provides a link with details on it. The upgrade section isn't intended to be complete instructions, rather an overview. That's why you don't see all the packages listed that you need to upgrade.
@Jerry0527 said:

You must also upgrade the "package-solution.json" file in adding a developer section. Clearly, the error message specify the developer section, right ?

Correct, but if you look at the OP in this thread, the submitter clearly added the developer section to the package-solution.json file.