Don´t register file instead of throwing if it is not hot-reloadable

Hey there! 👋🏻
This PR introduces an update to how hot-hook handles files that aren't hot-reloadable. The goal is to improve the developer experience by ensuring hot-hook behaves more predictably when encountering these files.
The current implementation throws when detecting files that don't support hot-reloading if they are registered as boundaries. My approach changes this by simply skipping the registration of these files as reloadable, so instead of an error, we treat them as standard files that don’t participate in hot-reloading. This should help minimize confusion and interruptions during development.
I’m not entirely sure if my code fully addresses this behavior or how to best create a test for this specific use case. Could you help me with this, @Julien-R44?
One more thought: it might be helpful to log a warning message when hot-hook skips over a non-hot-reloadable file. This way, users understand why a cold-reload occurs after modifying specific files, which could save time and prevent potential confusion.

Thanks!
Following here #11


SAM with polygon output (not brush)

Hi everyone!
I'm using SAM model to automatically annotations in Label Studio. Default all SAM predictions display as brush annotations, but I need polygons.
Is there some ready-made solution or should I implement it myself?

Write custom get_results in SAM model.py, in logs all ok and in export there are all annotations, but it does not show annotations in UI (only in outliners):

My problem was solved by this issue

Code for this kind of labelling (way be bugs, please tag me if you detect something). Remember to change original Labeling Inference code "BrushLabels" -> "PolygonLabels"
import os
import logging

import cv2
import numpy as np

from label_studio_converter import brush
from typing import List, Dict, Optional
from uuid import uuid4
from sam_predictor import SAMPredictor
from label_studio_ml.model import LabelStudioMLBase

SAM_CHOICE = os.environ.get("SAM_CHOICE", "MobileSAM")  # other option is just SAM
PREDICTOR = SAMPredictor(SAM_CHOICE)
logger = logging.getLogger(__name__)

class SamMLBackend(LabelStudioMLBase):
    def predict(
        self, tasks: List[Dict], context: Optional[Dict] = None, **kwargs
    ) -> List[Dict]:
        """Returns the predicted mask for a smart keypoint that has been placed."""

        from_name, to_name, value = self.get_first_tag_occurence(
            "PolygonLabels", "Image"
        )

        if not context or not context.get("result"):
            # if there is no context, no interaction has happened yet
            return []

        image_width = context["result"][0]["original_width"]
        image_height = context["result"][0]["original_height"]

        # collect context information
        point_coords = []
        point_labels = []
        input_box = None
        selected_label = None
        for ctx in context["result"]:
            x = ctx["value"]["x"] * image_width / 100
            y = ctx["value"]["y"] * image_height / 100
            ctx_type = ctx["type"]
            selected_label = ctx["value"][ctx_type][0]
            if ctx_type == "keypointlabels":
                point_labels.append(int(ctx["is_positive"]))
                point_coords.append([int(x), int(y)])
            elif ctx_type == "rectanglelabels":
                box_width = ctx["value"]["width"] * image_width / 100
                box_height = ctx["value"]["height"] * image_height / 100
                input_box = [int(x), int(y), int(box_width + x), int(box_height + y)]

        print(
            f"Point coords are {point_coords}, point labels are {point_labels}, input box is {input_box}"
        )

        img_path = tasks[0]["data"][value]
        predictor_results = PREDICTOR.predict(
            img_path=img_path,
            point_coords=point_coords or None,
            point_labels=point_labels or None,
            input_box=input_box,
        )

        predictions = self.get_results_polygons(
            masks=predictor_results["masks"],
            probs=predictor_results["probs"],
            width=image_width,
            height=image_height,
            from_name=from_name,
            to_name=to_name,
            label=selected_label,
        )

        return predictions

    def get_results_brush(self, masks, probs, width, height, from_name, to_name, label):
        results = []
        for mask, prob in zip(masks, probs):
            # creates a random ID for your label everytime so no chance for errors
            label_id = str(uuid4())[:4]
            # converting the mask from the model to RLE format which is usable in Label Studio
            mask = mask * 255
            rle = brush.mask2rle(mask)

            results.append(
                {
                    "id": label_id,
                    "from_name": from_name,
                    "to_name": to_name,
                    "original_width": width,
                    "original_height": height,
                    "image_rotation": 0,
                    "value": {
                        "format": "rle",
                        "rle": rle,
                        "brushlabels": [label],
                    },
                    "score": prob,
                    "type": "brushlabels",
                    "readonly": False,
                }
            )

        return [{"result": results, "model_version": PREDICTOR.model_name}]

    def get_results_polygons(
        self, masks, probs, width, height, from_name, to_name, label
    ):
        logger.debug("Start processing predictions masks")
        results = []
        for mask, prob in zip(masks, probs):
            mask = (mask * 255).astype("uint8")
            polygons, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
            polygons = [polygon.squeeze() for polygon in polygons]

            label_ids_list = []
            for i, polygon in enumerate(polygons):
                if len(polygon) == 0:
                    continue
                # create random label_id
                label_id = str(uuid4())[:7]

                if not (polygon[0] == polygon[-1]).all():
                    # close the polygon
                    logger.debug(f"Polygon at index {i} was closed by first point")
                    polygon = np.append(polygon, polygon[0][np.newaxis, :], axis=0)

                # convert coords to percents view
                polygon[:, 0] = polygon[:, 0] / width * 100
                polygon[:, 1] = polygon[:, 1] / height * 100

                results.append(
                    {
                        "id": label_id,
                        "from_name": from_name,
                        "to_name": to_name,
                        "original_width": width,
                        "original_height": height,
                        "image_rotation": 0,
                        "value": {
                            "points": polygon.tolist(),
                            "polygonlabels": [label],
                        },
                        "score": prob,
                        "type": "polygonlabels",
                        "readonly": False,
                        "origin": "manual",
                    }
                )
                label_ids_list.append(label_id)

            if len(label_ids_list) > 1:
                label_id_main = label_ids_list[0]
                for label_relation in label_ids_list[1:]:
                    results.append(
                        {
                            "from_id": label_id_main,
                            "to_id": label_relation,
                            "type": "relation",
                            "direction": "right",
                        }
                    )
        logger.debug(
            f"Masks processed. Results contain {len(results)} objects (including relations)"
        )
        return [{"result": results, "model_version": PREDICTOR.model_name}]

i tried using the above code and also changing the labeling interface in the UI to PolygonLabels, but it seems like it's not working. Please let me know if something else is also needed to achieve the same.


Per-robot state for handlers

Sometimes a handler will need to store state or an object with expensive instantiation that persists across multiple instances. The only real recourse right now is to attach it to the handler class object itself. This makes testing awkward and error prone because the state must be manually reset per test rather than being able to rely on garbage collection and just making a new object. While the state may be shared across multiple handler instantiations, it is not shared across multiple robots, so there should be some way to store this "global" state in the robot and retrieve it later.

Implementation is in #149.


Network Layer Message Types X'12': What-Is-Network-Number and X'13': Network-Number-Is

Clause 6.2.4 Network Layer Message Types X'12' and X'13' are seeing adoption. What seeing them should tell a protocol parser to do, is a subject worthy of its own ticket.
X'12': What-Is-Network-Number
X'13': Network-Number-Is

These two message types were invented during a transient period of BACnet history. In 2011, the original 1995 approach to cryptographic obfuscation of on-the-wire traffic which no one implemented, was "discarded" (in terms beyond even the typical BACnet renunciation of past mistakes, which are merely termed: "deprecated"), and a second transient period of BACnet history tried to specify another different cryptographic approach to obfuscation of on-the-wire traffic, which again no one implemented, and which too was then in 2019 "discarded".
But the two message types which had been invented during that transient 2011-2019 period were actually mandated in some devices, so a resigned capitulation to adding them as needless work became the path of least resistance. Every device which implements them is mandated to local broadcast emit one or the other on startup. Typically no one answers, and typically nodes do nothing with the payloads even if they do execute one or both messages. Sometimes an answer is indistinguishable from the mandated initial unilateral broadcast which occurs contemporaneously. They aren't important, as long as they appear in traffic only in this vestigial situation.
But they are either the most information-laden or very-close-to the most information-laden messages which a nefarious outsider could exploit. If they ever appear outside of the mandated initial unilateral broadcast, they are probably notice-worthy.

I will upload for you a .pcap of these later today.

"Nobody's right if everybody's wrong."
quote comes from "For what it's Worth", a popular single released by Buffalo Springfield in January 1967.

Examples_What-Is_and_Network-Number-Is.zip

Network-Number-Is message is indicated by a Message Type of X'13' followed by a 2-octet network number (most significant octet first), followed by a 1-octet flag, where a value of 1 indicates that the network number was "configured", and a value of 0 "learned" indicates that the network number was learned by receipt of a previous Network-Number-Is message.
It shall be transmitted with a local broadcast address. It shall never be routed. Devices shall ignore Network-Number-Is messages that contain SNET/SADR or DNET/DADR information in the NPCI or that are sent with any unicast address. Protocol decoders are advised to highlight if these encodings are observed.

What-Is-Network-Number message is indicated by a Message Type of X’12'. This message may be transmitted with a local broadcast or a local unicast address. This message shall never be routed. Devices shall ignore What-Is-Network-Number messages that contain SNET/SADR or DNET/DADR information in the NPCI. Protocol decoders are advised to highlight if these encodings are observed.


breaking: use negative version of (-) syscall Errno to replace customized errcodes

