allow server to handle slave address

Hi I've made this small change on the server part of the library to allow it to be more useful
I did need to handle the slave address but it was neither passed to the service nor possible for the service to not respond to a valid modbus request on the bus, wich is a problem on a bus with a lot of devices with their own addresses.
I did not see any PR / issue so I made the fix in a fork that I am currently rolling in production.
It is a bit rough for now but I am interested to know if you would be open to merging it ?
Basically all my changes are to make the Request and Response types in the services types that need to implement respectively From<RequestAdu> and TryInto<ResponsePdu>. The change is 100% backward compatible since the original Request and Respone object implements the required traits, and allow to use any different request / response custom implementation in the service required in the service development that into/from can work with.
Two things I'm not really sure about are:

having to make RequestAdu and ResponsePdu public for the interface to work though, but I'm not sure that there actually is a much better way.
TryInto<ResponsePdu> vs Option<Into<ResponsePdu>> for the response type, because I think the try_into() is pretty obvious in rust that it is just doing a regular into(), but while also taking in account the fact that it might fail, like when no response is supposed to be sent because the message was not destined for that device on the bus, but Option<Into<ResponsePdu>> makes it more obvious / limiting that is is actually only designed to allow not sending a response as a success case.

I've not really wrote tests nor yet, but I'm really interested in your feedback.

actually, I realise now that I have missed #97
its intended to do the same thing, but without changing Service::call signature, and also allowing to not reply to a request when not relevant.

Added an example in examples/rtu-server-address.rs

please @uklotzde @flosse  can you take a look at it ?

+1 Looking forward to this

Thanks for your contribution!
I am not familiar with the experimental server-side stuff. Maybe someone who actually uses it could spend some time and comment on the changes?

Hint (for your next PR, not this one): Don't use the main branch in your fork for feature development. Use a feature branch and always pull main from the upstream repo.

Hint (for your next PR, not this one): Don't use the main branch in your fork for feature development. Use a feature branch and always pull main from the upstream repo.

yeah it was a feature branch on my repo but I merged It when I considered it "done" for my use case (enough for use in my project) I'm doing PRs to review to my changes to myself before sending it here :sweat_smile:

The bulk of the changes is not "really" changes in the server part I just used generics and From/Into traits to actually make use of thing that were already there. It was mainly just making the Service Trait and the servers generic enough to make use of types already present in the project. there are basically only two actual code changes, and a lot of typing stuff to allow it to compile/
Request
The slaveId that was already received in process in the RequestPdu but just not sent in the service call handler that was a non-generic Request that didn't contain the id. so I made a new SlaveRequst containing the slave and made both SlaveRequest and Request implement From<RequestPdu> instead of having only the Request implementing From<RequestAdu> wich did not contain the slaveId. and then in process use
let response = service.call(request.into()).await.map_err(Into::into)?;

instead of
let response = service.call(request.pdu.0).await.map_err(Into::into)?;

Response
Then I had to make the response optional so the server is able to not repond to request not intended for it (in rtu bus there are lots of devices, on the same bus, the master sends a request with a slaveId, and only the targeted device should reply or it will create conflict on the bus and the message will be corrupted).
So I made the Response having to "optionally" need to be Into<ResponseAdu> by Using the TryInto trait. I think it was easier than having it be either Option<Into<ResponseAdu>> or better Into<Option<Into<ResponseAdu>>> I think that TryInto expresses very elegantly the fact that Response should turn into a ResponseAdu, but could also not be, even If the error type is only discarded.
I used ResponseAdu and not ResponsePdu to allow the service to still send pure Response payload if it does not care about the slave, and also to maintain backwards compatibility.
Then the only real change is
match response.try_into() {
    Ok(pdu) => {
        framed.send(rtu::ResponseAdu { hdr, pdu }).await?;
    }
    Err(_) => {
        debug!("skipping reponse");
    }
}

instead of
framed
    .send(rtu::ResponseAdu {
        hdr,
        pdu: response.into(),
    })
    .await?;

Thank you for the detailed explanations. Sounds reasonable to me.
During reviews I always try to add missing pieces and clarifications to the code. Either by making the code more expressive or adding comments and docs as needed. PR conversations are transient and all the efforts put into them get lost.
Please rebase and fix the failing checks and builds.

I think that should fix all the CI errors
and I migrated to using an OptionalResponse(Option<Response>) as the Into target to make the response be truely optional and not a failure of turning it into an actual response.
also changed logs to use the log:: prefix

also changed logs to use the log:: prefix

Sorry, I didn't notice that it wasn't you who started importing symbols from the log module :see_no_evil: Legacy code.

np, good occasion to fix the legacy code :)

and now that I finally figured out that the test suite was in pre-commit all along, this should fix the last tests

already on crates !
awesome thx :)


Unclear API Permissions needed

The AccessTokens parameter section is unclear. Is this to authenticate as a user? as an App?
Depending on what kind of authentication - you could add some of the permissions requires as either Delegated or Application.
Additionally, at one point it says "add all of the listed permissions" which is again unclear if you are trying to setup an Application to do this, or you are not very familiar that the Delegated Permissions will need the user to authenticate them.
Perhaps we could just set up a sample application with the correct permissions and include a screenshot and/or table?

Microsoft Graph
Delegated
User.ReadWrite.All

Microsoft Graph
Delegated
Group.ReadWrite.All

Microsoft Graph
Delegated
AppCatalog.ReadWrite.All

Skype And Teams Tenant Admin API
Delegated
user_impersonation

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

ID: ed0dce05-8bfd-0bfa-3753-0eb193852703
Version Independent ID: 50e0366c-46b0-71da-b6f6-f422adaad785
Content: Connect-MicrosoftTeams (MicrosoftTeamsPowerShell)
Content Source: teams/teams-ps/teams/Connect-MicrosoftTeams.md
Service: teams-powershell
GitHub Login: @SerdarSoysal
Microsoft Alias: serdars

@AdwoodMicrosoft Please help us in resolving this issue. Thanks

Following. I can not get this to work. Have tried both client credential grant and delegated flows. Documentation is clear enough I think - it just doesn't work. :(

Any update from Microsoft regarding this? Why is Teams using different methods than Exchange, Azure AD, Graph etc to Connect non-interactively?

I have a working solution here: https://github.com/MicrosoftDocs/office-docs-powershell/pull/8788#issuecomment-1013935274

I have a working solution here: #8788 (comment)

Thank you! But that's still using interactive logon. Need some sort of ETA when non-interactive (Application Permission) will be available.

Sure it is non-interactive. It uses ROPC, which is a non-interactive OIDC flow. However, it does require a user, and does not work with an app only context using client credential flow.

Sure it is non-interactive. It uses ROPC, which is a non-interactive OIDC flow. However, it does require a user, and does not work with an app only context using client credential flow.

Hmm maybe I need to investigate further. Just a question regarding using the ROPC account, can MFA be activated or should it be excluded from that?

The user account must be excluded from MFA in conditional access.

@PsychoData Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

@yogkumgit perhaps I misunderstood, but they just talked about whether or not you could have an application permission/ non-interactive authorization flow
It seems that they ended up agreeing that ROPC does not technically have to be an interactive login flow if the user is excluded from MFA.
I don't see what any of that has to do with the initial reason of this issue, which centered around how to authenticate with access token and which permissions that would require from an application point of view etc.
This is you is not about the technical aspect of whether you can authenticate, but rather the docs as I found them saying "just add all the permissions that you need to authenticate, and then authenticate" but never saying which permissions it is you need to do that.
I would request that this be reopened, and actually addressed, and not closed four more times

Of the four (4) permissions available in the Skype and Teams Tenant Admin API, which are required?

@get-itips

@pbafna03 @get-itips Kindly address this issue. Thanks

Of the four (4) permissions available in the Skype and Teams Tenant Admin API, which are required?
Also, there is a requirement for a username and password. Could the requirement be explained? Does an admin need to hard-code their credentials here?

@LycheeYum This is not the place for this add-on question, friend. If you want to ask about Connect-MicrosoftTeams and those API Permissions, you should be able to follow this link and fill out the form


vm/gce: support UEFI

We could enable UEFI boot in GCE VMs instead of the legacy BIOS.
This will allow us to test some different (more modern and relevant) drivers and enable vTPM device (and test the corresponding kernel driver). Ideally we make this configurable and test both BIOS and UEFI VMs.
I can't find comprehensive docs, but as far as I understand this will require (1) setting some flag in the GCE API call, (2) sign the disk image as UEFI compatible, (3) enable UEFI-related kernel configs.
Here are some docs I found:
https://cloud.google.com/compute/shielded-vm/docs/shielded-vm
https://cloud.google.com/migrate/compute-engine/docs/4.8/how-to/prepare-vms-servers/migrating-to-uefi-based-vms

@dvyukov , could you do the same for QEMU sbsa-ref machine as well? Currently, I don't think it boots.

could you do the same for QEMU sbsa-ref machine as well? Currently, I don't think it boots.

FWIW, this PR (I think it will be merged soon) includes changes that generate UEFI arm64 images, I think it could help in your case as well.
https://github.com/google/syzkaller/pull/3034

Thank you, Aleksandr!
On Mon, Apr 4, 2022 at 17:53 Aleksandr Nogikh @.***>
wrote:

could you do the same for QEMU sbsa-ref machine as well? Currently, I
don't think it boots.
FWIW, this PR (I think it will be merged soon) includes changes that
generate UEFI arm64 images, I think it could help in your case as well.
#3034 https://github.com/google/syzkaller/pull/3034
—
Reply to this email directly, view it on GitHub
https://github.com/google/syzkaller/issues/2999#issuecomment-1087288747,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHLBZ25ZGGRYR4E6MGEZNTVDKUYNANCNFSM5NFQ5WHQ
.
You are receiving this because you commented.Message ID:
@.***>


Malware URL listed as constant

