rename Arduino-SignatureRow to Arduino-Signature

I have renamed my repository because the term "SignatureRow" for AVR microcontrollers is not used by all documentations. In the documentation of the ATmega328 this section of the memory is called "Signature Row", however in the documentation of the ATtiny848 it is called "Signature Imprint Table".
Therefore is generalize the name of my repository.

Hello @nkaaf. I am confirming your request.
Unlike submissions, this type of request is still handled manually. The Library Manager index maintainer occasionally comes through to clear all the outstanding requests. They will merge this pull request when it is done. You will get a notification from GitHub at that time.
After that, you can monitor the indexing of the library via its dedicated logs web page.
Information about that here:
https://github.com/arduino/library-registry/blob/main/FAQ.md#can-i-check-on-library-releases-being-added-to-library-manager

Done:
2022/09/27 12:50:57 Loaded 5177 libraries from DB
Changing URL of library SignatureRow from https://github.com/nkaaf/Arduino-SignatureRow.git to https://github.com/nkaaf/Arduino-Signature.git
Success!


Feature request: AES256 encryption for HTTPS "webConfigurator"

OPNsense 16.7.10 supports AES128 encryption for the HTTPS web management interface, otherwise known as the "webConfigurator".
I think the web server (lighhtpd) configuration file is located at /var/etc/lighty-webConfigurator.conf.   OPNsense (twitter) advised that you can manually change the ssl ciphers list within the web server configuration to force AES256 with the line:
ssl.cipher-list = "AES256+EECDH:AES256+EDH:!aNULL:!eNULL"
While I am unable to get this working, it would be ideal to be able to set the ciphers within the WebConfigurator itself.  This would enable OPNsense to be used in environments that have requirements for AES256 encryption, or for someone who is security conscious.

Thanks!
The line in question that needs modification is:
https://github.com/opnsense/core/blob/master/src/etc/inc/system.inc#L1280
located at /usr/local/etc/inc/system.inc
This should make it work locally for now. :)
Thank you,
Franco

@shezzski it is always a bad idea to be limited to one cipher. If it gets broken, you do not have a chance to keep it secure. I prefer to have always at least two of them available. This is why I prefer to have CAMELLIA as an option available. However there is a huge difference in the supported ciphers between OpenSSL and LibreSSL.  Keep in mind that not all TLS implementations support all cipher suits. So you should only prefer some but you should not reject secure cipher suits if possible.

Depends on the situation. If all of the connecting clients are in your control then only using one cipher can perfectly make sense. IMHO AES128 is 'sufficiently secure' and about 40% faster than AES256. Block ciphers are most often not attacked. Using a 'better' key exchange would be more important since you are probably using NIST P-curves with ECDHE which pose some risks (see djb safecurves, rigidity).  I would rather go for x25519 curve or Poly1305.

Thanks @fichtner for the fix and @fabianfrz for the tips.  I guess while I was exclusively asking for AES256 support, I think it would be good if OPNsense would support the selection of ciphers in the GUI by the OPNsense administrator so all can be happy.

@mschilt As far as I can remember, curve 25519 and Poly 1305 etc. will come with TLS 1.3.

Making the cipher string configurable would enable everyone to freely choose from what is available. Displaying the available ciphers (listed with "openssl ciphers -v") would be great.
@fabianfrz Nope. Not really. These primitives are already available today with TLS 1.2. Google Chrome and Firefox are shipping some of them already. Go visit https://www.ssllabs.com/ssltest/viewMyClient.html and check the ciphers. You should at least see TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 with both browsers and x25519 with chrome.

I've implemented the idea of @mschilt , if anyone likes to try it before it's in a release, use the following commands:
opnsense-patch 99dac4ab7
chmod 700 /usr/local/opnsense/scripts/system/ssl_ciphers.py
service configd restart


[darknet] Build error

Package: darknet[core,cuda,cudnn,full,opencv-cuda]:x64-windows -> 2022-03-06#3
Host Environment

Host: x64-windows
Compiler: MSVC 19.29.30151.0
vcpkg-tool version: 2023-08-09-9990a4c9026811a312cb2af78bf77f3d9d288416
vcpkg-scripts version: 12640ddf0 2023-08-23 (3 hours ago)

To Reproduce
vcpkg install darknet[full]:x64-windows
Failure logs
-- Using cached AlexeyAB-darknet-8a0bf84c19e38214219dbd3345f04ce778426c57.tar.gz.
-- Cleaning sources at D:/Task/vcpkg/buildtrees/darknet/src/e778426c57-96aa9384e0.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source D:/Task/vcpkg/downloads/AlexeyAB-darknet-8a0bf84c19e38214219dbd3345f04ce778426c57.tar.gz
-- Applying patch fix-dependence-getopt.patch
-- Using source at D:/Task/vcpkg/buildtrees/darknet/src/e778426c57-96aa9384e0.clean
-- Found external ninja('1.10.2').
-- Configuring x64-windows-dbg
-- Configuring x64-windows-rel
-- Building x64-windows-dbg
-- Building x64-windows-rel
CMake Error at scripts/cmake/vcpkg_copy_tools.cmake:36 (message):
  Couldn't find tool "uselib_track":

      "D:/Task/vcpkg/packages/darknet_x64-windows/bin/uselib_track.exe" does not exist
Call Stack (most recent call first):
  ports/darknet/portfile.cmake:45 (vcpkg_copy_tools)
  scripts/ports.cmake:147 (include)

@qjrm2333 Sorry for the late reply, could you provide the contents of directory D:/Task/vcpkg/packages/darknet_x64-windows/bin and your console output? :)

.\vcpkg.exe install --recurse "darknet[opencv-cuda]"
warning: In the September 2023 release, the default triplet for vcpkg libraries changed from x86-windows to the detected host triplet (x64-windows). For the old behavior, add --triplet x86-windows . To suppress this message, add --triplet x64-windows .
Computing installation plan...
The following packages will be built and installed:
darknet[core,opencv-cuda]:x64-windows -> 2022-03-06#3
Detecting compiler hash for triplet x64-windows...
-- Automatically setting %HTTP(S)_PROXY% environment variables to "<IP_ADDRESS>:51547".
Restored 0 package(s) from C:\Users\Admin\AppData\Local\vcpkg\archives in 103 us. Use --debug to see more details.
Installing 1/1 darknet:x64-windows...
Building darknet[core,opencv-cuda]:x64-windows...
-- Using cached AlexeyAB-darknet-8a0bf84c19e38214219dbd3345f04ce778426c57.tar.gz.
-- Cleaning sources at E:/github/vcpkg/buildtrees/darknet/src/e778426c57-96aa9384e0.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source E:/github/vcpkg/downloads/AlexeyAB-darknet-8a0bf84c19e38214219dbd3345f04ce778426c57.tar.gz
-- Applying patch fix-dependence-getopt.patch
-- Using source at E:/github/vcpkg/buildtrees/darknet/src/e778426c57-96aa9384e0.clean
-- Found external ninja('1.11.0').
-- Configuring x64-windows-dbg
-- Configuring x64-windows-rel
-- Building x64-windows-dbg
-- Building x64-windows-rel
CMake Error at scripts/cmake/vcpkg_copy_tools.cmake:36 (message):
Couldn't find tool "uselib_track":
  "E:/github/vcpkg/packages/darknet_x64-windows/bin/uselib_track.exe" does not exist

Call Stack (most recent call first):
ports/darknet/portfile.cmake:45 (vcpkg_copy_tools)
scripts/ports.cmake:170 (include)
Path:E:\github\vcpkg\packages\darknet_x64-windows\bin
File: darknet.dll

./vcpkg install --recurse "darknet[opencv-cuda]"  success
`CMake Error at E:/github/vcpkg/installed/x64-windows/share/darknet/DarknetTargets.cmake:60 (set_target_properties):
The link interface of target "Darknet::dark" contains:
PThreads_windows::PThreads_windows

but the target was not found.  Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.

Call Stack (most recent call first):
E:/github/vcpkg/installed/x64-windows/share/darknet/DarknetConfig.cmake:44 (include)
E:/github/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
CMakeLists.txt:20 (find_package)`
Which package should be installed？
@FrankXie05

@whynotAC Please run connamd ./vcpkg install pthreads.


Added deeplink permissions for api 30+

My Deeplink deep not work on android(API 33) without this fix

Thank you for this contribution, but I don't have any time to maintain this package, so it is now marked as discontinued and app_links recommended replacement.


Incorrect variable formatting

As discussed on Discord.
Everything works fine when we move the first defined array to the line with static or if the first variable isn't an array.
Before:
static
bool:a[0],
Float:b[MAX_PLAYERS];

After:
static
bool:a[0],
                         Float:b[MAX_PLAYERS];

fixed


⚠ Bofrost.de has degraded performance

In f30bfe8, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1870 ms

Resolved: Bofrost.de performance has improved in 33ca2c4 after 8 minutes.


feat: use cvss lib to calculate rating

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

37 of 42 (88.1%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.1%) to 63.278%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pycomponents/cve_search/schemas.py
1
3
33.33%

pycomponents/rating.py
29
32
90.63%

Totals

Change from base Build<PHONE_NUMBER>:
2.1%

Covered Lines:
305

Relevant Lines:
482

💛  - Coveralls


Correct docs about expect.toThrow(String)

Summary:
The current docs indicate that a test like the following should fail,
but it actually passes:
function scary() {
  throw new Error("...Boo!");
}

it("should be scary", () => {
  // Should fail, according to current docs: not an exact match.
  // Actually passes.
  expect(() => scary()).toThrow("Boo");
});