We want to introduce a breaking change before hitting stable (v1) to use the negative version of syscall Errno to replace the custom errcode defined below:
https://github.com/gaukas/water/blob/d382a44fed241087a6a3f8d4e87dc89d5bcf8443/internal/wasm/errors.go#L9-L20
Using the negative Errno saves potentially non-trivial translation between syscall and API, and is more intuitive to those who have background in dealing with syscall.

@erikziyunchi, @jmwample any thoughts on this? Basically, we will build a translation system to flip the sign of an errno returned by WATER API (imported function) and map it to a syscall.Errno, or revert this process when WATM/host gets an error that needs to be passed to the other. This should go into an internal package of wasip1, and I suppose on water-rs we can easily achieve something similar.
The change need not to be very wide given we did not build too many WATMs in v0 under the influence of the old error code system.

I guess I am not sure I understand why it is necessary to use the negative values. Is the problem that we have unique error codes that we do not want to collide with regular Errno vaules or that we need to do some custom translation of error codes or something else? Handling the negatation seems trivial, and at the end of the day I expect this will be an internal value anyways (i.e. the value is sent from the water host lib to the water watm lib or vice-versa), but is it necessary?
I guess a second relevant question is how is this presented when given back through the public API as an error? i.e if a func returns a WASMError that would provide an Errno error code do we need extra methods that support the value (like sycall Errno type) or are we wrapping the syscall Errno type in some way?

why it is necessary to use the negative values

Because we are bound to return 1 value not multiple (we are not enabling experimental multivalue proposal). Currently some API functions return a fd (positive) or an error (negative).

how is this presented when given back through the public API as an error

If you meant WATER Runtime Library API by public API, while it is not necessarily relevant to this issue, but the most convenient way is to just return the corresonding syscall.Errno (implementing Error interface) on the host. All available syscall.Errno on wasip1 lives on all other major platforms (unix, windows, etc).

we have unique error codes that we do not want to collide with regular Errno vaules or that we need to do some custom translation of error codes or something else

Instead, we want to eliminate the uniqueness of error codes we are using between WATMs and Host, so the error handling could be more intuitive.

As an example here:
https://github.com/gaukas/watm/blob/gaukas/syscall-errno/wasip1/errno.go (private repo as of 01/14/2024)

Something like this: https://github.com/gaukas/water/commit/2a20d21ada607994e45738f7fcc4a5d1009f232e


Test cases for Bob do not match exercise description.

The Bob Excercise specifies that Bob responses to a yelled question (i.e., a question ASKED IN ALL CAPS) with Calm down, I know what I'm doing!, but the Swift test for this expects Whoa, chill out!. Based on https://github.com/exercism/problem-specifications/blob/main/exercises/bob/description.md, I think the tests are wrong, but I'm not entirely positive I'm interpreting the exercise correctly.
Is the test wrong or did I misinterpret the exercise?

#507 is also an attempt to address this.


Release v1.0.0 to cargo

Cargo only serves versions up to v0.23.1:

https://crates.io/crates/lsd/versions

Expected behavior
Cargo/crates.io has v1.0.0 available.
Actual behavior
cargo install lsd will install an older version, as shown within #883

The current workaround is to run:
$ cargo install --git https://github.com/lsd-rs/lsd --tag v1.0.0
…
$ lsd --version
lsd 1.0.0

cargo install --git https://github.com/lsd-rs/lsd --tag v1.0.0
Updating git repository `https://github.com/lsd-rs/lsd`
error: failed to parse manifest at `/root/.cargo/git/checkouts/lsd-9b61351838db256d/9b8ed0e/Cargo.toml`
Caused by:
  invalid type: unit variant, expected string only for key `profile.release.strip`

debian bullseye
cargo 1.46.0

cargo install --git https://github.com/lsd-rs/lsd --tag v1.0.0
Updating git repository `https://github.com/lsd-rs/lsd`
error: failed to parse manifest at `/root/.cargo/git/checkouts/lsd-9b61351838db256d/9b8ed0e/Cargo.toml`
Caused by:
  invalid type: unit variant, expected string only for key `profile.release.strip`

IRC strip was introduced in Rust-1.59 (current Rust is at 1.72).
Rust-1.46 is simply too old.

Why was it no released to crates.io first?

released https://crates.io/crates/lsd/versions
/close


Separate libmetaio and metaio scripts

This PR refactors the recipe to separate libmetaio (the library) and the scripts into two separate outputs.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [77].

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [78].


wasmparser: Wasm validation optimization idea

Hi, I was thinking about how to further optimize the wasmparser Wasm validation performance because at least in wasmi it takes up quite a fraction of the overall time when compiling Wasm blobs.
The wasmparser crate has lots of runtime checks in place to enable or disable most Wasm proposals. Those checks in summary might be costly. (Needs proof.)
The idea is that there usually are common and uncommon profiles of Wasm feature selections.
E.g., many users probably still rely on Wasm MVP or simply enable all (stable) Wasm features.
For those common profiles we could specialize the FuncValidator type by making it generic over a trait:
pub trait WasmProfile {
    fn multi_value(&self) -> bool;
    fn reference_types(&self) -> bool;
    fn floats(&self) -> bool;
    // etc...
}

And now we could have a simple implementation for the generic fallback case, based on the WasmFeatures that simply forwards its fields for the trait methods. This should be as fast or as slow as the current implementation.
But if we pre-analyze one of the common Wasm profiles, e.g. where all features are enabled, we could provide the FuncValidator with a WasmProfile type that forwards constants with which the Rust/LLVM can fully optimize away all or most of those checks.
Is that feasible? Am I missing something important? What do you think about this? Unfortunately I have not yet made perf tests for this so my perfs claims might all be wrong because I underestimate the power of the branch predictor.
For example:
impl WasmProfile for DefaultWasmProfile {
    #[inline(always)] fn multi_value(&self) -> bool { true }
    #[inline(always)] fn reference_types(&self) -> bool { true }
    #[inline(always)] fn floats(&self) -> bool { true }
    // etc...
}

#[inline(always)] probably not even needed.

This makes sense to me yeah as possible wins, but I think we'd definitely need data to back it up. This should be relatively easy to test though by basically removing the fields of WasmFeatures and replacing any checks against the fields with true to simulate everything being turned on and inlined.

I just implemented and tested this approach but it led to only very minor  improvements (2-3%) that are probably within the noise range. So, probably not worth to implement this. We can close it.

Oh that validation is done here, which I suspect was disabled when you removed the fields of WasmFeatures?

Oh that validation is done here, which I suspect was disabled when you removed the fields of WasmFeatures?

Dang! No, I probably forgot that since I just used IDE capabilities to replace those fields but the IDE was probably not aware of macro internals.
Furthermore I am not even sure if the current benchmark set will yield any differences. This would only affect benchmarks, if benchmarks actually use any of those Wasm proposals that can be disabled, right?

Yeah I'm not sure if the current benchmarks would be affected all that much. I won't claim that we have a stellar suite of benchmarks though

Good Wasm benchmarks are kinda hard to come by ... :S We have similar problems for wasmi.


Large Noises near Center in Speed distribution

Dear All,
I find a severe problem using PyAbel, is that after inverse Abel transform, the speed distribution has very large noises near center. While when I use BASEX (another software to do Abel inversion using basex method), no noises appear near center (Please see the attachment for comparison of O2 imaging and Au- anion imaging as examples).
I suspect this as a bug of PyAbel, but I don't know how to solve it. Does anyone else has the same issue? And how to solve it?  Thanks.
Best,
Yuan

Hi Yuan, thanks for testing the code.
Add the parameter Jacobian=True to the angular_integration() function. It should then perform the correct angular integration.

Hi Steve,
Thanks, after add that, it indeed works. But my question is shouldn't we always add Jacobian=True when do Abel inversion? Because we should always include r*sin(theta) term when doing the integral. Why PyAbel set its default to Jacobian=False?

Thanks for pointing this out @PhantomYuan!
I agree that we could consider making the default Jacobian=True. Previously, we were viewing angular_integration as a more general purpose tool, and thought that adding the Jacobian by default would lead to confusing. However, since angular_integration exists within the context of 3D objects, I now think that it makes the most sense to set the default to True.
Additionally, I think that the docstring should be more explicit that setting Jacobian=True applies the appropriate Jacobian for a 3D object (spherical integration). I could imaging somebody getting confused if they thought that they were just integrating the 2D image.

Agreed.

@PhantomYuan, would you like to change the default in tools/vmi.py and make a PR?
I would also ask that you include a sentence in the docstring (probably before the parameters section) that reads something like "Note: the use of Jacobian=True applies the correct Jacobian for the integration of a 3D object in spherical coordinates."

Sure!
On Mon, Apr 18, 2016 at 11:18 PM, Danhickstein<EMAIL_ADDRESS>wrote:

@PhantomYuan https://github.com/PhantomYuan, would you like to change
the default in tools/vmi.py and make a PR?
I would also ask that you include a sentence in the docstring (probably
before the parameters section) that reads something like "Note: the use of
Jacobian=True applies the correct Jacobian for the integration of a 3D
object in spherical coordinates."
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/PyAbel/PyAbel/issues/168#issuecomment-211708463

I think that this is addressed with PR https://github.com/PyAbel/PyAbel/pull/172, so I'll close this issue. Thanks again for your help!


Allow getting length from a custom HTTP header

There are some cases (usually involving compression) in which you have
to specify the content length as a custom HTTP header in order to not
confuse web browsers.
This PR includes a new option lengthHeader that allows customising the
HTTP header where content length is read from.
Example:
progress(request({ ... }), {
  lengthHeader: 'x-transfer-length'
});

Seems ok to me, but before merging can you edit the README so that users know that they have this option? Thanks.

I will add it myself because I got some time, thanks!


add unknown

