cannot run GTrXL demo since v0.5.0

[ ] I have marked all applicable categories:

[x] exception-raising bug
[ ] RL algorithm bug
[ ] system worker bug
[ ] system utils bug
[ ] code design/refactor
[ ] documentation request
[ ] new feature request

[x] I have visited the readme and doc
[x] I have searched through the issue tracker and pr tracker
[x] I have mentioned version numbers, operating system and environment, where applicable:

they worked fine in v0.4.8 and v0.4.9 but not since v0.5.0
cartpole:
/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/treevalue/tree/integration/torch.py:21: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  register_for_torch(TreeValue)
/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/treevalue/tree/integration/torch.py:22: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  register_for_torch(FastTreeValue)
Traceback (most recent call last):
  File "/home/kenny/repo/DI-engine/dizoo/classic_control/cartpole/config/./cartpole_r2d2_gtrxl_config.py", line 78, in <module>
    serial_pipeline((main_config, create_config), seed=0)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/entry/serial_entry.py", line 61, in serial_pipeline
    policy = create_policy(cfg.policy, model=model, enable_field=['learn', 'collect', 'eval', 'command'])
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/policy/base_policy.py", line 844, in create_policy
    return POLICY_REGISTRY.build(cfg.type, cfg=cfg, **kwargs)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/utils/registry.py", line 96, in build
    raise e
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/utils/registry.py", line 82, in build
    return build_fn(*obj_args, **obj_kwargs)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/policy/base_policy.py", line 134, in __init__
    model = self._create_model(cfg, model)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/policy/base_policy.py", line 219, in _create_model
    return create_model(model_cfg)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/model/common/utils.py", line 31, in create_model
    return MODEL_REGISTRY.build(cfg.pop("type"), **cfg)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/utils/registry.py", line 96, in build
    raise e
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/utils/registry.py", line 82, in build
    return build_fn(*obj_args, **obj_kwargs)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/model/template/q_learning.py", line 1117, in __init__
    raise NotImplementedError("not support obs_shape for pre-defined encoder: {}".format(obs_shape))
NotImplementedError: not support obs_shape for pre-defined encoder: 4

Pong
/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/treevalue/tree/integration/torch.py:21: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  register_for_torch(TreeValue)
/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/treevalue/tree/integration/torch.py:22: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  register_for_torch(FastTreeValue)
A.L.E: Arcade Learning Environment (version 0.7.5+db37282)
[Powered by Stella]
/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/gym/core.py:329: DeprecationWarning: WARN: Initializing wrapper in old step API which returns one bool instead of two. It is recommended to set `new_step_api=True` to use new step API. This will be the default behaviour in future.
  deprecation(
/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/gym/wrappers/step_api_compatibility.py:39: DeprecationWarning: WARN: Initializing environment in old step API which returns one bool instead of two. It is recommended to set `new_step_api=True` to use new step API. This will be the default behaviour in future.
  deprecation(
/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/gym/utils/passive_env_checker.py:227: DeprecationWarning: WARN: Core environment is written in old step API which returns one bool instead of two. It is recommended to rewrite the environment with new step API.
  logger.deprecation(
/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/gym/utils/passive_env_checker.py:233: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)
  if not isinstance(done, (bool, np.bool8)):
Traceback (most recent call last):
  File "/home/kenny/repo/DI-engine/dizoo/atari/config/serial/pong/pong_r2d2_gtrxl_config.py", line 89, in <module>
    serial_pipeline([main_config, create_config], seed=0)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/entry/serial_entry.py", line 61, in serial_pipeline
    policy = create_policy(cfg.policy, model=model, enable_field=['learn', 'collect', 'eval', 'command'])
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/policy/base_policy.py", line 844, in create_policy
    return POLICY_REGISTRY.build(cfg.type, cfg=cfg, **kwargs)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/utils/registry.py", line 96, in build
    raise e
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/utils/registry.py", line 82, in build
    return build_fn(*obj_args, **obj_kwargs)
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/policy/base_policy.py", line 161, in __init__
    getattr(self, '_init_' + field)()
  File "/home/kenny/anaconda3/envs/dienginev0.5.0/lib/python3.10/site-packages/ding/policy/r2d2_gtrxl.py", line 355, in _init_collect
    assert 'unroll_len' not in self._cfg.collect, "Use default unroll_len"
AssertionError: Use default unroll_len

We have fixed this problem in the above commit.
Here is a screenshot example of the final converged agent:


Windows Defender detect dynephant-setup.exe as Trojan:Win32/Wacatac.H!ml

Is this a false positive?

It should be a false positive unless you got dynaphant from a third party.
However, uninstall dynaphant. I haven't had time to fix or maintain it in
years and it is no longer functional.
On Tue, Nov 1, 2022, 00:21 Edgar @.***> wrote:

Is this a false positive?
[image: Screenshot 2022-10-31 222004]
https://user-images.githubusercontent.com/430438/199157882-b521ae04-d36b-4e47-8e2b-4c153c52d818.jpg
—
Reply to this email directly, view it on GitHub
https://github.com/chriv/dynephant/issues/8, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAM5R2DHEQ4ZRP4W74XCEDDWGCLDXANCNFSM6AAAAAARTWJUWA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I downloaded directly from this repo.
Thanks for responding
On Tue, Nov 1, 2022, 3:52 AM Chuck Renner @.***> wrote:

It should be a false positive unless you got dynaphant from a third party.
However, uninstall dynaphant. I haven't had time to fix or maintain it in
years and it is no longer functional.
On Tue, Nov 1, 2022, 00:21 Edgar @.***> wrote:

Is this a false positive?
[image: Screenshot 2022-10-31 222004]
<
https://user-images.githubusercontent.com/430438/199157882-b521ae04-d36b-4e47-8e2b-4c153c52d818.jpg
—
Reply to this email directly, view it on GitHub
https://github.com/chriv/dynephant/issues/8, or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAM5R2DHEQ4ZRP4W74XCEDDWGCLDXANCNFSM6AAAAAARTWJUWA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/chriv/dynephant/issues/8#issuecomment-1298348001, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AADJCZVMJS3JOOHFPUU6ZELWGDY7XANCNFSM6AAAAAARTWJUWA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Compare "Phase 3" with base branch

Summary
Includes changes from https://github.com/mattermost/mattermost-plugin-azure-devops/pull/133 and master
Ticket Link

Awesome work on this project tada
I have some questions/comments for discussion, and two blocking concerns.

Any frontend styles should be nested under a class name specific to the plugin, such as .azuredevops-plugin
The way we are storing subscriptions poses a few issues to me. I've mentioned the concerns here #141 (comment)

Thanks, @mickmister
We are going through the review comments and will make the required changes and discussions on comments.

Some light testing will be needed once security issues are resolved but from a QA perspective - I don't know of anything blocking this.
(For some reason, I'm not able to add reviews in this repo.)

FYI we actually want to merge https://github.com/mattermost/mattermost-plugin-azure-devops/pull/133. This PR is sort of a mock PR for a full review. It contains all changes, including any existing and pending changes to phase 3.

FYI we actually want to merge #133. This PR is sort of a mock PR for a full review. It contains all changes, including any existing and pending changes to phase 3.

@mickmister Please let us know if you want us to merge and trigger a release for #133 PR

@DHaussermann @avas27JTG We should keep the master branch as stable as possible, and since there is still active work being done on the subscriptions feature, 2/5 we should keep https://github.com/mattermost/mattermost-plugin-azure-devops/pull/133 open.
We've made the decision that the first version shipped is to include phase 3. This PR I'm commenting on is essentially a replacement of the "main" review PR https://github.com/mattermost/mattermost-plugin-azure-devops/pull/128. cc @srkgupta

@avas27JTG FYI the main item I'm blocking on atm is to use unique IDs for subscriptions instead of hashing its contents for the KV store key https://github.com/mattermost/mattermost-plugin-azure-devops/pull/141#discussion_r1086852302

@avas27JTG FYI the main item I'm blocking on atm is to use unique IDs for subscriptions instead of hashing its contents for the KV store key #141 (comment)

@mickmister we have fixed this [here]https://github.com/mattermost/mattermost-plugin-azure-devops/pull/141/commits/46b191e3fa5a1e24d45c8a062cea568b3b3297f2

/update-branch


Possible future development: towards a centralized storage infrastructure ?

(This is WIP)
Is your feature request related to a problem? Please describe.
The current design in the one described in Managing, storing, and sharing long-form recordings and their annotations.
It can be summed up this way:

ChildProject is a python+CLI interface for interacting with corpora of child-centered daylong recordings
DataLad is a python+CLI interface for managing scientific datasets (such as these corpora)

There are a few issues that remain unsolved by this design:

Neither of these tools provide the infrastructure to store the data and to process them. Yet, this can be challenging for such data.
Although it is great in many aspects (especially versioning and reproducibility), DataLad may be a bit technical to use for some of the users interested in managing such corpora. Although not required by ChildProject - which works so long as the files are structured properly -, it is the only solution proposed in our design for the retrieval and upload of data.
Not all storage supports handle complex permissions really well - also DataLad is not great if you have too many groups either

Although there are advantages to decentralization, these limitations call for (at least one) centralized database of daylong recordings.
I'll discuss two alternatives:

A web-based database
A DataLad based approach

Towards a web-oriented, gitless database
Here is a description of the long term goals.
ChildProject should be able to interact with corpora using different storage supports:

Locally using the current standards (metadata as CSV dataframes), which we'll call the CSV interacting mode
Locally using a database (e.g. sqlite, PgSQL, etc.), i.e. the database interacting mode
Remotely through an API, i.e. the API interacting mode

For instance, the third option would apply to users of a centralized database.
Most functionalities should work the same regardless of the storage support (i.e. one client API for all storages).
The centralized database (let's call it daylong-db) would come with include two packages:

daylong-db-server: an API server complying with the standards of ChildProject's API storage interface, e.g. to serve the requests made through the API interacting mode of ChildProject. Could be run on Flask. It could also use ChildProject through the database interacting mode for instance.
daylong-db-frontend: a web-based graphical interface for interacting with the corpora (as an alternative to ChildProject which is a python/CLI interface)

It should be possible to run processing pipelines remotely too. The API would return a handler which could be used to check for the status of the job at anytime and to retrieve the results. On the server side, the jobs could be run using slurm on a local infrastructure or on a cloud computing provider such as AWS.
Note that it should be possible to convert corpora from any storage format to any other (e.g. export/import from CSV to DB etc.)
Roadmap

Develop ChildProject database interacting mode (one in which CSVs are replaced with tables)
Design specifications for an API interacting mode
Implement it into ChildProject, ignoring processing pipelines for the beginning
Implement a server capable of serving these requests (i.e. daylong-db-server)
Factorize pipelines code
Implement processing pipelines into daylong-db (using slurm to begin with)
Develop a web-based graphical interface for daylong-db

Implementation
Stores
A store is an object that can fetch/updates data from a given storage (local or remote, CSV vs SQL, etc.)
We'd have:

CSVStore
SQLStore
APIStore

Which would all inherit from a Store abstract class, e.g.:
class Store(ABC):

    def __init__(self):
        pass

    @abstractmethod
    def get_children(self):
        pass

    @abstractmethod
    def get_recordings(self):
        pass

    @abstractmethod
    def get_annotations(self, sets: Optional[List[str]] = None):
        pass

    @abstractmethod
    def add_child(self, child: dict):
        pass

    @abstractmethod
    def update_child(self, child: dict):
        pass

    @abstractmethod
    def delete_child(self, child: str):
        pass

    @abstractmethod
    def add_recording(self, recording: dict):
        pass

    @abstractmethod
    def update_recording(self, recording: dict):
        pass

    @abstractmethod
    def delete_recording(self, recording: str):
        pass

    @abstractmethod
    def add_annotations(self, annotations: pd.DataFrame):
        pass

    @abstractmethod
    def update_annotation(self):
        pass

    @abstractmethod
    def delete_annotations(self, annotations: pd.DataFrame):
        pass

class CSVStore(Store):
    def __init__(self, path):
        super().__init__()
        self.path = path

    def get_children(self):
        children = pd.read_csv(join(self.path, 'metadata/children.csv'))
        return children

    # etc.

class SQLStore(Store):
    def __init__(self, engine: Engine, corpus: str):
        super().__init__()
        self.engine = engine
        self.conn = engine.connect()
        self.corpus  = corpus

    def get_children(self):
        children = pd.read_sql(query, self.conn)
        return children
    # etc.

Project and AnnotationManager use their store instance to access or modify the data (always) such that their code should not depend on the choice of the store.

https://github.com/G-Node/gogs


Use etcd-operator package to manage cluster programatically

Hi, everyone!
First of all thanks for a great tool!
I'm getting started with etcd-operator and I'm thinking about using this to programatically deploy and manage clusters on Kubernetes.
Is this a scenario you've taken into consideration? I'll basically vendor this repo and use the pkg packages to do it - but before I'm actually trying, just wanted to know if this scenario is supported.
Thanks,
Radu M

Can you provide more details of what you are going to do? Maybe with some real use cases?

I'm adding state management to a CLI and web based tool - the state management is optional, and if opted-in, then the tool should automatically deploy an etcd cluster and use it to store its state.
Now I'm trying to understand the most convenient way to deploy and manage the cluster.

If you want to programmatically deploy and manage etcd clusters, use API to achieve manipulation:
https://github.com/coreos/etcd-operator/tree/master/pkg/apis/etcd/v1beta2


Change Agent export default to not include IDs

Right now the agent export default is to include IDs, we should change it to not include them as the default behavior when exporting is to import elsewhere...

closed by https://github.com/samtecspg/articulate/commit/4e587b851072b5ed69e1bd93381863cf2e0653e2


CLOUD-42393 fix metadata for clouds which don't have private id

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1745/


Pushable trait

We can already do

trait pushable

But there is no way to set Returnable, nor the Delay.
http://mcmonkey.org/denizen/lngs/pushable trait

In the latest development build
- pushable (state:true/false/{toggle}) (delay:<duration>) (returnable:true/false)


Add SmartUnmarshalAll

Fixes #78
Just to clarify -- I didn't follow the existing code of SmartUnmarshal on purpose, as it had so much if nesting and I couldn't really make sense of it... perhaps just because I'm not too versed with the actual data model from SurrealDB response. In this PR, I have tried to stick to idiomatic Go as much as I can. I'm open to updating the code for better clarity / performance 👍

I wrote the logic before realising that I could do SmartUnmarshal[[]User] -- perhaps that may be all I need without this explicit handling 🫠

Actually, I had some logic change in my code. The following code produces different output between surrealdb.SmartUnmarshal[[]User] and surrealdb.SmartUnmarshalAll[User]

	data, err = db.Query(`
		CREATE user:j SET name = "J";
		CREATE user:j SET name = "J"; // conflict
		CREATE user SET name = "John";
		`, nil)
y, err := surrealdb.SmartUnmarshal[[]User](data, nil)

SmartUnmarshal has been design to use like tuples you can use like this too but you need to this:
	data, err = db.Query(`
		CREATE user:j SET name = "J";
		CREATE user:j SET name = "J"; // conflict
		CREATE user SET name = "John";
		`, nil)
users, err := surrealdb.SmartUnmarshal[[]User](data, err)

I wrote the logic before realising that I could do SmartUnmarshal[[]User] -- perhaps that may be all I need without this explicit handling 🫠

Thanks for your contribution.
I had worked on SmartUnmarshal/SmartMarshal before
Far as I see it has a similar way to solve the problem but I think while we had generics in go we could use it to solve problems and then interfaces everywhere, which makes it more flexible, also maybe func is a little bit longer than then-current implementation.
still, if I skip or overlooked please let me know thanks :)

@ElecTwix Sorry for getting back to this late! There are several points I tackled in my code, and it's certainly worth clarifying all the points 👍
Getting data from database
You seemed to have created a separate PR for defaulting to use array return like my implementation, and I personally think this makes more sense. It is far more likely to query bulk of data rather than one, and even if you specifically need a single data, it's simple to get the first item from the slice. On the other hand, if the return value is a single T, it may not be obvious to use []T as the type parameter.
Partial dataset is still useful
Because you can do multiple actions in a single Query, it would be beneficial to see what actually took place in the database. For example:
data, err := s.db.Query(`
        CREATE user_dummy:xxxx SET Username = "x", Password = "xxxx";
        CREATE user_dummy:y    SET Username = "y", Password = "y";
        CREATE user_dummy:xxxx SET Username = "x", Password = "INVALID"; // NOTE: Conflicting ID.
        `, nil)

(This is taken from the actual test code I added in this PR.)
The above is a perfectly valid way to interact with SurrealDB. When an error occurred, because this is not a transactional write, some data may be written, and some may have failed. I want to be able to see both data and err.
The s.db.Query actually seems to only return err when some connection error happens, and in that case, I would want to retry if it's a transient issue for instance.
If the error is about the SurrealQL, it's very possible that some data gets written correctly, and some not. I would want to unravel all the details with SmartUnmarshal[T], even if that means I may also get some partial dataset.
Also, there could be some cases where the return data is not conformant to the data type. For instance, when the schema assertion for some specific field is added after a data is created, such as:
CREATE user:x SET age = "one";
DEFINE FIELD age ON TABLE user TYPE number;
CREATE user:y SET age = 1;

Both entries user:x and user:y are valid in the database, but one is following the schema, and the other could be created before the field definition is defined. There are many scenarios like this to succeed receiving only a part of the data, and I'd like a clear and concise way to interact with SurrealDB, while giving me all the information I can gather, even partial dataset.
Other minor (but important) points
Taking err as a part of function looks odd
You mentioned about the tuple like argument -- I'm sorry but I found it extremely confusing to see the form of the following
result, err := surrealdb.SmartUnmarshal[T](s.db.Query("SELECT * FROM user"))

This may be a nice way of wrapping any error, but I want to see the error as soon as it occurred. When the function returns an error, I want to do if err != nil check, so that I can take some remediation actions against it. With the existing syntax, you could do the err check, but then you would be running a function like this
data, err := s.db.Query("SELECT * FROM user")
if err != nil {
    // some err handling
}
result, err := surrealdb.SmartUnmarshal[T](data, nil)

The second parameter nil seemingly comes from nowhere, and I'd have to actually go into the SDK implementation for what it does. It just doesn't look to be idiomatic Go code to me... 🤔 While it is arguable what the idiomatic Go code should look like with the rise of generics, it was certainly baffling for me.
Function broken up to smaller chunks for easier review
Because of generics and complex data structure returned from SurrealDB, the code to make the SmartUnmarshal was quite difficult to wrap my head around. It may be just me, but I made smaller functions to make it easier to debug, and explicit about how data could have nested structure.
While understanding SurrealDB concepts and the actual data returned from the server is important, I would find it's beneficial to have a clear code which is easy to digest, which works as a live documentation.

Because what SmartUnmarshal does already and what it aims to do is quite involved, there are several points to be covered in this discussion. I'd be more than happy to discuss this more over a video call of some sort if that is easier ☺

Thanks for your detailed info about the issues you face and what the PR meant to achieve.
I agree with most of the points you make the tuples are meant to make one-line code that can return the type that wanted but your point also makes sense for readability and
I believe both PRs need to stay in the code base for freedom of choice to use
also, I issue you mention in #78  some of the issues you face with #90. still, I believe this PR needs the merged
and eventually become one func for use
but also I am so concerned about performance outputs like you are using elements one by one
it can be beneficial for readability but if are too big it can bottleneck.

Thanks for the review, @ElecTwix!

I believe both PRs need to stay in the code base for freedom of choice to use

Thanks, I appreciate your understanding! 🥰 However, I may need to counter-argue for having multiple functions for doing the same thing. As SurrealDB itself is very much focused on DX, it would make sense to bring the same focus to SDKs as well. While the freedom of choice should be provided by ensuring code clarity and easy extensibility, it also makes sense to show what's considered "best practice" from the SurrealDB team. When there are several ways to do one thing, it can lead to unnecessary confusion.
I think we are both tackling the same problem in the existing code, and taking a slightly different approach right now. While I can understand both functions to live together for a short while, before the release is cut, it would be good to iron out and have a least amount of public facing functions. That may mean we could have two or more implementations in place, but the fewer the better. I can absolutely understand if this PR is to be dropped because of that, for the better DX of the future community 👍

but also I am so concerned about performance outputs like you are using elements one by one
it can be beneficial for readability but if are too big it can bottleneck.

This is surely a valid concern, and I haven't done too much investigation into this. We should certainly take more benchmark testing and profiling into account. My main focus was to provide an easy interface first, and iterate over to get the right performance. I'm completely open to suggestions, though ☺

@ElecTwix
I see your refactor change has got merged, and it closed this PR rather than associated issue of #78. Was this intentional? The use of err as a part of the argument is still in the new code, and it would be great if you could clarify what the way forward should look like 🙏

Hey @rytswd,
I made a mistake by indicating "fix #79" instead of "fix #78". I will contact @timpratim to reopen the PR. I apologize for any confusion caused.

Fixed now @rytswd @ElecTwix thanks!

Hi @rytswd can you please resolve the merge conflicts?

Certainly, I'll do that in a bit!

@timpratim @ElecTwix
Sorry, rebasing this is actually not that straightforward. There seems to be a massive design change following #90 - it seems the marshal logic is now in marshal.go, in a separate marshal package?
That seems really strange as a user point of view, where I'd have to import "marshal" package and write marshal.SmartUnmarshal[testUser](s.db.Select("users:notexists")). When I write in Go, my mental processing will go as follows:

Connect to SurrealDB
Query based on some statement (e.g. Select users:x)
Get a raw dataset from SurrealDB
Unmarshal to an object for further processing

There may be some rare occasions where you'd only interact with database without any marshalling / unmarshalling, but in most interactions would require either of the two, or even both. It is quite unintuitive IMHO how I'd have to pull in a dedicated "marshal" package for any database interaction.
I can take down this PR and create a fresh PR to suggest the update. I think the discussion point is drifting towards more of what SDK should expose to users rather than smart unmarshal behaviour.

Sorry, rebasing this is actually not that straightforward. There seems to be a massive design change following #90 - it seems the marshal logic is now in marshal.go, in a separate marshal package?

Yeah, that's on me, for project structure it made more sense but I broke your PR in the process I'm sorry if you want I also could help to migrate your fresh PR.

That seems really strange as a user point of view, where I'd have to import "marshal" package and write marshal.SmartUnmarshal[testUser](s.db.Select("users:notexists")). When I write in Go, my mental processing will go as follows:

I understand your point but moved because of the project structure also if people want to marshal themselves self they also could and I don't think we should force it.

There may be some rare occasions where you'd only interact with database without any marshalling / unmarshalling, but in most interactions would require either of the two, or even both. It is quite unintuitive IMHO how I'd have to pull in a dedicated "marshal" package for any database interaction.

I agree that they are needed most but still modules will give code more clarity when the project grows.

I can take down this PR and create a fresh PR to suggest the update. I think the discussion point is drifting towards more of what SDK should expose to users rather than smart unmarshal behaviour.

I agree about this especially about the RPC module if we could expose it can be useful for users for their own marshaling or live queries

@ElecTwix
Thank you for the input, but I'm not sure if I understand your intention clearly enough 🤔

I understand your point but moved because of the project structure also if people want to marshal themselves self they also could and I don't think we should force it.

I agree that they are needed most but still modules will give code more clarity when the project grows.

You mention these points, and the module / package structure need to be designed to accommodate growing requirements and ensure we would have limited breaking changes. But I may have to argue that I'm seeing the opposite with the recent changes. The new "marshal" package introduces breaking changes to the existing APIs, and I would personally assume the basic database interaction such as marshalling / unmarshalling would be provided by default -- asking users to write their own is quite strange to me.
I think I'm not seeing some rationale behind the breaking package changes, and somewhat unconventional Go coding style assumed for users. It may well be my ignorance and limited exposure with Go generics, but I'm quite puzzled anyhow.
Let me close this PR, and also write a separate issue when I have got the time. I haven't actually tested the new SmartUnmarshal logic introduced with #90 either, so I'll double check and update #78 accordingly. (Probably not this week but sometime in the near future.)


Create project with underscore issue?

If I create a new project based on Swarm HTTP API and use a project name like swarm_http_api, the repository gets created in github, however, the project never gets created in my minishift environment. If I use a project named swarmhttpapi then no problems. Hope this is the right place to  report this.

Correct. OpenShift is much more restrictive with its project names than GitHub. I've tightened the check to only allow OpenShift-compatible names. Closing.


Revert "Add a separate nodepool for paleohack event"

Reverts 2i2c-org/infrastructure#1058
Event is done!

Great catch, @sgibson91 and @GeorgianaElena! Done :)

terraform applied!


Tip: @actions/artifact added methods to delete artifacts

See

doc https://github.com/actions/toolkit/tree/main/packages/artifact#delete-an-artifact
PR https://github.com/actions/toolkit/pull/1626

It seems to me then implementation in current repo could be simplified, once @actions/artifact ships a new release.

This is really helpful, and may remove the need for the new token parameter. Thank you for bringing this to my attention! 👍

actions/artifact has just released v2.1.1 which ships with the new method artifact.deleteArtifact(), see<EMAIL_ADDRESS>Note that as I'm writing this there's no tag<EMAIL_ADDRESS>in repo https://github.com/actions/toolkit yet, but the new version is indeed uploaded to npm hence useable.

This should now be resolved as part of v5 🚀


WIP: Date picker

[x] Fixed Compilation Errors

[ ] Added Calendar to update the Date and Table

Updating table based on calendar change is not possible, as the API structure differs in both version. As an alternative approach, cards are shown in page when date change occurs, then the user can select any card to get the date specific data.


Turn on stalebot for better issue management

I'd like us to consider turning on stalebot for better issue management in k3s.
For those unfamiliar, GitHub's stalebot will close issues that haven't seen any activity in a configured number of days.
Some thoughts on how it would be configured:

I'd like to see it configured with a pretty long lead time before something goes stale, like 90 or 180 days.
I'd like a relatively shorter gap between stale and close. Maybe two weeks.
I'd like there to be a set of labels (TBD) that will cause the bot to never touch the issue.

My goal here is to improve our responsiveness. My hope is that by doing this, we can get the issue backlog down to a more manageable size and hone in on what matters. There will always be the escape hatch where I user can comment on an issue that stalebot marked as stale before it is deleted. This will not only reset the timer, but if we implement the right processes, it can put it back in our queue to look at again.
There are arguments against stalebot. The main one I've heard is that it feels impersonal and will anger users when they see that their issues are being automatically closed. My main counter to this is that some pro-active action is better than having the issues sit in purgatory indefinitely.
I'm curious how the community will receive this. Any feedback?

Full disclosure: I do not work on the k3s team, but I am a SUSE employee on the Rancher team.
I think a stale issue bot could be great because maintainers generally have to juggle a lot at once and they do care about user issues more than it might seem to some. I think a lot of issues naturally get solved through releases and iteration as well as adding new features as well as refining old ones.
I believe an ideal bot would have a message that indicates that a user should refile or reopen an issue if they're still facing the problem. That is not because their issue is not important; it's because we would want to reaffirm that it is still an issue and we would want to increase chances of prioritizing it and making it visible. If anything, I believe a stale issue bot (with a significant amount of time) would actually increase the chances of issues getting the attention they deserve over time.

@cjellick I think stalebots are absolutely a valid tool for maintainers to stay on top of issues. I find them useful both as a consumer (to remind me to follow up on old issues I’ve raised) and as a maintainer to help trim the ever increasing backlog and keep things fresh.
Regarding the impersonality of them — when we enabled it on Sarama I took care to make the wording as human, friendly and welcoming as possible. This was what I came up with at the time: https://github.com/Shopify/sarama/blob/master/.github/stale.yml

An issues backlog is often managed alongside the resource and demand priorities of the product owner. That means that there will be items which are entirely valid along with a full intention to resolve, but that are unlikely to be prioritised in the near term. Such items might need to stay on the backlog for 2 or 3 release iterations (possibly even longer) which might mean that they would be removed by a stalebot process. Further, all information required to reproduce an issue or feature request as well as a full understanding of the problem space may already have been exhaustively provided, and therefore no further activity on the thread is expected.
How do you intend to deal with such cases. Are you expecting someone who contributed to be constantly checking back to see if they need to reset the clock. Personally, if the product owner accepts the issue, I would expect them to take responsibility for managing it through to its conclusion, even if that means dropping it. Is at least a notification proactively sent to the OP of the issue (what about others who are not the OP but have made a significant contribution and may/may not be tracking it ?) ?
Maybe you already have a process such as this in place, and if so, you should probably provide a link to it ?

@goffinf thanks for the feedback! Very good questions.
To address your concerns:

The bot allows us to configure labels that tell it to never mark that issue as stale. That's how we'll identify valid issues that we want to get to, but can't do so right away.
All actions taken by the stale bot will include a comment, which should proactively notify the issue reporter. So, assuming the user pays attention to their GitHub notifications, they'll be proactively investigated.

Thanks for the input @dnwe. Appreciate it. I like the comments you used.

from @davidnuzik - can the bot link to an FAQ doc to explain it?
from me - Should we start with a really long stale period and then slowly reduce it?

Complete :)


feat(rate-limiting) add dark mode, not enforcing rate-limits

Rate limiting often needs tuning after meeting production traffic.
Adjusting these can have unexpected consequences. This patch lets
you run rate-limiting in dark mode, where it only logs what it
would have done, without enforcing the limit.
Recommended in f.x. https://stripe.com/blog/rate-limiters

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Superseded by https://github.com/Kong/kong/pull/6836


- compulsory for custom element names

This will bring the custom element implementation in line with the web component spec - it future proofs the framework against people registering custom element names that clash with element names that exist in the HTML spec, or that may be added in the future.
The naming spec outlines the following requirements:

Must be an NCName
Must include a dash (U+002D)
Must not contain upper case letters
Must not be one of:
annotation-xml
color-profile
font-face
font-face-src
font-face-uri
font-face-format
font-face-name
missing-glyph

This issue was moved to cyclejs/cycle-web#5


uds: move uds on a per port basis

Fixup CNDP to work with https://github.com/intel/afxdp-plugins-for-kubernetes/pull/81

[ ] golang api probably needs update
[ ] rust api probably needs update

created 2 new issues to track the rust and golang work

https://github.com/CloudNativeDataPlane/cndp/issues/352
https://github.com/CloudNativeDataPlane/cndp/issues/353


Update windows-autopilot-requirements.md

Separated the Windows Autopilot deployment service and Windows Activation items into two separate rows to make it easier to read.

@greg-lindsay Would you be able to review this PR created by a MS contributor that introduces a minor styling fix to make the page more readable? Thank you.

Rich Text Diff view to see the effective changes:
https://github.com/MicrosoftDocs/windows-itpro-docs/pull/4794/files?short_path=9309861#diff-9309861f761730800fcad5490f0a51e7

@greg-lindsay Following up for updates.

@greg-lindsay Following up for updates.


feat: Added clock class. Allows uses to punch in and punch out.

Added a Clock class. Methods inside the class include: punch_in, punch_out, and close. Excluding close, punch_in and punch_out update cells in a database. The close method closes the connection to the SQLite database and should be ran when the user is done using the Clock class.

Please update the file according to the planned schema


feat(avm): contract instance opcode

Please read contributing guidelines and remove this line.

Benchmark results
Metrics with a significant change:

note_successful_decrypting_time_in_ms (8): 206 (+28%)
note_successful_decrypting_time_in_ms (32): 666 (+24%)
note_trial_decrypting_time_in_ms (8): 12.3 (-82%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 54aee589 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
676
676
676

l1_rollup_calldata_gas
6,412
6,424
6,400

l1_rollup_execution_gas
585,745
585,757
585,733

l2_block_processing_time_in_ms
1,285 (-2%)
4,727 (-2%)
9,101 (-1%)

note_successful_decrypting_time_in_ms
:warning: 206 (+28%)
:warning: 666 (+24%)
958 (-1%)

note_trial_decrypting_time_in_ms
:warning: 12.3 (-82%)
80.4 (+38%)
86.5 (-10%)

l2_block_building_time_in_ms
13,664
50,050 (-1%)
100,416

l2_block_rollup_simulation_time_in_ms
7,942 (+1%)
27,559 (-1%)
55,128 (+1%)

l2_block_public_tx_process_time_in_ms
5,699 (-1%)
22,441 (-1%)
45,192 (-1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
14,154 (-1%)
26,128 (-2%)

note_history_successful_decrypting_time_in_ms
1,266 (-7%)
2,429 (-2%)

note_history_trial_decrypting_time_in_ms
110 (+1%)
146 (-8%)

node_database_size_in_bytes
18,640,976
35,070,032

pxe_database_size_in_bytes
29,859
59,414

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
227
44,379
28,214

private-kernel-ordering
201
52,880
14,296

base-parity
3,653 (+3%)
128
311

root-parity
1,295 (+10%)
1,244
311

base-rollup
16,498 (+1%)
165,760
861

root-rollup
49.8 (+1%)
4,359
725

private-kernel-inner
294
73,795
28,214

public-kernel-app-logic
121
35,252
28,217

public-kernel-tail
165
40,928
28,217

merge-rollup
9.27 (+11%)
2,568
861

public-kernel-teardown
118 (-1%)
35,252
28,217

public-kernel-setup
117
35,252
28,217

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.1 (+1%)
16.1
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.588 (+1%)
0.496
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
47.5
72.7 (+1%)
232
449
871 (-1%)
1,726
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.487
0.448 (+1%)
0.422
0.419 (+1%)
0.414 (-1%)
0.413
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
54.6 (-2%)
107 (-1%)
335 (-2%)
666
1,307 (-1%)
2,603 (-1%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.481 (-2%)
0.483
0.456 (-2%)
0.458
0.453
0.452 (-1%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
61.6

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.538 (+1%)

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
14,968
495,320

Transaction size based on fee payment method

Metric
none fee payment method
native fee payment method
fpc_public fee payment method
fpc_private fee payment method

tx_with_fee_size_in_bytes
773
905
1,161
1,377

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
2,056 (-1%)
1,363
4,732 (-1%)

Metric
0 public data writes
1 public data writes
2 public data writes
3 public data writes
4 public data writes
5 public data writes
8 public data writes

tx_sequencer_processing_time_ms
11.7 (+16%)
702
527 (+1%)
1,440
583
2,504
666 (-1%)

Merge activity

Apr 4, 6:46 AM EDT: @fcarreiro merged this pull request with Graphite.


ci: output some debug logs in AppVeyor

To investigate timeout errors: https://github.com/teppeis/kintone-plugin-packer/pull/124#issuecomment-387608226

oh, I need cross-env...


First addition for NTVS

First exclusion for Node.js tools for Visual Studio 2013.

Sorry I missed this earlier. .ntvs_analysis.dat basically caches the IntelliSense and JavaScript code analysis output. It can get very large and like Visual Sutdio user preferences (*.suo, *.ide) shouldn't really be checked into source. See this discussion with responses from the Node.js tools team
Would you like to have this information in the template gitignore? Or did you just want to sanity-check the correctness of putting this file in?

I'm not sure who to re-open the pull request. Do I just create a new pull request from my fork?

No need to change the PR, it's just nice to have some confirmation in the discussion for future reference. Thanks for linking to that discussion :sparkles:


Acquire a testnet slot

https://docs.substrate.io/tutorials/connect-other-chains/acquire-a-testnet-slot/

Awaiting a temporary parachain slot: https://github.com/paritytech/subport/issues/478

Made a mistake in the session keys configuration by adding to existing config rather than replacing, which resulted in no blocks being produced until I started up additional collators for the missing session keys (https://substrate.stackexchange.com/a/179/3138).
PR submitted to improve tutorial documentation slightly.


Easy kubernetes pod custom service account

It has a conflict with easy-kubernetes-pod-tolerations. Separate it, please.


Assertion error

Hello,
I am attempting to use your package here. However I get this error:
{   "errorMessage": "Chromium revision is not downloaded. Run \"npm install\" or \"yarn install\"",   "errorType": "AssertionError [ERR_ASSERTION]",   "stackTrace": [     "Console.assert (console.js:194:23)",     "Function.launch (/var/task/node_modules/puppeteer/lib/Launcher.js:97:15)",     "<anonymous>"   ] }
In particular this is the stack trace with the debug flag on
TypeError: Cannot read property 'version' of null     at _callee3$ (~/node_modules/puppeteer-lambda/src/index.bundle.js:210:40)     at tryCatch (~/node_modules/regenerator-runtime/runtime.js:62:40)     at Generator.invoke [as _invoke] (~/node_modules/regenerator-runtime/runtime.js:296:22)     at Generator.prototype.(anonymous function) [as next] (~/node_modules/regenerator-runtime/runtime.js:114:21)     at step (~/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)     at ~/node_modules/babel-runtime/helpers/asyncToGenerator.js:35:14     at new Promise (<anonymous>)     at new F (~/node_modules/core-js/library/modules/_export.js:36:28)     at ~/node_modules/babel-runtime/helpers/asyncToGenerator.js:14:12     at isBrowserAvailable (~/node_modules/puppeteer-lambda/src/index.bundle.js:235:22)
It looks like the isBrowesrAvailable is not handling the case when it gets a false and looks for a version.
Thank you

@BTruer
{ "errorMessage": "Chromium revision is not downloaded. Run \"npm install\" or \"yarn install\"", "errorType": "AssertionError [ERR_ASSERTION]", "stackTrace": [ "Console.assert (console.js:194:23)", "Function.launch (/var/task/node_modules/puppeteer/lib/Launcher.js:97:15)", "<anonymous>" ] }
means you don't have local chrome in you node_modules, check details from (Puppeteer)[https://github.com/GoogleChrome/puppeteer]
and i made some changes to ensure you only need download the custom chrome when you prepare the package for lambda. you can check the latest (REAMDE.md)[https://github.com/shawnLiujianwei/puppeteer-lambda/blob/master/README.md]

I've just had a go using this as well.
I have exactly the same error message.
Installed with puppeteer_skip_chromium_download=true
Node 8.1.0
Environment variable set CUSTOM_CHROME to true.
Any ideas?

Just had a look into this.
Puppeteer is failing at this point (/var/task/node_modules/puppeteer/lib/Launcher.js:97:15)
let chromeExecutable = options.executablePath;
if (typeof chromeExecutable !== 'string') {
      const browserFetcher = new BrowserFetcher();
      const revisionInfo = browserFetcher.revisionInfo(ChromiumRevision);
      console.assert(revisionInfo.local, `Chromium revision is not downloaded. Run "npm install" or "yarn install"`);
      chromeExecutable = revisionInfo.executablePath;
}

There's no executable path being passed to Chrome, and that it because we're falling back to the version where Puppeteer has installed Chromium (when Puppeteer-Lambda rightly does not install it), because of this:
Looking at puppeteer-lambda, puppeteer-lambda/src/index.js, line 17
if (process.env.CUSTOME_CHROME || (process.env.CHROME_BUCKET && process.env.CHROME_KEY)) {
That's a typo. Hopefully that gets it working.
Sorry to get so involved, I'd just love to get this working and your approach is the cleanest I have seen so far.
Tom

@tomgallagher  which version you are using , pls use 1.0.9 which i fix the typo and separate the chrome binary to another repo.
thanks to figure out the typo

Yes I'm using "puppeteer-lambda": "^1.0.10".
So there's still this assertion error?

OK the typo fixed the assertion error. Now there's a problem with collecting the local version of chrome.

@tomgallagher   pls have a look the README.md

Yes. I have.

Ah. That I may not have done. I had a tar.gz file in the folder but I don't think it was decompressed. Probably a good idea to add this to README.md:
BEFORE INSTALLING PACKAGE
Add a file callled .npmrc at the same level as your package json.
In this file, put:
puppeteer_skip_chromium_download=true
CUSTOM_CHROME=true

Then when you download, you see a message from Puppeteer saying that the Chromium download has been skipped.

@tomgallagher  can you do a pull request ? and i will prepare one sample to run it in lambda

@tomgallagher  i tested , seems the chrome binary it's broken , my  lambda now is using the one i uploaded to my s3 , so did't have this problem.  i have replaced the chrome binary (version 67) and and also fix the typo , please use latest version 1.0.11 . sorry for the mistake

here is my sample:
handler.js
`const lambdaPuppeteer = require('puppeteer-lambda');
exports.handler = async (event, context) => {
try {
const url = event.url || 'https://www.google.com';
const browser = await lambdaPuppeteer.getBrowser();
const page = await browser.newPage();
await page.goto(url);
const title = await page.title();
context.succeed(JSON.stringify({url, title}));
} catch (err) {
    console.log(err.message);
    context.fail(err.message || err.stack || err);
}

}`
package.json
{   "name": "ls",   "version": "1.0.0",   "description": "",   "main": "index.js",   "scripts": {     "test": "echo \"Error: no test specified\" && exit 1"   },   "author": "",   "license": "ISC",   "dependencies": {     "puppeteer-lambda": "^1.0.11"   } }
deploy.sh
cp serverless.yml ./dist/ cp package.json ./dist/ cp -r handler.js ./dist/ cd dist && PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true CUSTOM_CHROME=true yarn --production
the serverless.yml is used for Serverless

@shawnLiujianwei
No worries. Another thing I've been thinking about - your approach may well be superior to other serverless chrome options because it assigns an executable path in the Lambda function. So a new version of Chrome is instantiated on each call to Lambda. This may be slower but means that you do not have complications associated with two concurrent calls to the Lambda function.

I think you are right, if you want reuse the chrome, i think the easier way is send more urls to one lambda, also you can have a look chromeless https://github.com/graphcool/chromeless , after you deploy it to lambda you will get ine url to use it,but puppeteer has more options to control the browser, seems chromeless planned to use puppeteer too

When you build your package before updating its version on NPM, do you automate the process of checking which version of Chrome is being used by Puppeteer, then create that binary build, save it to the chrome folder, etc. Is that even possible?

No, i didn't di that, normally we don't need change chrome version unkess you need the new features.  If you need you can build it manually

Yes, I understand that. I'm just saying that, given you have a clean, fairly transparent method of employing Puppeteer on Lambda, your package could benefit. Puppeteer makes a big deal of saying 'this version is tested with xxx version of Chrome'. If you want to become the method of choice for using Puppeteer on Lambda, you would benefit from saying 'puppeteer/lambda has been tested with xxx version of Puppeteer and always installs the correct version of Chrome.

It's just an automation process to ensure that your internal Puppeteer version is always latest stable and the Chrome version matches. Otherwise, if people start to adopt your package, you will have lots of enquiries about why some new Puppeteer feature is not available / not working or why Puppeteer is reporting errors in its interaction with Chrome.

All the info for this is in Puppeteer package.json which I guess you could get from github. The only thing I don't know is whether it is possible to automate a Lambda build of specific version of Chrome.

https://stackoverflow.com/questions/15957529/can-i-install-a-npm-package-from-javascript-running-in-node-js

understand , thanks for that . the lambda chrome binary was build from ec2 , let me try to docker to build that rather than in ec2 instance . then i can put the Dockerfile in this project so that user can build the required version

@tomgallagher   Does it work now ? will close the issue

yes close it.

I'm testing this and run into the same issue, I'm thinking it may be that different chromium revisions are needed for different versions of puppeteer? Which version of puppeteer was expected when you generated the chome version that is included? I have verified that I have a version of chrome in the dist package.


[DO NOT MERGE] add webp profile

needs https://github.com/OSGeo/gdal/pull/704 and https://github.com/mapbox/rasterio/pull/1445 to be merged first

rasterio 1.0.9 has been released and support WEBP (https://github.com/mapbox/rasterio/blob/master/CHANGES.txt#L23-L24) we can now merge this ;-)

Merci @sgillies


Make settings.json more accessible

Currently, if I want to quickly get to settings.json I press ctr+, but then I have to press the dot menu to switch to settings.json. I'm sure that there is probably a setting to default to settings.json but I think it still would be better to give "Open settings.json" it's own button.
Current:

My poor man's paint mockup:

There is an icon {} in insiders version. Should be out in the next release 1.30.

/duplicate of #61590


Support playwright as an alternative e2e test framework

@pascalgrimaud, can we add some bounty on this ticket?

@vishal423 : done, but I don't know the amount of work so don't hesite to ping me if it's not enough :-)

Hi there, I am new to this repository but would like to work on this.

Feel free to grab. You can refer existing cypress tests and create
equivalent in playwright. I suggest to start small, may be few specific
flows (login/logout/registration) and then expand to cover all flows.
On Thu, 9 Nov, 2023, 7:03 pm c0d33ngr, @.***> wrote:

Hi there, I am new to this repository but would like to work on this.
—
Reply to this email directly, view it on GitHub
https://github.com/jhipster/generator-jhipster-svelte/issues/1650#issuecomment-1803841813,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD2BV4NXA5UYUEWHQVEFC33YDTLS7AVCNFSM6AAAAAAXENVSFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBTHA2DCOBRGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @vishal423 , I want to ask a question about development environment and running the tests.
I setup playwright in my branch and added some test spec files to test. Before doing this, I followed the steps below

Clone the repo, create my own branch and checkout into it.
cd generator-jhipster-svelte
npm link
cd ..
mkdir my-app && cd my-app
npm link generator-jhipster-svelte

Now when I ran jsvelte command, do I need to use the sample jdl in the repo to create spin up an app running in localhost in order to run my tests against or what exactly?

I understand what to do

@c0d33ngr, shall I assign the issue to you?

hey @vishal423  , is this issue open to work?

Hi @vishal423 apologies for not keeping you posted on progress being made. I had power blackout that lasted for more than a week with power supply after the fixing.
I have worked on 6 test files remaining about 10 or so. I'll send draft PR when on PC later today.


utils.js in npm package?

The npm package for this library ships with utils.js (ie. at node_modules\react-autocomplete\lib\utils.js after installing the package) which has utility methods that are probably only useful for the examples and unit tests. To me it seems like this isn't useful to end-users of the library and thus shouldn't be bundled with the release.
What do you think?

Fixed in 3dd8fc81. Thanks for pointing this out!


Added Magic 8 Ball Game

PR Description 📜
Implemented Magic 8 Ball Game, It is a simple fun game where users ask the Magical Eight Ball fortune teller yes or no questions.
Fixes #4606

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Monika5S ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Thank you  @Monika5S , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Field type number : Cannot read property 'min' of undefined

Issue description:
Hi guys,
I added a field type number as shown in the documentation and a js error is raised by number.js
the error "Uncaught TypeError: Cannot read property 'min' of undefined number.js?ver=4.5"
I don't get what's wrong, any idea?
doc url : https://kirki.org/docs/controls/number.html
Version used:
I tried version 2.3.0, 2.3.1 and develop.
Using theme_mods or options?
using theme_mods
Code to reproduce the issue (config + field(s))
Kirki::add_field( $theme_name, array(
'type'        => 'number',
'settings'    => 'logo_width',
'label'       => esc_attr__( 'Logo width in px', 'neko' ),
'section'     => 'logo_section',
'default'     => 42,
'priority'    => 1
) );

Hey there!
The docs were missing the choices argument, thank you for pointing that out.
Updated https://kirki.org/docs/controls/number.html :+1:

Hi aristath,
Thanks a lot for the quick reply.
Issue description
I have tried this also seeing this bug report https://github.com/aristath/kirki/issues/644 but adding the choices array does not fix it for me. I get the same error with number.js and min being not defined
Version used:
( re tried with develop (2.3.1) and 2.3.0 )
**Code to reproduce the issue (config + field(s)) **
Kirki::add_field( 'my_theme', array(
'type'        => 'number',
'settings'    => 'test_setting',
'label'       => esc_attr__( 'This is a test', 'neko' ),
'section'     => 'test_section',
'default'     => 25,
'priority'    => 1,
'choices'     => array(
'min'  => 0,
'max'  => 30,
'step' => 1,
),
) );
Kirki::add_section( 'test_section', array(
'title'          => esc_html__( 'Test', 'neko' ),
'description'    => '',
'panel'          => '', // Not typically needed.
'priority'       => 20,
'capability'     => 'edit_theme_options',
'theme_supports' => '' // Rarely needed.
));
Kirki::add_config( 'my_theme', array(
'capability'    => 'edit_theme_options',
'option_type'   => 'theme_mod',
));
error : "Uncaught TypeError: Cannot read property 'min' of undefined  number.js?ver=4.5"
Thanks again for this great plugin and the hard work ;) .


[SMALLFIX] Use static imports for standard test utilities in AbstractWriteHandlerTest.java

Use static imports for standard test utilities in
core/server/worker/src/test/java/alluxio/worker/netty/AbstractWriteHandlerTest.java

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17291/
Test PASSed.


When backend service is down, Node's behavior is unhelpful

When the back-end is unavailable (for example:  Tomcat has crashed) the front-end's behavior is rather unhelpful:  the browser displays an empty page, while Node spews reams of unrevealing stuff on the console.

[13:31:46 GMT-0500 (Eastern Standard Time)] Listening at http://localhost:3000/
Environment: %cProduction color: red; font-weight: bold;
Error:  HttpErrorResponse {
headers:
HttpHeaders { normalizedNames: Map {}, lazyUpdate: null, headers: Map {} },
status: 0,
statusText: 'Unknown Error',
url: null,
ok: false,
name: 'HttpErrorResponse',
message: 'Http failure response for (unknown url): 0 Unknown Error',

There's probably quite a few of these.  I note that DSpace just sits there running its marching-dots busy indicator forever if Solr is unavailable or if some misconfiguration causes the front-end to request a nonexistent URL.


Resource ID for view?

Hi,
I am using server-client-python to connect to my site and export the view as PDF using the export.py file in samples.
One of the parameter is resource ID, how to find for the view? The view URL doesn't have the long alpha numeric ID.
Thanks,

Hi @msrinathr, in order to get the resource ID, you will first have to use the views.get() method to get the view items that contain the IDs. You can also use filters with the views.get() method to narrow down the results returned from the API.


Store distances as float32?

Currently distances are stored in a heap as np.float64 types. In threaded mode an array of heap updates is stored, also as np.float64, which can be very large for large datasets (the number of updates is proportional to N * K * K, where N is num rows, K is num neighbors). It would halve memory usage if the heap could be represented as a np.float32.
Interestingly, the data array is already converted to np.float32 in the NNDescent constructor, so changing distances np.float32 should not result in a loss of precision.
The return array of distances is np.float64, but it may be possible to use np.float32 internally for distance calculations and convert to np.float64 before returning.
@lmcinnes I wonder if you have any thoughts about this, including around compatibility (in UMAP)?

I think for these purposes it should be fine to convert to float32, and I don't see that as having any major impact on UMAP.


Handling of nullable dates

There are a lot of cases where you either want to provide a datetime or not.
The component should be able to handle "" or null on it's dateTime property, and show nothing accordingly.
The component should never return "Invalid date" as a result of the onChange method. If the textbox is empty, It should return an empty result instead.
To demonstrate the problem try to use the controlled component in the example with the initial state of { date: "" } or { date: null }. No way to escape the "Invalid date"-pocalypse with only a mouse.

+1, is there any workaround for handling null dates?

+1 for this and #100

Yes that's this is important +1

+1

+1

+1


Add supporting materials on HDInsight with PySpark

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

academic-services/graph/TOC.yml
:white_check_mark:Succeeded

academic-services/graph/get-started-setup-azure-hdinsight.md
:white_check_mark:Succeeded

academic-services/graph/media/create-hdinsight-account-details.png
:white_check_mark:Succeeded

academic-services/graph/media/create-hdinsight-select.png
:white_check_mark:Succeeded

academic-services/graph/media/create-hdinsight-storage-account-details.png
:white_check_mark:Succeeded

academic-services/graph/media/samples-login-hdinsight.png
:white_check_mark:Succeeded

academic-services/graph/media/samples-run-pyspark-script.png
:white_check_mark:Succeeded

academic-services/graph/media/samples-view-pyspark-script-results.png
:white_check_mark:Succeeded

academic-services/graph/samples-azure-hdinsight.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


added feedback button that opens email client with some prefilled data

Issue: #381

FYI Colm confirmed on Slack that we don't need "Native version" or "JS version" so those can continue to be left out

Looks decent on iOS. Please don't include the contacts! Just the length of the array.


crossbeam-epoch dependency outdated

Hello!
We noticed there was a new crossbeam-epoch release, would you mind bumping the dependency in crossbeam-deque?
Thanks!

Awesome, would you mind pushing a new release? :) https://crates.io/crates/crossbeam-deque was last updated 3 months ago and still uses crossbeam-epoch 0.5

@kpcyrd Yep, I'll do it as soon as possible. Let's just land #217 before the new release.

New versions have been released.


[MIG] website_sale_stock_status: Upgrade to 9.0

Hello!
I've gone ahead and upgraded this module for use with 9.0. I also made some changes to the directory structure. My apologies for the unclean diff - let me know if there's anything I can clarify or do to help.
Thanks!

@t3ddftw Sorry for late response.
It's difficult to review the updates. There are two way to fix it:

(reset \ new branch is required) make a two separate commits: one for files relocation and another for update
(more simple) return files to original location. I can do it myself, but the update will be delayed.

Thank you anyway for sending your work.

Hey @yelizariev,
I went ahead and split the change into two commits, as suggested in option 1. This should allow you review the changes much more easily.
Thanks!
-Ted

@t3ddftw
actually, there are three types of updates:

migration
style update (indentation and other)
file layout update

As I understand, migration parts includes only removing this item:
<template id="products" inherit_id="website_sale.products" name="Products">

While I agree with your "style" updates and file layout updates, I have concern about applying it on existed modules. Usually, we don't make style updates. Then only exception is fixing lint warnings. The reason why we don't do it is because it blows git history -- git blame would show style commits instead of essential ones.
In your case there is another concern: if we apply these style updates to 9.0 only, then I there will be problems with merging updates of the module from 8.0 branch.
So, I recommend to apply only essential updates (actual migration and contribution info) and keep old style of the code.

@yelizariev,
I have updated the PR with only the base essentials to getting this module upgraded, as requested.
Thanks!

Thanks.
There is still non-essential updates in xml files. You have updated indent there and it makes diff bigger and hard to read. Please, update it too. I have the same concerns about it.

@yelizariev,
Take a look now. There's a comment in the XML that I moved, let me know if that's going to be of concern.
Thanks!

@t3ddftw thanks for patience :+1:


refactor/Split the internal Promisified function which cover more specific cases separately

Coverage decreased (-0.6%) to 82.943% when pulling 57945b65b83908c752e5336a09e7eeaa19aea7fb on bochaco:split-promisified-fn into a7e90af70f34483679c3d25db932e3c2cfaa76d8 on maidsafe:master.

Coverage decreased (-0.2%) to 83.346% when pulling 7210c989673ce76cab5cc93ed99846f8c0715489 on bochaco:split-promisified-fn into a7e90af70f34483679c3d25db932e3c2cfaa76d8 on maidsafe:master.

Coverage decreased (-0.6%) to 82.969% when pulling eacadee064a6250ba337514c7a6a94621dc23b3f on bochaco:split-promisified-fn into a7e90af70f34483679c3d25db932e3c2cfaa76d8 on maidsafe:master.

Coverage decreased (-0.08%) to 83.498% when pulling 17420f11c7b858cb340ae19904b16eba026b5cd3 on bochaco:split-promisified-fn into a7e90af70f34483679c3d25db932e3c2cfaa76d8 on maidsafe:master.

Coverage increased (+0.3%) to 83.878% when pulling eb1c3cc9d3bc829ca5d912f97501d6db2bd0d74d on bochaco:split-promisified-fn into a7e90af70f34483679c3d25db932e3c2cfaa76d8 on maidsafe:master.

Coverage increased (+0.3%) to 83.878% when pulling eb1c3cc9d3bc829ca5d912f97501d6db2bd0d74d on bochaco:split-promisified-fn into a7e90af70f34483679c3d25db932e3c2cfaa76d8 on maidsafe:master.

@joshuef , as pushed a new commit where I moved out some common code from the Promisified funcs, I think it looks a bit better. I kept the formatter step in them for now as I didn't like what I achieved when moving that out to a helper function which returns a promise.

Coverage increased (+0.5%) to 84.11% when pulling 3bc7e782378baa39c9bc149db70838f9d713fcaf on bochaco:split-promisified-fn into a7e90af70f34483679c3d25db932e3c2cfaa76d8 on maidsafe:master.

Coverage increased (+0.5%) to 84.433% when pulling 89f288da65379f91910ea3acd4a9c163a2584308 on bochaco:split-promisified-fn into 27f8013dbbfd3e2a52537e6ed046fc09a241e759 on maidsafe:master.


Export Request/Response BodyAccess values

Related to https://github.com/corazawaf/coraza/issues/497 and its port (https://github.com/corazawaf/coraza-proxy-wasm/issues/68).
This PR proposes to add RequestBodyAccessible() and ResponseBodyAccessible() returning, just like the name explicit, RequestBodyAccess and ResponseBodyAccess booleans.
I think that would be nice to be aware of RequestBodyAccess and ResponseBodyAccess statuses from the connectors. It would permit optimizing bodies' actions such as avoiding buffering the bodies if they are not going to be analyzed.

Late to the party but kind of same comment here https://github.com/corazawaf/coraza/pull/504#pullrequestreview-1177952205

I took a stap to actually use this checks in https://github.com/corazawaf/coraza/pull/505


Add a menu entry to display routes

Clicking on the new item will show the list of available routes in the system, reusing current screen for each route (map and bus stops list)

Merged, thanks!


Changing cf keyword to Argument Required

Right now the cf Script Filter is set to [✓] with space [Argument Optional]. That leads to the following sequence:

Type cf and sees results in Alfred.
Type space to start the prompt. Results in Alfred disappear.
Type first letter. Result reappears.

Step two makes is seem something when wrong, but it’s just the script returning zero results.
This can be easily fixed by changing it [Argument Required]. In that case the first space won’t be interpreted as part of the prompt.

Ah, on further testing I understand why you do that; to show the previous queries. Closing in favour of https://github.com/chrislemke/ChatFred/issues/35.


How to specify nested lookup?

I am using joins and lookup to retrieve a "parent" document from a "child" document and display these fields in a dataview. That works fine using MeteorKitchen.
Tried different approaches, but did not manage yet using MK to retrieve some "parent - parent" document using a kind of nested lookup using underlying queries / related queries.
Got 3 collections: Artists, Albums and Songs with a straightforward hierarchical relationship between them.
So from bottom up:

Songs has an albumId joining to _id in Albums.
Albums has an artistId joining to _id in Artists.

Displaying a Song (=child) I would like to display the Album title (=parent) and also the Artist name (=parent's parent) of the Album.
The Album title is no problem. It is from the "child" to the "parent". But the Artist name I did not get displayed from "child" to "parent's - parent" using MK.
Is there a way in MK to specify how to retrieve "parent - parent" data and show it in a dataview?
Has someone an example?
I noticed a solution mentioned earlier on Github "Relations between collections #46" from Februari 2015 how to retrieve anything you want to display in a dataview. I implemented that solution and the "parent - parent" data shows up correctly.
Though this solutions is a litle bit outside of MeteorKitchen, is it anyhow possible to specify above nested lookup plainly using MK?

On your query add options and in there add transform. In transform you can almost anything to the collection contens ;)
example
{
	"transform": "function(email) { Subscriptions.find({ _id: email.subscriptionId }).map(function(sub) { email.subscription = sub; }); Rules.find( {_id: email.subscription.rule}).map( function(rule) { email.subscription.ruleDoc = rule;}); return email; }",
	"sort": [
		[
			"date",
			"desc"
		]
	]
}

@ljack thanks! @bartuelen this is correct answer.

Didn't thought about that solution, but your right, I'll implement it as suggested. Just put it in the query! @ljack Thanx.

based on the suggested solution, here is the code I put into the query:
{
"transform": "function(doc) {var alb = Albums.findOne({ _id: doc.albumId });doc.albumName = alb.name;doc.albumArtistId = alb.artistId;doc.albumPhoto = alb.photo;doc.albumPhotoUrl = alb.url;var art = Artists.findOne( { _id: doc.albumArtistId } );doc.artistName = art.name;return doc;}"
}
Works!

Great! :+1:
By the way, take a note that "transform" is not reactive - means: if album.name or artist.name is changed, it will not be instantly (reactively) reflected to transformed doc's albumName and artistName.


maxPeers not working (and not inherited to maxConns in Swarm)

Is maxPeers option really working now? I’ve searched the sources and the only place it’s mentioned is the documentation. However this is another maxConns setting of the Swarm which seems not inherited from maxPeers in any way.

This option works now, thanks to @imsnif's PR #548, but the option is now called maxConns.
Released as 0.66.0.


[BUG] Error: Invalid client. client parameter is required

When I use dokdo with latest version on discord.js(github), dokdo shows the error in title.
I think this bug will be fixed if this project move discord.js dependency to devDependency.

Could you change it to English?

Could you change it to English?

If I use master branch of discord.js, the above error in title is being printed.

If I use master branch of discord.js, the above error in title is being printed.

@wonderlandpark what about using deepEqual instead of instanceof to avoid this?

@wonderlandpark what about using deepEqual instead of instanceof to avoid this?

In other day I also had this problem

In other day I also had this problem

I deleted node_modules/dokdo/node_modules/discord.js directory and now working properly.

I deleted node_modules/dokdo/node_modules/discord.js directory and now working properly.

But the problem will persist to other users. So, we need to fix this

But the problem will persist to other users. So, we need to fix this

@wonderlandpark what about using deepEqual instead of instanceof to avoid this?

I'm already using instanceof but If djs version is incompatible with dokdo, this cause.

I'm already using instanceof but If djs version is incompatible with dokdo, this cause.

I'm already using instanceof but If djs version is incompatible with dokdo, this causes.  Google it and this can be easily found

@wonderlandpark what about using deepEqual instead of instanceof to avoid this?

I'm already using instanceof but If djs version is incompatible with dokdo, this causes.  Google it and this can be easily found

I also already know about instanceof “human bugs”

I also already know about instanceof “human bugs”

I think this would be solve by changing djs to Dev dependentcy

I think this would be solve by changing djs to Dev dependentcy

So, when you’ll fix this?

So, when you’ll fix this?

I’m against changing discord.js to devDependencies because tecnically it’s not “dev” dependency, for development purposes

I’m against changing discord.js to devDependencies because tecnically it’s not “dev” dependency, for development purposes

I think checking if imported discord.js is in root node_modules or checking with deepEqual can be better than that

I think checking if imported discord.js is in root node_modules or checking with deepEqual can be better than that

I am buzy right now so I can't fix it. If you need it, please create a PR

I am buzy right now so I can't fix it. If you need it, please create a PR

Still having problem
discord.js version: 12.5.3
dokdo version: 0.3.0


Fix runtest.cmd /multimodule

CLI update moved outputs out of the Product directory. This should fix
the rolling build failure.

Thanks!


Firebase sdk 3.0

Any clue on how to convert this to Firebase sdk 3.0 compatible?
I've followed that tutorial without exit: https://firebase.google.com/support/guides/firebase-web#update_your_client_version_numbered

Looking into it...

Converted to Firebase sdk 3.0.2
(this is still a work in progress...)


details page

[ ] must be navigated from the list #3
[ ] must include a contact feature #5

I'm working on it

Thats great make sure it fulfils all the requirements. And it must be done
till this afternoon
On Tue, Feb 1, 2022, 10:31 AM Jerusalem Asres @.***>
wrote:

I'm working on it
—
Reply to this email directly, view it on GitHub
https://github.com/dagim-shimelis/Find-a-Tutor/issues/4#issuecomment-1026548345,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AS4XS236POCVFOPOGNOGNCTUY6D47ANCNFSM5NGS66DA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add cicd

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0e0cdc3). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             master        #3   +/-   ##
==========================================
  Coverage          ?   100.00%
==========================================
  Files             ?         8
  Lines             ?       406
  Branches          ?        57
==========================================
  Hits              ?       406
  Misses            ?         0
  Partials          ?         0

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 0e0cdc3...8ad6b76. Read the comment docs.


Error while changing theme

This error came when i tried changing my theme from powerline-multiline to sexy

@nwinkler  plz help me in this

When changing themes, I usually open a new Terminal window/tab - I've seen issues like this before, and they typically don't happen in a new tab.
Can you verify whether the issue is fixed when you open a new Terminal window or tab?

No it happens only in same window

So do you see the error when you open a new terminal window? Sorry, I don't understand your response.

When changing themes, I usually open a new Terminal window/tab - I've seen issues like this before, and they typically don't happen in a new tab.
Can you verify whether the issue is fixed when you open a new Terminal window or tab?

Solved


Add ability to inject members to plugins

WTF the "members" is?

@lanwen different useful stuff such as result directory, allure configuration etc


[Event Request] New parameters CalcType and AppliedCustLedgEntry to OnAfterCalcApplnAmount() event, Page 232 "Apply Customer Entries"

Hello.
Our customer needs to use variables CalcType and AppliedCustLedgEntry in OnAfterCalcApplnAmount event in Page 232 "Apply Customer Entries".
Could you please add this new parameters to this event?
Function:
procedure CalcApplnAmount()
begin
    OnBeforeCalcApplnAmount(Rec, GenJnlLine, SalesHeader, AppliedCustLedgEntry, CalcType, ApplnType);

    AppliedAmount := 0;
    PmtDiscAmount := 0;
    DifferentCurrenciesInAppln := false;

    case CalcType of
        CalcType::Direct:
            begin
                FindAmountRounding;
                CustEntryApplID := UserId;
                if CustEntryApplID = '' then
                    CustEntryApplID := '***';

                CustLedgEntry := ApplyingCustLedgEntry;

                AppliedCustLedgEntry.SetCurrentKey("Customer No.", Open, Positive);
                AppliedCustLedgEntry.SetRange("Customer No.", "Customer No.");
                AppliedCustLedgEntry.SetRange(Open, true);
                AppliedCustLedgEntry.SetRange("Applies-to ID", CustEntryApplID);

                if ApplyingCustLedgEntry."Entry No." <> 0 then begin
                    CustLedgEntry.CalcFields("Remaining Amount");
                    AppliedCustLedgEntry.SetFilter("Entry No.", '<>%1', ApplyingCustLedgEntry."Entry No.");
                end;

                HandleChosenEntries(0, CustLedgEntry."Remaining Amount", CustLedgEntry."Currency Code", CustLedgEntry."Posting Date");
            end;
	......................................

    OnAfterCalcApplnAmount(Rec, AppliedAmount, ApplyingAmount, CalcType, AppliedCustLedgEntry);
end;

Signature:
[IntegrationEvent(false, false)]
local procedure OnAfterCalcApplnAmount(CustLedgerEntry: Record "Cust. Ledger Entry"; var AppliedAmount: Decimal; var ApplyingAmount: Decimal; var CalcType: Option; var AppliedCustLedgEntry: Record "Cust. Ledger Entry")
begin
end;

Version of AL Language: 6.1.397164
Business Central Version: 17.3

Please always put the full detailed signature of the requested events.
You help us implementing the requests faster when your request contains AL code copied from VSCode instead of screenshots.

Please always put the full detailed signature of the requested events.
You help us implementing the requests faster when your request contains AL code copied from VSCode instead of screenshots.

Done.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Incorrect tokenization of "Elaborate"

The morphology of "Elaborate" is e-labor-ate: out-work-produced by. The tokenizer at https://platform.openai.com/tokenizer says it is el-abor-ate.

BPE is only morphology aware to the extent implied by n-gram frequency. See https://github.com/openai/tiktoken#what-is-bpe-anyway and the tiktoken._educational submodule.
What's "correct" here is determined by what matches what OpenAI's models were trained with. What's desirable here is determined by the resulting performance of models. If you had a different tokenisation algorithm that is reasonably fast and improves language model performance, that would be an interesting research result :-)


viro expo plugin

This PR fixes #87 and #86

[ ] Ensure docs are 100% updated with any "gotchas" or special configuration for M1
[ ] Ensure docs 2 are 100% updated for expo metro config
[ ] Verify iOS
[ ] Verify iOS via M1 build
[ ] Verify Android

› Planning build
› Executing expo-constants Pods/EXConstants » [CP-User] Generate app.config for prebuilt Constants.manifest
› Executing expostarterkit » Start Packager on http://localhost:8081
› Linking   expostarterkit » expostarterkit
❌  Undefined symbols for architecture x86_64
┌─ Symbol: VROARDeclarativeSession::addARImageTarget(std::__1::shared_ptr<VROARImageTarget>)
└─ Referenced from: ___41-[VRTARImageMarker getARTargetShouldAdd:]_block_invoke_2 in libViroReact.a(VRTARImageMarker.o)

❌  ld: symbol(s) not found for architecture x86_64

❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

› 3 error(s), and 0 warning(s)

Failed to build iOS project. "xcodebuild" exited with error code 65.

I've checked out the PR, and done the following steps to no success. @brunokiafuka am I doing this correctly?

expo init expo-starter-kit
yarn add @viro-community/react-viro
added @viro-community/react-viro to app.json plugins array
ran expo run:ios
error above

Its entirely possible that enabling bitcode in #78 caused this to change your behavior - Charles mentioned that you enable it.

https://github.com/robertjcolley/expo-viro-starter-kit is what I've done

Looks great! @brunokiafuka is there any changes to our build script we need to make to make sure any plugin changes are built and placed in dist? or should the build command take care of this?

the current build should command take care of it.

I'm still getting this error:
› Linking   expostarterkit » expostarterkit
❌  Undefined symbols for architecture x86_64
┌─ Symbol: VROARDeclarativeSession::addARImageTarget(std::__1::shared_ptr<VROARImageTarget>)
└─ Referenced from: ___41-[VRTARImageMarker getARTargetShouldAdd:]_block_invoke_2 in libViroReact.a(VRTARImageMarker.o)

❌  ld: symbol(s) not found for architecture x86_64

❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

› 3 error(s), and 0 warning(s)

Failed to build iOS project. "xcodebuild" exited with error code 65.

This is after the expo run:ios command. After this, I wondered if this was something that would never work because it is trying to build viro for the simulator, so I then did:

expo run:ios
cd ios (this is the generated ios folder from expo run:ios)
pod install
xed .
build with xcode, my phone as the target

More descriptive errors from xcode:
More Errors

Undefined symbol: VROARDeclarativeSession::addARImageTarget(std::__1::shared_ptr)
Undefined symbol: VROMatrix4f::rotateY(float)
Undefined symbol: VROMatrix4f::rotateZ(float)
Undefined symbol: VROHDRLoader::loadRadianceHDRTexture(std::__1::basic_string, std::__1::allocator >)
Undefined symbol: VROAnimationGroup::parse(float, float, std::__1::basic_string, std::__1::allocator >, std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&, std::__1::vector, std::__1::allocator > >)
Undefined symbol: VROARNode::setPauseUpdates(bool)
Undefined symbol: VROText::~VROText()
Undefined symbol: VROVector4f::set(float, float, float, float)
Undefined symbol: VROText::VROText(std::__1::basic_string, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, int, VROFontStyle, VROFontWeight, VROVector4f, float, VROTextOuterStroke, int, VROVector4f, float, float, VROTextHorizontalAlignment, VROTextVerticalAlignment, VROLineBreakMode, VROTextClipMode, int, std::__1::shared_ptr)
Undefined symbol: VROText::update()
Undefined symbol: VROPortal::setBackgroundRotation(VROQuaternion)
Undefined symbol: VRONodeCamera::~VRONodeCamera()
Undefined symbol: VRONodeCamera::setFieldOfViewY(float)
Undefined symbol: VRONodeCamera::VRONodeCamera()
Undefined symbol: VROPortalFrame::~VROPortalFrame()
Undefined symbol: VROPortalFrame::VROPortalFrame()
Undefined symbol: VROParticleEmitter::setBlendMode(VROBlendMode)
Undefined symbol: getBlankTexture(VROTextureType)
Undefined symbol: VROScene::getControllerPresenter()
Undefined symbol: VROPhysicsWorld::findCollisionsWithShape(VROVector3f, VROVector3f, std::__1::shared_ptr, std::__1::basic_string, std::__1::allocator >)
Undefined symbol: VRONode::getAnimation(std::__1::basic_string, std::__1::allocator >, bool)
Undefined symbol: VROARDeclarativeSession::addARObjectTarget(std::__1::shared_ptr)
Undefined symbol: VROARDeclarativeSession::removeARNode(std::__1::shared_ptr)
Undefined symbol: VRONode::setScalePivot(VROMatrix4f)
Undefined symbol: VROARScene::setPointCloudSurfaceScale(VROVector3f)
Undefined symbol: VROARScene::displayPointCloud(bool)
Undefined symbol: vtable for VROAnimationChain
Undefined symbol: VROARDeclarativeSession::addARNode(std::__1::shared_ptr)
Undefined symbol: typeinfo for VROScene
Undefined symbol: VROMaterial::updateSubstrate()
Undefined symbol: typeinfo for VROARScene
Undefined symbol: VROARScene::initDeclarativeSession()
Undefined symbol: VROARScene::setDelegate(std::__1::shared_ptr)
Undefined symbol: VROAnimatedTextureOpenGL::VROAnimatedTextureOpenGL(VROStereoMode)
Undefined symbol: VROARScene::setAnchorDetectionTypes(std::__1::set, std::__1::allocator >)
Undefined symbol: VROARDeclarativeSession::removeARImageTarget(std::__1::shared_ptr)
Undefined symbol: VROARDeclarativeSession::setDelegate(std::__1::shared_ptr)
Undefined symbol: VROAnimatedTextureOpenGL::loadAnimatedSourceAsync(std::__1::basic_string, std::__1::allocator >, std::__1::shared_ptr, std::__1::shared_ptr, std::__1::function, std::__1::allocator >)>)
Undefined symbol: VROARShadow::apply(std::__1::shared_ptr)
Undefined symbol: VROPhysicsBody::setInertia(VROVector3f)
Undefined symbol: VROAnimatedTextureOpenGL::pause()
Undefined symbol: VROScene::~VROScene()
Undefined symbol: vtable for VROSceneController
Undefined symbol: VROPhysicsBody::setIsSimulated(bool)
Undefined symbol: VROScene::VROScene()
Undefined symbol: VROVideoTextureiOS::VROVideoTextureiOS(VROStereoMode, bool)
Undefined symbol: VROARScene::resetPointCloudSurface()
Undefined symbol: VROPortal::setBackgroundCube(std::__1::shared_ptr)
Undefined symbol: VRONode::setScene(std::__1::shared_ptr, bool)
Undefined symbol: VROPortal::setBackgroundCube(VROVector4f)
Undefined symbol: VROVector3f::normalize() const
Undefined symbol: VRONode::~VRONode()
Undefined symbol: VROPhysicsWorld::setGravity(VROVector3f)
Undefined symbol: VROScene::getRootNode()
Undefined symbol: VROFBXLoader::loadFBXFromResource(std::__1::basic_string, std::__1::allocator >, VROResourceType, std::__1::shared_ptr, std::__1::shared_ptr, std::__1::function, bool)>)
Undefined symbol: VROARObjectTargetiOS::~VROARObjectTargetiOS()
Undefined symbol: VROMorpher::setWeightForTarget(std::__1::basic_string, std::__1::allocator >, float, bool)
Undefined symbol: VRONode::getAnimationKeys(bool)
Undefined symbol: VROSphere::createSphere(float, int, int, bool)
Undefined symbol: VROGLTFLoader::loadGLTFFromResource(std::__1::basic_string, std::__1::allocator >, std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >, VROResourceType, std::__1::shared_ptr, bool, std::__1::shared_ptr, std::__1::function, bool)>)
Undefined symbol: VRONodeCamera::setOrbitFocalPoint(VROVector3f)
Undefined symbol: VRONode::setRotationPivot(VROMatrix4f)
Undefined symbol: _OBJC_CLASS_$_VROViewAR
Undefined symbol: VRONode::setScale(VROVector3f)
Undefined symbol: VROSurface::setHeight(float)
Undefined symbol: VRONode::getLastWorldTransform() const
Undefined symbol: VRONode::deleteGL()
Undefined symbol: VROARDeclarativeSession::removeARObjectTarget(std::__1::shared_ptr)
Undefined symbol: VROMorpher::getMorphTargetKeys()
Undefined symbol: VROPhysicsWorld::setDebugDrawVisible(bool)
Undefined symbol: VROLight::setAttenuationStartDistance(float)
Undefined symbol: VROVideoTextureiOS::~VROVideoTextureiOS()
Undefined symbol: typeinfo for VROTexture
Undefined symbol: VROLight::VROLight(VROLightType)
Undefined symbol: VROGeometry::updateSubstrate()
Undefined symbol: VROPhysicsWorld::VROPhysicsWorld()
Undefined symbol: VROMaterialVisual::setTexture(std::__1::shared_ptr)
Undefined symbol: typeinfo for VROVideoTextureiOS
Undefined symbol: VROMaterial::setChromaKeyFilteringColor(VROVector3f)
Undefined symbol: VROPhysicsBody::clearForces()
Undefined symbol: VROMaterial::setChromaKeyFilteringEnabled(bool)
Undefined symbol: VROMaterial::setShininess(float)
Undefined symbol: VROMaterial::setFresnelExponent(float)
Undefined symbol: VROStringUtil::strcmpinsensitive(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&)
Undefined symbol: VRONode::getUmbrellaBoundingBox() const
Undefined symbol: VROMaterialVisual::setIntensity(float)
Undefined symbol: VROTexture::VROTexture(bool, std::__1::vector, std::__1::allocator > >&, VROStereoMode)
Undefined symbol: VROMatrix4f::extractScale() const
Undefined symbol: VROMatrix4f::extractRotation(VROVector3f) const
Undefined symbol: VROQuaternion::toEuler() const
Undefined symbol: VROMaterial::setTransparency(float)
Undefined symbol: VRONode::onAnimationFinished()
Undefined symbol: vtable for VROBillboardConstraint
Undefined symbol: VROPhysicsBody::setPhysicsShape(std::__1::shared_ptr)
Undefined symbol: VROData::~VROData()
Undefined symbol: vtable for VROGeometry
Undefined symbol: VROBoundingBox::VROBoundingBox()
Undefined symbol: VROData::VROData(void*, int, VRODataOwnership)
Undefined symbol: VROPhysicsShape::~VROPhysicsShape()

I see that its for x86_64 arch - I'm wondering if that has anything to do with it. I'll keep poking around with the build config and see if I can get it to work on my phone. Also is there another way to generate this ios folder with expo instead of doing expo run:ios?

I'm still getting this error:
› Linking   expostarterkit » expostarterkit
❌  Undefined symbols for architecture x86_64
┌─ Symbol: VROARDeclarativeSession::addARImageTarget(std::__1::shared_ptr<VROARImageTarget>)
└─ Referenced from: ___41-[VRTARImageMarker getARTargetShouldAdd:]_block_invoke_2 in libViroReact.a(VRTARImageMarker.o)

❌  ld: symbol(s) not found for architecture x86_64

❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

› 3 error(s), and 0 warning(s)

Failed to build iOS project. "xcodebuild" exited with error code 65.

This is after the expo run:ios command. After this, I wondered if this was something that would never work because it is trying to build viro for the simulator, so I then did:

expo run:ios
cd ios (this is the generated ios folder from expo run:ios)
pod install
xed .
build with xcode, my phone as the target

More descriptive errors from xcode:
More Errors
I see that its for x86_64 arch - I'm wondering if that has anything to do with it. I'll keep poking around with the build config and see if I can get it to work on my phone. Also is there another way to generate this ios folder with expo instead of doing expo run:ios?

-x86_64 is simulator on Intel machines

Which is what I assumed. Still got the issue when my iPhone 11 was the build target, which I think is arm-based.

@robertjcolley you can try:

expo prebuild --clean -p ios --no-install to generate the native files,
then run expo run:ios.

I'll try cloning your starter kit then re-test the plugins using it. Did you run yarn add ../viro to install the latest plugin version?

Yes I did

@brunokiafuka I was able to get the app to build to my phone using the expo project! I had to update the metro.config.js like this to resolve extra assets included (.obj files, etc.) in my project.
// metro.config.js
// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require("expo/metro-config");

module.exports = (async () => {
  const {
    resolver: { assetExts },
  } = await getDefaultConfig(__dirname);

  return {
    transformer: {
      getTransformOptions: async () => ({
        transform: {
          experimentalImportSupport: false,
          inlineRequires: true,
        },
      }),
    },
    resolver: {
      assetExts: [
        ...assetExts,
        "obj",
        "mtl",
        "mp3",
        "JPG",
        "vrx",
        "hdr",
        "gltf",
        "glb",
        "bin",
        "arobject",
        "gif",
      ],
    },
  };
})();

expo prebuild --clean -p ios --no-install
cd ios && xed . && pod install
build with xcode with phone as target
App builds!

However, a new issue is that the app is now crashing when I mount any viro components.

@brunokiafuka @doranteseduardo how do we want to handle item 6 of the plugin for expo?
https://github.com/ViroCommunity/viro/blob/main/readmes/INSTALL_ANDROID.md
right now, it looks like AR is the only thing supported with a minimal set of permssions/features. Should we enable VR by default as well? Should we have a guide to adding a plugin which enables VR in expo on android?

That part is made by the plug-in itself.
Edit:
A package for each XR option seems the most feasible but I'm unsure if it's the best approach.

We can pass the option as a plug-in prop abs then edit it accordingly.

That part is made by the plug-in itself.
Edit:
A package for each XR option seems the most feasible but I'm unsure if it's the best approach.

We can pass the option as a plug-in prop abs then edit it accordingly.

I think that makes the most sense - maybe an array in app.json or app.config.js.

I'm considering this PR close to mergeable! See thread here. Waiting on testing!
https://discord.com/channels/774471080713781259/884270800180502538/942505347728437288

This is awesome will this be added to the expo config plugin repo?

This is awesome will this be added to the expo config plugin repo?

I believe it is!


Low pass filter might not be working

I had some problems testing the lowpass filter on the Time/Spec module. The test signal fc5 wasn't filtered using the LPF on 75Hz. Is this filter always working?

We have tested the filters and they are indeed working well now.


Added Finnish and Swedish locale

Added Finnish and Swedish locale

Coverage remained the same at 98.419% when pulling cf838a9e658df99bb9bbf34265854e9b360ae9dc on jeirasmus:master into d5afb3151fa9d120b14e8eb02a4e974b4fb59f3e on wxsms:master.

Thanks!


[.NET WPF][Rendering] [Unable to render only the template]

Platform
What platform is your issue or question related to? (Delete other platforms).

.NET WPF

Details
I have tested the .NET WPF visualizer tool and tried to render only the template part of card payload. For the Activity Update card, the behavior is what I would expect as shown below:

using only the template

However, when I tried the same thing with the Restaurant template, the visualizer stops working and the following exception is generated in AdaptiveCardConverter.cs:

I have noticed a similar exception in flight update as well.

@Hammad-H
Thanks for the bug report. I can repro this issue.