Fatal error: out of memory.

Machine:  'bare metal' 8 cores 48 GB ram Ubuntu 18
Been able to keep the system running (block producer only) for 6 hrs or so.  Updated the software/peers.txt earlier today Nov 24 and was up and running for ~5 hrs without issue (sync'ed, good number of peers).  Went grocery shopping and came home to this:
...
2020-11-25 00:39:22 UTC [Warn] failed to reset stream (this means it was probably closed successfully): $error
error: {
"string":
"RPC #15870 failed: "internal RPC error error: unknown stream_idx""
}
2020-11-25 00:39:22 UTC [Info] verifier successfully got sigkill
2020-11-25 00:39:22 UTC [Info] prover successfully stopped
2020-11-25 00:39:24 UTC [Info] Sending transition_chain_proof to $peer
peer: {
"host": "<IP_ADDRESS>",
"peer_id": "12D3KooWLPLqV1aYPG2fEVPY1PXo3vBGW6t65ZnYh1yAU4WvkJVL",
"libp2p_port": 8302
}
2020-11-25 00:39:25 UTC [Info] Daemon started process of kind "Verifier" with pid 19896
2020-11-25 00:39:54 UTC [Error] Validation error: external transition with state hash $state_hash was rejected for reason "invalid time"
state_hash: "3NLCsUFSnRPoQZTaoBNJHNrZ8jL5Fj3Q1DVXUZiugkRadWbBoEia"
2020-11-25 00:40:04 UTC [Warn] failed to reset stream (this means it was probably closed successfully): $error
error: {
"string":
"RPC #16412 failed: "internal RPC error error: unknown stream_idx""
}
Fatal error: out of memory.
Again, I've got 48 GB ram for this locally running VM (the base system has 64 GB).

@jflowers1974 was this with the new build (that we sent out yesterday) or the old one?

I've had three of these today
log.2020-11-27_07:13:17:Fatal error: out of memory.
log.2020-11-27_14:51:47:Fatal error: out of memory.
log.2020-11-27_17:43:03:Fatal error: out of memory.

With version:
[DIRTY]7f0440c609bfd1e2bc4130f06d09f72763c25b67

I have 64GB RAM on this VPS.  Here is what it looks like without coda running.
$ free -mh
              total        used        free      shared  buff/cache   available
Mem:            61G        227M         53G         79M        7.3G         60G
Swap:            0B          0B          0B

If I watch memory usage while coda is running, I'm able to see the memory usage steadily grow until there is none available.
watch -n3 -d free -mh

So at the moment the problem is very reproducible.  It wasn't happening yesterday.

Curious, this memory problem is not happening on my system today.

check this one
https://github.com/MinaProtocol/mina/issues/6965

I think the problem of memory allocation does still exist in version 1.2.0beta1-c856692-mainnet
Possibly more hidden than before
2021-07-02 10:28:28 UTC [Error] Possible reason for signal: "Process killed because out of memory"
Log extract
2021-07-02 10:27:31 UTC [Warn] RPC call error for "get_transition_chain_proof"
2021-07-02 10:27:35 UTC [Error] error sending message on stream 25703: $error
error: {
"commit_id": "c856692fddc525a673ba075f714811b5c50bd3a7",
"string":
"RPC #46101 failed: "only wrote 0 out of 9 bytes error: libp2p error error: closed stream""
}
2021-07-02 10:27:35 UTC [Warn] RPC call error for "get_transition_chain"
2021-07-02 10:27:41 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] Not rebroadcasting block $state_hash because it was received "1 slots too late"
state_hash: "3NLex6ZoBK5FxhxRwPwmEBHLVEycVBf2kWULC9gTcDwPq5wskHQz"
2021-07-02 10:27:51 UTC [Info] Saw block with state hash $state_hash
state_hash: "3NLex6ZoBK5FxhxRwPwmEBHLVEycVBf2kWULC9gTcDwPq5wskHQz"
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:51 UTC [Warn] initial_validate: disconnected chain
2021-07-02 10:27:54 UTC [Warn] RPC call error for "get_transition_chain_proof"
2021-07-02 10:27:55 UTC [Info] Received a block from $sender
sender: {
"Remote": {
"host": "<IP_ADDRESS>",
"peer_id": "12D3KooWAbpbSc9WbfkrJE8FQNLebzL9A7WGUVaMFaEjexW4MPmU",
"libp2p_port": 8302
}
}
2021-07-02 10:28:05 UTC [Fatal] Unhandled top-level exception: $exn
Generating crash report
exn: {
"commit_id": "c856692fddc525a673ba075f714811b5c50bd3a7",
"sexp": [
"monitor.ml.Error",
"Cached item has already been finalized",
[
"Raised at file "src/error.ml" (inlined), line 9, characters 14-30",
"Called from file "src/lib/cache_lib/impl.ml", line 173, characters 30-51",
"Called from file "src/lib/cache_lib/impl.ml", line 199, characters 6-69",
"Called from file "src/lib/ledger_catchup/super_catchup.ml", line 928, characters 25-58",
"Called from file "src/deferred1.ml", line 17, characters 40-45",
"Called from file "src/job_queue.ml" (inlined), line 131, characters 2-5",
"Called from file "src/job_queue.ml", line 171, characters 6-47",
"Caught by monitor coda"
]
],
"backtrace": [
"Raised at file "format.ml" (inlined), line 242, characters 35-52",
"Called from file "format.ml", line 469, characters 8-33",
"Called from file "format.ml", line 484, characters 6-24"
]
}
2021-07-02 10:28:05 UTC [Info] Updating new available work took 21.804094314575195 ms
2021-07-02 10:28:28 UTC [Error] Daemon child process 97 terminated after receiving signal "sigkill"
2021-07-02 10:28:28 UTC [Error] Possible reason for signal: "Process killed because out of memory"
2021-07-02 10:28:28 UTC [Error] Child process of kind "Prover" with pid 97 has unexpectedly terminated
2021-07-02 10:28:28 UTC [Fatal] Unhandled top-level exception: $exn
Generating crash report
exn: {
"commit_id": "c856692fddc525a673ba075f714811b5c50bd3a7",
"sexp": [
"monitor.ml.Error",
[ "Failure", "Child process of kind Prover has unexpectedly terminated" ],
[
"Raised at file "stdlib.ml", line 33, characters 17-33",
"Called from file "src/app/cli/src/cli_entrypoint/mina_cli_entrypoint.ml", line 579, characters 10-94",
"Called from file "src/deferred0.ml", line 56, characters 64-69",
"Called from file "src/job_queue.ml" (inlined), line 131, characters 2-5",
"Called from file "src/job_queue.ml", line 171, characters 6-47",
"Caught by monitor coda"
]
],
"backtrace": [
"Raised by primitive operation at file "src/signal.ml", line 162, characters 6-61"
]
}
2021-07-02 10:28:28 UTC [Error] verifier terminated unexpectedly
2021-07-02 10:28:28 UTC [Info] Starting a new verifier process
2021-07-02 10:28:28 UTC [Info] verifier successfully stopped
2021-07-02 10:28:28 UTC [Info] Rebroadcasting $state_hash
state_hash: "3NLnPyR37jEecT8RdmJ6m7HKnNxicr8gj1kKA4x5iZC4nueGevJ4"
2021-07-02 10:28:28 UTC [Fatal] libp2p_helper process died unexpectedly: "died after receiving sigkill (signal number 9)"
2021-07-02 10:28:28 UTC [Error] error during validationComplete, ignoring and continuing: $error
error: {
"commit_id": "c856692fddc525a673ba075f714811b5c50bd3a7",
"string":
"helper process already exited (doing RPC {"seqno":25735,"is_valid":"accept"})"
}

Closing this one because of no activity for a long time and I hope that the most recent versions of Mina Daemon behave more stable for you.
Please feel free to report new issues should you face any.
Thank you.


[Feature] - Civo cloud integration plugin

Review approach to use Civo CLI vs. CIVO go-lang API to release the plugin.

Done with https://github.com/k3ai/k3ai/pull/39 will switch the plugin to "available" once we release v1.0.1


Create Total Monthly Spending Report

Metrics

Total spent per month
Not net; do not include any payments

-- sqlite
SELECT
    strftime('%Y-%m', date) AS MONTH,
    SUM(cents / 100) AS total_spending
FROM
    transactions
WHERE
    cents < 0
GROUP BY
    strftime('%Y-%m', date);

Duplicates #84


DLL load failed: The specified module could not be found.

OS and version used:  Windows 10

Python runtime used:  3.5.5 (Anaconda)

SDK version used:  1.4.1

Description of the issue:
I am trying to run the sample SimulatedDevice.py to send telemetry data to my IoThub but I am getting DLL load Failed error
Code sample exhibiting the issue:
import random
import time
import sys

import iothub_client
from iothub_client import IoTHubClient, IoTHubClientError, IoTHubTransportProvider, IoTHubClientResult
from iothub_client import IoTHubMessage, IoTHubMessageDispositionResult, IoTHubError, DeviceMethodReturnValue

MyNodeDevice --output table
CONNECTION_STRING = "REMOVED"

PROTOCOL = IoTHubTransportProvider.MQTT
MESSAGE_TIMEOUT = 10000

TEMPERATURE = 20.0
HUMIDITY = 60
MSG_TXT = "{\"temperature\": %.2f,\"humidity\": %.2f}"

def send_confirmation_callback(message, result, user_context):
    print ( "IoT Hub responded to message with status: %s" % (result) )

def iothub_client_init():

    client = IoTHubClient(CONNECTION_STRING, PROTOCOL)
    return client

def iothub_client_telemetry_sample_run():

    try:
        client = iothub_client_init()
        print ( "IoT Hub device sending periodic messages, press Ctrl-C to exit" )

        while True:

            temperature = TEMPERATURE + (random.random() * 15)
            humidity = HUMIDITY + (random.random() * 20)
            msg_txt_formatted = MSG_TXT % (temperature, humidity)
            message = IoTHubMessage(msg_txt_formatted)

            prop_map = message.properties()
            if temperature > 30:
              prop_map.add("temperatureAlert", "true")
            else:
              prop_map.add("temperatureAlert", "false")

            print( "Sending message: %s" % message.get_string() )
            client.send_event_async(message, send_confirmation_callback, None)
            time.sleep(1)

    except IoTHubError as iothub_error:
        print ( "Unexpected error %s from IoTHub" % iothub_error )
        return
    except KeyboardInterrupt:
        print ( "IoTHubClient sample stopped" )

if __name__ == '__main__':
    print ( "IoT Hub Quickstart #1 - Simulated device" )
    print ( "Press Ctrl-C to exit" )
    iothub_client_telemetry_sample_run()

Console log of the issue:
 Traceback (most recent call last):
  File "SimulatedDevice.py", line 11, in <module>
    import iothub_client
  File "C:\Users\Waleed\AppData\Local\Programs\Python\Python35\lib\site-packages\iothub_client\__init__.py", line 1, in <module>
    from .iothub_client import *
ImportError: DLL load failed: The specified module could not be found.

[edit:pierreca:2018-8-12] formatting

@WaleedSehgal this can happen if the x86 version of python is installed on an x64 machine (pip will download our x64 package all the time because it goes by the CPU architecture). Can you confirm if you're running python x64?

Yes, I am running python x64.

@WaleedSehgal I've setup an anaconda test environment (with the latest 5.2.0 version that includes python 3.6.5) and ran the sample successfully. I'm going to ask you to double-check because this is typically the situation we encounter with this error.

can you go into your control panel -> uninstall a program and make sure that the anaconda installation explicitly states "64 bit"? (this is what I see:)

can you verify when you are running pip install azure-iothub-device-client that it downloads the package called azure_iothub_device_client-1.4.1-py3-none-win_amd64.whl ?

can you verify that the python interpret you're running your script on recognizes the platform as x64 by running this in the python interpreter:

import platform
platform.architecture()

If you believe it might be related to the difference between python 3.5 and python 3.6, can you install the latest anaconda version and try again?

I'm having the same issue. I'm using Python 3.7 x64. Using Anaconda as you suggested @pierreca worked.

@pierreca Yes seems like there is an issue with python versions other than 3.6. Between I was able to run the sample successfully upon setting my environment to python 3.6

@WaleedSehgal, @tpenland, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey

File "C:\ProgramData\Anaconda3\lib\site-packages\iothub_client_init_.py", line 1, in
from .iothub_client import *
ImportError: DLL load failed: The specified module could not be found.

@pierreca thanks for this solution.. I removed 3.7.x, and installed 3.6.8, and it worked..


Major updates in Folding.

With the new updates in Folding, now we can apply the folding effect in any angle, some examples:


Cannot find module 'kerberos'

Cannot find module 'kerberos'

@lilingling3 have you installed the kerberos package? The driver does not install it for you, it is considered a peerOptionalDependency, so you need to npm install kerberos yourself.

thank for


Enable tf.tanh() for SparseTensor

Enabled tf.tanh() for SparseTensor. Added tests and verified locally. This partially addresses #1828.

Can one of the admins verify this patch?

@tensorflow-jenkins test this please

Please rebase your repo to resolve the merge conflicts.

@tensorflow-jenkins test this please

Could you try to rebase your repo again to fix the test error?

@rmlarsen Done. Could you merge this in as soon as possible? I've already had to rebase twice.

@tensorflow-jenkins test this please

@rmlarsen The tests don't seem to be running

@tensorflow-jenkins test this please

@rmlarsen While working on this PR, I noticed that I missed adding tests for tf.tanh() here. I will send out a PR once the tf.erf() change is merged in (to avoid conflicts).

@siddharth-agrawal Oops! should have caught that :-) Thanks for adding the tests.


perf: compress static files

During the build step, static files of type html, xml, txt, css, js, svg, ico, json, ttf and otf in dist/app/browser/ are precompressed using gzip. Files smaller than 1300 B are not compressed. If there is a compressed version of a static file, nginx is configured to serve it instead of the uncompressed file. The necessary configuration commands for compressing dynamically generated html on-the-fly have also been added to the nginx configuration (nginx.conf), however, the commands have been left commented out because of the increased server load associated with on-the-fly compression.

@rasek-sls  I have tested locally that nginx sends the gzipped version of files with this – even on-the-fly compression of dynamically generated html works if you uncomment those lines–, but is there something else required for this to work in the production environment?
I added gzip_proxied no-cache no-store private expired auth; since it is used in many examples. Is it needed with a reverse proxy like HAProxy?

It may be worthwhile doing some testing to see how much load is added from simply setting gzip on at the server level - that would simply compress everything on the fly without need for an additional compression step in the node build process.
At present, our HAProxy does not use gzip compression itself, responses from servers are simply passed as-is (in other words, if the server uses gzip the gzipped response will be sent to the client, and if the server does not use gzip, the uncompressed response will be sent to the client)
We could enable on-the-fly gzip compression in HAProxy, but that would impact all our sites, which may have a greater CPU impact.
In other words, this looks fine and should work great in production, but I'm not sure it's necessary over simply enabling on-the-fly gzip compression in nginx at the server level of the config and letting it compress everything. Gzip is pretty lightweight these days.
Have you tested the level of added CPU load locally? You could use something like https://blog.projectdiscovery.io/introducing-katana-the-best-cli-web-crawler/ and monitor the CPU load using docker stats.


Fetching large files always gives up at 50MiB

I tried to fetch a relatively large file (200 MiB) for a visualization. However, the fetch request always seems to give up at 50.7 MiB. Below is a screenshot of the situation in Chrome, and a link to the project.
I am not super well versed in the nuances of javascript network requests, but I did notice that "streaming is supported", though I'm not sure if that's used in this case, or how specifically to enable it.
 I’d fetch isn’t doing what you expect, you might try asking Stack Overflow for help. It could be a network or server or browser add on issue.


Update README.md

Fixing the meaning
Fixes / New Feature #
Proposed Changes

Hahaha it is the British way lol, but happy to go with something more international!! :)

International would be nice :)


Added exports to material-ui-icons package.json

[x] I have followed (at least) the PR section of the contributing guide.

Addresses: https://github.com/mui-org/material-ui/issues/26254

We want to do this with some extensive testing with different bundlers. I've heard too many horror stories from introducing exports and I want to be very careful. Especially considering that we don't really need that field at the moment.

@eps1lon definitely makes sense, but at least the suggestion is there for the next major now. This is also part of the JSPM overrides process to create a PR even if it isn't merged to ensure there is some coordination with upstream (https://github.com/jspm/overrides#criteria-for-merging-an-override).

I definitely hear you. We want to do this in the future. But most of the work needs to be spend in testing. So pushing https://github.com/mui-org/material-ui/pull/23166 forward would really help us.

@eps1lon Webpack 5 supports these features with a high level of parity with Node.js now, we've done quite a bit of testing here. If  / when you can try this out against the testing PR feel free to copy me in any issues that arise.

@eps1lon Webpack 5 supports these features with a high level of parity with Node.js now, we've done quite a bit of testing here.

I know that. I also know that webpack 4 does not support exports. Looking at the download stats, we do keep supporting webpack 4. So please understand that isn't a trivial feature to add that we just add on the side.

@jollytoad Note that the active branch is next, not master so we won't be able to merge this one.
Regarding rebasing on next, I assume @eps1lon will want to take the lead on this. So maybe we should close this PR?

@oliviertassinari thanks for the follow up, please reference any tracking issue here if closing the PR. We ended up merging quite a few overrides for the projects in https://github.com/jspm/overrides/blob/main/overrides.json which could be a useful starting point for this work further. Would be happy to assist with further upstream review on these if that would help too.

@guybedford We're probably going with a simpler approach considering we only want to ship a single module format:
"exports": {
  ".": "./index.js",
  "./*": "./*.js"
},
"type": "module"