Looks like a malicious resource is listed as a constant GOOGLE_DETAILS_URL as shown in the following SecureList post

The GOOGLE_DETAILS_URL url (https://android.clients.google.com/fdfe/details) is listed in the article while explaining how a malicious app could download an app from the playstore. This does not mean that the url itself is malicious.


GetParticipants for cohort symmetry

We may need to characterise the patients taking the medications tested using cohort symmetry. So a getParticipants might be useful to pull out those people who are taking both drugs and also highlighting those who take the index first or marker first respectively

@xihang-chen for this we can implement the participants method from omopgenerics (fyi @catalamarti)

closing this as not needed as other packages can be used


[jest-circus] DescribeBlock.tests deprecation warnings

Can be implemented using a getter calling console.warn

@jeysal we need to write some clear migration guides, tests has been there for years.
FYI @noomorph for detox

Yeah I can add that to the code comments in circus, so that when maintainers look into how to get rid of the warnings they see how to do it.
I'll can take care of this issue soon-ish

@SimenB, I might be not in the context, do you mean you wanted to remove something from event or state internals, like currentDescribe.tests?

Yeah shame we don't have the documentation yet, we are removing the tests property in the state; instead the children property of the describe block will have both child describe blocks and child tests, which can be distunguished by their type (describeBlock or test).

We initially removed it in 26.0, but noticed that it breaks some packages like Detox, and now want to give them time to stop using it and we'll remove it in 27.0


Issue #7 : Introduction redat97

This is an issue created by Reda Tarzalt as part of the onboarding process.

this was closed inavertently by @RussellJimmies because of a commit incorrectly referencing this issue in his PR.


Disagreement over SmartPanel widget constructor signature

Commit 6d9d7b5 introduces a different fix for static_url from the one implemented in https://github.com/jw35/acp_lobby_screen and documented in https://github.com/jw35/acp_lobby_screen/blob/master/widgets.md
[I thought I'd already reported this, but if so I can't find it...]

duplicated from #35

This isn't a duplicate of #35!
This is about the fact that (the spec)[https://github.com/ijl20/tfc_web/blob/dashboard/tfc_web/static/smartpanel/widgets/README.md] says

It will recieve two parameters:

A JavaScript Object conventionally named params containing static configuration parameters for the widgit:

container: The string DOM id of the page element into which the widget's content should be placed. This is guaranteed to be unique within any particular SmartScreen instance and so can be used as a base for other globally-unique names if needed.

static_url: a URL coresponding to the widget directory (i.e. the one containing the JavaScript file). This allow the JavaScript to access other resources in the widget directory without having to hard-code URLs. Hard-coded URL's must not be used to allow SmartScreens to be setup under a variety of URL prefixes.

A JavaScript object conventionally named config containing parameters for a particular instance of the widget as defined in the -schema.json file.

whereas you are calling them like this:

widget.push(new StationBoard('widget-0', {'station': 'CBG', 'offset': 0}, '/static_web/smartpanel/widgets'));

@ijl20 favours the former. I don't mind, but you two need to come to an agreement.

Fixed in 5c9459 in the jw35-reimport-widgets branch

Will be closed by PR #52

Closed by PR #52


Adding particles to pset in MPI run

Hello all,
I'm trying to run parcels by executing pset at every output dt (following the example provided in this tutorial) because I want to conditionally release particles every 5 days, depending if there isn't any existing particles in a range of 3 km from the new ones. Because of the size of the pset, I'm trying to do this in parallel but apparently I'm not able to add new particles to the existing pset, raising the following error:
File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 584, in execute_conditional_release_daily
    execute_conditional_release_daily(fieldset, particles, finish_date, outfile_name,
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/particleset/particlesetsoa.py", line 195, in __init__
    pset_init = ParticleSet(fieldset=fieldset, pclass=O2Particle,
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/particleset/particlesetsoa.py", line 195, in __init__
    self._collection = ParticleCollectionSOA(
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/collection/collectionsoa.py", line 112, in __init__
    lon = lon[self._pu_indicators == mpi_rank]
    lon = lon[self._pu_indicators == mpi_rank]
IndexError: boolean index did not match indexed array along dimension 0; dimension is 28044 but corresponding boolean dimension is 2217

Is there a way to close the pset from the parallel computing and maintain the object to add new particles and then distribute again these particles through the processos without pset.export() or pset.close()?
Cláudio

Thanks for reporting, @claudiofgcardoso. I think that I created a quick fix for this bug in #1194, can you check whether this works for you?
Note though, that because every change in the ParticleSet length now triggers a call to KMeans(), this can become very slow for large ParticleSets with many .add() calls. So be warned...

Hi @erikvansebille, many thanks for the quick response and fix! I tested this fix for two case studies (both of them perform the execution and the writting of the pset in a daily loop):
a) particles are added to the pset from 5 to 5 days without any condition: Here, the algorithim runs well!
b) particles are added to the pset from 5 to 5 days, but only if these new particles are not within the range of 3 km from the existing particles in pset. Here the algorithim gives an error (sorry for the long report, error was reported for the 4 procs):
----- Waiting for run to be saved proc 3 ... ---------
----- Waiting for run to be saved proc 1 ... ---------
----- Waiting for run to be saved proc 0 ... ---------
----- Waiting for run to be saved proc 2 ... ---------
Daily execution took 0:02:47.623624
Daily execution took 0:02:47.624248
Daily execution took 0:02:47.626928
Daily execution took 0:02:47.627175
Number of avoided duplicated particles so far --> 710
Number of avoided duplicated particles so far --> 2255
Number of avoided duplicated particles so far --> 9221
Number of avoided duplicated particles so far --> 10566
Traceback (most recent call last):
Traceback (most recent call last):
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 901, in <module>
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 901, in <module>
Traceback (most recent call last):
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 901, in <module>
    execute_conditional_release_daily(fieldset, particles, finish_date, outfile_name,
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 630, in execute_conditional_release_daily
    execute_conditional_release_daily(fieldset, particles, finish_date, outfile_name,
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 630, in execute_conditional_release_daily
    execute_conditional_release_daily(fieldset, particles, finish_date, outfile_name,
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 630, in execute_conditional_release_daily
    pset_init, _ = initialize_pset(fieldset, particles_instant.iloc[idx_to_add],
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 497, in initialize_pset
    pset_init, _ = initialize_pset(fieldset, particles_instant.iloc[idx_to_add],
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 497, in initialize_pset
    pset = ParticleSet(fieldset=fieldset, pclass=O2Particle,
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/particleset/particlesetsoa.py", line 195, in __init__
    pset = ParticleSet(fieldset=fieldset, pclass=O2Particle,
    self._collection = ParticleCollectionSOA(
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/collection/collectionsoa.py", line 112, in __init__
    pset_init, _ = initialize_pset(fieldset, particles_instant.iloc[idx_to_add],
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 497, in initialize_pset
    lon = lon[self._pu_indicators == mpi_rank]
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/particleset/particlesetsoa.py", line 195, in __init__
IndexError: boolean index did not match indexed array along dimension 0; dimension is 15596 but corresponding boolean dimension is 14251
    pset = ParticleSet(fieldset=fieldset, pclass=O2Particle,
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/particleset/particlesetsoa.py", line 195, in __init__
    self._collection = ParticleCollectionSOA(
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/collection/collectionsoa.py", line 112, in __init__
    self._collection = ParticleCollectionSOA(
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/collection/collectionsoa.py", line 112, in __init__
    lon = lon[self._pu_indicators == mpi_rank]
IndexError: boolean index did not match indexed array along dimension 0; dimension is 22562 but corresponding boolean dimension is 14251
    lon = lon[self._pu_indicators == mpi_rank]
IndexError: boolean index did not match indexed array along dimension 0; dimension is 24107 but corresponding boolean dimension is 14251
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.

I think the problem is the following: To determine which new particles are to be added, I need to check which new particles are not within the 3km range from the existing particles (that is devided along the 4 procs in this case). Because I'm doing this check in the 4 psets indepedently, the nr. of new particles to be added will be different from proc to proc, which then leads to this error. So, in order to determine correctly the nr of new particles to be released and thus have the same nr of new particles to add to pset, I would need to access the full pset. Does this make sense? And if so, is it feaseble?
Cláudio

Hi @claudiofgcardoso, good to hear that PR #1194 fixes your simple scenario of ParticleSet.add() in MPI without conditions!
I'm afraid, however, that the more complicated scenario will be difficult to fix on the backend. And unfortunately we don't have the development capacity now to work on this for the foreseeable future.
You're very welcome to try come up with your own fix (Parcels is a community code!), but be aware that MPI implementation is still a bit rudimentary.
If you do want to give it a try, the code in collectionsoa.py below is probably a good entry point https://github.com/OceanParcels/parcels/blob/989eb67294ee6b8b4c292cb7371ccf3944fd5ee4/parcels/collection/collectionsoa.py#L101-L120
An alternative is to work around this limitation in the code and use your scenario a) but then immediately remove the unwanted particles again? Or would that defeat the purpose?

Hi @erikvansebille! Unfortunately I don't think I can contribute to Parcel's MPI implementation at the moment, as my knowledge on MPI is very limited. Also regarding your suggestion, I doubt that it would be effective because new particles added in proc 0 could pass the check in relation to existing particles in proc 0, but could still be in range of existing particles in other procs .. So I think that my only option is to run it in serial processing and be patient :)
Many thanks for your help!

Hi @erikvansebille, I'm not sure if this error is related with this issue, but I suppose it is because I couldn't find any other similar report on this in repository... When the MPI run finished, I got the following error during pset.export():
/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/numpy/lib/arraysetops.py:270: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.
  ar = np.asanyarray(ar)
Traceback (most recent call last):
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 898, in <module>
  File "/gpfs/work/cardoso/scripts/parcels/TATL3_PARCELS_OMZ_conditional.py", line 716, in execute_daily_run
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/particlefile/particlefilesoa.py", line 137, in export
    data = self.read_from_npy(global_file_list, len(self.time_written), var)
  File "/gpfs/home/cardoso/anaconda3/envs/py3_parcels_mpi/lib/python3.10/site-packages/parcels/particlefile/particlefilesoa.py", line 73, in read_from_npy
    data = np.nan * np.zeros((self.maxid_written+1, time_steps))
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 455. GiB for an array with shape (2790936, 21892) and data type float64
srun: error: n129: task 0: Killed

Since my run has 1825 timesteps  and I ran the sim. with 12 cpus, this may explain the enormous shape of the array being created (21892 / 1825 =~ 12). How can I solve this?

I managed to export the temporary files to a netCDF using the script developed by @JamiePringle and shared in #1091 (many thanks for this!). So, considering that this should be fixed with the output migration of .npy to zarr #1199, will close the issue.


JAMES-3187 Provisionned docker: add a cli helper script

Turns the pain of
docker exec james java -jar /root/james-cli.jar -h <IP_ADDRESS> -p 9999 listUsers

Into:
docker exec james james-cli listUsers

See https://github.com/apache/james-project/pull/191#discussion_r426521321
Question:

Shouldn't we generalize the adoption to all of our docker images ?
Doing so will simplyfy the README by making no difference for CLI invocation between Guice and spring profiles...
Also, packaging this change as part of upcoming 3.5.0 wouldcompose well with the ongoing documentation effort.

Question:
* Shouldn't we generalize the adoption to all of our docker images ?

* Doing so will simplyfy the README by making no difference for CLI invocation between Guice and spring profiles...

* Also, packaging this change as part of upcoming 3.5.0 wouldcompose well with the ongoing documentation effort.

I think we can generalize this adoption yes, I don't see any reason to not to

Fair enough then.
Don't you think the "convenience VS distroless benefits" is not the same for a DEMO image?
Maybe we can have that bash script only in this image foor the sake of easing the tutorials?

Fair enough then.
Don't you think the "convenience VS distroless benefits" is not the same for a DEMO image?
Maybe we can have that bash script only in this image foor the sake of easing the tutorials?

Oh sorry, I checked twice but failed at understanding it's for demo image.
Go ahead and merge it.

Merged

Hi! Has this image been deployed? Is it safe for me to update the docs?

Hi! Has this image been deployed? Is it safe for me to update the docs?

No it will be part of 3.5.0, I will update your documentation once it is available.

Ok, thanks! By the way, was the image name changed? Or should I file an issue for that? Ideally it should be something simple like "james-demo" or "james-demo-server" or something like that.
What do you think?

Never mind: https://github.com/linagora/james-jenkins/pull/190

By the way, was the image name changed?

It is in progress. I will ping you hen done. james-demo is great. See https://github.com/linagora/james-jenkins/pull/190 to change the name the linagora org relies on.

Thank you!!


In VS22 a Project URL is needed

a Project URL and user name and password is needed in VS 2022 settings

@SohilAhmed Thank you for your feedback. You can find the procedure here : https://marketplace.visualstudio.com/items?itemName=Ozytis.ozcodereview
I will update the readme with it.


Updates build files to use a sorted list of sources

Changed templates of build files so that result files are more deterministic.

Thank you for the review and I managed to remove the extra new line and remove existing duplicate files in the list.


suppress errors about multiple sub/superscripts?

Is your feature request related to a problem? Please describe.
Similar question to Is there a way to override LaTeX's errors about double subscripts and superscripts?
When one writes
a^b^c, a_b_c

or
a^b'

MathJax gives an error message complaining about multiple super/subscripts.
Is there a way to override the error and have MathJax output
a^{bc} a_{bc} {a^b}'

Describe the solution you'd like
Is there a way to redefine ^ and _ to append an empty {}? like in LaTeX:
\catcode`\^ = 13 \def^#1{\sp{#1}{}}
\catcode`\_ = 13 \def_#1{\sb{#1}{}}

It can be done using the following configuration:
MathJax = {
  tex: {
    packages: {'[+]': ['my-scripts']}
  },
  startup: {
    ready() {
      const {Configuration} = MathJax._.input.tex.Configuration;
      const {CommandMap, MacroMap} = MathJax._.input.tex.SymbolMap;
      const BaseMethods = MathJax._.input.tex.base.BaseMethods.default;

      new MacroMap('my-script-chars', {
        '^': ['Macro', '\\sp{#1}{}', 1],
        '_': ['Macro', '\\sb{#1}{}', 1],
        '\'': 'Prime',
      }, {
        Macro: BaseMethods.Macro,
        Prime(parser, c) {
          const top = parser.stack.Top()
          const [base, atom] = top?.Peek(2) || [];
          if (base && atom &&
              base.isKind('msubsup') && !base.isKind('msup') && !!base.childNodes[base.sup] &&
              atom.isKind('TeXAtom') && atom.childNodes[0].childNodes.length === 0) {
            top.Pop(); top.Pop();
            const msup = parser.create('node', 'msup', [base.childNodes[0], base.childNodes[base.sup]]);
            parser.stack.Push(msup);
          }
          BaseMethods.Prime(parser, c);
        }
      });

      new CommandMap('my-script-cs', {
        sp: 'Superscript',
        sb: 'Subscript'
      }, BaseMethods);

      Configuration.create('my-scripts', {
        handler: {
          macro: ['my-script-cs'],
          character: ['my-script-chars']
        }
      });
      MathJax.startup.defaultReady();
    }
  }
}

Note, however, that a^b^c doesn't actually give a^{bc} but rather a^{b}{}^{c}{}, which is semantically different, though visually similar, so people with screen readers will get a strange result from this.  Similarly for a_b_c, which gives a_{b}{}_{c}.
In actual TeX, these do not render quite the same:

(note the extra space in the second form).  MathJax v3 gets this wrong and both appear identical, but v4 fixes the error and produces the result shown above.  There is a similar extra space for the subscripts (in LaTeX and v4), and in the result for {a^b}' that is missing in v3.


[Unity Plugin] Unity always crash during baking with RadeonRays-RayTracer

Steamaudio_unity_2.0-beta.16
Steamaudio_radeonrays_2.0-beta.16
I turn off integrated Intel GPU in video-driver by WindowsDeviceManager, because with Intel GPU i have SteamAudio error: https://steamcommunity.com/app/596420/discussions/0/1735468693698975121/
Unity-crash archive, Unity-project: https://www.dropbox.com/s/xy6ckahi8778zny/Unity crash Steam Audio.zip?dl=0

The same happens to me with beta 17, downloaded, not compiled. My graphics card has OpenCL 1.2 (GTX 750Ti) which is listed as the minimum here: https://valvesoftware.github.io/steam-audio/doc/phonon_unity.html#amd-radeon-rays

The latest release, Steam Audio 2.0-beta.18, includes a fix for this bug.
Feel free to try this out, and if the crash persists, reopen this issue.


add a code of conduct

Probably modeled after the carpentries code of conduct, but we'll need to figure out reporting structures before it gets added.
https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html
s/o to @elizabethmcd for bringing this up.

Another carpentries code of conduct to use as inspiration
http://d-rug.github.io/code-of-conduct.html


torch.compile

Looks like we'd need to upgrade to PyTorch 2.0 to use torch.compile:
https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html
https://lightning.ai/blog/training-compiled-pytorch-2.0-with-pytorch-lightning/

Trying to compile the entire Encoder module is causing a lot of graph breaks, particularly in metrics, plotting, and einops. Just compiling encode_batch works better, and seems to have a small (~20%) speedup compared to base.
>>> t0 = timeit.Timer(stmt="model.encode_batch(batch)", globals={"model": model, "batch": batch})
>>> t0.timeit(1000) / 1000
0.06470237739199365
>>> compiled_encode = torch.compile(model.encode_batch)
>>> t1 = timeit.Timer(stmt="fn(batch)", globals={"fn": compiled_encode, "model": model, "batch": batch})
>>> t1.timeit(1000) / 1000
0.053200025219004604

There's still some torch dynamo issues with compiling encode_batch that I want to see if we can fix/bypass before committing this.

@aakashdp6548 Will you open a PR with whatever you have for torch.compile? We can work out the dynamo issues another time. A 20% speedup would be nice to have.

Yeah, once the UM network issues are resolved I'll make a PR.


ROI losing tracking on controllers in >2 camera setups.

I'm having an issue with ROI.  It seems to be losing my controllers extremely often and it's making the tracking of the controllers go all crazy.  At first, I thought it was just cause of my posters on the wall that had very reflective surfaces and acting as an imposter, but after turning them around and ensuring nothing reflective was in the way, I had zero improvement.  Using the exact same configuration but just toggling the Disable_ROI to True clears everything up and it tracks beautifully.  See my video below.  I start with ROI enabled, and show how they jump around, and I also show a few trackers and how the tracking boxes constantly lose the controllers even when they remain in view.  I then disable ROI at the end without changing any other setting and you see it's cleared up right away.
https://www.youtube.com/watch?v=CQEujKGOnZk
Thanks,

The ROI is getting stuck. Then the position estimation gets stuck. Then the position prediction, which is used to draw the next ROI, also gets stuck. We need to get out of this cycle.
When the sensor fusion SRUKF is working perfectly then a lost optical tracker (for a few frames) should be compensated for entirely by the IMU and we should be able to rely on its positional estimate to draw the ROI. However, the sensor fusion is not yet working perfectly. Also, more lost frames means a poorer position estimation, so we need to accommodate this type of error anyway.
The simplest solution is as follows:

Set a flag whenever the optical tracker fails to find its tracked object, or the found object is 'bad' for some reason or another. We have something in place for this with getIsCurrentlyTracking but it is not tracker-specific. We need something similar for each tracker.
If that flag is set, on the next frame expand the ROI. In the future we could double the ROI size for every lost frame, but for now let's just expand the ROI to the entire image whenever tracking is lost.

This should either happen in the arguments to computeTrackerROIForPoseProjection or in the function itself.

How do we know if we fail to find a tracked object or if it is bad?

In computeProjectionForController, we call computeBiggestNContours. This gives us the area of each contour.

A drastic change in blob area could be a sign of 'bad' tracking.
Or a blob area that is a tiny fraction of the ROI area could also be a sign of bad tracking.
Some users have their cameras far away, resulting in tiny blobs, so requiring a minimum blob area is maybe not a good solution.

A very large difference in blob center-of-gravity could indicate bad tracking, but I do not think we should use this as a criterion because then it might be difficult to get a tracker to leave a shiny spec on the wall when the true bulb is picked up far away.
Maybe someday the sensor fusion SRUKF can return some information about the discrepancy between the state space model and the latest tracked position.

@HipsterSloth , where do you think we should store the per-tracker flag of whether or not the last frame gave a good result?

@cboulay Thanks for the analysis. It was because I was previously having problems with the projection of the state's position lagging to far behind the actual projection I tweaked how we computed the ROI in 6.0.6:

If the previous frames projection on a given tracker use the center of that projection for the center of the ROI
Use the bounding box projection of the filter state to compute the size of the ROI box

This modifed approach worked pretty well for me, but it turns out there were a few bugs that I found this evening after repro'ing Chris's results in a 4 camera setup.
You had mentioned checking against a flag whenever the optical tracking code fails to find a tracked object. We actually do have this flag on the ControllerOpticalPoseEstimation. There are are a list of these optical pose estimations on each controller, one per tracker. Unfortunately when computing the ROI I wasn't checking this flag as I should have been but rather asking the controller if it was tracked in general, which is true if ANY tracker can see the controller (not necessarily the one we are computing the ROI for).
I also added a new "min_tracker_projection_area" setting in the tracker manager config (defaults to 16px^2). If we have an ROI region smaller than the full screen and the biggest tracking blob found is smaller than this min size we throw out the result, which will in turn force the ROI full screen next frame.
While implementing the min contour area code I also discovered there was a bug in the projection area calculation for ellipses. Turns out the area was being calculated for the normalized screen space ellipse, which resulted in a super tiny area. This would only really matter for the kalman filter code that uses screen area to decide how much to adjust the trust of the noise measurement.
I like your other ideas about ROI invalidation. Particularly scaling up the ROI region over time when we can't find the blob, rather than just jumping straight to the full video frame. I think once I get the accelerometer issues hammered out of the positional kalman filter I'd like to try out some more sophisticated ROI heuristics. That said, in the mean time the current approach seems to be working ok for me in a 4 camera setup.
I pushed the fixes this evening if you wanted to take a look: https://github.com/cboulay/PSMoveService/commit/2338e86fb0d26f8d4365f0db4cb665e1f9677c35
@POEDaley Would you mind giving this test build a try on your setup to see if it fixes the ROI issues for you? If it looks good I'll make an official build.
PSMoveService-v0.9alpha6_0_7_custom.zip

I'll certainly give this a go after work today.  I'll report back with my findings.
Thanks for the quick turn around on this!

I'm blown away at how well it works now.  This is absolutely spectacular.  My constant 50% CPU load is now running at ~15% when all cameras are tracking, and as expected, it jumps up just a little when the tracker loses the controller blob.  Even looking at it on a per tracker view and watching the new larger squares track, it is so smooth.  In game, same experience.  The fact that there is plenty more CPU headroom as well helps the experience even more.
Very well done!! Thanks :)

Awesome. Glad to hear that's all working for you as well. I'll try to get an official release out with this change this weekend.

Perfect.  At this point, there is very little more I could even ask for out
of this software.  Perhaps the Navi support, but that would just be
something that's "neat".
Thanks again!
On Wed, Dec 28, 2016 at 6:21 PM, Guido Sanchez<EMAIL_ADDRESS>wrote:

Awesome. Glad to hear that's all working for you as well. I'll try to get
an official release out with this change this weekend.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cboulay/PSMoveService/issues/317#issuecomment-269557327,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APG6dWPvyHdf7gYPIY5R3t2rf6AgKzJhks5rMu8IgaJpZM4LWbN1
.

I have a configuration with 4 cameras and I have the same observation. The tracking is much better with the new version of the ROI. Excellent work ! thank you

Forgot to close the issue.

I just want to confirm that this new version work's  much better on my 4 camera setup.
Thanks a lot guys!


Migrate VaultEnvironmentRepository from RestTemplate to Spring Vault.

This PR aims to migrate the Spring Cloud Config Server support for Vault from using a RestTemplate directly to using Spring Vault and VaultTemplate. These changes should provide exactly the same features with backward-compatible properties-based auto-configuration and Java configuration, while allowing for more features in the future via Spring Vault's extensive support for Vault integration.
Fixes https://github.com/spring-cloud/spring-cloud-config/issues/1474

One thing that we probably need to change here: I made the dependency on Spring Vault <optional>true</optional> to match how we handle Spring CredHub and some other libs that users need to manually add to the Config Server app classpath only if they want to use the corresponding EnvironmentRepository. That means user apps that currently use the Vault environment repo will break unless they add the Spring Vault dependency. That's probably not the best thing for backward compatibility, so it's probably better to make the Spring Vault dependency non-optional.

Not sure about making it non-optional. That would mean everyone gets it even if they don't require it. This already has some breaking API changes, so requiring them to add a new dependency doesn't seem that unrealistic.

Sounds good. If you think it's acceptable to include the breaking API change to VaultKvAccessStrategyFactory, what do you think about making it VaultKvAccessStrategy so there is less surface area to the public API in the future?

I'm still debating the breaking API changes actually. I'd like to hear from other team members about that @ryanjbaxter @marcingrzejszczak @OlgaMaciaszek @Haybu @TYsewyn.
Either we allow breaking API changes or we create a whole new package with a new object graph and deprecate the old and activate one or the other based on the presence of spring-vault on the classpath.

or we create a whole new package with a new object graph ... and activate one or the other based on the presence of spring-vault on the classpath.

That probably wouldn't be very hard to do, and would give a path forward for the Vault enhancements that is driving this migration. I can start taking a look at that.

That would alleviate any concerns I have. It should just be a copy of all vault classes to a new package and restore the old ones and add some conditionals in autoconfiguration. Then the old stuff can be removed in ilford. Thanks for taking a look.

I agree with @spencergibb since this would be the most easy and straightforward way to migrate from Hoxton to Ilford.
It would also make our lives easier in terms of support and maintenance since fixes in Ilford can easily be backported to Hoxton.

@spencergibb I re-worked this to make a SpringVaultEnvironmentRepository completely separate from the existing VaultEnvironmentRepository. It's actually cleaner this way, without imposing backward-compatibility restrictions on the Spring Vault setup code. The changes now are purely additive except for the conditional auto-config in EnvironmentRepositoryConfiguration and extracting much of VaultEnvironmentRepository to a base class to eliminate duplication with the new implementation.
SpringVaultEnvironmentRepository will not support skipSslValidation with this separation. When we add support for the additional Spring Vault authentication options we can add SSL configuration also.

This pr seems to have removed the token check mentioned here for clients. All api requests to config server return vault secrets in the open now, without passing a token. How can we get the old functionality back?


Add TMTpro Options for PeptideShaker Tools

These options are already available in the SearchGUI dependency.

I'll work on these unrelated linting errors for this pull request as well!

I'll work on these unrelated linting errors for this pull request as well!

Thanks!


DLA-Future Fortran Interface

Fortran interface for DLA-Future.
The implementation is based on our integration in CP2K (https://github.com/cp2k/cp2k/pull/3143), but it is expanded to complex types and the generalised eigensolver.
The interface is written manually in a single Fortran module. The tests are partially generated using fypp.
CI is heavily based on the DLA-Future CI and currently provides CPU tests using either MKL and OpenBLAS/netlib-ScaLAPACK.
This new interface has already been tested with CP2K (see the RMeli/CP2K/dla-future-fortran branch) and will be contributed there once v0.1.0 is officially released and available in Spack.

cscs-ci run

cscs-ci run

cscs-ci run

cscs-ci run

cscs-ci run

cscs-ci run

Bumping the Spack version for the patched intel-oneapi-mkl results in CI failures because of https://github.com/spack/spack/pull/41373.


Fixed navigation schemes Modo/Maya when used with grid map tile place…

Completely fixes #17906
When using grid maps, tile placement and Maya/Modo navigation schemes were previously incompatible.

Could you squash commits together? See PR workflow.

Squashed it myself, can be merged.

Thanks!

Sorry! I Didn't see that this PR was looked at again since I cleaned up the code. Would have squashed it myself otherwise.

Sorry!! I didn't realize this PR was looked at since I cleaned up the prior issues. I should have squashed it myself -- sorry.  Glad I could help regardless!

No worry :)


chore: Upgrade small dep breakages

Things left out

semver is coupled to cargo-metadata which is coupled which is cupled
to clap-cargo
semver-parser completely changed its API, being higher level than
before which makes our job harder to make tweaks to existing version
ranges.

We can stick with current version of semver-parser.
By the way, judging from your line widths, are you using any tool to create this PR?

By the way, judging from your line widths, are you using any tool to create this PR?

No, I was doing it by hand.  I would recommend adopting Dependabot though.  I have it on all of my projects.  I have it set to update dependencies once a month.  It creates a PR per top-level dependency for updating either Cargo.lock or that and Cargo.toml.  For changes that don't break us, it makes it convenient to keep up to date.  When a dependency does break us, it at least raises awareness.


Forum not working / Quantic music

I wanted to post something on the forum around mido but the link does not work for me https://groups.google.com/forum/#!forum/mido-community (it says this group does not exist .or ..)

I just ran into this problem after closing an issue here. Has the Google Group been deactivated?

Thanks for letting us know about this.
It looks like a lot of people have problems accessing the Google group. For this and other reasons we've decided to close it down. (There have only been a few posts so far.)
I set up discussion page here on GitHub. Hopefully this will work better. Feel free to post there.
Here's my welcome message that I posted today: #257


TopNavBarComponent styles

I would like to request a feature for the ability to customize the style of the top nav bar. Currently, I am unable to use black as a background color and would appreciate the option to pass my own styles that override default styles.
I would like to change background color, elevation, paddingTop.
Thank you.

Hi @shukerullah TopNavBarComponent is required and fully customizable.
There is no option for a default topNavBarComponent that's why there is no option for customizing the style of the top nav bar.
You should provide your own component


Update the NIRDA and VDA ROI location in the readout schemes

The NIRDA ROI will be right hand side of the sensor, rather than the left. So column number should start at 2048-X rather than X. Which in this case is X=80
Also, we now explicitly include the camera ROIs for the VDA.

@christinahedges and @benhord can you review and approve following meeting with Lance today.

I want to make sure that @vbkostov knows we are changing the versioning numbering,  we are switching to Major.Minor.Patch numbering where:

Major = refactor
Minor = adding new readout schemes
Patch = changing small number of parameters.


General questions about the command line tool (and the API design)

Feedback at this moment:
it might be useful if we can discuss the requirements towards users, or say, different kinds of possibilities that might happen.
Is it a good strategy to doubt every cell could be a typo? This will require a lot of all kind checking and the tool needs a priority system. What if the user made mistakes with person_id, family_name, and wikidata_id? As a human we know the chance is rare, but to think in computing way, the logic requires taking care of all possible conditions.
To avoid the possibility of major rewrites, a discussion about this will be helpful. @duncdrum
For example, if the input person_id exists in ReadAct, can the tool overwrite the whole line with the information from ReadAct? Or the tool must compare the rest column values with the ReadAct ones, and use a weighting system again, to decide, among person name, wikipedia link, wikidata id, which one is the source of the authenticity verification that we with use to compare with the whole row? Since the tool is required to check if the row must be changed or not and to mark in the last_modified and last_modified_by fields.
And how to deal with the two new columns wikipedia_link and wikidata_id with the Person.csv in ReadAct?

IDs (primary keys) are special, we should start from the assumption that these are correct. If a new table should reassign a person_id that is already used by Readact there should be a warning in the Person.note cell.
Practically speaking the tool needs to check if the pair of person_id and  wikidata_id differ between a user's file and that  of ReadAct. So if either ID is already present in ReadAct but not as part of the same pair, then there is a data error. The Tool should inform the user by appending the note field (and print a meaningful message to the CLI).
As a rule of thumb the tool should never rewrite person_ids, our validation tool already makes sure that these are unique. Changing the IDs of primary entities usually also requires updating foreign keys in a number of other tables, which is then a task required of the user.
Once we have the Wikidata_id added to the table schema, these will have to be validated as unique as well.
If person_id and wikidata_id are both matching a single row in ReadAct all remaining entries are open to be overwritten, and we assume human error as the most likely source of conflicts.

IDs (primary keys) are special, we should start from the assumption that these are correct. If a new table should reassign a person_id that is already used by Readact there should be a warning in the Person.note cell.
Practically speaking the tool needs to check if the pair of person_id and wikidata_id differ between a user's file and that of ReadAct. So if either ID is already present in ReadAct but not as part of the same pair, then there is a data error. The Tool should inform the user by appending the note field (and print a meaningful message to the CLI).
As a rule of thumb the tool should never rewrite person_ids, our validation tool already makes sure that these are unique. Changing the IDs of primary entities usually also requires updating foreign keys in a number of other tables, which is then a task required of the user.
Once we have the Wikidata_id added to the table schema, these will have to be validated as unique as well. If person_id and wikidata_id are both matching a single row in ReadAct all remaining entries are open to be overwritten, and we assume human error as the most likely source of conflicts.

It is implemented in a way that person_id and wikidata_id(if there's one) are the key for comparing with the database on GitHub. If any match, the different part will be overwritten. If there's no match, then family_name, first_name and name_lang will be used to query if there is such a person entity, if yes, fill the table with a new person_id, if no, a warning message will be added into note.
Questions:

How about wikipedia_lin field?
It seems that we should update the Person.csv in ReadAct to include column wikidata_id and wikipedia_link(instead of source_1) if we want to use wikidata_id.


[feature] change screen resolution like Chrome OS

ChromeOS has following feature https://support.google.com/chromebook/answer/183101?hl=en

Action
Hot key

Change screen resolution
Shift + Ctrl and + or - (minus)

Reset screen resolution to default
Shift + Ctrl + 0

Rotate screen 90 degrees
Shift + Ctrl + Rotate

Actually, it change SCALE (not resolution)
Can we add command like below to set it dynamic by bind hotkeys? It will be awesome
nwg-displays set-scale +0.2
nwg-displays set-scale 1
nwg-displays transform ...

The command only effect to focused display

LOL, can't confirm, as my Chromebook has been running Debian for over a year. :rofl:
I'm not sure if one needs nwg-displays to achieve this. Maybe just a script would be enough?

LOL, can't confirm, as my Chromebook has been running Debian for over a year. rofl

I have a pixel book. I don't know what other user do, but I use that key very much
I'm not sure if one needs nwg-displays to achieve this. Maybe just a script would be enough?

sure, I can do it. It only my opinion
But I can also write a script to config display (actually I used this script about three years)

Maybe, due to the ~/.config/sway/outputs file, it should be done here anyway. Let me get back to it a few days, when my current work is finished.

Take a look when you have time :)
Sure, if I use nwg-displays, my script must edit outputs file for persistent
One more thing, in chromeos when I up/down resolution, (I think) it scale to supported resolution by display (without flickering), not by a float number

I use 3 full HD displays, so have no experience with scaling. Tried fractional scaling, just out of curiosity, but it didn't look well.

Sure, scale not always have good result
Usually, I must revert calc, like 2560x1440 to 1600x? --> good scale = 1.25
2560 to 1920 --> good scale = 1.33333
In nwg-displays, I see it only use linear scale
I think it should provide a list of recommend like

1.2 (look like 1600x900)
1.5 - look like WxH
This list will be calc for each display

In nwg-displays, I see it only use linear scale

You may choose from linear, nearest and smart.


Docker plus Drupal VM context use

Issue Type

Documentation Report

Your Environment

Vagrant 2.0.1
VirtualBox 5.2.0r118431
No Ansible
Docker Toolbox
Docker version 17.10.0-ce, build f4ffd25
docker-machine.exe version 0.13.0, build 9ba6da9

Your OS

Windows (7 SP1 with WMF 5.1)

Full console output
$ docker-machine create --driver virtualbox drupalvm
$ docker-machine env drupalvm
$ eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env drupalvm)
$ docker run -d -p 80:80 -p 443:443 --name=drupalvm --privileged -it geerlingguy/drupal-vm
$ docker exec drupalvm install-drupal 7.56
$ docker exec -it drupalvm sh

Summary
As pasted above, I could create a machine and run  geerlingguy/drupal-vm as container, then install successfully a drupal site, ssh into the container...
This is a simple question for Docker newbie, trying that alternative. In which development context this should better be (or not) used ?
What I see is at the moment :

Deploying is blazingly fast
I couldn't visit the website on the default IP or hostname (<IP_ADDRESS>  drupalvm.test) (I did edited my hosts file)
when I ssh into the container I see that this seems to be a very lightweight distro, for instance vim nor nano installed. Also typing anything but characters return unexpected chars, I'd have to fix them one by one with stty erase
This workflow didn't download the box to an editable place, or I could't find it. Then no customization. I suppose I'd had to use pull method instead

Is there an approach who'd make use of docker + DrupalVM somehow similar to Vagrant method (customize your guest i.e with Varnish, Nginx..., define your shared directories )?
Thank you for your patience and amazing boxes.

Haven't had time to fully digest this issue request, but one quick note—I don't like (and won't offer much support for) Docker Machine—it causes a lot of weird and annoying problems in real world use, and I avoided using Docker locally at all until Docker for Mac and Docker for Windows was introduced.
I'd heavily recommend using the official client if at all possible (though I'm not sure if it's even available for Windows 7...?), because a lot of issues go away when doing that—plus I've actually tested under Docker for Windows. Running Docker inside VirtualBox makes networking, shared filesystems, and other things break in ways that I'm not sure are easily fixable for a machine as complex as Drupal VM...

Thanks a lot for your answer and these tips. Indeed there's a bunch of .exe utilities to install an run Docker in Win 7, shipped with Docker Toolbox ... but as always in Windows, nothing is straight...
I'll leave that for the moment and stick on Vagrant VM dev machines ;)
Greetings  and lots of good things for next year !


Please merge this changes

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[x] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

Please merge this changes.
Some of the actions are deprecated, that is why they are defined as internal (hidden).

we have now set some actions to deprecated. all other points are no problem from our point of view and should continue to work with our service.

we have now set some actions to deprecated. all other points are no problem from our point of view and should continue to work with our service.

@stsiek you are not seeing issues because you are an internal user for your connector, so changing the action from important to Internal will not affect your flows or apps but it will break all external users flows and apps :-).

all right, thanks for the explanation. we have now set all of them from "internal" to "important", except for the ones that should remain "internal". are there any points still open at the moment or can it already be merged?

Are there any points still open at the moment or can it already be merged? We would like to submit the changes promptly because we need them promptly. Thank you for checking


Simplify the creation of paints

Paints do not need nanovg context passed to them because underlying nanovg library does not use it. I believe this was done in c api of nanovg to be consistent throughout the library, we do not need to do that, because we have special constructors for paints.
You can see the NVG_NOTUSED starting in paint functions here.

I don't think that's a good idea: it is specified nowhere in the documentation of nanovg that the context is not used. It looks like an implementation detail and is probably susceptible to change, breaking nanovg-rs in the process. A better option would be to submit a pull request to nanovg to either change the signature of the paint functions (unlikely to happen since it breaks the API), or to change their specification (i.e. add a line in the documentation) to state that the context parameter is unused.

@ennis has a good point, it indeed is an implmentation detail. If we want to avoid having to release a new major version of this crate when NanoVG changes (and breaks) this, we should roll back, adding the context parameter again. However, for practicability I wouldn't mind leaving this in, because I don't think the NanoVG devs are going to use the context parameter any time soon.

I agree with you both... prefer to avoid breaking changes; prefer a clean API.  Those two ideals conflict here, but I accepted the pull, with the thought "it's just paint", analogous to Color, probably better to have the simpler api.  So...

If someday, the context parameter is used, we can just lazily initialize the paints with correct context in stroke and fill functions, meaning Paint struct would only store the parameters needed to call nvg functions. This way, if wanted, we would not break our api when c-nanovg breaks api / uses context parameter.


Replace JSON.parse(fs.readFileSync()) with require()

Critically, require() will cache results, so this is a perf win for the test suite!

Whoops. Fixed in 660cacbb3b031f2d9322c530e12a0f3761d60f01.


Add translatable fields for fence_type

OSM Tag(s)
fence_type=*
How would you like this tag to see supported?
As an Option of a Field
Label
Kind of fence
Aliases
No response
Terms
No response
Link to OSM Wiki page
https://wiki.openstreetmap.org/wiki/DE:Key:fence_type
Status of the Tag
In Use
Usage of the tag
500k+
Replaces other Tag?
No response
Regional Tag?
No response
Further Information
I am having a hard time remebering that "wire" is the proper value for this kind of fence:
It is top 5 in the taginfo list.
I would love for this to have a translation for the most common values.

fence_type.json
Taginfo for fence_type https://taginfo.openstreetmap.org/keys/fence_type
Docs about how the options work: https://github.com/ideditor/schema-builder#options
Wiki page: https://wiki.openstreetmap.org/wiki/Key:fence_type

FirstGoodIssue

Should the list of options also include commonly used values that should/could be better expressed through material=* like wood, metal, glass etc.?

The top list of defined values from the wiki (while checking for high usage count) should be a good start. In combination with tagging non-translated keys in iD it will help a lot to be both, more clear but not too restrictive.
The overlap of type and material is something that is special for this key IMO. I find the definitions on both wiki pages clear.


How to set addSnapshotListener and remove in populateViewHolder in RecyclerView Item.

I have implement RecyclerView with FirebaseUI-Android library.
*My RecyclerView realtime data change well once i use that FirebaseRecyclerAdapter .
*In Collection that data document have field type as Boolean , Integer, Reference.
*I want use that Reference to get data in populateViewHolder with addSnapshotListener.
Help me!

@PankajSavaliyaGit this doesn't sound like an issue with FirebaseUI, it sounds like a general question about how to program your application.  Please ask it on StackOverflow, I'd suggest also adding code snippets to your question  to make it easier to answer.


create npm build script

resolves issue #31

Can one of the admins verify this patch?

ok to test

ok to test


Prevent infinite loading in validateBankAccount

cc @chiragsalian
Details
Removes return statement that kept API calls in an infinite loading state.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/171371
Tests

Create a new Workspace
Follow these steps to add a PENDING account.
When prompted for the 3 codes, follow these steps.
Verify that the button text reappears.

QA Steps
Internal QA.
Tested On

[X] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web
https://user-images.githubusercontent.com/22219519/126534777-41718933-61e7-4faa-9053-6896b1ea6cc5.mov
Mobile Web

Desktop

iOS

Android

Updated!

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

🚀 Deployed to staging         in version: 1.0.79-5🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

https://user-images.githubusercontent.com/36425901/127045839-9c533e0b-dcbf-45bc-84ea-0a63a35b1e79.mov
It was weird to see "Get Started" as the button in Expensify Card when it should read "Finish Setup". That screen did not auto update after entering the validation amounts. I would have expected to see "Manage Cards" at that point

Thanks for the input @mitch! I put up this PR to update the button text.

@luacmartins @MitchExpensify Should this issue https://github.com/Expensify/App/pull/4165#issuecomment-886961530 be treated as a deploy blocker or can we check off this PR from the list?

I think it's fine to check it off the list since it solves the issue at hand and the remaining steps are only copy that needs to be updated. I put up another PR to update the button text.

🚀 Deployed to production         in version: 1.0.80-2🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@luacmartins I ran into the same experience after the Company Information step, where now I am stuck on a loading spinner.

So I haven't been able to get to the ValidateBankAccount step, but it looks like we may have similar problems at each step of the process... Should I open a separate GH? And would you want to pick it up since you just knocked this one out?

Is there a reason this didn't closed if the PR is deployed to production?

Not sure, for some reason I can't manually close it either...

Weird, neither can I.


Removes non-Ruby files from include_path before passing to rubocop.

cc @codeclimate/review

Bunch of style stuff and a big (but non-blocking) question. LGTM besides.


Callback definition

Challenge Iterate over Arrays with map has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
var oldArray = [1,2,3,4,5];

// Only change code below this line.

var newArray = oldArray;

In this example is starts referring to callbacks when there hasn't been any explanation of what they are. Maybe the file before this should have something explaining what a callback is and some simple examples of them.

Hello,
The example code in the description shows a callback function:
var timesFour = oldArray.map(function(val){   return val * 4; });
The '(function(val)' part is the callback function. Here's an article I found where you can learn more: [(http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/)]
I think the keyword to remember with this problem is 'function' and once you focus on that then the instructions make a whole lot more sense. Hope this helps!

I think @jklinck’s issue stands—the subject of this exercise is introducing the map() method.
The simultaneous introduction of callbacks, particularly without any further explanation, seems pedagogically off-point. ;)

Agree with @jklinck and @antlersanchors. callback comes out of the blue, and there's no way for an unexperienced user to identify it directly from the code. Furthermore, along with callbacks, optional parameters are mentioned, which adds more complexity and unexplained concepts to the challenge.

You guys are right. I tried searching for callback in the map and found nothing and if there's a whole page talking about callbacks (the link I posted) then FCC should definitely include it in their curriculum. Great catch, @jklinck

That leaves the question of coming up with a challenge to introduce callbacks.
In Eloquent JavaScript, they are introduced by building a custom forEach() function to iterate over arrays. This would segue well into using .map().

I really like @PandaWhisperer's idea of using Array.forEach() to teach callbacks. I am not sure how to make a challenge, but I would definitely be interested in helping. I can start on the challenge explanation. I'll just need some direction on the rest.

Thanks for pointing these things out. We are covering these concepts much better in our expanded curriculum, which we will release soon.


Add CLI for easy use

Summary
Add a CLI for easy use without the need of a custom script.
This is useful for basic use-cases, like deploying an index generated by a static site generator.
Description
It would be useful to have the same footprint as atomic-algolia so that existing users could easily migrate once the livediff functionality is available.
The footprint:
atomic-algolia, or ALGOLIA_APP_ID={{ YOUR_APP_ID }} ALGOLIA_ADMIN_KEY={{ YOUR_ADMIN_KEY }} ALGOLIA_INDEX_NAME={{ YOUR_INDEX_NAME }} ALGOLIA_INDEX_FILE={{ YOUR_INDEX_FILE }} atomic-algolia

No subcommands or options
Takes env vars for configuration (see below)
Takes either the path to an index file (via env vars) or an array of objects (programatically).

.env
ALGOLIA_APP_ID={{ YOUR_APP_ID }}
ALGOLIA_ADMIN_KEY={{ YOUR_ADMIN_KEY }}
ALGOLIA_INDEX_NAME={{ YOUR_INDEX_NAME }}
ALGOLIA_INDEX_FILE={{ YOUR_INDEX_FILE }}

Recommendations
Make the atomic-algolia env interoperability silent/hidden, and also add CLI options to the command to configure the options on top of environment variables. That's a better API.
Also, allow the index path provided to be:

JSON
Javascript

If exports fxn, execute and evaluate if return is an array of objects
Otherwise ensure it exports an array of objects

So basically, all settings would be set through ENV variables or CLI arguments (arguments having precedence over ENV variables)?
fullAtomic also allow passing a settings object, so we might want to have an optional ALGOLIA_SETTINGS_FILE in there as well.
Ideally this should allow both an fullAtomic or a liveDiff. I would suggest creating an algolia-indexing CLI command, that would default to fullAtomic mode (but that could be overwritten with --mode liveDiff for example, and/or an ENV variable).


fix: update sha1 to sha256 and other chores

Fixes: https://github.com/notaryproject/notation/issues/611 and https://github.com/notaryproject/notation/issues/635

Codecov Report

Merging #665 (691ab8a) into main (5516199) will decrease coverage by 0.04%.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #665      +/-   ##
==========================================
- Coverage   33.33%   33.30%   -0.04%
==========================================
  Files          32       32
  Lines        2019     2021       +2
==========================================
  Hits          673      673
- Misses       1324     1326       +2
  Partials       22       22

Impacted Files
Coverage Δ

cmd/notation/inspect.go
14.21% <0.00%> (-0.15%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

By searching Sha1 in Notation CLI, I found we are also showing Sha1 in the notation cert show command: https://github.com/notaryproject/notation/blob/5516199cd2d83349468682379c1e1f4ccd24414a/cmd/notation/internal/truststore/truststore.go#L124
Should we also change it to Sha2 in this PR?

LGTM


Cache invalidation with @module-federation/enhanced

Describe the bug
Hi team,
I'm encountering an issue with remote entries consistently being the same every time I try to consume them using the following setup:
new ModuleFederationPlugin({
  name: "test",
  filename: "remoteEntry.js",
  remotes: {
    testEditor: "testMF@/ui/remoteEntry.js?v=[Date.now()]"
  },
  new ExternalTemplateRemotesPlugin()
}),

Previously, we relied on the ExternalTemplateRemotesPlugin package before transitioning to @module-federation/enhanced, and it effectively generated date timestamps, ensuring the creation of new remote entries each time. Is there a similar approach available in the new enhanced package? I noticed some changes in the nextjsmf package here, but I'm uncertain if there's a direct equivalent in the enhanced package.
Reproduction
NA
Used Package Manager
npm
System Info
NA

Validations

[X] Read the docs.
[X] Read the common issues list.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Module federation issue and not a framework-specific issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

You would use a runtimePlugin https://module-federation.io/plugin/dev/index.html
in the init() hook.
args.options.remotes. = args.options.remotes.map((remote)=>{
  remote.entry = remote.entry + '?' + Date.now()
})

Great, thanks
I ended up creating a separate file for it:
const CacheBustPlugin = () => {
  return {
    name: "cache-bust-plugin",
    beforeRequest: (args) => {
      const { options, id } = args;
      const remoteName = id.split("/").shift();
      const remote = options.remotes.find((remote) => remote.name === remoteName);
      remote.entry = `${remote.entry}?v=${Date.now()}`;
      return args;
    },
  };
};

module.exports = CacheBustPlugin;

and then used it in runtimePlugins option:
new ModuleFederationPlugin({
      name: "test",
      filename: "remoteEntry.js",
      remotes: {
        testWeb<EMAIL_ADDRESS>      },
      runtimePlugins: [CacheBustPlugin.name],
 }),

I'm using beforeRequest as it's serving the same purpose, do you feel init is a better method to do such things or beforeRequest would also be fine in this case?

You can also register a global plugin if you want this to apply to the entire system. I can show you sample of global plugin but use them wisely if you do as they will impact everyone with no option to opt out

You can also register a global plugin if you want this to apply to the entire system. I can show you sample of global plugin but use them wisely if you do as they will impact everyone with no option to opt out

That will be interesting to see, could you please share it here

https://github.com/module-federation/core/blob/b3530d78f0a4c499a99f138e863c669b07515336/packages/runtime/src/global.ts#L289
import {registerGlobalPlugin} from mfruntime


Speed Gauge upon recreate

i know that the redraw event wont work , so i just recreate the chart when i need display new data, since it wont effect anything .
i call this method to create a new chart, passing in new value for the speed gauge this.setUpSpeedGauge(index)
after changing the index values, triggerd by a next button , the plotBands disappear

setUpSpeedGauge(index)
	{
		this.speedGauge =
		{
					chart: {
						renderTo: 'SpeedGaugeCon',
						type: 'gauge',
						plotBackgroundColor: null,
						plotBackgroundImage: null,
						plotBorderWidth: 0,
						plotShadow: false,
						marginTop: 0,
						 events: {
							redraw: function(event) {

								console.log("redrawn called");
							}
						}

					},
					title:{
						text:''
					},

					pane: {
						startAngle: -90,
						endAngle: 90,
					    center: ['50%', '50%'],
						background: {
							backgroundColor: '#EEE',
							innerRadius: '100%',
							outerRadius: '100%',
							shape: 'arc'
						}
					},
					credits: {
						enabled: false
					},

					// the value axis
					yAxis: {
						min: 0,
						max: 20,

						minorTickInterval: 'null',
						minorTickWidth: 0,
						minorTickLength: 0,

						tickPixelInterval: 0,
						tickWidth: 0,

						tickLength: 30,
						tickColor: '#666',
						labels: {
							step: 5,
							rotation: 'auto'
						},
						plotBands: [{
							from: 0,
							to: 7.7,
							color: '#DDDF0D' // green
						}, {
							from: 7.8,
							to: 12.8,
							color: '#55BF3B' // yellow
						}, {
							from: 12.9,
							to: 20,
							color: '#DDDF0D' // red
						}]
					},

					series: [{

					data: [this.healthScores[index].fds]

					}]

		}

	}

@gevgeny  any idea why?


[gatsby-theme-cara] change svg for background

Hello,
I use gatsby-theme-cara and I have a question with the tag.
Is it possible to change default SVGs (triangle, X , etc) to my custom svg?
Thanks for your help. ! :)

Found this component in<EMAIL_ADDRESS>hence close the issue
Thank you


Internal Error 500, recurrent crash since patch 1.5.2

Hi, first of all i want to thank you for that awesome soft. I just created an account on github to submit this but report. As i dont have a single qualification in programming, i hope that will help you to fix it. Thank you!
●      PATHFINDER console.js:156
● Release: v1.5.2 console.js:186
● Client syncStatus: webSocket. initMapWorker() resolved by command: ws:open! console.js:156
La mémoire consommée par will-change est trop importante. La limite du budget correspond à la surface multipliée par 3 (1332480 px). Les occurrences de will-change dépassant le budget seront ignorées. NDI0NjU=
↪ https://www.pathfinder-w.space/api/map/updateUserData Error response:
(1) […]

0: Object { type: "error", code: 500, status: "SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'A 2232243 ) and ( target = 2232243 ) ) or ( ( source B 2232243 ) and ( `targ' at line 1 [/var/www/pathfinder-w.space/public_html/app/lib/db/sql.php:226]", … }

length: 1

: Array []
console.js:180
TypeError: e is null
system_signature.js:2446
TypeError: this.eq(...).data(...) is undefined
bootstrap-editable.min.js:5
editable bootstrap-editable.min.js:5
getSystemInfo map.js:2829
g util.js:382
getDataByConnections util.js:402
s system_route.js:616
_ system_route.js:815
d system_route.js:119
h system_route.js:196
jQuery 4
l
fireWith
T
n

Seems to be caused by a missing operator on the two first getFilter in https://github.com/exodus4d/pathfinder/blob/develop/app/main/model/pathfinder/mapmodel.php#L1313 and the following line

It seems to work since DT, but now, for each system i travel trough, it shows (1) pilot inside, even after i leave them.

@Vex035 Thanks for your report.
My bad, this should be fixed now.
@tralafiti sry, I havn´t seen your PR. This Issue is fixed by https://github.com/exodus4d/pathfinder/commit/c96291432ed0974ad88c56b15c82a2886bb68f14

No problem :-)


Breaks .twig templates

Reproduce: open .twig template > ctrl+alt+b:

Drupal is pretty huge and popular CMS and Drupal 8 comes with .twig templating.

I need you to please create the debug.md file.  https://github.com/Glavin001/atom-beautify/blob/master/docs/troubleshooting.md
Please reopen this issue once a gist containing the debug.md is created.

https://gist.github.com/rhazor/52f73e691d8cbd1c1c0e44d3367af540

Thank you.  This clearly appears to be a Pretty Diff defect related to version 1.16.37, which is the version in Atom Beautify.  Whatever the defect is it seems I have resolved the defect and it is no longer present in the current version of Pretty Diff.
Pretty Diff is horribly out of date in Atom Beautify and I am entirely to blame.  I am working on a resolution.  Resolution is https://github.com/prettydiff/prettydiff/issues/409 but I am knocking out unrelated issue https://github.com/prettydiff/prettydiff/issues/268 first.  I am making good progress on 268, but its a challenging one.

An updated version of Pretty Diff is now in Atom Beautify.


[stable/minecraft-server] adds server backup instructions

What this PR does / why we need it:
This adds backup instructions to the readme for minecraft-server.  This is needed because stateful services such as this one should not be deployed without some kind of backup strategy in mind up front.
Which issue this PR fixes
The PR was automatically closed for this issue by the bot.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @itzg

Thanks @TheNotary . I'll see if the helm tests pass as-is, but suspect it'll want the chart version to be bumped here:
https://github.com/helm/charts/blob/8660595c0837320bc7e9bb057bfab6feb977da8d/stable/minecraft/Chart.yaml#L3
Stay tuned...

/ok-to-test

...sorry, yes, the lint test was already failing with:
Linting chart 'minecraft => (version: "1.1.0", path: "stable/minecraft")'
Checking chart 'minecraft => (version: "1.1.0", path: "stable/minecraft")' for a version bump...
Old chart version: 1.1.0
New chart version: 1.1.0
Error linting charts: Error processing charts
------------------------------------------------------------------------------------------------------------------------
 ✖ minecraft => (version: "1.1.0", path: "stable/minecraft") > Chart version not ok. Needs a version bump!
------------------------------------------------------------------------------------------------------------------------

at https://circleci.com/gh/helm/charts/91918?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

/retest

/approve

Sorry @TheNotary I'm new to the helm chart PR process. It looks like you'll need to force push a new commit with the Signed-off-by as described in
https://github.com/helm/charts/blob/master/CONTRIBUTING.md#sign-your-work

Thank you for taking the time to work with me towards contributing to this repository.  There are technical blockers preventing me from contributing --as that these are documentation changes and not code changes, the VCS web UI is being used to contribute the content and as of now, it seems that force pushes are not implemented in GitHub.  I also wish not to be pressured into adopting the Linux Foundation;s views of how contributions may be conducted on the Internet, and it was a mistake on my part not to look more closely at the contribution policy, so I apologize for that.
Would you consider grabbing these commits from the fork created via GH's UI and adhering to the contribution standards of this repo? I ordinarily don't like authorship being stripped from contributions, but I believe in this case it would be done with honest and agreeable intentions.
(e.g.)
git remote add thenotary https://github.com/TheNotary/charts
git fetch thenotary
git checkout thenotary/patch-1
git reset HEAD^^^
git checkout -b updates-docs-minecraft
git commit -m "updates documentation for minecraft-server Signed-off-by: Geoff Bourne" -s
etc.

I totally understand @TheNotary. Admittedly I'll have to figure out the PR/contribution process myself, but at that point I'd be glad to make the change for you.
@gtaylor or @billimek , you're welcome to beat me to this :)

@TheNotary can you double check this comparison? Since I'm not a fan of force pushing to PRs, it looks like I'll need to create a new PR with the same title+description as this one.
https://github.com/helm/charts/compare/master...itzg:minecraft-server/add-backup-instructions?expand=1

That looks good to me.

Oops, I forgot to follow up on this

Opened https://github.com/helm/charts/pull/17340 as the squashed replacement for this one.

/hold


Automated Package Upgrade

:tada: This PR is included in version 6.0.109 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[BUG] Sanitizer failed in arm64 test

Describe the bug
This is a ticket to track the status for now. I have not done multiple tests due to lack of time.
This could be an intermittent one, but we currently disabled sanitizer in https://github.com/NVIDIA/spark-rapids-jni/pull/1385.
In test build, the testing module failed init the cudf JNI test w/ sanitizer wrapper,
01:19:41  [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.0:test (default-test) on project spark-rapids-jni: There are test failures.
01:19:41  [ERROR]
01:19:41  [ERROR] Please refer to /home/jenkins/agent/workspace/peixinl-spark-rapids-jni/target/surefire-reports for the individual test results.
01:19:41  [ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
01:19:41  [ERROR] Error occurred in starting fork, check output in log
01:19:41  [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: Error occurred in starting fork, check output in log
01:19:41  [ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:624)
01:19:41  [ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:533)
01:19:41  [ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:278)
01:19:41  [ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:244)
01:19:41  [ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1194)
01:19:41  [ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1022)
01:19:41  [ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:868)
01:19:41  [ERROR] 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
01:19:41  [ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
01:19:41  [ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
01:19:41  [ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
01:19:41  [ERROR] 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
01:19:41  [ERROR] 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
01:19:41  [ERROR] 	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
01:19:41  [ERROR] 	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
01:19:41  [ERROR] 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
01:19:41  [ERROR] 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
01:19:41  [ERROR] 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
01:19:41  [ERROR] 	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:954)
01:19:41  [ERROR] 	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
01:19:41  [ERROR] 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
01:19:41  [ERROR] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
01:19:41  [ERROR] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
01:19:41  [ERROR] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
01:19:41  [ERROR] 	at java.lang.reflect.Method.invoke(Method.java:498)
01:19:41  [ERROR] 	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
01:19:41  [ERROR] 	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
01:19:41  [ERROR] 	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
01:19:41  [ERROR] 	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
01:19:41  [ERROR] -> [Help 1]
01:19:41  [ERROR]
01:19:41  [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
01:19:41  [ERROR] Re-run Maven using the -X switch to enable full debug logging.

Steps/Code to reproduce bug
Please provide a list of steps or a code sample to reproduce the issue.
Avoid posting private or sensitive data.
Expected behavior
A clear and concise description of what you expected to happen.
Environment details (please complete the following information)

Environment location: [Standalone, YARN, Kubernetes, Cloud(specify cloud provider)]
Spark configuration settings related to the issue

Additional context
Add any other context about the problem here.

Need a concise repro for the issue.

this is arm support, not an urgent one

Where can I check the full log ?

It's not reproduced in the latest test. Just filed above PR to enable sanitizer in Arm64 test.


Rename the close method to quit

Codecov Report

Merging #4 (57887b7) into master (af78df6) will decrease coverage by 1.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master       #4      +/-   ##
==========================================
- Coverage   92.42%   91.42%   -1.01%
==========================================
  Files           4        4
  Lines         317      315       -2
==========================================
- Hits          293      288       -5
- Misses         24       27       +3

Flag
Coverage Δ

unittests
91.42% <100.00%> (-1.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

lib/client.lua
91.51% <100.00%> (-0.61%)
:arrow_down:

lib/encode.lua
83.33% <0.00%> (-2.72%)
:arrow_down:

lib/subscriber.lua
94.36% <0.00%> (-1.47%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Client send timeout happens on one broker

2018.11.25 11:00:00 Restart bookie node in the cluster. some topic's producer send message timeout. After restart all brokers, most problem topic get right, but 3 topic still with problem. Then found problem topics owner broker is the same, so we restart the broker again.  Then All topics get right.
before this, tried restart client, but not work-able.

2018.11.26 18:48:30 Two topic can't write again with error send message timeout, after check topic's owner broker, still the same broker, after restart the broker, problem topics get right. Before restart broker, try to restart client application to resolve the problem, but not be resolved.

Some logs at that time:
17:08:31.717 [pulsar-io-21-95] INFO  org.apache.pulsar.broker.service.ServerCnx - [/<IP_ADDRESS>:44388] Subscribing on topic persistent://platform/passport/user.login-partition-0 / b.userbehavior.user.login
17:08:31.717 [pulsar-io-21-95] INFO  org.apache.pulsar.broker.service.persistent.PersistentTopic - [persistent://platform/passport/user.login-partition-0][b.userbehavior.user.login] Created new subscription for 32
17:08:31.717 [pulsar-io-21-95] INFO  org.apache.pulsar.broker.service.ServerCnx - [/<IP_ADDRESS>:44388] Created subscription on topic persistent://platform/passport/user.login-partition-0 / b.userbehavior.user.login
17:09:31.712 [pulsar-io-21-95] INFO  org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers - Removed consumer Consumer{subscription=PersistentSubscription{topic=persistent://platform/passport/user.login-partition-0, name=b.userbehavior.user.login}, consumerId=32, consumerName=e9317, address=/<IP_ADDRESS>:44388} with pending 117 acks

Error log on log.bk
18:59:05.091 [BookKeeperClientScheduler-OrderedScheduler-0-0] ERROR org.apache.bookkeeper.common.util.SafeRunnable - Unexpected throwable caught
java.lang.IllegalArgumentException: negative size: -1
 at com.google.common.base.Preconditions.badPositionIndex(Preconditions.java:1231) ~[com.google.guava-guava-21.0.jar:?]
 at com.google.common.base.Preconditions.checkPositionIndex(Preconditions.java:1222) ~[com.google.guava-guava-21.0.jar:?]
 at com.google.common.base.Preconditions.checkPositionIndex(Preconditions.java:1204) ~[com.google.guava-guava-21.0.jar:?]
 at com.google.common.collect.LinkedListMultimap$NodeIterator.<init>(LinkedListMultimap.java:327) ~[com.google.guava-guava-21.0.jar:?]
 at com.google.common.collect.LinkedListMultimap$1ValuesImpl.listIterator(LinkedListMultimap.java:760) ~[com.google.guava-guava-21.0.jar:?]
 at java.util.AbstractList.listIterator(AbstractList.java:299) ~[?:1.8.0_181]
 at java.util.AbstractSequentialList.iterator(AbstractSequentialList.java:239) ~[?:1.8.0_181]
 at org.apache.bookkeeper.proto.PerChannelBookieClient.checkTimeoutOnPendingOperations(PerChannelBookieClient.java:803) ~[org.apache.bookkeeper-bookkeeper-server-4.7.1.jar:4.7.1]
 at org.apache.bookkeeper.proto.DefaultPerChannelBookieClientPool.checkTimeoutOnPendingOperations(DefaultPerChannelBookieClientPool.java:100) ~[org.apache.bookkeeper-bookkeeper-server-4.7.1.jar:4.7.1]

Client send timeout stats:
https://files.slack.com/files-pri/T5Z3B324U-FEB7PR341/image.png
System configuration
Pulsar version: 2.1.0-incubating, which is using bookkeeper-4.7.1

After check the broker dump, found some thing strange in current ledger of topic

lastAddPushed = 529 and lastAddConfirmed = -1
paddingAddOps has 530 elements

Here is the screenshot in yourkit

And the broker dump file already upload to the slack:
https://apache-pulsar.slack.com/files/UC0BYCXKQ/FEB7C71U0/heap.bin.tar.gz.zip

@ivankelly
Regarding the Bk logs above, Do you think it is related with your fix: https://github.com/apache/bookkeeper/pull/1569
Through upgrade to latest pulsar, which contains your fix, would solve this issue, @codelipenghui is trying to get the reason of this issue.

@jiazhai I think the issue here is related to apache/bookkeeper#1569.

in the heap dump, you can see one of the PerChannelBookieClient retains a lot of items in completionObjects, which they event weren't timed out because the race condition in apache/bookkeeper#1569 could cause NPE and IllegalArgumentException (all kind of runtime exceptions).
The suggestion here is to upgrade Pulsar to 2.2.0, which contains the bookkeeper fix.

v2.1.1 has the fix also, if they want a less disruptive upgrade .


"version ????????"

I recently upgraded rust-analyzer via rustup update, and now when i ask the command for its version rust-analyzer --version i get:
rust-analyzer ???????

this is unacceptable since i need to have version information in order to diagnose other problems occurring as a result of this recent upgrade.

git rev-parse HEAD must be giving an error when compiling rust-analyzer on the rust CI. You can get the rust-analyzer commit by getting the commit from rustc -v and then looking at the commit of the src/tools/rust-analyzer submodule on the main rust repo as of that commit rustc -v reports.

git rev-parse HEAD must be giving an error when compiling rust-analyzer on the rust CI. You can get the rust-analyzer commit by getting the commit from rustc -v and then looking at the commit of the src/tools/rust-analyzer submodule on the main rust repo as of that commit rustc -v reports.

Note that the version shipped by rustup is frequently outdated, so the other issues you are seeing might already be fixed. I suggest using the version shipped through the VS Code extension instead.

Note that the version shipped by rustup is frequently outdated, so the other issues you are seeing might already be fixed. I suggest using the version shipped through the VS Code extension instead.

I think we fixed our versioning awhile ago.

Confirmed, this works with the rustup version:
rust-analyzer fd109fb 2021-05-11 dev


CFY-3224-Broker-security-tests

Closed: As this PR is more than six months old without having been merged. Please reopen (and rebase if necessary) if it is still relevant.


Is there any possiblity to add multiple sheets with different data in each sheet? If not, can you please add that functionality to it?

mmm, maybe the component could receive a bidimensional array for data and array for worksheet, It's an interesting idea but for now i can't work on it. I don't have much time :/