Monitor Configuration API

Swagger and examples for Monitor Configuration API
Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-js

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-java

Automation for azure-sdk-for-go

Can one of the admins verify this patch?

@vivekkhare31 , please fix build error first.

@vivekkhare31 , it seems Monitor Configuration is in private preview stage, considering this repo and related SDK repos are public and users may build up their own version of SDK from source code, should you put this PR into private repo https://github.com/Azure/azure-rest-api-specs-pr instead?

Moved this to Azure/azure-rest-api-spec-pr


CMake Tools does not detect executables added in ExternalProject_Add

Brief Issue Summary
I have configured cmake to use ExternalProject_Add to set up a project that has multiple cross-compilation targets.
These all call 'add_executable'. The executables are placed in the correct location, but CMake Tools does not create any launch  configurations for it.
Expected:
I am expecting VSCode to have the launch target options available.
Apparent Behavior:
It does not populate any target information, even though "add_executable" is called.
CMake Tools Log
N/A
If I run "debug target" without modifying launch.json, the log will say
"[main] Failed to prepare executable target with name 'undefined'"
Developer Tools Log
Platform and Versions

Operating System:  Windows
CMake Version: 3.14.0
VSCode Version:  1.49.3
CMake Tools Extension Version:  1.4.2
Compiler/Toolchain:  MiGW 64-bit GCC 4.8.3

Other Notes/Information

Thank you for reporting this issue. If it is not too difficult, please share a small repro for us. It will help us address this faster. Otherwise, we will get to investigate this report soon and we will let you know if we have problems reproducing the symptom or if we find a workaround that can unblock you before a fix is released.
Do you confirm that add_executable results in correct launch configurations for other non ExternalProject_Add scenarios?

I can confirm that add_executable works as expected for non-ExternalProject configurations. I will work on a small repro.

Repro is attached. I was able to trim down the files significantly.
If it helps, my target is an embedded platform with multiple cpu configurations, and an x86 target for testing.
Structure is as follows:

CMakeLists.txt (This drives the externalproject_add calls and contains toolchain/target configurations)
code

