[Testerina][Mocking] Error while creating default mock object

Description:
When trying to create a default mock object and stub the functions, the below line throws an error.
dbClient = test:mock(jdbc:Client);
Error:
incompatible types: expected 'ballerinax/java.jdbc:0.0.0:Client', found 'object { }'
This works without an issue in swanlake release, but fails in 1.2.7.
Steps to reproduce:
Try the example specified in section "Stubbing to do nothing" in the mocking guid [1]
[1] https://ballerina.io/learn/testing-ballerina-code/mocking/
Affected Versions:
1.2.7

We need to cast the mock object to the relevant type. Please try dbClient = <jdbc:Client>test:mock(jdbc:Client);. The casting was removed in Swan Lake Previews after the introduction of dependently-typed function signatures but the 1.2.x versions still has to have the cast. @Ibaqu we should fix the website guides  for 1.2.x.

We need to cast the mock object to the relevant type. Please try dbClient = <jdbc:Client>test:mock(jdbc:Client);. The casting was removed in Swan Lake Previews after the introduction of dependently-typed function signatures but the 1.2.x versions still has to have the cast. @Ibaqu we should fix the website guides for 1.2.x.

Yeah, I was able to get through that with casting. Let's fix the website guide.

I have updated the website so we can close this issue.


[FromForm] + Dto reference Results in the dto being ignored in the schema for the endpoint

With 6.5 (latest for .net 7.0) I have the following Dto:
[DataContract]
public record FileUploadDetailsDto {
	[DataMember]
	public required string Uri { get; init; }
	[DataMember]
	public required string Name { get; init; }
	[DataMember]
	public required ResourceTypes Type { get; init; }
	[DataMember]
	public string LanguageCode { get; init; } = "EN";
	[DataMember]
	public IFormFile? File { get; init; }
}

And a controller like this:
	[HttpPost(nameof(AddResource))]
	public async Task<ResourceDto> AddResource([FromForm] FileUploadDetailsDto details, CancellationToken cancellationToken = default) {

Swashbuckle is ignoring FileUploadDetailsDto entirely and not putting it into the json file, and then creating:

"requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "ParentId": {
                    "type": "integer",
                    "description": "The Parent to the file that is being uploaded",
                    "format": "int32"
                  },
                  "Uri": {
                    "type": "string",
                    "description": "The URI if the Type is Link. The Filename otherwise"
                  },
                  "Name": {
                    "type": "string",
                    "description": "The Name of the resource."
                  },
                  "Type": {
                    "$ref": "#/components/schemas/ResourceTypes"
                  },
                  "LanguageCode": {
                    "type": "string",
                    "description": "The language associated with the resource."
                  },
                  "File": {
                    "required": [
                      "Length"
                    ],
                    "type": "string",
                    "description": "If Type != Url then the file that will be posted.",
                    "format": "binary"
                  }
                }