Note that without negative testing, there isn't any meaningful way to test this.. Need to come up with a more complete testing solution soon.


Various fixes to troubleshooting guide

Updated troubleshooting guide to follow newer way of interacting with Compliant Kubernetes.
Since ck8s-apps does not support multiple workload clusters this was simply removed and simplified.

No @cristiklein looks good to me. Just to clarify some things. Me and Anders moved the for construct to something like this
CLUSTER=[sc | wc]
./bin/ck8s ops kubectl $CLUSTER get nodes

Is this fine, or do you want it to be more clear with a line for each cluster?
Regarding multi-WC support. Should this be documented in the public docs somewhere? How to setup and so on? If so, where exactly? I don't think that fits in the troubleshooting docs.
Also your last line, what do you mean exactly? Just add a note somewhere that you can use kubectl and helm directly if you want?


Merge pull request #1 from runelite/master

client update

This is not doing what you think it is

Yes, sorry, I'm newbie. Just trying to update my version of RL with main project, sorry for inconvienence


[feat]: dummy data User Feedback

https://github.com/c4coderandcreator/Flavour-Fusion/assets/65086865/7dcc1c32-4907-4526-a1e0-85addb2928a7

Thank you for your contribution @Petsamuel  !! If you liked contributing to this project, leave a star to the repo for us !! 🫂


Cannot resolve Maven artifact

HI,
I followed the instructions on the first page to run your project and test my environment, and I got this stack trace:
com.example.activity.DeckardActivityTest > testSomething FAILED
org.apache.tools.ant.BuildException
Caused by: org.apache.maven.artifact.resolver.ArtifactResolutionException
Caused by: org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException
Caused by: org.apache.maven.project.ProjectBuildingException
Caused by: org.apache.maven.project.ProjectBuildingException
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException
Caused by: org.apache.maven.wagon.ResourceDoesNotExistException
Am I doing something wrong ?
Thanks

@backpapp Are you still seeing this issue?

Hi,
Still the same issue.

@backpapp Are you using deckard with Android Studio?

Yes, Android Studio 1.0.2 . According to another stack trace that I can t find anymore, this problem was related to oss-parent-7.pom

@backpapp  Are you on a mac?
I had this problem and resolved using:
testCompile "org.apache.maven:maven-ant-tasks:2.1.3" // fixes issue on linux/mac

@seadowg  @mag  We can close this.


blog of user doesn't always return value although there are value

comment below