CMakeLists.txt (This is the real root of the project to be built. The parent CMakeLists.txt will compile this project multiple times, once per target configuration.
main.c

externalproject_add_repro.zip

Thank you for the repro project!  I can confirm the issue exists.

I would like to provide a bit of clarity. These cross compiled targets may not necessarily produce executables for the current platform. Primarily .elf's and exe's are the output target types. I am not expecting CMake Tools to magically run non-native binaries (elf's) on window. I am only expecting it to make the .exe's available targets.

I managed to work around this limitation by using the following hack:
option(USE_VSCODE_HACK "Enable the workaround for VSCode's cmake tools ExternalProject limitation" OFF)
if(USE_VSCODE_HACK)
    set(DUMMY_SERVER_SOURCE "${CMAKE_BINARY_DIR}/server_dummy.cpp")
    file(WRITE ${DUMMY_SERVER_SOURCE} "int main() { return 0; }\n")

    add_executable(server_dummy ${DUMMY_SERVER_SOURCE})
    add_custom_command(
        TARGET server_dummy
        POST_BUILD
        COMMAND ${CMAKE_COMMAND} --build . --target build_server
        COMMENT "Building the real server project..."
    )

    ExternalProject_Add_Step(build_server overwrite_server
        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/server ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/server_dummy
        DEPENDEES build
        COMMENT "Overwriting the dummy server with the real server..."
        ALWAYS 1
    )
endif()

And with:
    "cmake.configureSettings": {
        "USE_VSCODE_HACK":"ON"
    }

In my settings.json for the project
This runs the custom command after the dummy is built, which builds my project executable and copies it over the dummy
Then i can launch the target server_dummy as a normal target and it works
This is of course an ugly hack, but it works until we get a clean solution


push live

Docs Build status updates of commit fc76bfa:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/AdaptiveCards, working directory: W:\zel4-s, target branch: live, target branch commit: eb7e91e8466d511b79068bc537930962abd45024, source commit: fc76bfab5f3fec65de9e6cabdc2a1c35f3f8f23b.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 7bbf6f4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

AdaptiveCards/index.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/android/actions.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/android/extensibility.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/android/render-a-card.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Remove drop-shadow border in light mode

What happened?
The blog drop-shadow border is inconsistent in light mode and dark mode. The outer box shadow is apparent in light mode but not apparent in dark mode. The shadow should either be removed in light mode (preferred) or added in dark mode.

light mode
dark mode

can i work on this issue?

@erwinmedina I recall you received some comments from @jaasonw. Since this issue is still open, feel free to reopen your PR to fix this issue!

Resolved by #665.


Dot support for localField

related issue https://github.com/mongomock/mongomock/issues/595

Changed the resolver to get_value_by_dot
Added mongomock test


Feature get

Created App and Router GET endpoints and am showing data from db on the console :)

Lookin good


[WIP] add built file extension instead of replacing it

Changes

Fixes https://github.com/snowpackjs/snowpack/discussions/1770
Removes risk of two files colliding by adding the build file extension instead of replacing it
ex: App.svelte -> App.svelte.js (previously, App.svelte -> App.js)

BLOCKED: This exposes an issue for TypeScript: tsc forces you to either use .js, .jsx, or no file extension at all. This means that the user sees an error when they write import './App.tsx'. Unfortunately I can't think of a good workaround here:

import './App.tsx.js'; not viable, we want to support imports that are based on the file path and not the final URL
import './App.ts'; viable, but TypeScript complains about a ".ts" import.
import './App'; viable, but currently this results in import './App.js' at build. We need to improve our handling of this to do a true lookup/resolve, but even then you'd run into issues with conflicts between "App.svelte" and "App.js" if you can only import each using "./App", which was the whole issue that we wanted to avoid here.

We may want to escalate this feedback to the TS team, since I know this limitation is a known issue for them reported by both Deno and Google.
Testing

TODO

Docs

N/A

Okay, finally getting back into this I think I've found a good solution:

1:1 file builds get their file extension replaced: foo.jsx -> foo.js
1:N file builds the their file extension appended: foo.svelte -> foo.svelte.js, foo.svelte.css

This seems to strike the right balance between explicit behavior and not falling into file extension overload. I tried for a while, but couldn't find a way to support always-append file extensions in a way that would make sense to the user. For example, all of these were valid outputs that a user would be expected to see in their dev tools / final build:

"foo.js"
"foo.jsx.js"
"foo.css"
"foo.scss.css"
"foo.css.proxy.js"
"foo.scss.css.proxy.js" (🙀)

@Rich-Harris This solves the issue that you were seeing with Foo.svelte and Foo.js originally being invalid: they now each build to Foo.svelte.js and Foo.js respectively. Foo.ts and Foo.js are still not supported, but I would now consider this an edge case / expected behavior if you tried to do that.

Okay, finally getting back into this I think I've found a good solution:

1:1 file builds get their file extension replaced: foo.jsx -> foo.js
1:N file builds the their file extension appended: foo.svelte -> foo.svelte.js, foo.svelte.css

This seems to strike the right balance between explicit behavior and not falling into file extension overload. I tried for a while, but couldn't find a way to support always-append file extensions in a way that would make sense to the user. For example, all of these were valid outputs that a user would be expected to see in their dev tools / final build:

"foo.js"
"foo.jsx.js"
"foo.css"
"foo.scss.css"
"foo.css.proxy.js"
"foo.scss.css.proxy.js" (🙀)

@Rich-Harris This solves the issue that you were seeing with Foo.svelte and Foo.js originally being invalid: they now each build to Foo.svelte.js and Foo.js respectively. Foo.ts and Foo.js are still not supported, but I would now consider this an edge case / expected behavior if you tried to do that.


rowTag skipped

At the moment, it's not possible to generate a schema with a xsd file and read a xml file using the previously generated schema.
Result to do so will give you a runtime exception The 0th field '...' of input row cannot be null.
Trying to infer schema directly from xml file will also give you a different result than the one generated from xsd.
I tried the 'shiporder' example at https://www.w3schools.com/xml/schema_example.asp
Schema generated from xsd:
root
 |-- shiporder: struct (nullable = false)
 |    |-- orderperson: string (nullable = false)
 |    |-- shipto: struct (nullable = false)
 |    |    |-- name: string (nullable = false)
 |    |    |-- address: string (nullable = false)
 |    |    |-- city: string (nullable = false)
 |    |    |-- country: string (nullable = false)
 |    |-- item: array (nullable = false)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- title: string (nullable = false)
 |    |    |    |-- note: string (nullable = true)
 |    |    |    |-- quantity: integer (nullable = false)
 |    |    |    |-- price: decimal(38,18) (nullable = false)
 |    |-- _orderid: string (nullable = false)

Schema inferred from xml using rowTag 'shiporder':
root
 |-- _orderid: long (nullable = true)
 |-- _xmlns:xsi: string (nullable = true)
 |-- _xsi:noNamespaceSchemaLocation: string (nullable = true)
 |-- item: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- note: string (nullable = true)
 |    |    |-- price: double (nullable = true)
 |    |    |-- quantity: long (nullable = true)
 |    |    |-- title: string (nullable = true)
 |-- orderperson: string (nullable = true)
 |-- shipto: struct (nullable = true)
 |    |-- address: string (nullable = true)
 |    |-- city: string (nullable = true)
 |    |-- country: string (nullable = true)
 |    |-- name: string (nullable = true)

Yes, this doesn't 100% work in many cases.
In this example though, you will need to pull out the schema of shiporder to use to parse, at least. That is really the structure of the row tag, not a child of it. That looks roughly 'correct' then.
What I'm not sure of is what it will do with the xmlns and xsi attributes. If they're not in the schema then it may not like parsing those, even though they are kind of metadata. If that's an issue we may have to look at special-casing some namespaces to ignore optionally.
I would in general recommend using schema inference as it can, for example, correctly infer more specific types like long for order ID.

I don't fully agree with your last comment, because in this example it infers orderid as long, which is wrong as the xsd defines it as xs:string.
Anyway, if I understand correctly, XSDToSchema needs to be fixed in order to generate a correct schema, otherwise the xsd file will have to be manually modified.

Yeah, that's what the XSD says - though may be that it's really more specifically a long in the data. Or, on the other hand, a sample of the data may make the order ID appear like it could be a long when it's not.
The XSD parser will never be 'complete' because XSDs can define schemas that do not correspond to a tabular structure. But it isn't even going to get 100% of that right.
This however looks like it is working as intended on this simple schema, modulo:

Need to make it clear that a schema with one root element will need to be 'unpacked' one level to get the desired row tag schema - or maybe change behavior to do that by default
Not sure it will parse the metadata attributes as they're not in the defined XSD schema

You may need to modify the parsed schema. The intended usage pattern is still pretty much to infer a schema over a representative sample, or define it manually. (You can also validate the row tag XML directly against an XSD)

Perfect, thanks for your support and clarification.

I opened a PR above that is related - rather than always assume the XSD has one root element, which the current code does, and unwrap it, I wanted to allow for multiple root elements. In which case, you can't really automatically unpack the schema for the caller as there may be multiple ones. But I documented that.
I did confirm that the parser will ignore attributes in the input that aren't in the schema, which is itself a bit of a question mark for me: should that be an error?


20: codecov support

closes #20

code coverage badge

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Documentation page ysod and not redirecting

General development documentation that should be found here: https://dev.office.com/sharepoint/docs/general-development/basic-uri-structure-and-path
Currently not found page and also not redirecting to mycustompage.htm
Category

[ ] Question
[ ] Typo
[X] Bug
[ ] Additional article idea

Expected or Desired Behavior
Custom error page to be displayed if the view basic-uri-structure-and-path is unavailable
Observed Behavior
YSOD and looks like defaultRedirect not set up
Steps to Reproduce
Visit https://dev.office.com/sharepoint/docs/general-development/basic-uri-structure-and-pat

Hi Cole, your first link works without any issues, but the second link is missing 'h'. So - documentation is found under the https://dev.office.com/sharepoint/docs/general-development/basic-uri-structure-and-path link. If there's, however, existing link somewhere pointing to link without 'h' in the end, we can absolutely fix it, if you can share the location. Not 100% if I got the issue right, but mentioned link works without any issues, so closing at least for now.

Seems to be fixed now. Thanks.


Consider adding first-class Promise support

As in:

https://www.npmjs.com/package/nedb-promise
https://www.npmjs.com/package/nedb-promises
https://www.npmjs.com/package/tedb

This will also be important for supporting the new ES async/await syntax.

Related: #18

Related: #30

Hy!
For the ones that still looking for it i just released a wrapper with support for cursors and typescript declarations
https://github.com/ramiroaisen/nedb-promises-ts


If the rendering area contains Chinese, the rendering error will be reported.

Hello, I am currently using KaTeX to do LaTeX formula analysis, its performance is really excellent, but in the use process, there is a problem that when LaTeX contains Chinese, rendering will error! Does KaTeX not support Chinese? Or does it need special configuration?

Chinese should be supported, though if you use it outside \text mode you will get a warning without changing the strict setting. Could you give an example of what input causes an error?

\text

Thank you very much for supporting Chinese. I didn't pass special characters like Chinese through' \text {}'. I was too careless. Thank you.


socket.io.js not being served.

I have the following nginx configuration:
server {
  listen 80;
  root /home/kpowers/app/public;
  passenger_enabled on;
  passenger_app_type node;
  passenger_startup_file app.js;
}

The app starts and the root path is loaded but the client receives a 404 for socket.io.js:

The following entry appears in the nginx error log:
[error] 1042#0: *5 open() "/home/kpowers/app/public/socket.io/socket.io.js" failed (2: No such file or directory)

The app works fine on its own when running without Passenger. My guess is that Passenger sees that the request is for a file and doesn't expect that the app is supposed to serve it. I checked the Passenger Nginx Reference Docs but didn't see anything (at first glance) about sending certain file requests through to the app.
Thoughts?

Passenger works as follows. If the file exists on the filesystem, then Passenger will make Nginx serve it directly. Otherwise, Passenger will forward the request to the app.
Are you running the passenger-nodejs-websocket-demo or are you running a different app?
The error message seems to indicate that Passenger isn't running, or that it's not active. Can you check that Passenger is running? Run passenger-config list-instances to check.
Do you see any other messages in the Nginx error log?

Must be user error. I just tried it on Ubuntu 14.04 x64 and it works. I don't remember which Ubuntu I was using before.


build with setup.py errors with 60.9.1 [BUG]

setuptools version
setuptools==60.9.1
Python version
Python 3.7.6
OS
Linux
Additional environment information
This was encountered on TravisCI using the pypi deployment provider, happens with multiple linux versions from precise to xenial.
Not tested on Linux outside of Travis. Cannot reproduce it on MacOS.
Description
Running python setup.py sdist bdist_wheel errors with newest version of setuptools errors.
Fixed by using version previous to 60.9.
This might be related to #3113 as the error occurs at setuptools/_vendor/importlib_metadata/__init__.py
Expected behavior
dist/* to be built without errors
How to Reproduce

Have a python package using setup.py calling setup()
Have TravisCI build distributions during it's deploy step

deploy:
  provider: pypi
  distributions: "sdist bdist_wheel"
  username: ${PYPI_USERNAME}
  password: ${PYPI_PASSWORD}

that boils down to the following commands that can be reproduced
script:
  # mimic travis deploy steps concerning build during deployment step
  # https://github.com/travis-ci/dpl/blob/v1.10.16/lib/dpl/provider/pypi.rb
  # https://github.com/travis-ci/dpl/blob/b577682ac17ff10b7f3fe58c5da1113b05e68cb7/lib/dpl/provider.rb#L187
  - |
    if [ -z ${VIRTUAL_ENV+x} ]; then export PIP_USER=yes; fi && \
    wget -nv -O - https://bootstrap.pypa.io/get-pip.py | python - --no-setuptools --no-wheel && \
    pip install --upgrade --upgrade-strategy eager setuptools twine wheel
  - python setup.py sdist bdist_wheel

This can be fixed by reverting to version previous to 60.9.
For example on travis they provide a parameter:
deploy:
  provider: pypi
  distributions: "sdist bdist_wheel"
  username: ${PYPI_USERNAME}
  password: ${PYPI_PASSWORD}
  setuptools_version: "60.8.2"

Output
Deploying application
Traceback (most recent call last):
  File "setup.py", line 8, in <module>
    setup()
  File "/home/travis/virtualenv/python3.7.6/lib/python3.7/site-packages/setuptools/__init__.py", line 155, in setup
    return distutils.core.setup(**attrs)
  File "/home/travis/virtualenv/python3.7.6/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 109, in setup
    _setup_distribution = dist = klass(attrs)
  File "/home/travis/virtualenv/python3.7.6/lib/python3.7/site-packages/setuptools/dist.py", line 462, in __init__
    for k, v in attrs.items()
  File "/home/travis/virtualenv/python3.7.6/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 293, in __init__
    self.finalize_options()
  File "/home/travis/virtualenv/python3.7.6/lib/python3.7/site-packages/setuptools/dist.py", line 850, in finalize_options
    for ep in sorted(loaded, key=by_order):
  File "/home/travis/virtualenv/python3.7.6/lib/python3.7/site-packages/setuptools/dist.py", line 849, in <lambda>
    loaded = map(lambda e: e.load(), filtered)
  File "/home/travis/virtualenv/python3.7.6/lib/python3.7/site-packages/setuptools/_vendor/importlib_metadata/__init__.py", line 196, in load
    return functools.reduce(getattr, attrs, module)
AttributeError: type object 'Distribution' has no attribute '_finalize_feature_opts'

also setuptools==60.9.0 and setuptools==60.9.2

Yep, we've been seeing the same behavior with 60.9. Will continue to remain pinned to 60.8.2 for now.

A similar issue was reported in #2029. In that case, the problem came from inconsistencies found between two different versions of 'setuptools'. That hook was added to Setuptools around v42 and removed in c71969013d726c5cbd06dc81770ab064f3e783ff for v46. So my guess is there's another copy of setuptools on the path from which the metadata is taking precedence.

Well it's not a Dockerfile, but it is reproducible in our CI config, and it is isolated to the bump of setuptools... https://github.com/plus3it/watchmaker/pull/1958
Fwiw, it also seems specific to python 3.7 and 3.8.

I appreciate that it's reproducible in your CI environment. Unfortunately, unless we can somehow ascertain the factors that make it fail in CI and reproduce those in a local environment, it will be near impossible to diagnose. I do suspect there's something about having two different versions of setuptools installed, on of which is >42,<46. I just yet don't know what other factor(s) are relevant.

Oh I totally understand. I didn't mean to imply that it was somehow on you to figure out from our setup! 😆 It's been failing for a bit, but I've only just started looking into it (pinning CI dependencies makes it not critical for us!). I'll post here if I figure out how to reproduce more simply.

The mentions of focal and xenial above got me to check our travis-ci config, and it was still using bionic. Updated that to focal and the error went away. So makes sense to me that the interaction of the older bionic worker and its bundled packages, and our pinned virtualenv and setuptools versions resulted in the error. Anyway, sorry for the noise, but hopefully that's enough of a clue to help someone else that ends up here.

Sorry this took me a while.
In the environment I encountered the issue, that is Travis CI, we are automatically running in a virtualenv.
Deactivating this virtualenv indeed shows there is a setuptools==44.1.1 apparently in a python2 system environment
$ pip list
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Package    Version
---------- ----------
bzr        2.8.0.dev1
configobj  5.0.6
mercurial  4.8
pip        20.3.4
setuptools 44.1.1
six        1.11.0
virtualenv 15.1.0
wheel      0.37.1

That's interesting. I wouldn't expect a Python 3 virtualenv to be finding metadata for a version of Setuptools found in Python 2. Can you run this in the failing environment:
from setuptools._importlib import metadata as md
print([dist.name, dist._path for dist in md.distributions() if 'setuptools' in dist.name.lower()])

So you were right, nothing to do with python2.
 I had to upgrade the pypi deploy job from python 3.6 (the default in the image) to 3.8 because the travis dpl tooling no longer supports 3.6 (not a surprise). Then I hit this issue. The travis image already had setuptools 60.5.0 installed and then the dpl tooling upgraded to the latest (currently 62.1.0). I'm guessing those mixed versions are somehow interfering with each other, or the pip uninstall of the already installed 60.5.0 didn't clean everything up.
I tried adding an install script hook to upgrade setuptools before the deploy ran but that didn't work - it was basically the same thing as the dpl tooling upgrading setuptools.
The workaround I heard from someone else with the same issue was to pin the pypi deploy in Travis build config to the same version of setuptools that was already in the image using the setuptools_version option. That worked as my workaround.
I'm hoping that maybe when Travis Enterprise supports Ubuntu Focal I can try again without the pinned setup tools version.

Hello,
I've the same issue in a venv while I was installing cffi.
It was on ARMv7 on debian bullseye with setuptools from system version 52.0.0-4 and when setuptools in the venv is version 62.3.2.
Downgrading setuptools in the venv to version 60.8.2 fixed the issue on my side.

Quick follow up on this, I found that building in Travis CI with python 3.9 works around this problem.

is this something we can expect to go away with future versions independent of travis fixing the virtual environment? Or is this not something you plan to accommodate for?

I'm not confident there's anything Setuptools could do here, and until we have a repro that can be used to locally investigate, we're kinda stuck. Besides some of the workarounds described above, there may be other options, such as writing a routine to clear out manually old versions of setuptools before running build tools.
If we could identify something that could be patched in the current or perhaps a past version of Setuptools that would hepl the situation, I'd consider it, but at this point I've no options to consider.


(Quoter) Avoid IR

Related Issue
Closes #92
Description of changes
Reorganized the Quoter's local variables into a struct, to avoid stack-too-deep / viaIR
Cleaned up LimitOrder to avoid stack-too-deep
Cleaned up PoolTicksCounter to avoid stack-too-deep

drafting this because with optimizer_runs = 1000000, the quoter assertions are failing catastrophically 🤔


npm-bin returns an incorrect path

npm-bin currently returns a path using the prefix instead of the root, i.e.
"./.bin" instead of "./node_modules/.bin".

yikes! thanks, landed on b3eb79beac4ebfbe623dcebd88a4d17a249dcd48


client: Set request method before opening connection

Fixes an issue wherein PUT's would be sent as POST's because we were opening the output stream before setting the request method.

@davidxia

:+1:

This was a red herring. The real issue is addressed by #703.


Expect to be able to use UI to move relative symbolic links

Create a symbolic link ln -s ../still/in/the/repro/foo.js foo.js to a file using a relative path such that the link and its target remain in the git repo. Try to use VS Code to move the link from one directory to another.
I expect VS code will detect the symbolic link is relative and pointing to a file in the repro and so will "move" the link by deleting the old link and creating a new link with a relative path that points to the same target but from the directory into which I dragged the linked file.
What actually happens is that the link is deleted but no new link is created presumably because VS code doesn't like to display UI for the now broken link (which is a separate bug #44908 which would make sense to fix if this were also fixed).

Version Version 1.25.1 (1.25.1)

Please update to latest version (1.43) and retest.

Tried updating but it says I'm on the latest. I'm running on a mac.

What macOS version?

10.14.6

See https://github.com/microsoft/vscode/issues/7426#issuecomment-425093469 for advice on how to update.

Thanks for filling this issue. Can you reproduce using Visual Studio Code Insiders https://code.visualstudio.com/insiders/


[bug/feat] Device files in the container

The way the official container is created, it contains a lot of device files (created explicitly, all right). Including the essential ones, like /dev/ttyACM[01].
Now, that might be convenient if one just runs the thing throught a container engine, or is fine living with privileged in orchestrators.
There is, however, a better way, at least for Kubernetes: smarter device manager. It propagates host resources to the nodes, and allows also to keep track over allocation (so that you don't start two pods asking for the same dongle). And no more privileged.
However, the existence of a device with the same numbers in the container interferes, so that the device file is not created. Since the access to the device is propagated, you can still use the device in an unprivileged container, but it requires to know the naming, which is hard to maintain over reloads.
The suggestion, which can be interpreted either as bug or feature request, is to remove device files from the official container.

is to remove device files from the official container

Are you able to draft this in a PR?

is to remove device files from the official container

Are you able to draft this in a PR?

Perhaps, although not instantly: I have neither any environment at hand to play with Docker, nor a registry.
However, I reckoned that whoever chose to add the devices, did it on purpose, so it would feel safer to first clarify if those reasons interfere with the current issue.

Perhaps, although not instantly: I have neither any environment at hand to play with Docker, nor a registry.
However, I reckoned that whoever chose to add the devices, did it on purpose, so it would feel safer to first clarify if those reasons interfere with the current issue.

The docker container contains a full Linux distribution, so the dev files are likely populated by the distribution’s setup.

The docker container contains a full Linux distribution, so the dev files are likely populated by the distribution’s setup.

@blhoward2 That is just incorrect. As a quick experiment, compare the image internals with the base (node:erbium-alpine). It does have some devices, necessary for basic operations like tty and stuff.
Looks like this comes through Dockerfile ARG updateDevices (line 4), which is used to trigger a violent action on line 31.
Killing the ARG is not at all unfullfilable, but I assume that there is a less dramatic way, like narrowing the set of devices to really necessary. Or even migrating to the entrypoint.

@blhoward2 That is just incorrect. As a quick experiment, compare the image internals with the base (node:erbium-alpine). It does have some devices, necessary for basic operations like tty and stuff.
Looks like this comes through Dockerfile ARG updateDevices (line 4), which is used to trigger a violent action on line 31.
Killing the ARG is not at all unfullfilable, but I assume that there is a less dramatic way, like narrowing the set of devices to really necessary. Or even migrating to the entrypoint.

@blhoward2 That is just incorrect. As a quick experiment, compare the image internals with the base (node:erbium-alpine). It does have some devices, necessary for basic operations like tty and stuff.
Looks like this comes through Dockerfile ARG updateDevices (line 4), which is used to trigger a violent action on line 31.
Killing the ARG is not at all unfullfilable, but I assume that there is a less dramatic way, like narrowing the set of devices to really necessary. Or even migrating to the entrypoint.

The docker files build off Dockerfile.contrib as far as I know. At leas they do when you manually build them using the docker build kit.

@blhoward2 That is just incorrect. As a quick experiment, compare the image internals with the base (node:erbium-alpine). It does have some devices, necessary for basic operations like tty and stuff.
Looks like this comes through Dockerfile ARG updateDevices (line 4), which is used to trigger a violent action on line 31.
Killing the ARG is not at all unfullfilable, but I assume that there is a less dramatic way, like narrowing the set of devices to really necessary. Or even migrating to the entrypoint.

The docker files build off Dockerfile.contrib as far as I know. At leas they do when you manually build them using the docker build kit.

No, I don't even have Docker anywhere, or anything else that builds images.
Besides, I don't need to build it: I know that if "excessive" device files are removed, everything will work properly.
However, as I mentioned above, I assume that whoever started creating them devices, did it on purpose.
So I assumed that asking a question might be a quick way to bring the context in sync with possible stakeholders.

No, I don't even have Docker anywhere, or anything else that builds images.
Besides, I don't need to build it: I know that if "excessive" device files are removed, everything will work properly.
However, as I mentioned above, I assume that whoever started creating them devices, did it on purpose.
So I assumed that asking a question might be a quick way to bring the context in sync with possible stakeholders.

But I did try pods on zwavejs2mqtt and node:erbium-alpine, to make sure.
What I did not try is to alter zwavejs2mqtt specifically, for it requires building an image and putting it to some registry.

But I did try pods on zwavejs2mqtt and node:erbium-alpine, to make sure.
What I did not try is to alter zwavejs2mqtt specifically, for it requires building an image and putting it to some registry.

Just spin up the base image like you would the final image and see if they are there?

Just spin up the base image like you would the final image and see if they are there?

Yes, that I did, in the first place. Apologies for not being clear.

Yes, that I did, in the first place. Apologies for not being clear.

And they were not in the base image? Could you list the specific device files (some examples)?

And they were not in the base image? Could you list the specific device files (some examples)?

All right, the problem was in the chart. It had default privileged: true, and needed explicit false.
I am sorry for the fuzz.

All right, the problem was in the chart. It had default privileged: true, and needed explicit false.
I am sorry for the fuzz.

Glad you got it figured out. I was surprised it would be that breakable.

Glad you got it figured out. I was surprised it would be that breakable.

Well, I was confused by the black magic with devices.
And the last thing I expected from a chart is to have privileged as default (working on a pull request there). :-)
Sorry again.

Well, I was confused by the black magic with devices.
And the last thing I expected from a chart is to have privileged as default (working on a pull request there). :-)
Sorry again.


feat: add From and From<&Transaction>

What
Tools need to always expect TransactionEvleope at the headings. This makes it easy to go in one direction.
Why
[TODO: Why this change is being made. Include any context required to understand the why.]
Known limitations
[TODO or N/A]

@leighmcculloch should we also include a TryFrom<TransactionEnvelope>?  If so would we need upstream changes to add an error case?

@leighmcculloch I removed the edits to the previous tests.


Support for sending full ignition to masters

Continuing the work of @hardys in #37 .
This PR adds support for https cert disabling and retries.

Looks like CI is failing. Do we need to bump CI's go version to 1.13?

Looks good to me, a couple questions.
Could we add a test?
https://github.com/openshift-metal3/terraform-provider-ironic/blob/master/ironic/resource_ironic_deployment_test.go

Absolutely. Will work on it.

@stbenjam Please take a look at the new changes. I have removed user-data field because we're not going to pass it from the installer side anymore.

@stbenjam Please take a look at the new changes. I have removed user-data field because we're not going to pass it from the installer side anymore.

It doesn't look like it's fully removed, but I think it should probably stay as an option anyway. OpenShift may not be the only user of this, and I'd like to not break them. It can be exclusive, make sure user_data or the URL are set, but not both.

@stbenjam Please take a look at the new changes. I have removed user-data field because we're not going to pass it from the installer side anymore.

It doesn't look like it's fully removed, but I think it should probably stay as an option anyway. OpenShift may not be the only user of this, and I'd like to not break them. It can be exclusive, make sure user_data or the URL are set, but not both.

I just retained what we did earlier. Give user_data_url higher priority when both are specified. if there is an error getting data from user_data_url, we fall back to user_data.


Having mmm (Jan, Feb,... ) in DateFormat

Currently the plugin does not allow us to have a format which has mmm (Jan, Feb, ...)
Can you please let me know whether it is possible or not?
ITS URGENT

+1 for this feature also to convert the mmm properly. Thanks!


parseWorkspaceXml

provided a BlocklyHelper.jsx with a parseWorkspaceXml function to import Blockly toolbox.xml

This is now released in version 3.1.0.

Great, thats was my thoughts too.
By the way you can also use this repo: https://github.com/Macilias/blockly-component-within-react-redux-boilerplate
To showcase how to integrate your component into react redux boilerplate in case someone else has issues with it.
Have a nice day.
Maciej Niemczyk
Software Entwickler
E-Mail<EMAIL_ADDRESS>Internet: www.vitraum.de
Vitraum GmbH
Am Sandtorkai 71
D-20457 Hamburg
Vertretungsberechtigte Geschäftsführer: Alexander Schwaab, David Ranft, Martin Treusch von Buttlar
Amtsgericht Hamburg, Registernummer: HRB 137090

Am 13.09.2018 um 17:04 schrieb Nat Budin<EMAIL_ADDRESS>@nbudin approved this pull request.
I agree with your comment on #25 https://github.com/patientslikeme/react-blockly-component/issues/25 that it could be more elegant, but I think this looks good enough to release, and we can always clean it up later. Thanks very much!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/patientslikeme/react-blockly-component/pull/26#pullrequestreview-155127092, or mute the thread https://github.com/notifications/unsubscribe-auth/AA18HELhEGWLm5tNDA9DOHDOpl7UpfPCks5uanQLgaJpZM4WnW9k.


load web font over HTTPS (fixes #13)

Wouldn't importCSS( '//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' ); work better? It keeps the origin protocol, preventing mixed content.

rebased. rr? @spite

r?

Sorry, man. I thought this was merged already. I still think leaving the protocol unspecified would be better. Let's see if someone has issues with this. Thanks!


Add search query results support

Is implemented in v1.4.0.
Search drived data source can be user only with user associated authentication strategies. E.g. it won't work with addin strategy.
# sharepoint.yml
# ...
spec:
  # A map of search queries
  search:
    # Query name (whatever you want to name a resulted table)
    # Should be unique within other compound aliases
    documents:
      # Required, search query text
      # https://learn.microsoft.com/en-us/sharepoint/dev/general-development/sharepoint-search-rest-api-overview#querytext-parameter
      query_text: "*"
      # Optional, the managed properties to return in the search results
      # https://learn.microsoft.com/en-us/sharepoint/dev/general-development/sharepoint-search-rest-api-overview#selectproperties
      # By defining the list of properties, you also tell the plugin
      # to have correcponding columns in the table
      select_properties:
        - Size
        - Title
        - ContentTypeId
        - IsDocument
        - FileType
        - DocId
        - SPWebUrl
        - SiteId
        - WebId
        - ListId
      # Optional, whether duplicate items are removed from the results
      # https://learn.microsoft.com/en-us/sharepoint/dev/general-development/sharepoint-search-rest-api-overview#trimduplicates
      trim_duplicates: true
    profiles:
      query_text: "*",
      trim_duplicates: false
      # The result source ID to use for executing the search query.
      # https://learn.microsoft.com/en-us/sharepoint/dev/general-development/sharepoint-search-rest-api-overview#sourceid
      source_id: "b09a7990-05ea-4af9-81ef-edfab16c4e31"


Feature Request: Place Cursor at Placeholder

What a great plugin! I've been looking for a good way to add comments to markdown documents for forever.
One feature request, if you don't mind. Right now, on inserting a comment, the cursor appears at the end of the HTML tag. Would it be possible to make it so that the cursor instead jumps to where the "CommentPlaceholder" text now appears?
It would be a little easier if the cursor appeared here so that the user could begin typing immediately upon inserting a comment, rather than needing to mouseclick/arrow-over into the CommentPlaceholder portion of the tag.
Thanks again for making this! It works really well.

Thank you for the positive review! I will look at it, and will be back with the result in few days

Added in 1.0.15 release


Create credential_phishing_zoho_sign_template_abuse.yml

Description
New rule exploring Zoho Signs template for credential phishing
Associated samples
Link to samples that are affected by your change.
For example, samples you are negating, samples you are including, or samples your new insight should fire on.
- Sample 1

/update-test-rules

ran a wide hunt today, this rule looks good, might be a bit narrowly scoped, but until we have more samples, I think it's a good starting point.
https://platform.sublime.security/hunts/160f9301-34d1-4085-bacb-6fd703af0400
@morriscode thoughts?


Create anonymous accounts as a background process the state of which can be polled

The feature that was done in Anonymous Accounts / Participants exposes an endpoint that is able to create anonymous participants for studies (#49).
However, the endpoint is not suitable to generate large amounts of participants for studies (mainly due to its synchronous nature). Therefore the ideal way to do this kind of feature would be to:

Let N number of accounts be created by the Keycloak magic-link endpoint in parallel and

Running the process in the background and exposing polling to check whether the process is finished or not

[ ] Let N number of accounts be created by the Keycloak magic-link endpoint in parallel
[ ] Run the process in the background and put the CSV file with the generated accounts for download
[ ] Add an entry in the Summary table about the file + status (maybe rename this table to something like "Exports"?)
[ ] Show an "Accounts being generated" view in the portal showing an estimated time plus that the file will be available in the "export" page.
[ ] Add the CSV file to the list of files to be downloaded in the "exports" page

Fix in #65


requestHandlerTimeoutSecs upper-bound overflows

Which package is this bug report for? If unsure which one to select, leave blank
@crawlee/basic (BasicCrawler)
Issue description
WARN  PlaywrightCrawler: requestHandlerTimeoutMillis<PHONE_NUMBER>70000does not fit a signed 32-bit integer. Limiting the value to<PHONE_NUMBER>
INFO  PlaywrightCrawler: Starting the crawl
(node:22406) TimeoutOverflowWarning:<PHONE_NUMBER>40000 does not fit into a 32-bit signed integer.
Timeout duration was set to 1.

This was fixed in the past by setting it to<PHONE_NUMBER> but seems Crawlee now multiplies this so we overflow again.
Code sample
requestHandlerTimeoutSecs:<PHONE_NUMBER>0

### Package version

latest

### Node.js version

node 16

### Operating system

_No response_

### Apify platform

- [ ] Tick me if you encountered this issue on the Apify platform

### I have tested this on the `next` release

_No response_

### Other context

_No response_

Even if you set requestHandlerTimeoutSecs: 2000000 (which is bellow safe signed int / 1000), it still fails a bit later so it is again multiplied somewhere.
(node:22706) TimeoutOverflowWarning:<PHONE_NUMBER> does not fit into a 32-bit signed integer.
Timeout duration was set to 1.


proposal for

Hi! Big fan of react-router, always learning new things from you folks.
I started work on a router of my own recently - routah, just to explore how I could render routes anywhere in the react tree. The big idea is -
// 'render' this anywhere
<Route path='/some/:pattern'>{
  location =>
you are at {location.pathname}

}</Route>

It's been fun, and I see some obvious drawbacks - the ability to 'statically analyze' (so to speak) the tree is lost, which makes detecting redirects harder, and you can't declare static helpers for fetching async data etc, which clearly makes server rendering harder. That said, the above concept still works on client/server, and it strikes me that RR+the above could live together just fine. I propose thus, a component Match like so -

<Match path={/* some regex */}>{
  location => /* as above*/
}</Match>