I'd like to see it generate the Dto properly and reference it on the endpoint correctly.  My understanding is that this should work per above, but it doesn't. How do I get it working? Shouldn't this just work?
(I can force the type into the schema using a document filter, but I can't get the endpoint definition to use it correctly)
It does appear that it defines IFormFile properly however. (???)

PS: Here's my attempt to fix this as an OperationFilter:
public class FixFromFormOperationFilter : IOperationFilter {
	public void Apply(OpenApiOperation operation, OperationFilterContext context) {
		if (context.ApiDescription.HttpMethod != "POST" && context.ApiDescription.HttpMethod != "PUT")
			return;

		if (context.MethodInfo.GetCustomAttributes(true).FirstOrDefault(a => a.GetType() == typeof(ConsumesAttribute)) is not ConsumesAttribute consumesAttribute || !consumesAttribute.ContentTypes.Any(ct => ct.Equals(MediaTypeHeaderValues.MULTIPART_FORM_DATA, StringComparison.InvariantCultureIgnoreCase)))
			return;

		var paramInfo = context.MethodInfo.GetParameters().FirstOrDefault(p => p.GetCustomAttribute<FromFormAttribute>() is not null);
		if (paramInfo is null)
			return;

		//Now we're going to rewrite the operation to fix it.
		OpenApiSchema referenceSchema;
		if (!context.SchemaRepository.Schemas.ContainsKey(paramInfo.ParameterType.Name)) {
			referenceSchema = context.SchemaGenerator.GenerateSchema(paramInfo.ParameterType, context.SchemaRepository);
		} else {
			referenceSchema = context.SchemaRepository.Schemas.First(s => s.Key == paramInfo.ParameterType.Name).Value;
		}

		var mediaType = operation.RequestBody.Content.First().Value;
		mediaType.Schema = new OpenApiSchema {
			Reference = referenceSchema.Reference,
		};

		mediaType.Encoding.Clear();
	}
}


[Feature] Move Withdrawal struct

Component
rpc
Describe the feature you would like
At the moment, especially in Reth, we need Withdrawal structure generally beyond the rpc crate. This requires defining a Withdrawal type in the Reth primitives and then using either this structure in the other crates or the structure coming from alloy as defined here:
https://github.com/alloy-rs/alloy/blob/48f1c0fbf6e22f09c1b3f297955f5acea0b0f99d/crates/rpc-types/src/eth/withdrawal.rs#L26-L38
But these structures are exactly equivalent and therefore their dual use creates confusion and type incompatibilities.
Recently, a Withdrawals structure which represents a vector of Withdrawal was also created in Reth primitives:
https://github.com/paradigmxyz/reth/blob/2bcdec94abcbe61fcf8fbae5a3ef62a52360f548/crates/primitives/src/withdrawal.rs#L42
In conclusion why not:

Move the definition of the Withdrawal structure to the core of alloy or to a more appropriate crate
Include the latest advances in Reth withdrawal primitives to complete the structure, add Withdrawals and possibly some unit tests
Completely remove Withdrawal from Reth primitives and only use the definition of alloy

cc @mattsse
Additional context
No response

this has been moved to alloy-eips, which seems suitable


Enhancements to crystal env

I think we should expose the rest of the special constants under the Crystal module plus some others for crystal env (except Crystal::DESCRIPTION, because it can be computed from other strings), for use in external scripts:

CRYSTAL_BUILD_COMMIT: corresponds to Crystal::BUILD_COMMIT.
CRYSTAL_BUILD_DATE: corresponds to Crystal::BUILD_DATE.
CRYSTAL_HOST_TARGET: corresponds to Crystal::Config.host_target, i.e. the default target shown under crystal --version.
CRYSTAL_DEFAULT_PATH: corresponds to Crystal::DEFAULT_PATH.
CRYSTAL_LIBRARY_PATH: corresponds to Crystal::LIBRARY_PATH.
CRYSTAL_DEFAULT_LIBRARY_PATH: corresponds to Crystal::Config.library_path, i.e. the value of CRYSTAL_CONFIG_LIBRARY_PATH this compiler was built with.

Additionally the command should be able to tell whether optional components of the compiler are available:

CRYSTAL_HAS_INTERPRETER: is 0 if the compiler was built with -Dwithout_interpreter, is 1 otherwise. Is implicitly empty for Crystal 1.2 or below.
CRYSTAL_HAS_PLAYGROUND: like above, but checks for -Dwithout_playground.

Currently the only way to tell whether a compiler binary has interpreter support is to do crystal interactive ??? 2>/dev/null and then inspect the exit code, and for playground support it is even more tedious. Those extra variables would save the hassle.

I support the idea to expose more information, but I don't think crystal env is the right place for that. That command is about the environment configuration. What you're mentioning here is information about the compiler build. Conceptually, that's what crystal --version is for.

crystal env can and should expose information from crystal --version so that users don't have to parse Crystal::DESCRIPTION themselves to extract the rest of the constants currently unavailable.

I don't disagree on making this information easily accessible and machine readable.
But I think we should keep a difference between showing compiler build information and runtime configuration.
When I want to know which compiler I'm working with, I run crystal --version. When I want to know the local configuration, I run crystal env. I wouldn't want crystal env to show a bunch more data just about the compiler. Compiler info doesn't change as long as I don't switch the executable. But runtime configuration is customizable.
I would be fine with making the proposed variables accessible via crystal env VAR. But I'd strongly advocate to keep the default output for crystal env small in order to reduce noise. We can add options to show all values in a list format, for example crystal env --compiler, crystal env --all.

When I know crystal env exists, I would not want to run a different command that does the same things but only for a set of variables that, for some reason, cannot be shown along the 5 we already have.
And to be honest, going from 5 to 13 lines doesn't seem like noise to me. If a script does `crystal env` then it assumes everything under CRYSTAL_* is available to the compiler; otherwise, it would have extracted only the variables needed with `crystal env CRYSTAL_*` directly, which is good practice compared to `crystal env`. if the variables are only printed, one could always pipe the output to a pager. Marking a set of variables as non-default only hampers the user experience here.
We could still add functionality such as crystal env --compiler to show certain categories of the variables. But since the variable names do not contain "compiler" or form a hierarchy, one may again find those categories arbitrarily defined and less useful than simply listing all or the needed variables.

To me, the critical distinction is that the values we're talking are not variables. They're fixed constants of the compiler binary. That's different from CRYSTAL_PATH, CRYSTAL_CACHE_DIR etc. which are configurable at runtime. Mixing those different concerns up seems rather odd.
I understand the argument about the similar names suggesting handling them together. But it's based on the premise of actually using the proposed scheme of similar names. I'm not committed to that. Compiler build information are not environment variables, so there's no reason to name them like those.

These properties are the variables of a previous build. Besides, the real-world semantics of "variable" are irrelevant here; as long as crystal env exists, all keys it accepts are variables with respect to the command.
As a comparison, consider git config --list. It shows the combined variables from the system, global, and local scopes, unless a corresponding scope option is provided. It makes sense because the average user does not care whether or to what extent these variables are configurable by the user or the installation, only that these variables exist. Git provides --show-origin and --show-scope for diagnosis if something goes wrong.
I think this is the user experience crystal env should achieve. It is easier to refer to these key-value pairs as e.g. "properties", than to keep only some of them as "variables" in one sense and decide that the remaining key-value pairs aren't "variables" in that same sense, excluding them from the default command invocation. (In fact, doing the latter means that scripts which use `crystal env` to acquire CRYSTAL_VERSION would be broken, because it is never overridable.)

I agree with @HertzDevil here: having just a single command sounds better. You usually want to look at some value, and having to remember which command to run to find it isn't ideal. Maybe the issue is that the command is named env. If it were properties or config maybe it wouldn't be a problem. But env isn't that bad either.

I can't follow the example with git config. Despite being defined in different scopes, all these config variables can be overridden somewhere in local git config, per command line argument etc. There's no relation to compiler build information.
Taking git as an example, the equivalent to what's being discussed here would be git --version --build-options.
$ git --version --build-options
git version 2.34.1
cpu: x86_64
no commit associated with this build
sizeof-long: 8
sizeof-size_t: 8
shell-path: /bin/sh

That fits exactly with my argument for separation.

sizeof-long is not part of Git's domain logic, and would not be queried by end users of Git in the same capability as e.g. core.autocrlf. CRYSTAL_HAS_INTERPRETER and CRYSTAL_PATH will be used similarly even though one is overridable and the other is not. That's why they should be primarily exposed by crystal env, not crystal --version.

straight-shoota wrote:

To me, the critical distinction is that the values we're
talking are not variables. They're fixed constants of
the compiler binary. That's different from CRYSTAL_PATH,
CRYSTAL_CACHE_DIR etc. which are configurable at runtime.
Mixing those different concerns up seems rather odd.

I am not involved in the main discussion as such, although I
kind of agree with the threadstarter more than with
straight-shoota. But I have no real qualms either way.
But what I did want to point out is ruby's "gem env" output.
It is best to copy/paste it first here when I run it as the
superuser:
RubyGems Environment:
  - RUBYGEMS VERSION: 3.3.4
  - RUBY VERSION: 3.1.0 (2021-12-25 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /root/.gem
  - USER INSTALLATION DIRECTORY: /root/.gem/ruby/3.1.0
  - RUBY EXECUTABLE: /home/Programs/Ruby/3.1.0/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /root/.gem/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /home/Programs/Ruby/3.1.0/etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - x86_64-linux
  - GEM PATHS:
     - /root/.gem
     - /root/.gem/ruby/3.1.0
     - /home/Programs/Ruby/3.1.0/lib/ruby/gems/3.1.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/bin/
     - /usr/sbin/
     - /bin/
     - /sbin/
     - /usr/local/bin/
     - /opt/qt/bin/
     - /opt/java/bin/
     - /usr/local/texlive/2019/bin/x86_64-linux/
     - /root/.cargo/bin
     - /root/.local/bin

While I can understand straight-shoota's position, I would
like to point out that at the least "gem env" shows additional
information that is user-amenable. Things such as $SHELL PATH
but also I believe some other paths (some ruby env variables
that can be set by the user). So the comment about "fixed
constants" as primary rationale is, in my opinion, not a
great one necessarily IF users can influence/modify them.
In which case the primary question, then, should be what
is USEFUL to the user pertaining to the environment and
possible problems due to any faulty/flawed environments.
See python's pip/virtualenv for a related consideration
one may include. So, the TL;DR version:
I believe the user's consideration, what the user needs
or wants and may consider useful, should be the primary
focus on discussion, not the "perfect cleanliness" in
regards to "this is a constant, nothing may be changed
and output must be limited/short".
Perhaps if you'd want to you could add some additional
flag to "env" or add a "gem envv" command - the extra
"v" would indicate "extra verbosity". :D (Or simply
change the default as-is, as was suggested by the
threadstarter, which I think may be useful too.)

One other argument for the single command is in diagnostics.  If something goes wrong, we can just ask the user to run crystal env and then copy-paste everything (I think this is the same reasoning that @rubyFeedback is suggesting as well).
Thinking about @asterite's comment that maybe the env bit is what we're hung up on, if the primary purpose is diagnostics, perhaps crystal doctor is a better command (similar to brew doctor)?


Test resolving

This gets all the tests passing and changes some of the mocking that was done in the model_spec to prevent accidentally monkeypatching existing code.

in order to have test suite running as whole and without any failures, i had to fe65482f6e60eea730319dda0c64a9a0e26fc17f -- we can now set-up some CI, preferably travis


chore: more traditional node version spec

to test: the apps build.

:tada: This PR is included in version 1.411.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Hi when I tried to run the run.py this error give me but I do not know how I can fix it  usage: Semisupervised experiment [-h] {train,evaluate} ... Semisupervised experiment: error: argument cmd: invalid choice: '/root/.local/share/jupyter/runtime/kernel-14f1e1fa-42b2-455e-9700-c66e1535dd65.json' (choose from 'train', 'evaluate') An exception has occurred

You cannot just call run.py. You have to also specify some parameters like shown here.


Update constraints.md

Issue #1633

Hey @aameek, thanks for the great documentation update! :+1:
Very well written. Feel very much invited to contribute to other parts of the documentation.


Navbar and hero section done

There are some changes in the design + logo, for some reason is not looking that good . do we have a solution for it?🤔


Allow foreach on 0-indexed arrays

A small minority of E2 functions return 0-indexed arrays. This allows one to foreach over those arrays, which is at least a convenience improvement over a for loop.
Modifies iter operator to return -1 as its third argument if an array has an element at 0.
Test code

Arr = array(1, 2, 3, 4, 5, 6)
Arr[0, number] = 0

Str = array()
foreach(K:number, V:number = Arr)
{
    Str:pushString(format("%d : %d", K, V))
}

print(Str:concat("\n"))

I don't think this should be encouraged / supported. As you said it's a small minority of functions
It's not a big perf hit like supporting non sequential arrays since this would only be run once, but still

I'd recommend creating RFC discussions prior to making a PR to make any not objectively better changes

It seemed objectively better in my sight which is why I didn't, actually. If functions can return 0-indexed arrays, why can't foreach support that? especially since the work required to do so is so small.
Either way, the PR is small. I probably won't lose sleep if it's denied.

I don't think this should be encouraged / supported. As you said it's a small minority of functions
It's not a big perf hit like supporting non sequential arrays since this would only be run once, but that isn't really the issue here anyway.

High speed components use 0 index so it makes sense to be supported.

I don't think this should be encouraged / supported. As you said it's a small minority of functions
It's not a big perf hit like supporting non sequential arrays since this would only be run once, but that isn't really the issue here anyway.

High speed components use 0 index so it makes sense to be supported.

What does this have to do with arrays, though

What does this have to do with arrays, though

Wiremod has (or had) an odd propensity to start arrays at 0.

This has nothing to do with the E2 data type "array" though. And wiremod outside of E2 hardly ever returns or takes arrays

I don't think this should be encouraged / supported. As you said it's a small minority of functions
It's not a big perf hit like supporting non sequential arrays since this would only be run once, but that isn't really the issue here anyway.

High speed components use 0 index so it makes sense to be supported.

What does this have to do with arrays, though

I guess if you have an array of data you want to write to a high speed component, although I think there are writearray methods or something already for that. Not really sure of other uses but it does seem niche.

Anything in gmod that returns arrays starting at zero is implemented wrong. Lua is a 1-indexed language and trying to force it not to be is a completely unecessary mistake.
As far as I know there's no such function in wiremod and never has been... with the possible exception being a very small amount of functions that just return the output of a gmod function without changing anything. There are a few functions in gmod itself that do return arrays starting at zero but like I said I definitely consider those to be implemented wrong.

Well, I concede. I'll look into seeing if 0-indexed array returns in E2 can (or should) be converted to 1-indexed.


Fixed drag crashing for streamfiles

Changes
This fixes an issue preventing streamfiles from being dragged and dropped from the IFS browser.
Dragging a streamfile would trigger the following error, shown in the developer console:

That happened during the item JSON serialization finding a circular reference (i.e. IFSFileItem's command would reference this, which indeed creates a circular reference).
To fix this, the command won't reference this anymore but only the required field to call the command (i.e. this.path).
The same fix has been applied on ObjectBrowserMemberItem to prevent the same problem in case it gets serialized.
How to test this PR

Confirm drag'n'drop fails for a single streamfile without the PR (checkout the developer console to confirm the error)
Checkout the PR
Confirm drag'n'drop succeeds for a single streamfile
Opening a streamfile for browse/edit must work
Opening a source member for browse/edit must work

Checklist

[x] have tested my change

@chrjorgensen it's just to be safe, because I made a change on the command call bound to the ifs file item and source member item.


Unsure about when to expect suggestions to automatically appear

Testing #223130
I notice that sometimes, I need to trigger the suggest widget manually (ctrl+space). For example, I have git add .\.vscode\notebooks\ typed, and I need to ctrl+space to see the filenames.

Can repro. This isn't meant to be possible as completions should be requested again after the \ is typed:


chore: Allow more GitHub-pages style domains

The added domains serve the GitHub pages equivalents of GitLab and Codeberg. As adjustments1 to the i-d-template come in that facilitate more diverse hosting, users will want to diff draft versions from there.

I'm unfamiliar with the definition of "semantic" or "conventional" that is used by the CI checker (for neither are terms defined for git); please suggest an acceptable commit title or point me to the relevant documentation.

@chrysn You can find more about conventional commits here: https://www.conventionalcommits.org/en/
But it's all good because, since we squash and merge, we can change the final commit massage.


added documentation for export. issue #311

ping

Thanks! Sorry, github doesn't seem to send notifications for pushes.

Good to know. :)


Bug: load and undo previous command

If we have 2 lists: original and fromload
We have been modifying original (therefore backing up old to do lists)
then we load fromload
typo undo => will restore the todolist from orginal in fromload [unintended behavior]
Solutions

after loading, clear back up to do list stack
implement undo for load/store etc

Thoughts? @burnflare

I think we should prevent users from undo-ing load

We should consider load and store as 'meta' levels commands. These commands are swapping out the data storage from underneath the app. Usability wise that's kinda like saving a MS Word doc, closing Word then opening Word with another file. Users do not expect commands like undo to work over such meta level commands. We should clear the undo table after every load

store is fine right? I think we can just make it clear in the user guide


SAM not returning masks

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

I've followed the SAM setup instructions.  The function is running and shows up in the Nuclio dashboard; it shows up in the CVAT app's "Interactors" and they're communicating.  But, after the response, no masks / segments show up in the CVAT app.
Steps to Reproduce

Cloned develop branch (commit 31c1ecc4) and followed the serverless tutorial steps to launch CVAT with serverless support.
Followed the steps at (https://www.cvat.ai/post/facebook-segment-anything-model-in-cvat) to launch the GPU version of the SAM Nuclio function.
Loaded images in the app and clicked on them with the SAM interactor.
Looked at the Nuclio dashboard logs and found no error.
Looked at the Nuclio function's logs and found errors like:   {"triggersError": "json: unsupported value: encountered a cycle via *http.http"}

This seems similar to something mentioned in Issue 4785, but I'm not sure what @nmanovic means there by updating Nuclio, and the link there is dead.  The docs page "Semi-automatic and Automatic Annotation" says "It is important that the version you download matches the version in docker-compose.serverless.yml."  Mine does: both are version 1.8.14.
Environment

CVAT develop branch, commit 31c1ecc4
nuctl version 1.8.14
Docker version 23.0.3, build 3e7cbfd
Ubuntu 18.04.6

I also met these problems, do you slove these problems?

I doubted that the vesion of CVAT not matched the nuctl.

@whom-da
Could you please provide response body from the browser console for SAM request?
Also, if possible, the original image example and maybe a gif reproducing the problem.

The CVAT can return the information of the detection results of images, but the final results didn't display the corrsponding annotation in the CVAT.

The backend of CVAT can return the corresponding mask and annotation information normally, but there is no response from the backend, as shown in the figure:

@zhujiajian98
Could you please share the original image you are using?
I will try to reproduce the problem on my side.

Here is the detailed configuration:
1. function.yaml
Copyright (C) 2023 CVAT.ai Corporation

SPDX-License-Identifier: MIT
metadata:
name: pth.facebookresearch.sam.vit_b
namespace: cvat
annotations:
name: Segment Anything
version: 2
type: interactor
spec:
framework: pytorch
min_pos_points: 1
min_neg_points: 0
animated_gif: https://raw.githubusercontent.com/opencv/cvat/develop/site/content/en/images/hrnet_example.gif
help_message: The interactor allows to get a mask of an object using at least one positive, and any negative points inside it
spec:
description: Interactive object segmentation with Segment-Anything
runtime: 'python:3.8'
handler: main:handler
eventTimeout: 30s
env:
- name: PYTHONPATH
value: /opt/nuclio/sam
build:
image: cvat.pth.facebookresearch.sam.vit_b
baseImage: ubuntu:22.04
directives:
  preCopy:
  # disable interactive frontend
    - kind: ENV
      value: DEBIAN_FRONTEND=noninteractive
  # set workdir
    - kind: WORKDIR
      value: /opt/nuclio/sam
  # install basic deps
    - kind: RUN
      value: apt-get update && apt-get -y install curl git python3 python3-pip ffmpeg libsm6 libxext6
  # install sam deps
    - kind: RUN
      value: pip3 install torch==1.11.0 torchvision==0.12.0 torchaudio opencv-python pycocotools matplotlib onnxruntime onnx -i https://pypi.douban.com/simple
  # install sam code
    - kind: RUN
      value: pip3 install git+https://github.com/facebookresearch/segment-anything.git
  # download sam weights
    - kind: RUN
      value: curl -O https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth
  # map pip3 and python3 to pip and python
    - kind: RUN
      value: ln -s /usr/bin/pip3 /usr/local/bin/pip && ln -s /usr/bin/python3 /usr/bin/python

triggers:
myHttpTrigger:
maxWorkers: 1
kind: 'http'
workerAvailabilityTimeoutMilliseconds: 10000
attributes:
maxRequestBodySize: 33554432 # 32MB
platform:
attributes:
restartPolicy:
name: always
maximumRetryCount: 3
mountMode: volume
2.model_handler.py
I only modify the  corresponding model category,
self.model_type = "vit_b"
3.The file of main.py is not modified
4.deploy_cpu.sh
#!/bin/bash
Sample commands to deploy nuclio functions on CPU
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
FUNCTIONS_DIR=${1:-$SCRIPT_DIR}
./nuctl create project cvat
shopt -s globstar
for func_config in "$FUNCTIONS_DIR"/**/function.yaml
do
func_root=$(dirname "$func_config")
echo Deploying $(dirname "$func_root") function...
./nuctl deploy --project-name cvat --path "$func_root"
--volume "$SCRIPT_DIR/common:/opt/nuclio/common"
--platform local
done
./nuctl get function
5.I'm not sure if my cvat matches your version, I'm using version cvat-2.2.

I was able to change the weights according to your configuration and it works.
What do you see in the browser response (for request api/lambda/functions/pth.facebookresearch.sam.vit_b?org=)?

For me it returns mask and polygon points as expected:

Yes, I also get the same response data of browser, but it didn't give me any anotations information of CVAT.

Should I reinstall the CVAT? Actually, I don't kown why the CVAT didn't return any annotation information.

@zhujiajian98
Okay, I see. Do you see any errors in the browser console or maybe UI messages with errors?
On the screenshot you provided I noticed some message, buy I can't see it:

And can you share the full response body as a file?

Indeed, there is an error on the web page, but due to my professional knowledge, I don't know how to modify it.

I don't konw what is the stacktrace. I just use the code from your repository, and run the code of deploy_cpu.sh. The CVAT version I use is 2.2. I don't know if it has something to do with this?

Okay, but I still want to see your CVAT web side after using SAM for my reference, and I'm curious why I can't return the relevant tag information on my side.

@bsekachev
Thanks for helping with this, and sorry for my delay.  Attached are screenshots of request, response, and pop-up error.
I think I was mistaken that the app and the SAM function were communicating, so my error is different from @zhujiajian98
in that I'm not even getting to the point of SAM responding.  Here're part of the results of "docker logs " - there are no entries from the time of the app interaction, only from the initial install:
$ docker logs 4f503bf90b2c
...

23.04.26 20:38:31.625 sor.http.w0.python.logger (D) Started
23.04.26 20:38:31.626                 processor (I) Starting event timeout watcher {"timeout": "30s"}
23.04.26 20:38:31.626 .webadmin.server.triggers (D) Registered custom route {"routeName": "triggers", "stream": false, "pattern": "/{id}/stats", "method": "GET"}
23.04.26 20:38:31.626 processor.webadmin.server (D) Registered resource {"name": "triggers"}
23.04.26 20:38:31.626                 processor (W) No metric sinks configured, metrics will not be published
23.04.26 20:38:31.626                 processor (D) Starting triggers {"triggersError": "json: unsupported value: encountered a cycle via *http.http"}
23.04.26 20:38:31.630            processor.http (I) Starting {"listenAddress": ":8080", "readBufferSize": 16384, "maxRequestBodySize": 33554432, "reduceMemoryUsage": false, "cors": null}
23.04.26 20:38:31.630 processor.webadmin.server (I) Listening {"listenAddress": ":8081"}
23.04.26 20:38:31.630                 processor (D) Processor started

Alright, I think this is the same as Issue #6041.  Closing this and will follow over there.
@zhujiajian98, I think yours is a separate front end problem.


fix awaiting_approval list bug

Codecov Report

Merging #2296 into dev will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              dev    #2296      +/-   ##
==========================================
+ Coverage   93.75%   93.76%   +<.01%
==========================================
  Files         163      163
  Lines       18535    18550      +15
==========================================
+ Hits        17378    17393      +15
  Misses       1157     1157

Impacted Files
Coverage Δ

...ta_pet/handlers/study_handlers/listing_handlers.py
90% <ø> (ø)
:arrow_up:

...lers/study_handlers/tests/test_listing_handlers.py
99.36% <100%> (+0.06%)
:arrow_up:

Continue to review full report at Codecov.

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


Doesn't work correctly on MC Version 1.13.2

Plugin version: LWC v4.4.0 (b881) (July 11, 2013)
Server version: CraftBukkit version git-Spigot-e5e5c7c-c24abab (MC: 1.13.2) (Implementing API version 1.13.2-R0.1-SNAPSHOT)
Could not lock any Blocks
If i run the comman /cpublic or /cprivate and I punch a block it gives the following error in the Minecraft-Chat:
[LWC] Internal error. Notify an admin immediately. :PLAYER_INTERACT
I can't lock any Blocks (doesn't do that automaticly or with the commands)
Log: latest (1).log

Sorry for the "...(1)" at the end of the filenames.
I just opened a new issue, because i opened another issue before on the wrong github page.

I also stoped the server multiple times and deleted the /LWC folder, restarted the Server and it Didn't worked at all.
Same errors.

@MasterCevin
You should read your log. The issue appears obvious:
[17:41:20] [Server thread/ERROR]: Error occurred while enabling LWC v4.4.0 (b881) (July 11, 2013) (Is it up to date?)
You should not be using a version of LWC that is 6 years old. Download the latest stable version on the Spigot plugin catalog: https://www.spigotmc.org/resources/modern-lwc-continuation-of-lwc.2162/history
I recommend also deleting your LWC folder, so that a new one is freshly created. Backwards compatibility is not guaranteed nor supported with the version you are trying to use.

wait, I’ll upload the plugin on the server, delete the LWC folder, restart and upload the log. Wait just 15 min.

I removed your server files from the original post, as we do not need them. I've updated it with the correct information. Closing this issue now.

Hey, it also doesn't work
Log: latest.log

In that log is a call to PermissionsEx, but PEX isn't actually on your server? This feels like a problem in your (inexplicably premium) permissions plugin to me.

On my old Spigot 1.8 server it worked with the permission plugin, but i can try to use PEX.

@MasterCevin The solution is to update all of your plugins.

Look, I’m just going to be real here. If there were such a glaring issue with MLWC, why hasn’t it shown up before in the past two months? In all likelyhood, it is more than likely your unique server configuration. Replicate the issue with no plugins other than the latest version of MLWC and the latest Spigot build and we’ll listen.

"but i can try to use PEX"
I wasn't saying to use PEX. I'm saying that it looks like UltraPermissions is pretending to be PEX in a way that's broken.

Either way, though, you should use LuckPerms at this point.

Hey, it was the permissions plugin.
I used PEX for a quick test and it worked.
Thank you all for your help :-)

Please note that PEX is old, we recommend LuckPerms at this time.

I'll try to use it :D


time difference in the (consecutive Rows) timeStamp and TimeInterValSince1970 is wrong

Hi, there
i really love your work but i am facing problem when i try to get difference of two time in the consecutive rows
let say we set the frequency to 60 that means we will get 60 values in one seconds and each time we are getting time and saving it to dataBase (core data)
if we are getting the value at regular interval the we should get a constant value by taking differece between two consecutive row of the time stamp
for ref i am attaching a screen shot
can any one tell me what is the problem in the calculation ?

Hi. These are basically the same dates but in different formats. And it seems different timezones. There must be a bug there.


Remove unneeded Option.get usage

Codecov Report

Merging #304 into master will not change coverage.
The diff coverage is 0%.

@@          Coverage Diff          @@
##           master   #304   +/-   ##
=====================================
  Coverage       0%     0%
=====================================
  Files          59     59
  Lines        1464   1464
  Branches      147    153    +6
=====================================
  Misses       1464   1464

Impacted Files
Coverage Δ

...la/org/scalastyle/scalariform/IfBraceChecker.scala
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Great. Thanks!


[BEAM-11543] Increase Spanner streaming read timeout to 2 hours

Prior to BEAM2.20 with Cloud Spanner Library 1.06, the timeout for Cloud Spanner streaming read was 2 hours. This was changed to 1 hour with the library update in BEAM 2.20. Setting this value back to 2 hours.
R: @nielm  @chamikaramj

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

LGTM. Thanks.

LGTM. Thanks.


feat!: add workspaces support

Workspaces (or "projects") are defined inside vitest.workspaces, vite.workspaces, vitest.projects or vite.projects file (supports js/ts files):
import { defineWorkspaces } from 'vitest/config'

export default defineWorkspaces([
  'packages/*'
])

This file should be in the same directory as the root config file.
Inline workspaces are also available:
import { defineWorkspaces } from 'vitest/config'

export default defineWorkspaces([
  // you can use both at the same time
  'packages/*',
  // you can even run the same tests, but with different configs in the same "vitest" process
  {
    test: {
      name: 'jsdom',
      root: './shared_tests',
      environment: 'jsdom',
      setupFiles: ['./setup.jsdom.ts'],
    },
  },
  {
    test: {
      name: 'node',
      root: './shared_tests',
      environment: 'node',
      setupFiles: ['./setup.node.ts'],
    },
  },
])

Each workspace requires a config file inside that starts with vite.config or vitest.config. If there is no such config, Vitest will not consider the directory as a workspace. The top-level config will not run tests, if it's not specified in the workspaces folder as <rootDir> or ./*.

⚠ Warning
Workspace configs do not inherit properties from the root config!

What you cannot do per workspace:

use custom reporters, all reporters are defined in the root config file
use another coverage provider, there should be only one in the root config file

Everything else can be configured per workspace. It is advised to use defineWorkspace instead of defineConfig for these config files for better type hinting.
This release will include quite a few breaking changes due to its nature:

Some methods on Vitest instance were moved to VitestWorkspace. You can get the list of workspaces via Vitest.prototype.workspaces. Removed methods:

initBrowserServer
globFiles
globAllTestFiles
filterFiles
isBrowserEnabled

Some methods on Vitest instance were made private:

isTargetFile

Some new methods

getWorkspacesByTestFile returns the list of workspaces for a given test file. Usually, return a single workspace, but it is allowed for different workspaces to include the same set of files
getModuleWorkspaces returns the list of workspaces for any file that was referenced during test execution. Also works for test files, but getWorkspacesByTestFile is faster for this usecase
globTestFiles now returns a list of files in a tuple: [VitestWorkspace, testFile: string]
filterTestsBySource now expects a list of files in a tuple: [VitestWorkspace, testFile: string]

TestSequencer now expects a list of files in a tuple: [VitestWorkspace, testFile: string]

Closes #256

[x] Coverage support
[x] Tests
[ ] Extensive documentation

@antfu PR should be ready for review if you are interested, I will write more documentation tomorrow, and hopefully, release a new minor.

For high-level API design and changes listed in the description - they all make sense to me 👍
I will try to find time to review the implementation tomorrow or so. Or if I failed to make it, feel free to proceed without it. We could improve as we go.

@sheremet-va let me review the docs and see if there's a need for any addition

@sheremet-va let me review the docs and see if there's a need for any addition

Sure.

@sheremet-va let me review the docs and see if there's a need for any addition

I will merge the PR now. Feel free to open a separate PR with wording changes.


style: add pre-commit

:tada: This PR is included in version 1.8.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add "source repo url" metadata field to pubspec format

This issue was originally filed by<EMAIL_ADDRESS>
Display this next to "Homepage" on pub.dartlang.org package pages.

This issue has been moved to dart-lang/pub#412.


Small fix for comments and refmt shortcut.

This is a step towards better Sublime support!
Ideally we'd dig into the project's node_modules to find refmt after trying to see if there's a global one.

@bsansouci we should pull this out and make it legit.


Move 3.x version out of preview

The 3.x version of the task-lib has been in preview for a while, and we've been concurrently maintaining both it and the 2.x version. This was necessary for a while since we weren't ready to recommend everyone upgrade their tasks to Node 10, but at this point we should be recommending that to everyone. Therefore, it is probably time to move the library out of preview. I think we need to take the following steps:

[x] Branch off current master with a releases/2.x branch
[x] Merge the releases/3.x branch back into master. This will probably be messy and we need to be careful and review the diff closely.
[x] Bump the newly constructed master version to 3.1.0 and publish, taking it out of preview

Opened a restore branch (copy of the master branch). Releases/2.x

Closed as done. The 3.1.0 version of the package has been released and backup branch has been created.

Is there a CHANGELOG anywhere that details the breaking changes with 3.x?  Is it just node support?


Enable locales loading from source command

Add an option to script to load locales

Done, need to add documentation


Cant change skin from blue to dark

Laravel Version: 5.6
PHP Version: 7.0
Laravel-admin: 1.5.*

Description:
I go to file in config/admin.php.
I want change skin to dark so i write :
'skin' => 'skin-black-light',
but it not work. Please tell me how to do that. Thanks
Steps To Reproduce:

Hey, still not working, how did you resolved?


Create new main queue child context?

Is there a way to create a new main queue child context of the default main queue context? I want to create an editing screen to contain some pending changes.
Thanks

Unfortunately, the current version does not support main queue child contexts, only background queue contexts. A new way to create child contexts (main queue ou background queue) is planned to version 4.0.

Damn, that's too bad. I'll keep a lookout for 4.0.


Add mocking.

I noticed after having a quick read of the documentation and the code the there doesn't seem to be a way to mock the schema.
This is one of the reasons I love using Apollo Server and I personally see the value in adding this as it will allow me to focus on quickly prototyping on the client side. I guess I'm opening this issue to see if there is any interest/need in this, if there is then I'll be happy to give it a crack.

Absolutely! What's the API you're suggesting @jakelacey2012?

I think you're missing the typeDefs or schema. How about the following:
import { GraphQLServer, MockList } from 'graphql-yoga'

const mocks = {
  Query: () => ({
    hello: () => 'Hello World',
    someList: () => new MockList([2,6]),
  }),
}

const server = new GraphQLServer({
  typeDefs: './schema.graphql',
  mocks, // or simply `mocks: true` to enable mocking
})

I'd set  preserveResolvers: false (like you suggested) but leave out the configuration option in new GraphQLServer({ ... }) simply to keep it more lightweight. In case someone would need to still configure it, you could always do:
import { GraphQLServer, MockList } from 'graphql-yoga'
import {
  makeExecutableSchema,
  addMockFunctionsToSchema
} from 'graphql-tools'

const mocks = {
  Query: () => ({
    hello: () => 'Hello World',
    someList: () => new MockList([2,6]),
  }),
}

const schema = makeExecutableSchema({ typeDefs })

addMockFunctionsToSchema({
    schema,
    mocks,
    preserveResolvers: true
})

const server = new GraphQLServer({ schema })

Would be great if you'd want to open a PR adding support for this + adding some explanation in the readme!

mocks being a boolean or an object and leaving out preserverResolvers from the config both sound good to me. Happy to look at creating a PR will let you know if I hit trouble.

If you could have a quick look at the PR ^^ @schickling that would be awesome! Please do let me know if you want me to make any changes.

@schickling is there anything I can do to accelerate this getting reviewed and merged, other wise I'm likely to forget that I ever did this xD haha.


Tiny bug

Dear Feihu,
Thank you again for sharing your great research with us!
For running the code on a single GPU, I got this tiny error:
local variable 'val_sampler2_2' referenced before assignment.
Basically replacing the line 325 with
val_sampler2_1 = None
val_sampler2_2 = None

fixed the issue.
With kind regards,
Azin

Thanks for help with the bugs.
Currently, please consider using the default multiprocessing_distributed mode for training.
We haven't test the non-distributed training yet.


expand/collapse not working (d3 v4)

The elements do not expand/collapse when clicked like it does for d3 v3

fixed in https://github.com/personality-insights/sunburst-chart/pull/38


Add support for default values inside functions

For example fn = (a=1)-> a
Closes #39

Closes #42
Closes #43

Thanks @edi9999! I'll take a look.

Close in favor of #44 (which is the same but with better ordered commits)


[BUG]: Sometimes can't get subscription details after successful approve

Is there an existing issue for this?

[x] I have searched the existing issues.

🐞 Describe the Bug
Sometimes we can't get subscription details after creating it, and we see that paypal is creating subscription and charge
😕 Current Behavior
When our client is trying to subscribe on some plan and approves payment on checkout page, we trying to get subscription details:
const onApprove = (data: OnApproveData, actions: OnApproveActions) => {
  try {
    const details = await actions?.subscription?.get();
  } catch (e) {
    console.log(JSON.stringify(e));
  }
};

<PayPalScriptProvider
  options={{
    'client-id': 'CLIENT-ID',
    'disable-funding': 'credit,card',
    vault: true,
    currency: 'USD',
  }}
>
  <PayPalButton
    onError={() => { /* handle error code */  }}
    onApprove={onApprove}
    createSubscription={() => { /* handle creating subscription code*/  }}
  />
</PayPalScriptProvider>

But sometimes we can't get it, and there is just empty object is console from console.log(JSON.stringify(e));
🤔 Expected Behavior
When the client approves the payment, we should be able to get the subscription details
🔬 Minimal Reproduction
Somehow we can't reproduce it, usually it happens randomly

🌍 Environment
| Software         | Version(s) |
| ---------------- | ---------- |
| react-paypal-js  |   7.3.3    |
| Browser          |    any     |
| Operating System |    any     |

Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

➕ Anything else?
No response

bump


UI Tests - Adding a custom state to the lifecycle

This is the UI test for the feature #https://github.com/wso2/api-manager/issues/314

Merging since only known test failures exist.


add tolerance=20 to calendar check

Description
maybe fixes https://github.com/CQCL/pytket-quantinuum/issues/484
Related issues
Please mention any github issues addressed by this PR.
Checklist

[ ] I have performed a self-review of my code.
[ ] I have commented hard-to-understand parts of my code.
[ ] I have made corresponding changes to the public API documentation.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have updated the changelog with any user-facing changes.

If this is not working, I would just remove the testcase


Minification failure- unexpected character, Foundation Core JS

Running Codekit on a Mac and getting this minification error:
Minification failed:

Parse error at ../../bower_components/foundation-sites/js/foundation.core.js:56,29
Unexpected character '`'
Error
    at new JS_Parse_Error (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:1526:18)
    at js_error (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:1534:11)
    at parse_error (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:1647:9)
    at Object.next_token [as input] (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:1912:9)
    at next (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2012:25)
    at subscripts (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2695:13)
    at subscripts (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2676:20)
    at subscripts (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2676:20)
    at expr_atom (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2552:20)
    at maybe_unary (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2716:19)

Looks like the character ` is being used instead of ' throughout the file.

Sounds like a problem with Codekit and Babel. Precompiled JS is available as an alternative.

@dlewand691 I'm closing this as @daveromsey's answer points out the issue. Please feel free to reopen if you have further questions.

Deploying to Heroku will also throw this error.


[CORE] Implement old tag system in Bludit v3.0

When you create new content you can:

Search for current tags
Insert or remove tags to the content

I second this. It would be really useful to add tags to new content.


[vectors] Vec2 missing x and y coordinate

I did not upgrade @thi.ng/vectors for a while. Was on version 7.5.14 and now upgraded to 7.8.9
I can´t really imagine it, but it seems like the x and y coordinates on a Vec2 class are missing.
console.log(new vec.Vec2([0, 1]))
//Vec2 {
//  buf: [ 0, 1 ],
//  offset: 0,
//  stride: 1,
//  x: undefined,
//  y: undefined
//}

Tried to trace it back to: https://github.com/thi-ng/umbrella/blob/develop/packages/vectors/src/compile/accessors.ts#L2
Or it is just the missing assignment in constructor of Vec2.
Used yarn patch to solve it, by adding the following lines
@@ -62,6 +62,8 @@ class Vec2 extends AVec {
   y;
   constructor(buf, offset = 0, stride = 1) {
     super(buf || [0, 0], offset, stride);
+    this.x = buf ? buf[0] : 0
+    this.y = buf ? buf[1] : 0
   }
   [Symbol.iterator]() {
     return stridedValues(this.buf, 2, this.offset, this.stride);
@@ -69,6 +71,18 @@ class Vec2 extends AVec {
   get length() {
     return 2;
   }
+  get x() {
+    return this.buf[this.offset]
+  }
+  get y() {
+    return this.buf[this.offset + 1 * this.stride]
+  }
+  set x(value) {
+    this.buf[this.offset] = value
+  }
+  set y(value) {
+    this.buf[this.offset + 1 * this.stride] = value
+  }

Is this reproducable?

Thanks so much! Super fast :D I was already wondering if maybe vite cache was messed up... Going to try out later :)

Customer sevice! :) It's uploading now, but maybe give it another 5 mins... it will be v7.8.10!


Add java.io.ObjectStreamClass leak cleanup #125

This implementation deals with the leak detected in #125 by adding a new cleanup task (registered into ClassLoaderLeakPreventorFactory).
Related unit test added.

Thanks for the PR!


I can't get child component of clientWidth etc...

Version
2.3.3
Reproduction link
https://jsbin.com/xigazitiqu/edit?html,js,console,output
Steps to reproduce
I can't get child component a lot of el property.I use ref to register below
ref="marketlineTwo"
and below is my javascript
  mounted () {
      console.dir(this.$refs.marketlineTwo)
  }

below is picture

But if i access dom in the child component.I can get dom of property.code is almost like below
mounted () {
    console.dir(this.$el)
  }

below is picture

What is expected?
I want access child dom of property on the root component
What is actually happening?
I can get child dom of property in the child component self.But i can't get property on the root component.

But If isn't vue file.that is ok.I don't know why.I think is template element cause,So my jsbin example is not really situation.

mounted() does not guarantee that the element is already in the document.
Use $nextTick() to make sure of that:
https://jsbin.com/porajuyeju/edit?html,js,console,output


Error when compiling wallet for Ubuntu

Error when compiling wallet for Ubuntu
When I try to compile with below command

I got many Error like below

Please help me to build

I have the same issue.
I tested some workarounds.
However,Only this error can not be resolved.
obj/init.o: In function boost::_bi::bind_t<void, void ()(char const, void ()()), boost::_bi::list2<boost::_bi::value<char const>, boost::_bi::value<void ()()> > >::bind_t(void ()(char const*, void ()()), boost::_bi::list2<boost::_bi::value<char const>, boost::_bi::value<void (*)()> > const&)': /usr/include/boost/bind/bind.hpp:1158: undefined reference toThreadIRCSeed()'
collect2: error: ld returned 1 exit status
makefile.unix:206: recipe for target 'Emberd' failed
make: *** [Emberd] Error 1

You're better off trying in the dev2 branch latest until tonight when we release all 3 or 4 wallets. It has the work of a person who builds on linux. Or you can wait until tomorrow when that work is mainlined into master.

I succeeded in Emberd building using dev2 branch.
Thank you!
My environment is below:

testuser@hostname:~$more /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

We have also just done a release based on the dev2 branch as well, official build and source are tagged: https://github.com/EmberCoin/Ember/releases/tag/v1.1.4
Thanks and hope you have a great day!

@hitobb  please can you teach me how to fix it? I got the same error when compile another coin

git clone -b dev2 https://github.com/EmberCoin/Ember.git
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install libboost-all-dev
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev
sudo apt-get install libdb4.8++-dev
sudo apt-get install libminiupnpc-dev
then
Emberd building


feat: better developer experience

This issue is to track improvements to developer experience.
Basic list of improvements:

[ ] https://github.com/waku-org/js-rln/issues/69
[ ] expose in @waku/sdk;
[x] update js-waku-examples/rln-js;
[x] provide basic examples for docs(for @LordGhostX);

Other improvements will be added later after receiving feedback.

Plan:

reshape classes and files to be lean and have separation of responsibilities;
align testing and linting of the repo to js-waku;
fix new problems;
move to js-waku repo;
update Encoders / Decoders;
integrate into js-waku release pipeline;

I would descope.


Unhide setting tab thingy top left corner?

So i wanted to create a frame for minions but the little top left panel was in the way so i hid it... and by mistake pressed tab and there was a new version. now the tab is gone and i can't figure out how to get it back

You can type .llk into chat to open the settings menu. You can also move the panel anywhere you want by dragging it. Personally, I put it here:


2d kernel plotting error

Currently we don't plot for a kernel with more than one dimensions. Although we may not wish to support this (though 2d doesn't sound unreasonable), we at least need to catch it and give a decent error message. Picked up in the lab sessions of GPSS.
Alan

As far as I can tell, this working (devel). Closing.


Passwordless - Web and desktop automatic login

Details
Adds automatic login on web and desktop when clicking on the link with the magic code.
Fixed Issues
https://github.com/Expensify/Expensify/issues/249362
Tests
Passwordless beta flag enabled (default in dev environment) ON WEB

Run the App and sign out if already signed in
Add an email for an existing account with 2fa disabled
Get the link with the magic code and click on it or copy paste it in the browser
Verify that you are successfully logged in
Now that you are signed in, enter that link again in a new tab
Verify that you see a full page with the magic code
Sign out
Enter an email for an account which has 2fa enabled
Get the link with the magic code and click on it or copy paste it in the browser
Verify that you are prompted with the SignIn page at the step where you have to enter the 2fa code
Enter your 2fa code and verify that you are successfully logged in

Passwordless beta flag enabled (default in dev environment) ON DESKTOP

Enable deep linking in dev environment
a. Go to src/components/DeeplinkWrapper/index.wrapper.js and remove the code which disables deep linking on dev

Run the App and sign out if already signed in

Add an email for an existing account with 2fa disabled

Get the link with the magic code and click on it or copy paste it in the browser

When prompted, choose the option to launch the desktop App

Verify that you are successfully logged in in desktop App

Now that you are signed in, enter that link again in a new tab

Choose the option to launch the desktop App

Verify that the desktop App does NOT show the full page with the magic code (the user does not get blocked)

Sign out

Enter an email for an account which has 2fa enabled

Get the link with the magic code and click on it or copy paste it in the browser

Choose the option to launch the desktop App

Verify that you are prompted with the SignIn page at the step where you have to enter the 2fa code

Enter your 2fa code and verify that you are successfully logged in

Passwordless beta flag disabled

In App, go to src/libs/Permissions.js and make the function canUsePasswordlessLogins have return false;
In Web-E, go to lib/BetaManager.php and make sure $allBetasEnabled is set to false
Run the App and sign out if already signed in
Enter an email which does not belong to an existing account
Verify that you get the email with the magic link
Click the link and verify that you can set the password for the newly created account

[x] Verify that no errors appear in the JS console

Offline tests
N/A
QA Steps

Run the App and sign out if already signed in
Add an email for an existing account with 2fa disabled
Get the link with the magic code and click on it or copy paste it in the browser
Verify that you are successfully logged in
Now that you are signed in, enter that link again in a new tab
Verify that you see a full page with the magic code
Sign out
Enter an email for an account which has 2fa enabled
Get the link with the magic code and click on it or copy paste it in the browser
Verify that you are prompted with the SignIn page at the step where you have to enter the 2fa code
Enter your 2fa code and verify that you are successfully logged in

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
Passwordless enabled:
https://user-images.githubusercontent.com/18078393/216399691-a0ad6fe0-3ae2-49e5-9794-95f902930ce0.mov
Passwordless disabled:
https://user-images.githubusercontent.com/18078393/216399782-19cf3b02-34fe-4f02-bafe-40eb18bdb4cf.mov

Mobile Web - Chrome
Passwordless enabled:
https://user-images.githubusercontent.com/18078393/216399889-ac3d9e63-dcbf-4951-a862-3b1b4fb16bf9.mov
Passwordless disabled:
https://user-images.githubusercontent.com/18078393/216400606-0d497a49-ea30-4663-b9a2-974944c67538.mov

Mobile Web - Safari
Passwordless enabled:
https://user-images.githubusercontent.com/18078393/216400034-a4bee29b-8e44-42b6-b7c0-7bab789280c0.mov
Passwordless disabled:
https://user-images.githubusercontent.com/18078393/216400076-ec475ffb-3a24-4206-b69d-deeb09d42c41.mov

Desktop
https://user-images.githubusercontent.com/18078393/216460681-96e6a4ef-c5e0-4fae-a942-21ae856450f3.mov

iOS
N/A

Android
N/A

Authentication works well but I'm not seeing the magic link interstitial page when testing. As a nice bonus (which web doesn't do, but maybe should) is having both screens update so you're logged in on both tabs 🤔

You can see it only when you are already authenticated, as we agreed here. And this is applicable for web only, because we don't want to block the user with the modal on desktop.

@NikkiWines @marcochavezf Thanks for the review! I addressed your feedback, please have another look.

@cristipaval can you please merge from main and fix conflicts? I will do full review during weekend.

Done.

@shawnborton I just realised that the svg is not correctly rendered (the yellow color does not work in the top illustration). I exported the svg file from figma.

I did a quick comparison and it looks like my svg exported from figma is different than the other svg files from the App. Am I missing anything?

@aimane-chnaif Thanks for the rigorous testing!
First of all, I want to mention that this works only when you initiated the sign in process on the same browser/desktop client. Otherwise the link can't sign you in, because we have some limitations for now.

When login with new account, set password flow shows after entering magic code.
I think this should be bug because it never shows on normal flow (enter magic code manually without automatic login link).

I couldn't reproduce this one. A screen recording could help.

When copy & paste link in the new browser where user never logged in newDot, automatic login doesn't work. It directs to login page.
Also the weird issue here is that after entering email, it goes to 2fa code page (even if 2fa not enabled for this account) instead of magic code page. When click back and enter same email again (without refresh), this time goes to magic code page.

As I stated above, it doesn't work if the sign in process isn't initiated on the same browser. But your second statement it is a bug, you shouldn't be redirected to the 2fa page after entering the email. Though I couldn't reproduce. Could you please help me with a screen recording for this one as well?

When copy & paste magic link in different browser where user already logged in with same account, no need to show MagicCodeModal.
Maybe this is not a bug but suggestion.

This is expected. We thought it is useful to show the magic code for when the user initiated the sign in on another device and he might want to enter it manually (though he also has the magic code in the email below the link).

@cristipaval please merge from main to fix conflicts

done

So its sign in doesn't return the requiresTwoFactorAuth key? or it does but with a different error code?
https://github.com/Expensify/Web-Expensify/blob/576e1706854576cf04bf0d413fb72e06f87e1745/lib/UserAPI.php#L2381-L2389

So its sign in doesn't return the requiresTwoFactorAuth key? or it does but with a different error code? https://github.com/Expensify/Web-Expensify/blob/576e1706854576cf04bf0d413fb72e06f87e1745/lib/UserAPI.php#L2381-L2389

It does return requiresTwoFactorAuth. But the problem is that SignIn command works and returns 200 with requiresTwoFactorAuth key when the only parameter sent is validateCode the email parameter is set as null.
The root cause though is that NewDot calls SignIn command with no email. And this is because we don't support sign in with accountID instead of the email. I wonder how beta flag is enabled in this use case in @aimane-chnaif 's browser if the user is logged out and has not initiated the sign in process on that browser. @aimane-chnaif , did you modify the Permissions.js file for testing purposes?

@cristipaval yes, I modified Permissions.js to enable passwordless. Without that, I am not able to test

oh, ok.. then your bug won't be reproducible in production, we had an internal discussion about this one and we're going to create a follow-up PR which will let the user sign-in directly with the link even if he has not initiated the sign in process on the same device where he tapped the link.

@aimane-chnaif Could you check now again? It should work now.
If you change Permissions.js to always allow passwordless, the user should be signed in automatically with the link even if he has not initiated the sign in operation in the same browser.

@aimane-chnaif I put this one on hold because I'm changing it after an internal discussion.

@shawnborton We have the following use cases for which we need mockups:

The user initiates sign in on the browser, and opens the link in the same browser. We want to show an "Abracadabra" message and to sign in the original tab. Here's what I currently have:

The user initiates sign in on another device and opens the magic link in the browser, where he is already authenticated

The user initiates sign in on another device and opens the magic link in the browser, where he is not authenticated

OFF HOLD @aimane-chnaif
Check out that the testing steps also changed as well as the screen recordings

I'm guessing it's expected to see the normal loading page before showing the magic code specific pages?

Yeah I think we need to load the whole app every time you load the page 🏃

I'm a little worried about having to force canUsePasswordlessLogins to true on dev to get the behavior to work as expected (at least for the multiple devices / incognito flow). If we're not getting the beta status until after the user enters an login that likely won't work on prod either...

@NikkiWines yeah you are right, I shouldn't ask to hardcode passwordless flow for all the testing steps. In regards to the flow with the multiple devices / incognito, this is a known issue for now which we discussed here and we concluded to leave it as it and come back to test when passwordless is rolled out to production.

@NikkiWines yeah you are right, I shouldn't ask to hardcode passwordless flow for all the testing steps. In regards to the flow with the multiple devices / incognito, this is a known issue for now which we discussed here and we concluded to leave it as it and come back to test when passwordless is rolled out to production.

I just updated the testing steps to force canUsePasswordlessLogins to true only for when this is the only way to test.

Discussed more 1:1 and I'm now up to speed with how we're handling this flow!

On you @aimane-chnaif

Please check if all scenarios (without 2fa) are correct.

@aimane-chnaif Yes, they are correct.
I just addressed the other feedback. Please have another look.

I also think all scenarios are correct except last step of Scenario 2. After refreshing tab T2, why should it show "code" page back? Isn't it expected to show "you are signed in" page?

When you refresh, the page, you are in the Scenario 1, with chrome signed in already. At it is correct to see the page as in scenario 1.

ok, resolved above concern in private discussion with @cristipaval

posted here our conclusion for future reference

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/marcochavezf in version: 1.2.72-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.2.72-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


when  I change 60fps  to 30fps  or other lower fps, it does not work ,could you help me.

I want to take time-lapse video ,and i change fps to make this video, but  I can not  get the video .

@MyOnlyOnlySunshine were you able to solve this ?Have a look at my question here: https://stackoverflow.com/questions/44860899/how-to-record-timelapse-video-from-iphone-using-avcapturedeviceformat


IntelliJ Rust plugin support (cfg_attr)

Currently, the IntelliJ Rust plugin does not support cfg_attr, meaning that modules such as:
#[cfg_attr(target_arch = "wasm32", path = "web.rs")]
#[cfg_attr(not(target_arch = "wasm32"), path = "native.rs")]
mod platform;

are not handled correctly by the plugin's analysis. This causes unresolved references and code completion to not work, which makes developing against this (really cool!) library a bit annoying. The plugin does accept normal cfg attributes as follows:
#[cfg(target_arch = "wasm32")]
#[path = "web.rs"]
mod platform;
#[cfg(not(target_arch = "wasm32"))]
#[path = "native.rs"]
mod platform;

which unfortunately has a bit more boilerplate. Would you consider changing this? If so, I could create a PR with these changes.

Yes, I'd be open to change this while the IntelliJ plugin gets there.
There are multiple occurrences of cfg_attr in the codebase. Feel free to open a PR fixing them!

Closed by #106.


Contact Journal special selection not working (EXPOSUREAPP-6093)

This PR addresses (EEXPOSUREAPP-6093).
There was an annoying bug where the user was able to select multiple items for the journal overview screen by selecting too quick.
How to test:
try with many quick clicks to select a person or location inside the diary.
Before this change you were able to produces various items inside the overview screen sometimes.
With this fix the behavior is harmonized and not affected e.g. by the duration of the animation.
Screenshot-before-fix:

I tested the new version. Creating multiple entries is not possible any more. However, old multiplied entries are still there and cannot be deleted unless I delete the person/location completely. Clicking on those creates more of them.

deleting old entries is not part of this ticket.
Create one and solve it if you want.


UnicodeEncodeError: 'ascii' codec can't encode character '\xf1' in position 183512: ordinal not in range(128)

i have special characters in files I am trying to copy and want to keep them as such.
But ascii is hardcoded as shown below in the     self._fp.write(s.encode('ascii', 'surrogateescape'))
Please help
File "/usr/local/lib/python3.8/site-packages/googleapiclient/discovery.py", line 1104, in method
    g.flatten(msgRoot, unixfrom=False)
  File "/usr/lib64/python3.8/email/generator.py", line 116, in flatten
    self._write(msg)
  File "/usr/lib64/python3.8/email/generator.py", line 181, in _write
    self._dispatch(msg)
  File "/usr/lib64/python3.8/email/generator.py", line 218, in _dispatch
    meth(msg)
  File "/usr/lib64/python3.8/email/generator.py", line 276, in _handle_multipart
    g.flatten(part, unixfrom=False, linesep=self._NL)
  File "/usr/lib64/python3.8/email/generator.py", line 116, in flatten
    self._write(msg)
  File "/usr/lib64/python3.8/email/generator.py", line 181, in _write
    self._dispatch(msg)
  File "/usr/lib64/python3.8/email/generator.py", line 218, in _dispatch
    meth(msg)
  File "/usr/lib64/python3.8/email/generator.py", line 436, in _handle_text
    super(BytesGenerator,self)._handle_text(msg)
  File "/usr/lib64/python3.8/email/generator.py", line 253, in _handle_text
    self._write_lines(payload)
  File "/usr/lib64/python3.8/email/generator.py", line 410, in write
    self._fp.write(s.encode('ascii', 'surrogateescape'))
UnicodeEncodeError: 'ascii' codec can't encode character '\xf1' in position 1: ordinal not in range(128)

google-api-python-client==1.12.11

testing with api : drive

Duplicate of #2091


Firestore customizable encoding for where clauses and update methods

Fixes #604 and trumps #605
This solution extends all update methods in Firestore to support more advanced update methods. String fields and FieldPaths can now be used interchangably and custom serializer can be passed.
documentRef.update("field" to "value, "otherField" to 1)

becomes
documentRef.update {
     // specifying build settings is optional
    buildSettings = {}

    "field" to "value"
    FieldPath("otherField") to 1
    "customField".to(CustomValueSerializer(), customValue)
}

Note that the existing vararg pairs can still be used.
Similar support has been added to where clauses as well as startAt/endAt/etc:
query.startAt {
    add(value)
    addWithStrategy(CustomValueSerializer(), customValue)
 }

There is a small regression on the existing update methods in that
public fun update(documentRef: DocumentReference, vararg fieldsAndValues: Pair<String, Any?>, buildSettings: EncodeSettings.Builder.() -> Unit)changed to public fun update(documentRef: DocumentReference, buildSettings: EncodeSettings.Builder.() -> Unit, vararg fieldsAndValues: Pair<String, Any?>) due to Kotlin not being able to figure out which update method to use.
Furthermore, I've split the Firestore tests into a few different files and extended them so they clean up all data after completion.
Lastly, I discovered bug #613 and fixed it

I still need to add Readme/some tests, but feedback would already be appreciated @nbransby as I wont be able to continue until next week

Will anyone ever review this @nbransby 😅

Sorry been a crazy month, will hopefully get to it soon

There is a small regression on the existing update methods in that

Does that make this a breaking change?

I still need to add Readme/some tests, but feedback would already be appreciated @nbransby as I wont be able to continue until next week

looks great to me, I would like to see more comprehensive documentation in the README that would also help me understand the intended usage.

There is a small regression on the existing update methods in that

Does that make this a breaking change?

Yeah, its breaking. I went from:
update(docRef, "path" to value) { encodeDefaults = false }

to
update(docRef, { encodeDefaults = false }, "path" to value)

The reason I had to do something is because the new update method has the signature:
update(docRef) {
  "path" to value
}

and since the original method takes a vararg, it can be called as update(docRef) { encodeDefaults = false }, which means the compiler wont know wich method to call. I considered alternatives:

Change the original code to always take at least one path (i.e. fun update(docRef, firstValue: Pair<String, Any>, vararg others: Pair<String, Any>) but that would mean you woundnt be able to call it with update(docRef, *listOfPairs.toTypedArray()) which I assume is a common usecase.
Name the new update function something else, e.g. updateWith, but I though the downside of that was that it sort of breaks the agreement that we name stuff like it is named in the native libraries
I do this approach, knowing that the encodeSettings closure is relatively new and will thus probably be not used that much yet.

I think 1 is a definitive no-go. If you prefer we do 2, Im fine with that as well. Its always gonna be a tradeoff so its pick your poison basically.
As for documentation, Ill change that as soon as we agree on this point :)

I spent long enough trying to think of additional alternatives without joy so, I favour 2 and calling it updateFields

Done @nbransby

Can you add a little more documentation to the readme?

Sorry for the slow response, hope its clearer now @nbransby

does startAtFieldValues/startAfterFieldValues/endAtFieldValues/endBeforeFieldValues suffer the same signature clash issue as update or can they renamed to startAt/startAfter/endAt/endBefore` overrides?


Support multiple components on a page using the same Redux store

Multiple React Components on a Page with One Store
You may wish to have 2 React components share the same the Redux store. For example, suppose you want a React component for your header, and underneath the header, you might have a conventional Rails page or another React component. With 2 React components, header and body ones, we'd like them both to share the same Rails view props hydrated Redux store, and we'd like this to all work with Turbolinks to minimize reloading the JavaScript. In the below examples, suppose our Redux store is called appStore, and you have 2 React top level components, "Comments" and "Blogs". You might be wondering on why we'd want to do this. Here's a few reasons:

As much as we love React and Redux, it's still way slower and more expensive than creating simple pages using standard Rails. We like the hybrid approach where we can focus on React + Redux for super high fidelity UX, while using Rails for simpler needs.
We want a React component for the header as we plan to have notification indicators in our header.

Main Layout:
  <% redux_store("appStore", props) %>;
  <%= render_component("Header") %>
  yield

Comments "App" view
  <%= render_component("Comments") %>

Blog "App" view
  <%= render_component("Blogs") %>

Inside your ReactOnRails registered component definition, where you'd normally do the store hookup, you instead get the store from ReactOnRails, like this:
  // getStore will initialize the store if not already initialized, so creates or retrieves store
  const appStore = ReactOnRails.getStore("appStore");
  return (
    <Provider store={appStore}>
      <NonRouterCommentsContainer />
    </Provider>
  );

In either your store definition or your registration files, supposing you created a store called appStore, you will call:
ReactOnRails.registerStore({
  appStore
});

Note, this is a storeCreator, meaning that it is a function that takes props and returns a store.
So what will be happening?
The view helper initialize_store(store_name, props) will replace any cached value of store and rebuilds store by calling the storeGenerator with the props passed from Rails. This will be done with inline JavaScript to ensure that it happens after the page loaded/changed callback from the DOM or TurboLinks, which then renders the components.
Then the components are created as "pure render functions" (aka generator functions) which means they take props and return a React.Component. In the case of using initializeStore, we will not be passing any props to the component. The component will instead call this to get the store.
const store = ReactOnRails.getStore("appStore");

Note, we will not be doing any partial updates to the Redux store. When the page content loads, we will rehydrate the store with whatever props are placed on the page.

We also need to explain why you would want to have everything in a single store instead of just having multiple stores.

I addressed those. Please review the latest commit. Feel free to commit directly for small typos.

Review status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion.

Comments from the review on Reviewable.io

Reviewed 1 of 1 files at r3.
Review status: all files reviewed at latest revision, 4 unresolved discussions.

README.md, line 280 [r3] (raw file):
share the same the same needs fixing

README.md, line 280 [r3] (raw file):
In the bit you added, "this" is referring to using Turbolinks, when really you meant it to refer to using the same store.

README.md, line 282 [r3] (raw file):
You're using first person all of the sudden, please stick to the same narrative. Also, I thought we all agreed a long time ago that naming these things App was a bad idea because they are not actually apps, and you can have more than one on the same page.

README.md, line 304 [r3] (raw file):
It also means you are going to have to pass props for the Navbar in every single controller, besides the props for whatever the controller actually is called. I think we can therefore enhance this, such as providing @react_props in the application controller and then doing a merge in the controller on that instance variable.

Comments from the review on Reviewable.io

Review status: all files reviewed at latest revision, 4 unresolved discussions.

README.md, line 304 [r3] (raw file):
???
Lost here
content_for:
is probably good for this part
include a partial for the header in the target view
and that partial has a content_for

Comments from the review on Reviewable.io

Review status: all files reviewed at latest revision, 4 unresolved discussions.

README.md, line 304 [r3] (raw file):
@justin808 So say you are on a message inbox page, where your main component is an inbox. The Navbar and the Inbox component will want to share the same store, since the Navbar has an "unread messages" icon that shows the count of unread messages, and you want this number to update when you read a message in the inbox. However, the Navbar has other data that needs to be fed to it that has nothing to do with messages, perhaps such as URLs for the navigation, other notifications, user avatar, etc.
So you would either need to pass both the inbox props and the Navbar props in to the initialize_store helper inside of the inbox view, or you would need to initialize the store in the layout where the navbar is and pass in the Navbar props there, along with a content_for :store type thing that you would then pass in from the inbox view, which I think is what you're suggesting here and I agree with.

Comments from the review on Reviewable.io

Review status: all files reviewed at latest revision, 4 unresolved discussions.

README.md, line 304 [r3] (raw file):
OK -- so no change to the docs? It's clearly up to the dev on how to organize the code!

Comments from the review on Reviewable.io

@alexfedoseev @robwise This is ready for review! Tests added. Server rendering working.
Only to-do is to

[ ] refactor react_on_rails_helper.rb to use method objects.

3.0.0.beta.1 is on https://rubygems.org/gems/react_on_rails
3.0.0-beta.1 is on: https://www.npmjs.com/package/react-on-rails
Feedback appreciated.

Looks awesome! Let's try it out :+1:

Review status: 0 of 44 files reviewed at latest revision, 1 unresolved discussion.

Comments from the review on Reviewable.io

Reviewed 40 of 44 files at r4, 4 of 5 files at r5, 2 of 2 files at r6.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from the review on Reviewable.io

@robwise Once you code review, I'll merge. I'll probably update the https://github.com/shakacode/react-webpack-rails-tutorial/ as well.

Reviewed 40 of 44 files at r4, 4 of 5 files at r5, 2 of 2 files at r6.


Muted Hashes Continue to Appear in the Timeline

Something seems to be wrong with the Muted Hash filter. For simplicity's sake, all muting should be done through a single function.

Done and done. Elegant solution, too. Closing ticket.


Update README.md

Hi, seems like you're trying out Course in a box and having some issues with the DNS setup? And it looks like you're a fellow South African :) Let me know if I can help?

