Character count is hidden until you approach a character threshold

This issue is from May 2023 external accessibility audit report.
Usability issue
Issue ID:
DAC_Usability_Character_Count_01
URLs:
https://govuk-frontend-pr-3503.herokuapp.com/full-page-examples/feedback
Screen shots

The character count for the text area ‘What were you trying to do?’ does not appear until the user reaches fifty characters. It can be beneficial to display this from the start and the max characters to allow users to understand this restriction before entering data.
This means that when the user reaches 50 characters, and are made aware, they then do not have to amend what they have already entered in order to not exceed the 100 limit.
Current code ref(s)
#main-content > div > div > form > div:nth-child(4) > div > div.govuk-character-count__sr-status.govuk-visually-hidden
Screen reader comments

“When interacting with the ‘What were you trying to do’ input field I found with all screen reader software that a message advising me of a character limit was available after the input field. When browsing in context with the arrow keys for desktop screen reader software or when swiping to the right with one finger for mobile software I did not locate the limit until after I had moved past the input field.

This became problematic as when I began to enter characters into the input field the remaining number of characters did not announce until after I had reached fifty or more characters. In a non-testing environment, I would likely not have been aware of the character limit until I had typed this number of characters which may have led to me needing to re-evaluate what I wanted to enter.

This functionality was not present for the ‘Please provide details of your question, problem or feedback’ input field as the character count began announcing as soon as I had entered a character. I was therefore immediately aware of a character limit and how many characters I had remaining.

I personally found the second character count much easier to use as I was immediately aware that a character limit was available.

Please do note that when browsing out of context with methods such as the ‘Tab’ key for desktop software and the forms rotor with VoiceOver I was clearly able to locate the additional hint information.”

Solution
Consider constantly displaying the character count for all users. This will allow for all users to clearly understand the limits and pre-emptively decide how they wish to enter and phrase their data entry.

The threshold function is an opt-in function of the character count, intended for textareas where a limit exists but the user is unlikely to encounter it in typical use.
For example, a textarea on a contact form may have a technical hard limit of 32,768 characters (8^5 bytes) in their database architecture. A user is very unlikely to type that much, but on the off-chance they do, the threshold setting allows a team to warn them only when they start getting near to it.
In this case, the could be considered a failure of the example (the functionality was used in an inappropriate way), but an alternative could be to remove the threshold function entirely and have it so that a character count is always present, perhaps with guidance that fields with extremely large limits no longer use a count and rely on regular form validation in situations where the user goes over the limit.

Comment from @davidc-gds on Slack, copied here for posterity:

for this one I was thinking we can change our example to have a threshold of 100+ characters, and pre-fill say, 799 characters, with a threshold of 800. That’ll show people a better intended use case, where the character limit is so high that most users won’t encounter it.


Errors after upgrading to 0.8.0 - python cmd window pops up and env_var no longer works.

Expected behavior

Open VS Code
Open dbt model file and wait for dbt version detection to finish.
Click on Execute dbt SQL play button and see results produced in tandem with dbt-osmosis.

dbt-client                0.1.3                    pypi_0    pypi
dbt-core                  1.3.0                    pypi_0    pypi
dbt-extractor             0.4.1                    pypi_0    pypi
dbt-osmosis               0.9.7                    pypi_0    pypi
dbt-postgres              1.3.0                    pypi_0    pypi
Actual behavior
As stated at the end of https://github.com/innoverio/vscode-dbt-power-user/issues/130, extension version 0.8.0 has now stopped parsing environment variables. Now I'm getting a python window pop-up and error from the dbt Power User extension. Environment variable in the error message is in my settings.json file in the .vscode folder.
Steps To Reproduce

Open VS Code
Open dbt model file and wait for dbt version detection to finish. Error in screen capture, along with python cmd window, pops up at this point.
Continuing to click on Execute dbt SQL play button produces another error "Could not execute query, because the Python bridge has not been initalized. If the issue persists, please open a Github issue".

Log output/Screenshots

Operating System
Windows 10
dbt version
1.3.0
dbt Adapter
dbt-postgres 1.3.0
dbt Power User version
0.8.0
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Thanks I will take a look and see if I can fix it.

Can you try with 0.8.1.
I have fixed following issues:

No detached window on Windows
env vars present in python bridge
path issue for query panel on Windows

Let me know how it goes.

Looks good. Everything works as how it did prior to 0.8.0. No detached window, environment variables in dbt are resolving.

Thanks for verifying!


Created EventView and EventViewController

EventView and EventViewController complete with working buttons
Both generally use CA principles
deleted Main to avoid merge conflict

looks good :)
checkstyle? also need to add adaptors for CA


Increase modularization of training wrappers

The training wrappers for auto reset and episode wrapper are leaking info to each other.
This is a bigger problem if people want to stack their own wrappers. For example, I'd like to write a meta-episode wrapper that takes multiple episodes and aggregates them into a single meta episode for use in a meta-RL setting. The wrapper that I'm writing needs to track the number of episodes so that it can do a meta episode reset when it reaches some watermark. However, the auto reset would break this since it wouldn't reset the meta wrapper under it.
At a high level, I'd like to separate the state of the auto reset wrapper from the environments that it's wrapping. I propose to do this by caching the initial state of the environment and the current state of the environment in the info, and only working on that.

In reset, get the base state and store it in info with two separate keys: initial_base_state, current_base_state
In reset, take the initial_base_state's: observation, reward, and done and package it along with the info from step (1)
In step, if you are done, then return the same aggregated state as step (2)
In step, if not done, then return the evolved state by updating the current base state.

Note, through this process, you never need to return the pipeline state through the state itself.

Haven't tested this, but I'm thinking something like this:
`class AutoResetWrapper2(Wrapper):
"""Automatically resets Brax envs that are done."""
def reset(self, rng: jax.Array) -> State:
base_state = self.env.reset(rng)
info = base_state.info.copy()
info.update({
'initial_base_state': base_state,
'current_base_state': base_state
})
return State(
    pipeline_state=base_state.pipeline_state,
    obs=base_state.obs,
    reward=base_state.reward,
    done=base_state.done,
    metrics=base_state.metrics,
    info=info
)

def step(self, state: State, action: jax.Array) -> State:
initial_base_state = state.info['initial_base_state']
initial_info = initial_base_state.info.copy()
initial_info.update({
'initial_base_state': initial_base_state,
'current_base_state': initial_base_state
})
initial_state = State(
pipeline_state=initial_base_state.pipeline_state,
obs=initial_base_state.obs,
reward=initial_base_state.reward,
done=initial_base_state.done,
metrics=initial_base_state.metrics,
info=initial_info
)
current_base_state = state.info['current_base_state']
next_base_state = self.env.step(state, action)
next_info = next_base_state.info.copy()
next_info.update({
    'initial_base_state': initial_base_state,
    'current_base_state': next_base_state
})
next_state = State(
    pipeline_state=next_base_state.pipeline_state,
    obs=next_base_state.obs,
    reward=next_base_state.reward,
    done=next_base_state.done,
    info=next_info,
)

def where_done(x, y):
  return jp.where(done, x, y)

return jax.tree_map(
    where_done, initial_state, next_state
)`

This allows us to pass back information from the wrapped things up to the clients that are expecting them (episode wrappers truncated for instance) while at the same time caching this stuff so that we can reuse it during the reset.

Tested the above (not very rigorously), seems to work

Hi @vyeevani
Thanks for the proposal, indeed there is logic leaking into reset from the episode wrapper.
If you changed first_pipeline_state to first_state (which would contain the first State object) in the impl at HEAD, would that suffice for your use-case? Why do you need to store current_base_state in the info as well?
My only concern beyond cleaner semantics is how this affects performance


Terrastore security

please consider terrastore security ala-restlet:

Authentication
http://wiki.restlet.org/docs_2.0/13-restlet/27-restlet/46-restlet/112-restlet.ht
ml

Configuring HTTPS
http://wiki.restlet.org/docs_1.1/13-restlet/27-restlet/46-restlet/213-restlet.ht
ml

Original issue reported on code.google.com by Andrei.Pozolotin on 18 Mar 2011 at 1:54

9. Guarding access to sensitive resources
http://www.restlet.org/documentation/1.0/tutorial#part09

11. Routers and hierarchical URIs
http://www.restlet.org/documentation/1.0/tutorial#part11

Original comment by Andrei.Pozolotin on 18 Mar 2011 at 2:30

http://groups.google.com/group/terrastore-discussions/browse_thread/thread/d1328
25634074a93

Original comment by Andrei.Pozolotin on 18 Mar 2011 at 1:57

Original comment by<EMAIL_ADDRESS>on 26 Apr 2011 at 9:51

Changed title: Terrastore security


Getting a grpc.FutureTimeoutError while using Reformulator from the checkpoint

Are you running the environment server before running the reformulator code?

https://github.com/google/active-qa/issues/15#issue-407744369
@graviraja @JohannesTK I'm getting the above error even after running the environment server.
Please anyone help fixing it..
Screenshot for gRPC Environment server

Resolved it by modifying below code in environment_client.py. Thanks.
grpc.channel_ready_future(channel)#.result(timeout=30)


Disambiguate horizontal and vertical scrolling

We now have separate gestures for horizontal, vertical, and pan scrolling.

LGTM. This is great.

Is this applied to the widgets yet?  Does the card demo feel better, for instance?

This is applied to widgets.  It works in PinkSky.  Hans is working integrating it with dismissable.


[BUG] AbortError

Bug Description
It happens every time I play a song .
Reproduction Steps
Steps to reproduce the behavior:

/play  with a code equal to the one you provided
the bot enters the channel and plays the song, but returns this error

Expected Result
play normally without returning errors?
Attachments

Versioning:

OS: [e.g. Ubuntu 18.04]
Node Version [e.g. v16.6.0]
Module Version [e.g v6.2.0]

Additional Comments
Add any other context about the problem here.

fixed by djs


fee_setting: fix factor miscalulation bug

Output is confusing when factors don't match up with actual ratio - I assume this is a bug?
Also moving down rounding to after calculations to get it correct.

Thank you!


Setting switch values doesn't have an example of a single letter

There are examples showing:
-k1
-k2
but none showing -k or -a, which are much more likely to be used on a *nix machine.
Also, I think that on a *nix machine, k1 would be --k1 and k2 would be --k2. Typically if you really did mean -k2, this would equate to -k -2 on a *nix machine.
I get that the examples are supposed to be for all operating systems, but I suspect they will confuse some.

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

ID: 0eb4d762-3910-2c57-8741-3306c15537b6
Version Independent ID: ba2254a0-ea8e-9b28-e94b-edd0fc58c043
Content: Configuration in ASP.NET Core
Content Source: aspnetcore/fundamentals/configuration/index.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

I've also proposed a change to the way command line arguments are parsed too (https://github.com/dotnet/aspnetcore/issues/38967), which in itself would alleviate the confusion if implemented.

Moved to #24276

I also don't understand why this was merged into #24276 when the two are unrelated, #24276 is about the examples being confusing, so need explanations to accompany them, and this issue is more so a question based on a feature that doesn't exist yet that may not be desirable to add to .NET Core given not all *nix apps follow the convention stated, along with an explanation to make it clear not all *nix conventions are followed. I've found a page showing some of the linux command conventions I'm referring to, that are not supported out the box: https://nullprogram.com/blog/2020/08/01/


EDA on the Palmer Penguins dataset using R.

Hey! I would like to contribute a notebook in which I have performed EDA on the Palmer Penguins dataset using R under HacktoberFest2021. Thanks!

Sounds really interesting. Please follow the proper repository structure while making a PR.


[Question]: Keywords extraction in Knowledge graph

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
@logan-markewich , thanks a lot for your very quick responses.
I had one doubt:
So while creating the knowledge graph using llamindex, I get that the entities are exarcted using LLMs, correct me if I am wrong and now from each text chunks the keywords are extracted and are stored in the lookup table which I assume is stored in the index_struct.table. Here are my couple of questions:
So during the query time, how are the keywords extracted?
If those keywords are extracted, are they matched against the table stored in index_struct? whichever keywords gets matched it brings forth the respective documents?
I am a bit fuzzy on how the entities are getting extracted from query and how they are matched against and how the text nodes are getting collected?

How can I extract the keywords from the query and inspect them?

@logan-markewich ,
I am a bit eager to know on this and have dire deliverable comming in, may you please help me out here mate?
Thanks in advance.

@AnujLahoty the LLM is used to extract keywords. And then these keywords are matched against triplets in your KG. If a match is found and include_text=True (it is by default), the text chunk where that triplet was found is used to send to the LLM for context

Definitely check out the source code to learn more tbh
https://github.com/run-llama/llama_index/blob/b3112de72f6253510ee9a94a9b18fd0e602ea4c0/llama-index-core/llama_index/core/indices/knowledge_graph/retrievers.py#L188
You can set index.as_query_engine(..., verbose=True) to see the keywords extracted from queries

@logan-markewich
Any thoughts here?


UI not usable while moving root transform (UI inside a moving vehicule)

Describe the bug
We would like to interact with UI inside a moving vehicule.
When animating the root transform of a VR interactive scene the UI becomes barely interactable.
We tried to animate the root transformn using the different unity methid Update, LateUpdate, FixedUpdate. While fixed update animation sliding
To reproduce
Steps to reproduce the behavior:

Open the MRTKDevTemplate Unity project
Select the Canvas example scene
Create an empty game gmae object root in the hierarchy
Move everyhting as child of this root gameobject
Animate the root gameobject using script
Interaction in VR is broken (especially slider)

Expected behavior
I expect that the UI can be interacted correctly in VR while moving (as the player is inside a vehicule)
Screenshots
screenshot

video
https://youtu.be/rGhPN-9CaFY
Your setup (please complete the following information)

Unity Version [e.g. 2022.3.6f1]
MRTK Version 3 - branch mrtk3 - Commit c86b0e95bdc3bb5b40f60fe9b2571a1b55b0402c

Target platform (please complete the following information)

OpenXR - Windows Quest link

Animation script
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RootAnimation : MonoBehaviour
{

    public MODE mode = MODE.NONE;

    public float rotationSpeed = 50.0f;
    public float translationSpeed = 5.0f;

    float time = 0;

    public bool rotate = false;

    public enum MODE
    {
        NONE,
        UPDATE,
        LATEUPDATE,
        FIXEDUPDATE,
    }

    // Update is called once per frame
    void Update()
    {
        if (mode == MODE.UPDATE)
        {
            Animate(Time.deltaTime);
        }
    }

    private void LateUpdate()
    {
        if (mode == MODE.LATEUPDATE)
        {
            Animate(Time.deltaTime);
        }
    }

    private void FixedUpdate()
    {
        if (mode == MODE.FIXEDUPDATE)
        {
            Animate(Time.fixedDeltaTime);
        }
    }

    public void Animate(float deltaT)
    {
        time += deltaT;

        float normTranslation = translationSpeed * deltaT * Mathf.Sin(time);
        transform.Translate(normTranslation, normTranslation, normTranslation);

        if (rotate)
        {
            float normRotation = rotationSpeed * deltaT;
            transform.Rotate(normRotation, normRotation, normRotation);
        }
    }
}

ISSUE MIGRATION
Issue migrated from: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/11769

@shaynie do you think this is fixed this with commit?

https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity/commit/3e321a9776ebc43390441021db66bf349573c63f

PR from old repo:

https://github.com/microsoft/MixedRealityToolkit-Unity/pull/11739

Disregard my earlier statement.  The @scardin is using a commit after the fix.

@AMollis Thanks for looking at the issue.
We have quite a huge project that is built on top of MRTK and this particular issue is really annoying to us in the short term.
Any patch or help on how to circumvent the issue is welcome... apart from keeping the root at the same place and moving the world around which is already considered but hell not desired.

In the real world, the user is seated and not really moving. We would like him to be inside a virtual vehicle that moves in the virtual world.
We are moving the XR origin as the user is placed inside the moving vehicle. We want the user to still interact with the virtual UI inside the cockpit.
For our final application, we are using OpenXR with Vive focus 3 and meta quest HMDs, both for native Android builds and Windows applications using streaming.
I could push the scene modification I described to reproduce the bug. You can check in the video I'm just animating a root transform where I parented the whole content of the Canvas example scene from the mrtk3 branch.

Any update?
This issue is really blocking on our side

It is becoming quite critical for our current production planning.
Is it something that can be fixed or circumvented without too much pain?
Any Update? @shaynie @AMollis

Any Update? @AMollis @shaynie

Any Update? @AMollis @shaynie

@scardin ,  the XROrigin is not intended to be moved by the application.  The origin is placed in the real world by the device, and in the HoloLens moved by the device if the user moves too far from start (i.e. Unbounded tracking mode). I'm uncertain on the details of Question.
Unfortunately at this time we don't have developers focused on on Quest, so the community will need to support you in this case.

Thanks @AMollis,
This effect is problematic for us in a pure VR environment where the users are inside moving virtual vehicles.
I guess our temporary fix is to make the world move around the user, but it becomes rapidly too constraining for our multi-user multi-vehicle use case.
Happy to discuss any possible solution or if there are some modification we could eventually contribute to.

We should test if this reproduces on HoloLens 2 Moving Platform support.


Update devDependencies.

dtslint to 0.9.9
eslint to 6.6.0
mocha to 6.2.2
rimraf to 3.0.0

BTW @paulmillr how about adding dependabot in your repos? It's owned by GitHub. Or at least enable automated security fixes for your repos. The latter does not require the former, but only covers security fixes and not normal updates.
If you add dependabot let me know so that we configure it to run weekly or whatever you prefer.

I assume you understand that ^0.9.8 would install 0.9.9 if available, so no big need in having this updated. rimraf ^ 2 would not install 3, so this makes sense.
Added dependabot.


New app icons

Closes #220

@philippfromme and @nikku Could you npm run build && npm run build:distro this repo and verify the new icon is looking good on Linux&Windows?

Looks 💎 on Windows!

Should work on Linux, too. Let's do this :clap:


The footer link to Sponsors is broken