-- 8c3f6ee (#26310)
Though we do want to get all the fixtures in place first (https://github.com/mui-org/material-ui/pull/23166) and then test https://github.com/mui-org/material-ui/pull/26310 against those fixtures.

@eps1lon that sounds good. Are there no subfolders or non-module or non-public JS files at all then? It would still be important to check you are not exporting any internal / private modules that shouldn't be directly imported. Tools can specifically optimize these out.

@eps1lon that sounds good. Are there no subfolders or non-module or non-public JS files at all then? It would still be important to check you are not exporting any internal / private modules that shouldn't be directly imported. Tools can specifically optimize these out.

We have utils/createSvgIcon but that is an internal module used by the other icons. The rest is really just icon components. @material-ui/icons is the simplest package we have though. Apart from 'utils/createSvgIcon.js' everything is auto-generated and we do need to optimize install/packed size since we're getting reports that the download is timing out.

@eps1lon you can use null entries to exclude paths:
{
  "exports": {
    "./*": "./*.js",
    "./utils/*": null,
    // or just a specific entry
    "./utils/createSvgIcon": null
  }
}

This ensure they remain private and internal. I understand you're shipping optimized modules, but there can be an encapsulation benefit to this as well.

you can use null entries to exclude paths:

That's new to me. I thought exports acts as an "allow list" kind of field. You're making it sound like that I need to explicitly exclude fields. If I only match ./*.js why would I need to exclude ./utils/?

@eps1lon exports are deep includes by default.

Nevermind, we match ./* not ./*.js. But what would the import from @material-ui/icons/utils even return?

Per "./*": "./*.js", @material-ui/icons/utils would resolve to @material-ui/icons/utils.js.

And also, @material-ui/icons/utils/any would resolve to @material-ui/icons/utils/any.js.

Do you know why the working group thought * being equivalent to **/* was a good idea?

Do you know why the working group thought * being equivalent to **/* was a good idea?

Oh so you were actually part of the modules team. Trying to understand why * mapping to ** is the right thing to do. Would implementing * and ** not have worked?

@eps1lon this was discussed at length, and you can blame me for suggesting it, but the argument is that these are module specifiers and module URLs which are not file paths, and this maintains symmetry with the RHS replacement without having to bring an entire matching syntax grammar to the resolver specification. This syntax first originated in browser module loaders with resolver configurations like "mod/*": "/path/to/pkg/*.js" which was used for early mapping systems that would apply to all deep subpaths of mod. I personally hope import maps might be able to support something like this in future as well.
The best way to think about it is that this is a resolver map, acting on module specifier strings. That is there is no globbing or file system checking happening, just string replacement. These strings just happen to map to file paths on a file system.

Yeah makes sense. It just introduces a bit of a pain point for us since we think about @material-ui/icons/* different than exports does. https://next--material-ui.netlify.app/guides/minimizing-bundle-size/#option-1 captures our mental model about the valid imports from our package. But that doesn't translate to exports because * acts like **.
Though in the end we can always auto-generate exports with our mental model in mind. And for @material-ui/icons specifically we can exclude the internal packages manually with null values. Thanks for that suggestion.
For what it's worth: I think the "* as  **" behavior should have an explicit warning in the Packages API docs. I didn't quite realize how * works when reading over the examples. I stopped reading thoroughly because I assumed * would work just like it works in file globbing e.g. popular glob implementations on npm, .gitignore etc.

@eps1lon I checked that link you provided but couldn't quite follow what you mean by a difference? Is the issue that you do have lots of other subfolders that you don't want to expose?
I checked if there were any improvements we could make in the docs, but we do explicitly call out all these aspects including that it is a glob in https://nodejs.org/api/packages.html#packages_subpath_patterns:

the individual exports for a package can be determined by treating the right hand side target pattern as a ** glob against the list of files within the package. Because node_modules paths are forbidden in exports targets, this expansion is dependent on only the files of the package itself.

That said we don't currently document the null pattern so I've posted a PR with this at https://github.com/nodejs/node/pull/38724. If you have further exact docs suggestions on this topic do let me know - the feedback is appreciated.

but we do explicitly call out all these aspects including that it is a glob in

You do, but it's only after you introduce *. If you have e.g. .gitignore in mind then you don't read further because you expect * to work just as it works in other "fields".
It's like saying "hey this car is blue" but only later clarifying that your "blue" is actually "red". It's still explicitly saying that what you mean by "blue" is actually "red" but it remains unclear for people opting out earlier. That's at least my perspective.

I checked that link you provided but couldn't quite follow what you mean by a difference? Is the issue that you do have lots of other subfolders that you don't want to expose?

When we (our team, .gitignore, eslint no-restricted-paths, path autocomplete in shells etc) think about core/* we don't match core/utils/utility. core/* would only match core/utils. So all packages but @material-ui/icons can't actually use * because that matches way too many paths. So instead we need to manually list all public paths that would match * when used in popular file globbing implementations.

@eps1lon I've added an additional note in https://github.com/nodejs/node/pull/38724/files#diff-71a7964a5c439435680952125e31e9dd4fca3a427982e6db86770fd0fbbfde63R361, let me know if that seems clear to you?
I will repeat - this is not a matching syntax, it is a string mapping syntax like writing a function function resolvePkgPath (subpath) { return './newpath'; }. Glad you are clear on the null masking now, we didn't need many of these when putting together https://github.com/jspm/overrides/blob/main/overrides.json.
Feel free to copy me in for review in future.

@guybedford I have tried to make Material-UI work with JSPM but I couldn't figure it out.
First, I have tried v5, it fails on an obscure case.

Then, I have tried v4. I had to add a global variable to support if (process.env.NODE_ENV === 'production') {, but then, I got stuck on an error I could find the origin.

@eps1lon What do you think about closing this PR as we have #26254 open?

@oliviertassinari I believe it does work if you generate the import map with the "module" condition enabled. Currently this is supported via the generator API but not yet in the UI interface, see https://github.com/jspm/generator for the API.

The exports have been added in #26310


Redux Hooks

Do you have any intention of adding snippets for Redux hooks?

@NICHTJ3 but actually which? :) Most of redux-hooks are pretty easy and IMO, they do not need additionally snippets.

Would be awesome! Created a PR för useSelector and useDispatch. Just a proposal.
They might be easy but so is the snippet for useState in my opinion.

@victorcamnerin thanks for PR. I'm more likely change it to use destructuring in useSelector :)

Go for it! Cool!


Request for UI

After the acceptor posted, there will be a button for contact which requires reCAPTCHA. And after reCAPTCHA, the donor will see contact details with a button to confirm to donate (which will add them to donors list using the /donate/:id API upon auth later).
Acceptors, at any time after posted a post, can choose to

Close the request (which means they are satisfied with the donors' donation)
Delete the request (which means they aren't satisfied, or changed their mind about their requests)

The following features are not yet implemented and requires further discussions

Remove some of the donors from their list (to be discussed and implemented later)
Lock the request (deny all late donors who wants to donate after the lock, to be discussed and implemented later)

Also, there should be some kind of counter from stats or hall of fame for donors, this depends on your choice of design. Thank you.

and 2. will be done, boss.


docs: fix download link in android docs

What's Changed in this PR
Fix the download link in "Run on Android pages"
Checklist

[x] Please ensure that the content in summary.yml matches the current document structure when you changed the document structure.
[ ] This change requires follow-up update in localized docs.

Shall we update this docs for other versions also?

I also updated related docs in 0.4/0.5/0.6.


Shipped binary doesn't support ECS roles

It would appear that the registry version doesn't support ECS task roles, so it can't be hosted within ECS without hard-coding keys (or using the machine / instance credentials).
It'd be nice if the binary available on hub.docker.com/registry:2 was rebuilt with a newer aws-sdk.

Closing as wildly outdated. Support for IAM roles is now available in both v2 (more or less deprecated) and latest v3 releases.


Added MON variable for Kubernetes hostNetwork mode

This will use the nodeNames instead of the pod names for the monmap

This allows users to use hostNetwork: true mode for Ceph mons in Kubernetes.

We were just about to file a similar PR. We'd started with a variable similar to K8S_HOST_NETWORK but opted instead to avoid an extra option and use MON_NAME. That way a fieldRef override to HOSTNAME could be used.
e.g.
- name: HOSTNAME
     valueFrom:
       fieldRef:
         fieldPath: spec.nodeName

@hunter The HOSTNAME will be already set to the node's hostname when running in hostNetwork: true. But the problem this PR solves is the monmap generation that still uses the pod name and not the nodeName when in hostNetwork mode.

Yep, understood. I used a confusing example (updated above) but it operates in a similar way. We override the HOSTNAME (and cascading to MON_NAME) in the entrypoint to make that things are consistent

@hunter The problem is not entirely with the MON_NAME.
If you look at this code https://github.com/galexrt/ceph-docker/blob/f099b4c332e5982b74b5355249843c99f8cad279/ceph-releases/kraken/ubuntu/16.04/daemon/config.k8s.sh#L19 it will use the pod name for the mon name in the monmap and not the nodeName like I added https://github.com/galexrt/ceph-docker/blob/f099b4c332e5982b74b5355249843c99f8cad279/ceph-releases/kraken/ubuntu/16.04/daemon/config.k8s.sh#L21 the monmap needs to use all nodeNames when running in hostNetwork mode.

Yes, I understand what you mean. Not sure if you saw the link to the code that was part of my first comment - https://github.com/ceph/ceph-docker/compare/master...AcalephStorage:monmapadd-name#diff-816f945fdcfa475983d3dbe3e91341bdR19
We're trying to solve the same problem. We just opted to move the logic to the K8s spec. In hostNetwork mode it is important to add the hostname to the monmap. We'd also like the flexibility to use a consistent StatefulSet Pod name in place of that hostname.

@hunter The problem I see from you change is, that the MON_NAME will now be used for all monitors in the cluster as the kubernetes "template" used here is a loop over all found pods.

You make a good point. We'd missed the issue since we'd used a StatefulSet. We'd been trying to avoid an extra variable but no other way unless we try the new DNS discovery with Kraken :)

@leseb Added the CLI_OPTS.

@galexrt @hunter did you get to an agreement on the k8s part?

Yes, it was my mistake. @galexrt's implementation works :)

One thing to note is that when using hostNetwork you:

a) specify the mon hosts in the mon_host setting directly (as the cluster internal dns isn't used in hostNetwork mode, see b) for more info)
b) wait for Kubernetes 1.6.x to implement the dnsPolicy: ClusterFirstWithHostNet (see https://github.com/kubernetes/kubernetes/pull/29378)
c) create a dns name with the mons addresses in it (round robin style ~= clusterIP: none style) and wait until b) has been implemented and releasesd (this is currently the way I do it, until  Kubernetes 1.6.x is released

Brilliant! I didn't know that dnsPolicy: ClusterFirstWithHostNet is being implemented. Will definitely be useful.
We're still using mon_host with StatefulSets and c with a minor change to use the Pod name/HostIP instead of Hostname.


Netlify CI/CD for Deploys

Description
Currently builds are delegated to Netlify's CI/CD.
The build minutes are limited to 300 build minutes for Netlify. Using Github's own CI/CD we can get 2000 build minutes. Along with that, the logs are easily available for any contributors.
This PR introduces Github Actions for netlify builds for both Production deploys as well as Pull Request Previews.
Two workflows are created as follows:

On push to master branch, a production deploy is initiated. The resulting log URL and live URL is commented on the commit. (We could use GitHub deployments for this as well)
On a pull request to master, a preview deploy is created and the preview URL along with build logs are commented on the PR. The PR is blocked until the build succeeds.

Removed redundant tailwindcss and postcss config and deps.
Fixes #105 & #122
Changes Include

[x] Bug fix 🐛
[x] Refactor ⚒
[x] Tooling ⚙

How Has This Been Tested?
Tested on fork CI/CD.
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

Requirements
The github actions require NETLIFY_AUTH_TOKEN and NETLIFY_SITE_ID.
NETLIFY_SITE_ID is the API-ID available from Project Settings in Netlify dashboard.
NETLIFY_AUTH_TOKEN has to be created from Account Settings > Applications > Personal Access Tokens

Also to make it easier to track, review & keep the contents of this PR on context, could you open a new PR for #126?

Also to make it easier to track, review & keep the contents of this PR on context, could you open a new PR for #126?

Sure. See #129

@all-contributors please add @NiketanG for code, infra

Just a heads up, @NiketanG whenever you pull latest changes to your fork, make sure you do so in a non-master branch. The "squash" merge those commits into your fork's master branch. That way your PR is clean & doesn't include the other "spammy" commits from the other users. :smile:
@Bhupesh-V we need to setup some secret tokens from Netlify (see the PR description of what's required). This is a good PR & we'll be able to deploy to Netlify using GitHub after merging this. You'll also need to disable the build process on Netlify after the merge was successful so, I'll be ping you a couple of times again! :sweat_smile:

@NiketanG please update your branch from master or rebase changes to 1 commit. there are more than 300 commits right now

@Bhupesh-V give this PR a second look & could you add the Netlify secret tokens? We need those to check if the CI/CD pipeline is working as expected or not.
And @NiketanG can you perform a "squash merge" of all the 300+ commits? 😅 Merging all of these will clutter the commit history of the master branch. See this SO answer for more info on how it's done.

Sorry for the clutter, I am very new to rebases and all that so thats why the mess. Can you please guide on reopening the PR or anything ? Or should I create a new PR ?

@NiketanG it's all good! It does make sense to reopen a new PR at this stage right now tbh. I suggest keeping your PR small & to the context. For example, one PR for adding NextUI, another one for deploying to Netlify using GitHub Actions. And read this section of the CONTRIBUTING.md document to understand how you should maintain a proper workflow for developing projects in the future.
If you need further help, ping me on Discord.


Brew quits unexpectedly during a bundle install

Our automatic alignment procedure, chezmoi-based, runs the following command when detecting any change in brew content:
brew bundle install --no-lock --no-upgrade --file=~/.Brewfile
This morning I was running a routine alignment, with the following Brewfile:
Brewfile-without-a-dot-thankyou-GitHub.txt (actual file is named ~/.Brewfile, but GitHub rejects files named this way, so I had to rename it, in order to attach it. Sorry for the confusion)
When I got the following error:

Error: Unexpected run command:
Please report this bug:
https://github.com/Homebrew/homebrew-bundle/issues
/opt/homebrew/Library/Homebrew/service.rb:571:in deserialize' /opt/homebrew/Library/Homebrew/formulary.rb:260:in block in load_formula_from_api'
/opt/homebrew/Library/Homebrew/formulary.rb:149:in initialize' /opt/homebrew/Library/Homebrew/formulary.rb:149:in new'
/opt/homebrew/Library/Homebrew/formulary.rb:149:in load_formula_from_api' /opt/homebrew/Library/Homebrew/formulary.rb:632:in load_from_api'
/opt/homebrew/Library/Homebrew/formulary.rb:623:in klass' /opt/homebrew/Library/Homebrew/formulary.rb:403:in get_formula'
/opt/homebrew/Library/Homebrew/formulary.rb:663:in factory' /opt/homebrew/Library/Homebrew/formula.rb:1949:in []'
/opt/homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:43:in formulae_by_full_name' /opt/homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/skipper.rb:12:in skip?'
/opt/homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/installer.rb:37:in block in install' /opt/homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/installer.rb:11:in each'
/opt/homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/installer.rb:11:in install' /opt/homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/commands/install.rb:10:in run'
/opt/homebrew/Library/Taps/homebrew/homebrew-bundle/cmd/bundle.rb:94:in bundle' /opt/homebrew/Library/Homebrew/brew.rb:94:in '

If execution order in brew is linear, the troublesome instruction could be:
brew "podman"
My current Brewfile, as reported by brew bundle dump, is as follows:
current-Brewfile-output-from-bundle-dump.txt

Brewfile-without-a-dot-thankyou-GitHub.txt (actual file is named ~/.Brewfile, but GitHub rejects files named this way, so I had to rename it, in order to attach it. Sorry for the confusion)

current-Brewfile-output-from-bundle-dump.txt

Could you paste the contents inline so they don't require a download? Use <details> if they are absurdly long.
Note that brew bundle install --no-lock --no-upgrade --file=~/.Brewfile --verbose --debug will provide a lot more debugging information that may help you here.

If execution order in brew is linear, the troublesome instruction could be:
brew "podman"

It is and, actually, can skip the above because this issue is https://github.com/Homebrew/homebrew-core/issues/131284


Make Access Control-functions work on WithAcrs

If Solid ever gets updated to be able to send both a Resource and
its Linked Resources in a single Response, we'll have API
compatibility if we treat a Resource and its Linked Resources as a
single object.
We've done that for ACLs so far, but I forgot to treat ACRs in the
same way. This commit fixes that: operations on ACRs now take a
Resource with an attached ACR as parameter.

[x] I've added a unit test to test for potential regressions of this bug.
[x] The changelog has been updated, if applicable.
[x] Commits in this PR are minimal and have descriptive commit messages.

Yeah not at all, average or not - it just takes too much time to learn how all this works. Hopefully a higher-level API will serve them better.


Correct passthrough sequences after refactor

Summary of the Pull Request
When refactoring the StateMachine::ProcessString algorithm to use safer structures, I made an off-by-one error when attempting to simplify the loop.
References

Introduced in #3956

PR Checklist

[x] Closes #4116
[x] I work here.
[x] Tests added/passed
[x] No documentation
[x] I'm a core contributor.

Detailed Description of the Pull Request / Additional comments
The algorithm in use exploited holding onto some pointers and sizes as it rotated around the loop to call back as member variables in the pass-through function FlushToTerminal.
As a part of the refactor, I adjusted to persisting a std::wstring_view of the currently processing string instead of pointer/size. I also attempted to simplify the loop at the same time as both the individual and group branches were performing some redundant operations in respect to updating the "run" length.
Turns out, I made a mistake here. I wrote it so it worked correctly for the bottom half where we transition from bulk printing to an escape but then I messed up the top case.
Validation Steps Performed

[x] Manual validation of the exact command given in the bug report.
[x] Wrote automated tests to validate both paths through the ProcessString loop that work with the _run variable.

Nit: reword title to be imperative

Checked x86 conparser.unit.tests.dll locally

[x] Debug passed
[x] Release passed

So I'm going to re-run the x86 failed job.

/azp run


Drag from inside modal & ending outside closes modal (Chrome, Safari)

What should happen?
When I click and hold anywhere inside a modal, move the pointer outside of the modal and release, the modal should remain open.
What happens instead?
On Chrome (75.0.3770.142, Mac) and Safari (12.1.1, Mac), when I do this, the modal closes.
On Firefox (68.0, Mac) I do not experience this behaviour.
Test Case and/or Steps to Reproduce
This can be reproduced using the examples in the documentation (at version 6.5.3).
How to reproduce:

Go to the Reveal documentation.
Click on the button in the first example to trigger a modal ("Click me for a modal")
Clicking anywhere inside the modal, drag outside the modal, release

Worth noting, when doing the same test on the 5.5.3 documentation this behaviour isn't exhibited.
Context
We've run into issues with this in user testing. A typical scenario is interacting with a login or signup form inside a modal.
When trying to replace the existing contents of a field, users not so adept with the keyboard / mouse will attempt to manually select the contents by clicking at the start and dragging to the right, often just pulling the pointer all the way to the right far past the end of the field.
Encountering this bug, that then closes the modal for them.
Your Environment

Foundation version(s) used: 6.5.3
Browser(s) name and version(s): Chrome 75.0.3770.142, Safari 12.1.1, Firefox 68.0
Device, Operating System and version: Mac, Mojave
Link to your project: not public

Checklist

[x] I have read and follow the CONTRIBUTING.md document.
[x] There are no other issues similar to this one.
[x] The issue title and template are correctly filled.

Hi @jongilbraith,
I guess this is because of keyup / keydown.

Hi @DanielRuf,
Indeed, looks the case. I looked about and found some general pointers about comparing the elements targetted in mousedown and mouseup. Didn't find anything about differences in other engines, but looks like maybe this is the expected behaviour and Firefox is just a convenient anomaly.
I'd like to take a look at it myself but need to read up on how to set myself for hacking on an npm module, as my abilities with javascript tooling is currently very much reliant on copy/paste. 😄

Hi @jongilbraith,
You have to follow the instructions from the readme for contributors. Clone the repo, install the dependencies and check the scripts in pacjage.json.

Thanks, but I was referring simply to the actual task of getting a local development copy of the module setup so I can hack on it.
I'm primarily a rubyist and we're experiencing the issue in a rails codebase using webpack, but I think I'll have an easier time if I create a test app with node to tackle this.

If webpack uses the unminified source files of Foundation you can simply change the code in there You probably have only the dist files of Foundation. using patch-package or patch or manually and test it this way.

@DanielRuf thanks, I'll check those approaches out when I come to take a look.

@DanielRuf @jongilbraith I had a client ux complaint come down the pipe and I traced it back to this issue. I opened up a PR to fix this bug. Can one of the maintainers review it?

do the developers actually fix any issue or just defer them?

 I am in a very bad position in front of my client just because I suggested foundation. never going to use foundation in my life ever again.

@Sumanta9x9 please see https://github.com/foundation/foundation-sites/pull/11816#issuecomment-533637926
PRs which fix this are very welcome.
I do not have the needed free time to create a solution and test it. Please keep in mind that we do that in our free time.

Besides this, you can use any modal library if this works better for you.


Support new refmt errors

plugin version:
v0.82
Description
Next bs release will have better errors, unfortunately they are not detected by plugin. Install<EMAIL_ADDRESS>for tests
Example of error:
let x = {
    foo;

error message looks like:
File "/File.re", line 14, characters 0-0:
Error: Unclosed "{" (opened line 12, column 8)

Might be linked to #174 ?

I think it is not related, bs-platform was only migrated to 4.06 recently

are you talking about the popup are the link in the console ?
popup is fine

Yes, basically parsing bsb error output to intellij errors,  for me it is not working :/
IntelliJ IDEA 2019.3 (Ultimate Edition)
Build #IU-193.5233.102, built on November 28, 2019
FAILED: src/Effects.reast
~/node_modules/bs-platform/lib/bsc.exe  -w -30-40+6+7+27+32..39+44+45+101+A-42-40-102 -warn-error +8+5 -color always -bs-jsx 3 -ppx ~/decco/ppx -ppx ~/lenses-ppx/ppx -ppx ~/ppx-deriving/ppx.js -bs-super-errors -o src/Effects.reast -bs-syntax-only -bs-binary-ast /Users/alexander/Projects/wolt/ops-tools-reasonml-modules/ops-couriers/inventory/src/Effects.re
File "~/Effects.re", line 101, characters 0-0:
Error: Unclosed "{" (opened line 99, column 8)

  We've found a bug for you!
  ~/Effects.re

  There's been an error running Reason's parser on a file.
  The error location should be slightly above this message.
  Please file an issue on github.com/facebook/reason. Thanks!

FAILED: subcommand failed.
Process finished in 915ms


genv6.sh: java.lang.IllegalArgumentException: newLimit < 0: (-8 < 0) when building EN.quickdic

I’m trying to rebuild the dictionaries. Unfortunately, I have a Tolino and they still can’t use the v007 format, so I used "genv6.sh". It works correctly through all EN-XX dictionaries but when finally trying to build EN.quickdic (v006), I get an error:
Exception in thread "main" java.io.IOException: RuntimeException loading dictionary
	at com.hughes.android.dictionary.engine.Dictionary.<init>(Dictionary.java:115)
	at com.hughes.android.dictionary.engine.ConvertToV6.main(ConvertToV6.java:50)
	at com.hughes.android.dictionary.engine.Runner.main(Runner.java:31)
Caused by: java.lang.IllegalArgumentException: newLimit < 0: (-8 < 0)
	at java.base/java.nio.Buffer.createLimitException(Buffer.java:372)
	at java.base/java.nio.Buffer.limit(Buffer.java:346)
	at java.base/java.nio.ByteBuffer.limit(ByteBuffer.java:1107)
	at java.base/java.nio.MappedByteBuffer.limit(MappedByteBuffer.java:235)
	at java.base/java.nio.MappedByteBuffer.limit(MappedByteBuffer.java:67)
	at com.hughes.util.DataInputBuffer.slice(DataInputBuffer.java:49)
	at com.hughes.util.raf.RAFList.<init>(RAFList.java:81)
	at com.hughes.util.raf.RAFList.create(RAFList.java:164)
	at com.hughes.android.dictionary.engine.Dictionary.<init>(Dictionary.java:112)
	... 2 more

This happens:

with both my compiled version and using your binary Linux version "DictionaryPC"
on both a 8GB RAM Linux Mint 20.2 and a 32GB RAM Ubuntu Studio 14.04 machine

Looking through the v007 .quickdic outputs, the EN.quickdic is by far the largest, it has 155,5MB.
Any ideas/help?

I can't say anything about the why, but the problem here is not the conversion to v6 but that the v7 dictionary is broken.
Can't tell much more with the info available I'm afraid.
I guess a really basic and slightly silly suggestion might be to try regenerating the dictionary, just in case it was a one-off glitch.

Tried that a few times, but I suppose you’re right. I guess either the WiktionarySplitter.sh does something odd, or the Wiktionary data contains something bad. :-(

No, if it's reproducible there's a bug somewhere. The generated dictionary should never be structurally invalid no matter the input data.
Can you provide some reproduction information/data? Whether it's which wiktionary input file(s) you used, to the split data or the generated file, something that would allow me to get the same error?

I’ll try to create a reproducable setup, this is of course debatable, since I needed to install several dependencies and change the scripts accordingly. I’m using Linux Mint 20.2, mainly.

I think I mostly need to be sure to have the same input and the same commands.
If that's not enough to reproduce it might be time to consider it might be an issue with versions of dependencies or something like that.
Also as said the dictionary file that fails to convert might be enough to get an idea of what went wrong.
A quick look of the code ended with just a "I see no way this can happen", so not getting any further there.

Let’s see, what did I do (apart from installing missing dependencies)?

Ran data/downloadInputs.sh

ls -l /usr/share/java/icu* shows:
-rw-r--r-- 1 root root 12364629 Feb 25  2019 /usr/share/java/icu4j-60.2.jar
-rw-r--r-- 1 root root  3129482 Feb 25  2019 /usr/share/java/icu4j-charset-60.2.jar
lrwxrwxrwx 1 root root       22 Feb 25  2019 /usr/share/java/icu4j-charset.jar -> icu4j-charset-60.2.jar
lrwxrwxrwx 1 root root       14 Feb 25  2019 /usr/share/java/icu4j.jar -> icu4j-60.2.jar
-rw-r--r-- 1 root root    55599 Feb 25  2019 /usr/share/java/icu4j-localespi-60.2.jar
lrwxrwxrwx 1 root root       24 Feb 25  2019 /usr/share/java/icu4j-localespi.jar -> icu4j-localespi-60.2.jar

and ls -l /usr/share/java/commons* shows:
lrwxrwxrwx 1 root root     15 Jun 19  2017 /usr/share/java/commons-cli-1.4.jar -> commons-cli.jar
-rw-r--r-- 1 root root  47653 Jun 19  2017 /usr/share/java/commons-cli.jar
lrwxrwxrwx 1 root root     17 Jan 27  2020 /usr/share/java/commons-codec-1.14.jar -> commons-codec.jar
-rw-r--r-- 1 root root 346621 Jan 27  2020 /usr/share/java/commons-codec.jar
lrwxrwxrwx 1 root root     20 Jan 27  2020 /usr/share/java/commons-compress-1.19.jar -> commons-compress.jar
-rw-r--r-- 1 root root 602109 Jan 27  2020 /usr/share/java/commons-compress.jar
lrwxrwxrwx 1 root root     14 Sep 23 17:57 /usr/share/java/commons-io-2.6.jar -> commons-io.jar
-rw-r--r-- 1 root root 211957 Sep 23 17:57 /usr/share/java/commons-io.jar
lrwxrwxrwx 1 root root     17 Nov 26  2018 /usr/share/java/commons-lang3-3.8.jar -> commons-lang3.jar
-rw-r--r-- 1 root root 495121 Nov 26  2018 /usr/share/java/commons-lang3.jar
-rw-r--r-- 1 root root  58179 Jan 12  2018 /usr/share/java/commons-logging-1.2.jar
-rw-r--r-- 1 root root  22029 Jan 12  2018 /usr/share/java/commons-logging-adapters-1.2.jar
lrwxrwxrwx 1 root root     32 Jan 12  2018 /usr/share/java/commons-logging-adapters.jar -> commons-logging-adapters-1.2.jar
-rw-r--r-- 1 root root  49531 Jan 12  2018 /usr/share/java/commons-logging-api-1.2.jar
lrwxrwxrwx 1 root root     27 Jan 12  2018 /usr/share/java/commons-logging-api.jar -> commons-logging-api-1.2.jar
lrwxrwxrwx 1 root root     23 Jan 12  2018 /usr/share/java/commons-logging.jar -> commons-logging-1.2.jar
lrwxrwxrwx 1 root root     16 Nov  4  2019 /usr/share/java/commons-text-1.8.jar -> commons-text.jar
-rw-r--r-- 1 root root 200726 Nov  4  2019 /usr/share/java/commons-text.jar

For compilation (although I later used your Linux binary), I modified the beginning of compile.sh like so:
ICU4J=/usr/share/java/icu4j-49.1.jar
test -r "$ICU4J" || ICU4J=/usr/share/icu4j-55/lib/icu4j.jar
test -r "$ICU4J" || ICU4J=/usr/share/java/icu4j-60.2.jar
JUNIT=/usr/share/java/junit.jar
test -r "$JUNIT" || JUNIT=/usr/share/junit/lib/junit.jar
COMMONS=/usr/share/java/commons-text.jar
COMMONS_COMPRESS=/usr/share/java/commons-compress.jar

Ran ./compile.sh
Got Linux binary DictionaryPC since I assumed there might be something wrong with my compilation (and possibly ICU versions etc.)

Now using your binary …

Ran ./WiktionarySplitter.sh
Ran ./generate_dictionaries.sh, which seemingly created all v7 dictionaries.
Ran ./genv6.sh, which created lots of v6 dictionaries (including all EN-xx) until it arrived at above error when trying to create the EN.dic.

Let me know if I must do all this again, since it takes many, many hours…

I don't think there is a point doing it again, but downloadInputs always downloads whichever is latest, so it would be good to know the exact database dump date. But since they are regularly deleted, that might not work.
Maybe you could upload your wikiSplit/en/EN.data somewhere?
And as mentioned, the v7 dictionary you got might help as well.

The date was 2021-12-07, and here are the files:

EN.data.gz
EN.quickdic.v007.zip

Btw you know that you can edit just the first few lines of the generate_dictionaries.sh file to only generate this failing dictionary?
Would look like this:
DE_DICTS=true
DE_DICTS=false
EN_DICTS=true
EN_DICTS=false
FR_DICTS=true
FR_DICTS=false
IT_DICTS=true
IT_DICTS=false
EN_TRANS_DICTS=true
EN_TRANS_DICTS=false
SINGLE_DICTS="en de fr it es pt"
SINGLE_DICTS="en"
The problem here is indeed that the EN.quickdic file is incomplete: A valid file would always end with the text "END OF DICTIONARY", but in this case actually the whole index is missing.
I've not gotten around to check why that might have happened.

Using your EN.data.gz I did get a working EN.quickdic.
Maybe you could re-try the generate_dictionaries.sh step (for only this one, should take very little time) and check the output for anything suspicious?

Ok, I changed generate_dictionaries.sh as suggested above, and did a
./generate_dictionaries.sh &> gen-EN.log

I attach gen-EN.log. In spite of generating LOTS of warnings and errors, and data/inputs/wikiSplit/en/EN.data.gz still being the same file from 2021-12-07, a v7 dict is now generated, and roughly 20 MB larger. And it has "END OF DICTIONARY" at the end.
So there must be some difference between running the "all-enabled" and the "one file only" generate_dictionaries.sh process.
gen-EN.log.zip

The log of a working run will not really help :)
You can check the script, it runs exactly the same command if you generate one or many dictionaries.
However the script does not really have much error checking. My best guess (but still just a pretty arbitrary one) would be that something temporarily used a lot of RAM or storage and caused that one run to crash.
Especially with older Java versions it can use up all the 8 GB max heap when generating the dictionary.

Yeah, I guess RAM might have been "it"—this laptop only has 8 GB RAM (4 cores, 8 threads total) and the whole process was pretty much eating resources when generating all dictionaries.


Bluetooth: Host: Add SMP bt_smp_get_pairing_peer_info

Used to obtain pairing flags from peer before pairing.
Returns bt_smp_pairing for a given bt_conn during smp_pairing_req or
smp_pairing_rsp, which contains IO caps, OOB, AuthReq and keys config.
This function is available through a public SMP API.
Fixes: #21036
Signed-off-by: Martin Rieva<EMAIL_ADDRESS>

Btw, I intentionally didn't comment on coding style, as I expect you'll take the warnings from checkpatch into account 😉

@jhedberg I thought a lot about your concern regarding the callbacks and I may have been unclear. This is intended to be called during bt_auth->pairing_confirm() in smp.c, which is called directly from smp_pairing_req and smp_pairing_rsp.
I probably mislead you to believe it was during the PairingConfirm command?

@demantmrrv thanks for clarifying, however currently pairing_confirm is only used when we are acceptors and the just-works model is used. Otherwise this callback will not get used. So either we need a new callback, or then a Kconfig which forces this callback to be used in the beginning of every pairing procedure. Please see the oxygen documentation in include/bluetooth/conn.h for the full details of how this callback is currently defined.

@jhedberg @joerchan I see what you mean, that a new callback for any pairing method will be more clean. We would like to act upon this callback, accepting or rejecting the pairing, so essentially, this callback will replace the bt_auth->pairing_confirm, making them mutually exclusive (with a Kconfig).
This also means my suggested bt_smp_get_pairing_peer_info function becomes obsolete, as the pairing information can be passed in the callback to the app instead. It makes sense not to use the packet definition struct, as we can then expand this information independently over time as a need arise for it - and flagging it even.
Did I understand your intentions correctly? If so, it makes more sense to close this PR and create a new one, as they will have little in common :)


RHCLOUD-36941 - Fix tests that have actuals in expected parameter

PR Template:
Describe your changes

Swap tests expected and actual values around

Ticket reference (if applicable)
Fixes # https://issues.redhat.com/browse/RHCLOUD-36941
Checklist

[ ] Are the agreed upon acceptance criteria fulfilled?

[ ] Was the 4-eye-principle applied? (async PR review, pairing, ensembling)

[ ] Do your changes have passing automated tests and sufficient observability?

[ ] Are the work steps you introduced repeatable by others, either through automation or documentation?

[ ] If automation is possible but not done due to other constraints, a ticket to the tech debt sprint is added
[ ] An SOP (Standard Operating Procedure) was created

[ ] The Changes were automatically built, tested, and  - if needed, behind a feature flag - deployed to our production environment. (Please check this when the new deployment is done and you could verify it.)

[ ] Are the agreed upon coding/architectural practices applied?

[ ] Are security needs fullfilled? (e.g. no internal URL)

[ ] Is the corresponding Ticket in the right state? (should be on "review" now, put to done when this change made it to production)

[ ] For changes to the public API / code dependencies: Was the whole team (or a sufficient amount of ppl) able to review?

/lgtm


remove *.md docs from gh build workflow

removes all recently added governance related docs from build as well.

Kicked off a re-run of the integration test action, which is mysteriously failing. Given it's definitely not related to the changes here, we can merge this whenever I think.


Correct link to Contribution page

Not sure why the diff is not showing the correct characters that changed, it's the last link in the sentence from /contributing to /contribute


Provider compat CI: remove testcase with corrupted RSA ciphertext

This testcase does not work anymore after PR #13817 was merged.

https://github.com/t8m/openssl/actions/runs/3679031867/jobs/6222999981 - fix confirmed

Much prefer the alternative.  Closing this.
Reopen in case of disagreement.


Separately track bitarray capacity

Fixes a bug where when resizing from > 64 bits to ≤ 64 bits, BitArray wouldn't realize that it was going to go from interpreting _data as a pointer to interpreting it as bits, and would fail to both free the pointer and copy its contents into _data, resulting in a memory leak, loss of the data in the BitArray, and a desync with the _lowestNeverClearedBitIndex and _clearedSectionCount variables.  In the worst case scenario, such a resize when _lowestNeverClearedBitIndex was 0 would make future calls to setAllBits not set all bits, even though many bits were not set.

Thanks for much for submitting this. And good catch and research!
This issue was causing the crash in #2271.
I've been sitting on an overhaul of BitArray that fixes this issue, and a few other things, including performance, because I didn't want to include a hefty change right before an SDK release, in case it unexpectedly affected other things.
So it's my bad that it's not out there yet. Sorry about that. I'll put that out in the few days.

Superseded by PR #2355.


[feature] siac renter download allow to queue download async

Add a paramater to siac download to allow it to trigger the download to siad and then return without waiting for the file to be downloaded. There already is support to view status with siac renter downloads.

This should be fairly easy to add. In the meantime, you can use siac renter download [file] [path] &.

Recommendation to Devs: "Feature Request"


code:Added code for Q.1588 in Java

Pull Request Template
What have you Changed(must)
Solution added for Q.1588 in Java
Write here what you have changed in the codebase
Issue no.(must) - #1094
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[x] This issue was assigned to me if not it will be marked as spam.
[x] My file is in the proper folder
[x] I am following clean code and Documentation.
[x] I have added the title and what program will do first in the file
[x] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

@SSKale1 @Yashica7 @swaingotnochill  @JOKUE2002 Please feel free to merge this :)

@SSKale1 @Yashica7 @swaingotnochill @JOKUE2002 Please feel free to merge this :)

@ritwickraj78 Please make the necessary changes within a week else this PR will be closed.


Add native module for reading high contrast

Short description
Introduced a native module to use the Android function to read if high contrast is set.
Proposed changes

Added the Native module
Use this Android function
React native rejected the issue to add this function to the native modules here

This is just one solution, we can discuss if this PR is even what we want. Not tested for ios / No handling for ios yet. No tests or cleanup. Will do if we decide, we want to do it this way.

@ztefanie thank you for the proposal. Seems to work as expected. I think we should discuss this in a dedicated meeting (perhaps at the next conference).
Not tested yet. But if it works and there is an iOS/web equivalent I think we could do something like

the system setting decides whether we automatically enable the high contrast mode in the app
there is a toggle in the setting to override that (should be easy to implement and we would not need a design/change the UI anywhere)

On web there seems to be a CSS media query: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast
Notes:

The android setting is only for "high contrast text", not for a high contrast mode in general. So while this is an indication the user would like to use high contrast mode in general, this is not necessarily the case.
Do we now since what Android version this setting exists? ~I did not find any concrete information here, but first mentions on google seem to be from two years ago which would be Android 12 probably. So this only works for a subgroup of users.~ Seems like this exists in an experimental version for a while since Android 5.
It seems like there is an iOS equivalent, right?

What's the status on this? Does anybody remember?

Probably we can close this for now as we still don't have a finished design system. Also I think we thought of this (or high contrast/themes in general) as a topic for @lunars97 final topic, right @ztefanie ?

yes, but it is not decided yet, i also thought about this, but i think if we close it, we may do the work from the start.
ok i will close this and link it in the issue.


fix issue:https://github.com/alibaba/fastjson2/issues/536

What this PR does / why we need it?
fix bug https://github.com/alibaba/fastjson2/issues/537
Summary of your change
Get the ObjectReader based on the element type of the List
Please indicate you've done the following:

[x] Made sure tests are passing and test coverage is added if needed.
[x] Made sure commit message follow the rule of Conventional Commits specification.
[x] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

你需要在本地执行mvn validate通过修复checkstyle问题，同时更新下代码，修复代码冲突的问题

期待你继续参与fastjson

我看到主分支 你已经修复了这个bug。根据value的Class类型寻找ObjectReader ，适用面也比较窄。所以我关闭了这个PR。


[ETFE-2186] - Add CAM-TU05

Changed TU01 classes slightly as the package name did not match the directory

Important: needs to be squashed when merging


Bug: Resource List items with a checkbox (selectable)

Render an item in a list with this code:
           <%= polaris_resource_item(selectable: true) do |resource_item| %>
                  <% resource_item.with_checkbox(
                    name: "reservation[]",
                    value: reservation["id"]
                  ) %>

Examine the DOM. Notice that each checkbox input element rendered has an id of reservation_. The parent span element takes on an ID if one is provided to this component, not the input element child.
I understand this is an example coming from the Lookbook, but it could trip people up. Best we render a unique ID for each input element as some kind of default to ensure any code actually interacting with selected elements works too.

Even stranger and exposing my ignorance perhaps of how this Stimulus works, the rendering of that PVC produces some DOM element that do make some sense:

  <input type="checkbox" name="reservation[]" id="reservation_" value="1493-13" aria-checked="false" class="Polaris-Checkbox__Input">

      <svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" class="Polaris-Icon__Svg" focusable="false" aria-hidden="true"><path fill-rule="evenodd" d="M14.03 7.22a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0l-2.25-2.25a.75.75 0 1 1 1.06-1.06l1.72 1.72 3.97-3.97a.75.75 0 0 1 1.06 0Z"></path></svg>

Now I have a target in my event controller, set to "span", for the resource item, thinking I can get those spans, and then just get the child element, the input and have the value I covet. Ha! You know what I get in the Stimulus targets? The span below the input element. That's right. For each checkbox I get instead:

So I guess the input I am interested in is this elements Previous Sibling.
Honestly. This exercise is frustrating! Seems like while these components render pretty, the reality of using them is far from pretty.  I care not. It is here for all to see.

I changed my target from a span to instead a rando target name, and now I get the wrapping span, and one of the children nodes is the element I am interested in. Wow.  OK. Moving on...

 You can select as many element as you want, and none of them reflect the fact they are selected. I officially think PVC for this purpose is beyond my ability to use, and I will die on that hill till someone shows me the light.

I started trying to fix this. In the Polaris ResourceItem code I added in an event listener on clicks. Yay! The result of a single click on a resource item checkbox registers two events. The first is a who cares. The second is interesting. Again, the ID being bad will bite here.
click { target: span.Polaris-Checkbox__Backdrop, buttons: 0, clientX: 639, clientY: 628, layerX: 12, layerY: 10 }
click { target: input#reservation_.Polaris-Checkbox__Input, buttons: 0, clientX: 639, clientY: 628, layerX: 12, layerY: 10 }

So with that click coming in the door, I can get at the element and hopefully add the "checked" attribute that would make this actually a useful PVC component, a selectable resource item.

Sorry for wasting all your time


chore(webpack): normalize ava config

That's about it.
It may need some sort of rebuild step since occasionally CI is failing with a missing @esbuild/linux-x64 package.

Current dependencies on/for this PR:

main

PR #762   👈

This stack of pull requests is managed by Graphite.


Ruby env regression on macOS 11 & macOS 12 images

Description
We are using MS-hosted VMs on Azure Pipelines.
For two days already we are experiencing issues with UseRubyVersion@0 job.
We want to use 3.0 but it randomly selects 3.1 and trying to access cached gems system still thinks that Ruby 2.7 is selected.
Attempts to select 3.1 can randomly fail.
Since the source code of RubyVersion was changed 2 months ago I treat this issue as an environment regression.
And it's strange that Ruby 3.1 is not listed yet, but forcefully selected (or it just logs) when asking for 3.0, but asking for 3.1 fails 🤷.
Virtual environments affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] macOS 10.15
[X] macOS 11
[X] macOS 12
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
20220410.1
Is it regression?
Yes. We have successful builds
Expected behavior
Ruby 3.0 is selected
Actual behavior
An incorrect Ruby version is selected.
Repro steps

Add UseRubyVersion@0 step.
Set Ruby version  3.0.
Check the current Ruby version.

Hello @nekrich! It seems we do not have access to your organization's builds.

Hi again! I am unable to reproduce the problem with the following yaml snippet:
strategy:
  matrix:
    mac-11:
      imageName: 'macos-11'
    mac-12:
      imageName: 'macos-12'

pool:
  vmImage: $(imageName)

steps:
- task: UseRubyVersion@0
  inputs:
    versionSpec: '3.0'
- bash: ruby --version

In the screenshot you can see macOS-11 results, but 12 has no difference.

Given, that there is no any activity for a week I am going to close the ticket, feel free to reach us out again!


Proposed 0.40.0-b4

Current coverage is 64.73% (diff: 63.63%)

Merging #1854 into develop will increase coverage by 0.30%

@@            develop      #1854   diff @@
==========================================
  Files           704        704
  Lines         50747      50790    +43
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          32693      32878   +185
+ Misses        18054      17912   -142
  Partials          0          0

Powered by Codecov. Last update 8e9f959...d0f6b7d


tree-shaking issue in cps-ir backend

Some tests for the ??= operator are failing because of this. See if_null_assignment_static_test/01 for example.
Here is a reduced example to reproduce the problem:
    class A { get a => print('a'); }
    main() {
      var x = null;
      //new A().a;
      (x ??= new A()).a;
    }
With the commented as it is, this works with the SSA IR, but not with the CPS IR. If we remove the commented line, it works in both.

Obsolete


update documentation link

due to recent change of doc URL

@merla18 Thanks for sending but this is covered by #3631.


Create comparison view for package versions

At the moment we have to manually go check the version of the plugin on PyPI and check the version that we are currently running. There is no good way of keeping track of this.
The solutions is to build a view that displays the PyPI version as well as the version we are currently running, side-by-side and a comparison of the two version if they are not the same.

You'll need a test and then we should be good.

@miltontony ready for review :)

@miltontony ready for review :)

:+1: wonderful! thanks @saeedmb8


feature request:

Did you check existing requests?

[X] I have searched the existing issues

Describe the feature
Add 2 new API functions (names r just an example)
is_preview_open() - returns a boolean
close_preview() - closes the preview (might already exist?)
Provide background
If I have preview on and then open a split (with C-s for example) the preview stays open, so I'd like to write a little function that when I press  it checks if there is a preview, if there is, closes it, and then opens the new split
What is the significance of this feature?
nice to have
Additional details
Would also love to see #339 gets implemented as I'd need it as well for what I intend to do (although there are workarounds for doing it)

Oil uses :help previewwindow for the preview window, so you can do this yourself pretty easily. Here's how oil gets the preview window internally
https://github.com/stevearc/oil.nvim/blob/9e5eb2fcd1dfee2ff30c89273ffff179e42034b9/lua/oil/util.lua#L661-L668
You can use this directly if you want, but there's no API contract so the method may be removed or renamed in the future. You could copy the logic to your own config as well, since it's pretty short and simple.
To close the preview window, just do vim.cmd.pclose()

Ah thanks, I'll just copy over that code snippet and use that.


[Blockstore] Make sure that the GRPC custom logger is alive as long as the GRPC is running

We have to manage the lifetime of the GRPC custom logger to make sure it is alive as long as the GRPC is running.

В тестах флапнул cloud/storage/core/libs/diagnostics/ut/TRequestCountersTest.ShouldReportHistogramAsSingleSensor - но grpc к этому не имеет никакого отношения.


Terminology: Use caps for Service Broker.

the spec should use Service Broker, always.

LGTM

Love this (despite the merge conflicts that it will cause!)
LGTM

LGTM

LGTM


wasmtime: Implement Extended Constant Expressions proposal

This implements https://github.com/webassembly/extended-const for Wasmtime.
Currently the documentation comment for the wasm_extended_const configuration option says it's false by default, but Config::new sets it to true. One of those should be fixed and I'm not sure which. Other config-related things are still to-do as well, such as adding the appropriate CLI flag.
Also, I could use a little help understanding why one of the funcrefs spec tests fails:
Caused by:
    0: failed directive on tests/spec_testsuite/proposals/function-references/elem.wast:539:1
    1: assert_invalid: expected "constant expression required", got "failed to parse WebAssembly module

       Caused by:
           type mismatch: expected funcref, found i32 (at offset 0x1b)"

cc: @fitzgen

For the failure here I think you'll need to set wasm_extended_const(false) in Config when running the tests. Spec proposals aren't always in-sync with one another and it takes quite some time to merge into the official spec, so tests often assert that a specific construct is invalid when another proposal specifically makes it valid, meaning that we have to be careful about enabled features when testing various proposals.

Yeah that failure is just because it is using an i32.add in a constant expression which used to be disallowed but is now allowed with the extended constants proposal.
We can ignore that particular failure by adding a clause here: https://github.com/bytecodealliance/wasmtime/blob/main/crates/wast/src/wast.rs#L544
Would be nice to ideally send a PR upstream to fix the issue (switch the add to some operator that isn't allowed even with the extended constants proposal) or at least make a local copy for the misc_testsuite that does that same thing.

Currently the documentation comment for the wasm_extended_const configuration option says it's false by default, but Config::new sets it to true. One of those should be fixed and I'm not sure which.

I think it is fine to have it enabled by default since it is a phase 4 proposal (basically done) and will have more than 2 weeks fuzzing before it hits a release.

Oh I'll note that wasm-smith doesn't have support for extended consts right now I think, so AFAIK we won't fuzz this at all

Ah yes, we should add that support before enabling this proposal by default.


Provide org submitting instructions after generation

After generating a project that uses the salt-extensions namespace, there should be some instructions on how to submit an extension to the organization. I think it would be best if the working group came up with official instructions.
We could add them here:
https://github.com/salt-extensions/salt-extension-copier/blob/bc04e7682f247985c4a5dd1fa4af8cb24c8fcb66/copier.yml#L303-L346
This was originally reported here: https://github.com/salt-extensions/salt-extension-copier/issues/14

Would also be good to include instructions on submitting the new extension to PyPI too

Yup. In the end, the process depends on whether one is in the org and uses the centralized workflows (a release is just a tag away) or has a different setup (there's currently no scaffolding for releases).
I think it might be time for a more general documentation regarding the process instead of bloating the post-generation message, see https://github.com/salt-extensions/salt-extension-copier/issues/17
Also opened a separate issue about improving the release tooling: https://github.com/salt-extensions/salt-extension-copier/issues/18


⚠ GitLab Server has degraded performance

In bb822a1, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 15714 ms

Resolved: GitLab Server performance has improved in 221f45e.


Vulnerability warning

Scorecard uses https://github.com/ossf/scorecard/blob/f9b9773e2f4632b48b21765413f069504be40714/tools/go.mod#L9 ko.
We have vulnerability warning and that is due to this https://deps.dev/go/github.com%2Fgoogle%2Fko/v0.9.3 specifically github.com/opencontainers/image-spec. Would ko be able to address this vulnerability?
We understand it is a low. But it would be helpful if it can be fixed.
Thanks

The fix is in at heard if you want to avoid the alert.
In addition to being a low priority issue, the vulnerability doesn't affect ko or go-containerregistry in any way, so it can be safely ignored/dismissed.

Thanks, I am going to pull the head.


Remove extra click in python smoke test

This click is not needed since the New Python Installation option is selected by default.

I don't think this specific step was breaking anything, it just timed out while waiting for this element. At first I thought about increasing the timeout but since the step is not necessary anyways, it's better to remove it.
I'll be adding screenshots in a separate PR.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.002%) to 41.357%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
26439

Relevant Lines:
57961

💛  - Coveralls


Improve minification

Implement "better" way of minification.

JPEG2000 seems like the best option. But ImageMagick does not provide the convenient extend option for the format.


Basic authentication not working

I've turned on Uchiwa's "simple" authentication and am trying to access the service using basic auth. My account's entry looks like this:
{
          "username":     "mteterin",
          "accessToken":  "eTcJPrVYslcO**hk7MRmOzc_",
          "password":     "fake",
          "readonly":     false
},

However, when I attempt to access /metrics, for example, using curl:
 # curl http://mteterin:fake@<IP_ADDRESS>:3000/metrics

I get 401-error. The request-headers, according to tcpdump, are:
GET /metrics HTTP/1.1
Authorization: Basic bXRldGVyaW46ZmFrZQ==
User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Host: <IP_ADDRESS>:3000
Accept: */*

Note the Authorization-header in there, which decodes to, precisely, mteterin:fake. Despite the matching credentials, the request is rejected with:
HTTP/1.1 401 Unauthorized
Content-Type: text/plain; charset=utf-8
X-Content-Type-Options: nosniff
Date: Fri, 12 Aug 2016 22:15:59 GMT
Content-Length: 21

Request unauthorized

A web-application requiring authentication ought to support Basic Auth... Please, advise...

hey @UnitedMarsupials,   I'm taking a stab at answering your question from the code.
if i'm reading things correctly  The api endpoints appear to only support token based authentication.   (verifyAccessToken)  Your example is using Basic AUTH.
try using [query param based token auth] (https://github.com/sensu/uchiwa/blob/8aa5dce/uchiwa/authentication/accessToken.go#L36-L38):
# curl  'http://<IP_ADDRESS>:3000/metrics?token=eTcJPrVYslcO**hk7MRmOzc_'

or token based auth in the header:
# curl -H 'Authorization: Token eTcJPrVYslcO**hk7MRmOzc_' 'http://<IP_ADDRESS>:3000/metrics'

I didn't test this, and I got lost in the go code so I could be wrong.  :)   it's possible the token has to be dynamically created by logging in first.    but this is where I got.
hope this helps.

Thanks, @fessyfoo, but that's "not good enough" for my purposes. Even if I figure out the token-format (JWT?), constructing such a thing from shell is too difficult. Searching through Uchiwa's repository, it seems, Baisc Auth handling was deliberately replaced by JWTs at some point.
I think, this was a mistake -- whatever other authentication schemes may be supported, Basic Auth should always be one of the choices.

tested it.  it works with the authToken in your config.json for the user.
    "users": [
      {
        "username" : "admin",
        "password": "secret",
        "accessToken": "vFzX6rFDAn3G9ieuZ4ZhN-XrfdRow4Hd5CXXOUZ5NsTw4h3k3l4jAw__",
        "readonly": false
      }
    ]

fess@otfess-alt-8-1176% curl -v -H 'Authorization: Token vFzX6rFDAn3G9ieuZ4ZhN-XrfdRow4Hd5CXXOUZ5NsTw4h3k3l4jAw__'  http://<IP_ADDRESS>:3000/metrics
*   Trying <IP_ADDRESS>...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 3000 (#0)
> GET /metrics HTTP/1.1
> Host: <IP_ADDRESS>:3000
> User-Agent: curl/7.43.0
> Accept: */*
> Authorization: Token vFzX6rFDAn3G9ieuZ4ZhN-XrfdRow4Hd5CXXOUZ5NsTw4h3k3l4jAw__
>
< HTTP/1.1 200 OK
< Date: Sat, 13 Aug 2016 04:54:31 GMT
< Content-Length: 527
< Content-Type: text/plain; charset=utf-8
<
{"aggregates":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"checks":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"clients":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"datacenters":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"events":{"critical":360,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"stashes":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0}}

fess@otfess-alt-8-1177% curl -v  http://<IP_ADDRESS>:3000/metrics?token=vFzX6rFDAn3G9ieuZ4ZhN-XrfdRow4Hd5CXXOUZ5NsTw4h3k3l4jAw__
*   Trying <IP_ADDRESS>...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 3000 (#0)
> GET /metrics?token=vFzX6rFDAn3G9ieuZ4ZhN-XrfdRow4Hd5CXXOUZ5NsTw4h3k3l4jAw__ HTTP/1.1
> Host: <IP_ADDRESS>:3000
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Sat, 13 Aug 2016 04:55:24 GMT
< Content-Length: 527
< Content-Type: text/plain; charset=utf-8
<
{"aggregates":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"checks":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"clients":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"datacenters":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"events":{"critical":360,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0},"stashes":{"critical":0,"healthy":0,"silenced":0,"total":0,"unknown":0,"warning":0}}

hope that helps.

Now, this is pretty helpful indeed. I wonder, what is the significance of the actual password in this scheme, however -- and why is this better than the actual Basic Auth... But now I can almost, where I want to be.
Except, when an alert is "stashed" in this manner, the stash is then listed as anonymous:
{
 "_id":"som-sensu01/silence/som-sensu01",
 "content":{
  "reason":"",
  "source":"uchiwa",
  "timestamp":1.471097236e+09,
  "username":""
 },
 "dc":"som-sensu01",
 "expire":459,
 "path":"silence/som-sensu01"
}

Somehow Uchiwa does not translate the supplied token into username, when recording the stash-request... Or have I hit a bug and Uchiwa-created stashes always list username as empty?

@UnitedMarsupials Indeed, the username is currently provided within the payload supplied by the frontend but as per https://github.com/sensu/uchiwa/issues/542, it does make sense to use information in the JWT if no username was provided.
The password attribute within a user object represents the password a human would use to authenticate itself through the web interface. It can be ignored if you plan to only use this user through the API with an accessToken.
Basic HTTP authentication was voluntary dropped in order to simplify the codebase but I would gladly accept any clean and simple implementation in conjunction with JWT.
I will go ahead and close this issue since we seem to have specific issues to address the multiple concerns raised here but do not hesitate to let me know if there's anything else.

The password attribute within a user object represents the password a human would use

But it is not any different from the password. Somebody knowing either of the two strings can access the system... Maybe, if the token was automatically regenerating from some cryptographic algorithm -- but it is not.

the username is currently provided within the payload supplied by the frontend but as per #542

In that case, this is a big security problem. Because, being up to no good, I can easily silence an alarm by providing somebody else's name... Both the authenticated username and the IP-address, where the request came from should be stored...
There is no point in placing the username in the payload at all.

Basic HTTP authentication was voluntary dropped

Sorry, but I remain of the opinion, that any web-application using authentication and authorization must support Basic Auth. Other mechanisms can be used in addition.

But it is not any different from the password. Somebody knowing either of the two strings can access the system

This is why I would recommend only setting one of them, depending on whether the user is a human or a computer.

In that case, this is a big security problem

You are right, we should only base ourselves on the information provided in the JWT as long with the IP address.

Sorry, but I remain of the opinion, that any web-application using authentication and authorization must support Basic Auth. Other mechanisms can be used in addition.

I respect your opinion and I will gladly accept any PR with a clean and simple implementation but considered the limited amount of time I can dedicate to this project, I believe the current authentication system, while it may not be perfect, responds to the needs of the vast majority of the users.


mgmt/mcumgr/lib: Fix implicit parasitic use of heap for flash_img_context allocation within image management

Two commits:

adding new Kconfig option to controll whether flash_img_context will be allocated from heap, when heap is available;
release notes.

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/44214

@de-nordic this needs a rebase

@lairdjm can we try to get this in for v3.1? We could use your +1 again since this got rebased

Was a bank holiday weekend at end of last week, approved now


Create CNN classifying "baboons" and "non-baboons"

Try transfer learning on CIFAR-10 dataset?

Closing this for now as we went in a different direction.


Portal 2 Issue

In the Alpha3 build it does not recognize Portal 2 as a supported game. Cannot add it manually or find in auto search function. Works in older version of the project from before rename and .NET 4.5 conversion. When will it be supported again?

Portal 2 isn't supported anymore, I think it's being re-developed again in the future.

Portal 2 has native split screen support now.
On Friday, July 22, 2016, XxRaPiDK3LLERxX<EMAIL_ADDRESS>wrote:

Portal 2 isn't supported anymore, I think it's being re-developed again in
the future.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lucasassislar/nucleuscoop/issues/31#issuecomment-234666572,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFhF95k3xquyPgs-dvL26YfUI7Iq6pIPks5qYTwmgaJpZM4JOTGH
.

The devs are using SmartSteamEmu to re-enable the splitscreen. Plus I don't own the game, by judging from the search results, it doesn't seem like the game has native split screen support.

If you plug in two controllers or a controller and keyboard press x on
player 2 and it starts co op in split screen
On Friday, July 22, 2016, XxRaPiDK3LLERxX<EMAIL_ADDRESS>wrote:

The devs are using SmartSteamEmu to re-enable the splitscreen. Plus I
don't own the game, by judging from the search results, it doesn't seem
like the game has native split screen support.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lucasassislar/nucleuscoop/issues/31#issuecomment-234667687,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFhF92yFatVkjwltSsszWgtJpPqK1WKSks5qYT2CgaJpZM4JOTGH
.

Portal 2 does have some support for split screen, but it is god awful. I like the ease of use in assigning players to specific monitors that is available in this application. I don't want to have to hassle with config files and console commands to enjoy the game. Just saw it was previously supported and decided to see if future support was planned.

Ah... my bad. As I said I don't have the game so I thought there wasn't any local coop since there wasn't anything on google.

Agreed there.
On Friday, July 22, 2016, GiTSeM<EMAIL_ADDRESS>wrote:

Portal 2 does have some support for split screen, but it is god awful. I
like the ease of use in assigning players to specific monitors that is
available in this application. I don't want to have to hassle with config
files and console commands to enjoy the game. Just saw it was previously
supported and decided to see if future support was planned.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lucasassislar/nucleuscoop/issues/31#issuecomment-234668406,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFhF99c7SnMvTjQ4w0UdsbNvyz0QzoLSks5qYT6HgaJpZM4JOTGH
.

I'll see if I can forward this issue to him on steam.


Provide API for project topics

Gitea version: 1.9.0 (actually, any)

Description
As far as I know, topics are currently totally unavailable through Gitea API.
What is needed:

API to get existing topics as part of project info
API to add new topics to project
API to remove existing topics from project

Fixed by #7963


Why the tweet number is 0 ?

Not sure what the tweet number refers to, I believe it looks for all tweets that contain the term landscape.finos.org. If that's the case, we may want to run some activity on twitter to share the link across our members and community.
/CC @toshaellison

Exactly.

Yes @maoo, @toshaellison  decided to  not announce the landscape broadly yet.
We're gonna do a little more tide up this week (e.g. #47 , #43, #40, etc.) and that this # should go up. I've raised https://github.com/finos/finos-landscape/issues/48 to track the announce work and assigned to @toshaellison. You can keep this issue open and we'll check if it works once we make some noise 😉
BTW, thanks @dankohn for all your help so far. Now that we are on the other side of the GB meeting, we should be able to do some more work on this.

No more 0! closing issue.

Great!


New run of cookiecutter template not generating with latest changes from main branch including new kwarg keywords to appconfig.{Application,Environment}

Describe the bug
It looks like the latest version of the cookiecutter template is not pulling in recently merged changes. Having not written a cookiecutter template yet, I do not quite know why this would be the case; I expected cookiecutter gh:ran-isenberg/cookiecutter-serverless-python to get the latest code changes.
To Reproduce
Steps to reproduce the behavior:

run cookiecutter gh:ran-isenberg/cookiecutter-serverless-python, and select "delete and re-download it" upon being prompted (install should complete successfully)
open cdk/service/configuration/configuration_construct.py in your IDE and look at the appconfig.Application and appconfig.Environment lines
note that the changes introduced in #784 to update the initialization of the Application and Environment variables are not present (kwargs in the generated configuration_construct.py file includes name rather than application_name for example)
this will lead to an error upon make deploy: cdk TypeError: "Environment.__init__()" got an "unexpected keyword" argument "name" as well as the equivalent for AppConfig

Expected behavior

running cookiecutter gh:ran-isenberg/cookiecutter-serverless-python should install the latest version of the origin/main branch, and make deploy should have the correct instantiation kwargs for appconfig.Application and appconfig.Environment

Desktop (please complete the following information):
➜  genai cookiecutter --version
Cookiecutter 2.5.0 from /Users/<uname>/.pyenv/versions/3.12.1/lib/python3.12/site-packages (Python 3.12.1 (main, Jan 29 2024, 13:55:08) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)])

OS: Mac OS Ventura 13.6

Additional considerations

I also tried cookiecutter gh:ran-isenberg/cookiecutter-serverless-python --checkout main, and for some reason, that, too had the older, outdated code. I am in the process of investigating why.

Additional question

is there is an expected technique for pulling newly merged changes from the origin repository into a repository generated by cookiecutter? If so, a note of that in the README.md would be helpful for those who have already run the template and wish to pull in those changes. UPDATE - I see that copier is an alternative to cookiecutter that allows post-generation updates

Hey @codekiln , thanks for posting this issue.
Yeah, you are correct, I haven't found the time yet to sync the projects, there's a month worth of commits drift.
This issue is related to this project: https://github.com/ran-isenberg/cookiecutter-serverless-python
I'll sync them as soon as i find some time next month.
However, you can use the green 'template' button to generate the latest template version but it wont do the scaffolding like the cookiecutter.

@codekiln  fixed in https://github.com/ran-isenberg/cookiecutter-serverless-python/pull/23
enjoy!


Clarify length unit for SWIPE_THRESHOLD

Add clarification for unit of SWIPE_THRESHOLD

Yeah, not sure it's needed either. https://github.com/twbs/bootstrap/pull/27636#discussion_r232159245

I think we'll pass for that but thank you @xinbenlv 👍

I see. So the reason I add this pull request was due to previously I didn't know what unit was used for the threshold. As Bootstrap 4 is moving to rem from px, it was not entirely impossible people assume it would be rem in many places. I was wondering, it really doesn't need a unit clarification?

@xinbenlv that's because we use JavaScript properties which return coordinates in pixels.
See: https://www.w3schools.com/jsref/event_clientx.asp


Does it support run on local machine?

I try to train lora on my machine? but it raise error
In [1]: from modelscope import snapshot_download
^[[A2023-08-14 11:23:11,600 - modelscope - INFO - PyTorch version 2.0.0+cu118 Found.
2023-08-14 11:23:11,602 - modelscope - INFO - TensorFlow version 2.13.0 Found.
2023-08-14 11:23:11,602 - modelscope - INFO - Loading ast index from /root/.cache/modelscope/ast_indexer
2023-08-14 11:23:11,631 - modelscope - INFO - Loading done! Current index file version is 1.8.1, with md5 bbb8dd73324c667bf9ab6594815ac903 and a total number of 893 components indexed

In [2]: model_dir = snapshot_download('Cherrytest/rot_bgr', revision='v1.0.0')
2023-08-14 11:23:13,696 - modelscope - ERROR - Authentication token does not exist, failed to access model Cherrytest/rot_bgr which may not exist or may be                 private. Please login first.

we cannot reproduce this error locally...

@yingdachen does the pretrained model support load from the local disk?

@yingdachen does the pretrained model support load from the local disk?

yes.
by default, network connection would be required for checking version update, but that can be bypass as  well -- if necessary.