Hi good day
Any assistance would be appreciated I am currently a student as was tasked to practice and familiarize myself with using this tool for my own personal project so any assisstance would be appreciated!
Regards

Cool, let me know if you get stuck with anything. From the looks of it it seems like you're trying to setup the DNS. For that to work you need to follow these instructions: https://course-in-a-box.p2pu.org/modules/customize/custom-domain/
You do not need to set a custom domain, if you delete your CNAME (or edit the DNS using the GitHub interface) you will be able to access your site at https://kbrownpha4ge.github.io/course-in-a-box/


weth and eth handling on ethereum

Summary

RFCs: Link to RFC, Link to RFC, or $\emptyset$.
Categories: any of protocol-units, networks, scripts, util, cicd, or misc.

Changelog

Testing

Outstanding issues

Mind filling out the PR description? For anything other than very small PRs we should be using the template provided.

Yep lets add some documentation into the PR description, then this is good to merge 🚀


translation

Did not merge this, needed to break up the individual inputs instead. Thanks for noticing, @fabianfrz  :)


⚠ API - Lens has degraded performance

In 2c09c46, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 604 ms

Resolved: API - Lens performance has improved in 1a889a5 after 6 minutes.


jbuilder rules broken on the cstruct repo

Just clone https://github.com/mirage/ocaml-cstruct/ and run $ jbuilder rules to get:
 jbuilder-dev rules
File "src/build_system.ml", line 153, characters 25-31: Assertion failed
Backtrace:
Raised at file "src/build_system.ml", line 153, characters 25-37
Called from file "src/build_system.ml", line 160, characters 19-68
Called from file "src/future.ml", line 98, characters 4-18
Called from file "src/build_system.ml", line 178, characters 8-242
Called from file "src/build_system.ml", line 322, characters 47-76
Called from file "set.ml", line 326, characters 37-58
Called from file "src/build_system.ml", line 322, characters 4-85
Called from file "src/build_system.ml", line 711, characters 10-52
Called from file "list.ml", line 59, characters 20-23
Called from file "list.ml", line 59, characters 32-39
Called from file "src/build_system.ml", line 730, characters 18-44
Called from file "bin/main.ml", line 551, characters 7-69
Called from file "src/future.ml", line 83, characters 65-70
Called from file "src/future.ml", line 37, characters 9-12
Re-raised at file "src/future.ml", line 17, characters 36-47
Called from file "src/future.ml", line 40, characters 9-23
Called from file "src/import.ml", line 396, characters 8-11
Re-raised at file "src/import.ml", line 398, characters 30-37
Called from file "src/future.ml", line 37, characters 9-12
Re-raised at file "src/future.ml", line 17, characters 36-47
Called from file "src/future.ml", line 40, characters 9-23
Called from file "src/import.ml", line 396, characters 8-11
Re-raised at file "src/import.ml", line 398, characters 30-37
Called from file "src/future.ml", line 37, characters 9-12
Re-raised at file "src/future.ml", line 17, characters 36-47
Called from file "src/future.ml", line 40, characters 9-23
Called from file "src/import.ml", line 396, characters 8-11
Re-raised at file "src/import.ml", line 398, characters 30-37
Called from file "src/future.ml", line 37, characters 9-12
Re-raised at file "src/future.ml", line 17, characters 36-47
Called from file "src/future.ml", line 40, characters 9-23
Called from file "src/import.ml", line 396, characters 8-11
Re-raised at file "src/import.ml", line 398, characters 30-37
Called from file "src/future.ml", line 37, characters 9-12
Re-raised at file "src/future.ml", line 17, characters 36-47
Called from file "src/future.ml", line 40, characters 9-23
Called from file "src/import.ml", line 396, characters 8-11
Re-raised at file "src/import.ml", line 398, characters 30-37
Called from file "src/future.ml", line 37, characters 9-12
Re-raised at file "src/future.ml", line 17, characters 36-47
Called from file "src/future.ml", line 40, characters 9-23
Called from file "src/import.ml", line 396, characters 8-11
Re-raised at file "src/import.ml", line 398, characters 30-37
Called from file "src/future.ml", line 619, characters 8-31
Called from file "vendor/cmdliner/src/cmdliner_term.ml", line 27, characters 19-24
Called from file "vendor/cmdliner/src/cmdliner.ml", line 106, characters 32-39
Called from file "vendor/cmdliner/src/cmdliner.ml", line 136, characters 18-36
Called from file "vendor/cmdliner/src/cmdliner.ml", line 251, characters 22-48
Called from file "bin/main.ml", line 810, characters 10-51