We can see in the implementation that the actual behavior is that
strings are simply injected into RegExps, without anchors:
https://github.com/facebook/jest/blob/5a21be3e07c223ba9fbb434f26bce96da0dddd31/packages/expect/src/to_throw_matchers.js#L53-L55
This patch corrects the docs accordingly. (Alternatively, the
implementation could be corrected to match the docs, but this would
break everyone’s tests.)
Test Plan:
None.
wchargin-branch: docs-expect-tothrow-string

@facebook-github-bot done.

(Amended to fix hard-wrapping at 80 instead of 79.)

Codecov Report

Merging #5952 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5952   +/-   ##
=======================================
  Coverage   64.39%   64.39%
=======================================
  Files         217      217
  Lines        8274     8274
  Branches        3        3
=======================================
  Hits         5328     5328
  Misses       2945     2945
  Partials        1        1

Continue to review full report at Codecov.

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

Sorta fixes #5659 🙂


Use the Move source language for client_proxy and libratest/smoke_test

Some changes here may not be obvious:

The compile_program function used to perform an automatic substitution of "{{sender}}" in the code, but I moved that functionality to the caller (e.g., smoke_test.rs). The module.move file needs an "address" directive and that file also needs to be provided as a dependency when compiling script.move. The temporary file with the substituted address was not previously accessible, and I didn't want to blindly rewrite all the dependency files. Doing the substitution in the caller makes it possible to reuse the file.