The broken link https://www.stride3d.net/sponsors
The footer link should be https://www.stride3d.net/sponsor/
(Originally reported by Abdallah in our Discord #website channel)

This was updated on the new website


[docs] Add a changelog for  v1.8.6

Tests fails due to a problems with the old release notes and Linkedin's auth wall. Informed @VasilyStrelyaev about the latter problem.


Documentation

Hey Kamil,
do you have any documentation for the universal nest module available beside the Readme and this code? What do I need to add, so that I can serve my existing Angular application with server side rendering using nest?

I got my own application running with Nest-universal. Most important to note is that one has to follow the Angular universal tutorial I guess.

Looks like out of the box, ng-cli is a bit confused about project names. Could you document the proper syntax for generating an Angular component using ng-cli in this boilerplate project? I.e., which project name will generate components in src?

What about the bootstrap option there is in ngExpressEngine? Seems like there's no support for that, or does it just lack documentation in @nestjs/ng-universal? hmm


Double Headers Parsing

Not sure if this is right place to post this. I have question.
Is there a way to parse a .xlsx file that has a set of 2 headers where the row 1 is header 1 (with merged sells) and row 2 is standard header per column?
As an example:
| Personal info |              Contacts           |                          Interests                             |
| Name | Age   | Email | Phone | Address | Football | Basketball | Hockey | Swimming |
| value10 | value11 | value12 | value13 | value14 | value15 | value16 | value17 | value18 |
| value20 | value21 | value22 | value23 | value24 | value25 | value26 | value27 | value28 |
The way it parses now is {"Personal info":"Name","Contacts":"Email", "Interests":"Football"},
{"Personal info":"value10","Contacts":"value12", "Interests":"value15"},
{"Personal info":"value20","Contacts":"value22", "Interests":"value 25"}
Is there a way to get something like this by default or some sort of work around to get it, since the first header is something that is controlling how data is later used, and second header there for data, id that makes sense.
{
"Personal info": {
"Name": "value10",
"Age": "value11"
},
"Contacts": {
"Email": "value12",
"Phone": "value13",
"Address": "value14"
},
"Interests" : {
"Football":"value15"
and so on
}
}

The library functions can't do that directly, but if you pass the option header:1 to sheet_to_json you'll get a raw array of arrays that you can work with.  For your example, var output = XLSX.utils.sheet_to_json(worksheet, {header:1}) would return:
[
  ["Personal info", , "Contacts", , , "Interests"],
  ["Name", "Age", "Email", "Phone", "Address", "Football", "Basketball", "Hockey", "Swimming"],
  ["value10", "value11", "value12", "value13", "value14", "value15", "value16", "value17", "value18"],
  ["value20", "value21", "value22", "value23", "value24", "value25", "value26", "value27", "value28"]
]

You can loop through the data rows (in this case, output.slice(2)) and convert each row to JS object that you want.
The option is explained in https://github.com/sheetjs/js-xlsx/#json.


fix: always load configs from env variables regardless filepath exist

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 77.719%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
7681

Relevant Lines:
9883

💛  - Coveralls


Motoko Data Inspection

Motoko Data Inspection
Note: This is still a prototype, not yet ready for merging.
Generic data inspection of Motoko canisters by authorized users.
Your Motoko Program is a Database!
This is only a small first step towards the bigger vision of providing data tooling to Motoko, similar to a database management system. This would support data inspection, data queries, maybe even data modification, data backup/restore, complex data migration, and/or administrative functionality.
Frontend Prototype
A simple frontend is available to test the data inspection, see https://github.com/luc-blaeser/data-inspector (limited access).
Backend Design
The Motoko runtime system is extended to stream the heap state to the frontend canister for displaying the data to authorized users.
Currently, the following design aspects apply to the data inspection in the Motoko runtime system:

Only a controller can inspect the heap state over this functionality.
The inspection is based on enhanced orthogonal persistence to profit from the precise object tagging.
The data inspection returns the set of live objects (stable and flexible) reachable from the main actor.
The format is mostly a one-to-one binary map of the heap object payload to minimize processing in the backend.
For simplicity, currently, only full-heap inspection is supported. Larger scalability can be implemented later, see thoughts in .
Currently, the field names are not yet shown. This can be supported later.

Binary format (EBNF)
Format = Version Root Heap.
Version = `1: usize`.
Root = `object_id: usize`.
Heap = `object_id: usize` `object_tag: usize` `object_payload:

The object payload is organized as follows:

The regular RTS object payload, with pointers replaced by object ids.
The payload is always a multiple of the word size.
For Object, the object size is prepended because the hash blob cannot directly be
located in the stream.

object_id are potentially synthetic identifiers of an objects. The ids are skewed,
to distinguish them from scalars. Currently, the object_id are heap pointers but
this would change with incremental inspection.
usize is 64-bit little endian.
Implementation

Currently, a separate mark bitmap is used for heap traversal during inspection. This
bitmap is independent of the potentially other bitmaps used during incremental GC.
For arrays, the tag can not be copied one-to-one from the heap object as it may
temporarily store slicing information stored during the incremental GC.
As usual, forwarding pointers of the incremental GC need to be resolved during heap
inspection.
A separate mark stack is needed during heap inspection. This stack additionally
stores the array slicing information of the heap inspection, independent of the
incremental GC.
A simple stream buffer is used to serialize the binary result of the heap inspection.
The buffer is represented as a linked list of blobs that is finally copied to a combined
single blob. This is because the size of the live set is not known in advance.

Future: Incremental Inspection
Incremental inspection can be realized in the future for scalability to larger heaps:

It enables chunked data downloads in multiple messages without blocking other user
messages. This is particularly important because the message response size is limited.
It establishes a logical session where the client receives incremental heap changes
without needing to refetch the full heap.

Possible implementation:

Synthetic object ids need to be used that are independent of the address of the object.
This is because objects are moved by the GC.
A hash map can be used to map heap pointers to synthetic object ids. This map also serves
for marking during heap traversal, such that a mark bitmap would no longer be needed.
The pointers in the map are weak pointers that are updated by the GCs but will be removed
from the map if the object is collected.
On chunked data downloads, the object state can only be sent if all their contained
pointers have been traversed. Otherwise, their state need to be transmitted on a
subsequent download message.
A pending list record the objects which state is ready to be sent in a next download.
The pointers in the pending list are weak.
Write barriers need to be extended to catch all mutator writes to pointers and scalars
during a heap inspection session. The pointers of modified objects are recorded in a
hash set, similar to the remembered set of the generational GCs. Again the pointers are
treated as weak pointers.
On incremental inspection, the runtime system resends the state of modified objects of
the hash set in addition to a potentially next heap chunk of the pending list.
The hash set is eventually cleared and the sent objects are removed from the pending list.
On the client side, the object graph is updated for each resent object, while new objects
are added.

Very cool!

I wonder if leb encodings would compress stuff quite a bit...


Add missing tox test requirement

tox is missing from the test dependencies. This PR adds it.

I'm closing this as tox is not really a test requirement that needs to be installed to run the test suite.

Fair enough, though I did have some error when running pytest after a fresh install (can't remember what) and got it to work by installing and running tox.


Conflicting Dates analysis

Find events that have conflicting values for dates.  To do a good analysis (and not just some trivial string comparison analysis) there will need to be a solution for interpreting date strings.  See gedcom4j issue 114 (https://github.com/frizbog/gedcom4j/issues/114)

Algorithm might look like this:

For a given event, look for multiple dates.  <2, skip the rest.
For each pair of dates, calculate the earliest and latest possible interpretations of those dates (e.g., "MAY 1970" would be 1 May 1970 to 31 May 1970, and "1971" would be 1 Jan 1971 to 31 Dec 1971)
Once we have a date range for each pair of dates, look for overlap
Any pair of date ranges with no overlap is treated as a "conflicting date" for purposes of the analysis and shows up in the result


test: use noop credential helper for auth tests

Some tests are failing on branches of mine because the LFS test credential helper is being overridden by the OS X system-level cred-helper. Instead of --unset-ing during the tests that needed it, this PR introduces a no-op credential helper, which fixes those tests.

FWIW: the no-op test is implemented in Go just to fit in with the integration tests' build system. It compiles *.go files in that directory to the ./bin directory, which gets added to the PATH for the duration of the tests.


manage azure functions in visual studio code

I have somo Azure Functions that I created in the azure portal. how can I create new functions in those function apps and manage them? in vscode I only have the option to create new ones but not to see the ones that i've created in the portal

@fmaldonados Could you provide us with the link to the document you are referring to ?

@fmaldonados We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Unbounded buffer

I've seen that the channel is always bounded (default to 5).
What do you think if we also support unbounded channel (Option<usize>).
Of course we should rethink on how to wrap the Sender and Receiver but I think this should be a nice feature.

Did you have a specific use case in mind for an unbounded channel?  My assumption when writing this was that you'd pretty much always want a bit of back-pressure if the client was struggling to keep up with the volume of messages coming through.
With an unbounded channel it seems like there's a risk of bugs (or just unexpected behaviour) in either the client or the server causing the channel to eat up all the memory available to it.


Trigger Name: Inconsistent about whether Spaces and special characters are allowed or not

Describe the bug
Spaces and special characters are not allowed when creating a Trigger

but are allowed to modify with Spaces and special characters.

Version
2.0

OS

[ ] macOS
[X] Windows
[ ] Ubuntu

@dawwa Good catch. Essentially, the name of the trigger entered during trigger creation is actually the ID. The name that you edit from the form editor is the "display" name. It seems a bit confusing looking at the UI. @mewa1024 .

I guess maybe we could consider enforcing a read only display name composed with the Id supplied by user for each item type, so users don't need to worry about Display name at all, even better, we could have dedicate icon for each item type in the Project Tree to make the clearer and more concise visual , similar to what the Solution Explorer looks like in Visual Studio.

What is the reason for prohibiting spaces in trigger names in the modal? Is that just an oversight, or was it a restriction that came from somewhere else? (Doesn't seem to be a LUIS restriction. I can add spaces to intent names in LUIS.ai)
(@JaskeeratBedi-cmk fyi)

@mareekuh : Tagging you for visibility


angular7-example-app to 7.0.85

Promote angular7-example-app to version 7.0.85

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Toolbar redesign

The current toolbar needs a redesign since it has a scope issue. Currently,

Undo/Redo works globally.
Cut/Copy/Paste only works for action nodes on the visual canvas.

This will be a small design tweak.
Related issues:
https://github.com/microsoft/BotFramework-Composer/issues/1860, https://github.com/microsoft/BotFramework-Composer/issues/1415

Duplicate of #3494


Autofill not working with drop down selects

When using drop down selects the browsers auto fill does not select the correct entry of the dropdown despite having the fields properly named.
Is this a limitation of the custom controls?

It's a limitation of https://github.com/facebook/react/issues/10657. One workaround is to disable the BFcache with <form autoComplete="off">. Another one is to look at the input value and trigger an update on userland.


How to extend cache instance's functionalities?

When create a cache I want add a customized method for it, like
var profileCache = CacheFactory('profileCache')
profileCache.generateKey = function(profileName, profileAge) { return ...; }

Any way for me to add generateKey() to profileCache?
Thanks

I don't know of anything preventing you from doing exactly as you described in your example.

Closing because I’m not sure this is an issue, if you are convinced that this is really a bug, please feel free to re-open the issue and add more information:

good - Your versions of Angular, Angular-cache, etc, relevant console logs/error, code examples that revealed the issue
better - A plnkr, fiddle, or bin that demonstrates the issue
best - A Pull Request that fixes the issue, including test coverage for the issue and the fix

Otherwise support is done via the mailing list.


Document banned npm names

See also https://github.com/microsoft/dtslint/pull/349 and https://github.com/microsoft/dtslint/pull/350. As soon as an official decision for this issue exists, that should be referenced in the docs as well.
Cherry-picked from https://github.com/microsoft/dtslint/pull/351.

I sent an internal request to the npm team to exempt the @types scope from name checks. I haven't heard back but best-case is that it gets added as a low-priority work item to be fixed some time in the future.

Nice, thank you! It's a pity that we can't just send a PR ready-to-merge, though ...


Updating register-new-subscriber.js to enable storing of subscriber AWS Account ID

Issue 38
Description of changes:
-updated aws-sdk to version 2.1078.0
-updated register-new-subscriber.js to store CustomerAWSAccountId response from marketplacemetering.resolveCustomer()
Please don't merge until lambda updates globally to use version 2.1078.0 of the node sdk. This change could introduce errors if running on a lambda environment using an older version of the aws-sdk since marketplacemetering.resolveCustomer() wouldn't return the expect CustomerAWSAccountId.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

need to correct the package-lock file


Possible forgery of campain.ManagingTenantId

This check is used in several places in the app for determining if the current user is allowed to administrate a given campaign:
        public async Task<IActionResult> Edit(Campaign campaign)
        {
            if (campaign == null)
            {
                return HttpBadRequest();
            }

            if (!User.IsTenantAdmin(campaign.ManagingTenantId))
            {
                return HttpUnauthorized();
            }

            ...
        }

campaign is populated from model binding, and would allow a malicious user to specify ManagingTenantId. A more secure approach would be to retrieve the ManagingTenantId from the DB (based on campaign.Id) to verify privileges.
I'd also recommend using [BindNever] or similar on the model to disallow binding this field from user input.

I'll take this if no one else is working on it, and it doesn't clash with other work being done.

We are working in this area so best to hold off for now.

Okay


runtime: why a variable in closure can not be read in time?

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

$ go version
go version go1.11 windows/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\username\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=E:\libs;E:\projects
set GOPROXY=
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\username\AppData\Local\Temp\go-build715944026=/tmp/go-build -gno-record-gcc-switches

What did you do?
here is the code:
package main

import (
	"fmt"
	"sync"
)

func main() {
	var (
		i int
		wg sync.WaitGroup
	)

	wg.Add(2)

	go func() {
		for {
			i++
		}
	}()

	go func() {
		for {
			fmt.Println(i)
		}
	}()

	wg.Wait()
}

my  computer has 4 logic cpu, so these two goroutines may both have opportunity to run, but unfortunately, what was printed is always 0.
What did you expect to see?
print different value of i
What did you see instead?
always print  0

The two goroutines do not communicate, so there is no guarantee that something happens in one is visible to the other.
https://golang.org/ref/mem

Both goroutines are running, but i in main is always 0, and the gorout that executes i++ does not copy an i to perform the add operation.
Is i++ been executed by cpu, but the result is not updated to i in main?

The two goroutines do not communicate, so there is no guarantee that something happens in one is visible to the other.
https://golang.org/ref/mem

3Q

Dup of https://github.com/golang/go/issues/10958.


python3Packages.orjson: 3.6.4 -> 3.6.5

Motivation for this change
https://github.com/ijl/orjson/releases/tag/3.6.5
Things done

Built on platform(s)

[X] x86_64-linux
[X] aarch64-linux
[X] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build python3Packages.orjson

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/659


Dynamic sizing of the bottom sheet modal with less models

In case when user choose to use only a subset of chat models, BottomSheet modal should resize automatically to fit the new list.
This PR is going to take advantage of enableDynamicSizing prop that's now available to @gorhom/bottom-sheet 4.5.0+
Here's a quick demo of how things are going to act based on the ChatModels list selection
https://github.com/dabit3/react-native-ai/assets/2805320/71568924-490f-4dfa-92fd-c808051467f3

Backdrop

Dark
Hacker news
Light
Miami
Vercel

Backdrop behaviour video:
https://github.com/dabit3/react-native-ai/assets/2805320/047b51d2-6402-4b8f-bbff-b4c681d5f68e

Yo, this is great, thank you so much @catalinmiron 🙏


Changes to address GroupProcedure observer bug

As discussed in #574.

@danthorpe: I like how this is evolving.
As a point of clarification: previously, if a GroupProcedure child produced an operation, that operation would be added to the Group's queue, correct? (i.e. as a child of the Group?)

@swiftlyfalling we did have this special handling previously in Operations (although not originally, I think it was introduced in version 2). However - in the v4 rewrite of ProcedureQueue I didn't include this - as there was already some discussions that it wasn't consistent behaviour.
However, that if you have a GroupProcedure, and a child in that group (i.e. on the group's queue) calls produce(), then this new operation will get added to the receivers queue, which is the group's queue. However... the thing is, it will not go through the add(child: ) API, and so the group will essentially be unaware of it - i.e. it will not wait for it to finish.
This is not a bug, or a defect - that is the intended behaviour of produce(), while add(child:) is for adding a new child.

@danthorpe:
With the changes in this PR, a child of a Group that produces an operation will result in the produced operation being waited on by the Group.
(The Group's procedureQueue(_ queue: ProcedureQueue, willAddOperation operation: Operation) is called with the produced operation.)

@swiftlyfalling - I don't think so, in the observer in ProcedureQueue there are explicit checks for this here.

In terms of a group waiting on produced operations - I guess it'll be best to double check this with some more unit tests - as we don't have that specific test. I'll create another issue to investigate.

@danthorpe: Please see PR #588. Added a simple test that fails.

If we want to ensure that:

Produced operations do not get waited on by the Group.

Produced operations do not trigger multiple calls of observers.

Then we need to ensure that the group does not execute its willAddOperation QueueDelegate handler for operations produced by children.


FCS_COP.1/KeyEnc Cryptographic Operation (Key Encryption)

This SFR is in the sel-based section but has no selection criteria.

I feel there are other reasons to include this other than to support FCS_STG_EXT.2.


Seo 4626

initial one; made simple interface
from that structure I will make the function work.
will add configure more.
pls check;

Hi @seosigoto
Good start for ERC4626 implementation
You have also to add some factory contract that will instantiate these ERC4626 contracts , and that will be configured via the IVaultConfiger
Also, I didn't understood the allow and prevent strategies of the IVaultConfiger, can you explain ?
Finally updateuCRrate(uint) will handle default but not second part of Alex's request :
"uCR Premium, a math formula (default would be a linear calculation, 1 USDC -> 2 uCR)
...
This gives us flexibility to implement exponential or logarithmic functions which may more efficiently produce our desired economic outcomes!"

@seosigoto Hey, if you want to get effective feedback on a particular commit, it will be good to add a more detailed description of what was done and achieved in this commit.

This is for the interface: yield aggregator and includes ERC4626 Router common functions
The function for 1USD-> 2uCR will be declared in the function, and now only the name is shown.
Further work will cover the rate calculating function in this interface; IRateCalculator; we can get uCR amount when we call getUCRAmount function after RateCalculator deploy. currently, the getUCRamount function has 1 input, this can be changed.
This is the base function list, and I can add more if I need.

Seo believes that the goal of this PR is to create an interface.
The task is done - PR completed and ready for review.

@sergfeldman I suggest you break the spec into sprints and tag @zapaz and other experienced guys in for review at the end of each sprint

Full testing is mandatory for accepting a task.
Currently, the first configuration is missing, making it hard to start testing this PR.
Alain created some configuration on his side, but he still gets errors in the smart contract.
@seosigoto please provide your configuration usable for testing.


Option for "no implicit any"

In TypeScript there's an option noImplicitAny which issues a warning (or error) when the deduced type of a variable comes out to any, to encourage more consistent type annotations to be added. I would love to have a similar option in Lua!

Thanks, this is great - one minor nitpick though, it still complains on explicitly tagged any type variables/fields, which I do still have a few of!
There's also a few places where things seems like they should infer types and there's no convenient place to explicitly identify them, like the key,value from pairs in a for loop, but I assume those will improve over time as the type system grows more capable :)


Fix small typo in docs

name: :memo: Documentation Fix
about: Fix small typo
Checklist

[x] Is there an existing issue for this PR?
No
[x] Have the files been linted and formatted?
Yes

What docs page needs to be fixed?

Section: Using redux -> setup an organization -> NextJs
Page: https://redux.js.org/usage/nextjs

What is the problem?
3 small typos
What changes does this PR make to fix the problem?
fix typos

thanks!


chore: package updates

Description
Compatibility updates for skender.stock.indicators v1.23.1
Checklist

[x] My code follows the existing style, code structure, and naming taxonomy
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have performed a self-review of my own code and included any verifying manual calculations
[x] I have added or updated unit tests that prove my fix is effective or that my feature works, and achieves sufficient code coverage.  New and existing unit tests pass locally and in the build (below) with my changes
[x] My changes generate no new warnings and running code analysis does not produce any issues
[x] I have added or run the performance tests that depict optimal execution times
[x] I have made corresponding changes to the documentation

@LeeDongGeon1996 do we have any documentation on how to get started as a developer, from a prerequisite software installation perspective.  I couldn't get set up quite right on my local machine to run tests, so I had to just push to the PR to see if it works.

This might be a good 0.7.1 patch update to PyPI?

@LeeDongGeon1996 do we have any documentation on how to get started as a developer, from a prerequisite software installation perspective. I couldn't get set up quite right on my local machine to run tests, so I had to just push to the PR to see if it works.

For the test, I think we already have for that.
https://daveskender.github.io/Stock.Indicators.Python/contributing/#testing
Is there something missed in requirements-test.txt?

This might be a good 0.7.1 patch update to PyPI?

That would be great :)

@DaveSkender How do you think that updating minor version, not a patch version? Because there are some incompatible updates (file name changed, some helper methods removed)

Sure


Added integration test for testing CRUD concurrent performance with up to 32 threads.

https://www.pivotaltracker.com/s/projects/684825/stories/70724622
Integration test is added for CRUD concurrent performance testing with 2, 4, 8, 16, 32 threads to create, update, retrieve and delete objects and content files.

Hello @lsitu,
We are cleaning up the fcrepo4 repository on github. This pull request of yours was last updated on May 19, 2014. If you feel that it is still relevant, can you please create an issue for this in Jira and rebase your branch to eliminate merge conflicts. Otherwise, we would appreciate it you would close this pull request.
If we don't hear from you before November 20th, 2015, we will close it for you.
Thank you!


MedT Direct: Old schedule drops off end

While testing on the 523 pump I have here, I discovered that it's possible that if the oldest record on the pump is a CHANGE_BASAL_PROFILE_NEW, it won't be able to match to its corresponding CHANGE_BASAL_PROFILE_OLD as it has dropped off the end.
Since it's the first/oldest record (i.e., there are no basals prior to this change that can be affected), we can drop the CHANGE_BASAL_PROFILE_NEW in this instance.

  Medtronic Alpha Test - Issue Resolution Card [uploader]


Join

Github Email ID<EMAIL_ADDRESS>Github Username: ParadoxElder
A FrontEnd Developer who really likes technology, new things and likes to join many organizations. Love open source.
JS, TS & Dart enthusiast, experience with React, NextJS, React Native & Flutter.

Hey there @ParadoxElder , I've sent an invite to join the org. Feel free to turn the membership visibility on so that the org badge displays on your profile page under your organizations!

@ParadoxElder Also, if you have any query or want to start contributing to our organization please feel free to message me on our Discord server (https://discord.gg/RGPPrwSZ). Cheers


[Feature] Separate data structures from pools

Currently the pools such as ResultPool and ResultErrorPool hold a private data structure for the return values. It would be nice to export them and make them part of the library. They are mostly simple but especially the one for iter.Map would be interesting. Maybe it's out of scope for this library but it would be nice.

Hey @jeschkies! Thanks for the request. I looked into this a bit, and did not come up with any generalizable data structures that I think would make sense to expose. In particular, I don't want to make these internal data structures part of the public API, and they don't seem general enough to justify that. Feel free to copy and paste though 🙂


Analyzer vs CFE, missing warning in analyzer

Ran across an example where analyzer failed to warn about "This expression has type 'void' and can't be used." where the code was
return await call_to_void_function();

The same code when passed through the CFE during kernel generation failed.
Looks like the analyzer is missing a warning in this case.

@MichaelRFairhurst

@MichaelRFairhurst, can you verify that this is not an issue?

confirmed


How can I access parse tree?

I am working with JSCPP within browser. The demo has a debug.js. Not sure how to use it.

You can access the currently evaluated node with:
var mydebugger = JSCPP.run(code, input, {debug: true});
var node = mydebugger.nextNode();

If you want the whole ast tree, you need to first compile pegjs/ast.pegjs with PEGJS, and then:
var ast = require("./ast");
var PEGUtil = require("pegjs-util");
var result = PEGUtil.parse(ast, code);
if (result.error != null) {
  throw "ERROR: Parsing Failure:\n" + PEGUtil.errorMessage(result.error, true);
}


Cannot preserve position and scale of ParallaxLayer

Godot version
v3.4.beta5.official [dd0ee4872]
System information
Windows 11, GLES3
Issue description

Steps to reproduce
Use the reproduction project, and repeat the above process.
Minimal reproduction project
ParallaxLayerTest.zip

It's the nature of ParallaxLayer that its transform will be adjusted by ParallaxBackground and its own motion_* properties.
I think you can instead add another layer of Node2D and change the overall transform there.


Fixed errors, updated callback handling

Updated the callback handling; before the delta object given to the callbacks just ignored that the element itself might not have been moved do to constraints (object or newly implemented function), it just contained information about where the element would be without constraints.
This pull request should fix all other errors too.
I also updated the README according to callback handling.

Are you willing to implement that in the new version again?

Hi,
sorry for replying that late… I am very busy at the moment. I will have a look at the code at the weekend.
Best regards
Florian
--
Florian Loch
<EMAIL_ADDRESS><EMAIL_ADDRESS>Mobil: +4917691354966
Tennesseeallee 28
76149 Karlsruhe

Am 12.06.2015 um 01:06 schrieb Fuzzy<EMAIL_ADDRESS>Are you willing to implement that in the new version again?
—
Reply to this email directly or view it on GitHub https://github.com/wout/svg.draggable.js/pull/18#issuecomment-111302291.

Ok, so it seems like you already implemented it quite nicely. So we can finally close this request?

Did I? I thought your code will do something more which I missed in my code

I am pretty sure you did - I checked both versions and the features I added are implemented in the new version too. :+1:

Than it was something already implemented before I started working on it :)
Thank you anyway!


2024-10-29_01-35-24_master-next_python3-boto3

Automatically created.

Backport failed for kirkstone-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin kirkstone-next
git worktree add -d .worktree/backport-10204-to-kirkstone-next origin/kirkstone-next
cd .worktree/backport-10204-to-kirkstone-next
git switch --create backport-10204-to-kirkstone-next
git cherry-pick -x bfc33acd4750a0d9aa0a4ace26086616ad2ec5d3

Backport failed for scarthgap-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin scarthgap-next
git worktree add -d .worktree/backport-10204-to-scarthgap-next origin/scarthgap-next
cd .worktree/backport-10204-to-scarthgap-next
git switch --create backport-10204-to-scarthgap-next
git cherry-pick -x bfc33acd4750a0d9aa0a4ace26086616ad2ec5d3

Backport failed for styhead-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin styhead-next
git worktree add -d .worktree/backport-10204-to-styhead-next origin/styhead-next
cd .worktree/backport-10204-to-styhead-next
git switch --create backport-10204-to-styhead-next
git cherry-pick -x bfc33acd4750a0d9aa0a4ace26086616ad2ec5d3


Add instance parameter for Hooks API

PR for this issue https://github.com/facebook/react/issues/17742

@j-f1 @flaviendelangle if it's possible would you please explain a bit more your dislikes? Do you think that current behavior is better?

Do you think that current behavior is better?

Yes. Since the current API works just fine. Changing this would require re-teaching Hooks to every React user, and would require more explanation of what the instance parameter is when teaching React the first time. Also, if the instance parameter isn’t an opaque object, it’d need to be documented and subject to React’s backwards-compatibility guarantees. This change would require every custom hook library to be updated. It also conflicts with the old-style context API for function components (although I’m not sure if that’s still supported).

In addition to that, this would not make function components any more pure, and assuming that function components should be pure is a fallacy.
There will always be hooks that hold external references, wait for external data, etc.
Oh, and then there's useEffect. Pure functions should not cause side effects.
The key to function components is idempotency, not purity.
Call it 1 time, or n times at a specific point in time -> always get the same result.
Call it at another point in time -> no guarantees, external dependencies might have changed.
So going for something that makes function components somehow seem more pure will just instill a wrong mindset in learners without any real benefit.

@j-f1 imho it's easier to understand what does new parameter do than to understand why I have an empty state when React calls component's function for the first time and non-empty state when React calls it again. Even the idea of this hidden context is too complicated and it can influence the implementation of an application and React framework itself.

So going for something that makes function components somehow seem more pure will just instill a wrong mindset in learners without any real benefit.

@phryneas I think my point of view is not clear enough. The main idea is not to convert functional components with hooks to pure functions. I agree with you - it can be impossible in some situations. The main idea is writing the code which is clear not only for experienced developers, but for juniors too. Let's take a look at such an example: I want to write a function which will receive some user's attributes from the database and fill existing user object.
First example:
async function fillUser() {
  const data = await fetchUserData();
  user.name = data.name;
  user.email = data.email;
}

This function is not pure and it modifies some global variable user. It's difficult to understand where this variable is stored and how it appears in the code of the function. It's not because this function is not pure, it's because this function uses hidden global variable.
Second example:
async function fillUser(user) {
  const data = await fetchUserData();
  user.name = data.name;
  user.email = data.email;
}

This function is still not pure but it receives user variable which will be modified as an argument. It makes code more understandable. To write a test for this function I need to provide an object as an argument and that's all. I don't need to find and modify some global variables. I can run several tests in parallel and I'll be sure that nothing will go wrong because every test uses it's own user object.
Talking about hooks - the situation even more sophisticated: there is a function useState and for people who is not familiar with React sources there is no idea how it stores the data and how it associate the data with some particular virtual DOM element. In this situation the developer has two options: think about useState as a magic or spend a lot of time exploring React source code. It can be almost impossible for the beginners.
Talking about useEffect. I think this hook does not perform any side effects right now, it just plan to perform some effects in some moment in the future. Introducing instance parameter makes it more clear:
useEffect(() => {
  // ...
}, []);

It's difficult to understand when this code will be executed because there is no explicit connection with some object of virtual DOM or something like this.
useEffect(() => {
  // ...
}, [], instance);

It this case it's more clear that this effect associated with this particular instance and for different instances there will be different effects.

I feel like a blog post like this does a pretty good job of explaining how hooks work without needing to add a parameter to every Hook call.

there is a function useState and for people who is not familiar with React sources there is no idea how it stores the data and how it associate the data with some particular virtual DOM element.

My experience teaching hooks to people suggests this is not nearly as difficult to understand as you might think. Most people recognize that the function call is tied to the component and don't need a full understanding of the internals to use them. Threading down the instance object just moves the question to "what is this object and where does it come from?", which doesn't really make things that much clearer. It also exposes internals to users in a way that is probably undesired.
This proposal also doesn't take into account the fact that function component often have a second parameter: legacy context is provided via that parameter if contextTypes is set as a static property, and ref is provided there if the functional component is a ref-forwarding component.

@j-f1 sorry, but I think that if you need to read a long post to understand how Hooks can be implemented it means that something wrong with this conception.

@mAAdhaTTah I think the whole idea of React components is to write classes and functions which will be called by React, so the answer to the question "what is this object and where does it come from?" is simple - it's an object provided by React when it calls component function. Moreover it makes the behavior of the function component more obvious because it doesn't hide the idea that function component manipulates virtual DOM instance.
Taking about legacy context and ref - it's a good question. I'll think about it. Thanks!

I think that if you need to read a long post to understand how Hooks can be implemented it means that something wrong with this conception.

I don’t think that’s true. Just because something is hard to implement doesn’t mean it’s hard to use and understand. Also, the blog post isn’t that long.

the answer to the question "what is this object and where does it come from?" is simple - it's an object provided by React when it calls component function.

This is not significantly more clear than "React manages the component state internally," especially if the object doesn't have an API you use, because the introduction of this object raises a whole host of new questions about the object you're interacting with. This is made even worse by the transition path: if the object is optional, but you get yelled at for not using it, what is React even doing with it? What is its purpose? And if it is to track state on, why can't you assign state to it directly? What else does it do? Is supposed to be opaque or something we actually use?
So this proposal introduces a bunch of syntactic overhead (the addition of an argument to every component and threading into every hook is not trivial–think of not only all of the hooks in your codebase, but all of the hooks currently published on npm), introduces a host of new questions that aren't relevant to a developer's ability to program with hooks effectively, and exposes internals to the user. That's a lot of drawbacks, and unless the user gets some new functionality or benefit out of it, that's a lot to overcome.
Making it less "magical" isn't necessary unless the magic is what's actively preventing people from learning & using hooks effectively. That doesn't seem to be the case, based on my own experience teaching them.

Also, having this object will encourage people to abuse it.

"Why not manually modify it? "
"Why not store it in a global and share it between two components that way?"
"Why not pass it to another component as props so that that component can share state that way?"

People will come up with dozens of such dangerous patterns. And there's a really good reason why none of these is possible today.

Hi there! Thanks for the proposal.
We don't find these arguments compelling for the reasons already described in a comment on the original Hooks RFC: https://github.com/reactjs/rfcs/pull/68#issuecomment-439314884. You can look at Injection Model and Testing sections for more details. I believe all of these points are addressed there.

It also makes React code more robust especially for concurrent rendering because there are no global variables that can be corrupted by another Fiber (see React Fiber Architecture for more details).

React manages calling Fibers, so this is not a real issue.


Invalid missing workspace folder warning

in stall memfs-extension
run memfs > create workspace
🐛 warning shows and sticks

It seems if you update the settings via editing the workspace settings in JSON configuration file directly. Closing the workspace and re-importing it '"solves" the issue.
Changing the order of the folders in the editor results in the "can not resolve workspace" error again. Files are saved and viewed correctly though.

I'm seeing this too, without using extensions or editing any settings files.
Repro steps:

Start code --disable-extensions
File > Open Folder
Select a folder
File > Add Folder To Workspace
Select a different folder

Result:
The second folder has a yellow highlight and exclamation point in the Explorer sidebar. Hovering over it shows the message "Can not resolve workspace folder".


chore: use db.system constants from semantic-conventions package

Which problem is this PR solving?

DbSystemValues constants were used in some places but not in others

Short description of the changes

use DbSystemValues everywhere for db.system attribute values

@trask just confirming chore. Our automation uses the title of the PR to automatically determine the semver version change and chore does not cause a release because there should be no change in behavior. It seems to me thats fine here, but I want to confirm this is what you intended.

@trask just confirming chore. Our automation uses the title of the PR to automatically determine the semver version change and chore does not cause a release because there should be no change in behavior. It seems to me thats fine here, but I want to confirm this is what you intended.

ya, there should be no change in behavior, the code was already using the correct values, just not pulling them from the semantic-conventions package (whether I intentionally used chore correctly is a different question 😂 so thx for checking)


Add nextest as the test runner for all wash tests.

This will have an improvement on the speed of our test runs (due to nextest's design), but the main benefit is that it lets us automatically retry tests locally and on CI. This fixes a pain point for many wash PRs lately where one of the integration tests flakes out. Retrying reduces the impact of these flakes significantly.

@mattwilkinsonn would you mind just adding a snippet into the README or a make rule or something that can prompt people to install nextest?

Done! Added to DEVELOPMENT.md. I messed around with trying to check if it was there in the Makefile but I don't think there's an easy way to do it


Add O_TMPFILE constant

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@bors: r+
Thanks!

It does not seem like bors noticed? Or should I just be more patient?

@bors: r+

@bors: r+

:pushpin: Commit 6207166 has been approved by alexcrichton

:hourglass: Testing commit 6207166 with merge 43f1d3f...

Thanks for the poke! Should be fixed now

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 43f1d3f7ed90fe2a474358851ed6dce199b31230 to master...


no library

hi, i download and not has library mylibaxolotl.dll and WhatsAppApi.dll or i have a error. please help me pls

have you tried compiling the code?

When we can get image decrypted? :)
Saludos,
Pablo
El 17/3/2016 22:14, "kwailo888"<EMAIL_ADDRESS>escribió:

have you tried compiling the code?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/mgp25/Chat-API-NET/issues/162#issuecomment-198150953

@pablokerestezachi currently working on this ... should be soon :)


how to modify the scan delay ?

hi just downloaded this since AHAAAA's map is off and it's a great map and easy to use, but i live off-town and i need a faster scan to not miss pokemons who can be far from the scan center so how can i change that data to an acceptable delay ?

I believe the scan delay is pre-set so as not to trigger server throttling.

It appears each circle is now scanned every 10 seconds? It was 5 seconds before the API changes.

i've timed it and it's 15 sec, it's way too long

And I'm sure there's no way to change that? Might need to start utilizing multi accounts

Yeah I'd try that.

You can't change the scan speed without triggering server throttling from niantic. You need to open a second instance of the map (with a different PTC account) 5 minutes after you open the first one. Then minimize the second instance and the first map will show updated from both of the maps.

i've tried to run it with two google accounts but the second is always "waiting" and no scan begins on the first map, so what should i do to make both scans operationnal


Asking for Help: a fractional form of implementation

Dear developers
hello.
I want to ask how do terminating forms expand into polynomials

You will need to use an approximation for modeling the above. You can easily compute the frequency domain characteristics of this and then use frequency domain identification tools in FOMCON such as fotfrid for which you just need to prepare a ffidata object from the computed frequency domain characteristics.


Cursor jump on Safari

This code is problematic on Safari. (No problem on Chrome and Firefox)
input [ value = model.value, onInput = Input ] []

When any character is input, the cursor jumps to the end of the input.
SSCCE:
https://ellie-app.com/3c4pB2jrR8Ca1
4912804 says there should be no need to use defaultValue for workaround, but it still happens.

elm 0.19
elm/html 1.0.0
Safari
macOS Sierra

Someone in elm-jp community found that 0.19 alpha does not have this problem, and this commit should be the root cause.
https://github.com/elm/virtual-dom/commit/942a5e63e056b85564fe1e0a2799ce510459b385#diff-e9aea911dda84230fda6fa81f6a0866bR496
Apparently key !== 'value' || key !== 'checked' is always true!
I'm not confident about how to fix it, but is this enough info for you @evancz ?

Some core team folks reviewed https://github.com/elm/virtual-dom/pull/135, and they tell me it should fix this. Can do a patch soon.

Nice, thank you!


Integer chunksize value only works with JSONL strings

arrow-pd-parser should support two different value types for the chunksize variable (string value denoting the memory allocation size i.e. 1GB or an integer value specifying how many rows to split by).  However when specifying an integer value, the reader will only successfully split data from a JSONL file (line-delimited). I was unable to chunk when giving a comma-delimited JSON file.

This issue won't be easily solved, as pandas and awswrangler only support chunking for line-delimited json files. We'd need to do something along the lines of https://docs.aws.amazon.com/AmazonS3/latest/userguide/example_s3_Scenario_UsingLargeFiles_section.html


Pin xml-rs dev-dependency to 0.8.8

There is a breaking change in 0.8.9
https://github.com/netvl/xml-rs/issues/223
bors r+

bors r+


docs: Add contribution documentation

Overview
Currently, this project lacks any guidance for anyone to contribute. We need to write better documentation for contributors especially since the parsers are now easily extendable to support more languages.
Tasks

[x] Create issue template a7d82dfbae14017451be418cf11fed9ca44838c0
[x] Create pull request template 964e792b71b92c29c85c9df6c8d2c28ee03e645b
[x] Write better documentation about CLI options and arguments fbc1e41336aa83d8f79217e2916396aa2103876e
[x] Write contribution guidelines 63a215a7de9018776517b58de30d9354c2216ada
[ ] Write documentation about parser contribution

Issue template is created via #5

Pull request template is created via #7

Documentation is rewritten via #14

Contributing guidelines is added via #16

Parser contributing guidelines is added via #18


LND Payment Speed (Especially on Low-Powered Devices)

Background
When making a payment with LND, upon starting the payment with lncli sendpayment --pay_req, CPU load will immediately go to 100% as it starts the pathfinding/signing process. Since the timeout is set at 1 minute for this command, in many cases this does hit the timeout.
Some invoices are OK to be retried for an hour or more, 15 minutes, or just 3 minutes for moon. The faster the expiry the more critical it is for the payment to go through within the timeout. Paying with lightning becomes a more difficult process of retrying the payment as fast as possible with the hope of getting lucky and finding a working path, before having to regenerate the payment invoice.
This is being created as a new issue, as I think this is a somewhat solved problem for high-powered devices, or low valued payments. As the payment amount gets greater, the pathfinding problem (I imagine) gets more difficult, and involves attempting more routes before finding a match. These lower powered devices start hiccuping in these conditions.
Questions: If a payment times out, does LND learn anything from the experience? If I restart the payment is the chance of finding a route the second time get any better?
Your environment
Odroid XU4

version of lnd
0.7.0beta
which operating system (uname -a on *Nix)
Linux 2584fe7 4.16.7-odroid #1 SMP PREEMPT Mon Mar 25 09:36:42 UTC 2019 armv7l armv7l armv7l GNU/Linux
version of btcd, bitcoind, or other backend
bitcoind 0.17.1
any other relevant environment details
I am using BalenaOS container engine for running docker containers on embedded devices.

Steps to reproduce

Have no channels to any target nodes.
Send payment to satoshis.place for just a few satoshis: It works!
Send payment to Moon to pay on Amazon for significantly more: Many, many timeouts!

Expected behaviour
I should be able to make a payment without a single retry for the vast majority of payments, on Pi3 or Odroid XU4 devices, or even lower (like Pi Zero W running neutrino).
Actual behaviour
Timeouts for payments

Thanks for the report, this is something we're aware of (see #3266).

If a payment times out, does LND learn anything from the experience?

Yes, see https://github.com/lightningnetwork/lnd/pull/2802.

If I restart the payment is the chance of finding a route the second time get any better?

Not at the moment, but this will be resolved with #3164.
As for the CPU usage concern, would you be able to obtain a CPU profile? You'll have to enable profiling in lnd with the --profile=PORT flag and restart. Once done, you can run go tool pprof -png http://localhost:PORT/debug/pprof/profile. This will produce a PNG file which you can then include here.

Not at the moment, but this will be resolved with #3164.

fwiw if you restart the payment without restarting the daemon, past attempts will be factored in. #3164 will allow this info to be kept across restarts

Ok, here are the profiles. Profile001 is lnd idle, and profile002 is while I am trying to make a payment.

@sako0938 thanks for the profiles!
Part of this issue has already been addressed by #2926, which will prevent us from doing unnecessary disk access on nodes that have already been visited during path finding. IIRC the benchmarks showed about 25% speed up in this department.
The primary fix however is to use a cache when traversing the graph for pathfinding. We have an existing cache that is used for a slightly different purpose, but I think in the future we will rework it to optimize for use in path finding. This will prevent us from doing all these unnecessary db lookups unless the size of the graph is much larger than the size of the cache

Ok interesting Ill keep up on it. Ive been doing a little bit more debugging. Not sure if I know exactly the meaning behind this, but it looks like not many full attempts are being made:
`root@2584fe7:/usr/src/app# tail -100f ~/.lnd/logs/bitcoin/mainnet/lnd.log | grep "Closed completed FAIL circuit"
2019-07-18 01:57:56.401 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39028) <-> (585458:1070:0, 26)
2019-07-18 01:57:56.469 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39028) <-> (585458:1070:0, 26)
2019-07-18 01:58:18.133 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39029) <-> (585458:1070:0, 27)
2019-07-18 01:58:18.193 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39029) <-> (585458:1070:0, 27)
2019-07-18 01:58:39.302 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39030) <-> (585458:1070:0, 28)
2019-07-18 01:58:39.375 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39030) <-> (585458:1070:0, 28)
2019-07-18 01:59:18.812 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39031) <-> (585458:1070:0, 29)
2019-07-18 01:59:18.870 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39031) <-> (585458:1070:0, 29)
2019-07-18 01:59:40.015 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39032) <-> (585458:1070:0, 30)
2019-07-18 01:59:40.102 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39032) <-> (585458:1070:0, 30)
2019-07-18 02:00:01.687 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39033) <-> (585458:1070:0, 31)
2019-07-18 02:00:01.761 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39033) <-> (585458:1070:0, 31)
2019-07-18 02:00:36.222 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39034) <-> (585458:1070:0, 32)
2019-07-18 02:00:36.283 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39034) <-> (585458:1070:0, 32)
2019-07-18 02:00:57.847 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39035) <-> (585458:1070:0, 33)
2019-07-18 02:00:57.906 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39035) <-> (585458:1070:0, 33)
2019-07-18 02:01:18.849 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39036) <-> (585458:1070:0, 34)
2019-07-18 02:01:18.908 [DBG] HSWC: Closed completed FAIL circuit for 3b6ba6812ad6178d06ffa95223ed9c1cd86afe81e73386ce8bb68cd74af597f8: (0:0:0, 39036) <-> (585458:1070:0, 34)
`
The spaces between are when I retried the payment. It seems to to only complete 3 fail circuits per 1 minute timeout.

After about 10 or so timeouts for the ~50000 sat purchase it finally worked! And then I immediately went to send another ~50000 and it worked 1st time (after about 30 seconds). Still super cool the path finding memory.

After about 10 or so timeouts for the ~50000 sat purchase it finally worked! And then I immediately went to send another ~50000 and it worked 1st time (after about 30 seconds). Still super cool the path finding memory.

We will track edges/nodes that caused failures in the past, and use them to inform subsequent payments. That's probably why the second attempt was much faster. #3164 will make that state persistent so it can be reused after restarting the node!

@sako0938 Just to clearify, are you saying it got slower after updating to 0.7.0 (and earlier versions where quicker)?

It for-sure got slower. Especially for higher payment amounts. It seems like the payment amount ceiling where payments happened first try was lowered significantly.

On the latest V0.7.1beta-rc1, I was able to pay for something fairly expensive first try with my Odroid, directly after a restart. Seems like good progress!

@sako0938 did you notice any speed improvements? Would you be able to provide a new profile running v0.7.1?

0.17.1beta has definitely been a bit snappier! I only had to retry the payment once for a reasonable sized payment. Here are some new profiles.
Idle

Sendpayment 1

Send Payment 2

Thanks @sako0938! It seems like most of the work being done here is just reading the graph from disk, which should be gone once we move to in-memory pathfinding.
Will be closing for now given the enhancements already included in v0.7.1.

So 0.7.1 featured a cache of the graph, but sometime later that cache will now be stored in memory instead of on disk?

There's no caching yet, we explore the graph from disk during every payment attempt at the moment. The improvement in v0.7.1 was mostly due to https://github.com/lightningnetwork/lnd/pull/2926.


Update README.md

zBench.run now expects three arguments

Welcome @jasperdunn, and thanks for your first contribution! 🚀  It's great to see new community members jumping right in. We do need a small update to the README.md based on your observation. If you could revise your PR with the provided snippet, that would be fantastic!
test "bench test" {
    const test_allocator = std.testing.allocator;
    var resultsAlloc = std.ArrayList(zbench.BenchmarkResult).init(test_allocator);
    var bench = try zbench.Benchmark.init("My Benchmark", test_allocator);

    var benchmarkResults = zbench.BenchmarkResults{
        .results = resultsAlloc,
    };
    defer benchmarkResults.results.deinit();

    try zbench.run(myBenchmark, &bench, &benchmarkResults);
}

Thanks for the welcome @hendriknielaender!
I updated to the latest commit hash, and tried running this test:
fn myBenchmark(b: *zbench.Benchmark) void {
    _ = b;
}

test "bench test" {
    const test_allocator = std.testing.allocator;
    const resultsAlloc = std.ArrayList(zbench.BenchmarkResult).init(test_allocator);
    var bench = try zbench.Benchmark.init("My Benchmark", test_allocator);
    var benchmarkResults = zbench.BenchmarkResults{
        .results = resultsAlloc,
    };
    defer benchmarkResults.results.deinit();
    try zbench.run(myBenchmark, &bench, &benchmarkResults);
}

Unfortunately, it hangs indefinitely, do you know what could be going wrong here?
I am also wondering if we should be calling something like defer test_allocator.destroy(bench); or defer bench.deinit() as well.

Yes your idea to include defer bench.deinit() or defer test_allocator.destroy(bench) is a good one. Seems that we missed that.
Regarding the example, i guess the issue is that the myBenchmark fn doesn't need to be used in the function itself anymore (e.g: _: *zbench.Benchmark). And that there is no fn being passed down. I guess we need to handle the case when there is no fn.
fn myBenchmark(_: *zbench.Benchmark) void {
    _ = helloWorld();
}

Nice, I'll try and take a look into these in separate branches.
Btw I just pulled main and zig build test_examples isn't printing anything for me. Any ideas?

@jasperdunn I think that is intended. If you look at build.zig, there's a const install_example = b.addInstallArtifact(example, .{});, meaning that a binary is "installed" (dumped to /zig-out/bin) for each example. If you want to run the examples from the build-script, you'd have to add a run step, i.e. b.addRunArtifact. For unit tests, you normally have no install step, only the run step. If you then run the tests, no news are good news, i.e. there's no output to stderr if all tests pass. In our case, we want to have the examples as executables that always give output since we want to see the test aka benchmark result.
Honestly, I found zig's build system a bit confusing at first. But you get used to it. It's not as simple as a go build or cargo build but it gives you a lot of control - and has to work with C/C++ as well. Btw. Andrew Kelley recently released a docs page on the build system: https://ziglang.org/learn/build-system/

Thanks for the detailed response!
Yeah the build system is very powerful, I look forward to it stabilising 🤞
I  assume from looking at the readme that running the zig build test_examples command should print the benchmark results. Whereas the zig build test command would simply run the tests? There is no expect in these example benchmark tests, so they’ll always pass if they compile?
I don’t feel comfortable updating the readme if I can’t get the benchmark examples working 🥲
I also noticed some of the tests aren’t being run e.g. utils. I know this is a known issue with zig atm where it won’t find all the tests for you, should these be getting tested?
Happy to raise a PR for importing the files with tests into a tests.zig file. Not sure what everyone’s doing these days but I have seen this pattern used.

Another thing about tests in zig is that they get cached, meaning that if a tests succeeds once and you don't change the tested code afterwards, it won't get run again by the build-system. That's kind of not what you want for an example. I'd be fine with building and running the binaries but let's hear what @hendriknielaender has in mind how the examples should work.
I'm not aware of any conventions in zig about where to put tests, I've seen them all over the place in some repos. IMHO, having a test alongside the code is OK if it's for illustration or if there's just a small amount of code overall getting tested. But if you start to accumulate a large number of unit tests, that just clutters the actual code and I would rather have tests-only .zig files. Just as I would have a [packagename]_test.go in go for example. Which can contain examples btw. 🦾 😁

Another thing about tests in zig is that they get cached
Oh yeah! I forgot about that part, I wonder if you can turn the caching off.

building and running the binaries
I didn't realise that's what I had to do for the examples 😁

Now I'm wondering if the benchmark code should even be run inside a test? 🤔
Considering that:
A. a benchmark can be run again (no caching)
B. a benchmark can't fail a test?

Yeah, I was originally advocating to have benchmarks as part of tests. Got spoiled by go I guess. Thinking about it now, I'm not too strong on that opinion anymore ;-)

Hey @jasperdunn @FObersteiner
I think running benchmarks within tests can have some tangible benefits. It ensures that performance considerations are an integral part of our test suite, and not an afterthought. This integration can help us routinely monitor performance as we continue development, catching regressions or improvements as they happen.
Yur observations and the issues you've encountered, I believe it's wise to claim that benchmarks should indeed run within the test framework but with certain conditions in place. For one, we should ensure that benchmarks do not get cached, allowing them to be run multiple times for accurate measurements. Additionally, benchmarks should be designed so they do not cause test failures by themselves since their purpose is to measure, not to validate correctness.
If we manage to refine zBench to be stable and error-proof, it might be worth proposing its methodology to the wider Zig community. Perhaps it could become a part of the standard library or a recommended external tool. This would require a formal proposal and demonstration that zBench is robust and provides significant value.
I will open an issue, to include all tests in zig build test  👍. For the other case I think the separation is okay that our benchmarks are build with test_examples. Maybe we need also more information on that in the README.

Sounds good, I think it makes sense to close this PR for now, we can improve the documentation once we've implemented / settled-on some of these ideas.


Use grpc-netty-shaded

This should help CBT client be consistent with google-cloud-java

This was fixed by #1838


Set initial value on AutoComplete with DataSource

I'm trying to set the initial value on an AutoComplete field with a DataSource. Sadly I'm probably doing something wrong.
I have the following dataSource
export const countryCodes = [
  { text: 'Afghanistan', value: 'af' },
  { text: 'Åland Islands', value: 'ax' },
  { text: 'Albania', value: 'al' },
  ...

And the component
import { AutoComplete as MUIAutoComplete } from 'material-ui';

render() {
    ...
    const dataSourceConfig = { text: 'text', value: 'value' };

    ...
    return (
      ..
      <Field
        name="isoCountryCode"
        component={AutoComplete}
        filter={MUIAutoComplete.caseInsensitiveFilter}
        dataSource={countryCodes}
        dataSourceConfig={dataSourceConfig}
      />
      ...
   )

But I'm unable to set the form initial value. I'm not sure if I should pass the full item, just the text or the value, but neither of them seem to work. The following code correctly sets the user name, but the AutoComplete is empty:
export default connect(
  (state) => ({
    initialValues: {
      name: 'Jane Doe',
      isoCountryCode: countryCodes[1],
    }
  }),
)(decoratedForm(UserForm));

did you figure this out? i'm facing the same issue.

Same problem here, seems they do not accept objects and the datasourceconfig.

Hey guys! I am running into the same issue. Initial values works as expected on the text input fields but not on autocomplete. Has anyone been able to get this working? Thanks!

I'm in this boat. I'm also noticing that if the AutoComplete is re-mounted (eg. in StepperContent) that the search text is not preserved (the value does, however, remain in the redux-form state)

I Have the same problem, Anyone can solve out that?

https://github.com/erikras/redux-form-material-ui/pull/140

It works for me when passing a hash as the initial value
import AutoComplete from 'material-ui/AutoComplete';
import {
	AutoComplete as RFMaterialAutoComplete
} from 'redux-form-material-ui';

<Field
	name="myAutocompleteField"
	component={RFMaterialAutoComplete}
	type="text"
	filter={AutoComplete.fuzzyFilter}
	hintText="Select a value"
	dataSource={anArrayOfValueAndTextHashes}
	dataSourceConfig={{ value: 'value', text: 'text' }}
	openOnFocus
/>

initialValues
{
  initialValues: {
    myAutocompleteField: {
      text: 'something',
      value: 12345
    }
  }
}

Hope that helps.

It looks like the latest code on master fixes that issue too, unfortunately no new version has been published.
Meanwhile I forked the repo, and committed my build, and it seems to work fine.
In my package.json I just replaced
"redux-form-material-ui": "^4.2.0",

by
"redux-form-material-ui": "https://github.com/fallanic/redux-form-material-ui/tarball/a0d8c679eacf889ffb88a684db31b2e321bb4f11",

It's not great, but it will do the job until the next version published on npm.

When will there be a release with this fix ?

This has been fixed with latest version of 4.x


Update DeveloperGuide

Codecov Report

Merging #34 (08dc415) into master (b117639) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #34   +/-   ##
=========================================
  Coverage     60.16%   60.16%
  Complexity      413      413
=========================================
  Files            80       80
  Lines          1554     1554
  Branches        168      168
=========================================
  Hits            935      935
  Misses          581      581
  Partials         38       38

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 b117639...08dc415. Read the comment docs.

LGTM


Wrong color after detaching tab

The following actions result in a wrong color.

Have two tabs open.
Detach the foreground tab to a new window by either dragging, or right clicking the tab and "move to new window"
The remaining background tab now keeps the color from the detached foreground tab.

Tried the following in the remaining background tab (so that is now 1 tab in its own window)

Reloading the  tab doesn't fix it.
Using the home button to go to the "Firefox Home" page, retains the same color from the detached foreground tab.
Other websites do get a proper color.
Going back to the website the tab started out on, sometimes reverts to the color to the detached foreground tab.

I am using Firefox beta 101.0b4.

@cnieuweboer the bug should have been fixed in the latest version, v1.4.6. Thanks for reporting the bug!


refine(DeclareContract): revamp RPC starkNet_declareContract

Refines refactor declare contract to allow fee estimation and include deploy.
Since there are now shared parts between execute-ten and declare-contract a new rpc class has been created.
However this create circular import issue during testing.
Hence this PR is in draft for now.
BEGIN_COMMIT_OVERRIDE
chore: Refine RPC starkNet_declareContract to include fee estimation and deploy account if needed.
END_COMMIT_OVERRIDE

Will re-open later.


Assign unique ids to warriors

Addresses #62

This will simplify bunch of UI functions where I had to add data to the warriors +1