// alternately

<Match path={/* some regex */} component={MyAppComponent} passProps={/* ala RR */}/>

This could simply read off context.router and render in place (my implementation here - https://github.com/threepointone/routah/blob/master/src/index.js#L133)
Thoughts?
Thanks again for a great lib!

I don't see the point. Your code above is exactly isomorphic (in the mathematical sense) to:
<Route path='/some/:pattern' component={
  ({ location }) =>
you are at {location.pathname}

} />

yes, sorry I wasn't clear, the idea is that you should be able to put that <Route/> inside any nested component, not just at the top where one defines routes.

Thanks for the suggestion, @threepointone!
@taion It's basically an if statement in JSX. "If the URL matches a path that looks like this, then render my children." I like it.
This is actually how the router started before we had to pull everything out for various reasons. I think it would be an interesting experiment to add it back in the form of a <Match> component.

Interesting! I see.

Sort of a conditional RouteHandler of the 0.x days? It sounds neat! What would a real world use case be?

one usecase I'd thought of -
<Match path={/* matches  /docs/:version where version <2.0*/}/ component={Deprecated}/>

at the top of all doc pages.
Another one involves <RouteStack/> another component from routah, that picks the first matching path in an array of paths -
<RouteStack>
  <Route path='/list'/ ...>
  <Route path='/details/:id' .../>
</RouteStack>

Sure would be nice for a subcomponent to be able to define this in its own render tree, especially when it might another team working on this component (and who don't have access to the top level router config).

@mjackson and I sometimes daydream about what this thing would look like if we were to start all over again.
The thing that keeps the router from truly being "just a component" is:

Async route matching for code-splitting
Data Loading on the server

A router could easily say (1) is not important. But (2) is paramount to being useful on the server. React rendering is synchronous, so if you only have <Match/> in the render lifecycle, it's already too late to use the algorithm to assist with data loading.

Side note: match and <RouterContext/> I think already do what your'e after. You could wrap match and do this literally anywhere in the tree:
<Match location={location}>{props => <RouterContext {...props}/>}</Match>

I haven't made any demos yet, but our plans with match and RouterContext have never been limited to the server, but for "sub-routers" too.

We're on the same page! I have a feeling that data loading on the server can be attacked from a different angle via a custom renderer. The problem is we don't have access to the tree just before it gets converted to a string in renderToString, and if we could analyze that tree, you could pull out data dependencies, fetch, and re-render with the new data. I wrote a small POC using falcor to test this -
implementation - https://github.com/threepointone/falcro/blob/master/src/server.js usage - https://github.com/threepointone/falcro/blob/master/examples/ajax.js. It works kinda nicely. You could use this same logic to test for redirects, side-effects, etc. The obvious flaw is that it's pretty inefficient to run renderToString multiple times, but that's what caches are for :P

I have a feeling that data loading on the server can be attacked from a different angle via a custom renderer

HA! That's exactly what I've been tinkering with https://twitter.com/ryanflorence/status/696796876507467776

lol great minds, etc :P sure Would be nice to write a custom renderer, that black magic still eludes me. but as you can see, you don't need it to build this out (for now). Just use a context to register these queries on componentWillMount/initialization, and 'rehydrate' them on the second render using an identifier/_rootNodeID/cache/something else.

slightly related, used the above technique to get server side rendering working with redux-react-local. implementation / example
reeeeeally want an asyncRenderToString that covers all the above patterns - router, falcro, local, etc

@ryanflorence @threepointone
I am a bit late to the party, but this caught my attention:

Side note: match and  I think already do what your'e after. You could wrap match
and do this literally anywhere in the tree:
<Match location={location} routes={subRoutes}>{props => <RouterContext {...props}/>}</Match>

Can you please elaborate, because I has been struggling a little with this and came up with this abomination:
export default class Match extends Component {
    constructor() {
        super();
        this.state = {children: null};
    }

    componentWillReceiveProps() {
        const {routes, location} = this.props;

        match({routes, location}, (err, redirectLocation, renderProps) => {
            const {components} = renderProps;

            this.setState({
                children: React.createElement(components[0])
            });
        });
    }

    render() {
        return this.state.children;
    }
}

and then used like:
<Match location={location} routes={routes} />

Thinking about this a little more, while I think that the custom renderer approach is promising in certain cases, it's a little too opinionated here – among other things, to do it in two stages, in the general case, you'd have to be able to render (and render all your children) with something like placeholder data.
I do think this is a potentially really cool idea, but as @ryanflorence mentions in https://github.com/reactjs/react-router/issues/3051#issuecomment-182203739, it can be implemented using the primitives available here.
As such, since this is a somewhat separate API from our "global" route configuration API, I think it'd make the most sense to develop this as an extension. If it becomes broadly useful/used, it could make sense to pull this into React Router core, but I don't think we need to track this as an issue here for now.


Migrate to Next.js v13's new Layout feature

⚠ These Next.js features are still considered beta. We should wait until the APIs have stabilized and their documentation is less in flux.

The app directory is in beta and many features are not yet supported. During the beta period, APIs could change based on community feedback. The following features are not yet supported

https://beta.nextjs.org/docs/app-directory-roadmap
Tasks

[ ] If I'm understanding Next's new Layout feature correctly, I think our components/Layout.tsx file can become an official "Layout".
[ ] Migrate from the pages/ directory to the new app/ convention: https://nextjs.org/blog/next-13#layouts

Dependencies
This would be dependent on #65
Open questions

The new router works in a new directory named app. Should we rename the top-level directory in our template repo so the directory structure isn't app/app/?
next-i18next likely doesn't yet work with the new app/ directory: https://github.com/i18next/next-i18next/discussions/1993

Definitely worth doing now that app router is now stable. Vercel has this as the default, and so should we (it brings a LOT of great things).
As soon as Server Actions are out of beta, we should adopt and implement an example as well

I have a draft PR with the migration implementation, but I've also added a comment to it with context on a blocker and recommendation to pause the migration until tooling catches up. https://github.com/navapbc/template-application-nextjs/pull/255#issuecomment-1853096788


Option to choose home view: inbox, recent conversations, or combined feed

This is a followup issue to:

#516

Specifically, it'd be good to let the user choose whether the screen the app launches on is "Inbox", "Recent conversations" (after #315), or "All messages" "Combined feed" (which is being renamed in #634).
We have a similar setting in web: https://chat.zulip.org/help/configure-home-view . It's expressed as web_home_view in the register-queue response.
It's possible the right answer here is that we should just follow the same setting, despite its name (and even though we just renamed it to that a few months ago). As I think about it now, the choice between these is naturally driven mainly by the level of traffic in the given realm and the user's habits of keeping unreads clear or not (the factors we also cite in our advice in the Help Center). That means:

It'll naturally vary for a given user between different realms they participate in, so that it doesn't fit well as a per-client setting along the lines of "open links in app or in external browser".
It seems like it'll naturally align across devices for a given user in a given realm. After all, they see the same set of unreads on any device.

This is closely related to:

#311

Hello! I'd like to work on this issue. My proposed solution is to first ask the user for their preferred default screen when the app is opened for the first time. Additionally, I will implement a dropdown option in the settings where users can easily change their default page selection at any time. Let me know if this approach sounds good, and I'd be happy to proceed with the implementation!

My view is that this issue isn't yet ripe to work on. It's marked post-launch, so we'll have little to no time available to review work on it before the app launches.

Understandable, I will try to contribute somewhere else, thanks.

Possibly a fourth option to offer for the same setting: the channels page, after we do

#412.

(Or that'd make a third option, if we do this before implementing #315 "Recent conversations".)
I think that'd pretty much do what this user request today asks for (more details at the link):

IMO the mobile app's home screen should basically be the left panel on the desktop app, with Channels as the primary form of the content, and options for inbox/combined feed/mentions/etc as navigation options from there.

Related:

#1164


Is there a way to use single-tap Fn to toggle the  “Use all F1, F2 as standard keys" option?

I used to use Karabiner to switch the "Use all F1, F2 as standard keys" on and off globally (not per application) but its broken now in macOS Sierra. For instance, turn on when debugging in Eclipse (easy access to F keys), toggle off when coding in Eclipse and listening to music (easy access to music keys). So for me is not about changing the behaviour per application but having a keyboard shortcut to the toggle.
A nice extra was that it would give me a message on-top of all windows to know the current status.
Is there a way to accomplish this using Fluor for macOS Sierra?
Screenshot of on-top message (bottom right corner) and Karabiner setting that used to work on El Capitan:

I could probably try to implement this.
Probably cause even if I see how I could do I still have to think what will be the impact on the standard user. I don't think that setting this behaviour as a default will be welcomed. I also have to think how to mix this with the current app's behaviour.
It definitely is a good idea by the way.

Nice! I'll be waiting for the update. Maybe it could have 2 modes:

app specific mode (the default and current behavior)
global mode (the new implementation)

I think your icon in the status bar would be enough to know if Fn keys are enabled or not.
Really nice app by the way!!

Thanks so much for creating this, I was about to write one but you have done better than I could have, since i'm an iOS dev. In relation to this ticket, it wouldn't be too hard, main thing I was looking for was how to listen globally for the fn key press to fire the script, but haven't had time to. I mainly wanted to say thanks!

A little update about this issue : I had figured out how to do it a long ago but I'm still struggling with the main menu layout and animations. I had also a lot of work to do, took some vacation and now I'm on a business trip.
I think I'll release a beta version with this feature (and without the menu doing what I want it to do) perhaps around the middle of next week.
So stay tuned 😉
@evliu : macOS development is (at least I think) easier than iOS' one you should try it out. And thanks for the thanks !

Hi, just wondering if there are any news on this?
I know you have a full time job besides this, so no pressure just a reminder :)

Soon, soon 😉

You can test it in the last pre-release. I'll be happy if you can report any issue you'll encounter using this release.

Issues found so far:

Having tooltips on the main menu icons would help understand the usage
Value at Preferences > Keyboard > "Use F1, F2, etc keys as standard functions" should be in sync with Fluor, so when Fluor changes the toggle the checkbox should be toggled as well.
I enabled global Fn toggle, then disabled Fluor (via the Disable option in the menu) the enabled it again and Fn toggle no longer works, trying to change behavior at Preferences > Keyboard > "Use F1, F2, etc keys as standard functions" is also not working now even if I quit Fluor, will try to restart computer to see if that fixes it :(

Ok I'll do that.
Unfortunately this won't work as far as I keep using the same technique to toggle this property.
It's a bug. I'll fix it.

Many thanks for your feedback 👍 !!

just installed on a new mac (with brew) and it is not working ...

@Batnik It might be because you're using Karabinder-Elements.

I've installed Fluor v 1.2beta2 and I can't find global Fn toggle switch anywhere in app. Is it still there?

Yes it is available in Fluor 2.0 !
You can download it in the new website.
I still need to make a proper website for it and make some clarification about Fluor open source status (spoiler: it will remain open source)

Hi @Pyroh, thanks for all your effort in this app =)
I use the global Fn switch There is a behavior that constantly confuses me is terms of knowing if Fn keys are active or not. Behavior:

global Fn toggle works fine:

pressing (Fn key-down event)
and releasing (Fn key-up event) -> Fn key toggles the functionality for all function keys

whenever I just need to combine 2 keys the functionality is also toggled which is not desired. For instance I just want to hit F11 to see my desktop so trying to accomplish Fn+F11:

press Fn (Fn key-down event)
press F11  (F11 key-down event  + F11 key-up event)
release Fn (Fn key-up event) -> function keys are toggled which was not desired

Is it possible to do the global toggle only when the Fn key is pressed alone and not combined with another key?

Also is it possible to add an optional label that easily shows when the Fn keys are toggled. For instance as the black label in the corner of the following picture:

Thanks again! cheers!

Hello @sapeish,
I always try my best to make the best software I can. 😉
Your described behavior is quite puzzling because I took great care of this when implementing the global fn toggle.
In fact Fluor count the fn key press only if it is the only pressed key and if the press window doesn't exceed 280ms. That means that longer press or multiple key press won't trigger the global behavior switch.
So are you sure you are using the last version to date (2.0.1) and that you don't use any other keyboard tool that should interfere with Fluor ?

Hi @Pyroh, I was using version 1.2beta build 456, and I don't have any other keyboard tool.
So I installed latest version 1.2beta2 build 120  (from project homepage on github) and I notices 2 things:

It no longer has the 'Switching' option at the top that enabled the global Fn toggle (see screenshots)
It no longer has the 'Use light status bar icon' option in preferences

So I went back immediately to the previous version I had. Behavior explained in last comment persists.
Menu of version 1.2beta build 456:

Menu of version 1.2beta2 build 120:

@sapeish,
As @Pyroh, mentioned in earlier comments, the latest version is 2.0.1, and you can get it from the new website.

Also is it possible to add an optional label that easily shows when the Fn keys are toggled. For instance as the black label in the corner of the following picture:

Was this ever implemented? If not, any chance of adding either this or a system notification when the Fn keys are toggled? This would be really useful when using fullscreen apps where the global menu/status bar is hidden. Thanks!


Correct loss weight hyperparam for improved_wgan

@the-moliver I've added the gradient penalty fix; though I think I could probably have made a more elegant pull request for it.

Changes incorporated!


[ENG-5017] display queue type when waiting

Checklist

[ ] I've added an entry to CHANGELOG.md if necessary. You can comment this pull request with /changelog-entry [breaking-change|new-feature|bug-fix|chore] [message] and CHANGELOG.md will be updated automatically.

Why
https://linear.app/expo/issue/ENG-5017/suggestion-display-queue-type-in-cli-when-waiting
How
Display queue type when waiting.
Test Plan

/changelog-entry new-feature Display build queue type when waiting.


Geolite Integration does not work

Describe the bug
I can't get the IPInfo Modal to open. When I'm playing the Media, I see the IP in the activity card and in the activity table, but there should be a Link to click to open the IPInfo Modal to get GeoData about the remote IP.
I've added the two Environment Variables and also got the utils/geolocateIp Endpoint to work via URL. So I think Jellystats is correctly configured.
export token="eyJc..."
export ipAddress="IP.to.check.out"

curl -X POST \
     -H "Authorization: Bearer $token" \
     -H "Content-Type: application/json" \
     -d "{\"ipAddress\": \"$ipAddress\"}" \
     https://[HOST]/utils/geolocateIp

Environment Details (please complete the following information):

OS: Ubuntu/Docker (latest and unstable Tag) / MacOS as Client
Browser: Chrome (Arc)
Jellystat Version: 1.1.0 and unstable
Jellyfin Version: 10.9.8

To Reproduce
Steps to reproduce the behavior:

Play a Video
Try to click on the IP (should open the Modal as seen here: GitHub Link)

Expected behavior
Modal should open with infos about remote IP
Container Logs
><EMAIL_ADDRESS>start
> cd backend && node server.js

[JELLYSTAT] Database exists. Skipping creation
FS-related option specified for migration configuration. This resets migrationSource to default FsMigrations
FS-related option specified for migration configuration. This resets migrationSource to default FsMigrations
[JELLYSTAT] Server listening on http://<IP_ADDRESS>:3000

Docker Compose File
  jellystat:
    image: cyfershepard/jellystat:unstable
    container_name: jellystat
    restart: unless-stopped
    networks:
      - unifi
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: mypassword
      POSTGRES_IP: jellystat-db
      POSTGRES_PORT: 5432
      JWT_SECRET: "my-secret-jwt-key"
      TZ: Europe/Berlin # timezone (ex: Europe/Paris)
      JS_GEOLITE_ACCOUNT_ID: "1..."
      JS_GEOLITE_LICENSE_KEY: "B..._..._..."
    volumes:
      - ./dockerdata/jellystat/jellystat-backup-data:/app/backend/backup-data
    depends_on:
      - jellystat-db

# and DB and reverse Proxy

hey @Tobix99 , this should be fixed on unstable, can you confirm if it works?

Currently on Vacation, will do when I‘m back on Monday

@CyferShepard mhhh yes it works for IPv4 Addresses, but not for IPv6 Addresses 🤔

Closing as Geolite bug was fixed, ipv6 is a separate issue tracked on #238


Add button on dashboard for people who want to talk to us about fastlane.ci

As we continue to build out fastlane.ci, we'll want to make sure we gather feedback from people who are using the Alpha and Beta. Let's add a button somewhere and link it a form people can fill out if they want to help contribute to making fastlane.ci the ci of their dreams 🌈
Moving forward, we'll probably want to link to a short questionnaire, and then, if people are interested, we'll actually invite them for a face-to-face (either in-person in the SF Bay Area, potentially NYC, or over VC 📺)
So for right now, maybe we can build a button that describes this idea and sends an email to<EMAIL_ADDRESS>

Maybe later on we can add a CSAT survey since they come from an external link. It would be like 1 line of code.

What about the discussion forum we talked about fastlane but just for fastlane.ci? 😄

@minuscorp what do you mean?
Alright, we have the link with a simple Google Survey for now, let's close this for now 👍

About a discussion forum with the community besides the issues related with the CI itself


Support skipping tests decorated by condition or parametize

Support self.skipTest in unittest as done in Chainer.
https://github.com/chainer/chainer/pull/4685
CuPy specific fixes (difference from above PR): for_dtypes loops inside one test case with different parameters. In this case we can't just raise the exception, as it will skip the all parameters.

Jenkins CI test (for commit 36bfc6e566ce475d465cb1498d88edb6c4f3bb5f, target branch master) succeeded!

LGTM!


A small problem in func defaultNamer

Hi, jinzhu. There is a some problem in func defaultNamer. It's not a bug, but it makes me feel litte akward
You have used a commonInitialismsReplacer.Replace(name) in line 87 for give us free in some situation. But if i didn't use the word in you list, will make me feel Overwhelmed.
Just like i have UID, ID, VID in the struct, i can't get the VID all the time , because it turns VID into v_i_d
I think it's more confortable for us if there is a notice in the document, list the word we can use for convenient, otherwise, we need to overname it!
many thanks to your project

If you think it's needed, please leave a word for me. I will do it~


Fix garbled in npm Readme

Why?
https://www.npmjs.com/package/scsaver

Solution:
https://forum.freecodecamp.org/t/garbled-readme-md-file-on-npmjs-org/454261


[Bug]: dear teachers, when i change the gelu on spu, the result always similar very much, even when i change the gelu at a worse format

Issue Type
Others
Modules Involved
Others
Have you reproduced the bug with SPU HEAD?
Yes
Have you searched existing issues?
Yes
SPU Version
spu0.9.1b0
OS Platform and Distribution
ubuntu18.04
Python Version
3.10.14
Compiler Version
GCC11.2.1
Current Behavior?
[Bug]: dear teachers, when i change the gelu① of gpt2_version on spu, the result always similar very much, even when i change the gelu at a worse format gelu②. could you please give me some advice on how to change the gelu. Thank you very much!!!
gelu①
def hack_gelu(
x: torch.Tensor,
axis: Optional[Union[int, Tuple[int, ...]]] = -1,
where: Optional[torch.Tensor] = None,
initial: Optional[torch.Tensor] = None,
) -> torch.Tensor:
b0 = x < -4.0
b1 = x < -1.95
b2 = x > 3.0
b3 = b1 ^ b2 ^ True  # x in [-1.95, 3.0]
b4 = b0 ^ b1  # x in [-4, -1.95]
# seg1 = a[3] * x^3 + a[2] * x^2 + a[1] * x + a[0]
# seg2 = b[6] * x^6 + b[4] * x^4 + b[2] * x^2 + b[1] * x + b[0]
a_coeffs = torch.tensor(
[
-0.5054031199708174,
-0.42226581151983866,
-0.11807612951181953,
-0.011034134030615728,
],
dtype=x.dtype,
device=x.device
)
b_coeffs = torch.tensor(
[
0.008526321541038084,
0.5,
0.3603292692789629,
0.0,
-0.037688200365904236,
0.0,
0.0018067462606141187,
],
dtype=x.dtype,
device=x.device
)
x2 = torch.square(x)
x3 = x * x2
x4 = torch.square(x2)
x6 = torch.square(x3)
seg1 = a_coeffs[3] * x3 + a_coeffs[2] * x2 + a_coeffs[1] * x + a_coeffs[0]
seg2 = (
b_coeffs[6] * x6
+ b_coeffs[4] * x4
+ b_coeffs[2] * x2
+ b_coeffs[1] * x
+ b_coeffs[0]
)
ret = b2 * x + b4 * seg1 + b3 * seg2
return ret
@contextmanager
def hack_gelu_context(msg: str, enabled: bool = False):
if not enabled:
yield
return
# hijack some target functions
raw_gelu = F.gelu
F.gelu = hack_gelu
print(msg)  # Optionally, print or log the message
yield
# recover back
F.gelu = raw_gelu
gelu②
def hack_gelu(
x: torch.Tensor,
axis: Optional[Union[int, Tuple[int, ...]]] = -1,
where: Optional[torch.Tensor] = None,
initial: Optional[torch.Tensor] = None,
) -> torch.Tensor:
b0 = x < -4.0
b1 = x < -1.95
b2 = x > 3.0
x2 = torch.square(x)
x3 = x * x2
x4 = torch.square(x2)
x6 = torch.square(x3)
seg1 =  x3 +  x2 +  x
ret = b2 * x + b4 * seg1
return ret
@contextmanager
def hack_gelu_context(msg: str, enabled: bool = False):
if not enabled:
yield
return
# hijack some target functions
raw_gelu = F.gelu
F.gelu = hack_gelu
print(msg)  # Optionally, print or log the message
yield
# recover back
F.gelu = raw_gelu
Standalone code to reproduce the issue
[Bug]

Relevant log output
No response

I am not familiar with GPT-2 model details but I don't find anywhere the huggingface gpt-2 model calling F.gelu. (https://github.com/huggingface/transformers/blob/main/src/transformers/models/gpt2/modeling_gpt2.py). Any reason to replace F.gelu if they are never used?

I am not familiar with GPT-2 model details but I don't find anywhere the huggingface gpt-2 model calling F.gelu. (https://github.com/huggingface/transformers/blob/main/src/transformers/models/gpt2/modeling_gpt2.py). Any reason to replace F.gelu if they are never used?
thank you very much, i understand your teaching, thank you very much!! i will replace the actiation correctly.


Face authentication

hi i am trying to find if in this library exits too face auth and finger print?
as i can see now there is only finger print

Only fingerprint. I don't know of any current APIs to allow broader biometric authentication, although I'll look into supporting them if any show up.

Thanx man for the assistance(same yser that asked lol)
As i read for android pie exits FACE_FEATURE on the documantion:
https://developer.android.com/about/versions/pie/android-9.0
but there is not any existance at any other docs or on the api itself

Some phones certainly have face unlock, but AFAIK, there are no public SDKs allowing access to them. The Android P BiometricPrompt that they added only supports fingerprints right now. I imagine it will expand its capabilities in the future.

@ajalt I just would like to thank you for this great library. This is much more stable than androidx BiometricPrompt :)

@ajalt any updates on this? I think it's now supported with Android 10:
https://source.android.com/security/biometric/
Includes fingerprint and face authentication integration for BiometricPrompt

@hatpick  BiometricPrompt does indeed support face and iris authentication in Android 10. Its interface is fundamentally different than Reprint and the various fingerprint auth APIs, in that it mandates the use of a system-provided dialog. AFAICT, there's no way to support face and iris unlock with the current Reprint API.
The Samsung SPASS library has been deprecated for years now, and I don't believe it's even available for download on their website any more. Samsung is using BiometricPrompt for their face unlock going forward, so there isn't a separate Samsung-specific library for it.
So I can see a few ways forward for this library:

Leave it as-is. Let people continue to use it to implement their own UI for fingerprint auth, and use BiometricPrompt for other use cases.
Deprecate the library, and encourage people to use BiometricPromptCompat instead.
Rewrite the library to just provide extensions to BiometricPromptCompat that work with RxJava/Kotlin coroutines etc. It would no longer integrate Samsung SPASS, and would not support authentication without a system dialog.

I'd like to hear people's thoughts.

@ajalt indeed not the second option. BiometricPrompt system dialog just looks lame, why not letting people to change UI themselves? I hope though there will be a reliable Face Api detection in the future.

The rationale behind requiring a system prompt is to make it consistent across apps so that users feel more confident in authenticating. Making the system dialog mandatory makes it impossible for apps to authenticate silently without the user knowing.
I don't expect that there will ever be a way to do face unlock without a system dialog.


Intermittent timeout with git master

Logs at https://gist.github.com/DemiMarie-parity/c83746d3f95f94861a446207f58e0752

I don't see any timeouts in those logs. Can you elaborate?

This log should have some timeouts: gist.txt.gz.

It's difficult to analyze these usefully without some way to distinguish logs from the different connections. Can you add a tracing span that identifies the connection around calls into quinn-proto, in particular handle_timeout and handle_event?

There is only ever one connection at any given time, which is why I added the span around the entire test, but I can do that.

There's no such span in the logs. Did you remember to enter it, and hold the guard until after the calls are complete?
There should be at least two Connections; the client and the server.

Here is the relevant code:
[end.gz](https://github.com/djc/quinn/files/4346377/end.gz)
[end.gz](https://github.com/djc/quinn/files/4346380/end.gz)

#[test]
fn communicating_between_dialer_and_listener() {
    use tracing::info_span;
    init();
    for i in 0..1000u32 {
        let span = info_span!("test", id = i);
        let _guard = span.enter();
        do_test()
    }
}

And my command line is
RUST_LOG=quinn_proto=trace,libp2p_quic=trace,tests=trace,rustls=trace cargo test -plibp2p-quic --release

That span does not arise in the logs. Are you perhaps spawning futures inside do_test? Spans do not automatically attach themselves to spawned futures. Please also arrange spans that allow the client and server connections to be distinguished; this makes it much easier to inspect the logs.

I don’t believe that failing to decrypt a single packet should cause a reset to be sent.

It does not. Stateless resets are sent when a packet does not match any known connection. Decryption is only attempted after a packet is successfully matched to a connection.

That span does not arise in the logs. Are you perhaps spawning futures inside do_test? Spans do not automatically attach themselves to spawned futures. Please also arrange spans that allow the client and server connections to be distinguished; this makes it much easier to inspect the logs.

Indeed do_test does spawn futures. Thanks for the suggestion!

I don’t believe that failing to decrypt a single packet should cause a reset to be sent.

It does not. Stateless resets are sent when a packet does not match any known connection. Decryption is only attempted after a packet is successfully matched to a connection.

That makes sense, although the “unable to decrypt” message is rather confusing.
In this case, I think the bug is that a stateless reset tears a connection down that it really shouldn’t.

The tracing-futures crate can be used to attach spans to ("instrument")
futures.
A stateless reset will not be detected for a connection unless it was
generated for that connection's ID, which is guaranteed by cryptographic
mechanisms. That only occurs if the peer doesn't recognize the connection,
in which case it's there's no other possible recourse than notifying the
application; think of it as a fast path for a timeout. This can occur when
the packets that indicate that the peer is closing the connection are lost,
and the peer ultimately gives up and discards state.
On Wed, Mar 18, 2020, 12:44 PM Demi Obenour<EMAIL_ADDRESS>wrote:

That span does not arise in the logs. Are you perhaps spawning futures
inside do_test? Spans do not automatically attach themselves to spawned
futures. Please also arrange spans that allow the client and server
connections to be distinguished; this makes it much easier to inspect the
logs.
Indeed do_test does spawn futures. Thanks for the suggestion!
I don’t believe that failing to decrypt a single packet should cause a
reset to be sent.
It does not. Stateless resets are sent when a packet does not match any
known connection. Decryption is only attempted after a packet is
successfully matched to a connection.
That makes sense, although the “unable to decrypt” message is rather
confusing.
In this case, I think the bug is that a stateless reset tears a connection
down that it really shouldn’t.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/djc/quinn/issues/689#issuecomment-600824213, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAZQ3WBLRMAYUNTU4RYBLTRIEP77ANCNFSM4LNR7AMA
.

Here is a compressed (warning: >10MB uncompressed!) log file that has spans added.

Here is another compressed log file that clearly shows a CONNECTION_ID_LIMIT_ERROR.  Unfortunately, this one doesn’t have spans from my code.

Worth noting that this problem does not happen with 0.6.0 (latest released version).

Here is one log file, and
here is another one with a really bad network

So can you bisect to find the regressing commit?

So can you bisect to find the regressing commit?

I can try!  I do get a timeout on 0.6.0, but only with a really really really bad network (I think it was 80+% packet loss or similar).

I ran
sudo tc qdisc change dev lo root netem delay 5ms 10ms 90% distribution normal loss gemodel 40% duplicate 100% corrupt 80% reorder 30% 50%

Here is a compressed (warning: >10MB uncompressed!) log file that has spans added.

Thanks! I'm guessing each connection has a distinct UDP port? At first glance the main thing that jumps out at me is the stateless resets at the end; I'm guessing that's the unexpected behavior in this log?

(I think it was 80+% packet loss or similar).

That's probably a legitimate timeout.

Thanks! I'm guessing each connection has a distinct UDP port? At first glance the main thing that jumps out at me is the stateless resets at the end; I'm guessing that's the unexpected behavior in this log?

The UDP ports are randomly assigned by the OS, so I suspect so.  In any case, these are logged.
And yes, the stateless resets are the main unexpected behavior.  I understand if a packet from a previous connection triggered a reset, but that reset packet should then be ignored.

(I think it was 80+% packet loss or similar).

That's probably a legitimate timeout.

Good to know, thanks!

@djc 0f5b851189b97754b69b6d704b445bca9f77a8e2 should be the first bad commit.  I only checked commits between 0.6.0 and master that changed files in quinn-proto/.

That's very interesting, as that commit is supposed to be refactoring-only, that is, the functionality should be unchanged by it.

The stateless resets are unexpected, but I believe there is also a CONNECTION_ID_LIMIT_ERROR somewhere.

There is no such error in that log.

0f5b851 should be the first bad commit

To be clear, you see unexpected resets only after that commit? If you're seeing CONNECTION_ID_LIMIT_ERROR as well, that's likely a different issue.

The stateless resets are unexpected, but I believe there is also a CONNECTION_ID_LIMIT_ERROR somewhere.

There is no such error in that log.

0f5b851 should be the first bad commit

To be clear, you see unexpected resets only after that commit? If you're seeing CONNECTION_ID_LIMIT_ERROR as well, that's likely a different issue.
My tests fail beginning with this commit.  log.txt.gz (made with git HEAD) clearly shows a CONNECTION_ID_LIMIT_ERROR.

This log file was made with d1885b6302b6f83c153bc9dbac0a51eb37ac3287.  It also shows a CONNECTION_ID_LIMIT_ERROR.

Thanks! Investigating those now.

You’re welcome!  @Ralith @djc thank you both for this awesome library.

Turns out the unexpected stateless reset and CONNECTION_ID_LIMIT_ERROR were indeed the same issue, manifesting nondeterministically in two different ways due to a race condition. Fix is up for review.


Unsafe warnings with Swift 5

Hello,
I just upgraded a project where we use AsymmetricCrypto to Swift 5 and we are now getting several warnings "withUnsafeMutableBytes is deprecated...", e.g.::

It would be great if you could handle this.
Thanks.

Sorry, I am not updating this software currently anymore. Feel free to send a PR and I will review it.


Neural Networks

ML - Algorithm

[x] I have not used any Machine Learning Libraries in my code
[x] This ML Algorithm is not available in the repository currently.
[ ] If it is, My ML Algorithm is implemented in a different method.
[ ] I have starred this repository

Information

ML Algorithm Name: Neural Networks

Language: Python

Created a pull request. Please review.


Update readme and add GitHub templates & codeowners

Change-type: patch
Signed-off-by: Thodoris Greasidis<EMAIL_ADDRESS>

@thgreasi I stumbled upon this gem in the mocha docs today, might be worth considering adding as part of the precommit hook:

Be mindful not to commit usages of .only() to version control, unless you really mean it! To do so one can run mocha with the option --forbid-only in the continuous integration test command (or in a git precommit hook).

@xginn8 sounds like a great idea to add this in the ci script.
Do you want to open a PR for this??

@thgreasi will do! opened https://github.com/balena-io/balena-sdk/issues/651 to track


XDG_CONFIG_HOME is not appropriate for headless installs

e.g. an ubuntu box without X installed will not have XDG_CONFIG_HOME set.
nightpool@fendant2:~/xapblr$ xapblr index nightpool
Traceback (most recent call last):
  File "/usr/local/bin/xapblr", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/xapblr/__init__.py", line 6, in main
    args.func(args)
  File "/usr/local/lib/python3.10/dist-packages/xapblr/index.py", line 106, in index
    api_key = get_api_key()
  File "/usr/local/lib/python3.10/dist-packages/xapblr/utils.py", line 27, in get_api_key
    xdg_config_home = Path(environ["XDG_CONFIG_HOME"])
  File "/usr/lib/python3.10/os.py", line 679, in __getitem__
    raise KeyError(key) from None
KeyError: 'XDG_CONFIG_HOME'

I guess this is why the<EMAIL_ADDRESS>file exists.

This should be fixed in 8f052f2f1aa5cac55f21c05cd69e81e792bde33f.

I guess this is why the<EMAIL_ADDRESS>file exists.

Ah, that's because systemd doesn't pass environment variables.


No gmail/src/user_agent.dart': ?

I get this message with googleapis: 9.1.0:
../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/googleapis-9.1.0/lib/gmail//v1.dart:46:8: Error: Error when reading '../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/googleapis-9.1.0/lib/gmail/src/user_agent.dart': No such file or directory
import '../src/user_agent.dart';
       ^
../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/googleapis-9.1.0/lib/gmail//v1.dart:125:64: Error: Undefined name 'requestHeaders'.
            commons.ApiRequester(client, rootUrl, servicePath, requestHeaders);
                                                               ^^^^^^^^^^^^^^

Please let me know if you need more information? Cannot run the app anymore :/

The double slashes here gmail//v1.dart seem...weird.
What platform are you on?
What's your full import?

Platform is Linux (Ubuntu),
Full import:
cupertino_icons: ^1.0.2
  web_socket_channel: ^2.1.0
  path_provider: ^2.0.11
  intl: ^0.17.0
  flutter_sms: 2.3.2
  permission_handler: ^9.2.0
  geolocator: ^8.2.0
  flutter_launcher_icons: ^0.9.2
  googleapis: ^9.1.0
  googleapis_auth: ^1.3.0
  table_calendar: ^3.0.5
  syncfusion_flutter_calendar: ^19.4.56
  timezone: ^0.8.0
  video_player: ^2.3.0
  webview_flutter: ^3.0.2
  crypto: ^3.0.2
  flutter_signin_button: ^2.0.0
  syncfusion_flutter_pdfviewer: ^19.4.56-beta
  url_launcher: ^6.1.5
  image_gallery_saver: ^1.7.1

Copy-paste the full import "package:googleapis/xyz from your dart file!

This file ./snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/googleapis-9.1.0/lib/gmail//v1.dart: ?
library gmail.v1;

import 'dart:async' as async;
import 'dart:convert' as convert;
import 'dart:core' as core;

import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
import 'package:http/http.dart' as http;

import '../src/user_agent.dart';

export 'package:_discoveryapis_commons/_discoveryapis_commons.dart'
show
        ApiRequestError,
        DetailedApiRequestError,
        Media,
        UploadOptions,
        ResumableUploadOptions,
        DownloadOptions,
        PartialDownloadOptions,
        ByteRange;

Gah! @agavrel – what is YOUR code. Where gmail/v1.dart is being imported?

Where:
Script '/home/agavrel/snap/flutter/common/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1159

Are you on twitter? What's your twitter handle? Follow me and I'll send you a DM

ok done

Ok my bad, found the guilty file & import, always a terrible idea to push a WIP at 3am.
I had a greyyed line (unused package)import 'package:googleapis/gmail//v1.dart'; so it would not show as an error in the IDE.
Thank you to the team for the API it works great.


Cluster wide quota stats via Helix

Enables Cluster wide quota stats aggregation via Helix's Health Report and Task Framework.

Each node (instance in Helix) exposes node level quota stats via Helix Health Report.
The cluster wide aggregation will be delegated to a chosen live node via Helix task framework and HelixAggregateTask.

Node level stats will be reported by Helix's existing Health Report framework. The implementation of QuotaHealthReport will be responsible of exposing node level quota stats at every node when Helix is collecting health report for every instance.
Each node (instance) will be registered with the HelixAggregateTask which can be triggered to perform cluster wide aggregation. Every node is capable of performing cluster wide aggregation. The logic for performing the cluster wide aggregation are within HelixClusterAggregator. Trigger for the task can either be on demand or periodically. A generic job (job without specifying a target) will pick a live node (instance) in the cluster and trigger its HelixAggregateTask which will perform the cluster wide aggregation and store the final result in Helix's PropertyStore.
More details about the design and implementation can be found here.
Code/workflow tested locally with unit tests and running a local mock cluster.
Unit test coverage:

Class
Method, %
Line, %

HelixClusterAggregator
100% (5/ 5)
100% (57/ 57)

Code style/format applied.
./gradlew build && ./gradlew test success.

@pnarayanan I added Javadoc to most of them but I think missed a few. Thanks for pointing out I will add them.

Merging the patch for now. Someone will pick this up to work on it later. Have ensured that this patch will not break anything as health reports are disabled as per configs and cluster wide aggregation will have to be triggered via tools.


Add a section about the API to the docs.

Add api section to docs.
to changes.

I like to have everything in the API document to be able to link to it. The document is not intended to introduce users to the package or provide an overview.


Api doesn't fully implement swagger spec

Some of the responses contain empty bodies, contrary to the api swagger spec.
Known/tested response codes that return an empty body in the /api/v2/write path are 401 and 403 responses.

@goller can this be closed?


[Feature Request]: Support for Schema-Based Collection Creation in MilvusVectorStore

Feature Description
Support for Schema-Based Collection Creation in MilvusVectorStore
The current implementation of MilvusVectorStore supports only dynamic schema, which poses limitations, such as:

Inability to create indexes on fields other than the vector field, which is useful for filtering operations.

To address this issue, we propose two possible enhancements to support schema-based collection creation:

User-Defined Schema:

Allow users to pass a schema when creating a collection.
Users will be responsible for ensuring that the metadata adheres to the provided schema.

Automatic Schema Detection:

Detect the schema from the first entry being ingested and apply this schema to all subsequent document ingestion.
This approach is similar to the schema detection mechanism used by LangChain's Milvus store.

Benefits:

Enhancing the flexibility and usability of the MilvusVectorStore.
Enabling advanced indexing and filtering capabilities on non-vector fields.

Reason
The Milvus Dynamic Schem is not appropriate for the use cases involving large amount of data which requires filtering on some fields.
Value of Feature
The feature is optional and this will  make sure that Milvus a prominent vector store is being used optimally for use cases involving large datasets and filtering.

I'm no where near enough a milvus expert to do this, but feel free to make a PR!


Disallow :|

Some terms to make this more searchable:

Disallow the colon and pipe operators next to each other.
definition operator and vertical bar adjacent
:|

(Please forgive me if this has already been reported; it is very challenging to search GitHub issues for single-character non-letter operators!)
Describe the bug
I just spent a good deal of time debugging what turned out to be a rogue definition line like this:
...
my_rule: | part_1 | part_2
...

in other words, there was a rule definition, immediately followed by a vertical pipe:
:|

My suggestion is to disallow this syntax, because the result was a completely unpredictable parse, since sometimes my tree would parse correctly and sometimes my_rule would be empty.
Perhaps it's possible there are times when this is desireable(?) I can't imagine when that would be... but perhaps it's worth warning the user at least, so it's clear that such a "weird" rule exists! (I imagine this is not uncommon, especially when users refactor their grammars.)
(HUGE kudos for the v_args decorator, which made this much easier to track down!)

I agree there is some potential for confusion there.
I've already suggested before that we switch to an explicit empty rule, like (), instead of allowing implicit ones. And of course the same can be achieved by doing my_rule: part_1? | part_2 or other variations on this theme.
Unfortunately, I don't know how to bring about such a change right now, because it might break a lot of existing grammars. Perhaps I should have used v1.0 to do it, but what's done is done.
I'm not sure if adding a warning is the right reaction to this. But I'll try to keep an open mind.

Perhaps it's possible there are times when this is desireable

I think it's quite common, although usually it would be written as part_1 | part_2 |  which is perhaps clearer?

HUGE kudos for the v_args decorator

Thanks. Mind if I ask how you used it to track it down?

Understood, and thank you for the quick response @erezsh! Maybe nothing actionable here then — feel free to close! (Either way, I hope the issue might be googleable for others now!)
I've only used Lark in a small handful of projects so far now, and I'm not sure I've ever really managed to write what I'd consider a bullet-proof Transformer anyway, so it's very likely my opinions here are moot :)
v_args helped me track down the problem to a matter of the incorrect number of arguments being passed to my rule in the Transformer: I knew then that I was making it all the way to the correct rule, but NOT passing the correct subtree (and was, in fact, passing an empty subtree). I had experienced the same issue previously when I had something like this:
rule        : part_1
            | part_1 optional_part_2

(simplified example just for explanation purposes, I realize one can use ? for this here)

@v_args(inline=True)
class MyTransformer(Transformer):

    def rule(self, part_1, optional_part_2):
        ...

Which would throw a wrong-number-of-args exception if it matched part_1 alone. (A "duh" moment, but super helpful to track down!)

While I'm kudos'ing, I also want to say a BIG thanks for the online IDE, which shortened my development cycle considerably!!

I'm not sure if adding a warning is the right reaction to this
I think it would be okay to issue a warning if implicit empty rule is used, so it won't break old grammars, but will prevent from doing it accidentally.
Adding an explicit empty rule to avoid warnings (and I think not ()) would be nice in that case.

I do like (), for exactly that Pythonic "emptiness" mnemonic reason. // might also be good — "the regular expression that matches the empty string" — which I think is disallowed in grammars right now, so that might be a good way to ensure backwards compat?
Or of course, something more explicit:
%import common.EMPTY

These are actually 3 different constructs

The empty terminal, which is disallowed because how do you match ""* ? (// is used for comments :)
The empty rule, which you can create with my_empty:
The empty derivation, which you stumbled upon with a: b|, but can be created in many different ways.

The difference between the 2nd and 3rd is that an empty rule will be "parsed" and create an empty tree node (like Tree('my_empty', [])), while the empty derivation gets optimized away during preprocessing, and doesn't even get sent to the parser.

🤦 right right, comments! silly mistake :)
Although,
rule: opt1 | opt2 | //

magically already works ;)
Of the two options, I think it makes sense to create a tree node so that it can be handled by the developer, rather than be totally transparent?

Funny!

I think it makes sense to create a tree node

For that you can use the 2nd form. But there is a performance penalty for sending it to the parser, instead of optimizing it away in the preprocess. And another penalty for creating a tree node. It's small, but it can accumulate, especially since empty derivations are more common than it might seem at first. (not to mention the inconvenience)

What would you use to signify empty? I thought () is pretty elegant, and it's what Python uses for empty tuple.

I guess I don't have a better proposal for an empty rule.
Although my grammar generator is perfectly compatible with () right now.
On second thought, I think it would be the best way to do that.


Program borrows source_text unnecessarily

          I'm not sure the use case. But more accurate lifetimes after this PR allow us to have the AST while being droped the `source_text`.

Originally posted by @hyf0 in https://github.com/web-infra-dev/oxc/issues/701#issuecomment-1670701343

@Boshen Fixing this requires more lifetime specifiers on Parser if you think this is acceptable if could make a contribution for this.

Does https://github.com/web-infra-dev/oxc/pull/712 work for you? Adding another lifetime will complicate things, I think we should "align" the lifetimes before passing them to the parser.

I bring this up just for accuracy. I guess this is a trade-off for more accuracy or better DX.
I'm not blocked by this, so feel free to decide how to handle the issue.

I don't think this is a issue.