The source compiler does not support a feature like the IR compiler has to list dependencies. Instead this relies on a new feature in the source compiler (PR #3373) to include the entire Move stdlib as a dependency. It also needs access to the stdlib source files corresponding to the staged binary content (PR #3422).

Removing the code to grab the dependency bytecode from on-chain made the get_account_blob function in libra_client.rs unused, so I removed it as well.

Motivation
Use the source language
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Ran the tests

Please review but this needs to land after #3373 and #3422

:umbrella: The latest upstream changes (presumably e1f58a5282eef0fbe65ddf6fcda0626aa6172de2) made this pull request unmergeable. Please resolve the merge conflicts.

Todd convinced me to skip #3422 so I have updated this to work without that.

Overall looks good. Anywhere to comment that a failure here might mean regenerating staged?

Sorry, I forgot about that suggestion. I've added comments in the 2 Move source files that use the stdlib. That seems like the most logical place for someone to look if there is a runtime failure in the Move code.

@bors-libra r=tnowacki

:pushpin: Commit 113f968 has been approved by tnowacki

:hourglass: Testing commit 113f96816d5e74b4543eb39d9c469baa06f175f3 with merge 9c758e0db3a211c26ea05e31a4f605adfbfdccc0...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: tnowacki
Pushing 9c758e0db3a211c26ea05e31a4f605adfbfdccc0 to master...


Update depth computation in nerfacto to not be torch.no_grad()

This PR removes the torch.no_grad() from the depth computation in nerfacto because when we are using any kind of depth supervision that directly compares the ground truth depth and this depth, no updates will be made if depth is computed with torch.no_grad().
E.g., we can create a simple L1 loss on depth and ground truth depth but the effect will be 0.

@mattstrong-stanford Why you closed it?

@OrangeSodahub the depth computed here uses a median to output the depth, so when we are taking the gradient, there is no influence. I instead had this PR here to take care of this fix.

@OrangeSodahub the median depth would be use for visualization and can also be used to for depth mse in evaluation. You are correct about using  expected depth for depth supervision. You simply can't use median depth in depth supervision because no gradients will pass through a median operation. During visualization, I have noticed median depth to be a bit more fine than expected depth (the expectation smooths out values).

@mattstrong-stanford Thanks, I mean using median depth for depth supervision (defintely should enable the gradient), what I want to emphasize is the difference of median depth and expected depth, the latter is ok for depth supervision, but if I stick to using the former, is it a right way?


UF-4291: Added messaging integration

Added messaging integration
Updated to latest version of dept44

Approved with comment on minor issue


Parsable Metadata File for Component Definitions

Background
A parsable file representing Alloy components would enable the creation of config tools such as autocompletion or visual scripting.
The concept is very similar to the one from @thampiotr that was abandoned: https://github.com/grafana/agent/pull/5863
This proposal focuses on the format of the generated file. Another proposal will address how the file will be generated if this proposal is accepted.
Proposal
I propose to have a generated JSON file representing Alloy components with the following format:
Version: string

Component = {
    name: string,
    description: string,
    requireLabel: boolean,
    arguments: Array<Argument>,
    exports: Array<Export>,
    blocks: Array<Block>
}

Argument = {
    name: string,
    type: string,
    description: string,
    required: boolean,
    default: any
}

Export = {
    name: string,
    type: string,
    description: string
}

Block = {
    name: string,
    description: string,
    required: boolean,
    unique: boolean,
    arguments: Array<Argument>,
    blocks: Array<Block>
}

I tested with a generator based on Alloy documentation and the generated JSON file was 1.1MB (33k lines).
I picked JSON for its parsing speed, memory efficiency, and native support in JS (I expect most tools like autocomplete and visual scripting to use JS).
The file will be generated for every release and will be available in the repo directly (the generation will be part of the release process).
All components and config blocks should be described in the file.

Can you post up a snippet of some of the more complex components, windows_exporter has to have one of the largest configs?

"prometheus.exporter.windows": {
      "name": "prometheus.exporter.windows",
      "doc": "`prometheus.exporter.windows` component embeds\n[windows_exporter](https://github.com/prometheus-community/windows_exporter) which exposes a\nwide variety of hardware and OS metrics for Windows-based systems.",
      "arguments": [
        {
          "name": "enabled_collectors",
          "type": "list(string)",
          "doc": "List of collectors to enable.",
          "required": false,
          "default": "[\"cpu\",\"cs\",\"logical_disk\",\"net\",\"os\",\"service\",\"system\"]"
        },
        {
          "name": "timeout",
          "type": "duration",
          "doc": "Configure timeout for collecting metrics.",
          "required": false,
          "default": "4m"
        }
      ],
      "hasLabel": true,
      "exports": [
        {
          "name": "targets",
          "type": "list(map(string))",
          "doc": "The targets that can be used to collect exporter metrics."
        }
      ],
      "blocks": [
        {
          "name": "dfsr",
          "doc": "Configures the dfsr collector.",
          "required": false,
          "arguments": [
            {
              "name": "source_enabled",
              "type": "list(string)",
              "doc": "Comma-separated list of DFSR Perflib sources to use.",
              "required": false,
              "default": "[\"connection\",\"folder\",\"volume\"]"
            }
          ],
          "blocks": []
        },
        {
          "name": "exchange",
          "doc": "Configures the exchange collector.",
          "required": false,
          "arguments": [
            {
              "name": "enabled_list",
              "type": "string",
              "doc": "Comma-separated list of collectors to use.",
              "required": false,
              "default": "\"\""
            }
          ],
          "blocks": []
        },
        {
          "name": "iis",
          "doc": "Configures the iis collector.",
          "required": false,
          "arguments": [
            {
              "name": "app_exclude",
              "type": "string",
              "doc": "Regular expression of applications to ignore.",
              "required": false,
              "default": "\"\""
            },
            {
              "name": "app_include",
              "type": "string",
              "doc": "Regular expression of applications to report on.",
              "required": false,
              "default": "\".*\""
            },
            {
              "name": "site_exclude",
              "type": "string",
              "doc": "Regular expression of sites to ignore.",
              "required": false,
              "default": "\"\""
            },
            {
              "name": "site_include",
              "type": "string",
              "doc": "Regular expression of sites to report on.",
              "required": false,
              "default": "\".*\""
            }
          ],
          "blocks": []
        },
        {
          "name": "logical_disk",
          "doc": "Configures the logical_disk collector.",
          "required": false,
          "arguments": [
            {
              "name": "exclude",
              "type": "string",
              "doc": "Regular expression of volumes to exclude.",
              "required": false,
              "default": "\"\""
            },
            {
              "name": "include",
              "type": "string",
              "doc": "Regular expression of volumes to include.",
              "required": false,
              "default": "\".+\""
            }
          ],
          "blocks": []
        },
        {
          "name": "msmq",
          "doc": "Configures the msmq collector.",
          "required": false,
          "arguments": [
            {
              "name": "where_clause",
              "type": "string",
              "doc": "WQL 'where' clause to use in WMI metrics query.",
              "required": false,
              "default": "\"\""
            }
          ],
          "blocks": []
        },
        {
          "name": "mssql",
          "doc": "Configures the mssql collector.",
          "required": false,
          "arguments": [
            {
              "name": "enabled_classes",
              "type": "list(string)",
              "doc": "Comma-separated list of MSSQL WMI classes to use.",
              "required": false,
              "default": "[\"accessmethods\", \"availreplica\", \"bufman\", \"databases\", \"dbreplica\", \"genstats\", \"locks\", \"memmgr\", \"sqlstats\", \"sqlerrors\", \"transactions\"]"
            }
          ],
          "blocks": []
        },
        {
          "name": "network",
          "doc": "Configures the network collector.",
          "required": false,
          "arguments": [
            {
              "name": "exclude",
              "type": "string",
              "doc": "Regular expression of NIC:s to exclude.",
              "required": false,
              "default": "\"\""
            },
            {
              "name": "include",
              "type": "string",
              "doc": "Regular expression of NIC:s to include.",
              "required": false,
              "default": "\".*\""
            }
          ],
          "blocks": []
        },
        {
          "name": "process",
          "doc": "Configures the process collector.",
          "required": false,
          "arguments": [
            {
              "name": "exclude",
              "type": "string",
              "doc": "Regular expression of processes to exclude.",
              "required": false,
              "default": "\"\""
            },
            {
              "name": "include",
              "type": "string",
              "doc": "Regular expression of processes to include.",
              "required": false,
              "default": "\".*\""
            }
          ],
          "blocks": []
        },
        {
          "name": "scheduled_task",
          "doc": "Configures the scheduled_task collector.",
          "required": false,
          "arguments": [
            {
              "name": "exclude",
              "type": "string",
              "doc": "Regexp of tasks to exclude.",
              "required": false,
              "default": "\"\""
            },
            {
              "name": "include",
              "type": "string",
              "doc": "Regexp of tasks to include.",
              "required": false,
              "default": "\".+\""
            }
          ],
          "blocks": []
        },
        {
          "name": "service",
          "doc": "Configures the service collector.",
          "required": false,
          "arguments": [
            {
              "name": "use_api",
              "type": "string",
              "doc": "Use API calls to collect service data instead of WMI.",
              "required": false,
              "default": "false"
            },
            {
              "name": "where_clause",
              "type": "string",
              "doc": "WQL 'where' clause to use in WMI metrics query.",
              "required": false,
              "default": "\"\""
            }
          ],
          "blocks": []
        },
        {
          "name": "smtp",
          "doc": "Configures the smtp collector.",
          "required": false,
          "arguments": [
            {
              "name": "exclude",
              "type": "string",
              "doc": "Regexp of virtual servers to ignore.",
              "required": false,
              "default": null
            },
            {
              "name": "include",
              "type": "string",
              "doc": "Regexp of virtual servers to include.",
              "required": false,
              "default": "\".+\""
            }
          ],
          "blocks": []
        },
        {
          "name": "text_file",
          "doc": "Configures the text_file collector.",
          "required": false,
          "arguments": [
            {
              "name": "text_file_directory",
              "type": "string",
              "doc": "The directory containing the files to be ingested.",
              "required": false,
              "default": "C:\\Program Files\\GrafanaLabs\\Alloy\\textfile_inputs"
            }
          ],
          "blocks": []
        }
      ]
    },

This generated version does not contain the "unique" field for blocks. I don't know if it's something we should add or not in the format. It's not useful for autocompletion but it could be useful for validation and visual scripting

I'm happy with this, and I'm very excited to see how we can use it for autogenerating docs. I wonder how we are going to treat pointer attributes and blocks. Atm, if a block is a pointer, then its defaults won't actually be set. They'll only be set if it's not a pointer. We don't document this very clearly, and this is a change to iron out such issues in the docs.

It might be helpful if we make our schema look like a standard json schema, but it's not a must.

One of the main issues with the current proposal is that it doesn't include any sort of validation for config attributes. This could reduce the usefulness of the schema for validating configs. Should we include such a feature?
For example, in Json schema there are number validations such as "multipleOf" : 0.01, "minimum": 0, etc.

One of the main issues with the current proposal is that it doesn't include any sort of validation for config attributes. This could reduce the usefulness of the schema for validating configs. Should we include such a feature?

That's a good point, but I think that for almost all numbers the constraints are obvious (fe: timeout should not be negative). Where the constraints might help the most is for strings when only specific values are allowed (fe: the role in discovery.dockerswarm must be either "services", "nodes" or "tasks").
Not sure if this should be part of the first version

It might be helpful if we make our schema look like a standard json schema, but it's not a must.

Would you then use it to check if the generated components file is correct according to the schema? It's an interesting idea but I think that I would only use it for testing or would you use it differently?

I wonder how we are going to treat pointer attributes and blocks. Atm, if a block is a pointer, then its defaults won't actually be set. They'll only be set if it's not a pointer. We don't document this very clearly, and this is a change to iron out such issues in the docs.

I think that this does not apply to this file, we should treat pointers the same way as values for attributes and blocks because there is no difference between the two in the config. The generated file should be used for config tools. The underlying logic such as how the defaults are applied for pointers should be described in the documentation. If we generate the doc, there could be a warning for the pointer types but I wouldn't include it in this file

Couple of points:

Can we add a stability level to the components? Also whether they are community components would also be a good idea IMO.
You mention that "the generation will be part of the release process" - can we instead make it part of the make generate and have a test that will fail if the generated JSON is not up-to-date? This would be similar to the related components section generation in the docs right now.

@thampiotr thanks for the suggestions, added everything

Actually, I think we should evaluate json schema in a bit more detail first. Last week I OK'd the proposal as it is, because I felt pessimistic that upstream's schematisation project will complete soon due to technical difficulties with generating code that's not too dissimilar. But I've since been able to overcome a few hurdles withe the code, and now I feel much more optimistic. Upstream's maintainers are also receptive to having the feature.

Would you then use it to check if the generated components file is correct according to the schema? It's an interesting idea but I think that I would only use it for testing or would you use it differently?

Using json schema has a few advantages:

We could reuse tooling meant for parsing upstream Collector's schema. It's looking likely that upstream is going to use json schema, and I feel optimistic about that this can happen within the next few months. At that point we will also likely create code/doc generators which use upstream's json schema. If Alloy itself also uses json schema, then we could use those tools for Alloy's own purposes (e.g. generating docs for components other than the otelcol ones).
A lot of users want us to support yaml in a more stable way. Having a json schema for Alloy would give people a better autocompletion and validation experience out of the box with yaml text editors.
It can also be used for validating Alloy files (e.g. using constraints on numbers).

It would be nice if we can explore further whether json-schema is not sufficient for our purposes, and if not, to know why.
Note that it's also possible to extend the schema with parameters which are not in the spec. It's a common problem, and it's likely that OTel will do this upstream to support "secret" strings:
password:
  type: string
  alias: configopaque.String

I tried generating a JSON Schema from the component example that I put above. Is this what you have in mind?

Schema
   {
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "prometheus.exporter.windows": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "const": "prometheus.exporter.windows"
        },
        "doc": {
          "type": "string"
        },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "enabled_collectors" },
                "type": { "const": "list(string)" },
                "doc": { "const": "List of collectors to enable." },
                "required": { "const": false },
                "default": { "const": "[\"cpu\",\"cs\",\"logical_disk\",\"net\",\"os\",\"service\",\"system\"]" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            },
            {
              "type": "object",
              "properties": {
                "name": { "const": "timeout" },
                "type": { "const": "duration" },
                "doc": { "const": "Configure timeout for collecting metrics." },
                "required": { "const": false },
                "default": { "const": "4m" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "requireLabel": { "type": "boolean", "const": true },
        "exports": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "targets" },
                "type": { "const": "list(map(string))" },
                "doc": { "const": "The targets that can be used to collect exporter metrics." }
              },
              "required": ["name", "type", "doc"]
            }
          ]
        },
        "blocks": {
          "type": "array",
          "items": {
            "type": "object",
            "oneOf": [
              { "$ref": "#/definitions/dfsr" },
              { "$ref": "#/definitions/exchange" },
              { "$ref": "#/definitions/iis" },
              { "$ref": "#/definitions/logical_disk" },
              { "$ref": "#/definitions/msmq" },
              { "$ref": "#/definitions/mssql" },
              { "$ref": "#/definitions/network" },
              { "$ref": "#/definitions/process" },
              { "$ref": "#/definitions/scheduled_task" },
              { "$ref": "#/definitions/service" },
              { "$ref": "#/definitions/smtp" },
              { "$ref": "#/definitions/text_file" }
            ]
          }
        }
      },
      "required": ["name", "doc", "arguments", "requireLabel", "exports", "blocks"]
    }
  },
  "required": ["prometheus.exporter.windows"],
  "definitions": {
    "dfsr": {
      "type": "object",
      "properties": {
        "name": { "const": "dfsr" },
        "doc": { "const": "Configures the dfsr collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "source_enabled" },
                "type": { "const": "list(string)" },
                "doc": { "const": "Comma-separated list of DFSR Perflib sources to use." },
                "required": { "const": false },
                "default": { "const": "[\"connection\",\"folder\",\"volume\"]" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
    "exchange": {
      "type": "object",
      "properties": {
        "name": { "const": "exchange" },
        "doc": { "const": "Configures the exchange collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "enabled_list" },
                "type": { "const": "string" },
                "doc": { "const": "Comma-separated list of collectors to use." },
                "required": { "const": false },
                "default": { "const": "\"\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
    "iis": {
      "type": "object",
      "properties": {
        "name": { "const": "iis" },
        "doc": { "const": "Configures the iis collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "app_exclude" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of applications to ignore." },
                "required": { "const": false },
                "default": { "const": "\"\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            },
            {
              "type": "object",
              "properties": {
                "name": { "const": "app_include" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of applications to report on." },
                "required": { "const": false },
                "default": { "const": "\".*\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            },
            {
              "type": "object",
              "properties": {
                "name": { "const": "site_exclude" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of sites to ignore." },
                "required": { "const": false },
                "default": { "const": "\"\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            },
            {
              "type": "object",
              "properties": {
                "name": { "const": "site_include" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of sites to report on." },
                "required": { "const": false },
                "default": { "const": "\".*\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
    "logical_disk": {
      "type": "object",
      "properties": {
        "name": { "const": "logical_disk" },
        "doc": { "const": "Configures the logical_disk collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "exclude" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of volumes to exclude." },
                "required": { "const": false },
                "default": { "const": "\"\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            },
            {
              "type": "object",
              "properties": {
                "name": { "const": "include" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of volumes to include." },
                "required": { "const": false },
                "default": { "const": "\".+\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
    "msmq": {
      "type": "object",
      "properties": {
        "name": { "const": "msmq" },
        "doc": { "const": "Configures the msmq collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "where_clause" },
                "type": { "const": "string" },
                "doc": { "const": "WQL 'where' clause to use in WMI metrics query." },
                "required": { "const": false },
                "default": { "const": "\"\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
    "mssql": {
      "type": "object",
      "properties": {
        "name": { "const": "mssql" },
        "doc": { "const": "Configures the mssql collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "enabled_classes" },
                "type": { "const": "list(string)" },
                "doc": { "const": "Comma-separated list of MSSQL WMI classes to use." },
                "required": { "const": false },
                "default": { "const": "[\"accessmethods\", \"availreplica\", \"bufman\", \"databases\", \"dbreplica\", \"genstats\", \"locks\", \"memmgr\", \"sqlstats\", \"sqlerrors\", \"transactions\"]" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
    "network": {
      "type": "object",
      "properties": {
        "name": { "const": "network" },
        "doc": { "const": "Configures the network collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "exclude" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of NIC:s to exclude." },
                "required": { "const": false },
                "default": { "const": "\"\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            },
            {
              "type": "object",
              "properties": {
                "name": { "const": "include" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of NIC:s to include." },
                "required": { "const": false },
                "default": { "const": "\".*\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
    "process": {
      "type": "object",
      "properties": {
        "name": { "const": "process" },
        "doc": { "const": "Configures the process collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "exclude" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of processes to exclude." },
                "required": { "const": false },
                "default": { "const": "\"\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            },
            {
              "type": "object",
              "properties": {
                "name": { "const": "include" },
                "type": { "const": "string" },
                "doc": { "const": "Regular expression of processes to include." },
                "required": { "const": false },
                "default": { "const": "\".*\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
    "scheduled_task": {
      "type": "object",
      "properties": {
        "name": { "const": "scheduled_task" },
        "doc": { "const": "Configures the scheduled_task collector." },
        "required": { "const": false },
        "arguments": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": { "const": "exclude" },
                "type": { "const": "string" },
                "doc": { "const": "Regexp of tasks to exclude." },
                "required": { "const": false },
                "default": { "const": "\"\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            },
            {
              "type": "object",
              "properties": {
                "name": { "const": "include" },
                "type": { "const": "string" },
                "doc": { "const": "Regexp of tasks to include." },
                "required": { "const": false },
                "default": { "const": "\".+\"" }
              },
              "required": ["name", "type", "doc", "required", "default"]
            }
          ]
        },
        "blocks": { "type": "array", "items": {} }
      },
      "required": ["name", "doc", "required", "arguments", "blocks"]
    },
}

Would be for using the json schema, its a bit wordy but this should in general be tools consuming this and not directly by people.

Is this what you have in mind?

@wildum  More or less yes. An Alloy block would have to be an object. I'm not sure if the example in your comment is exactly how the schema needs to be, but it certainly looks like a good start.

I'm not fully bought on the JSON schema idea. The schemas are used to validate files but this is not what we are looking for in this proposal: we want to provide components metadata to populate config tools.
Although it provides some structure to the JSON file, I feel like we are misusing the concept, making it confusing. As a config tools builder, I would prefer to have a simple interface description such as the one defined in the proposal. It's easy to implement in any language and does not require additional knowledge.
Even if the file should be consumed by tools and not people, it's still useful sometimes to check through the data for debugging purposes and the JSON schema style is harder to read than the other style.
I think that validation is interesting but it's a big topic with a lot of unknowns. I would prefer to keep it out of scope for this proposal.
I don't necessarily want to close the door on the JSON schema. If we go all the way with JSON schema in Otel and Alloy, then it might be worth considering here.
So I suggest that with this proposal we only commit to the fact that we want to expose a generated metadata JSON file containing the component data that is described in the PR, in the Git repo. The structure of the data (whether it follows the JSON schema semantic or not) will be defined when we start discussing how we want to generate the data.

I'd be happy if we proceed without using json schema. The solution proposed here seems easy enough to build and could unblock the development of various tooling. It'd be interesting to see what tools will be built for it, and what constraints they hit - then we can evaluate if we need to change our approach.


Added tutorial for Eyes following cursor (CSS)

Description

Added tutorial for a simple CSS exercise

Motivation and Context

Great exercise for first timers

How Has This Been Tested?

Validated by many coders online

Types of changes

[ ] Content Update (change which fixes an issue or updates an already existing submission)
[x] New Article (change which adds functionality)
[ ] Documentation change

Checklist:

[x] My code follows the code style of this project.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have made checks to ensure URLs and other resources are valid

I don't think this should be considered a project, comparing to the rest of them in this repo.


docs(backup): add doc for taking backup

Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[x] Docs related to the changes have been added/updated (if applicable)

This is a reasonable first step, but I think we'll want to make this more extensive over time. Can we change doc names to backup-datahub instead of take-backup?


webapp: remove all commands under 'az appservice web'

After 2 sprints of warning, time to let it go
General Guidelines

[x] The PR has modified HISTORY.rst with an appropriate description of the change (see Modifying change log).

Command Guidelines

[x] Each command and parameter has a meaningful description.
[x] Each new command has a test.

(see Authoring Command Modules)

Codecov Report

Merging #3665 into master will decrease coverage by 0.17%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master    #3665      +/-   ##
==========================================
- Coverage   72.23%   72.06%   -0.18%
==========================================
  Files         422      422
  Lines       26357    26238     -119
  Branches     3991     3992       +1
==========================================
- Hits        19040    18908     -132
- Misses       6086     6098      +12
- Partials     1231     1232       +1

Impacted Files
Coverage Δ

...vice/azure/cli/command_modules/appservice/_help.py
100% <ø> (ø)
:arrow_up:

...ce/azure/cli/command_modules/appservice/_params.py
95.58% <ø> (-1.6%)
:arrow_down:

...e/azure/cli/command_modules/appservice/commands.py
86.61% <50%> (-5.06%)
:arrow_down:

src/azure-cli/azure/cli/main.py
84.37% <0%> (-3.13%)
:arrow_down:

src/azure-cli-core/azure/cli/core/util.py
70.06% <0%> (-2.05%)
:arrow_down:

...azure-cli-core/azure/cli/core/commands/__init__.py
73.99% <0%> (-0.9%)
:arrow_down:

src/azure-cli-core/azure/cli/core/_profile.py
86.44% <0%> (-0.47%)
:arrow_down:

Continue to review full report at Codecov.

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


undefined: syscall

Using the latest version I get two undefined: syscall issues
/go/src/github.com/kardianos/service/service_windows.go:38:27: undefined: syscall
/go/src/github.com/kardianos/service/service_windows.go:366:24: undefined: syscall

Fixed.


[Android] KHR_gl_sharing extension support for WebCL.

The spec is available at:
https://www.khronos.org/registry/webcl/extensions/KHR_gl_sharing/
BUG=XWALK-3770

@kenchris @ds-hwang , would you help to review the patch? thanks.


Removing of configuration fails if IPV6 address is not expressed in the shortest form

I think this issue is related to the #8.
When I tried to run the script, it always failed in the part where old configuration is removed. I did a little digging and apparently the culprit was that I had the IPV6 address of the interface in the configuration written as xxxx:0000:0000:0000::1/128 instead of the shortest form of xxxx::1/128.
The part where the script queries for the address ( ip -oneline address show dev $INTERFACE.... returns the ip address in the shortest form, so the script doesn't recognize the address stated in the config.
I managed to fix my config by shortening the address to xxxx::1/128, and the script now runs successfully.
Maybe there could be a check for the address format in the script?

Template rewrite #55 will cause this section of the script to be removed soon since it was a workaround to the flawed template.


How to get client id?

From where I get the client id, client secret and redirect URI

You need to register your app at https://developer.ihealthlabs.com/. then you will get


bug: Popup's

What is the bug?

During the quests far.school, the blocks that pop up during the successful completion of the quest do not disappear themselves, thus taking up all the free space on the screen.
Solution*
I suggest putting a timeout to close the popup.
PC:

IOS:

This bug is already more than two months old...

https://warpcast.com/hypenik/0xdcf545ee

Far.school is not operated by Farcaster


NEO v2.12.2 Block Stuck

My neo-cli is not syncing. When I run it, the block number increase by 1 block that it fails and stuck. After I killed and start again the block number increase by 1 block and stuck.
I downloaded increment offline blockchain and start again but nothing change.
Version: v2.12.2
Installed Plugins: ImportBlocks, RpcWallet
[ERROR][6/13/21 3:10:08 PM][Thread 0003][akka://NeoSystem/user/$a] Object reference not set to an instance of an object. Cause: System.NullReferenceException: Object reference not set to an instance of an object.    at Neo.Ledger.Blockchain.PersistLocalStateRoot()    at Neo.Ledger.Blockchain.Persist(Block block)    at Neo.Ledger.Blockchain.OnNewBlock(Block block)    at Neo.Ledger.Blockchain.OnReceive(Object message)    at Akka.Actor.UntypedActor.Receive(Object message)    at Akka.Actor.ActorBase.AroundReceive(Receive receive, Object message)    at Akka.Actor.ActorCell.ReceiveMessage(Object message)    at Akka.Actor.ActorCell.Invoke(Envelope envelope) [ERROR][6/13/21 3:10:08 PM][Thread 0026][akka://NeoSystem/user/$a] Error while creating actor instance of type Neo.Ledger.Blockchain with 2 args: (Neo.NeoSystem,Neo.Persistence.LevelDB.LevelDBStore) Cause: [akka://NeoSystem/user/$a#1418777847]: Akka.Actor.PostRestartException: Exception post restart (System.NullReferenceException) ---> System.TypeLoadException: Error while creating actor instance of type Neo.Ledger.Blockchain with 2 args: (Neo.NeoSystem,Neo.Persistence.LevelDB.LevelDBStore) ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Operation is not valid due to the current state of the object.    at Neo.Ledger.Blockchain..ctor(NeoSystem system, Store store)    --- End of inner exception stack trace ---    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)    at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)    at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)    at Akka.Actor.Props.ActivatorProducer.Produce()    at Akka.Actor.Props.NewActor()    --- End of inner exception stack trace ---    at Akka.Actor.Props.NewActor()    at Akka.Actor.ActorCell.CreateNewActorInstance()    at Akka.Actor.ActorCell.<>c__DisplayClass109_0.<NewActor>b__0()    at Akka.Actor.ActorCell.UseThreadContext(Action action)    at Akka.Actor.ActorCell.NewActor()    at Akka.Actor.ActorCell.FinishRecreate(Exception cause, ActorBase failedActor)    --- End of inner exception stack trace ---

Should work with Simple Policy plugin.

Old, if remains, please re-open


Update to ABP v3.5

...which will include:

https://github.com/aspnetboilerplate/aspnetboilerplate/pull/3081
https://github.com/aspnetboilerplate/aspnetboilerplate/pull/3115

Thanks @acjh we will update & release this just after ABP v3.5 release.


show cursor on headless: false

Hi,
is there a way to show cursor running puppeteer with {headless: false}?
thank you

The cursor is never used. Everything is emulated via well crafted series of javascript events. In order for the cursor to be used, the program would need to take over your actual OS cursor. Which means you can't get other things done while the scripts run.

In our tests, we use a script to paint where the virtual cursor is. You can use it or write your own. Inject it into the target page.
https://github.com/GoogleChrome/puppeteer/blob/master/test/assets/input/mouse-helper.js


Support Amazon SQS

Hi!
It would be nice to offer the possibility to use SQS instead of RabbitMQ. 😄
Thanks!

Just for my own curiosity, why ?

One less application to manage / worry about.

It would be nice to support additional queueing & database engines but it's not something we're going to be dedicating any resources to ourselves right now. We support RabbitMQ & MySQL so there's no huge interest in adding support for anything else.

Поризволен коментар :+1:


mariadb?

hello - i notice you mention mysql but not mariadb on your main page.  does dbeaver support mariadb as well?

Sure, it does. There is a separate MariaDB driver.

the [first page] says:(http://dbeaver.jkiss.org/) says:

Free multi-platform database tool for developers, SQL programmers, database administrators and analysts. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, Teradata, MongoDB, Cassandra, Redis, etc.

i thought it might have mentioned mariadb in this list.


added ArangoDB framework

New pull request for branch version-1.x

@kensipe had to move to a new pull request to change the branch

@kensipe had to move to a new pull request to change the branch

@fceller on it... I'll have feedback shortly today

@fceller the source looks good... I'll do some installs

@fceller the package install doesn't work.   Marathon just keeps cycling through installations.   There is nothing in stderr or stdout.   Have you tested this out?

@kensipe I hope did not break anything, but we have tested it as has @joerg84, will try again

@kensipe I did indeed break the marathon file, when replacing "/" by "." the docker-name "arangodb/arangodb-mesos" was accidentally changed to "arangodb.arangodb-mesos". I've fixed the marathon.json.

@fceller please note above need for framework-name property change.  Also you will need to change the http service in the scheduler.  the assets are absolute path... which I'm sure works feel in testing, however the service is proxied and the assets are lost so I can't see the ui admin screen.
The link from the dcos ui will result in:  http://ken-memsq-elasticl-oncspqsl4gbw-1318642894.us-west-2.elb.amazonaws.com/service/arangodb/
from that location you have 4 assets with issues.. it is all 4 scripts after the footer, starting with js/generated/libs.js

@fceller we are super close on this... I need to follow up with a couple of things... I need you to make 1 change to the CLI to use the admin router.  I found an example:
https://github.com/mesosphere/dcos-kafka/blob/master/dcos_kafka/cli.py#L34-L35
here is the issue... they are hardcoding it...  am I'm going to ask you to do the same for right now. (of course to arangodb).   The problem is if anyone overrides the framework-name the CLI will break.   I don't know internally how we are expecting to handle this yet.

@fceller if we can get that CLI fix in... I would like to merge this in to the universe tomorrow.

@kensipe I have added the "rstrip".
But you lost me with the hardcoded stuff. Currently I can do the following:
# cat name1.json
{ "arangodb" : { "framework-name" : "frank" } }

# cat name2.json
{ "arangodb" : { "framework-name" : "ken" } }

# dcos package install arangodb --options=name1.json
# dcos package install arangodb --options=name1.json

to install two ArangoDB clusters, switch to the corresponding FE of either "frank" or "ken". And then use uninstall one, using
# dcos arangodb uninstall --internal --app-id ken
# dcos package uninstall --app-id=ken arangodb

If I hardcoded the "arangodb" name, none of this will work any longer.

@fceller I would rather you not hardcode :)
I'm looking for your CLI sub commands to hit the service endpoint.  So if when we are there let me know.   I provided a link to the kafka example earlier.  (they are hardcoding to the kafka name... if you don't have to... that's awesome).   when this is done, I think we are ready to merge .

Hi Ken, can you try the newest version of the ArangoDB CLI? It should now generate:
root@f66aecf88a54:~/dcos# dcos arangodb webui
http://<IP_ADDRESS>/services/arangodb

@kensipe I have just seen that I made a type. It "service" not "services", correct?

@kensipe it is now "service"


no setup.py when pip install

when running the command: pip install -U git+https://github.com/leondgarse/Keras_efficientnet_v2
I get error:
Collecting git+https://github.com/leondgarse/Keras_efficientnet_v2
Cloning https://github.com/leondgarse/Keras_efficientnet_v2 to /tmp/pip-req-build-ieopxsj5
Running command git clone -q https://github.com/leondgarse/Keras_efficientnet_v2 /tmp/pip-req-build-ieopxsj5
Resolved https://github.com/leondgarse/Keras_efficientnet_v2 to commit 341d2b6a1d8026315a1ec80aba956ca3f4987401
ERROR: File "setup.py" not found for legacy project git+https://github.com/leondgarse/Keras_efficientnet_v2.

You can try it again now.
I used to set sys.path.append(THIS_PATH) and then import it in other projects.
Make it a package, I have to create a sub directory.

I get a new error:
ERROR: Could not find a version that satisfies the requirement automlpip (from versions: none)
ERROR: No matching distribution found for automlpip

I didn't meet that, and why automl is reported? It's not in my install_requires, and only used in calling convert_effnetv2_model.py.
Whats your commands?

If you are trying to run convert_effnetv2_model.py, you can do as following:
git clone https://github.com/google/automl.git
git clone https://github.com/leondgarse/Keras_efficientnet_v2.git
cd Keras_efficientnet_v2

# Then run the convert command
CUDA_VISIBLE_DEVICES='-1' python Keras_efficientnet_v2/convert_effnetv2_model.py -h

But ATM, it's not necessary, as all pretrained model weights have been uploaded here. I just added this script explaining how it's converted, and in case of there maybe changes in the future.

I tried running: pip install -U git+https://github.com/leondgarse/Keras_efficientnet_v2

Not sure about your issue then. This is mine:


before block gets called after test suites

If I run the following code, string 'before block' is logged to console only after both 'test suite 1' and 'test suite 2'. beforeEach, after and afterEach all work as intended
describe('before', () => {
  before(() => {
    console.log('before block\n');
  });

  it('should log after before block', () => {
    console.log('test suite 1\n');
  });

  it('should log after before block', () => {
    console.log('test suite 2\n');
  });
}

Mocha version 3.2.0

can't reproduce; unlikely a Mocha problem anyway.  will need more info about environment.  please include your actual test

Yes it seems it was a problem with my IDE. However I could reproduce this behavior in mocha, wdio-mocha-framework, webdriverio stack so I guess the problem is somewhere there. Issue can be closed


Server side docs require JSX compiling but don't talk about it

I'm trying to follow the docs on server side rendering, and inside the function handleRender it calls renderToString with JSX elements. Code here:
https://github.com/reactjs/redux/blob/master/docs/recipes/ServerRendering.md
function handleRender(req, res) {
  // Create a new Redux store instance
  const store = createStore(counterApp)

  // Render the component to a string
  const html = renderToString(
    <Provider store={store}>
      <App />
    </Provider>
  )

  // Grab the initial state from our Redux store
  const preloadedState = store.getState()

  // Send the rendered page back to the client
  res.send(renderFullPage(html, preloadedState))
}

This code lives inside the server.js file, alongside the express app. After looking at other parts of the docs, it seems that JSX components are put under the /components directory. Is it implied that this file needs to be compiled also? I don't see anything on that page mentioning that, but otherwise it's not going to work. It seems strange even for the components to have a .js file ending, when they include jsx in them.

It also uses import/export which node doesn't support, and the babel implementation is very unlikely to match what node ends up with. Perhaps a link to a guide on setting up babel with node would suffice; don't want to bloat this.
About the js extension, it's pretty normal. The logic goes that it's not a new language, it's an extension to js, like flow and experimental features, which can be used together or in part (App.flow.stage0.jsx would look silly).

We should probably add a small note about babel, as @brigand pointed out. I don't think we need to go into the whole boilerplate setup for using babel-register or something like that, as that's a lot of knowledge to drop on code that should be fairly simple.


Prepare for Laravel 6.1

Please raise the version flags for Laravel 6.1+

Please fix bug with custom Blade directives!!!!

@timonweber this would be great because there's Laravel 6.2 already and I'm sick of waiting every time there's a new Laravel version for this package to update...

Any changes this will be updated for the current version 6.3?

Package has been updated to support Laravel 6.1 & beyond.


DOC-2613 and DOC-3598

tooltip pr: https://github.com/harness/ng-tooltip/pull/358

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


go mod: determined pseudo-version timestamp differs from the commit timestamp by a couple seconds

What version of Go are you using (go version)?

go1.13 linux/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/martin/.cache/go-build"
GOENV="/home/martin/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/martin/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/martin/gitlab/godown-builder/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build325777527=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Add the following to go.mod: require github.com/shirou/gopsutil e4ec7b275ada
Run go mod tidy

What did you expect to see?
A pseudo-version with correct timestamp: v0.0.0-20190901111124-e4ec7b275ada
What did you see instead?
A pseudo-version with incorrect timestamp: v0.0.0-20190901111213-e4ec7b275ada
Additional information
Interestingly, the incorrect pseudo-version timestamp works. The correct one does not work.
Output of git log | grep -A 2 e4ec7b275ada within the module's repository:
commit e4ec7b275ada47ca32799106c2dba142d96aaf93
Author: Lomanic<EMAIL_ADDRESS>Date:   Sun Sep 1 13:11:24 2019 +0200

I don't understand why git is like it is, but here's the proximate cause:
$ git -c log.showsignature=false log -n1 '--format=format:%H %ct %D' e4ec7b275ada
e4ec7b275ada47ca32799106c2dba142d96aaf93<PHONE_NUMBER> tag: v2.19.8
$ git log --date=unix e4ec7b275ada | head -n 4
commit e4ec7b275ada47ca32799106c2dba142d96aaf93
Author: Lomanic<EMAIL_ADDRESS>Date:<PHONE_NUMBER>

My immediate assumption was that this was TAI vs. UTC, but apparently that gap is currently 37 second, and the difference between the two Git timestamps is 49 seconds, so...???

It seems one is author date, another is committer date.
$ git -c log.showsignature=false log -n1 '--format=format:%H ct:%ct at:%at' e4ec7b275ada
e4ec7b275ada47ca32799106c2dba142d96aaf93 ct:1567336333 at:1567336284

Committer date is suitable for this use. So, working as intended.


Modify open function to use sanitize object

Hello!
Looks like when the sanitize API was changed to return an object with href, this function was missed in the conversion. This PR should fix that.
Thanks for taking a look!

Thanks!


[Question]: Future Plans for Public Release of OCR/Layout Rec Model Fine-Tuning Solutions

Describe your problem
Hi！
I'm reaching out to inquire about any plans your team might have regarding the future release of fine-tuning guidelines. As a developer working on a project that heavily relies on accurate text extraction and document structure understanding, I am particularly interested in the potential for further customization and optimization of your models to suit our unique use cases.
Also I found that the parsing of documents in the online demo and the open source version are not consistent, are they using different models?

Online demo uses private data to fine-tuning the model. We will release source code of training in  the future.
Thanks for following us.

Hey @KevinHuSh has the source code for training been released?


Notification doesn't contain "data.count" information to set badge properly

Expected Behaviour
From the documentation:
Each notification event contains a data.count value which can be used to set the badge to correct number.
This seems not to be true.
Actual Behaviour
No data.count or data.additionalData.count included in the notification.
Reproduce Scenario (including but not limited to)
Send,  receive and inspect Notification.
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Cordova ios 4.4.0 / iOS 10.3.3
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
iPad Pro 10.5"
Cordova CLI version and cordova platform version
cordova --version: 7.0.1
Installed platforms (cordova platform version android):
android 6.2.3
ios 4.4.0
Plugin version
2.0.0
Sample Push Data Payload
         payload_silent_iOS = {
                "data":{
                    "msgId": dataInput.msgId,
                    "transactionId": dataInput.transactionId,
                    "notId": event.params.messageId,
                    "priority": "2",
                    "force-start": "1",
                    "content-available": "1",
                    "silent_notification": "true"
                }
            }

Sample Code that illustrates the problem
push.on("notification", data => {
    console.log("XXX Notifcation received. data.: ",data);
    // data doesn't include a count object

    push.setApplicationIconBadgeNumber(
              () => {
                console.log("success");
                push.finish(
                  () => console.log("push.finish() successful"),
                  err => console.log("push.finish() error for notId "+data.additionalData.notId+": ",err),
                  data.additionalData.notId);
              },
              err => {
                console.log("error: ",err)
              },
              data.additionalData.count);
              // returns undefined, no matter if "data.additionalData.count" or "data.count"
});

Logs taken while reproducing problem

@JaneDawson are you using APNS or FCM to send to iOS?

FCM

@mcdonst: Shouldn't there be the data.count with FCM, as well?

@JaneDawson seems like it should. I will retest when I can, currently on vacation.

Thank you, @macdonst.
It looks like the on-notification-handler is not even started at all, when the app is running in background (tested on iPad with iOS 10.3.3). As you can see above, I am using "content-available": "true" and "force-start": "1".
I want to show the amount of new notifications in a badge. Unfortunately, I cannot include this number to my payload. It needs to be calculated on the client of the user who is receiving the notification.
Thank you for any suggestions and enjoy your vacation ;-)

@JaneDawson I did another quick look at things and it appears your payload is not 100% correct for sending to FCM/GCM on iOS. Check this out:
https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md#gcm-and-additional-data

Hi @macdonst.
Thank you for looking into this. I did read the documentation. Several times, actually ;-)
From my understanding my iOS payload does correspond to the documentation. I'm acutally sending two notifications for iOS. One that's handling the push notification the user is receiving. The second one ("silent") is supposed to wake up the app in background and deals with increasing the badge number - this part currently doesn't work.
These are my two iOS payloads. I would be very happy if you let me know, which part doesn't correspond to the documentation from your point of view:
         payload_silent_iOS = {
                "data":{
                    "msgId": dataInput.msgId,
                    "transactionId": dataInput.transactionId,
                    "notId": event.params.messageId,
                    "priority": "2",
                    "force-start": "1",
                    "content-available": "1",
                    "silent_notification": "true"
                }
            }

         payload_iOS = {
                "notification":{
                    "title":"NotificationTitle",
                    "body": "Message"
                },
                "data":{
                    "soundname":"default",
                    "msgId": dataInput.msgId,
                    "transactionId": dataInput.transactionId,
                    "priority": "high",
                    "silent_notification": "false"
                }
            }

Your help is very much appreciated - thank you!

Any news on this?

@JaneDawson it's amazing how much clarity one can receive when their kids go back to school. I've taken another read through everything here without getting interrupted and I now see what is going on. First the data.count property doesn't get automatically set by the push plugin. It is up to your app server to keep track of what the badge number should be and send that down to the application as part of the push payload.
For the case of the FCM/GCM on iOS the payload would look like:
         payload_iOS = {
                "notification":{
                    "title":"NotificationTitle",
                    "body": "Message",
                    "badge": "7" // set to whatever number you want
                },
                "data":{
                    "soundname":"default",
                    "msgId": dataInput.msgId,
                    "transactionId": dataInput.transactionId,
                    "priority": "high",
                    "silent_notification": "false"
                }
            }

The OS should properly read the badge property and set it for you. The resulting data.count property in your push notification event should be 7 in this case.

@macdonst: Thank you for your answer. Now everything makes sense... I will try this way...
I would recommend to update the API part of your docs, though, since this part may lead to misunderstandings as happened in my case:

count | number | Indicates what number should show up in the badge. Passing 0 will clear the badge. Each notification event contains a data.count value which can be used to set the badge to correct number.

However, knowing that I have to add the badgenumber to my push-notification: Do you have any suggestion, how the backend-server (Firebase in my case) would able to know the amount of PushNotifications the user's phone received, since the user opened my app the last time? I thought this data.count property somehow came from the OS, since the OS knows, how many unread push notifications there are...

In addition, there still is the thing, that my on-notification is not called when the app is running in background, as explained here. Do you have any idea on this, as well?
Furthermore, it may be interesting for you to here, that the users iOS devices only play a sound, when I add the "sound": "default" to the notification-part instead of the data-part of the payload. That wasn't discussed in the documentation as well and took me quite a long time to figure out.

I experienced the same issue - notifications would not be called when the app was running in the background. Take a look here:
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW8
My issue ended up being that I had not enabled background notifications as an option for the iOS app in the capabilities tab.

Thank you, @maxneuvians, that might be the problem. I will try that next week. Thank you!


Problem installing under 1.4.0

Not sure if I'm doing anything wrong here:
julia> Pkg.add(PackageSpec(url="https://github.com/andreasnoack/FastPolynomialRoots.jl"))
    Cloning git-repo `https://github.com/andreasnoack/FastPolynomialRoots.jl`
   Updating git-repo `https://github.com/andreasnoack/FastPolynomialRoots.jl`
ERROR: could not find project file in package at https://github.com/andreasnoack/FastPolynomialRoots.jl

You didn't. An update was just way overdue. I've just made it installable on Julia 1.0. I'd like to upgrade the package to use binaries and then release this package officially.


A question about tRNA transcription termination

I am looking at the annotations to
https://www.pombase.org/reference/PMID:15632064
rpc11 (pol III transcription)
Analyses of two zinc ribbon mutants indicate that they are deficient in Pol III RNA 3' cleavage activity and produce pre-tRNASerUGAM transcripts with elongated 3'-oligo(U) tracts that are better substrates for La.
we annotated to
tRNA 3'-trailer cleavage
is this the correct term? or is this term for some post-transcriptional cleavage that occurs during maturation?  (these  sound like  activities (MF)  anyway, but they are biological process ontology BP?)
I ask because there is no cleavage term related to termination,
should we just be using
GO:0016892   endoribonuclease activity, producing 3'-phosphomonoesters
part_of
termination of RNA polymerase III transcription
@hdrabkin  do you know?
cheers
val

Well, although this seems to be a part of pol III, my (possibly outdated )understanding, as outlined in the intro for this paper, was that termination and 3' processing were separate, in that La bound the 3'oligo U region of the primary transcript to that 5' processing could proceed before 3'.  However, it seems like it can be 'co-termination' especially for tRNAs with oligo-t tracts that do not terminate easily (as perhaps reflect on being able to easily bind La).
So I think you could use tRNA 3'-trailer cleavage.

OK I will keep it as it is. Thanks's Harold.

but if |
I use "tRNA 3'-trailer cleavage" there is no annotation to transcription.
and it's a pol III subunit?

but mutants still produce pre-tRNASerUGAM transcripts with elongated 3'-oligo(U) t? So transcription is unaffected. Not all subunits have to do with the transcription then. Some help to get the transcript off of the site.

But it must be something to do with transcription ?
This is quite old but I expect it  hasn't changed much:
RNAPIII: a terminator on its own?
.....In vitro transcription using RNAPIII lacking the RNAPIII-specific subunits C11, C37, and C53 (RNAPIIIΔ) can support transcription initiation but fails to terminate properly (Landrieux et al. 2006). Adding back the heterodimer C37/C53 was sufficient to allow recognition of the terminator and to correct the termination defect, but not for transcription reinitiation. It was proposed that the C37/C53 complex reduces the elongation rate of RNAPIIIΔ, allowing for an increased pausing time at the terminator elements, which leads to release of the transcript and RNAPIII (Fig. 5). C11 is an essential subunit that mediates the intrinsic RNA cleavage activity of RNAPIII (Whitehall et al. 1994) and shows homology with the RNAPII subunit Rpb9 and to RNAPII elongation factor TFIIS (Chedin et al. 1998). Landrieux et al. (2006) showed that C11 RNA cleavage activity is not required for correct recognition of the RNAPIII terminator elements and release of the newly synthesized transcript. However, C11 itself, but not its cleavage activity, is required for reinitiation (Chedin et al. 1998; Landrieux et al. 2006). These experiments strongly suggest that termination and cleavage of the RNA precursor are not coupled in the RNAPIII transcription process. Consistent with its role in termination, structural analysis of RNAPIII showed that the C37/C53 heterodimer is positioned at the outer end of the DNA-binding cleft, toward the front of the EC, allowing the complex to sense the incoming DNA (Fernandez-Tornero et al. 2007).
Figure 5.
RNAPIII termination. Most of the termination activity is triggered by RNAPIII itself. The subunits C37 and C53 are essential for termination. The heterodimer C37–C53 might play a role in reducing the elongation rate of RNAPIII, allowing for an increased pausing time at the terminator, composed of a stretch of four to five Ts in the coding DNA strand. Several auxiliary factors, such as La, PC4, Topoisomerase I, or TFIIIC, are proposed to participate in RNAPIII termination in mammals.

I found a paper that I can use to annotate the pombe role in termination, via complementation
The RNA cleavage activity of RNA polymerase III is mediated by an essential TFIIS-like subunit and is important for transcription termination
but C11 probably  isn't directly  "involved_in" (see above), the mutant stuffs termination because the transcript isn't cleaved.  It's required for reinitiation, so it's clearly part of transcription. I don't know how to annotate this... will check with transcription group.
@colinlog
@pgaudet

GO:0006386 'Termination of RNA pol III transcription' would seem appropriate to me for BP.
The transcription termination sub-process is intrinsically the stage prior to transcription initiation from the point of view of the polymerase enzyme complex. Always. Except for the first time a newly translated and assembled RNA pol III complex does transcription. Of course it may be initiation on another piece of DNA than the one that was just transcribed.
The transcription termination sub-process can involve a MF endoribonuclease function (for RNA pol II this is coupled to polyA site cleavage, for RNA pol I at rRNA genes the processing is well studied and involves endoribonuclease activity too, I thought, with redundance in possible activities etc...).
Still, the most parsimonious alternative termination model is simply release of the RNA polymerase III complex and it's associated nascent RNA from the DNA template when a run of 4 Thymidines is encountered (i.e.; the current textbook model), followed by release of the 3' end of the RNA molecule from the enzyme. However, 'real' molecular biology appears to involve more 'coordinated handing over of the RNA' by physically coupling the steps downstream of synthesis to the processing steps via a ballet of transient protein-protein and RNA-protein binding events.
All in all,
For this one subunit of the RNA polymerase enzyme complex with a TFIIS-like domain:
BP GO:0006386, which is a child of GO:0006351 - 'transcription, DNA templated'.

and
MF: ribonuclease, as suggested by @hdrabkin (check if the catalytic residues have been tested for the evidence code?)
and
CC: RNA polymerase III complex

The above publication implies that the 'cleavage activity' isn't necessarily performed by C11 though...
In this study, we characterize a new, small subunit of yeast Pol III, C11, homologous to Pol I A12.2 and Pol II B12.6 subunits and to elongation factor TFIIS. Subunit C11 is essential for cell viability and is required for the intrinsic 3′ exonucleolytic cleavage activity of Pol III ternary complexes. In vitro, a Pol III lacking C11 displays strong defects in elongation and termination properties. The data indicate that Pol III intrinsic cleavage activity is important for transcription termination. This observation may account for the essential character of the C11 subunit. A model is presented in which we propose that C11 allows the enzyme to switch between an RNA elongation and RNA cleavage mode, which facilitates termination, although transcript hydrolysis is unlikely to be a step in termination mechanism.
It doesn't look like a nuclease either

can you use 'positively_regulates', or 'capable_of_part_of', or not?
I guess, regulates is a bizarre use of the word that means 'enables_extrinsically triggered_switch'. The C11 subunit would be best described as, 'part of a metastable complex', whereby the transition to  the cleavage conformation requires the C11 subunit.
What I wonder is: Was the Pol III subunit harbouring the ' intrinsic cleavage activity' identified? because then it would be easier to assign MF roles and house them under the GO:0006386 process with CC the Pol III complex. Otherwise, the complex can get the 'intrinsic activity, which is part_of for all the known subunits??

Well there is an intrinsic ribonuclease for , the 'proofreading activity' maybe this cleavage uses this activity?
I will find out more... I know who I can ask. I can't immediately find anything .

@hdrabkin  I will take this. It isn't high priority.

@ValWood  @hdrabkin PMID: 12914699 for RNA polymerase II. They diffused TFIIS into PolII crystals and show the the RNA realigns in the active site. they conclude that "Our results support the idea that Pol II contains a single tunable active site for RNA polymerization and cleavage, in contrast to DNA polymerases with two separate active sites for DNA polymerization and cleavage". And TFIIs does the realignment. I would  infer that the TFIIS domain in the C11 RNA pol III subunit works similarly.

I'll close this. I'm happy enough with the current annotation for rpc112.  This detail is very micro so closing...


Maximize and minimize window buttons incorrect rendering

Environment
Windows build number: 10.0.18363.0
Windows Terminal version (if applicable):0.8.10091.0

Steps to reproduce

Minimize the Windows Terminal window
Open enough terminal tabs to fill tabs space without tabs being resized.
Maximize the Windows Terminal window with the window maximize button.
Minimize the Windows Terminal window with the window minimize button.
Get an incorrect rendering of the minimize and maximize buttons.

On step 2 you will probably need to play with the Windows Terminal window size to reproduce the issue. For some window sizes, it renders normally and for some not. If you add too many terminal tabs the issue is not reproducible.
Expected behavior

Normal rendering of the window minimize and maximize buttons after minimizing the Windows Terminal window
Actual behavior

See attached screenshots.

I'm going to call this a "bug class" and merge it with /dup #4166 - "we are not sizing the drag bar properly all the time"

@zadjii-msft
This was marked duplicate of #4166 and #4166 was closed but I can still reproduce this bug on master (cc35c83e) on my 100% dpi displays (maybe it was not a dup and it has nothing to do with DPI!).
steps:

Okay yea I can re-activate this one and make sure this gets fixed too.
Thanks for the diligence @greg904!


driver/Keysight 33210 AWG

Need for a driver for the Keysight 33210 AWG:
http://www.keysight.com/en/pd-1407410-pn-33210A/function-arbitrary-waveform-generator-10-mhz?pm=PL&nid=-536902257.793368&cc=DK&lc=dan
please refer to the Keysight 33500B AWG which is probably very similar.
https://github.com/QCoDeS/Qcodes/blob/master/qcodes/instrument_drivers/Keysight/Keysight_33500B_channels.py

We have that instrument in stock. I'll see if I can make a combined driver for all the Keysight/Agilent Function/ Arbitrary Waveform generators.

But for now, we can probably be satisfied with the one we already have:
https://github.com/QCoDeS/Qcodes/blob/master/qcodes/instrument_drivers/agilent/HP33210A.py


Add state utilization apis

Added ain_getStateUsage json-rpc API
Added get_state_usage client API

Related: https://github.com/ainblockchain/ain-blockchain/issues/498

Thanks for the review! Now merging~


not-found handling leads a "] not found" error message in bash & zsh

Describe the bug
The change introduced in https://github.com/jdx/mise/commit/ee6a18c1416d51202e046b8703891184daee772e reveals an interaction with [ ... ] and $_ that leads to an error message being printed when activating mise in both bash and zsh.
For example, in zsh,
$ test -n "$(declare -f command_not_found_handler)" && echo $_
command_not_found_handler () { if [[ -x /usr/lib/command-not-found ]] then /usr/lib/command-not-found -- "$1" return $? elif [[ -x /usr/share/command-not-found/command-not-found ]] then /usr/share/command-not-found/command-not-found -- "$1" return $? else printf "zsh: command not found: %s
" "$1" >&2 return 127 fi }

vs.
$ [ -n "$(declare -f command_not_found_handler)" ] && echo $_
]

which causes the eval in
[ -n "$(declare -f command_not_found_handler)" ] && eval "${_/command_not_found_handler/_command_not_found_handler}"

to become eval ], leading to ]: command not found being printed.
To Reproduce
Assuming empty RC files,
For bash:
$ eval "$(mise activate bash)"
]: command not found

For zsh:
$ command_not_found_handler() {
	echo "command not found: $1" >&2
	return 127
}
$ eval "$(mise activate zsh)"
command not found: ]

Expected behavior
I'd expect the "] not found" messge to not be printed. Switching to command test ... could address this issue with [ ... ], while still avoiding the issue with aliasing test.
mise doctor output
mise version:
  2024.1.6 linux-x64 (6adb088 2024-01-04)

build:
  Target: x86_64-unknown-linux-gnu
  Features: DEFAULT, NATIVE_TLS, OPENSSL
  Built: Thu, 4 Jan 2024 22:57:27 +0000
  Rust Version: rustc 1.75.0 (82e1608df 2023-12-21)
  Profile: release

shell:
  /usr/bin/zsh
  zsh 5.8.1 (x86_64-ubuntu-linux-gnu)

mise data directory:
  /home/bryan/.local/share/mise

mise environment variables:
  MISE_SHELL=zsh

settings:
  {
    "experimental": true,
    "color": true,
    "always_keep_download": false,
    "always_keep_install": false,
    "legacy_version_file": false,
    "legacy_version_file_disable_tools": [],
    "plugin_autoupdate_last_check_duration": "7d",
    "trusted_config_paths": [],
    "log_level": "info",
    "trace": false,
    "debug": false,
    "verbose": false,
    "quiet": false,
    "asdf_compat": false,
    "jobs": 4,
    "shorthands_file": null,
    "disable_default_shorthands": false,
    "disable_tools": [],
    "raw": false,
    "yes": false,
    "task_output": null,
    "not_found_auto_install": true,
    "ci": false,
    "env_file": null,
    "cd": null
  }

config files:
  /home/bryan/.config/mise/config.toml

plugins:
  bun      (core)
  deno     (core)
  erlang   (core)
  go       (core)
  java     (core)
  node     (core)
  python   (core)
  ruby     (core)

toolset:
  node@latest, python@latest, go@latest, ruby@latest

No problems found

Additional context
$ bash --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
# ...
$ zsh --version
zsh 5.8.1 (x86_64-ubuntu-linux-gnu)

The section documenting the $_ variable.

Great job

($_, an underscore.) At shell startup, set to the pathname used to invoke the shell or shell script being executed as passed in the environment or argument list. Subsequently, expands to the last argument to the previous simple command executed in the foreground, after expansion.

So here $_ is evaluating to ] which is the last argument to the [ command

yeah, I was doing some trickery to not need to create a new variable in order to rename that got me

there might be a cleaner way to do this but I need to go to the airport so this'll have to do


makeMakefile('process')

also some R CMD check fixes, cleanup for makeMakefile('fetch'), a few bugfixes, etc.

Changes Unknown when pulling a8a11fc155fdbee24a3dd00882825642373033ea on aappling-usgs:master into ** on USGS-VIZLAB:master**.


Revert "replaced filepath.Separator with "/" (#2)"

This reverts commit 7a08aef44f20a69e790bc2f942cfef71d633ae8f.

Failing Windows-latest test...
https://github.com/aquasecurity/trivy/actions/runs/5201576346/jobs/9381944244


Casting a non-empty namespace to an interface sometimes type checks incorrectly

TypeScript Version:  3.7.5 + Nightly

Search Terms: typescript casting namespace to interface bug, typescript namespace implement interface
The following code compiles without errors, even though the namespace Foo does not implement the interface Bar fully.
Code
interface Bar {
    ham(): void
    spam(): void
}

namespace Foo {
    function ham(): void {}
}

const bar = Foo as Bar;

This also works if ham is exported by the namespace. Interestingly this fails correctly:
interface Bar {
    ham(): void
    spam(): void
}

namespace Foo {
    export function ham(): void { }
    export function dummy(): void { } // Incorrectly type-checks if removed.
}

const bar = Foo as Bar;

Expected behavior:
An error that might look something like
TS2352: Conversion of type 'typeof Foo' to type 'Bar' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Property 'spam' is missing in type 'typeof Foo' but required in type 'Bar'.

Actual behavior:
The example compiles successfully. If the namespace is empty it fails with Cannot use namespace 'Foo' as a value..
Playground Link: Playground Link

This is the intended behavior; see #20849 or others for discussion around why type assertions exist and what rules they enforce


Developer Guide Documentation : Not Found

The content of the developer guide is not available
"https://docs.simplcommerce.com/" =>404: Not Found

Seems the SSL certificate expired
/cc @thiennn

@thiennn please check this issue

It's done


Fix snapshotter getter in client code

Fixes #3312
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

Codecov Report

Merging #3352 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3352   +/-   ##
=======================================
  Coverage   44.75%   44.75%
=======================================
  Files         113      113
  Lines       12513    12513
=======================================
  Hits         5600     5600
  Misses       6057     6057
  Partials      856      856

Flag
Coverage Δ

#linux
48.65% <ø> (ø)
:arrow_up:

#windows
40.2% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Contracts and testing best practices with Scrapy-Playwright

I'm working on a project with a large number of spiders and a fairly sizable community of open contributors. To ensure that things are working correctly over the long-term, I like the idea of using the Contract conventions on our spiders.
That said, with scrapy-playwright, most calls to the browser benefit from being async, and contracts and so I'm encountering quite a few TypeError: Contracts don't support async callbacks.
Any thoughts on good testing practices for playwright spiders?

I'd suggest you to request the ability to use contracts with async callbacks to upstream Scrapy.
In the past I've used scrapy-autounit, although I haven't tested it with async callbacks so it might also not work for your case.
Finally, one (maybe hacky) way could be to emulate the scrapy-playwright tests themselves. See for instance make_handler, which creates a ScrapyPlaywrightDownloadHandler object that can be used to directly retrieve a response to be processed with your callback to check if the result is what you expect (similar to this test).
I think this could be optimized by recording responses in HAR the first time (see the record_har_path & record_har_content arguments for Browser.new_context, which you can handle via the PLAYWRIGHT_CONTEXTS setting), and then routing either the context or the page to use the HAR to serve the responses (should be possible with a page init callback).
For the record, I haven't tried any of this myself, I'm just thinking out loud. Perhaps this is something that could be more easily integrated, I'm open to suggestions.

Thank you, @elacuesta! This is excellent context (and fantastic documentation).
Based on a cursory readthrough of scrapy-autounit, the way it implements callbacks is promising :crossed_fingers:.
Sadly, I wound up abandoning contracts for the above scrapy project; it turns out that when you're using attrs or dataclasses based items, the contract behaves as if all fields are being returned :thinking:. Autounit might wind up working out better overall.
Closing for now, but will update once I've tried autounit on the playwright spiders.


publish Famous/engine to cdnjs

Hello, I would like to add famous library to cdnjs.
cdnjs could auto-update libraries from GitHub or npm, then host them.
But it don't build libraries by itself.
I am wondering that could you please put the built files on this repo?
Or create another repo like "engine-dist", so cdnjs could get these files automatically.
Thank you!

It's difficult to do that because famous doesn't get along with global builds. The best build I've found for this would be here:
http://code.famo.us/famous/0.5/famous.min.js
I find it to be the most stable as well.


Collection of minor auth changes

feat: Set Secure flag on cookies

ref: Remove JWTAuthorizationHeaderPrincipalGetter
Currently we don't make any requests from the UI using the auth header,
just the cookie is used for now.
We can add it back when we need it.

feat: Reduce State cookie TTL to 5 mins
Also remove setting the RefreshToken cookie.   Can this be a configurable value and it defaults to say 15 minutes?

I totally misunderstood, thanks for clarifying Claudia.  I'm mixing up tokens.

closing as stale


restserver.lua:113: attempt to concatenate local 'err' (a nil value)

rest Server script:
th tools/rest_translation_server.lua -port 8888 -model model_it.t7  -replace_unk -phrase_table pb.txt  -log_level INFO
client script:
curl -v -H "Content-Type: application/json" -X POST -d '[{ "src" : "Hello World }]' http://<IP_ADDRESS>:8888/translator/translate
error msg:

Hostname was NOT found in DNS cache
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8888 (#0)

POST /translator/translate HTTP/1.1
User-Agent: curl/7.35.0
Host: <IP_ADDRESS>:8888
Accept: /
Content-Type: application/json
Content-Length: 26

upload completely sent off: 26 out of 26 bytes
< HTTP/1.1 500
< Date: Mon, 24 Apr 2017 07:07:24 GMT
< Content-Length: 935
< Content-Type: text/html
Server SGA is not blacklisted
< Server: SGA
<

WSAPI Error in Application

There was an error in the specified application.
The full error message follows:

/yfsys/work/torch/install/share/lua/5.2/restserver.lua:113: attempt to concatenate local 'err' (a nil value)
stack traceback:
        /yfsys/work/torch/install/share/lua/5.2/restserver.lua:113: in function
        (...tail calls...)
        [C]: in function 'xpcall'
        /yfsys/work/torch/install/share/lua/5.2/wsapi/common.lua:270: in function 'run_app'
        /yfsys/work/torch/install/share/lua/5.2/wsapi/xavante.lua:89: in function
        (...tail calls...)
        /yfsys/work/torch/install/share/lua/5.2/xavante/httpd.lua:64: in function

    </body>
    </html>

Connection #0 to host <IP_ADDRESS> left intact

There was missing end quote in the command example. It is:
'[{ "src" : "Hello World" }]'

not:
'[{ "src" : "Hello World }]'