example of user (https://twitter.com/DavidJHarrisJr) when I do the below command:
def main():
start = time.time()
users = ['DavidJHarrisJr']
pool = Pool(1)
for user in pool.map(get_user_info,users):
    twitter_user_info.append(user)

print(user)

return value
{'user': 'DavidJHarrisJr', 'fullname': 'David J Harris Jr', 'location': 'Texas, USA', 'blog': 'davidharrisjr.store', 'date_joined': '1:34 PM - 11 Sep 2015', 'id': '3530404094', 'num_tweets': 17998, 'following': 2279, 'followers': 388688, 'likes': 13028, 'lists': 0}

@youssefsaqr what is the issue? It looks like you're getting the data from the user?
What command can I run to reproduce your problem?


Allow users to play cards to the table

Allow users to send selected cards to a group on the table.
This should allow them to click on a group with the proper cards selected. It should validate that the selected cards meet the group criteria, and if they do, move them out of their hand and into the group on the table.

Mostly resolved, but we still need to make it so that the cards won't show up in the player's hand anymore if they refresh.


Use of "withEnvironment" extension function works when playing a spec class, but not an individual leaf

for example with the following spec file:
/* 1 ▷ */ class FTest: DescribeSpec({

/* 2 ▷ */    describe("f") {

/* 3 ▷ */        it("f") {

                     withEnvironment("FooKey", "BarValue") {
                         System.getenv("FooKey") shouldBe "BarValue" // System environment overridden!
                     }

                 }

             }

         })

if I play the line 1 the test passes, however if I play 2 or 3 the test fails with
Unable to make field private final java.util.Map java.util.Collections$UnmodifiableMap.m accessible: module java.base does not "opens java.util" to unnamed module @4f209819
java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Map java.util.Collections$UnmodifiableMap.m accessible: module java.base does not "opens java.util" to unnamed module @4f209819

Kotest 5.5.2 and plugin version 1.3.68-IC-2023.1. I do have the following lines in build.gradle.kts
tasks.withType<Test>().configureEach {
    jvmArgs("--add-opens=java.base/java.util=ALL-UNNAMED")
}

@zakhenry the Gradle configuration will only take effect when tests are invoked using Gradle.
When running an individual test, Kotest IntelliJ plugin will not invoke the test with Gradle, so the --add-opens is not applied.

Have you thought about using the kotest.properties setting ?
On Fri, 21 Apr 2023 at 17:23, Emil Kantis @.***> wrote:

@zakhenry https://github.com/zakhenry the Gradle configuration will
only take effect when tests are invoked using Gradle.
When running an individual test, Kotest IntelliJ plugin will not invoke
the test with Gradle, so the --add-opens is not applied.
—
Reply to this email directly, view it on GitHub
https://github.com/kotest/kotest-intellij-plugin/issues/250#issuecomment-1518388871,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFVSGWSTLVWXWC7K55IXJTXCMCHPANCNFSM6AAAAAAXALPV64
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Ah yes this is a good solution thanks, doc ref for future reference: https://kotest.io/docs/intellij/intellij-properties.html

'withEnvironment' still doesn't work in kotest 5.5.5

Could someone add an example what we need to put into kotest.properties to get withEnvironment {} working?


Add support for a new ids

This PR adds new account title, level and avatar frames that appear in recent games.
Here is the list of games where each ID appears:

220421-003cd367-72a0-4a81-ad17-ff11f41fc05b ... 600035: 千磨百錬
220421-0e5c4c5c-3b63-475b-928d-d5730c5d796f ... 305529: 秋霜の剣
220421-08dcdc54-9596-4f0a-808c-4bd42dc62339 ... 10705
220421-36598629-1eaa-4907-9d65-a00518ecbd16 ... 10706
220421-486333a6-8d26-49dc-9eb0-0409b29787b4 ... 305533: (詳細不明)
220421-5ca6a175-d750-4098-8692-64c8057fa73e ... 305534: (詳細不明)
220421-c6df5914-f381-4796-92e5-4154705acd4b ... 305531: (詳細不明)
220421-a134e578-8f3b-4404-ab06-f526aea447da ... 20705

Thank you for the PR. This repository, as for the operation policy, first merge a PR into the develop branch, wait at least a day, and then merge it into the master branch. Therefore, the merge target of this PR is changed to the develop branch.

LGTM.

Sorry. I mistakenly closed this PR without merging.

The commits in this PR will be merged into the master branch within one to a few days.

Thank you!

These commits has been merged into master branch.


Make fresh data available regularly

Background: Currently we retrieve the article data manually and save it to local file (e.g. data-search.js). On build (e.g. npm run build or npm run watch), the data file is directly imported as a JS module and the associated data is bundled with the App.
Problem: The data is currently fixed. The intention is for the App to show updated article information (e.g. daily). To accomplish this, it will be necessary to make bundling and serving the App (i.e. on Cloudflare) separate from the article data it uses.
Goal: Make the App retrieve the article data file from an external source.

Q: What are the applicable constraints, e.g. compatibility or performance?
A: The source of the data should enable browsers to access the information. For instance, a binary file associated with a GitHub release does not provide for Cross-Origin Resource Sharing (CORS). A temporary solution is to point the app at a file in the remote (e.g.   https://raw.githubusercontent.com/PathwayCommons/hyper-recent/main/example-data/data.json) and find a suitable data store (see below).

References

Data repository to check: https://www.cloudflare.com/en-ca/products/workers-kv/

(3) Make the file processing generation part of the Cloudflare pages build script

Github actions could kick off a build via a deploy hook
CF pages has a 20 minute build limit time -- probably enough
Pros: even simpler than (1)
Cons: handling history of files requires an extra step or you need to build N days of data each time if the dashboard goes N days back

I did a couple of runs of data-search.js locally and it's about 2.5 minutes (0.23 MB file for 1 popular topic "alzheimers" over 1 month).  Maybe we can give the (3) CF-build a try.

Probably good enough for now.
For future:  Remotes builds are usually slower than local.  I wouldn't be surprised if alzheimers/1mo took ~10 min.

PR #42 build took 3m 48s to complete (1 topic)


Update expressroute-howto-linkvnet-arm.md

Added text for expected delay as per email from AVGUPT and RITEWARI stating the following:
AVGUPT:
"Typical SLA for onboarding new customers is about two weeks, unfortunately it cannot be done on a 14h notice."
RITEWARI:
"ER FastPath enablement is currently opt-in with 2-week SLA"
As this is a pain point for a customer that was expecting to have this already enabled on PL when they enabled it on Circuit, we need public clarification to avoid customers falling into same confusion.

@duongau
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

Due to the upcoming conference, all merging and publishing are on hold until the morning of 5/23.
This PR is ready for merge on 5/23.
#label: "event-triaged-to-10AM"
#label: "missed-content-complete"


Can't install traefik 2 charts into a namespace

None of the resources seem to be namespaced so I always have to install Traefik into the default namespace

Can't you set the namespace when installing through helm?
helm install --namespace traefik-system --create-namespace traefik/traefik traefik

As I think this is a question, I gonna close the issue. :)


add a clarifying comment to [pypi] getLicenses

quick bit of follow up from https://github.com/badges/shields/pull/8690#discussion_r1048782469

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS against 1d10991a94a6312b489ed50f794299129c12083a


Edit account name

Summary (Please recap what you changed or fixed)
Add button to edit account name
Checklist (If you won't pass this checklist please comment why)

[ ] I removed all commented or unnecessary code.
[ ] Provide the screenshots due to UI changed or bug fixed
[ ] My code has covered these test cases (please list down your tested cases):

hi @djhahe , please create the related ticket for this PR.


Mounted folder is empty when Cloned from Repo (works when opened from local files)

VSCode Version: 1.68.0
Local OS Version: Windows 10.0.19044
Local chip architecture: arm64
Reproduces in:  Remote - Containers (codespaces untested)
Name of Dev Container Definition with Issue: mongodb

I need to run a bash script in a container to initialize a mongo replica set. To do this I need to mount my .devcontainer folder to a mongodb setup container so it can run it. This works if I checkout the repo locally and then run "Rebuild and reopen in Container"
Here is a demo repository that the issue occurs for me:
https://github.com/jrj2211/vscode-remote-try-node-mongo-compose

When using VS Code to "Clone the repo into a container volume", this however does not work and the folder is empty.

I was expecting these would work the same, regardless if its a local source or pulled from git in a docker volume.
I imagine the first thing that happens is dev containers clone the git directory into a volume so I'm unsure why its not available in this way.  In the "app" service once booted into the terminal, the files all exist in the /workspaces/vscode-remote-try-node-mongo-compose directory.
I've also tried move this script into various directories. Even if you mount ..:/workspace, id expect to see the test-project and .devcontainer folders in there but it too is empty. Mounting just the script itself also does not work.
I've been unable to find a workaround for this.
The documentation on his page makes it seem like this should be doable:
https://code.visualstudio.com/remote/advancedcontainers/add-local-file-mount

I found a workaround for this:
https://github.com/h4l/dev-container-docker-compose-volume-or-bind
That makes it so it works either locally or cloned in a volume.
I'm still unsure why the notation .:/workspace doesn't work however. Will this ever be supported or will passing environment variables to docker-compose via another bash script always be needed?

cc @chrmarti for any thoughts.

I'm struggling with this as well, and using the workaround posted by @jrj2211 , but it makes it difficult to setup the dev container in the first place, since if you start from the "Node.js and Mongo" predefined setup when you checkout a new repo (no devcontainer config yet), it will create a mount to /workspace that does not work, and even if you add the workaround, the mount will not be removed. The only way to startup a new project is:

start new git repo with readme
checkout git repo in volume (in vs code)
go through the wizard to generate the devcontainer files
when opening the dev container, it fails on a failed mount bind
select the option to edit the config in recovery container
apply the workaround from @jrj2211 to the config files
restart in dev container
this fails again
manually delete the "old" dev container for the app portion from docker
reboot in dev container
the environment boots up and I'm connected
I push the devcontainer files to the git repo

Only after 10 do I have a working environment from which I can then push the config files to the git repo. This is a long process, and it's not easy to always put back together the different pieces when starting up a new project. The process should actually only consist of steps 1, 2, 3, 11, 12, which is the flow when using a simple Dockerfile based devcontainer, like when using the predefined Typescript image.

https://github.com/microsoft/vscode-remote-release/issues/5388#issuecomment-1259437096 describes a setup where you align the bind mount with the volume mount that replaces it when cloning the repo to a volume. Does that work for you?


subsys: fs/nvs: fix write block size issues

This patch series is an alternative to #7600 to fix write block size issues. It ensures that all writes to the flash are done in multiple of the write block size, even if the data to write is smaller, by adding some padding. It also make sure that the flash read and write match the destination or source buffer to avoid stack corruption or data leakage.
This fixes issue #7671 for me, running on a nucleo_l432kc board (8-byte write block, smaller writes not possible).
@Laczen, note that it only fixes the write block size issues, I guess there are more things to extract from your patch, at least the tests and associated documentation.
@MaureenHelm, could you please try it out on your frdm_k64 platform? Thanks.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #7674   +/-   ##
=======================================
  Coverage   55.01%   55.01%
=======================================
  Files         483      483
  Lines       53950    53950
  Branches    10495    10495
=======================================
  Hits        29680    29680
  Misses      19984    19984
  Partials     4286     4286

Continue to review full report at Codecov.

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

@aurel32, Thanks for the PR, this is better than my approach.

I think the bus fault seen by @MaureenHelm on the frdm_k64f platform is due to the wrong assumption that the flash is mapped at address 0. This trick is used in the NVS code to compute the CRC16 when reading or writing data. Note that it is even more wrong with an SPI flash.
I have pushed an additional patch to fix that.

@aurel32, agreed the calculation of the crc16 directly on flash would better be avoided especially for spi flash. It is not really needed to include the pads in the crc16 calculation. The closing could also be done by reading from flash, calculating CRC, writing seal - then there is no need to pass the data.

@Laczen, I have done the computation on the RAM copy of the data, as I believed it might be faster than reloading the data from the flash. That said given the usual flash memory write time, the difference is probably not be noticeable. That would allow to use the same CRC computation code for both read and write.
I can implement that, but it would be nice to have the opinion of someone else on that aspect first.

@aurel32, I would do it on the flash data. The main function of the slt is to close the write. In theory this could be done much later than the write of the data. The idea of the CRC is also not so much to say that the data is correct but more that the slot is written correct.

This was the first test I have written and it seems I need to understand the use of the yamls better.

Have a look at doc/subsystems/test/sanitycheck.rst.

a. I think the pads need to be reinserted in the structures: this would allow future changes to use the pads without breaking the data already in flash.

Do you mean dropping the patch subsys: fs/nvs: remove explicit padding from structures? I agree that having a way to extend the format might be a good idea. The alternative is to add a version field to the _nvs_sector_hdr, so that the format can be extended later.

b. The data_slt CRC needs to be calculated on the flash. This of course limits the meaning of the CRC: it only means the slot was closed properly.

Ok. I have changed the commit to compute the CRC from the flash in both cases, adding a new nvs_compute_crc() function for that.

A later extension could be to add an extra CRC to the data_slt to include the CRC on the data, than data correctness can easily be checked by comparing the two CRC's.

I agree that it could be a later extension. Now, I am not sure it's the best to write the two CRC to the flash, as soon as the error is detected (i.e. before closing the slot), the error can be returned to the application.
Two additional notes:

I noticed that nvs_write also assume that the flash is mapped at address 0 when CONFIG_NVS_PROTECT_FLASH=y. I'll try to work on a fix later, no time today.
I added a patch to fix _nvs_sector_is_used. Without it the flash is not always properly initialized.

Hi @aurel32, your remarks and code corrections (thanks again for this) have made me think about the basics of NVS again. I am thinking doing the following changes:

I am new to the zephyr development, but isn't that a bit late in the release cycle to change the filesystem format? That said it won't be too later after the release.

a. Remove the data_slt

Do you mean data_hdr will contain all the metadata? How do you plan to write things in that case? first writing the data leaving space for the header, which is always written after the data?

b. Extend the data_hdr to include a CRC and a reverse or previous len (plen) to allow stepping back in NVS. At the moment there is no check that the data_hdr is correctly written and this is not good. Adding a plen would improve the reading performance and garbage collection.

It's always good to have a CRC, so if it's not anymore in data_slt, it should indeed be in data_hdr. Adding a previous len entry looks indeed an excellent idea to optimize the algorithms. It might even simplify a lot of code as most of the time we want to read the most recent version of a value (or the nth more recent).

c. Extend the data with a CRC, calculated and written together with the data.

I don't really get what you mean by "extend the data" with a CRC?

What is your opinion about this ? I am doubting about adding a version field to the sector_hdr as this would mean for each read the current sector header would need to be read to decide on how to handle the data. Garbage collection would then also need to do the conversion, ...

ok, fair enough

@aurel32, I was proposing to many changes at once. Let me rephrase the first step:
Instead of doing the CRC check in the data_slt, the CRC check is moved to every flash write/read. All data that is written to flash has a CRC, including sector_hdr, data_hdr and data. As everything in flash has a CRC the data_slt becomes obsolete.
The next step, adding a previous len should not be done at the same time, I will keep that for later.

Hi @aurel32, @Laczen I have a few comments.
As I understand, an entry's slot (its presence) gives us the guarantee that no power loss has occurred during the write operation. This guarantee is given just by the slot being found in the flash: CRC are not necessary for this.
The CRC can be used by NVS to determine other kind of errors:

data in flash being overwritten

And additionally:

application buffer being modified while being written to flash
hardware failure

The last two I put separately because, from what I understand, NVS computes the CRC from a RAM copy of the data in flash (we read the flash contents into RAM). Wouldn't it be better to compute the CRC on the application buffer instead (am I missing something obvious)? Not only it would be faster, but it would also enable NVS to detect the case when said buffer was modified while being written or when the hardware failed to write altogether (optionally). The CRC could be kept in one of the parameters to nvs_append() or calculated in its entirety when using nvs_write().
I would suggest that if only one CRC is used (as we have now), then it should be calculated over the header as well (id-len), since the header might be corrupted as well (hardware failure or overwritten).
Also, for an application using NVS, it should be trivial to bundle a CRC, checksum or hash together with the data and ckeck for errors when reading, if necessary. In that case, NVS could be relieved of detecting data errors on the data itself, which could be costly and not desirable or redundant in some circumstances.

Instead of doing the CRC check in the data_slt, the CRC check is moved to every flash write/read. All data that is written to flash has a CRC, including sector_hdr, data_hdr and data. As everything in flash has a CRC the data_slt becomes obsolete.

What do you mean for every write? You consider the data part as a whole with a single CRC, or regular CRC among the data every X bytes of flash.
Just adding a single CRC at the end just look like a the current slot to me.

The last two I put separately because, from what I understand, NVS computes the CRC from a RAM copy of the dataThe last two I put separately because, from what I understand, NVS computes the CRC from a RAM copy of the data in flash (we read the flash contents into RAM). Wouldn't it be better to compute the CRC on the application buffer instead (am I missing something obvious)? Not only it would be faster, but it would also enable NVS to detect the case when said buffer was modified while being written or when the hardware failed to write altogether (optionally). The CRC could be kept in one of the parameters to nvs_append() or calculated in its entirety when using nvs_write(). in flash (we read the flash contents into RAM). Wouldn't it be better to compute the CRC on the application buffer instead (am I missing something obvious)? Not only it would be faster, but it would also enable NVS to detect the case when said buffer was modified while being written or when the hardware failed to write altogether (optionally). The CRC could be kept in one of the parameters to nvs_append() or calculated in its entirety when using nvs_write().

That's what I have done in one of the earlier version of the patchset, but we agreed that so far we should leave the behavior unchanged. This causes some complexity as the CRC should include the padding, which is not available in the RAM copy.

A combined CRC on entry slot (data_hdr) and data is therefore not a good idea. I am at the moment working on a version (on top of the changes by aurel32) where all items written to flash have there own CRC (only a 8 bit CRC to reduce redundancy and load), and all CRC's are calculated on RAM data.

I think care should be taken in not multiplying the number of small entries in the flash. The tendency is to get bigger and bigger write block size. 8 bytes is not an uncommon value, so writing an 1-byte entry can take up to 8-bytes in the flash.
In that regard, I wonder if a single header containing the following entries to be enough:

ID
len
CRC of the header
CRC of the data (therefore computed from RAM)

We need the CRC of the header separated from the CRC of the data to have to way to verify if the header is valid. It might not be valid in case of a power failure. The CRC of the data also allows to check for the validity of the data, and detect a power failure. Ideally the CRC should be computed from RAM and from flash just after the data have been written to make sure the header and data have been correctly written. The failure can be returned to the application layer which can handle the failure.

Hi @Laczen , sorry perhaps I wasn't clear enough. I was referring to the _nvs_data_slt data type.
My assertion is that if an entry has a _nvs_data_slt written in flash, because _nvs_data_slt is written last (it seals the entry) then the entry has been written in its entirety i.e. there was no power loss. This can be determined without a CRC check.
With the addition of a CRC we become able to determine if anything has been overwritten in flash, and depending on which buffer we compute the CRC from (RAM or flash) we are also able to

detect  hardware errors and
detect that the entry data (in the RAM buffer) has changed while being written to flash

These two classes of errors are write-time errors, as opposed to the classic CRC read-time error.
I understand that computing the CRC over the RAM copy can be problematic now, that's perfectly fair.
I hadn't thought about the padding issues :) My point wasn't much for the sake of speed though, but for the additional error dection capabilities that it makes possible.
In any case, I am convinced now that keeping two CRC, one for _nvs_data_hdr and one for the entry data gives us the benefit of being able to detect when a _nvs_data_hdr is corrupted separately from the entry's data being corrupted. This is a good thing, since if a _nvs_data_hdr then we have a critical failure, as opposed to just corrupt data of one entry.
Are there any thoughts as to how to recover from a corrupt _nvs_data_hdr scenario?

@aurel32, @nvlsianpu, I have made some changes on top of this PR. I have pushed in to my github repo (https://github.com/Laczen/zephyr) as branch nvs_pr7674. I have tried to create small code increments and commented all of these in the hope that they would show up the same way as @aurel32 makes changes, of course this did not work. I have no idea how to integrate my changes to the PR.
The main changes are:

CRC's are added when writing to flash, checked when reading, they are no longer part of any structure.
All items stored have CRC's.
The data_slt structure is removed.

I have tested this for fs->write_block_size=1, 4 and 8.
@aurel32, could you please test on your system. @nvlsianpu, whats the best way to create a PR on the zephyr tree , so that it can be reviewed ?

Hi @Laczen, thanks for your improvements on it. To answer quickly your questions about git and PR, in general it's better to do small commits that you can reorganize and merge before sending a PR. Also it's possible to send patches written by someone else in a PR.
To come back about your patchset, as it changes things that I have introduced in my patchset I have just looked at it as a big diff between master and your nvs_pr7674. That's probably how things should be submitted at this point, a single commit.
The way you bundled the CRC within the padding if possible is very nicely done. The only drawback I see is that you can't read the flash if you don't know the write block size, but I think it's not really an issue for the kind of applications targetted by this filesystem. I am a bit concerned by the reduction of the CRC from 16 to 8 bits. Given the slot is not there anymore, the way to ensure that the data has been correctly written after a power failure is to check the CRC of the last entry, just like the garbage collector is started again in that case. I don't say it has to be done now, I am not sure if it has to be done in NVS and then fixed or reported to the application, or simply done fully at the application level. What is sure is that we want to have this option. In that regard, I wonder if a CRC8 is not a bit weak. In case the data is not fully written and that the CRC8 byte is still 0xff, it 1 chance over 256 to be correct with the wrong data, which is almost 0.4% and thus not that low. Also note that for a write block size of 2 bytes, and considering all written data is even, using a CRC16 instead of a CRC8 doesn't use more flash space.
I have done some tests on my board, all seems to work fine here. I have just noticed that the garbage collector restart on initialization doesn't work correctly (I reset my board during a garbage collection), it ended up in an endless loop. I don't think it has been introduced by your patch, and can be probably fixed later.
A few other comments reviewing the code:

You removed the "Initializing non empty sector" check. I think it's worth keeping it, that's how I found the bug in _nvs_sector_is_used.
I guess the _nvs_flash_cmp function should also check that the CRC is correct. Otherwise with CONFIG_NVS_PROTECT_FLASH, if the CRC ends up being wrong, it's not possible to rewrite the same data. That's something that can be improved later.
nvs_get_first_entry, nvs_get_last_entry and nvs_walk_entry are relatively similar, I wonder if it would be possible to implement  nvs_get_first_entry and nvs_get_last_entry by calling nvs_walk_entry. Again that's something that can be improved later.

So in short besides the size of the CRC, it looks all good to me. The remaining things can be improved later.

Hi @aurel32, thanks for the comments and the testing.
I am still thinking of changing how the data is written to flash, also to
take into account your issue #3 (used space for small items): each item
would be stored as a aligned object: id, length, data followed by the
length again in a multiple of the write_block_size. To further reduce
storage the length would only be of size u8 if it is smaller than 127 bytes
(like in fcb). This would allow up to 4 bytes to be stored in a system with
write_block_size=8. The length is twice written to allow stepping back in
the filesystem and at the same time provides a check if the write was
complete. The CRC would be dropped, but when writing to flash a read back
is performed to verify the write was done properly. If CRC protection of
data against change is required this should be done by the application.
To improve the robustness against powerfail and or flash errors the
filesystem would be locked against writes when there is an error that can
not be corrected (e.g. error when reading back from flash, restarting gc on
init fails, filesystem is full). In this case the application can still
read the existing data, perform a nvs_erase and start working again.
The NVS code should be made leaner, less (redundant) error checking, less
exceptions (e.g. the sector header should become an entry like all other
things in flash), direct reading in flash to step through the filesystem
(either forwards or backwards).
I will make a separate issue on github so that it can be followed.
2018-05-25 13:12 GMT+02:00 aurel32<EMAIL_ADDRESS>
Hi @Laczen https://github.com/Laczen, thanks for your improvements on
it. To answer quickly your questions about git and PR, in general it's
better to do small commits that you can reorganize and merge before sending
a PR. Also it's possible to send patches written by someone else in a PR.
To come back about your patchset, as it changes things that I have
introduced in my patchset I have just looked at it as a big diff between
master and your nvs_pr7674. That's probably how things should be submitted
at this point, a single commit.
The way you bundled the CRC within the padding if possible is very nicely
done. The only drawback I see is that you can't read the flash if you don't
know the write block size, but I think it's not really an issue for the
kind of applications targetted by this filesystem. I am a bit concerned by
the reduction of the CRC from 16 to 8 bits. Given the slot is not there
anymore, the way to ensure that the data has been correctly written after a
power failure is to check the CRC of the last entry, just like the garbage
collector is started again in that case. I don't say it has to be done now,
I am not sure if it has to be done in NVS and then fixed or reported to the
application, or simply done fully at the application level. What is sure is
that we want to have this option. In that regard, I wonder if a CRC8 is not
a bit weak. In case the data is not fully written and that the CRC8 byte is
still 0xff, it 1 chance over 256 to be correct with the wrong data, which
is almost 0.4% and thus not that low. Also note that for a write block size
of 2 bytes, and considering all written data is even, using a CRC16 instead
of a CRC8 doesn't use more flash space.
I have done some tests on my board, all seems to work fine here. I have
just noticed that the garbage collector restart on initialization doesn't
work correctly (I reset my board during a garbage collection), it ended up
in an endless loop. I don't think it has been introduced by your patch, and
can be probably fixed later.
A few other comments reviewing the code:

You removed the "Initializing non empty sector" check. I think it's
worth keeping it, that's how I found the bug in _nvs_sector_is_used.
I guess the _nvs_flash_cmp function should also check that the CRC
is correct. Otherwise with CONFIG_NVS_PROTECT_FLASH, if the CRC ends
up being wrong, it's not possible to rewrite the same data. That's
something that can be improved later.
nvs_get_first_entry, nvs_get_last_entry and nvs_walk_entry are
relatively similar, I wonder if it would be possible to implement
nvs_get_first_entry and nvs_get_last_entry by calling nvs_walk_entry.
Again that's something that can be improved later.

So in short besides the size of the CRC, it looks all good to me. The
remaining things can be improved later.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zephyrproject-rtos/zephyr/pull/7674#issuecomment-392020817,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjVvPdMHpH5MNdFC_F4Wpb_g4nl52NKks5t1-cAgaJpZM4UF4rU
.

Hi @Laczen, let me comment that:

I am still thinking of changing how the data is written to flash, also to take into account your issue #3 (used space for small items): each item would be stored as a aligned object: id, length, data followed by the length again in a multiple of the write_block_size.

One of the thing I have imagined to implement later for NVS is to secure erase some data. This can be done as flash memories can be reprogrammed a second time as long as you write 0x00. The idea was to rewrite the entire data with 0x00. This can not work if the metadata and the data are on the same write block.

To further reduce storage the length would only be of size u8 if it is smaller than 127 bytes (like in fcb).

Do you still plan to support longer lengths by writing 2 bytes? 127 bytes might be to small for small applications, and I think NVS should be useful for a lot of applications, if we do not want to see it yet another file system.

The CRC would be dropped, but when writing to flash a read back is performed to verify the write was done properly.

So what is the plan to detect a power failure while the data is being written? Do you plan to use the second length at the end as a verification in nvs_init?

If CRC protection of data against change is required this should be done by the application.

I understand you don't want to force applications to use a CRC, as it clearly takes some space on the flash. Now one of the goal of zephyr is to provide modules that can be used, so that each application does not have to reinvent the wheel. What about a configuration option for that? Either a Kconfig one or an option passed to nvs_init?
Anyway do not hesitate to ask me if you want me to review or test your new implementation.

Hi @aurel32, I have been working on a rewrite of NVS to provide better flash usage on systems with write block size >4. I have just pushed it to my zephyr fork: https://github.com/Laczen/zephyr/tree/nvs_rework.
There are some big changes in how the data is stored on flash, data is stored in length-id-data-length and this complete set is aligned. The length at the end is used as a verification at start (nvs_init).
A CRC is not added to the data. The main reasoning behind this is that NVS does not know what to do if the CRC check fails. The user application knows best what to do in such a case so it is better to leave the adding of the CRC to the user application.
After each write a read is performed to check if the data was written OK. I am not convinced that this is required.
When an error is detected (either during write/verification/initialization) the filesystem goes into a locked state. This should allow the recovery of data before the error.
As you stated the "secure erase" can not be performed when the data is stored as an aligned structure of length-id-data-length but I think this is a minor disadvantage compared to the advantage of less flash usage.
If you have some time could you test it ? I am especially interested in the result of a powerfail during garbage collection to see if the system starts up in a locked state.


Comment about nested tensor vs. ragged tensor

Guys, this is a very general comment and FYI...
To some extent you guys seem to be viewing NestedTensor as a generic ragged-tensor data structure, similar to TensorFlow's RaggedTensor.  I understand that PyTorch historically came from a computer-vision application, and you guys are viewing it from that perspective and your nested tensor data structure fulfils a need there.  But I want to encourage you not to view this NestedTensor as filling up the RaggedTensor "slot" in the design of PyTorch, but instead, keep open the possibility of using essentially the same design as TensorFlow for implementing ragged tensors.
Here's my perspective: I'm working on this project "k2" https://github.com/k2-fsa/k2 which implements differentiable algorithms on finite state automata and transducers.  I independently came up with a design that's basically equivalent to TensorFlow's RaggedTensor, involving row_splits and row_ids and linear arrays of values (I originally had different names for them, but renamed them for compatibility with the TF notation).  This turns out to be a very generic and useful design, especially when you are using it as a backbone for quite general algorithms.
Although in k2 we implement differentiable FSA algorithms, the differentiability is a red herring when it comes to understanding the underlying design, because we provide differentiability from the "top down", by understanding the behavior of the whole algorithm, rather than making individual operations differentiable.  Most nontrivial low-level algorithms or operations in k2 are actually operating on tensors of integers or of structs, and are not naturally differentiable.  It wouldn't be very feasible or efficient to do what we are doing by using the PyTorch or TensorFlow approach of defining low-level operations and having the user string them together in Python.  Instead we implement nontrivial algorithms like FSA intersection in C++/CUDA, issuing special purpose kernels that make use of the RaggedTensor data structure and primitive operations that it supports.
The point which I feel is relevant for what you guys are doing, is: don't dismiss the row_ids/row_splits approach, because it's a data structure that is very well suited for GPU implementation and can naturally be implemented with tools like cub.  There are a lot of primitive operations you can implement on this kind of RaggedTensor, such as various kinds of indexing, concatenation, reduction and so on, that map easily to GPU implementation and that are very general-purpose.

Hello @danpovey,
Thank you very much for this post and your insights! If I understand you correctly this could potentially be addressed by using NestedTensor as a frontend for more than just one layout. I detailed some use-cases for that in a separate RFC. Roughly the layouts listed there are masked (the usual padding + masking), packed (tensor memory stacked top of each other linearly in memory), PackedSequence (includes cudnn's custom layout for RNNs probably best described by this comment) and a plain list (std::vector of Tensors). The row_ids/row_splits layout can enter the rank of these (or potentially could even be a replacement for PackedSequence under some conditions if I'm not mistaken) and is indeed very useful, especially in bootstrapping efficient implementations in the way you describe.
Thank you,
Christian


A720695315750402 sellout insider entry point sandbox

Coverage remained the same at 83.006% when pulling 4b8a6e65d5f2af763dfcf878aa5590a4f0ebbd61 on Scandie:a720695315750402_sellout_insider_entry_point_sandbox into<PHONE_NUMBER>5e189890401a5f470d9fa4b9fb4a64 on openprocurement:sandbox.


[Feature Request] Score Cards... Set 'default' screen for Templates

Please have the Templates save a background default -- and open/show that default when you select a table. When opening High Score Card section it defaults to Popper "Backglass". Each Template may have a different need... all of mine, as you know, need to use Popper "Menu" (aka FullDMD)

I just retested this. It is supposed to remember the latest screen selection. For me, it sticks to the selected screen, everytime I open the Studio. So for you it switches back to "Backglass" after restart?

yes it does...

Fixed with 2.20.3


Fixes hot reloading via systemjs-hot-reloader

JSPM/SystemJS allows for hot module reloads via https://github.com/capaj/systemjs-hot-reloader. To get angular to see any module changes angular needs to be bootstrapped again. This can be achieved by save a copy of the original bootstrapped element before bootstrapping occurred. The current bootstrapped element then needs to be removed and replaced with another copy of the original. Once a fresh element is in place, angular.bootstrap can be called again and all changes should show.
When using ocLazyLoad to wire up modules loaded by JSPM this approach doesn't work. The reason is that ocLazyLoad keeps track of what angular modules have already been loaded and prevents them from being loaded again. This PR resets this state every time angular is bootstrapped so that modules will be wired up again after bootstrapping angular for a 2nd time.

+1 It looks good. How do you think @ocombe? Test/examples are running clearly.

yes, it won't hurt anything anyway :)

I just released 1.1.0 with this, I think I did it right, I haven't published a new version on this repo for ages, let me know if it works


 You have a dependency on xxxx which is not supported for flutter_web tech preview

C:\Users\mail\StudioProjects\sachavieuxroycom>flutter packages pub global run webdev build
webdev could not run for this project.
You have a dependency on cloud_firestore which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on firebase_auth which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on firebase_core which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on flutter which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on flutter_test which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on image_picker which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
You have a dependency on path_provider which is not supported for flutter_web tech preview. See https://flutter.dev/web for more details.
pub finished with exit code 78
YAML :
name: sachavieuxroycom
description: sacha vieux roy's website
The following line prevents the package from being accidentally published to
pub.dev using pub publish. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
responsive_builder: ^0.1.2
provider: ^3.1.0
provider_architecture: ^1.0.0
get_it:
http: ^0.12.1
cloud_firestore: ^0.14.0-dev.1
cloud_firestore_platform_interface: ^2.0.0-dev.1
firebase_core: ^0.5.0-dev.2
firebase_auth: ^0.17.0-dev.1
firebase_storage: ^4.0.0-dev.1
firebase_database: ^4.0.0-dev.1
awesome_dialog: ^0.1.4
modal_progress_hud: ^0.1.3
font_awesome_flutter: ^8.8.1
universal_platform: ^0.1.3
flutter_screen_scaler: ^0.0.1
image_picker: ^0.6.6+4
image_picker_web: ^1.0.9
stack_trace: ^1.9.3
connectivity: ^0.4.8+6
file_directory_ext: ^0.1.3
extended_image: ^0.9.0
simple_tooltip: ^0.1.10
event_bus: ^1.1.1
stack: ^0.1.0
mime_type: ^0.3.2
characters: ^1.0.0
validators: ^2.0.1
flutter_datetime_picker: ^1.3.8
youtube_player_flutter: ^7.0.0+7
video_player: ^0.10.11+2
mailer2: ^1.2.5
dev_dependencies:
build_web_compilers: ^2.12.0-dev.1
build_runner: ^1.0.0
build_test: ^0.10.3
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/logo.png
- assets/logo.svg
- assets/Sacha2.jpg
- assets/profile.svg
- assets/profile.png
- assets/Sacha-monochrome.png
- assets/MCAD.JPG
- assets/MCP.jpg
- assets/envelope.mp4
fonts:
- family: Open Sans
fonts:
- asset: assets/fonts/OpenSans-ExtraBold.ttf
weight: 900
- asset: assets/fonts/OpenSans-Regular.ttf
weight: 400
flutter_icons:
android: "launcher_icon"
ios: true
image_path: assets/Sacha-monochrome.png
Flutter Doctor:
C:\src\flutter\bin\flutter.bat doctor --verbose
[√] Flutter (Channel beta, 1.20.0-7.4.pre, on Microsoft Windows [Version 10.0.19041.388], locale en-US)
• Flutter version 1.20.0-7.4.pre at C:\src\flutter
• Framework revision 916c3ac648 (3 days ago), 2020-08-01 09:01:12 -0700
• Engine revision d6ee1499c2
• Dart version 2.9.0 (build 2.9.0-21.10.beta)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:/Users/mail/AppData/Local/Android/sdk
• Platform android-30, build-tools 29.0.3
• ANDROID_HOME = C:/Users/mail/AppData/Local/Android/sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 48.0.2
• Dart plugin version 193.7361
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] IntelliJ IDEA Community Edition (version 2019.2)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.4
• Flutter plugin version 44.0.2
• Dart plugin version 192.7761
[√] VS Code (version 1.47.2)
• VS Code at C:\Users\mail\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.12.2
[√] Connected device (4 available)
• SM N976N (mobile) • R3CMA0F771F • android-arm64  • Android 9 (API 28)
• Web Server (web)  • web-server  • web-javascript • Flutter Tools
• Chrome (web)      • chrome      • web-javascript • Google Chrome 84.0.4147.105
• Edge (web)        • edge        • web-javascript • Microsoft Edge 84.0.522.52
• No issues found!
Process finished with exit code 0

link to my project :  https://drive.google.com/file/d/1_awFqZiMDMmMGYscTZKQRFnB3bEmlypE/view?usp=drivesdk

Hi @sachavieuxroy
flutter_web is deprecated, https://github.com/flutter/flutter_web
Please follow https://flutter.dev/docs/get-started/web, for updated steps
This platform is not meant for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you

I disagree, please reopen. I was able to compile flutter to run on a chrome browser, just a few weeks ago. I had already followed all the directions you gave in this email. In comments is a link to my project

NAME: Sacha VIEUX ROY
EMAIL: mail<EMAIL_ADDRESS>PREFERED TELEPHONE:  +<IP_ADDRESS>.11.17
WHATSAPP ID (PHONE):  +33 6 95 54 11 17
Please reply, so I know that you have read this message.
From: Taha Tesser<EMAIL_ADDRESS>Sent: Tuesday, August 4, 2020 1:24 PM
To: flutter/flutter<EMAIL_ADDRESS>Cc: Sacha Vieux-Roy<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [flutter/flutter]  You have a dependency on xxxx which is not supported for flutter_web tech preview (#62837)
Hi @sachavieuxroyhttps://github.com/sachavieuxroy
flutter_web is deprecated, https://github.com/flutter/flutter_web
Please follow https://flutter.dev/docs/get-started/web, for updated steps
This platform is not meant for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/flutter/flutter/issues/62837#issuecomment-668538623, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAHLPQJA25JA2UJRGH6ZSULR67VTJANCNFSM4PT775YQ.

Hi @sachavieuxroy
I see that you're using flutter packages pub global run webdev build
If you have followed https://flutter.dev/docs/get-started/web,  please execute flutter run -d Chrome
if the problem persist,  can you please provide your flutter doctor -v your flutter run -d Chrome --verbose and a complete reproducible minimal code sample
Thank you

Chrome verbose:
C:\Users\mail\StudioProjects\sachavieuxroycom>flutter run -d Chrome --verbose
[ +176 ms] executing: [c:\src\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +182 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] 916c3ac648aa0498a70f32b5fc4f6c51447628e3
[   +1 ms] executing: [c:\src\flutter/] git tag --contains HEAD
[ +385 ms] Exit code 0 from: git tag --contains HEAD
[        ] 1.20.0-7.4.pre
[  +13 ms] executing: [c:\src\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[ +150 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +2 ms] origin/beta
[        ] executing: [c:\src\flutter/] git ls-remote --get-url origin
[ +124 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +195 ms] executing: [c:\src\flutter/] git rev-parse --abbrev-ref HEAD
[ +131 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +1 ms] beta
[ +131 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +19 ms] executing: C:\Users\mail\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[ +140 ms] List of devices attached
[  +11 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +330 ms] Found plugin cloud_firestore at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.7
[  +12 ms] Found plugin cloud_firestore_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+2
[   +8 ms] Found plugin connectivity at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity-0.4.9
[   +4 ms] Found plugin connectivity_for_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity_for_web-0.3.1
[   +2 ms] Found plugin connectivity_macos at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity_macos-0.1.0+3
[  +26 ms] Found plugin firebase_auth at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.16.1
[   +5 ms] Found plugin firebase_auth_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.3+1
[   +3 ms] Found plugin firebase_core at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.5
[   +4 ms] Found plugin firebase_core_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2
[   +3 ms] Found plugin firebase_database at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_database-3.1.6
[   +2 ms] Found plugin firebase_storage at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_storage-3.1.6
[  +10 ms] Found plugin flutter_email_sender at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_email_sender-3.0.1
[   +5 ms] Found plugin flutter_inappwebview at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_inappwebview-4.0.0+4
[   +3 ms] Found plugin flutter_plugin_android_lifecycle at
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8
[  +36 ms] Found plugin image_picker at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.6.7+4
[   +4 ms] Found plugin image_picker_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\image_picker_web-1.0.9
[  +32 ms] Found plugin path_provider at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider-1.6.11
[   +3 ms] Found plugin path_provider_linux at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider_linux-0.0.1+2
[   +3 ms] Found plugin path_provider_macos at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4+3
[  +60 ms] Found plugin video_player at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\video_player-0.10.11+2
[   +3 ms] Found plugin video_player_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\video_player_web-0.1.3+2
[ +107 ms] Found plugin cloud_firestore at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.7
[   +5 ms] Found plugin cloud_firestore_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+2
[   +4 ms] Found plugin connectivity at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity-0.4.9
[   +2 ms] Found plugin connectivity_for_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity_for_web-0.3.1
[   +2 ms] Found plugin connectivity_macos at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity_macos-0.1.0+3
[  +13 ms] Found plugin firebase_auth at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.16.1
[   +4 ms] Found plugin firebase_auth_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.3+1
[   +2 ms] Found plugin firebase_core at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.5
[   +3 ms] Found plugin firebase_core_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2
[   +2 ms] Found plugin firebase_database at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_database-3.1.6
[   +2 ms] Found plugin firebase_storage at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_storage-3.1.6
[   +8 ms] Found plugin flutter_email_sender at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_email_sender-3.0.1
[   +2 ms] Found plugin flutter_inappwebview at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_inappwebview-4.0.0+4
[   +2 ms] Found plugin flutter_plugin_android_lifecycle at
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8
[  +13 ms] Found plugin image_picker at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.6.7+4
[   +4 ms] Found plugin image_picker_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\image_picker_web-1.0.9
[  +20 ms] Found plugin path_provider at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider-1.6.11
[   +3 ms] Found plugin path_provider_linux at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider_linux-0.0.1+2
[   +2 ms] Found plugin path_provider_macos at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4+3
[  +49 ms] Found plugin video_player at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\video_player-0.10.11+2
[   +3 ms] Found plugin video_player_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\video_player_web-0.1.3+2
[  +83 ms] Generating
C:\Users\mail\StudioProjects\sachavieuxroycom\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +157 ms] Launching lib\main.dart on Chrome in debug mode...
[ +114 ms] Updating assets
[ +443 ms] Syncing files to device Chrome...
[  +35 ms] Found plugin cloud_firestore at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.7
[   +1 ms] Found plugin cloud_firestore_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+2
[   +2 ms] Found plugin connectivity at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity-0.4.9
[   +1 ms] Found plugin connectivity_for_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity_for_web-0.3.1
[   +1 ms] Found plugin connectivity_macos at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity_macos-0.1.0+3
[   +8 ms] Found plugin firebase_auth at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.16.1
[   +3 ms] Found plugin firebase_auth_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.3+1
[   +4 ms] Found plugin firebase_core at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.5
[   +2 ms] Found plugin firebase_core_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2
[   +1 ms] Found plugin firebase_database at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_database-3.1.6
[   +1 ms] Found plugin firebase_storage at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_storage-3.1.6
[   +2 ms] Found plugin flutter_email_sender at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_email_sender-3.0.1
[   +2 ms] Found plugin flutter_inappwebview at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_inappwebview-4.0.0+4
[   +2 ms] Found plugin flutter_plugin_android_lifecycle at
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8
[   +6 ms] Found plugin image_picker at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.6.7+4
[   +1 ms] Found plugin image_picker_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\image_picker_web-1.0.9
[  +10 ms] Found plugin path_provider at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider-1.6.11
[   +1 ms] Found plugin path_provider_linux at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider_linux-0.0.1+2
[   +1 ms] Found plugin path_provider_macos at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4+3
[  +19 ms] Found plugin video_player at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\video_player-0.10.11+2
[   +1 ms] Found plugin video_player_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\video_player_web-0.1.3+2
[  +28 ms] Found plugin cloud_firestore at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.7
[   +1 ms] Found plugin cloud_firestore_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+2
[   +2 ms] Found plugin connectivity at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity-0.4.9
[   +1 ms] Found plugin connectivity_for_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity_for_web-0.3.1
[   +2 ms] Found plugin connectivity_macos at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\connectivity_macos-0.1.0+3
[  +10 ms] Found plugin firebase_auth at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.16.1
[   +2 ms] Found plugin firebase_auth_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.3+1
[   +1 ms] Found plugin firebase_core at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.5
[   +1 ms] Found plugin firebase_core_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2
[   +2 ms] Found plugin firebase_database at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_database-3.1.6
[   +1 ms] Found plugin firebase_storage at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\firebase_storage-3.1.6
[   +3 ms] Found plugin flutter_email_sender at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_email_sender-3.0.1
[   +1 ms] Found plugin flutter_inappwebview at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_inappwebview-4.0.0+4
[   +1 ms] Found plugin flutter_plugin_android_lifecycle at
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8
[   +6 ms] Found plugin image_picker at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.6.7+4
[   +2 ms] Found plugin image_picker_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\image_picker_web-1.0.9
[  +10 ms] Found plugin path_provider at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider-1.6.11
[   +1 ms] Found plugin path_provider_linux at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider_linux-0.0.1+2
[   +1 ms] Found plugin path_provider_macos at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4+3
[  +21 ms] Found plugin video_player at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\video_player-0.10.11+2
[   +1 ms] Found plugin video_player_web at C:\src\flutter.pub-cache\hosted\pub.dartlang.org\video_player_web-0.1.3+2
[  +17 ms] Generating
C:\Users\mail\StudioProjects\sachavieuxroycom\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +155 ms] <- reset
[  +11 ms] c:\src\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
c:\src\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root c:\src\flutter\bin\cache\flutter_web_sdk/
--incremental --target=dartdevc --debugger-module-names -Ddart.developer.causal_async_stacks=true --output-dill
C:\Users\mail\AppData\Local\Temp\flutter_tools.c2dadc15\flutter_tool.2e0189e0\app.dill --libraries-spec
file:///c:/src/flutter/bin/cache/flutter_web_sdk/libraries.json --packages .packages -Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instruc
tions --enable-asserts --track-widget-creation --filesystem-root
C:\Users\mail\AppData\Local\Temp\flutter_tools.c2dadc15\flutter_tools.d5c2666b --filesystem-scheme org-dartlang-app --initialize-from-dill
build\cache.dill.track.dill --platform file:///c:/src/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
[  +40 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+35469 ms] Syncing files to device Chrome... (completed in 35,898ms, longer than expected)
[   +4 ms] Synced 35.0MB.
[   +1 ms] <- accept
[   +1 ms] Caching compiled dill
[ +712 ms] [CHROME]:
[  +26 ms] [CHROME]:DevTools listening on ws://<IP_ADDRESS>:11728/devtools/browser/cb7ac3ab-e4b2-4220-92fc-639b6ae060a8

FLUTTER DOCTOR
C:\src\flutter\bin\flutter.bat doctor --verbose
[√] Flutter (Channel beta, 1.20.0-7.4.pre, on Microsoft Windows [Version 10.0.19041.388], locale en-US)
• Flutter version 1.20.0-7.4.pre at C:\src\flutter
• Framework revision 916c3ac648 (3 days ago), 2020-08-01 09:01:12 -0700
• Engine revision d6ee1499c2
• Dart version 2.9.0 (build 2.9.0-21.10.beta)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:/Users/mail/AppData/Local/Android/sdk
• Platform android-30, build-tools 29.0.3
• ANDROID_HOME = C:/Users/mail/AppData/Local/Android/sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 48.0.2
• Dart plugin version 193.7361
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] IntelliJ IDEA Community Edition (version 2019.2)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.4
• Flutter plugin version 44.0.2
• Dart plugin version 192.7761
[√] VS Code (version 1.47.2)
• VS Code at C:\Users\mail\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.12.2
[√] Connected device (3 available)
• Web Server (web) • web-server • web-javascript • Flutter Tools
• Chrome (web)     • chrome     • web-javascript • Google Chrome 84.0.4147.105
• Edge (web)       • edge       • web-javascript • Microsoft Edge 84.0.522.52
• No issues found!
 An error message would be helpful.

are you going to reopen the case

Hi @sachavieuxroy
Your flutter run -d Chrome --verbose logs don't match with the issue title and description
Also can you please a complete reproducible minimal code sample without using third party (not a production code).  How to create a Minimal, Reproducible Example
Thank you


Document how to debug the SDK while running the light client

Description
Follow up of #220
Document how to debug the SDK while running the light client
Acceptance criteria

Description how to debug with Unit Tests in Jest
How to check Matrix is included
Describe how to call the public methods
Redux Logger output is described

Tasks

[ ] Debugging session @andrevmatos @nephix
[x] Documenting it

Story Points

Added docs in https://github.com/raiden-network/light-client/wiki/SDK-Development/de9dd07fb5e1e1fe12566e1904c824bd8c4bb3e3

Perfect, thank you. Closing this one


local daylight time affects rendering in subtle ways

Today was daylight savings time for me (EST), boo. My graphs showed two oddities, with the first probably being correct-ish, if we are to render with local times.

There are two 1:00am-2:00am intervals today.

Panning the graphs experience a hiccup when the end of the first interval/start of the second pans into view from off screen left, which visually comes out as the graph teleporting backwards an hour as you are panning forward.

My gut tells me that something is only looking at relative distance to some time and not how many absolute intervals in world space coordinates we are located in.

Most likely, there is no specific code to handle DST switches. DB access should be OK (so the data should be correct), but it is very likely that scrolling will experience hickups when an hour basically appears twice (with different data). A missing hour should just generate an empty graph / missing values for that time.
Fixing this correctly is non-trivial. What do you display during the 'lost' hour ? You'd have the explicitly add the TZ change in the graph, and the time axis becomes non-monotonically increasing. I'm not sure if the amount of work to do this is worth it. It's just a display glitch that is going to fix itself once the DST jump goes out of the purge period.

I won't have the time to look into this, I'm afraid. The ratio between the amount of work this would require to fix and the benefits it would provide is not worth it. If you want 100% continuous data even through DST jumps, then the best way is to export the CSV which does not suffer from this display glitch.


Elastic Beanstalk Deployement policy advise

Hello,
I've recently configure a pipeline for deployement on EB, and create a dedicated user for continuousphp deployement. I had to found the proper AWS Policy for be able to deploy and update new version.
I think that can be good to add somes advise about policy need for be able to have a success deployment much faster.
I can propose a PR if it's suitable for you.

Hi @Pierozi, sure, you can even create a tutorial if you want. Don't hesitate! :)


ghost mail setup

I've set up ghost mail client using mailgun, but even with the correct configuration Ghost emails still seem to be landing in people's spam folder. We need someone to take a look at why this is happening and how we can fix it.

Unfortunately, even in Wordpress these still go to spam. This is a trivial issues for us, however, since we don't add many new users.


Azure/containerized architecture compliant with FedRAMP

One of my customers think re-platforming of their app to run in Azure, and the biggest challenge is - that AKS not marked as FedRamp moderate compliant and we can't find any roadmaps.
If some Azure/containerized architecture compliant with FedRAMP exist- could you add an article about

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

ID: d71e8afc-d967-3301-321a-ce03e4815b68
Version Independent ID: 4e361eb4-45eb-91a4-6bb2-7b8059782bb4
Content: Azure Security and Compliance Blueprint - PaaS Web Application for FedRAMP
Content Source: articles/security/blueprints/fedramp-paaswa-overview.md
Service: security
GitHub Login: @jomolesk
Microsoft Alias: jomolesk

@SychevIgor Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@SychevIgor -- please email me directly<EMAIL_ADDRESS>

Issue not related to content on this article; #please-close

@jomolesk agree , it's not about this article, but I don't know how to request an article . I will drop an email to you


[Suggestion] Event and dimensional weather

having certain events trigger unique weather effects. here's a couple ideas i can think of
big ominous (maybe glowing) clouds during the wither fight
a tornado/maelstrom (kinda like the tears of the kingdom Rito region boss) during the dragon.
Beacon's "clearing" the skies
nether storms that cause lightning that goes up and smog ("clouds" floating around the lava layer)
ender winds that sweep up players and boost elytra flight, storms with a single large "ball lightning" core, and a persistent cloud fog around the void between the central island and the rings

had a few more ideas i'd like to add.


Fix data-export script not exiting

Today in production. No token set for Google Drive, skipping data export upload
Could you check @Betree ?

It's done, the script should run on its own in the future


Adds some new metrics to the accountpool status

Adds additional status fields and calculations for the same in order to start reporting better metrics on accountPool availability.
Satisfies OSD-7754

Codecov Report

Merging #637 (0db1a96) into master (cf42def) will increase coverage by 0.71%.
The diff coverage is 65.28%.

@@            Coverage Diff             @@
##           master     #637      +/-   ##
==========================================
+ Coverage   24.07%   24.78%   +0.71%
==========================================
  Files          46       46
  Lines        4478     4555      +77
==========================================
+ Hits         1078     1129      +51
- Misses       3325     3348      +23
- Partials       75       78       +3

Impacted Files
Coverage Δ

pkg/apis/aws/v1alpha1/accountpool_types.go
100.00% <ø> (ø)

pkg/controller/account/account_controller.go
8.73% <0.00%> (-0.09%)
:arrow_down:

pkg/localmetrics/localmetrics.go
51.98% <51.72%> (-0.04%)
:arrow_down:

pkg/totalaccountwatcher/totalaccountwatcher.go
62.63% <64.70%> (-2.48%)
:arrow_down:

pkg/apis/aws/v1alpha1/account_types.go
87.95% <82.35%> (-1.45%)
:arrow_down:

...g/controller/accountpool/accountpool_controller.go
57.77% <82.97%> (+14.11%)
:arrow_up: