Crash if when using num_proc > 1 (I used 16) for map() on a datasets.Dataset.

Describe the bug
Crash if when using num_proc > 1 (I used 16) for map() on a datasets.Dataset.
I believe I've had cases where num_proc > 1 works before, but now it seems either inconsistent, or depends on my data. I'm not sure whether the issue is on my end, because it's difficult for me to debug! Any tips greatly appreciated, I'm happy to provide more info if it would helps us diagnose.
Steps to reproduce the bug
# this function will be applied with map()
def tokenize_function(examples):
    return tokenizer(
        examples["text"],
        padding=PaddingStrategy.DO_NOT_PAD,
        truncation=True,
    )

# data_files is a Dict[str, str] mapping name -> path
datasets = load_dataset("text", data_files={...})

# this is where the error happens if num_proc = 16,
# but is fine if num_proc = 1
tokenized_datasets = datasets.map(
    tokenize_function,
    batched=True,
    num_proc=num_workers,
)

Expected results
The map() function succeeds with num_proc > 1.
Actual results

Environment info

datasets version: 1.6.2
Platform: Linux-5.4.0-73-generic-x86_64-with-glibc2.31
Python version: 3.9.5
PyTorch version (GPU?): 1.8.1+cu111 (True)
Tensorflow version (GPU?): not installed (NA)
Using GPU in script?: Yes, but I think N/A for this issue
Using distributed or parallel set-up in script?: Multi-GPU on one machine, but I think also N/A for this issue

Hi ! It looks like the issue comes form pyarrow. What version of pyarrow are you using ? How did you install it ?

Thank you for the quick reply! I have pyarrow==4.0.0, and I am installing with pip. It's not one of my explicit dependencies, so I assume it came along with something else.

Could you trying resintalling pyarrow with pip ?
I'm not sure why it would check in your multicurtural-sc directory for source files.

Sure! I tried reinstalling to get latest. pip was mad because it looks like Datasets currently wants <4.0.0 (which is interesting, because apparently I ended up with 4.0.0 already?), but I gave it a shot anyway:
$ pip install --upgrade --force-reinstall pyarrow
Collecting pyarrow
  Downloading pyarrow-4.0.1-cp39-cp39-manylinux2014_x86_64.whl (21.9 MB)
     |████████████████████████████████| 21.9 MB 23.8 MB/s
Collecting numpy>=1.16.6
  Using cached numpy-1.20.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.4 MB)
Installing collected packages: numpy, pyarrow
  Attempting uninstall: numpy
    Found existing installation: numpy 1.20.3
    Uninstalling numpy-1.20.3:
      Successfully uninstalled numpy-1.20.3
  Attempting uninstall: pyarrow
    Found existing installation: pyarrow 3.0.0
    Uninstalling pyarrow-3.0.0:
      Successfully uninstalled pyarrow-3.0.0
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
datasets 1.8.0 requires pyarrow<4.0.0,>=1.0.0, but you have pyarrow 4.0.1 which is incompatible.
Successfully installed numpy-1.20.3 pyarrow-4.0.1

Trying it, the same issue:

I tried installing "pyarrow<4.0.0", which gave me 3.0.0. Running, still, same issue.
I agree it's weird that pyarrow is checking the source code directory for its files. (There is no pyarrow/ directory there.) To me, that makes it seem like an issue with how pyarrow is called.
Out of curiosity, I tried running this with fewer workers to see when the error arises:

1: ✅
2: ✅
4: ✅
8: ✅
10: ✅
11: ❌  🤔
12: ❌
16: ❌
32: ❌

checking my datasets:
>>> datasets
DatasetDict({
    train: Dataset({
        features: ['text'],
        num_rows: 389290
    })
    validation.sc: Dataset({
        features: ['text'],
        num_rows: 10  # 🤔
    })
    validation.wvs: Dataset({
        features: ['text'],
        num_rows: 93928
    })
})

New hypothesis: crash if num_proc > length of a dataset? 😅
If so, this might be totally my fault, as the caller. Could be a docs fix, or maybe this library could do a check to limit num_proc for this case?

Good catch ! Not sure why it could raise such a weird issue from pyarrow though
We should definitely reduce num_proc to the length of the dataset if needed and log a warning.

This has been fixed in #2566, thanks @connor-mccarthy !
We'll make a new release soon that includes the fix ;)


526: Change property typeprivate with protected.

Issue https://github.com/PHP-FFMpeg/PHP-FFMpeg/issues/526

Q
A

Bug?
no

New Feature?
no

Version Used
0.6.0

FFmpeg Version
FFmpeg version 3.4

OS
Linux dec9410c9e72 4.4.0-119-generic Ubuntu

Could you please change private properties in FFMpeg/FFMpeg.php on protected?
It helps easy to extend the class for more/custom functionality.
FFMpeg/FFMpeg.php
    /** @var FFMpegDriver */
    private $driver;
    /** @var FFProbe */
    private $ffprobe;

FFMpeg/FFProbe.php
    /** @var Cache */
    private $cache;
    /** @var OptionsTesterInterface */
    private $optionsTester;
    /** @var OutputParserInterface */
    private $parser;
    /** @var FFProbeDriver */
    private $ffprobe;
    /** @var MapperInterface */
    private $mapper;

Please respond on the issue item, first.


Make RegExp ignore case

Adding ignore case flag (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)
Please double-check the change, I didn't run the software.
Thanks!

Thanks, works fine!


Read only bind user

Hi,
I use you openldap and docker-phpLDAPadmin containers to run my ldap. Because memberof seems not to be supported out of the box I added https://github.com/wheelybird/ldap-user-manager. But LUM doesn't support read only bind users.
What I try to do.

create a read only binddn user to verify user logins
different bind user for different applications and each user should only read / verify "memberof" (application) group

I'm new with (open)ldap und phpldapadmin and don't know how to create such users (with phpldapadmin).
Maybe you could help my how that should be done?

Would that use case given by LDAP_READONLY_USER?
LDAP_READONLY_USER
LDAP_READONLY_USER_USERNAME
LDAP_READONLY_USER_PASSWORD

Read only access to use as binddn?
Best would more than one read only user with just read access to memberof "custom_group", but one read only user would be a workaround.

Moved to openldap repository:
https://github.com/osixia/docker-openldap/issues/531


Remove deprecated poperty usage

In the scope of #627, I found that gcsfs uses a deprecated approach to check the token validity. Using self.credentials.token_state == google.auth.credentials.TokenState.FRESH allows to refresh the token a bit earlier using a threshold:
# The smallest MDS cache used by this library stores tokens until 4 minutes from
# expiry.
REFRESH_THRESHOLD = datetime.timedelta(minutes=3, seconds=45)

Important! This change requires v2.26.0
Now, a token might have 3 states:

Tracks the state of a token.
FRESH: The token is valid. It is not expired or close to expired, or the token has no expiry.
STALE: The token is close to expired, and should be refreshed. The token can be used normally.
INVALID: The token is expired or invalid. The token cannot be used for a normal operation.

In a nutshell, FRESH means that a token has more than 3 minutes and 45 seconds till the real expiration time.

This change requires v2.26.0

Since that version is pretty new, we should support both ways rather than force everyone to upgrade. Can you please link where the new behaviour was introduced upstream, please (or a link to TokenState's doc) ?

@martindurant , here is a PR: https://github.com/googleapis/google-auth-library-python/pull/1368
I'm not sure they have documentation yet. Also, let's skip this change for now unless it is required. I assumed it would fix my issue with a token refresh (see #627), but it seems there is no connection. Hence, we can close this PR.

let's skip this change for now unless it is required

I'm happy to leave it open for others to see, and we'll probably need it eventually.


Playwright generated code is not good enough

@shubhamofbce @dhuynh95
It may come from the prompt template, it requires more investigations.

Lets get on a call today to discuss this. @mbrunel

I will look into this. @lyie28 can you please assign this to me.

By the way, I have an Eval class being prepared: https://github.com/lavague-ai/LaVague/issues/120
The second metric is recall_LLM which might be useful to evaluate performance of prompts

These are some actual issues that i found in the first look:

If you do find_element_by_ in selenium, it by default picks up the 1st element unless you do find_elements_by_ but in playwright the locator function we are using returns all matching elements and if there are multiple matching instances. It is unable to click on it.
Our default example instruction says go to datasets page. playwright uses go to function to open a url so it just tries to open some random datasets url in a new tab instead of finding datasets section on the current page. This can be fixed by updating the instructions.
I am working on finding more such fundamental issues and fixing them one by one.
cc: @dhuynh95 @mbrunel


Preload memory

In a classical turing machine (TM), the input is preloaded onto the tape. Let's add a --preload flag to get a csv or txt file onto the tape as the input

Will be a bit more work than you think bc parsing input needs to be written

load it in as an short int, comma separated file or load it in character by character from txt file, up to you


Vision5e support for Echo Knight - Manifest Echo

Added a helperFunction to check if the vision5e module is active.
Altered the manifest echo attack function to add an additional effect to the echo token to override senses for the duration of the attack. This way, the attack is no longer made with disadvantage if the module is active, while also preventing to give sight to the echo token for longer than intended.

I'm happy to accept the PR, but it looks like your code editor changed all the formatting. I'll accept the pull after that's been addressed.

Should be resolved now. Forgot to disable Prettier before pushing the branch.

Closed for rebuilding from scratch to avoid mass editing


Javascript isn't solved, cf_clearance missing?

@ngosang
I'm trying to use your solution on this website:
https://getwsocourse.com/
But it keeps failing.
As an alternative I used selenium + chrome to actually load a page, wait for it to go through in 5 seconds, then extract cookies and use those cookies in my web requests. It worked fine, until recently. And I did notice that the cf_clearance cookie is now missing, while __cfduid is still there, so Cloudflare might have changed something again. Even my solution with selenium + chrome is no longer working.
If you can't replicate the issue on getwsocourse, you can also try it here:
http://www.edollarearn.com/
...same issue.

FYI https://github.com/Jackett/Jackett/issues/8840#issuecomment-639062081

This time maybe more harder than before because they make serval request 😢

FYI Jackett/Jackett#8840 (comment)

Can you suggest what they just change and how to fix?

The new challenge is more complex and it's not only JS calculations. They perform several HTTP requests and each response contains more JS code. Also the JS code is more complex because they read parameters form the browser like the window size, etc...
I think that this project is not worth continuing because they can change the challenge at any time.
We are thinking in running Selenium/Puppeteer as a external service and use a full web browser to resolve the challenge and grab the cookies when it's necessary. The thing is Cloudflare is able to detect that too.

https://github.com/Jackett/Jackett/issues/8840#issuecomment-640100213
https://github.com/Jackett/Jackett/pull/8871#issuecomment-640864253

The new challenge is more complex and it's not only JS calculations. They perform several HTTP requests and each response contains more JS code. Also the JS code is more complex because they read parameters form the browser like the window size, etc...
I think that this project is not worth continuing because they can change the challenge at any time.
We are thinking in running Selenium/Puppeteer as a external service and use a full web browser to resolve the challenge and grab the cookies when it's necessary. The thing is Cloudflare is able to detect that too.

Jackett/Jackett#8840 (comment)
Jackett/Jackett#8871 (comment)

Suppose that we have a web browser to resolve the challenge and get some cookie, can you write the code to make it working?

Take a look here => https://github.com/Jackett/Jackett/issues/9029

What ????
https://twitter.com/eastdakota/status/1273277839102656515


Please upgrade to .NET 6.0

Thanks for the great project! Could you please convert it to use .NET 6.0?
I've tried using Microsoft's Upgrade Assistant, however it doesn't work as reported here.
Thank you!

The upgrade is possible if you first comment out the following line in the csproj:
<!--<Import Project="$(SolutionDir)\.nuget\nuget.targets" />-->
Then run the upgrade command:
upgrade-assistant upgrade "WebDAVSharp.Server.csproj"


support assisted decoding in ipex 2.5

Support assisted decoding if ipex >= 2.5

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Hi @echarlaix . I have fixed all your comments, please re-run the tests. Thx!

Hi @IlyasMoutawwakil , could you please review this PR? Thx!

Can you please add an explanation in the PR of why this patching is necessary ? Do assistant models interfere with torchscript ?

Can you please add an explanation in the PR of why this patching is necessary ? Do assistant models interfere with torchscript ?

Yes. In assisted decoding, both the target model and the assistant model need to call crop_pask_key_values. The patched IPEXModel has a different format of past_key_values, so we need our own crop functions to apply IPEX KV-cache.

Yes. In assisted decoding, both the target model and the assistant model need to call crop_pask_key_values. The patched IPEXModel has a different format of past_key_values, so we need our own crop functions to apply IPEX KV-cache.
Do you want me to write it as a comment in the codes?

Thanks for the explanation ! One last code change and it's good for me 🤗

Yes. In assisted decoding, both the target model and the assistant model need to call crop_pask_key_values. The patched IPEXModel has a different format of past_key_values, so we need our own crop functions to apply IPEX KV-cache.
Do you want me to write it as a comment in the codes?

Thanks for the explanation ! One last code change and it's good for me 🤗

I have fixed your required changes. The _unpatch_crop_past_key_values() can be safely added at the end the generation because it will revert changes if we do patch and keep the same if we didn't do patch.

Hi @echarlaix . I have enabled assisted decoding tests in ipex 2.4. Please take a review, thx~

Hi @echarlaix . I can do the unpatch for target model only, please look the new changes


[zh]translate docs: karmada-agent

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:

This file is auto generated by scripts. It is best not to modify this.

This file is auto generated by scripts. It is best not to modify this.
okay,  i will close this PR.


cftime does not compile from wheel on Windows Server 2019

cftime is an upstream dependency of the yt project (http://yt-project.org). Since the release of cftime 1.3.1, our testing infrastructure is however unable to build cftime (from pip). Here is the backlog:

  creating build\temp.win-amd64-3.9\Release
  creating build\temp.win-amd64-3.9\Release\Users
  creating build\temp.win-amd64-3.9\Release\Users\runneradmin
  creating build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData
Successfully built coverage f90nml fastcache MiniballCpp nose-timer bottleneck fast-histogram mpmath nose-exclude
Failed to build cftime
  creating build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local
  creating build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp
  creating build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q
  creating build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78
  creating build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src
  creating build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src\cftime
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\runneradmin\AppData\Local\Temp\pip-build-env-c35306xl\overlay\Lib\site-packages\numpy\core\include -IC:\Miniconda\include -IC:\Miniconda\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\ATLMFC\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /TcC:\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src\cftime\_cftime.c /Fobuild\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src\cftime\_cftime.obj
  _cftime.c
  C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-c35306xl\overlay\Lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
  C:\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src\cftime\_cftime.c(16826): warning C4996: '_PyUnicode_get_wstr_length': deprecated in 3.3
  C:\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src\cftime\_cftime.c(17125): warning C4996: '_PyUnicode_get_wstr_length': deprecated in 3.3
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\bin\HostX86\x64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\Miniconda\libs /LIBPATH:C:\Miniconda\PCbuild\amd64 /LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\ATLMFC\lib\x64 /LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\lib\x64 /LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64 /LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64 /LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64 /EXPORT:PyInit__cftime build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src\cftime\_cftime.obj /OUT:build\lib.win-amd64-3.9\cftime\_cftime.cp39-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src\cftime\_cftime.cp39-win_amd64.lib
  LINK : fatal error LNK1104: cannot open file 'build\temp.win-amd64-3.9\Release\Users\runneradmin\AppData\Local\Temp\pip-install-rrekve4q\cftime_364646372aeb4369a4492d8637b98d78\src\cftime\_cftime.cp39-win_amd64.exp'
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\link.exe' failed with exit code 1104
  ----------------------------------------
  ERROR: Failed building wheel for cftime
ERROR: Could not build wheels for cftime which use PEP 517 and cannot be installed directly

Here is the detail of our environment:

cftime 1.3.1
OS: Windows (Microsoft Windows Server 2019)
Python 3.8 and 3.9 (haven't tested other versions).
Using conda version : 4.9.2 (used to setup the env. not, to install cftime).

Note that cftime 1.3.0 works great.
Extra  notes
Here is a link to a failing build https://github.com/yt-project/yt/pull/2978/checks?check_run_id=1720969048.

That's because there were no windows wheels uploaded to pypi yet for 1.3.1, so pip tried to build from source.  The windows wheels are up now, so please try again.

That's because there were no windows wheels uploaded to pypi yet for 1.3.1, so pip tried to build from source.  The windows wheels are up now, so please try again.

I can confirm the issue is now fixed, closing this issue. Thanks!

I can confirm the issue is now fixed, closing this issue. Thanks!


System Bounded Context Implementation (and the consequences)

Preface
At the moment a Spine-based application lacks the information on what's happening under the hood. We have several concepts that require changes to make them usable for the framework end-users — in terms of both coding user experience and ability to operate in a distributed environment:

CommandStore, that is responsible for storing the incoming Commands and their output (Rejections and Errors), but at the same time is not well-suited for reading from the outside.
Ack, being a response to a fired Command and bringing back the acknowledgment (validation errors, rejections, technical failures etc). This concept doesn't stand in the distributed environment, because the validation (CommandBus filters) and command rejecting (@Assign handlers) very likely take place on different application nodes.
Rejections, which are stored in CommandStore outside the event stream, and therefore can hardly be used by Projections, since the event-rejection-event ordering is lost.
System-internal rejections CannotModifyArchivedEntity, CannotModifyDeletedEntity, EntityAlreadyArchived, EntityAlreadyDeleted, that are too broad to be used outside of the framework code.

Also, we don't store the history of non-event-sourced entities (Projections and Process Managers) and therefore it's virtually impossible to make them idempotent to events and commands they consume via @React/@Subscribe/@Assign methods.
Finally, as CommandStore is hardly accessible by the read-side without a lot of additional code —  it's pretty difficult to build something like Dashboard Projection on top of this store to understand the state of a Command propagation.
Idea
To describe the life of system objects each BoundedContext has a "System" BoundedContext. The language and events of the system bounded context describe the command propagation, entity lifecycle and entity history (for Projections and ProcessManagers at least).
The events include:
CommandLifecycle (Aggregate per Command instance)

CommandReceived;
CommandAcknowledged;
CommandDispatched;
CommandHandled / CommandRejected / CommandErrored.

EntityHistory (Aggregate per Projection / ProcessManager instance)

EntityCreated;
EventDispatchedToSubscriber (for Projections);
EventDispatchedToReactor (for ProcessManagers);
CommandDispatchedToHandler (for ProcessManagers);
EntityStateUpdated;
EntityDeleted;
EntityArchived.

These events will make CommandStore obsolete, as the information on acknowledgment and rejections/errors resides in the event stream of "System" bounded context.
Also, the history of what's dispatched to Projections and ProcessManagers, stored in the respective system aggregate, makes it much easier to provide idempotence for those.
(NOTE: there should be NO "System" bounded context for "System" bounded context :) )
Rejection to Become a Special Kind of Event
The problem of using rejections in a business logic of an end-user application is that they are dispatched to Projections out of sync with events — they use a special RejectionBus and they are stored separately (in a CommandStore). Due to the same reasons, a catch-up of a newly introduced Projection with millions of events in the stream and thousands of rejections in another stream is nearly impossible.
Therefore Rejection should become a special kind of Event; in particular:

Rejection messages are declared in rejections.proto as before;
EventMessage marker interface becomes a parent of RejectionMessage marker interface.
Generated Java classes are still descendants of ThrowableMessage.
Rejection events are stored in the event stream along with other events.
As with old-fashion events, it becomes possible to @React and @Subscribe to rejection events — and they will arrive in order with the old-fashion events, both during runtime dispatching and catch-up.

RejectionBus and RejectionSubscriber become obsolete.
Entity Updates in @Subscribe
At the moment there is a Stand, storing the latest states of the entities and serving as a subscription hub for those who wish to access the read-side through SubscriptionService.
With the proposed EntityStateUpdated event (see above) it should become possible to @Subscribe to the entity state updates as follows:
@Subscribe
on(ProjectDetails projection[, EventContext context]) { ... }

where the context is a context of a system event.
To store the latest states of Aggregates it is proposed to create Projections in the "System" bounded context — for those aggregates with proper Visibility level. Thus Stand will no longer store anything, but serve as front-facing API for SubscriptionService and QueryService.
Also, as emitting the entity state updates results into an event, the event stream may get polluted with those very quickly. So by default no entities emit their state update events. To enable such a feature a framework user should define a predicate function in the repository of the respective entity.
The function makes a decision basing on

the previous entity state (before transaction) + version,
new entity state (after transaction) + version,
the message (handled command or reacted-on event) that triggered the change + its context (assuming oneof command message + CommandContext OR event message + EventContext),
(TBD) recent history of events?

By default such a function predicate returns false which means "do not post the update". Once overridden by a user, it may return true, which means "post this particular entity state update as an event".
Also, as long as the EntityStateUpdate events may be routed to Projections, they have to reside in the domain event stream as well — to keep those in order with the rest of domain events that are read during replay or catch-up.
Client Subscriptions Through Stand
After losing its storage functionality (see above), it would be nice to allow clients to subscribe to everything available on the server-side via @Subscribe annotation. The following code snippet illustrates the idea:
// client-side code:

public final class ProjectSubscriber extends EventSubscriber {

        @Subscribe
        public void on(ProjectCreated eventMsg) {}

        @Subscribe
        public void on(ProjectDetails stateUpdateMsg) {}

        @Subscribe
        public void on(CannotCreateProject rejectionEventMsg) {}
}

// ...
ActorContext actorContext = ...

StandClient standClient = StandClient.of(channel); // wrap around `SubscriptionServiceStub`
EventSubscriber subscriber = new ProjectSubscriber();
standClient.register(subscriber, actorContext);

Such an opportunity will significantly widen the number of options for building rich clients for Spine server applications.

@alexander-yevsyukov @dmdashenkov FYI.

After a discussion, it was decided that Aggregates have corresponding EntityHistory instances as well as Projections/ProcessManagers.
As the consequence, the EntityHistory has another event EventPassedToApplier.
Also, the aggregate has events reverting EntityArchived and EntityDeleted, so that any lifecycle flags changes are covered.

@dmdashenkov please see my edits in Entity Updates in @Subscribe section. I have appended it with some details on posting the EntityStateUpdated event.

Closing as most of the parts is implemented. The rest became obsolete.


Question: selected advanceControls in callback

In the context of panels used as a cutscene manager, is there a way to use multiple advance controls without giving each a target sequence and instead receive the selected control in the cutscene callback?

No, there isn't.
It would probably be pretty easy to send back the target for the selected button. Would that work for you?

Yes, anything to distinguish between the available options would work fine.

This should work now if you pull the latest (v1.5).
You can set up advanceControls with target properties. Since these won't actually be triggering another sequence, you can set them to strings instead of integers if you want:
advanceControls = {
    { input = Panels.Input.A, target = 1 },
    { input = Panels.Input.B, target = "B" }
},

Then you can accept the target of the chosen input in your game's cutscene callback:
function cutsceneDidFinish(target)
    print("User chose option: " .. target)
    -- etc...
end

I added a full example in Scene 6 of the Cutscene example project.


chore: release v0.0.1

:robot: I have created a release beep boop
0.0.1 (2023-11-08)
What's Changed

feat: scaffold the project by @coffeebeats in https://github.com/coffeebeats/gdpack/pull/1
fix(CI): move dependabot.yml and PR template to correct path by @coffeebeats in https://github.com/coffeebeats/gdpack/pull/3

New Contributors

@coffeebeats made their first contribution in https://github.com/coffeebeats/gdpack/pull/1

Full Changelog: https://github.com/coffeebeats/gdpack/commits/v0.0.1

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/coffeebeats/gdpack/releases/tag/v0.0.1 :sunflower:


Can't extend a style defined in a later YAML block

Okay, I guess it's my... unusual workflow's fault that I haven't bothered to move the style to global. But still.

Is it that you can't extend a style defined inside the metadata of the document? This should be possible. Can you post a minimal example to show what is not working?

---
style: Child
styledef:
    Child:
        parent: Parent
---

blah blah blah

---
styledef:
    Parent: {}
---

I see what is going on. The 2 yaml blocks are merged into one big block and the two styledef fields are colliding. One is overriding the other so you only have 1 style defined. If you put the definition of the child and the definition of the parent under the same styledef field it will work.
Merging multiple yaml blocks in a source document into one big yaml block is pandoc behaviour (merges using left biased union). Panzer is consistent with this to avoid confusion (in fact it used pandoc to parse yaml).


Add ability to get local collections instance

after defining a new local collection:
var collection = new Mongo.Collection(null);
and assigning a name for it:
collection._name = collection._collection.name = 'a_name_so_i_can_get_it';
we can later retrieve it with:
var sameCollection = Mongo.Collection.get('a_name_so_i_can_get_it');

@dburles is this package still maintained?

Sorry @ziedmahdi I meant to get back to your PR. What's the reason that you've added this feature?

So that packages like msavin:mongol and babrahams:constellation can show the content of local collections. They are using your package to get the collection instance.
When we define a local collection we pass null to the constructor.
var collection = new Mongo.Collection(null);
and like that it will be saved with no name in your arrays of instance.

CollectionExtensions.addExtension(function (name, options) {
  instances.push({
    name: name,
    instance: this,
    options: options
  });
});

and finding it will be like impossible (well if there is more then one local collection).
So, instead of only searching based on instances.$.name we can also search using instances.$.instance._name.
and after defining a local collection, you can modify it's name

var collection = new Mongo.Collection(null);
collection._name = 'a_name_so_i_can_get_it';
var sameCollection = Mongo.Collection.get('a_name_so_i_can_get_it');

Voilà!!

I mean, I get that, but I'm not sure on the real world use. I gather it will be up to the user to define a name for any local collections they've created so that this package can become aware of them? That seems kind of strange given that the very idea of this package is providing the ability to gather/lookup collections without having to do anything special from the users point of view.
So I am guessing that the main reason you're adding this feature is so that your local collections can be viewed by mongol?

For now, the only way (that I know) to give a local collection a name is to alter the _nameattribute.
For me, the main reason, was that rubaxa:sortable could not get the local collection instance that I passed. When I got it to work with rubaxa:sortable, I thought to try it with msavin:mongol and it worked. Basically, this patch will allow any package/project to pass strings instead of collection instances even for local collections.


#5726 card changes #5727 button space issue

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[ ] Feature
[x] Refactoring

Context

[x] Closes #5726 #5727
[ ] Requires deployment <snek/rubick/worker>

Before submitting pull request, please make sure:

[ ] My contribution builds clean without any errors or warnings
[ ] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality

Optional

[ ] I've tested it at </ksm/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[ ] Fill up your KSM address:
Payout

Community participation

[ ] Are you at KodaDot Discord?

Screenshot 📸

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

Copilot Summary

🤖 Generated by Copilot at 4ca5d3c
This pull request improves the user interface and design of the NeoNftCard component by making the whole card clickable and navigable to the nft details page, and by changing the color of the collection name link to match the theme and contrast better on hover. These changes affect the files NeoNftCard.vue and _collection-card.scss.

🤖 Generated by Copilot at 4ca5d3c

nuxt-link expands
card becomes more clickable
spring breeze of UX

the nft name should not change with the hover
canary

deploy

make the whole card clickable - like the collection card - cursor to pointer in the whole card container

https://deploy-preview-5733--koda-canary.netlify.app

@exezbcz it is clickable though? this part

the nft name should not change with the hover canary  deploy

yeah, but the text should not change to its hover color

the nft name should not change with the hover canary  deploy

yeah, but the text should not change to its hover color

done @exezbcz

can we merge this one now?

can we merge this one now?

I still see nuxt-link

can we merge this one now?

I still see nuxt-link

removed from there as well

can we merge this?

😍 Perfect, I’ve sent the payout
💵 $15 @ 28.13 USD/KSM ~ 0.533 $KSM
🧗 EzGc4s9PgCPx1YnF3fqzhLzVHpHMTL4LWPScwpDrR8JKgSU
🔗 0x8ccefea8b3e56ff306fd35231730e4173e1566d314adc2747419b5163650bb91
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Release that doesn't have ScientificTypes as a hard dep?

MLJBase#dev no longer has ScientificTypes as a hard dep. Would it be possible to get a release with this in it?
Then, I'll be able to use the latest MLJBase plus the latest MLJScientificTypes, and this will be compatible with ScientificTypes 1.0.
(The current latest release of MLJBase cannot be installed alongside ScientificTypes 1.0.)

Why do you want to use ScientificTypes 1.0? The main difference is scitype(nothing) is now Nothing instead of Unknown, which breaks MLJBase, but not in ways that would effect your development, I would have thought.

Why do you want to use ScientificTypes 1.0? The main difference is scitype(nothing) is now Nothing instead of Unknown, which breaks MLJBase, but not in ways that would effect your development, I would have thought.

I don't actually have a dependency on ScientificTypes.jl, but I ran into compat issues when trying to use the latest registered release of MLJBase with the latest registered release of MLJModelInterface.
Specifically, MLJModelInterface 0.3.5 requires ScientificTypes 1.0.0.
Although.... I think I don't actually need MLJModelInterface 0.3.5. I think for my purposes, MLJModelInterface 0.3.4 is sufficient.
But yeah, if someone wants to use MLJModelInterface 0.3.5, they need ScientificTypes 1.0.0.

I can confirm that MLJModelInterface 0.3.4 is sufficient for my use case.

Great. FYI A new minor release of MLJBase is imminent.


Fix #80 by making app.action/options more flexible

This pull request fixes #80 for both app.action and app.options for better compatibility with Bolt for JS.
Category (place an x in each of the [ ])

[x] slack_bolt.App and/or its core components
[x] slack_bolt.async_app.AsyncApp and/or its core components
[ ] Adapters in slack_bolt.adapter

Requirements (place an x in each [ ])
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've run ./scripts/run_tests.sh after making the changes.

Codecov Report

Merging #83 into main will increase coverage by 0.11%.
The diff coverage is 97.29%.

@@            Coverage Diff             @@
##             main      #83      +/-   ##
==========================================
+ Coverage   82.60%   82.71%   +0.11%
==========================================
  Files         128      128
  Lines        3535     3553      +18
==========================================
+ Hits         2920     2939      +19
+ Misses        615      614       -1

Impacted Files
Coverage Δ

slack_bolt/listener_matcher/builtins.py
89.18% <97.29%> (+1.76%)
:arrow_up:

Continue to review full report at Codecov.

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


Merge prTesting_201909291316 branch to master branch

Docs Build status updates of commit 10897ed:
:warning: Validation status: warnings

File
Status
Preview URL
Details

split/updateTestCon.md
:warning:Warning

Details

split/updateTestCon.md

[Warning] Missing attribute: author. Add the current author's GitHub ID.
[Warning] Missing attribute: title. Add a title string to show in search engine results.

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.


Migrate Hostedzones from AWS Fee Remissions to MoJDSD

Background

We are closing legacy AWS account and returning DNS to the main DSD account. We can then manage domains there or decommission as required.
Zones to be migrated:
helpwithcourtfees.dsd.io
hwf.dsd.io
helpwithcourtfees.service.gov.uk (may require BT changes to delegate)
Approach

Check what DNS records need to be migrated
Recreate records in MoJDSD

Questions / Assumptions

Via IAC or manual? We will do these manually.

Acceptance Criteria

[ ] DNS is managed in MoJDSD account

Reference
How to write good user stories

helpwithcourtfees.dsd.io migrated

Checking with GDS to confirm where NS records for helpwithcourtfees.service.gov.uk are delegated from.

hwf.dsd.io zone created, but DNS records not yet migrated. Will pick up next week.

Stale. Unable to proceed with final actions.


Default import replaces named import for the same path

Describe the bug
Input code
Given such module
./A.ts
export const foo = 'foo'
export default const baz = 'baz'

This doesn't work as expected ❌
./B.ts
import { foo } from './A'
import baz from './A'

console.log(baz, foo) // <-- baz undefined

This works fine ✔
./C.ts
import baz, { foo } from './A'

console.log(baz, foo) // <-- baz foo

This works fine as well ✔
./D.ts
import baz from './A'
import { foo } from './A'

console.log(baz, foo) // <-- baz foo

Expected behavior
Both foo and baz in ./B.ts are correctly resolved
Version
The version of @swc/core: 1.2.58

Are you using spack?

@kdy1 I was using swc-loader

What is your .swcrc?


fix(path): Join protocol independent paths

Protocol independent paths (e.g. //host.com/path) are being treated as relative paths.
join('//host.com', 'path')
Expected //host.com/path
Actual /host.com/path

Cool. This will go into the next release. Happening tomorrow probably.

Will go out in the next release. Thanks!


"Nvidia driver too old" error on deployment of the cog model to replicate.

I am getting Nvidia driver too old when I deployed my model on a40 large gpu. It seems like it is an issue in the deployed machine and not on my end. Should I try changing gpus ?

On my end, the nvidia driver (525.85.12) is compatible with the used cuda version (11.8).


gccgo: rejects valid program

$ gccgo --version
gccgo (Debian 12.2.0-3) 12.2.0

The following valid Go program:
package main

import "math"

func main() {
	f := func(p bool) {
		if p {
			println("hi")
		}
	}
	go f(true || math.Sqrt(2) > 1)
}

compiles and runs on gc, but is rejected by gccgo
$ gccgo main.go
main.go:11:9: error: too few expressions for struct
   11 |         go f(true || math.Sqrt(2) > 1)
      |         ^

cc @ianlancetaylor

Just a note that the problem is that when the thunk is created the argument is not seen as constant, but when the thunk is later simplified the argument is constant (thanks to the remove_deadcode pass, which changes true || x to simply true).  So we build a field in the thunk argument for the struct, but then we don't fill it in.  The code needs to be consistent as to whether the argument is constant or not.


add an ATLAS image that replace anaconda3 by miniforge3

replace Anaconda3 by Miniforge3 to avoid license issue.

No longer relevant


WIP: Enable approx percentile tests

Depends on https://github.com/rapidsai/cudf/pull/9403 and https://github.com/rapidsai/cudf/pull/9537.
Closes https://github.com/NVIDIA/spark-rapids/issues/3703 and  https://github.com/NVIDIA/spark-rapids/issues/3706.

build


Multiple models?

Hi,
I was looking for a library to use DynamoDb as a single table design and this lib looks promising.
I could not find an example of how to use this with multiple models in a single table, except when having embedded models. Is there a way to use multiple Models in a Single Table? (The definition of the returned model should be left to the user who defines the access patterns)

Yes I am working on the documentation and adding examples, hope to have this updated soon.


Correct a typo introduced in last file change

As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/lgtm

/approve


Release 7.1.0 cherry picks

cherry pick of #6863
GDT 8.0.1 added to the release

@mikeger Could you please provide your consent following the instructions from the comment.

@googlebot I consent.


There is no traffic lanes in Appollo 1.5 demo.

I have built apollo v1.5 successfully. But when I ran the command
rosbag play ./docs/demo_guide/demo_1.5.bag --loop

There were still no road or no lane in the Dreamview used Firefox as the figure shows below, rather than the dv_trajectory_1.5.png that we expect to show all information including traffic lanes and signals.
Please tell me did I play a wrong bag file or run a wrong command? Thanks.

Take a look at this file: https://github.com/ApolloAuto/apollo/blob/master/modules/common/data/global_flagfile.txt. You might be using a wrong map data file.

But I didn't find the map data file "modules/map/data/sunnyvale_loop" in the apollo github repository.
In my case, I loaded demo map as the /apollo/data/log/dreamview.INFO shows
pnc_map.cc:85] map loaded, Map file: modules/map/data/demo/base_map.txt

@Eddy-W  "modules/map/data/sunnyvale_loop" is not in github repo. It is loaded by docker. You should be able to see this folder inside docker.

It works. Thanks.


chore: use the latest Rock versions of Bessd and PFCP agent

Description
Use the newer Rock versions:

Bessd 1.0.1
PFCP agent 1.5.0

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that validate the behaviour of the software
[ ] I validated that new and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have bumped the version of the library

Obsoleted by https://github.com/canonical/sdcore-upf-k8s-operator/pull/434

Obsoleted by https://github.com/canonical/sdcore-upf-k8s-operator/pull/434


Add Support for Deletes

The output does not support deleting documents.  There is an existing API that can be utilized for this and it could be modeled after how the Elastic output works.

Bump


Man-in-the-Middle vulnerability

Man-in-the-Middle vulnerability
Software vulnerability checker(Veracode) reports that netty-handler is vulnerable to Man-in-the-Middle attack. Issue description is provided below. Please let us know how to address this.
"netty-handler is vulnerable to man-in-the-middle attacks. The library uses an SSLEngine that does not verify certificate hostnames when establishing connections with clients by default. This allows an attacker to potentially intercept and modify network traffic in a successful man-in-the-middle attack."
Netty version - 4.1.43-FInal
JVM version (e.g. java -version) - 1.8
OS version (e.g. uname -a) - Windows / Unix

Duplicate of https://github.com/netty/netty/issues/9930


Revert "fix(modp2p): temporary disable quic (#2837)"

Reverts disabled quic. We weren't able to reproduce the issue since we first observed it, as well as quic released changes to address this. Even if the issue is there, I think it's more or less safe as we always have TCP as fallback

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (dd3b8e1) 50.98% compared to head (42f505a) 50.73%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2963      +/-   ##
==========================================
- Coverage   50.98%   50.73%   -0.25%
==========================================
  Files         168      168
  Lines       10937    10921      -16
==========================================
- Hits         5576     5541      -35
- Misses       4865     4886      +21
+ Partials      496      494       -2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I thought this was merged already 😱


rocketmq client's stats of RT does not make sense

BUG REPORT
What did you do (The steps to reproduce)?
Start a cousumer, and continue to consume message, after one minute, check the client log.
Please describe the issue you observed:
For RT, we care about average RT and max RT in a sampling period.
But now we will see current log :
[CONSUME_RT] [topic_xxxx@xxxx-consumer] Stats In One Minute, SUM: 256807 TPS: 4280.12 AVGPT: 812.68

The value TPS does not make any sense. And neither for the the value 4280.12. In the current logic, tps is the sum_value/time_period.
The AVGPT make no sense eight, the value 812.68 should be called the avg rt
    private static StatsSnapshot computeStatsData(final LinkedList<CallSnapshot> csList) {
        StatsSnapshot statsSnapshot = new StatsSnapshot();
        synchronized (csList) {
            double tps = 0;
            double avgpt = 0;
            long sum = 0;
            if (!csList.isEmpty()) {
                CallSnapshot first = csList.getFirst();
                CallSnapshot last = csList.getLast();
                sum = last.getValue() - first.getValue();
                tps = (sum * 1000.0d) / (last.getTimestamp() - first.getTimestamp());

                long timesDiff = last.getTimes() - first.getTimes();
                if (timesDiff > 0) {
                    avgpt = (sum * 1.0d) / timesDiff;
                }
            }

            statsSnapshot.setSum(sum);
            statsSnapshot.setTps(tps);
            statsSnapshot.setAvgpt(avgpt);
        }

        return statsSnapshot;
    }

What did you expect to see?
For RT, we should care about sum_value/count_period. And the text should be AVG_RT , and MAX_RT rather than TPS and AVGPT

Would you be interested in submitting a PR to enhance this (add new metrics, rename some metrics) ? Thanks~

@ShannonDing @imaffe please help review the pr https://github.com/apache/rocketmq/pull/2103


[GOBBLIN-619] Fix the metrics name for GobblinHelixJobScheduler

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-619

Description

[x] Here are some details about my PR, including screenshots (if applicable):
Fixed the wrong metrics name for GobblinHelixJobScheduelr
Also disable the job tagging test case because intermittent failure (will be fixed by a separate PR)

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

+1


Do not try to get xattrs for the root inode

Otherwise the path in the S3 request is empty, which is invalid.
(original PR at https://github.com/ppenguin/goofys/pull/2)

This resolves kahing/goofys#522.


fix: add btc confirm number and add sql timezone

Codecov Report

Merging #60 (6b720d1) into main (1d8ab7a) will increase coverage by 7.09%.
The diff coverage is n/a.

:exclamation: Current head 6b720d1 differs from pull request most recent head d3d51fc. Consider uploading reports for the commit d3d51fc to get more accurate results

@@            Coverage Diff             @@
##             main      #60      +/-   ##
==========================================
+ Coverage   42.79%   49.89%   +7.09%
==========================================
  Files          46       23      -23
  Lines        2409      485    -1924
  Branches       77       29      -48
==========================================
- Hits         1031      242     -789
+ Misses       1378      243    -1135

Impacted Files
Coverage Δ

...dules/ckb-contracts/tests/src/utils/case_runner.rs

...les/eth-contracts/contracts/libraries/SafeMath.sol

...tracts/types/src/generated/recipient_typescript.rs

...contracts/lib/recipient-typescript-lib/src/test.rs

offchain-modules/ckb-contracts/tests/src/lib.rs

...ules/eth-contracts/contracts/libraries/Address.sol

...ffchain-modules/ckb-contracts/types/src/convert.rs

...es/eth-contracts/contracts/libraries/SafeERC20.sol

...-contracts/lib/recipient-typescript-lib/src/lib.rs

...in-modules/eth-contracts/contracts/ForceBridge.sol

... and 13 more

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 1d8ab7a...d3d51fc. Read the comment docs.


emby nord theme, transparent buttons under Movies/TV shows

Describe the bug
emby nord theme, transparent buttons under movies/tv shows, not readable
Theme Install Method (Don't skip)

Docker Compose Config
- DOCKER_MODS=ghcr.io/gilbn/theme.park:emby
- TP_THEME=nord

Application Info (Don't skip)

Emby Version: <IP_ADDRESS>
Branch: latest
Container: ghcr.io/linuxserver/emby

To Reproduce
Steps to reproduce the behavior:
select light theme for docker mod, with nord theme buttons under movies/tv shows are transparent and not readable
Expected behavior
readable buttons
Screenshots

try -e TP_DOMAIN=develop.theme-park.dev


add clip plane functions

Added to pull request. There are four parameters: x,y,z,w. The first three describe a vector from the volume center, the w component specifies the distance from the volume center, so
clipPlane = [0.5, 0.5, 0.0, 0.1]
describes a clip plane that is near the volume center. Set the w component to a value greater than 1.73 (sort(3)) to hide the clip plane.


feat!(actions): project name set as input

BREAKING CHANGE: the action will now get the Firebase project name from the workflow input, rather than from environment variable.

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


Stash endpoints gone

/stash/:id, /stash/item/:id, and other stash endpoints appear to be unavailable and missing from the docs

I found this buried deep in the docs:

July 1st 2024

Added new version 20240701
All Stash endpoints except submit and publish are deprecated and removed from documentation. The endpoints will stop returning any data shortly, without further notice. New stash endpoints may be returning in new API versions. Support for versions predating 20150406 was removed from submit and publish endpoints.

It sucks that a new update in years is one that includes breaking changes by removing endpoints without providing alternatives and affects all versions.


Only use jboss-marshalling when using Java 10

Motivation:
cff87de44cfaa4544360715dc83e5ad1aa2c0bd7 updated jboss-marshalling to 2.0.5.Final but this broke the ability to run tests with Java 7.
Modifications:
Only use 2.0.5.Final if compiled against Java 10 (as before 1.4.x works fine).
Result:
Be able to run tests with Java 7 on the CI.

Let me just merge this so the CI is green again for the job


Nested function cause 'strict mode' error

In react-globalize/src/message.js
this code block (from line 43)
        /* eslint-disable no-inner-declarations */
        function getMessage(globalize, path) {
            return globalize.cldr.get(["globalize-messages/{bundle}"].concat(path));
        }

        function setMessage(globalize, path, message) {
            var data = {};
            function set(data, path, value) {
                var i;
                var node = data;
                var length = path.length;

                for (i = 0; i < length - 1; i++) {
                    if (!node[path[i]]) {
                        node[path[i]] = {};
                    }
                    node = node[path[i]];
                }
                node[path[i]] = value;
            }
            set(data, [globalize.cldr.attributes.bundle].concat(path), message);
            Globalize.loadMessages(data);
        }
        /* eslint-enable no-inner-declarations */

Causes PhantomJS and Firefox complaining about violation of strict mode:

SyntaxError: Functions cannot be declared in a nested block in strict mode

Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.

Verified that simply use a function expression will solve the issue

Hi @TianhaoTong this was a recent change that we should fix. Thanks for pointing it out.

Thanks @rxaviers

Fixed and released in 0.3.17


Adding a link to "Up-front Unit Testing in Haskell"

It would be appreciated if you include my tutorial for testing.

Of course!!!  I loved your tutorial


Remove action msgs dependency

action_msgs is not needed within this repo.

Can you also remove this line? Apart from that looks good to me. Thanks for the cleanup.

sure, sorry I forgot that.

Phew. I haven't looked that up at all to be honest. I saw no direct dependency in our messages, and it just compiled without.


TODO [GFX]: Fade out volumetric clouds at horizon distance

Currently, we do not fade the clouds at all and they end up underground. We should make them smoothly disappear at a distance.

fixed with bd99627


Fix the api descrption

ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[ ] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix OpenAPI spec quality issues in S360.
[ ] Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
[x] Other, please clarify:

Change the documentation in of APIs

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Please fix the required ModelValidation errors too.

Please fix the required ModelValidation errors too.

Fixed, thanks for reminder.

Please fix the required ModelValidation errors too.

Fixed, thanks for reminder.

Hi @ramoka178 , any change needed from our side?

Hi @qiaozha , would you mind help with this PR? We are waiting for JS breaking change review for several business days.

approved for js, thanks

/azp run

API change check
APIView has identified API level changes in this PR and created following API reviews.
Microsoft.StandbyPool


update react rc

https://github.com/dai-shi/waku/pull/933#issuecomment-2392649806 seems to be fixed.


[dotnet] Decimal type handling

This PR fixes a couple of compile time issues discovered through beta metadata generation.
Fixes include: -

Remapping of decimal to double in refiners as the abstractions libraries do not define the GetDecimalValue and WriteDecimalValue. Interestingly there is no description of decimal in v1.0 openApi spec.
Ensuring the target type and current element are not in the same namespace before using the fully qualified name of the type. This would cause some unnecessary collisions between type names and namespace names as explained in the comment below.
Ensuring RequestBuilder types are suffixed with the ItemRequestBuilder if they belong to an item namespace. This is because some item request builders end up with the same name as the parent collection request builder depending on the openApi specification resulting to indexers pointing to the incorrect request builder.

Generation run has been made and can be confirmed at the link below.
https://dev.azure.com/microsoftgraph/Graph Developer Experiences/_build/results?buildId=68288&view=results

What made you choose treating decimals at doubles instead of introducing a decimal method in IParseNode/ISerializationWriter?

Hey @baywet,
Apologies for this, I had it the other way around in my head. After confirming that decimal is more precise than double this is the way to go.
I have resolved this in the latest update.


Frsky telemetry Bug?

Dear community.
I have an Taranis and a X8R receiver connected to my PX2.1 through one of the craftcand theory cables.
http://www.craftandtheoryllc.com/store/ct-telemetry-cable-for-frsky-radios/
I tried everything in order to get telemetry over SPORT but not working.
Enable in Telemtry2 SYS_COMPANION as FrSky, task is started and working (frsky_telemetry status SPORT) but I get not telemetry on the Taranis, I have followed the instruction here:
https://docs.px4.io/en/peripherals/frsky_telemetry.html
My question: Does it work from everybody? What could I posible did wrong?
Thanks in advance for the help.

thanks bkueng,
I managed to get it  working on /dev/ttyS6 (GPS2).
But I neither success on ttyS2 (telemetry 2) nor in ttyS7 (Serial 5, CONS). I do not know how to enable this port.
Do you get it over ttyS2 or ttyS7?

Ok I will search it, and when I find it I will post the solution. For the moment I can live using ttyS6 (GPS2)
Thanks and closing.

@bkueng Our docs on https://docs.px4.io/en/peripherals/frsky_telemetry.html seem a bit "thin" - for a start they only cover pixracer and they do it in only the briefest of terms:

For receivers with D-port (D4R-II and similar): Connect the Pixracer FrSky TX line to the D4R-II RX line. Also connect GND.

Suggestions/thoughts:

Add images from or link to https://docs.px4.io/en/assembly/quick_start_pixracer.html#radioremote-control
Do we need to add that link you pointed to: https://github.com/Clooney82/MavLink_FrSkySPort/wiki/1.2.-FrSky-Taranis-Telemetry ?
What about for Pixhawk and other boards - we don't say much about this in https://docs.px4.io/en/assembly/quick_start_pixhawk.html#radio-control

What I like to see here is idiot proof instructions:

Explanation of what ports you can use for connecting
Explanation of what you might have to enable/change in configuration
Images showing connections

Thoughts?

Add images from or link to https://docs.px4.io/en/assembly/quick_start_pixracer.html#radioremote-control

yes.

Do we need to add that link you pointed to: https://github.com/Clooney82/MavLink_FrSkySPort/wiki/1.2.-FrSky-Taranis-Telemetry ?

That would probably help, yes. It's just the first link I found, and there are video tutorials as well, for instance https://www.youtube.com/watch?v=x14DyvOU0Vc.

What about for Pixhawk and other boards - we don't say much about this in https://docs.px4.io/en/assembly/quick_start_pixhawk.html#radio-control

You can set SYS_COMPANION to 10, and connect to the TELEM2 UART. Alternatively on pixhawk pro, you can connect it to TELEM4 (no config needed). If you add it to the startup script yourself, you can run it on any UART.


No BCC from transfer

Hello :-)
I changed 2x BCC's by changelly.com and they was sendet to my Account.
1F1HpJKeGAoVppEMticsBBw3MRy3gjUR5b
But ther came no BCC.
MY question: Whats happen and how help?
Thankyou kuechler bluewinch
Transaction # c7a084017479
Input transaction hash | f380a6c8adacde48a2bd5321e3d9a579d7a4c3387ea80324e8817e7c8e1c38a3
Amount | 0.765 BTC
Money received | 09 Aug 2017, 23:05:04
Fee | 0.04100912 BCC
Exchange rate | 1 BTC = 10.24838703 BCC
Receiver | 1F1HpJKeGAoVppEMticsBBw3MRy3gjUR5b
Output transaction hash | 94c42401174f605802cf8f98dc36cb0f8909db30b0f32201ed4dfa7c35974828
Amount | 7.800816 BCC
Money sent | 09 Aug 2017, 23:15:58
and
Transaction # 2587816c8181
Input transaction hash | 3e7d84097ea607f541954704854331a93288f23a592a78742d8a2d793c402b84
Amount | 0.1485 BTC
Money received | 09 Aug 2017, 23:05:04
Fee | 0.00940542 BCC
Exchange rate | 1 BTC = 10.23081738 BCC
Receiver | 1F1HpJKeGAoVppEMticsBBw3MRy3gjUR5b
Output transaction hash | 49bb0b09999dc8fb4bffa705591a5452663a72408e3d2872096644aec2e5e5cf
Amount | 1.51168 BCC
Money sent | 09 Aug 2017, 23:43:04

There is indeed BCC on 1F1HpJKeGAoVppEMticsBBw3MRy3gjUR5b.
Can you verify your electrum is synced and you're on the correct chain?
To do that: please go to Tools -> Network ("Overview" tab) and look at "blockchain: xxxxxx blocks". Also look if it says "chain split detected" below that. Maybe you can do a screenshot of that dialog?

I closed this because if you see BCC on your address and not in your wallet, its very likely you're simply not on the correct server.  manually connect to the right server please.  future versions will attempt to auto correct this behavior.


Sign then Send for Tron network

Coin not supported

It should work? Can you share your sample code?

let a = TronSigningInput.with{
$0.transaction = TronTransaction.with{
$0.triggerSmartContract = TronTriggerSmartContract.with{
$0.data = "abc".data(using: .utf8)!
$0.contractAddress = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
$0.callValue = 1
$0.ownerAddress = "TVmCnJ1Apw42PMJwwMnJwTZn6cfMeicG7M"
}
}
}
    TrustSDK.signers.tron.signThenSend(input: a) { result in
        switch result {
        case .success(let hash):
            print(hash)
        case .failure(let error): print(error.localizedDescription)
        }
    }

Please take a look. Thanks @hewigovens


Pluthon names and hebi varnames might collide

Describe the bug
Hebi uses UPLC native variables, just as the underlying layer pluthon. This may lead to conflicts (i.e. when a function invokes an outer variable named "g")
To Reproduce
g = 0
def foo():
  return g

Expected behavior
Python semantics must be preserved.
Possible solutions

abuse the optimize varlen package to map user variable names to something unique (downside: code is much harder to interpret, however variable names are anyways not preserved by flat encoding)
somehow make use of forbidden names inside pluthon to avoid conflicts with legal python names (or prefix python names with I.e. #)

related: https://github.com/ImperatorLang/pluthon/issues/4


Adding script defined variables and binding them to C++ objects

Hello everyone!
First things first, love this repo ❤
I'm trying to make a general purpose game engine with Lua scripting using Sol2. The engine uses
a component system and scripts are attached onto objects. Most engines have the concept of script data, without hard-coding object properties in the engine, but defining it through the scripts.
Example:
script.lua
hp = 100

function attack()
  hp = hp - 5;
end

function update()
   ....
   ....
end

In my C++ code:
for(auto obj = objects.begin(); obj < object.end(); ++obj)
{
    obj->getScript().execute("update");
    if (obj->getType() == "Monster")
        obj->getScript().execute("attack");
}

Every object that has this script attached, should have it's separate memory space with it's own hp variable. When executing methods (i.e. attack()) it should bind to only that object and execute "his" attack method.
I've tried to add a global variable this to reference the object in C++ code and on every iteration set lua["this"] = obj; but adding variables like this.hp = 100 throws the unimplemented new_index error.
Is there some way to implement this behavior without hard-coding variables inside C++ classes?

Each script can be sandboxed using a sol::environment, while still maintaining a single sol::state. What you need to do is change how your "execute" is handled.
class Script {
private:
     sol::environment code_env;

public:
     Script(sol::state& lua, std::string script_code) : env(lua) {
          lua.script(script_code, code_env);
     }

     void execute(std::string_view target_name) {
          sol::protected_function target_execution = code_env
     }

     sol::environment& environment () {
          return code_env;
     }

     const sol::environment& environment () const {
          return code_env;
     }
};

Now, when you need access to variables set on the script, you do int hp = obj->getScript().environment()["hp"];. This is a very, VERY long spelling so you could probably introduce some shortcut functions or operators or w/e you want.
Good luck.


Split annotation processor from refaster converter

What problem are you trying to solve?
I've just written a custom rewrite module with several refaster templates in Eclipse, and built it with Maven, which was quite some adventure (but it was far less complicated than getting the original refaster engine to work in an OSGi context with ECJ some years ago). While I was wondering if I might be able to debug even the annotation processor with that setup, it occurred to me that it should not be necessary to debug through the annotation processor interface.
Describe the solution you'd like
Split the annotation processor into 2 classes:

one just fulfilling the annotation processor interface of the compiler, then delegating
one doing only the parsing and conversion of refaster templates, useable from the annotation processor or standalone

If I get it right, the annotation processor already converts the input to its own AST representation at the root level (the compilation unit), so the parsing should already be independent of the APT interface.
This would have two benefits:

tests could be written without invoking the compiler
debugging would be possible without the annotation processing being involved.

Or do I miss something obvious that prohibits this separation?

Hi @Bananeweizen ; Neat to hear how you're applying the tools! Can't say this usage was foreseen, but that makes it all the more fun to hear about.
You're right in calling out that currently there's no clear separation between the annotation processor and the conversion of refaster templates to rewite recipes. I'm not sure how easy that separation would be, given that we use com.sun.tools.javac liberally throughout the code. While we're open to explore the option, there's also some ongoing efforts in #57 to reuse TemplateCode and elsewhere to support generics. Might be best to coordinate such that there's no conflicts with any work you might plan to do.

Thanks for the explanation. In that case I'll close this ticket, because the other restructuring tasks have more important benefits.

Welcome to revisit this once the other features have landed! Always nice to see if tools can be used in multiple ways, and a better separation would help the code quality as well.


[Task] Shenyu Cluster Deployment

write Shenyu Gateway Cluster Deployment by Nginx or Shenyu Nginx, pls assign me.

completed.


Better support for Shared VPC (example and firewall rules)

This PR improves support for using the module in a Shared VPC model, with instances in a service project and firewall rules in a host project.

Introduces a firewall_projects variable for specifying the (host) projects to create firewall rules in
Adds an example of working with the variables in a Shared VPC setup

This is great, thank you!
I just have a few in-line comments.

@danisla Thanks for the feedback, updated to incorporate it.

LGTM. thanks!


create a pseudo-column that contains a list of actions that users can do

@hongsudt commented on Thu Dec 01 2016

This column should be the first column (left most).
The column name should be "Actions". The value should be linkable icons (with tooptips) for view, unlink or delete, and edit.
In the compact/brief context, if the related table is derived based on pure and binary association table, unlink should be provided, otherwise, delete should be provided. Unlink deletes an entry in the association table. Delete deletes the actual row in the table.

@robes @karlcz I am making an assumption that we can determine whether the user can delete or create at the row level, which I am not sure whether it has to eventually be an asynchronous call or not.

@robes commented on Fri Dec 02 2016
@hongsudt I think the reference api covers row-level security but of course that is not and cannot be implemented given the current mechanism that ermrest uses based on postgres row level security.

@hongsudt commented on Tue Dec 06 2016
@shinyichen we decided to implement this in chaise. I am moving this issue to chaise repo.

Is the action column always shown? For example, it may not be useful when in the popup selection modal. What should the visibility be based on? App decides?
Hide or disable edit/delete icons when not logged in?

For Glyphicons, what about: in the compact or compact/brief context,

use glyphicon-list for view.
use trashcan for delete. For a related table that is generated based on pure and binary association,  user a remove icon (an x) for unlink instead of trash. This will delete the entry in the association table. The table should be refreshed upon deletion.
use pencil for editing. Similar to pre-filled add, the related table should be refresh after the editing is done.

In the search modal, use an ok font (check) for select. The rest can be the same as the compact context..

Instead of using cookies or local storage, we should try Karl's suggestion on DOM manipulation through windows.opener with the suggested flow below. With this, we don't have to deal with garbage collection.
The general recordedit flow to avoid using cookies for signalling between parent and child:

parent defines entry points which consult local hashmaps etc.
-- window.getPrefill(url) function
-- window.childChanged(url, ...) function
parent sets up hashmap contents using child url as key
parent launches child (and captures window object to variable)
child starts to run
child does conditional prefill startup
-- have window.opener, or skip prefill
-- have window.opener.getPrefill, or skip prefill
-- prefill = window.opener.getPrefill(child_location)
-- prefill != null, or skip prefill
child does remaining app logic
child does submit/data change
child does conditional signalling after server update success
-- have window.opener, or skip signal
-- have window.opener.childChanged, or skip signal
-- window.opener.childChanged(child_location, ...)
parent can poll (or listen?) for child window close status
if needed

The parent sets up any per-child state before opening the child
window, so it is safe for the child to invoke the entry-point
functions any time after that w/o further synchronization.
The extra args to the childChanged() function could be etag or even
more details about the new/changed data?
The child can tolerate other launch modes where the parent is missing,
or does not have the task-specific entry-point function(s), or does
not have a hashmap entry for the child_location url.
The entry-point functions can potentially store info that the parent
can poll later, or even invoke further callback logic to perform
parent app state updates?


Questions for customization

Hello, i'm French developer !
I have more questions for customize TicketIt.
Primary, how to translate or reach texts in English ?
Because i need French language !
Secondary, how to differentiate one users and one users admin in TicketIt ?
I used Auth::user() but I need to differentitate this two users for redirect in home page.

Finally, how to delete cleanly pages and access to path "password/reset,..." ?
And, how to make accessible the page " register " only in admin user ?
Thank you for the help !
And I apologize for my French !

Cher @WestFR ,
Je réponds en français, parce que ça peut être plus facile pour toi (mais pas pour moi...)
Tes questions ont rapport à Laravel en général en premier lieu. Tu peux traduire Ticketit de cette façon
Je ne comprends pas ton deuxième question, désolé. Tu pourrais  la reformulez en français.
C'est un guide pour désactiver password resets et registration: http://robboyland.com/laravel-auth-how-to-disable-registration
Et pour admin-only registration tu a besoin d'un controller avec Kordy\Ticketit\Middleware\IsAgentMiddleware middleware. Dans ce controller tu dois écrir propre code pour créer nouveaux utilisateurs. Comme ici: https://laravel.com/docs/5.2/quickstart#adding-tasks

Thanks you @balping for you help !
So, i have translate this correctly in French !
But, for the fields "updated at" are in English. I have configure my field timezone in app.php "Europe/Paris".
It's a error or cache error ?

Furthermore, I have "delete" "register " page with the method  "showRegistrationForm" but how to delete " password / reset " page ? I do not see which method used and where..
Finally, i have use IsAgentMiddleware with the same Controller for differentiate users and admin users.
I would like that the user arrives on a page with a different view but i doesn't work!
See my code...

Thanks you very much !!

Hi @WestFR,
Ticketit uses this package for displaying dates.
You'll have to set the default locale to fr:
use Jenssegers\Date\Date;

Date::setLocale('fr');

A good place for this is the app/Providers/AppServiceProvider.php file's boot method.

In your routes file you have to wrap those  routes that you want to be accessible only to admins in this route group:
Route::group(['middleware' => \Kordy\Ticketit\Middleware\IsAgentMiddleware::class], function () {
    Route::get('whatever');
    ...
});

But your own is-admin middleware is also fine!

Now I think I understand what you want.
In your index method you could do a simple if-else statement:

if(Auth::user()->is_admin){
    return $this->indexAdmin();
}else{
    return view('home');
}

Hope this helps

Hello @balping !
Thanks you for you help !
I managed to make what I wanted for the administrators and the users !
But, I have more questions for my customization !
1 -  We can override header.blade.php (view/shared/) ? Because if I updates TicketIt, I would lose the information not override.
2 - When we create a user, TicketIt connects alone. We can block the connection to the user whom we have just created and to redirect on another page? If yes, what file ?
3 - For displaying dates in French, I have more problems. I don't see what's doesn't work.
I try with this code "use Jenssegers\Date\Date;  Date::setLocale('fr');" in app/Providers/AppServiceProvider.php but it's doesn't work.
This is my code (app.php). If you have an explanation

4 - I have created users panel (see picture). But I don't understand the functioning of the delete form.
How to use the form for the destroy method on the controller UserController ?

Thanks you very much for you help !
To finish, it's possible to committed my version of TicketIt to make her accessible.
If yes, what limitations?

You can override tviews without changing vendor code. Ex. resources/views/vendor/ticketit/shared/nav.blade.php will override vendor/kordy/ticketit/src/Views/shared/nav.blade.php If you do it this way, you don't have to worry about updates, your changes won't be lost. However you might want check if something changed  in the original file after an update. If so, it's possible that you have to modify your override file manually. See docs: https://laravel.com/docs/5.3/packages#views

Sorry, my previous comment was misleading. It should work by just setting locale in config/app.php See the source: https://github.com/jenssegers/date/blob/master/src/DateServiceProvider.php#L21

Hello and thanks you so much !
For the questions 1 and 3, it's work perfectly ! :)
For question 2, I have the same configuration and DateServiceProvider.php but it's doesn't work.
It's not critical !
My app.php
'timezone' => 'Europe/Paris',
'locale' => 'fr',
'fallback_locale' => 'en',
And, do you need my version of TicketIt ?
Thanks you for all !

@WestFR you don't need this line:
// config/app.php
Jenssegers\Date\DateServiceProvider::class,

this is already done by ticketit
Show us how do you implement date in your view, or make sure you show date like this:
{!! \Carbon\Carbon::createFromFormat("Y-m-d H:i:s", $ticket->updated_at)->diffForHumans() !!}

Also you can try something like this in a test route or the tinker to make sure the date package is set correctly:
echo Date::parse('-1 day')->diffForHumans();


Feature: Group storage configuration types in StorageTypeConfig trait

This addresses #938 partially (just the outer API level).

This change is

@schreter
I think we can just remove N, LS, SM from Raft<C, N, LS, SM>:

#941


Initial setup Frontend - Sprint1

@peculiaruc kindly assign this task to Jolade (github : jolah1)

@raoularavel Let her start and also accept the invite to this repo


Move almost all functions' parameter db.Engine to context.Context

As title.

Generally L-G-T-M. But I do not understand why some PRs have rebase+force-push after the reviews have started.
In my mine, rebase+force-push only do harm to the project, it makes the review more difficult, and even worse it may lead to code lost.

Generally L-G-T-M. But I do not understand why some PRs have rebase + force-push after the reviews have started.
In my mind, rebase + force-push only do harm to the project, it makes the review more difficult, and even worse it may lead to code lost.

For me, that's because I'm also reviewing myself PR and found some code could be changed. Since Gitea asks to merge PR after updating, I have a habit to update the PR when possible to reduce the conflicts.

But rebase doens't help about conflicts. A normal merge is enough for all cases, and the commit history is clear.

Please resolv conflict ;)

make L-G-T-M work.


Build nav menu for plugins

@owen2345 How do I allow frontend routes from plugins that are post types to be added to a menu?
Looks like this code would have to change or I would have to add pages from within the plugin.
Adding pages from within the plugin seems really hacky.

Chris,
I added a new hook "nav_menu_custom" to include custom menus in the menus list:
This hook receive {custom_menus: {}, menu: @nav_menu}.
Sample:
def my_custom_menu_hook(args)
  args[:custom_menus][:my_menu] = {link: "my link here", title: "Title for my url"}
end

This will add  a new menu group "Custom Menus" in the menus list, in which your menus will be shown.


(PUP-9570) Retry pluginsync if the agent's environment is wrong

Previously, puppet agent could download plugins and facts from one
environment (A), but puppetserver could try to compile a catalog in a different
environment (B). If puppet code in B relied on a fact that only existed in B,
then compilation could fail, depending on how the fact was used. If fact
versions were different in A and B, then results were undefined.
This change ensures the agent's pluginsync and server's compiler environments
are consistent. If they are different, then the server returns an empty catalog
with the server specified environment. The agent will detect the mismatch and
retry its convergence loop, up to a maximum limit.
Note the agent won't cache the empty catalog, because caching only occurs if the
environment converges and it successfully converts it to a RAL catalog.
The check for :'root' is because some tests don't stub the request
environment. When running in puppetserver, the request's environment is always
resolved from the 'environment' query parameter.

Not sure what's up with appveyor check. I'm going to close this and open a new PR


Fix copy-pasta typo

ref https://github.com/docker/leeroy/pull/44#discussion_r50315641
/cc @runcom @vdemeester :dancer:

nice

sorry

Oh why the "sorry"? :D

because i think i merged too quick before hahaha, unless you caught it
after merge
On Wed, Jan 20, 2016 at 4:37 PM, Sebastiaan van Stijn <
<EMAIL_ADDRESS>wrote:

Oh why the "sorry"? :D
—
Reply to this email directly or view it on GitHub
https://github.com/docker/leeroy/pull/45#issuecomment-173413340.

@jfrazelle caught it after the merge, that's my bad :stuck_out_tongue_closed_eyes:


Removing cruff from test_data.py

Please enter the commit message for your changes. Lines starting

accept the changes and merge to berkeley repo


[Proposal] Add support to Flipper Zero .sub files

Hi Joel,
I was reading your code and I think you can add support to .sub files easily copying the function sendByte() (at least for the raw format):
https://github.com/joelsernamoreno/EvilCrowRF-V2/blob/0f64a4cadab4e06791b59aef5354fa9125c761a4/firmware/v1.3.2/EvilCrow-RFv2/EvilCrow-RFv2.ino#L518-L523
Here you have a guide on how to translate the format: https://pandwarf.com/news/kaiju-supports-flipper-zero-sub-ghz-signal-files/
Reading the header you can obtain the preset config. Then, when the "Raw data" section of file has been correctly processed you can obtain an array of integers as a result. I suppose it should work with:
// expecting an integer array. Ex.: [ -1038, 487, -1044, 511, -1010, 1011]
void sendSub(int *values, int size) {
  for (int i = 0; i < size; i++) {
      digitalWrite(TXPin0, values[i] > 0 ? HIGH : LOW);
      delayMicroseconds(abs(values[i]));
    }
}

This would definitely increase the versatility of the evilcrow because there are many files for the zero flipper on the internet. BTW, I'm going to try myself with an ESP32 devboard because i don't have an evilcrowRF device, but i can update you with my results.

Any updates on this?

yup! I got it with my ESP32 dev board and my own code taking the part i said above (i don't know why i cannot get cc1101 working properly with evil crow firmware :pensive:).
I had a code to read a file on sd card with path /subghz/Pure_raw_up.sub (hardcoded path for now). And i print on Serial this debug info:
[SD CARD] Type: SDHC
[SD CARD] Size: 3776 MiB
/subghz/Pure_raw_up.sub
FZ signal -> Freq:433.92, Mod:2, Size:1991.

The code opens the file and parse the lines to retrieve the info to a defined struct. Each line is parsed with this function:
void parseLine(char *line, struct FZSubSignal *fz) {
  const char sep[2] = ":";
  const char values_sep[2] = " ";

  char *key = strtok(line, sep);
  char *value;

  if (key != NULL) {
      value = strtok(NULL, sep);
      if(!strcmp(key, "Version")) {
          fz->version = atoi(value);
      } else if(!strcmp(key, "Frequency")) {
          fz->frequency = atof(value) / 1000000.0f;
      } else if(!strcmp(key, "Preset")) {
          fz->modulation = 2;   // ASK/OOK; TODO: translate strings like: FuriHalSubGhzPresetOok270Async
      } else if(!strcmp(key, "RAW_Data")) {
          char *pulse = strtok(value, values_sep);
          int i = fz->size;
          while (pulse != NULL && i < FZ_SUB_MAX_SIZE) {
              fz->data[i] = atoi(pulse);
              pulse = strtok(NULL, values_sep);
              i++;
          }
          fz->size = i;
      }
  }
}

The structure for the file data is:
struct FZSubSignal {
    uint8_t version;
    float frequency;
    uint8_t protocol;       // Now: RAW or BinRAW (first format with pulses and second with hex values)
    uint8_t modulation;     // 2-FSK, GFSK, ASK, 4-FSK, MSK
    uint16_t te;
    uint32_t size;
    int32_t data[FZ_SUB_MAX_SIZE];
};

And then do the transmission:
// function definition for sending individual bits with FZ format
void sendBits(int *buff, int length) {
  for (int i = 0; i < length; i++) {
    digitalWrite(GDO0, buff[i] < 0 ? LOW : HIGH);
    delayMicroseconds(abs(buff[i]));
  }
  digitalWrite(GDO0, LOW);
}

// ... here a call to the method with the data parsed ...
pinMode(GDO0,OUTPUT);
ELECHOUSE_cc1101.Init();
ELECHOUSE_cc1101.setModulation(fzSubSignal->modulation);
ELECHOUSE_cc1101.setMHZ(fzSubSignal->frequency);
ELECHOUSE_cc1101.setDeviation(0);
ELECHOUSE_cc1101.SetTx();

sendBits(fzSubSignal->data, fzSubSignal->size);

Futures

I'll keep trying to get evilcrow v2 code working on my esp32 board, if i will get it, i'll try to add  a web access to upload or transmit the files.
It would be great to implement the other formats.

New BinRAW format
All of detailed here is for the old/common format (Example here).
On the other hand, now there is another file format that will have to be implemented (see https://github.com/flipperdevices/flipperzero-firmware/pull/2322).
I've have an example file:
Filetype: Flipper SubGhz Key File
Version: 1
Frequency: 433920000
Preset: FuriHalSubGhzPresetOok650Async
Protocol: BinRAW
Bit: 311
TE: 205
Bit_RAW: 287
Data_RAW: 7F FF FF C7 47 44 47 74 44 74 47 74 47 44 74 77 77 44 47 44 44 44 44 74 44 44 44 44 47 44 74 44 47 77 77 77
Bit_RAW: 24
Data_RAW: 00 00 00

P.S. You can view it working here:
https://user-images.githubusercontent.com/18122773/224566485-1343f570-a2d3-4fa0-b6fb-e6ca236a51db.mp4

Hello, how to use the 'parseLine' function please? My ESP crashes when I try, I must be doing it wrong.
Can you post the complete code please?

Here you go, a simple code and the testing file. I have a bug with the file, it's opening only at the first time, but the rest of code works properly.
sparrowRF.ino.txt
purawup.sub.txt
P.S: you can avoid using dynamic memory by putting the structure as a global variable.

New firmware to be released soon compatible with flipper zero

@iordic Have you identified your problem with the board? It should work if you are using ESP32 and the correct pins

Yes, i had it working properly days ago. I could submit a PR if you want.
But now i have problems with RX, reading random values and crashing. Are RxPin0 an RxPin values assigned to GDO2 of module 0 and GDO2 of module 1 respectively?


ko-kr.md typo fixed

활성활 -> 활성화
It has a typo in Korean language. So I fixed it.
Thanks!
Pre-launch Checklist

[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or @jonataslaw said the PR is test-exempt.
[X] All existing and new tests are passing.

Thanks,
LGTM


Implement jBallerina debugger test framework and integration tests [master]

Purpose
This PR adds integration test framework and basic integration test scenarios for jBallerina debugger implementation.
Fixes #22657.
Remarks
Related PR - #22893
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[x] Checked Tooling Support (#)
[x] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[x] Integration Tests
[ ] Ballerina By Example Tests

[x] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

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

@@           Coverage Diff           @@
##           master   #23176   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1411     1411
  Branches      219      219
=======================================
  Hits          206      206
  Misses       1189     1189
  Partials       16       16

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 50c02c4...35a6f7f. Read the comment docs.


improvement: make mutation result errors list non-nullable

This change makes the errors list of mutation results non-nullable. The type now looks like errors: [MutationError!]! instead of errors: [MutationError!].
Contributor checklist

[x] Features include unit/acceptance tests

How does that behave when root_level_errors is defined? My doubt is that in that case, the errors field inside the mutation will not be an empty list but nil (which would error during resolution at the Absinthe level if someone queries the inner errors field)

Yeah, I think we need to only do this if root_level_errors? is false.

Yeah, I think we need to only do this if root_level_errors? is false.

I have looked into this further, and my understanding is that it's ok even when root_level_errors is true.

How does that behave when root_level_errors is defined? My doubt is that in that case, the errors field inside the mutation will not be an empty list but nil (which would error during resolution at the Absinthe level if someone queries the inner errors field)

I have now added a test case to cover this. When root_level_errors is enabled, the root level errors field is not returned (as per existing behaviour and graphql spec), and the errors field inside the mutation result is returned as an empty list.

🚀 Thank you for your contribution! 🚀


SelectInput generates an incomplete ref input element

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
https://github.com/mui/material-ui/blob/master/packages/mui-material/src/Select/SelectInput.js#L163
This function is returning an incomplete input dom node, which is lacking the setCustomValidity & reportValidity functions. These functions are important when trying to make use of browser native validation.
Perhaps a viable alternate implementation would be this:
    () => ({
      ...inputRef.current,
      focus: () => {
        displayRef.current.focus();
      },
      node: inputRef.current,
      value,
    })

I've initially reported an issue on react-hook-form (issue: https://github.com/react-hook-form/react-hook-form/issues/8400), before realising that the issue might best be fixed here.
Expected behavior 🤔
The setCustomValidity & reportValidity  methods should be available on the ref input element.
Steps to reproduce 🕹
Steps:

Open https://codesandbox.io/s/react-hook-form-v7-ts-triggervalidation-forked-4w7yqd?file=/src/index.tsx
Click on submit.
Read error message (react-hook-form is expecting the setCustomValidity method to be available on the element).

Context 🔦
These functions are important when trying to make use of browser native validation.

  Output from `npx @mui/envinfo` goes here.

Agree. This should be implemented differently, similar to ButtonBase's action prop.
Your solution looks ok and it shouldn't break anyone. Would you like to prepare a PR?

Is there any plan to fix this issue?


#376 Remove required tag from TeamName field in TeamMember struct

Fix #376

@IvanObreshkov did you verify if everything is working as expected? If all three cases are handled as expected, feel free to merge this

The normal case when the hasTeam is false works as expected (the person is added to the noTeamCollection)
Aleks said in the front-end if the person says he has a team and fills nothing it it si going to notify them that this filed is required. And also when the person clicks No on hasTeam TeamName is going to become inactive.

@IvanObreshkov did you verify if everything is working as expected? If all three cases are handled as expected, feel free to merge this

@asynchroza The normal case when the hasTeam is false and teamName is "" works as expected (the person is added to the noTeamCollection) Aleks said in the front end if the person says he has a team and fills nothing in teamName it is going to notify them that this filed is required. And also when the person clicks No on hasTeam TeamName is going to become inactive.

It's preferable that you test by not actually passing the key (since this will be the way how the frontend will pass the object to the api), but "" is still considered  a null value so I don't expect that there would be any issue with that.
I kind of get lost in what you're trying to explain. We handled the issue on the frontend where the field is visible even when hasTeam is false. This PR will fix the backend part of the problem.
CC: @Aleks1908

@IvanObreshkov did you verify if everything is working as expected? If all three cases are handled as expected, feel free to merge this

@asynchroza The normal case when the hasTeam is false and teamName is "" works as expected (the person is added to the noTeamCollection) Aleks said in the front end if the person says he has a team and fills nothing in teamName it is going to notify them that this filed is required. And also when the person clicks No on hasTeam TeamName is going to become inactive.

It's preferable that you test by not actually passing the key (since this will be the way how the frontend will pass the object to the api), but "" is still considered a null value so I don't expect that there would be any issue with that.
I kind of get lost in what you're trying to explain. We handled the issue on the frontend where the field is visible even when hasTeam is false. This PR will fix the backend part of the problem.
CC: @Aleks1908

I tested it without providing the teamname key, and the document appears in the DB with the kye as "teamname": "", which I think is the way it should be.

yep, that's not an issue

@IvanObreshkov did you verify if everything is working as expected? If all three cases are handled as expected, feel free to merge this

@asynchroza The normal case when the hasTeam is false and teamName is "" works as expected (the person is added to the noTeamCollection) Aleks said in the front end if the person says he has a team and fills nothing in teamName it is going to notify them that this filed is required. And also when the person clicks No on hasTeam TeamName is going to become inactive.

It's preferable that you test by not actually passing the key (since this will be the way how the frontend will pass the object to the api), but "" is still considered a null value so I don't expect that there would be any issue with that.
I kind of get lost in what you're trying to explain. We handled the issue on the frontend where the field is visible even when hasTeam is false. This PR will fix the backend part of the problem.
CC: @Aleks1908

I tested it without providing the teamname key, and the document appears in the DB with the kye as "teamname": "", which I think is the way it should be.

yep, that's not an issue

Gud, merging