[$1000] Web - Chat - When copying part of a multiline message, the entire message is copied

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the ND on the mac/Safari
Send multiline message
Select one word of the msg, click on the selected text via right button: context menu is opened
Click on the Copy icon
Paste the text

Expected Result:
Only selected text should be copied
Actual Result:
The whole message has been copied at the Safari
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/233864487-1eebda4e-f80d-4e33-b3b8-2b80617cab7c.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01075913f2cc61e719
Upwork Job ID:<PHONE_NUMBER>540429824
Last Price Increase: 2023-04-24

Triggered auto assignment to @conorpendergrast (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Proposal
Please re-state the problem that we are trying to solve in this issue.
In Safari, when we try to select a part of a multiline message, then right click the selected text and press Copy to clipboard, it copies the whole message instead of the selected text
What is the root cause of that problem?
Let's look at the flow of the executeSecondaryInteractionOnContextMenu() function, which would be triggered when we right click a message. Basically, the current logic is blurring all active components -> showing the popover menu
https://github.com/Expensify/App/blob/931e15f7d7728f7be8d4f6190d8e9a2ffc6b5dac/src/components/PressableWithSecondaryInteraction/index.js#L38-L48
The inconsistency lies in this piece of code. The blur() function has different behavior on Safari and Chrome. On Safari, the blur() function would de-select the user-selected text, causing the window.getSelection() function to return null, while it would not on Chrome. When the line this.pressableRef.blur() is triggered, the Safari browser would de-select the selected text, affecting the logic that was used to get the current selected text. Here, because the text was de-selected, and we are opening the popover after blurring, the window.getSelection() function would return a null component. The copied text now would be the whole message, which is similar to the behavior when we right click on the message without selecting anything.
In short, after blurring the text, the selection on Safari is cleared, while it is not on Chrome. Therefore, when the showPopover() function is triggered afterwards, the selected component is null on Safari, which make the app understand that the whole long message should be copied.
I believe this is a regression from https://github.com/Expensify/App/pull/15375, where the blurring logic was added. A very similar issue of the selection API inconsistency after a component is blurred on Chrome and Safari (in another repo) can be found here. A possibility is that there is a difference between the way Safari and Chrome handle the blurring event.
What changes do you think we should make in order to solve the problem?
Changing the order from blurring -> showPopover to showPopover -> blurring will solve this issue
-        if (this.props.withoutFocusOnSecondaryInteraction && this.pressableRef) {
-           this.pressableRef.blur();
-        }
-        this.props.onSecondaryInteraction(e);
+        this.props.onSecondaryInteraction(e);
+        if (this.props.withoutFocusOnSecondaryInteraction && this.pressableRef) {
+           this.pressableRef.blur();
+        }

I think this is a reasonable change, since

It's minimal. The changes is small.
It's logical. The onSecondaryInteraction() function is now using the user-selected text before blurring the current element, so we don't have to worry about any unexpected behavior that affect the user-selected text.
It will not re-introduce the bug that was fixed in https://github.com/Expensify/App/pull/15375.

Alternate solutions
Alternatively, we could add a setTimeout around the blur() function. IMO this is a workaround and not a good way to do it, but given the blur() function has some kind of a small delay, and we want to preserve the selected component when the onSecondaryInteraction() is called, this is worth mentioning.
+            setTimeout(() => {
                this.pressableRef.blur();
+            }, 0)

Records
Working well after the fix
https://user-images.githubusercontent.com/113963320/233944342-8afba897-0d59-4f4f-b29a-529cda7a3d86.mov

This isn't a bug: the context menu applies to all parts of the message, not individual components within the message.
eg: you can't select part of the message and delete just part of the message, or mark just part of the message as unread.
Closing as it's not a bug!

@conorpendergrast
I don't agree with it. Even if it's not a bug, the behavior is inconsistent in different browsers. On Chrome or Desktop, selecting a part of the multiline text then right click -> copy would copy the selected only. Meanwhile in Safari, it would copy the whole text.

Oh that's very weird - I didn't spot that this was inconsistent in the OP (there's no platforms selected)

Reopening as this is an inconsistency that we should resolve either as copying the full message, or copying the selected part of the message

Updated the OP to include the platform!

Triggered auto assignment to Contributor-plus team member for initial proposal review - @fedirjh (External)

@fedirjh Thank you for the response, that’s a nice catch!
I’m not sure with the underlying principle of how Safari handle the blurring event, but after some more careful examination, here is my observation:
When we are copying a normal text on Safari, the flow would be

Select text -> right click -> selection got cleared -> modal state is updated

In this situation, the modal selection value inside showContextMenu() function is ‘’ because the selection is already cleared when it reach that point, which will make it copy the whole message.
On the other hand, when we are copying a codeblock text, the flow would be

Select text -> right click -> modal state is updated -> selection got cleared

In both of the situations, the window.getSelection() after everything is executed would be null.

Meanwhile, the window.getSelection() value is not cleared on Chrome

This is only happening of Safari, so IMO the root cause lay in some difference in the way Safari handle the blurring action, which may affect the order of the actual actions being executed. The order is different between when we select a pure text and when we select a code block.

@fedirjh Thank you for the input, and also the very helpful link!
I can confirm that this is happening on Safari (and not on Chrome). The copied text would be a single word that the pointer was hovered in when the right click event is triggered. I'm taking a deeper look into this.

Apparently, the window.getSelection() result (which contains startOffset, startContainer, endOffset, endContainer) is different on Safari when we select across multiple messages (let's say message1,message2 for example) and right click. On Chrome, the startOffset and startContainer corresponds to message1, endOffset and endContainer correspond to message2. While on Safari, both start and end value for offset and container correspond to the one word that was clicked.
Still finding a proper way to address this.

@tienifr is very close to finishing his proposal, he just has a few edge cases to iron out.

Still waiting on proposals

@tienifr Do you still have a proposal in the works for this?

@fedirjh @conorpendergrast I'm still trying to fix the edge cases

After some investigation, I am still not able to find a resolution for this. The issue remains in the way Safari handle selection, which I have explained earlier.
I did some further digging on other messaging apps, and here is my sum up.
Action: Select text across 2 different messages -> Right click -> Copy text. Notice that we are selecting across different messages, not across lines in a single message.
Behavior of my proposal

Chrome: the selected is copied (expected)
Safari: the copied text is a single word being hovered before the right click event (*)

Behavior of other messaging apps

Skype

Chrome: the selected is copied (expected)
Safari: the whole later message is copied, which does not include the text from the former text

Slack

On Chrome: The text is copied, but with extra time information (not expected)
On Safari: same as (*)

Linkedin

On Chrome: The text is copied, but with extra emojis from reaction menu (not expected)
On Safari: same as (*)

Messenger

On Chrome: the text is copied, but with an extra “You have sent” text in the middle (not expected)
On Safari: same as (*)

Given that, I think this edge case should be addressed on the Webkit side, or on another issue, and it is out of scope in the current context (copying multiline text).
Thoughts?

@jasperhuangg Waiting for your review to confirm and assign @tienifr

Offers sent via Upwork, will pay after the regression wait period

Pay day, moving to Daily

Paid via Upwork.
@fedirjh Final step is the checklist!

I agree with those reproduction steps. Created the regression test request, and all done!


Combine two functions in integer module

the two functions have nearly the same code

I don't feel super strongly about this, but the separation was intentional. My idea was that if you ever wanted to extend the behaviour of either jumpi or sstore, the current implementation would be easier


Shadow api 412

This is an untested set of patches that add the API calls suggested during today's maestro hackfest, mostly designed by @maxmithun

@kfish @maxmithun What's the current status of this PR?  I quickly reviewed it, it seems pretty close,  shall I add comments?   The main thing is probably having tests for the logging versions in maestro-scalding/src/test/scala/au/com/cba/omnia/maestro/task/LoadExecutionSpec.scala and the like.

@rowandavies Stephan as suggested to move the same to util.etl by creating a subproject having dependency on the controller. once i create, will be moving the methods to the sub project.

An important thing to consider is that the maestro project is public while the etl-controller is not.

@maxmithun :+1:


Fix schema definition of addApproleRole command.

Fix addApproleRole command schema definition by moving req properties under properties field.
Additionally, add secret_id_bound_cidrs due to this deprecation warning:

WARNING! The following warnings were returned from Vault:

The "bound_cidr_list" parameter is deprecated and will be removed in favor
of "secret_id_bound_cidrs".

@kr1sp1n I would be very much appreciated if this can be merged and released as soon as possible, otherwise, I will have to use a fork :-(

@jsdream Thanks for your PR. I saw it too late that you were first so I merged #120 instead. I hope you are ok with it 😉 Released as v0.9.10.


Core hole vasp

Identification of the core-hole (location + orbital level) with appropriate references to run.system.atoms_group so topology view is leveraged. This will be further extended to FHIaims and ATOMPAW in separate PRs.

Left to do:

[ ] Apply ICORELEVEL tag at the electron count level

I can't comment much on the VASP parser changes, but rather on the general metainfo changes (doing this here due to no access to the upstream github). In general this would suit my needs, but at least for Wien2k for states with n>1 where a spin-orbit splitting happens, like 2p states, I can actually specify if I want the corehole for 2p1/2 or 2p3/2, and equivalently for d and f states. I could likely also specify up and down spin state with Wien2k (but I never did that).
I checked the VASP docs and there is seems this is not possible, but I would expect that maybe other all-electron codes can do this as well.
My another favorite code OpenMX also allows all kinds of core-holes (there is nice table at https://www.openmx-square.org/openmx_man3.9/node192.html) there it also depends whether one has collinear or non-collinear spin polarization. So maybe we need more quantum numbers...

One question is if we also want to somehow explicitly include somewhere the charge info at this point. Together with with the corehole usually also comes the question about where to put the extra charge. I.e., if the electron was removed from the cell (and a homogeneous background change was added so that the calculations behave in a sane way) but it is actually a charged cell (this is usually done for insulators) or if the electron was placed at the Fermi level (this would make sense for core-hole in metals). This is not related just to the core-hole and is relevant also for other methods (for charged-defect calculations in insulators, etc.). I believe VASP always adds the background charge automatically for example (and it will probably diverge for a true charged cell anyway).)

I can't comment much on the VASP parser changes, but rather on the general metainfo changes (doing this here due to no access to the upstream github). In general this would suit my needs, but at least for Wien2k for states with n>1 where a spin-orbit splitting happens, like 2p states, I can actually specify if I want the corehole for 2p1/2 or 2p3/2, and equivalently for d and f states. I could likely also specify up and down spin state with Wien2k (but I never did that). I checked the VASP docs and there is seems this is not possible, but I would expect that maybe other all-electron codes can do this as well. My another favorite code OpenMX also allows all kinds of core-holes (there is nice table at https://www.openmx-square.org/openmx_man3.9/node192.html) there it also depends whether one has collinear or non-collinear spin polarization. So maybe we need more quantum numbers...

Thank you for pointing that out! I'll open up tickets for OpenMX then, and merge the schema after having working parsers for both parsers.

One question is if we also want to somehow explicitly include somewhere the charge info at this point. Together with with the corehole usually also comes the question about where to put the extra charge. I.e., if the electron was removed from the cell (and a homogeneous background change was added so that the calculations behave in a sane way) but it is actually a charged cell (this is usually done for insulators) or if the electron was placed at the Fermi level (this would make sense for core-hole in metals). This is not related just to the core-hole and is relevant also for other methods (for charged-defect calculations in insulators, etc.). I believe VASP always adds the background charge automatically for example (and it will probably diverge for a true charged cell anyway).)

Very good point! We keep track of the no. (valence) electrons and overall system charge under run.method.electronic. We could just improve the normalizers here and make this information more visible in the Entry Overview. This would allow for finding core-holes with the electron exited to the Fermi level or the vacuum.
But maybe we want something more explicit when core-holes are being used? VASP also allows partial core-holes, as well as initial and final state approximations. @ondracka Are these also used in Wien2k or OpenMX? That would help me decide on their placement in the schema.

Thank you for pointing that out! I'll open up tickets for OpenMX then, and merge the schema after having working parsers for both parsers.

Let me know if you need some test-cases. Here is a simple C 1s corehole in OpenMX: https://nomad-lab.eu/prod/v1/staging/gui/search/calculations/entry/id/zLqikxv-mfCrI3sC9EuXmqfEX04T but I can also produce something simpler and more suitable for eventual inclusion in parser unit tests (or also for the other core-holes than 1s). For Wien2k I have some N1s core-hole: https://nomad-lab.eu/prod/v1/staging/gui/search/entries/entry/id/Fbk7yucgh7CxMsp0RKdR263J_OIj , O1s https://nomad-lab.eu/prod/v1/staging/gui/search/entries/entry/id/1GH5Rvm-t2tAYPrL9UdtkShaas3s, or Ti2p3/2 https://nomad-lab.eu/prod/v1/staging/gui/search/entries/entry/id/s5W753xr30EulmEUzsu75HMtxZMh coreholes in NOMAD already.

Very good point! We keep track of the no. (valence) electrons and overall system charge under run.method.electronic. We could just improve the normalizers here and make this information more visible in the Entry Overview. This would allow for finding core-holes with the electron exited to the Fermi level or the vacuum.
But maybe we want something more explicit when core-holes are being used? VASP also allows partial core-holes, as well as initial and final state approximations. @ondracka Are these also used in Wien2k or OpenMX? That would help me decide on their placement in the schema.

Partial core-holes with arbitrary fraction are easy in Wien2k (and probably other LAPW all electron codes), however I'm not aware that this would be possible in OpenMX.
Regarding the "initial" states, i.e., I assume you are referring to what VASP would be doing with ICORELEVEL=1 this is what all-electron codes do by default (and at that point there is no core-hole at all actually, just VASP includes the core-level in the calculations instead of using pseudopotential), so for all-electron codes this is just standard groundstate. For OpenMX one actually needs specific pseudopotential and basis set for the atom with the core-hole that include the core-level in question, but no other setting are needed. So I think that for VASP run with ICORELEVEL=1 there would be no CoreHole section and the fact that the extra electron are included would be encoded somehow in the pseudopotential section.
"Final state" is the true core-hole calculation.

but at least for Wien2k for states with n>1 where a spin-orbit splitting happens, like 2p states, I can actually specify if I want the corehole for 2p1/2 or 2p3/2, and equivalently for d and f states. I could likely also specify up and down spin state with Wien2k (but I never did that).

This supported now.

My another favorite code OpenMX also allows all kinds of core-holes (there is nice table at https://www.openmx-square.org/openmx_man3.9/node192.html) there it also depends whether one has collinear or non-collinear spin polarization. So maybe we need more quantum numbers...

Let me look into this. Maybe support for non-collinear calculations requires its own PR. Feel free to make any suggestions.

Let me know if you need some test-cases. Here is a simple C 1s corehole in OpenMX: https://nomad-lab.eu/prod/v1/staging/gui/search/calculations/entry/id/zLqikxv-mfCrI3sC9EuXmqfEX04T but I can also produce something simpler and more suitable for eventual inclusion in parser unit tests (or also for the other core-holes than 1s).

@ondracka It seems that OpenMX reads the pseudopotentials from a different folder. Since the files are not copied over to the calculation folder, I guess it's unlikely that people will upload them.
Personally, I prefer reading the original pseudopotential file, but I guess that here it's better to build out an interpreter of the filename. Do you agree? How reliable is this approach?

Regarding the "initial" states, i.e., I assume you are referring to what VASP would be doing with ICORELEVEL=1

Indeed, this is the terminology they use in the VASP Wiki.

this is what all-electron codes do by default (and at that point there is no core-hole at all actually, just VASP includes the core-levels in the calculations instead of using pseudopotential), so for all-electron codes this is just standard groundstate.

@ondracka I fully agree with your explanation of the methodology.
However, in most contexts, ICORELEVEL=1is employed with Koopmans theorem or Slater's Transition method to produce CLBEs. One such example (not with VASP) would be here. An overview of the various approaches is given in the first 2 paragraphs on page 2.
So, I see 2 options:

I infer that anyone using ICORELEVEL=1, does so with the intention of computing a core-level. There are several ways to approximate this (Koopman, or any of the fractional occupations listed above). If I know which state is targeted, I could even produce all the numbers.
I leave it up to the user to specify if they used the orbitals for computing the core-hole, as well as the actual scheme they used. This would come closer to what you proposed.

Let me know what you think.

Personally, I prefer reading the original pseudopotential file, but I guess that here it's better to build out an interpreter of the filename. Do you agree? How reliable is this approach?

I'm only aware of the one set of pseudos provided by the OpenMX developers (versioned by the releases), so it should be quite reliable (unless people really handcraft their own pseudos, but that should be not too common).

I went quickly through the actual code changes and while I was not reviewing the logic per se, the general idea how things are done now looks fine, so I'm happy with how this turned out in general.

@ladinesa @lauri-codes Design question: core-holes are kind of connected to various other sections (too much interconnectivity):

Each CoreHole has to reference an AtomsGroup (this also applies to other sections, such as CoreHoleSpectra). Atm, I set these manually in the parsers, but I get the feeling that this could be done by a normalizer. I guess one could loop over all AtomParameters which contain CoreHole, but it sounds suboptimal: it requires the atom indexes too... Moreover, they might be other sections that do not fall under AtomsParameters. I'd rather have a push-system that works for any AtomsGroup - Methods.subs_section pair. Any ideas?
The computation of Method.charge is contingent on CoreHole. Same remark as above.
CoreHole is in many cases specified in the same parsed blocks / files as Pseudopotential. I'm trying to package both together in each new implementation now.

I think the parser is ultimately responsible for setting all connections in place. A normalizer could very well be used to e.g. check the validity of the data or to add new derived data.
Note that it is of course fine to have a single unified function in e.g. nomad or in the electronicparsers package that is shared between all parsers and resolves all the references.

I think the parser is ultimately responsible for setting all connections in place. A normalizer could very well be used to e.g. check the validity of the data or to add new derived data.
Note that it is of course fine to have a single unified function in e.g. nomad or in the electronicparsers package that is shared between all parsers and resolves all the references. I think this approach is often used in the atomisticparsers package, where several tasks are common for the parsers.

I get your point, in that the logical structure of the output may vary and this is where the parser has to jump in, of course.
However, the schema on our side will always be AtomsGroup pointing to CoreHole, where the latter may alter the overall charge (and is often set along with the Pseudopotential).
For anyone extending the parsers, this structure is far from obvious, nor is it clearly communicated anywhere.
My first instinct, for example, was to extend AtomsGroup, rather than Method. I think we have to communicate these kinds of designs better to other (external) devs, since we're headed in the direction of a modular platform.
Maybe a normalizer is not appropriate here. Another option that come to mind is a FactoryMethod, which delivers (maybe even sets) a AtomsGroup - CoreHole pair. If we go this route, where would this best be added? In util.py?

My first suggestion would be to include the method in the electronicparsers repo if it is only relevant for these parsers. But if the implementation should be shared across different parser repos, then util.py is an option.

@ondracka From the OpenMX documentation, I'm understanding that CLBEs are computed using $\Delta$-SCF between the initial (containing the corrected pseudopotential) and final state (corrected pseudopotential + electron removed). Is this correct?
I'm asking, since the terminology is confusing with VASP's, where initial-state approximation (icorelevel = 1) is a single SCF with Koopman. There, the $\Delta$-SCF is between a regular groundstate (same pseudopotential) and a final-state approximation (icorelevel = 2).

@ondracka From the OpenMX documentation, I'm understanding that CLBEs are computed using Δ-SCF between the initial (containing the corrected pseudopotential) and final state (corrected pseudopotential + electron removed). Is this correct?

That is my understanding as well.

@ondracka From the OpenMX documentation, I'm understanding that CLBEs are computed using Δ-SCF between the initial (containing the corrected pseudopotential) and final state (corrected pseudopotential + electron removed). Is this correct?

That is my understanding as well.

Okay, great! I'm close to finishing with OpenMX too, will request you to review then.

Btw, is something included in the TBStudio parser regarding the active atom?

Btw, is something included in the TBStudio parser regarding the active atom?

Hey, thx for mentioning TBStudio. I had to rebase first, now I can see that parser too.
Atm, it does not assign any atoms_groups, so it won't break with any of my changes.
I will add support when extending core_hole to atomic orbitals in general. I'll open an issue this evening.


Improve auto-generated OpenAPI docs

We need to update Winter framework to generate more detailed OpenAPI docs descriptions. Here is what we need to add:

multiline docstrings for methods that represent API endpoints (currently only the first line of the docstring is being processed as a description)
docstrings for DTO-classes that represent request/response payload and exceptions
docstrings for members (attributes) of DTO-classes that represent request/response payload

We need this three options to appear in the OpenAPI specification that is generated by Winter.

🔥


[Video] Volume controls on web

Closes #5285
Supercedes #5352
Adds a volume slider to web. Chosen volume is persisted between players. Slider is logarithmic
https://github.com/user-attachments/assets/a270f987-255e-4a4e-b867-d493b3036c3d

This is still not in prod, right? Doesnt seem to show on my end. Microsoft Edge 131.0.2903.51 (Chromium based)

This is still not in prod, right? Doesnt seem to show on my end. Microsoft Edge 131.0.2903.51 (Chromium based)

This should definitely be available in prod, there have been several releases since it was merged. If you're not seeing it you might want to open an issue.


Search Bar.

Add search bar, to find more easy the brand when have a lot.

I'll close this issue since there are no more further feedback.


Bug: Fix rendering

Everything in dev is failing with the following error:

I didn't have the right vexflow version installed.

@jaredjj3 this is what I meant in the comment which I re-opened in #68

All you need to do is to install the vexflow pre release under ./vexflow/
yarn add ./vexflow/vexflow-5fa72362.tgz
This might also resolve the other two comments

Can you check if any and System is then required?


trace-forward: Random dropping of messages

It has been found in tests, that occasionally messages where not forwarded to cardano-tracer as expected. With the bug fixes an automated test will be added to find such a problem in the libraries.


Add a timeout to ruby-setup in ci.yaml

Prevent ruby-setup from hanging for hours

This is red. But we want these in anyway (they are not related to the green/red of this repo)


Could you add a source of deepl?

Hi,
Thanks for your great project that I can translate easily. But can you supply us a choice to translate using deepl?

Duplicate of #396.


Add Drug-Target Interaction dataset

Adding the Drug-Target Interaction dataset from https://tdcommons.ai/multi_pred_tasks/dti/.  The task is to predict binding affinity given the target amino acid/compound SMILES string.

Still needs discussion:
https://github.com/OpenBioML/chemnlp/pull/100#discussion_r1137858372
https://github.com/OpenBioML/chemnlp/pull/100#discussion_r1137861222
https://github.com/OpenBioML/chemnlp/pull/100#discussion_r1137858879


Discussion around journaling

Motivation
Discuss the different invariants and the assumptions for journaling to work.
Proposal
TBD

I still think this here might be an issue: https://github.com/linera-io/linera-protocol/pull/1483#discussion_r1451414720
Not sure if it's related.

I still think this here might be an issue: #1483 (comment) Not sure if it's related.

Let me add a fix for this one here.

The error in CI is 600 bytes difference. It could be the JSON encoding overhead for what I know.
I created the non-urgent task #1496 btw

I'm moving the first commit of this PR to #1502


Add upgrade instruction for workload cluster

Issue #, if available:
#1438
Description of changes:
Add upgrade instruction for workload cluster
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherry-pick release-0.9


How can I tell if it's a different device by ua?

Can I tell the difference with this splicing?    Or do I need to do something else?
func (u *ParserRecord) Parser(uaString string) {
	ua := u.uaParser.Parse(uaString)
	key := boolToString(ua.IsDesktop()) + boolToString(ua.IsMobile()) + boolToString(ua.IsTablet()) + ua.GetOS()
	u.record[key].Add(1)
}

If you use raw strings, the ua field should be different for different browsers on the same device, so can't use raw strings yet.

If that is the case, generating a custom key could be okay but I feel it would be likely lacking in accuracy unless that's not an issue for you. Also, I would recommend generating the key with fmt.Sprintf instead of casting + concatenation if you do go ahead with that approach.
More likely, you may want to rely on a more normal regex-based parser like uap-go which also has a Device property that you could use more practically. Adding that level of granularity is unfortunately out of scope for this project.

Ok thanks, I'll check it out, but what do you mean by custom key? Does the server return a token, and then define the device?

what do you mean by custom key

Ah, I was referring to the key variable in your original post.


Regression: Hawk update broke compatibility with Node 6.10

For some reason that I don't quite understand, npm in Node6 completely ignores the fact that sntp package.json has "node": ">=8.9.0" in it and installs this very version as a dependency of updated hawk. 30 minutes ago you updated request and my app has completely gone out of production with SyntaxError: exports.time = async function (options = {} ) {
The problem is, I don't install request directly, it is installed as a dependency of another package I have no control over. And it requires "request": "^2.53.0". Also I cannot change node version, since 6.10 is the latest available in AWS Lambda.
I really have no idea how to fix this on my end. Please help…

This has happened to us also.  We're using Jest, which pulls in this module, so as of an hour ago all our builds are now broken.  We're also working with AWS Lambda so have to target Node 6.
Given how many other people are likely in the same situation this could break a lot of things!

Same for us.
Builds: https://travis-ci.org/website-scraper/node-website-scraper/builds/352227289?utm_source=github_status&utm_medium=notification

Same error for firebase cloud functions
Detailed stack trace: /user_code/node_modules/request/node_modules/sntp/lib/index.js:19
exports.time = async function (options = {}) {
                     ^^^^^^^^

SyntaxError: Unexpected token function

Fixed by locking version at "request": "2.83.0".

https://github.com/request/request/pull/2880

+1

+1
Getting this too

+1
Try to add request 2.38.0 to your devDependencies - should help.

same here, installing jest@21 with<EMAIL_ADDRESS>=> broken CI

Same here.

We are failing deployment to production with all of our services.
The quick fix is massive work.
Any word from @simov ??

I made a workaround using npm shrinkwrap. I added file next to package.json under the name of npm-shrinkwrap.json:
{
  "dependencies": {
    "some-package": {
      "version": "2.0.0",
      "from"<EMAIL_ADDRESS>      "dependencies": {
        "request": {
          "version": "2.83.0",
          "from"<EMAIL_ADDRESS>        }
      }
    },
    "other-package": {
      "version": "1.0.2",
      "from"<EMAIL_ADDRESS>      "dependencies": {
        "request": {
          "version": "2.83.0",
          "from"<EMAIL_ADDRESS>        }
      }
    }
  }
}

Now npm install puts previous request version in node_modules.
Then I had to patch node_modules/serverless-webpack/lib/packagers/npm.js to include npm-shrinkwrap.json into the build instead of package-lock.json. Now after deploy I have working lambdas.
Hopefully this will be fixed soon…

Same here...

+1...

+1

+1 =(

+1

+10000000000000000000000000000000000000000000

+1

I've reverted the update to Hawk 7.x and hopefully this is going to fix the issue, because right now the tests on TravisCI are failing for Node >= v8 for some reason, the tests for Node < v8 are failing because of sntp dev dep, and locally the test are failing for yet another reason .. Anyway will publish a new version shortly.

In case it can help, the dependency chain we had:
OK<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>FAIL<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>Thank you @simov !!!

Request version 2.83.0 fixed it, for now.

v2.85.0 is published

Thank you for the quick response/fix. It works again. :+1: :100:
Maybe you could consider to introduce such a breaking change as a major update instead of a minor?
I guess it would be less 'stressy' for all of us. :sweat_smile:

+1, fixed now. Thanks.

+1
Can confirm it's fixed

+1 Good

+1 Circle is happy with us now. Ty.

The first goal would be to get our tests working again. I guess that's the reason why this got merged in without anyone noticing it.
Then hawk should not be updated to > v7 anytime soon, because of the breaking change for Node < 8.9.0. It was excluded from Greenkeeper long time ago, exactly because of the constant breaking changes: https://github.com/request/request/blob/v2.85.0/package.json#L82-L87 it was for Node < v4 at that time
For reasons why we won't/can't bump the major version here, you can read @mikeal's comments about it in this issue tracker.
Thanks for your patience! :+1:

+1

see https://github.com/request/request/pull/2943


Change oc exec commands to use services instead of statefulsets

This is a draft pull request to get feedback and test some changes.
Changing the oc exec commands to use services instead of statefulsets. Strimzi is moving away from statefulsets, so we want this script to be able to support both approaches.

/assign @feichashao

/lgtm

/approve


chore: Format validate.yml

Yeah probably another extension that was causing this, since I formatted it with Prettiers playground


Grandpa misbehaviour tests need to be fixed

This PR fixed all of the grandpa tests except the misbehaviour ones. This is issue is to track that we need still need Steve/Vlad to get the updated test data to fix them.

Closing since we are moving to use mocks in the tests.


neural render function called failed

File "G:\firestrike2020\human_dynamics-master\src\util\render\nmr_renderer.py", line 58, in init
img_size, camera_mode='look_at', perspective=False)
TypeError: init() got an unexpected keyword argument 'camera_mode'
in file nmr_render.py, it failed to call nr.Renderer(),   feeds three parameters
self.renderer = nr.Renderer(
img_size, camera_mode='look_at', perspective=False)
but the nr.Renderer's definition as follow:
class Renderer(object):
def init(self):
it accepts no parameter, it's a wired error

Hello,
Please make sure you are using the Pytorch version of NMR. The directions for installation are in the README https://github.com/akanazawa/human_dynamics#install-external-dependencies
Here's what the __init__ should look like:
https://github.com/daniilidis-group/neural_renderer/blob/55a05a28d70e278edd9e04b812b27e747486ccaf/neural_renderer/renderer.py#L11-L19
Best,
Jason


missing config file of the scene "neighborhood1" in the folder "hydra_dsg_builder/config/uhumans2/" ?

Hi Nathan
We met the same question as issue #18, and have successfully solved the problem with the following command:
roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch start_visualizer:=true semantic_map_file:=tesse_multiscene_archviz1_segmentation_mapping.csv typology_file:=uhmans2_apartment_typology.yaml
It works well for office, archviz(apartment) and underground(subway), but it seems that the corresponding typology file of "tesse_multiscene_neighborhood1_segmentation_mapping.csv" is missing in the folder "hydra_dsg_builder/config/uhumans2/".
Besides, the mesh of neighborhood seems to be limited to 2d ground plane. We wonder if it works well?
Can you help us with that?
Thanks!

Hi, thank you for your interest in our work! We didn't test against the neighborhood scene when developing Hydra and writing our RSS paper for the reason you mention: it's an outdoor scene with mostly 2D geometry, and the focus of Hydra has been on indoor scenes.
That said, you can just write a typology file for the scene if you do want to test it. You would only have to fill out the fields for dynamic labels and object labels (the other fields were used by Kimera, but we no longer use them). The dynamic label (20) should stay the same, and the object labels field is just populated with the semantic labels you want to extract objects for.

I'm going to close this issue. Feel free to re-open if you have further questions!


Cannot use Mcmmo Reward. Error in console

What is your Quests version / build number (do not say "latest")?
3.7.5
Describe the problem and how to replicate it. Any console errors to post using Pastebin.com?
Cannot select Mcmmo skill, no extra pop ups after typing 1 in mcmmo rewards window.
However, 'cancel' works and redoes the mcmmo rewards window.

-Create a quest
-Head to reward Section
-Try to add a Mcmmo Reward
-At Mcmmo Reward, trying to select a skill does not work as nothing pops up except error in console
Error:
https://pastebin.com/RBtYStx7
If applicable, can you provide an example quest from quests.yml using Pastebin.com?

Thanks for your report. What is your mcMMO version?
Sent with GitHawk

mcMMO v2.1.88

mcMMO v2.1.88

It appears you're running the overhaul version of mcMMO, which is not supported yet.

Ah. Any plans to add support for it in the (very near) future?

See #794


Editor 6 OS X — Asciidoc Callouts not working

Bug Report
Ascidoc Callouts are seriously not working in Editor. Here is a sample:
[source,js]
----
var a=3; <1>
var b=4; <2>
----

<1> First Variable
<2> Second Variable

What is the current behavior?

This is does not render properly. If it displays at all, only some of the block will be displayed.

Often it causes the whole document not to be displayed.

What is the expected behavior?
This is how it is rendered in an external program:

For GitBook Editor
Using OS X 10.11.6 Editor 6.2.1
Thanks

Hi,
Are you referring not rendering in the preview or in the built version as well?
My experience was that the preview rendering was not working properly, but it displays when building it.

Hi
That’s right. When I view it through AsciiDoctor (via Marked 2 on the Mac or using Atom AsciiDoc Peview) it does work. It just doesn’t work in Editor preview.


Put router state into app state

https://github.com/rackt/redux-router has a lot of issues, https://github.com/jlongster/redux-simple-router seems to be much better.

@ondrejbartas could you please implement redux-simple-router and share the result?

#587

Anyone want to try react router 2?

@steida I have it working, I've been planning to port it to Este.
We can get rid of the cloneElement stuff with it – finally.

Awesome. Thank you!

duplicate of #695


Encountering RollupError in Nuxt 3.14.159 Build with Nitro 2.10.4 and Bun Preset

Environment

Nuxt Version: 3.14.159
Nitro Version: 2.10.4
Runtime: Bun, using Nitro preset set to bun
Compatibility Mode: Compatibility version set to 4 with compatibilityDate: '2024-03-26'
Node.js Version: v22.2.0
Build Command Used: bun run build (also tested with npm run build, with the same results)
Package Managers Tried: Both Bun and npm (issue persists across both)

Reproduction

The error primarily revolves around module incompatibility in the Bun server runtime, specifically with the crossws module import in the Nitro preset.
My build completes the client side successfully but fails when building the server side with the Bun preset.

Describe the bug
Steps Taken to Resolve:

Updated Dependencies: All packages, including Nuxt, Nitro, and @nuxt/kit, are updated to the latest versions.
Checked Issue #29804: This issue appears related, as the RollupError mentions a similar plugin impound issue with module imports in server runtime.
Tried Various Nitro Presets: Tested with different Nitro presets (including bun and node-server), but the issue remains unchanged.
Clean Reinstall: Removed node_modules and reinstalled dependencies with both bun install and npm install

Additional context
No response
Logs
bun run build
$ nuxt build
Nuxt 3.14.159 with Nitro 2.10.4                                                        11:00:35 AM
ℹ Using default Tailwind CSS file                                    nuxt:tailwindcss 11:00:36 AM
ℹ Nuxt Icon server bundle mode is set to local                                        11:00:37 AM
[11:00:38 AM] ✔ Nuxt Icon discovered local-installed 3 collections: eos-icons, heroicons, lets-icons
ℹ Running with compatibility version 4                                                11:00:38 AM
ℹ Building client...                                                                  11:00:39 AM
ℹ vite v5.4.11 building for production...
✔ Generated public .output/public                                               nitro 11:00:47 AM
ℹ Building Nuxt Nitro server (preset: bun, compatibility date: 2024-03-26)      nitro 11:00:47 AM

[nitro 11:00:47 AM]  ERROR  RollupError: [plugin impound] This module cannot be imported in server runtime. [importing ../../node_modules/nitropack/node_modules/crossws/dist/adapters/bun.mjs from ../../node_modules/nitropack/dist/presets/bun/runtime/bun.mjs]

undefined

[11:00:47 AM]  ERROR  [plugin impound] This module cannot be imported in server runtime. [importing ../../node_modules/nitropack/node_modules/crossws/dist/adapters/bun.mjs from ../../node_modules/nitropack/dist/presets/bun/runtime/bun.mjs]

  at getRollupError (/home/hermes/Projetos-linux/back3nd/node_modules/rollup/dist/es/shared/parseAst.js:396:41)
  at error (/home/hermes/Projetos-linux/back3nd/node_modules/rollup/dist/es/shared/parseAst.js:392:42)
  at Object.error (/home/hermes/Projetos-linux/back3nd/node_modules/rollup/dist/es/shared/node-entry.js:20622:20)
  at Object.resolveId (/home/hermes/Projetos-linux/back3nd/node_modules/impound/dist/index.js:29:11)
  at /home/hermes/Projetos-linux/back3nd/node_modules/rollup/dist/es/shared/node-entry.js:20807:40
  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
  at async PluginDriver.hookFirstAndGetPlugin (/home/hermes/Projetos-linux/back3nd/node_modules/rollup/dist/es/shared/node-entry.js:20707:28)
  at async resolveId (/home/hermes/Projetos-linux/back3nd/node_modules/rollup/dist/es/shared/node-entry.js:19311:26)
  at async ModuleLoader.resolveId (/home/hermes/Projetos-linux/back3nd/node_modules/rollup/dist/es/shared/node-entry.js:19740:15)
  at async Object.resolveId (/home/hermes/Projetos-linux/back3nd/node_modules/@rollup/plugin-commonjs/dist/es/index.js:600:10)

[11:00:47 AM]  ERROR  [plugin impound] This module cannot be imported in server runtime. [importing ../../node_modules/nitropack/node_modules/crossws/dist/adapters/bun.mjs from ../../node_modules/nitropack/dist/presets/bun/runtime/bun.mjs]

error: script "build" exited with code 1 node --version
v22.2.0

I am encountering the same issue but with node:
[nitro 11:06:56 AM]  ERROR  RollupError: [plugin impound] This module cannot be imported in server runtime. [importing node_modules/nitropack/node_modules/crossws/dist/adapters/node.mjs from node_modules/nitropack/dist/presets/_nitro/runtime/nitro-dev.mjs]

I still get an Error for Node Runtime.
 ERROR  RollupError: [plugin impound] This module cannot be imported in server runtime. [importing node_modules/nitropack/node_modules/ofetch/dist/node.mjs from node_modules/nitropack/dist/runtime/internal/app.mjs]
Run with Yarn dev, Nuxt 3.14.159 with Nitro 2.10.4

I get the same error here :(

Found a "workaround" - I used git to clear all ignored files (git clean -f -X -d) and then used npm to reinstall everything. Afterwards, I could use bun to run it as normal. So does that mean it's something outside node_modules causing it?

Same here!

@llama-for3ver i will also try it with bun, with npm the same error occurs again...

To what version? It’s been on 4.1.1 for months, and using bun update didn’t do anything.

On 16 Nov 2024, at 11:38 PM, Henning Georgi @.***> wrote:
Solved this issue by updating @azure/cosmos dependency ✅
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Solved this issue by updating @azure/cosmos dependency ✅

To what version? It’s been on 4.1.1 for months, and using bun update didn’t do anything.

@llama-for3ver hm i also updated it to 4.1.1, since that update its working again

@llama-for3ver hm i also updated it to 4.1.1, since that update its working again

What PM did you use?

@llama-for3ver hm i also updated it to 4.1.1, since that update its working again

How can I do this too?

Im using npm, just change the version of @azure/cosmos in package.json and then npm install

Im using npm, just change the version of @azure/cosmos in package.json and then npm install

In that case I'm inclined to believe its how NPM handles things, rather than the dependency itself. Can you confirm?

Yes, i think so too. It seems like the source of the problem is another at your project :/

Just encountered the same issue testing out Nuxt v3.14.159, I simply removed the node_modules folder and the associated lockfile (in my case pnpm-lock.yaml), now it works 👍


[SPARK-37330][SQL] Migrate ReplaceTableStatement to v2 command

What changes were proposed in this pull request?
This PR migrates ReplaceTableStatement to the v2 command
Why are the changes needed?
Migrate to the standard V2 framework
Does this PR introduce any user-facing change?
No
How was this patch tested?
existing tests

Test build #145795 has started for PR 34764 at commit 9947a2e.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50270/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50270/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50270/

Test build #145795 has finished for PR 34764 at commit 9947a2e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145795/

Test build #145836 has started for PR 34764 at commit 66a2aaf.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50311/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50311/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50311/

Test build #145836 has finished for PR 34764 at commit 66a2aaf.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145836/

Test build #145848 has started for PR 34764 at commit ec966bf.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50323/

CC @cloud-fan @Peng-Lei @huaxingao , Thanks!

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50323/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50323/

Test build #145848 has finished for PR 34764 at commit ec966bf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145848/

Test build #145871 has started for PR 34764 at commit 7b358d9.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50346/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50346/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50346/

Test build #145882 has started for PR 34764 at commit f3cca49.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50357/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50357/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50357/

Test build #145871 has finished for PR 34764 at commit 7b358d9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145871/

Test build #145882 has finished for PR 34764 at commit f3cca49.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145882/

sorry there are code conflicts now

Test build #145904 has started for PR 34764 at commit 05d5a41.

Test build #145904 has finished for PR 34764 at commit 05d5a41.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145904/

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50379/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50379/

Test build #145908 has started for PR 34764 at commit 31cfd01.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50383/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50383/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50383/

Test build #145908 has finished for PR 34764 at commit 31cfd01.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145908/

@dchvn Could you rebase? I know the Git Action failures are not related to this PR, but with so many failures, I don't feel comfortable to merge the PR.

Ping @huaxingao , GitHub action is good now, thanks

Merged to master. Thanks!

many thanks! @huaxingao


Zip user_data

Description
Closes #561
Migrations required
NO
Verification
Done:
EC2 runner working correctly in my environment for several days now.
On the EC2 Launch Template, User data is visible as b64 + gzip encoded.
On the EC2 instance panel, User data displays as "No user data" for some reason.

Sounds reasonable to me. Found the documentation here: https://cloudinit.readthedocs.io/en/latest/topics/format.html#gzip-compressed-content
GZip content is decoded automatically.

I've tested this with a local copy of the source code and it works fine.
A downside is you can't inspect the user_data element in the AWS UI as it is Gzip compressed.
We do have cloudwatch logs to compensate for that.

@npalm ready for review and merge.


Settings Feature of admin

Done with templates, now preparing to connect to the backend.
Added 3 packages

Axios for api connection
React redux for statemanagement
reduxjs/toolkit to simplify backend redux intergration

Installed Mukta fonts using font face
Did Redux and Axios configurations.
Worked of Admin dashboard feature

@eliudas, @adeniranjohn and I will be here to guide you on how to fix the Codacy errors.
Click on Details
Then resolve to see them, go through and ask questions, please. Tag me if need be

Thanks so much.
On Sun, May 7, 2023 at 5:48 AM Peculiar C. Umeh @.***>
wrote:

@eliudas https://github.com/eliudas, @adeniranjohn
https://github.com/adeniranjohn and I will be here to guide you on how
to fix the Codacy errors.
Click on Details
Then resolve to see them, go through and ask questions, please. Tag me if
need be
—
Reply to this email directly, view it on GitHub
https://github.com/ALCOpenSource/Mentor-Management-System-Team-3/pull/91#issuecomment-1537274633,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD7DO7SO5OLYVHYHDCVDERLXE4EPRANCNFSM6AAAAAAXYEAAL4
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

Reference

Again send PR in batches so you do not have so many Codacy errors. Create a branch for at least 2 pages and send a PR as soon as you are done with it.

Hi Eliud.
Kindly click on the url below to show the codacy errors and use it to fix it accordingly.
https://app.codacy.com/gh/ALCOpenSource/Mentor-Management-System-Team-3/pullRequest?prid=11712051
Well done Eliud.

@eliudfromkenya This issue correction just remains only 7. You should not need to close it.  Let me have a call with you. Fix a time today.

Thanks so much.I will really appreciate.I have tried for 2 days, but the errors are not going away.
Am available anytime, as soon as possible.
On Thu, 11 May 2023 at 3:55 pm, Peculiar C. @.***> wrote:
@eliudfromkenya This issue correction just remains only 7. You should not need to close it. Let me have a call with you. Fix a time today.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Couchbase: Update to latest version, add flushEnabled, add community edition support

Hey folks,
for easier usage for any new user of couchbase I upgraded the couchbase library, so that the snippets in the documentation are up-to-date and simply work :)
Furthermore, I added support for the flushEnabled flag for buckets. Pretty handy option to simplify usage in tests for easier cleanup.
Lastly, I added a communityMode which changes when enabled the storageMode for indexes to forestdb (the only supported mode for community edition).
Thank you all for this great project!

@Gerschtli I hope you don't mind if I resolve the current merge conflicts!

I removed the community support out of this PR. When this PR is merged, I can open a follow up PR.

Follow up PR for community support: https://github.com/testcontainers/testcontainers-java/pull/4221


Headings inconsistent with the original Markdown renderer

I found a trio of issues with the rendering of headers where Parsedown is inconsistent with the original Markdown implementation:

####### not an h7 is rendered as a paragraph, while the original Markdown interprets it as
# not an h7
.
# # of levels (mind the space) is rendered as
of levels
.  The original Markdown retains the extra hash as
# of levels
.
# # of levels # # is also rendered as
of levels
.  The original Markdown retains the extra hashes both at the start and the end,
# of levels #
.

These inconsistencies can be resolved by removing only the first n characters from the start of the string, n being the heading level.  An additional trim(rtrim($line, '#')) should be performed --- the original Markdown implementation doesn't seem to care about the heading level when removing trailing hashes.

Thanks! The first is supposed to work like this. This is is dictated by the CommonMark spec. The second and the third, however, aren't. I'll see what i can do.

https://github.com/erusev/parsedown/issues/337 is also a PR related to streamlining headers and if both are implemented, would be paired well with a new release.


command line options being run as a lane and causing error

Issue Description
I'm pretty sure this is due to my ignorance rather than a bug, but whenever i pass in a command line option the error block is being triggered because (i think) its trying to run the parameters as a lane.
This is how I pass data to fastlane:
fastlane beta account:"feb33bd2-e3e6-40f9-a6a8-0e42a68ae722"

but I always get a
Could not find action or lane 'account_id'. Check out the README for more details:

Is there a different format I should be using to pass options into the build from the commandline?
Complete output when running fastlane, including the stack trace and command used
[23:40:44]: -----------------------------------
[23:40:44]: --- Step: clean_build_artifacts ---
[23:40:44]: -----------------------------------
[23:40:44]: Cleaned up build artifacts 🐙
[23:40:44]: -------------------
[23:40:44]: --- Step: slack ---
[23:40:44]: -------------------
[23:40:45]: Successfully sent Slack notification
[23:40:45]: Variable Dump:
[23:40:45]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta", :BUILD_NUMBER=>"66", :VERSION_NUMBER=>"2.7.117", :PRODUCE_APPLE_ID=>"1140304278", :SIGH_PROFILE_TYPE=>"app-store", :CERT_FILE_PATH=>"/Users/spawrks/Desktop/UPDATE2/proteus/native/inkworthy/WJWUBL2987.cer", :CERT_CERTIFICATE_ID=>"WJWUBL2987", :SIGH_PROFILE_PATH=>"/Users/spawrks/Desktop/UPDATE2/proteus/native/inkworthy/AppStore_com.tmc.excellencemag.mobileprovision", :SIGH_PROFILE_PATHS=>["/Users/spawrks/Desktop/UPDATE2/proteus/native/inkworthy/AppStore_com.tmc.excellencemag.mobileprovision"], :SIGH_UDID=>"7c595709-31d5-495a-8ec4-102a4b3d15ab", :IPA_OUTPUT_PATH=>"/Users/spawrks/Desktop/UPDATE2/proteus/native/inkworthy/excellencemag.ipa", :DSYM_OUTPUT_PATH=>"/Users/spawrks/Desktop/UPDATE2/proteus/native/inkworthy/excellencemag.app.dSYM.zip", :XCODEBUILD_ARCHIVE=>"/Users/spawrks/Library/Developer/Xcode/Archives/2016-08-22/excellencemag 2016-08-22 23.31.25.xcarchive"}
[23:40:45]: Could not find action or lane 'account_id'. Check out the README for more details: https://github.com/fastlane/fastlane/tree/master/fastlane

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | slack                               | 0           |
| 4    | increment_build_number              | 1           |
| 5    | increment_version_number            | 0           |
| 6    | get_version_number                  | 0           |
| 7    | update_info_plist                   | 0           |
| 8    | update_info_plist                   | 0           |
| 9    | produce                             | 7           |
| 10   | match                               | 21          |
| 11   | cert                                | 3           |
| 12   | sigh                                | 4           |
| 13   | cocoapods                           | 31          |
| 14   | gym                                 | 172         |
| 15   | slack                               | 1           |
| 16   | pilot                               | 388         |
| 17   | get_version_number                  | 1           |
| 18   | slack                               | 0           |
| 19   | clean_build_artifacts               | 0           |
| 20   | slack                               | 0           |
+------+-------------------------------------+-------------+

[23:40:45]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...

Found no similar issues. To create a new issue, please visit:
https://github.com/fastlane/fastlane/issues/new

[!] Could not find action or lane 'account_id'. Check out the README for more details: https://github.com/fastlane/fastlane/tree/master/fastlane

Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
platform :ios do |options|
  before_all do |options|
    ENV["SLACK_URL"] = "https://hooks.slack.com/services/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"
  end

  desc "Runs all the tests"
  lane :test do |options|
    scan
  end

  desc "Fetches the provisioning profiles so you can build locally and deploy to your device"
  lane :certs do
    slack(message: "certs", success: true)
    match(
          app_identifier: "com.tmc.*",
          type: "development",
          git_url<EMAIL_ADDRESS>          force: true
        )
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do |options|
    # match(type: "appstore") # more information: https://codesigning.guide

    #increment_build_number

    # account_id = "cd15db86-4007-4277-969b-4e098255f27c"

    account_id = options[:account]

    slack(
     default_payloads: [],
     message: "Building #{account_id}..."
    )

    #increment build numbers
    increment_build_number
    increment_version_number(
      bump_type: "patch" # Automatically increment patch version number
    )
    get_version_number

    $accountDetails = buildApp(account_id)
    puts 'com.tmc.' + $accountDetails['tmc_app_build_name']

    slack(
      default_payloads: [],
      message: "App " + $accountDetails['tmc_app_name'] +" has been built successfully!"
    )

    #
    # Pilot still has some...issues...
    # how to use manually...
    # pilot upload -i "globalgolfpostmag.ipa" -a "com.tmc.globalgolfpostmag.ipa" -p<EMAIL_ADDRESS>    #
    #
    pilot(
      skip_submission: true,
      distribute_external: false,
      skip_waiting_for_build_processing: true
    )

    ver = get_version_number
    slack(
      default_payloads: [],
      message: "App " + $accountDetails['tmc_app_name'] +" version " + ver + " has been uploaded successfully!"
    )

    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

  desc "Deploy a new version to the App Store"
  lane :applesubmission do |options|
    # match(type: "appstore")
    # snapshot
    gym(scheme: "inkworthy") # Build your app - more options available
    deliver(force: true)
    # frameit
  end

  after_all do |options|
    clean_build_artifacts
    slack(
      default_payloads: [],
      message: "App #{account_id} was successfully released!"
    )
  end

  error do |lane, exception, options|
    slack(
      default_payloads: [],
      message: $accountDetails['tmc_app_name'] + " had error:" + exception.to_s,
      success: false
    )
  end
end

Environment
fastlane version (run fastlane -v):
fastlane 1.101.0
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
no
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?
no

ha! fair fastlane-bot, but no its not a codesigning issue.

I think your issue is that in the after_all section you are referring to account_id which is not set, hence it thinks it is a lane. You probably want to change that line to message: "App #{options[:account]} was successfully released!"

Thanks for jumping in @revile, that's correct 👍


Fix filepaths in useful diagnostic section for logs

Description
I was trying to diagnose an error on my mark 1 and noticed that the filepaths were incorrect in the useful diagnostic section. Updated the paths to be the correct paths and now I get the output I was expecting (included below)
Previous Behavior
root@mark_1:~# cat /var/log/mycroft-skills.log | grep -i error | grep -i picker
cat: /var/log/mycroft-skills.log: No such file or directory

root@mark_1:~# tail -f /var/log/skills.log
tail: cannot open _/var/log/skills.log_ for reading: No such file or directory
tail: no files remaining

New Behavior
root@mark_1:~# cat /var/log/mycroft/skills.log | grep -i error | grep -i pick
03:55:04.319 - mycroft.skills.core:load_skill:166 - ERROR - Failed to load skill: pick-number.pcwii
PermissionError: [Errno 13] Permission denied: '/opt/mycroft/skills/pick-number.pcwii/settings.json'
03:55:15.213 - mycroft.skills.core:wrapper:1052 - ERROR - An error occurred while processing a request in Pick Number Skill
PermissionError: [Errno 13] Permission denied: '/opt/mycroft/skills/pick-number.pcwii/settings.json'

Disregard the error, I installed the skill as the wrong user originally, but was able to fix that easily

root@mark_1:~# tail -f /var/log/mycroft/skills.log
04:37:02.455 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.mycroft.ai:443
04:37:02.921 - urllib3.connectionpool - DEBUG - https://api.mycroft.ai:443 "GET /v1/device/0b0cc4df-a286-4bb9-803d-ef1dfe1215d7/skill HTTP/1.1" 304 0

Hardware
Mark 1 Mycroft

Thank you so much @sarcasticadmin, these changes are excellent.

To protect yourself, the project, and users of Mycroft technologies we require
a Contributor Licensing Agreement (CLA) before accepting any code contribution.
This agreement makes it crystal clear that along with your code you are
offering a license to use it within the confines of this project. You retain
ownership of the code, this is just a license.
Please visit https://mycroft.ai/cla to initiate this one-time signing. Thank you!

Kind regards,
Kathy

Changes are 100% correct, just waiting on CLA before merging.

Thanks @kathyreid! I just initiated the CLA as well.

Awesome many thanks!

I haven't seen a request come through.  Can you either resubmit via https://mycroft.ai/cla or directly send me an email<EMAIL_ADDRESS>with your real name and email address so I can send you the digital signature request.

Steve

Checking with @penrods - has CLA been rec'd as yet?
Best, K.

I have not seen a CLA request or email yet.

@penrods @KathyReid I resubmitted the CLA and emailed @penrods on Tuesday 4/23 but it doesnt sound like either reached you.
I just send out another email with a different email account to @penrods and @KathyReid so hopefully you get that this time around? 🤞

@kathyreid steve and I were able to figure everything out, CLA signed and I got the confirmation yesterday evening

@sarcasticadmin awesome. Our process is to wait until the Contributor is added to our Contributors repo, @penrods is really good about doing this - it's Saturday night-ish where he is so I won't ping him directly until Monday.
It sounds like a really big process, but it's one-time only - basically in the future if you make any other PRs - and we'd love it if you did! - then I compare your username to the Contributors repo and add a CLA:Yes tag. So it's a bit of a hurdle now, but then we don't need to worry about it for any other PRs in the future.
TL;DR the changes here are excellent, one minor step to go and then I will merge :smile:
Again, we really appreciate your efforts!


[MM-37064] - Onboarding flow is showing for existing users

Summary
This PR addresses the following issues with the onboarding process:

Because onboarding was recently opened for self managed accounts, existing users were seeing the onboarding flow as well. In this PR we check if a user account has existed for some time (5 days) and we don't show the onboarding flow. They can instead access it from the main menu
If onboarding is not showing, switching between threads view and channel view will not show it
Switching between threads and channel view hides the onboarding flow. Also switching between channels hides the onboarding flow. The user can always access it from the main menu

Ticket Link
MM-37064
MM-37106
MM-37105
QA Steps
Test 1

Create an instance and add some users. We need the user that we're going to test to stay on this server for 6 days (we temporarily alter code to make it shorter)
Add several teams and enable threads from the account settings > display
For a user that has stayed more than 6 days on the server, the onboarding should not show up

Test 2 (can be done immediately)

Now create a new user. and log in with that user. Add that user to all the teams on the server
When logged in, the onboarding flow should show for this user.
Test these scenarios. Switching between teams should hide the onboarding and it can then be got again from main menu > Getting started
Switch to thread view and refresh. Onboarding should show there instead of threads. Switch between thread and channel for the current team. The onboarding should disappear.
Now switch to channel and refresh. Once again the onboarding shows up. Switch between channels and the onboarding should disappear.

Release Note
None

Code looks good, but I did have a question about the approach. Is there a way instead that we could check if the user has ever logged in as well? I'm just wondering if there's ever a case where a user could be created a week in advance but the user can't login until later. For example, hiring a new employee that doesn't start for at least a week.

@devinbinnie Yes, I considered that scenario, but I looked at the user model and I couldn't see any field or information that points to that direction. I'll try asking the in the server channel.

@stevemudie since this ticket addresses 3 tickets at once. I have added QA steps to PR description above

Code looks good, but I did have a question about the approach. Is there a way instead that we could check if the user has ever logged in as well? I'm just wondering if there's ever a case where a user could be created a week in advance but the user can't login until later. For example, hiring a new employee that doesn't start for at least a week.

@devinbinnie @AGMETEOR
Agreed that it can get tricky just checking the last 5 days. The most correct approach here would be to update all existing user preferences and toggle the hide onboarding for them. However, wondering if we can just to a more simple approach and check if the user was created before the release of the feature we just don't show it and any new users after the release will see the on-boarding properly (regardless of when they created the account and if they log in 5 or more days later)

Code looks good, but I did have a question about the approach. Is there a way instead that we could check if the user has ever logged in as well? I'm just wondering if there's ever a case where a user could be created a week in advance but the user can't login until later. For example, hiring a new employee that doesn't start for at least a week.

@devinbinnie @AGMETEOR
Agreed that it can get tricky just checking the last 5 days. The most correct approach here would be to update all existing user preferences and toggle the hide onboarding for them. However, wondering if we can just to a more simple approach and check if the user was created before the release of the feature (5.38) we just don't show it and any new users after the release will see the on-boarding properly (regardless of when they created the account and if they log in 5 or more days later)

I would personally be much more in favour of the migration script over anything. I'm not the biggest fan of looking through audit tables as I assume those queries aren't well optimized. I'm also not a fan of writing temporary code checking for a specific version, I feel like that would be prone to issues as well.

@AGMETEOR On the Spinwick I’ve logged in using my<EMAIL_ADDRESS>email address and have followed the steps you laid out above but wasn’t able to enable threads as it’s not an option in the account settings.
Is that element important for the 6 day test?

@AGMETEOR On the Spinwick I’ve logged in using my<EMAIL_ADDRESS>email address and have followed the steps you laid out above but wasn’t able to enable threads as it’s not an option in the account settings.
Is that element important for the 6 day test?

@stevemudie go the admin console and search threads, you’ll have to enable it there and then that option to enable it as well in the account settings will appear

go the admin console and search threads, you’ll have to enable it there and then that option to enable it as well in the account settings will appear

@AGMETEOR
Thanks! Sorry to bother!
I'd searched for it but didn't use "threads" as the search term. 🤦♂

go the admin console and search threads, you’ll have to enable it there and then that option to enable it as well in the account settings will appear

@AGMETEOR
Thanks! Sorry to bother!
I'd searched for it but didn't use "threads" as the search term. 🤦♂

No worries

Cleaning the test server as it is failing with the following error:
Failed to set plugin key value with options","error":"failed to delete PluginKeyValue: context deadline exceeded","errorVerbose":"context deadline exceeded\nfailed to delete PluginKeyValue\ngithub.com/mattermost/mattermost-server/v5/store/sqlstore.SqlPluginStore.CompareAndSet\n\tgithub.com/mattermost/mattermost-server/v5/store/sqlstore/plugin_store.go:104

Code looks good, but I did have a question about the approach. Is there a way instead that we could check if the user has ever logged in as well? I'm just wondering if there's ever a case where a user could be created a week in advance but the user can't login until later. For example, hiring a new employee that doesn't start for at least a week.

@devinbinnie @AGMETEOR
Agreed that it can get tricky just checking the last 5 days. The most correct approach here would be to update all existing user preferences and toggle the hide onboarding for them. However, wondering if we can just to a more simple approach and check if the user was created before the release of the feature (5.38) we just don't show it and any new users after the release will see the on-boarding properly (regardless of when they created the account and if they log in 5 or more days later)

I would personally be much more in favour of the migration script over anything. I'm not the biggest fan of looking through audit tables as I assume those queries aren't well optimized. I'm also not a fan of writing temporary code checking for a specific version, I feel like that would be prone to issues as well.

@devinbinnie @marianunez
I have been thinking we can do the opposite of what the migration script will do. I noticed that currently the onboarding will show up for existing users (on prem/ cloud) because in the db, recommended_next_steps preferences with names skip and hide are not explicitly specified. These only get added to the db if a user explicitly clicks skip getting started or hides when the onboarding shows up.
For example, one of the selectors that determines if we show onboarding or not is this one
export const isOnboardingHidden = createSelector(
    'isOnboardingHidden',
    (state: GlobalState) => getCategory(state, Preferences.RECOMMENDED_NEXT_STEPS),
    (stepPreferences) => {
        return stepPreferences.some((pref) => (pref.name === RecommendedNextSteps.HIDE && pref.value === 'true'));
    },
);

From the code above, because stepPreferences is an empty, [].some evaluates to false and we show the onboarding flow. This is the same for the other selectors like showNextSteps and showNextStepsTips.
We have 2 issues to solve:

Not showing onboarding to existing users (> 5 days from time of creation)
Be able to show the onboarding flow for new users

For the first issue, we know that if the onboarding is showing up for existing users, it's because they have not explicitly stated they want to hide or skip. We can therefore make a check that if they're older than 5 days (can change) and they haven't hidden or skipped. So older than 5 days and stepPreferences are empty array, we hide onboarding.
For the second issue, we can make it a point that, for any new users we create. We also save their next step preferences with skip and hidden false. This would be a change on the server.
Thoughts?

For the second issue, we can make it a point that, for any new users we create. We also save their next step preferences with skip and hidden false. This would be a change on the server.

@AGMETEOR I think this approach would work best so that we don't have to do a migration of existing users that involved doing an insert for each in the preference table - which could've been expensive for servers with a big user base.
However, if we are now reverting to show if they have the preference enabled in the db, do we still need to check the 5 day old condition? I think the preference check inverted would be enough

For the second issue, we can make it a point that, for any new users we create. We also save their next step preferences with skip and hidden false. This would be a change on the server.

@AGMETEOR I think this approach would work best so that we don't have to do a migration of existing users that involved doing an insert for each in the preference table - which could've been expensive for servers with a big user base.
However, if we are now reverting to show if they have the preference enabled in the db, do we still need to check the 5 day old condition? I think the preference check inverted would be enough

Agree with @marianunez on dropping the 5 day rule.
I think one issue I had run across with checking for the inverse was that the preferences may not have loaded completely when the selector calculates, so the onboarding flow would flash in and out upon initial load. Though if that were the case, it should definitely happen here too since if there's no preferences it should show it.
But I think checking for the absence of the RecommendedNextSteps.HIDE pref makes more sense than what we currently have for sure.

For the second issue, we can make it a point that, for any new users we create. We also save their next step preferences with skip and hidden false. This would be a change on the server.

@AGMETEOR let's go ahead with this proposal so it's more robust for existing and new users. Do you want to do this change on another PR and maybe we can decouple from the issues of not showing when in thread view MM-37106 and coming back after team switch MM-37105?

For the second issue, we can make it a point that, for any new users we create. We also save their next step preferences with skip and hidden false. This would be a change on the server.

@AGMETEOR let's go ahead with this proposal so it's more robust for existing and new users. Do you want to do this change on another PR and maybe we can decouple from the issues of not showing when in thread view MM-37106 and coming back after team switch MM-37105 already fixed here?

I am going to break them up into smaller PRs tomorrow

Closing in favor of https://github.com/mattermost/mattermost-webapp/pull/8442

@AGMETEOR is there another PR that takes care of https://mattermost.atlassian.net/browse/MM-37106 and https://mattermost.atlassian.net/browse/MM-37105 ?

@AGMETEOR is there another PR that takes care of https://mattermost.atlassian.net/browse/MM-37106 and https://mattermost.atlassian.net/browse/MM-37105 ?

@marianunez yes https://github.com/mattermost/mattermost-webapp/pull/8437 and https://github.com/mattermost/mattermost-webapp/pull/8438


New library marisa-esp32

Please include marisa-esp32 to library registry!!

@ArduinoBot I fixed the issue. Please re-run the checks.


I don’t know if the attack is running successfully

Should i like compare the original key with both xor and retrieved key ? Im rly confused


No output when using mod

As far as I can tell, I have installed and configured the mod properly. The model's path is the correct absolute path, and the model is detected in game. When I press the keybind, it says "Recording and Recognizing" but then nothing happens.
I have two questions. First, am I supposed to hold the button while talking? Or just press it then talk?
Secondly, how can I figure out what's going wrong? I think java has access to my mic, but I don't know how to test it. I see in my windows settings that java is using my mic. Do I just have to wait longer?

Speech recognition is implemented using the AI algorithm provided by the Vosk API, which has a relatively low operating efficiency. Generally, a delay of 3-5 seconds is required after the user finishes speaking before there is a response. Of course, the first time the game is started, it may be slower, perhaps more than 30 seconds. However, if there is no response for too long, it indicates that the configuration is incorrect.
Firstly, you must speak while holding down your V button.
Secondly, this may require writing a console script using the Java+Vosk API to test whether your Java can access the computer's microphone properly, which can be quite cumbersome. Of course, it is generally possible to check if Java has access to the microphone in the privacy or permission settings section of the operating system, see README.md or Fix microphone problems | Microsoft Learn.
At present, this module only supports Windows and Linux operating systems, and other operating systems do not yet support it. Please recheck the game and computer configurations, hoping that this can solve your problem.

I have been playing around with it a bit, using some of your suggestions. I have been able to get it to output something I have said once (just the word test). This confirms for me that the configuration is correct. At the very least, java does have permission to read my microphone and the model is loaded correctly. I am on Windows.
Still, it is very inconsistent. As I said, I've only gotten it to work once despite testing many times. All other times nothing happens besides the little popup that indicates it is "Recording and Recognizing...". I have even checked the logs and see nothing of interest.
Here is a screenshot of my configuration screen. Currently the only things I have modified are the path to the model and the prefix. The default prefix seems to be somewhat unsupported in my font, so I have been messing with it a little bit. The one time I got it to work it was set as [input]. But I doubt this has much to do with my issue.

I appreciate your assistance so far!

Oh my. I have figured it out...
I was releasing the button early! With all the talk about being patient and possibly waiting multiple seconds, I expected to have to release the button before it would start recognizing. Instead, I realize now that I have to hold the button until the text sends.
Thanks for you assistance! Have a great day.

Congratulations!
If your computer has sufficient storage space, you can use this vosk-model-en-us-0.22-lgraph for English models, with a size of 128Mb, which is still reasonable for personal computers and has higher accuracy. Of course, if you want to save computer storage space, choose vosk-model-small-en-us-0.15.
Wishing you a pleasant game!😊


request for comments - shortest matching directory

Well, a long time ago I put in some code that, when multiple directories match the query, and they all have the same prefiz, z will go to shortes directory no matter what the ranking turns out.
So if I have
10  ~/Documents/dev/
100 ~/Documents/dev/z/

i will always go to the shorter one for z ocu.  But if I have:
10  ~/Documents/dev/
20  ~/oculus/
100 ~/Documents/dev/z/

the behavior will be as expected for the .
I put this code in place and forgot about it for the most part, returned to it lately when I realized how poorly written it was, and realized that the whole thing is arguably The Wrong Thing To Do, or at least Something Undocumented The People Might Resent. I'd like to talk about why I did it, and request comments.
Shorter directories get lost in z. Without this behavior, in the above example, it's annoyingly tough to get to ~/Documents/dev/ as ~/Documents/dev/z/ swallows up most of its regex. So I wanted to weight common prefixes  highly.
On one hand, this approach has a tendency to throw away all the ranking info at the last second, and could give unfair weight to a rarely used directory containing several frequently used directories. However, it seems to me you'd tend to acces those frequently used directories with an mnemonic unique to them, that the parent directory would not match.  In my usage, I find myself typing z ocu to get to ~/Documents more than I find myself irritated it didn't go to highest ranked subdir of it.
It may be telling that this code has been in place for a long time, and that I am rarely surprised at where z goes. It's felt pretty intuitive. I could make this configurable maybe, but then should it be the default?

This shouldn't affect tab completion. Regarding cycling behavior, that's a readline configuration, and would be taken care of with bind '"\t":menu-complete' in .bashrc, or "\t": menu-complete in .inputrc


[#131407] Fix service worker version check in browsers

This PR fixes #131407
When a service worker is started, the creator sends a message to verify its version. Sometimes this message was being sent to an older, already existing service worker. As a result, the workerReady promise would never resolve and the webview would stay in a loading state.
The best way I found to test this was to load a jupyter notebook ("Jupyter: Create New Blank Notebook) in a browser environment (I used https://github.com/cdr/code-server for that) in Firefox. It happens in Chrome too (~10% of the time), but it's more common in Firefox (~50% of the time).

Thanks for looking into this!


Allow optional belongs_to

For #113. I used the same type of Union check you used in the LuckyRecord::Model.field method to get the model class and pass it to field.
LuckyMigrator looks close to done for now so I hope you don't mind if I help out around here. :)

K I refactored the forms into BaseBox and the specs are passing. I made @record nilable because it's not set when the form is created with initialize, then added a not_nil! call on build.

Wonderful job 💯


[Docs] emotionCache global selector plugin affects styles

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
No response
Current behavior 😯
While working with the docs, I noticed that all anchors and buttons have a box-shadow on hover. Doing some investigation I discovered that emotion custom plugin removes component class selector & and propagates the styles to global scope.
The plugin is transforming:
.css-uk1x50-MuiPaper-root:is(a, button) {
  &:hover: {
    boxShadow: 0px 4px 20px rgba(170, 180, 190, 0.3)
  }
}

into
:is(a, button) {
  &:hover: {
    boxShadow: 0px 4px 20px rgba(170, 180, 190, 0.3)
  }
}

This should be fixed, because while debugging I've observed that there are multiple styles propagating to the global scope.
Expected behavior 🤔
I expect the CSS selectors to remain unchanged.
Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
System:
    OS: macOS 13.3.1
  Binaries:
    Node: 20.0.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.6.4 - /usr/local/bin/npm
  Browsers:
    Chrome: 113.0.5672.126
    Edge: Not Found
    Firefox: 113.0.1
    Safari: 16.4

Thanks for reporting. We are already aware of this and it will be fixed in #37362.


Calc's "buildValueList" for sort should NOT be doing flatmap for an array of objects ...

Not only that, but the "nullCheck" for an array (or object) has a misleading error message: Value of objArr must not be null when it is really objArr[27] that is the problem.  So we need to add additional context to the context message in this case.


Consider supporting pathlib.Path within Dask Arrays .to_zarr(...) method

Not sure if this should be raised in maybe the zarr repo, and I've looked through previous issues and couldn't find anything regarding this - it's feels like the Dask Array .to_zarr(...) method could support pathlib.Path (directly, i.e. without having to turn it into a str):
Dask Version: 2021.7.2
>>> import pathlib, dask.array as da,  numpy as np
>>> da.from_array(np.array([1])).to_zarr("file.zarr")  # works
>>> da.from_array(np.array([1])).to_zarr(pathlib.Path("file.zarr"))  # yields:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File ".../lib/python3.8/site-packages/dask/array/core.py", line 2649, in to_zarr
    return to_zarr(self, *args, **kwargs)
  File ".../lib/python3.8/site-packages/dask/array/core.py", line 3381, in to_zarr
    z = zarr.create(
  File ".../lib/python3.8/site-packages/zarr/creation.py", line 136, in create
    init_array(store, shape=shape, chunks=chunks, dtype=dtype, compressor=compressor,
  File ".../lib/python3.8/site-packages/zarr/storage.py", line 352, in init_array
    _init_array_metadata(store, shape=shape, chunks=chunks, dtype=dtype,
  File ".../lib/python3.8/site-packages/zarr/storage.py", line 382, in _init_array_metadata
    elif contains_array(store, path):
  File ".../lib/python3.8/site-packages/zarr/storage.py", line 96, in contains_array
    return key in store
TypeError: argument of type 'PosixPath' is not iterable

In particular I've noticed that Dask DataFrame .to_parquet(...) supports this:
>>> import pathlib, dask.dataframe as dd, pandas as pd
>>> dd.from_pandas(pd.DataFrame({"a": [1]}), npartitions=1).to_parquet(pathlib.Path("file.parquet"))  # works

Many thanks for these awesome libs!

Thanks for raising an issue @asmith26! The error you're running into looks similar to https://github.com/zarr-developers/zarr-python/issues/601. It looks like zarr itself doesn't have full support for pathlib.Path objects yet, but that it is currently in the works (xref https://github.com/zarr-developers/zarr-python/pull/768). I agree it would be reasonable for Dask to support them
cc @martindurant

fsspec handles Path objects in a few places (e.g., fsspec.open), but not generally, because there is no consensus on how to represent non-local paths.  I think zarr will defer to fsspec only if the path is URL-like (containing "://" or "::" - but probably not knowing to convert to string first), and fsspec.get_mapper does not support Path.
Do you think a Path is implicitly local?

Thanks for all the answers.

Do you think a Path is implicitly local?

That's a good question - I had a little Google and would consider pathlib.Path to be intended only for local paths. In particular:

I couldn't find any mentions of remote/s3/cloud/,.. in the main docs.
pathlib.Path supports a .home() method, whilst for example s3 does not have the concept of "home"(as far as I'm aware?)
Looks like a third party lib for using pathlib.Path with s3 has been created: https://github.com/liormizr/s3path

That said, I'm certainly no expert on pathlib.Path, so all thoughts/corrections very welcome.

I encourage you to comment at https://github.com/drivendataorg/cloudpathlib/issues/96 to push support for pathlib with fsspec. That would solve this kind of issue, without dask's explicit involvement, for local and remote paths both.

It looks like zarr itself doesn't have full support for pathlib.Path objects yet, but that it is currently in the works (xref zarr-developers/zarr-python#768)

That PR is now merged; zarr will accept pathlib.Path in its convenience methods and store constructors (although it does so by normalising to str).

Zarr's convenience methods accept Path objects as of 2.9.0: https://zarr.readthedocs.io/en/stable/release.html#enhancements

I just reran the original reproducer with zarr=2.9.0 and it worked as expected, so I think we can safely close this.

I could create a new issue it's so close to this one: while to_zarr works as expected, from_zarr still raises the error mentioned in the original post. It'd be great if it worked both ways!
Just tested with zarr=2.10 and dask=2021.09.0

A new issue, or a PR, for from_zarr would be very welcome : )


[Metrics] Can't find / acquire lock files in distributed multi-node shared file system

Hello,
I'm facing an issue when calling .compute in distributed multi-node setting.
The symptoms are the same as in huggingface/datasets#4420 , however I'm not sure the cause is the same (the code modification did not solve the issue, but I didn't try lockf)
Environment

evaluate v0.4.0
PyTorch v2.0.1
2 nodes of 8 GPUs each (16 processes), with shared file system
script called with torchrun from SLURM

I get the following errors:
For processes on the first node (0-7, here 4 is reported):
[node1:4]:ValueError: Couldn't acquire lock on /.hf_cache/metrics/accuracy/default/exp-16-rdv.lock from process 4.

For processes on the second node (8-15, here 15 is reported):
[node2:7]:ValueError: Expected to find locked file /.hf_cache/metrics/accuracy/default/exp-16-0.arrow.lock from process 15 but it doesn't exist.

All metrics are loaded with the same experiment_id, and with the correct num_process and process_id arguments.
And of course all the files are present in the cache directory.
I really don't know how to further debug / solve this bug. Do you have any clue ?
It working properly in distributed mono-node setting.
cc @lhoestq

Any news respect to this issue? Experimenting same behaviour during multinode training with a shared filesystem.
Toni

The lock mechanism is based on the filelock package. Right now evaluate requires a filesystem compatible with filelock. But feel free to ask filelock authors and community if there's a way to make it work on your filesystem.

Hi, does anyone have any active workaround for this issue? This still seems to be happening in a multinode distributed setting inspite of the latest releases and the workarounds mentioned here :(

Hi! Are there any fixes for this? Currently experiencing it with the multinode slurm example of accelerate...


There is a responsiveness defect in presentation of Contribute/index.html

When the page is viewed at that browser-window width, in this portion of the Qucik-Edit explanation all text reflow has happened and the images are as shown.  The frame drawn around each of the two images is 640 pixels wide.
If, in an effort to have the images be larger, widening the browser window has a contrary effect.  A wide empty side-area snaps into view and the previous material is in a narrowed column.  There is no improvement in rendering of the two images.

Investigations

The edit-icon.png (the one shown with the Fork this  project ... Tooltip is 898 x 230 pixels, so it is reduced somewhat.  The two commit-related PNG files are 1200 pixels wide and compressed to be almost unreadable.  The edit-article.png is only 468 pixels wide and is enlarged nicely.
Pages elsewhere in Learn documentation often have a right sidebar that emerges when the page is widened.  That is not happening here.  I did not search very far for pages with other PNGs for images.

This is a side-issue encountered while investigating for issue #797

I downloaded the PDF of the contributor guide and experience a similar problem to that of the first image.  The reflow is slightly different but the layout is comparable to the first image.  The Propose Changes and Comparing Changes images are borderline illegible.

@orcmid - Thank you for investigating this issue. I've updated the images so they're larger on the page and representative of the UI changes since the page was last updated. Unfortunately, I can't do anything about the responsive design element of the platform.


Document or Allow Postgres PSQL Parameterization From Sqitch

PSQL allows for variables to be passed on the command line that allow for SQL script interpolation. This allows a great deal of flexibility in deployment. More importantly it takes user/password strings out of code and allows the configuration management tooling to own secrets management.
Is there a way to pass variables into sqitch that allows them to be available to the underlying database connection manager?
An example of a non-sqitch deploy would be
psql --file=${i} -h ${dbhost} -p ${dbport} -d "postgres" -U ${dbuser} -v admin_role=${dbuser} -v user_password=${dbpassword}

With the example code being
BEGIN;
  CREATE USER some_user WITH PASSWORD :'user_password' VALID UNTIL 'infinity';
COMMIT;

Yep, see the--set option and deploy.variables in sqitch help deploy.
Also, consider joining the mail list for posting questions.

You are amazing. Thanks.
And will use the mail list going forward.