Indeed, the initial implementation was a bit of a hack. I cleaned it up


HDDS-6376. Docs: Fix classpath for ofs and o3fs

What changes were proposed in this pull request?
Fix classpath for ofs and o3fs in docs.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6376
How was this patch tested?
No need

Thanks @kaijchen for the fix.


Compatibility with go lang library (v1.4.1)

Hi,
I am developing a server-client message transfer function using zstd dictionary compression.
Attempting to decompress a message compressed with the go lang library using jni does not work.
However, the decompressed function in go lang works for jni compressed messages.
Is there an issue with compatibility between each library?
(go lang lib : https://github.com/DataDog/zstd, version : v1.4.1
I used the same version. zstd-jni (v1.4.1-1)

Hi, I am not sure where the incompatibility comes from. Internally we use the facebook's code - the project is just thin wrapper over it.
If you write the golang compressed message to file, are you able to decompress it with the zstd cli?

BTW, what is the exception you are getting? Are you using the streaming API? Are you using dictionaries?

Any feedback here? Both libs use the same backend C code, so I don't see how they could me incompatible. Are you sure it's not problem on you application side?

BTW, there is now zstd-1.4.4-2 that should be backwards copatible with 1.4,1, can you try it?

@ssuuk  also there is v1.4.4-3 that may fix some input stream issues.

closing due to no feedback


Access violation (acl_entry_base->type = 0)

Hey! I'm trying to run this extension on Windows. I ported some changes we made to temporal_tables to automate builds. Here it the temporary AppVeyor project setup. There are regression test problems (disregard "green" status). The source as of now comes from my msvc branch.
Also I tried to execute SELECT '{a/i/postgres=rwd, d//user=r, a//=r}'::ace[]; from the readme. However it fails with the following stacktrace:
>	acl.dll!format_acl_entry(StringInfoData * out, __int64 opaque, AclEntryBase * acl_entry_base, void(*)(StringInfoData *, __int64) format_who) Line 258	C
 	acl.dll!ace_out(FunctionCallInfoData * fcinfo) Line 91	C
 	postgres.exe!FunctionCall1Coll(FmgrInfo * flinfo, unsigned int collation, unsigned __int64 arg1) Line 1300	C
 	postgres.exe!OutputFunctionCall(FmgrInfo * flinfo, unsigned __int64 val) Line 1952	C
 	postgres.exe!array_out(FunctionCallInfoData * fcinfo) Line 1132	C
 	postgres.exe!FunctionCall1Coll(FmgrInfo * flinfo, unsigned int collation, unsigned __int64 arg1) Line 1300	C
 	postgres.exe!OutputFunctionCall(FmgrInfo * flinfo, unsigned __int64 val) Line 1952	C
 	postgres.exe!printtup(TupleTableSlot * slot, _DestReceiver * self) Line 360	C
 	postgres.exe!ExecutePlan(EState * estate, PlanState * planstate, CmdType operation, char sendTuples, long numberTuples, ScanDirection direction, _DestReceiver * dest) Line 1581	C
 	postgres.exe!standard_ExecutorRun(QueryDesc * queryDesc, ScanDirection direction, long count) Line 348	C
 	postgres.exe!PortalRunSelect(PortalData * portal, char forward, long count, _DestReceiver * dest) Line 943	C
 	postgres.exe!PortalRun(PortalData * portal, long count, char isTopLevel, _DestReceiver * dest, _DestReceiver * altdest, char * completionTag) Line 793	C
 	postgres.exe!exec_simple_query(const char * query_string) Line 1111	C
 	postgres.exe!PostgresMain(int argc, char * * argv, const char * dbname, const char * username) Line 4032	C
 	postgres.exe!BackendRun(Port * port) Line 4240	C
 	postgres.exe!SubPostmasterMain(int argc, char * * argv) Line 4731	C
 	postgres.exe!main(int argc, char * * argv) Line 216	C
 	[External Code]

It tries to access max int element from ace_type_chars as type is equal to zero.

Indeed :innocent: I should pay more attention :sunglasses: PR is on the way.


Devtools/ObjectinspectorFilter

Change Type (required)
Testing cannary version of player/devtools-assets @0.1.2--canary.27.1288

[ ] patch
[ ] minor
[ ] major

/canary


Need to update the file formate supprt.

Current save file format number is 7. Please consider support the newest save format.

Same, I'd love to be able to use this! My c++ skills are insufficient to fix the issues here.

I have no plans to maintain support for this capability.  You're free to clone the repo and update it for yourself, or use it as a reference for writing your own implementation.


Malta's Flag

The cross on Malta's flag must be on the left side of the white part not on the right.

Alright, can you send a PR? :)