[HOLD for payment 2023-06-07] [$1000] Misleading right-click on email linked to URL

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 staging.new.expensify.com
Send an email linked to a URL (e.g. [test@google.com](google.com) )
Right click on the message

Expected Result :
Since the message is an email with a link, the message should be "Copy URL to Clipboard", and after selecting the menu, the URL is copied
Actual Result :
The message is "Copy Email to Clipboard", but after selecting the menu, the URL is copied - this is confusing for the user.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
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://github.com/Expensify/App/assets/43996225/0ba0d283-e1cd-46c6-bc99-dad5f2b92792
https://github.com/Expensify/App/assets/43996225/4869975f-5981-460b-aa4e-a1d5e3bbc91e
Expensify/Expensify Issue URL:
Issue reported by: @kerupuksambel
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684029611911239
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0185cc75d081384f04
Upwork Job ID:<PHONE_NUMBER>145203712
Last Price Increase: 2023-05-15

Proposal
Please re-state the problem that we are trying to solve in this issue.
Right-click menu on email linked to URL shows Copy email to clipboard.
What is the root cause of that problem?
The root cause of this issue is that we determine the type of context menu by props.displayName of BaseAnchorForCommentsOnly here
https://github.com/allroundexperts/Expensify/blob/293f23b57be2bca3f3eb0af903d5e0c2894cb36a/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly.js#L53
and props.displayName is the text of anchor tag see here
https://github.com/allroundexperts/Expensify/blob/293f23b57be2bca3f3eb0af903d5e0c2894cb36a/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L24
which is buggy because

A normal link can also has an email address as the text, like [test@gmail.com](https://google.com)
An email can also has normal text as the text, like [this is an<EMAIL_ADDRESS>
A markdown link
[test@gmail.com](https://google.com)

is rendered as anchor tag
<a href="https://google.com" dir="auto" rel="noreferrer noopener" target="_blank" role="link" class="css-text-1rynq56" data-testid="a" style="color: rgb(90, 176, 255); font-size: 15px; text-align: left; font-family: ExpensifyNeue-Regular, "Segoe UI Emoji", "Noto Color Emoji"; line-height: 20px; text-decoration-line: underline; text-decoration-color: rgb(90, 176, 255); user-select<EMAIL_ADDRESS>
So, the value of props.displayName for BaseAnchorForCommentsOnly is<EMAIL_ADDRESS>and method Str.isValidEmailMarkdown returns true here
https://github.com/allroundexperts/Expensify/blob/293f23b57be2bca3f3eb0af903d5e0c2894cb36a/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly.js#L53
That's why right-click menu on email linked to URL shows Copy email to clipboard.
What changes do you think we should make in order to solve the problem?
To fix this issue, we can check if the href property of anchor tag is started with mailto: to determine it's an email address. Note that we format anchor tag for email in ExpensiMark.js, see here and here.
We improve the checking condition here
https://github.com/allroundexperts/Expensify/blob/293f23b57be2bca3f3eb0af903d5e0c2894cb36a/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly.js#L53
to
props.href.startsWith('mailto:') ? ContextMenuActions.CONTEXT_MENU_TYPES.EMAIL : ContextMenuActions.CONTEXT_MENU_TYPES.LINK,

Below are useful test cases to verify the solution
[test@gmail.com](https://google.com)

[this is an<EMAIL_ADDRESS>
[test@gmail.com](https://test.com/mailto:)

What alternative solutions did you explore? (Optional)
N/A

This isn't typical behaviour I've seen, so asking here: https://expensify.slack.com/archives/C049HHMV9SM/p1684113182168159?thread_ts=1684029611.911239&cid=C049HHMV9SM

Proposal
Please re-state the problem that we are trying to solve in this issue.
Right-click menu on email linked to URL shows Copy email to clipboard.
What is the root cause of that problem?
The root cause of this issue is that the markup-check module in App/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly.js

isValidEmailMarkdown function of node_modules/expensify-common/str.js was not written against all possible use cases.

This common function checks only if the props.displayName is either Email or Hyperlink, so needs to be improved so that it will display Copy URL to clipboard for email with hyperlinks messages.
What changes do you think we should make in order to solve the problem?
To fix this issue, we can give a minor tweak to the current code like this.

What alternative solutions did you explore? (Optional)
We can show two options like Copy URL to clipboard and Copy Email to clipboard at the same time when right-clicking.

@fedirjh Have you had a chance to review these proposals? I like @allroundexperts proposal, but want a second opinion.

@fedirjh I think @allroundexperts 's proposal is not perfect enough to address test case like
[test@gmail.com](https://test.com/mailto:)

Can I have your feedback about my proposal?

@fedirjh @jasperhuangg  I believe there're multiple cases that the selected proposal will fail at:

[test@gmail.com](https://test.com/mailto:)
[test<EMAIL_ADDRESS>(In both cases it will show "Copy email" here while the correct one to show is "Copy link")

Also I think the proposals are not the same solutions, I'd appreciate a more thorough reviews here. I believe for small issues, the completeness of the proposal matters.

@fedirjh Changes described here are different from detecting if href is a mail link, but provide a different fix than what was originally requested. I was also thinking of the option to let the user see "Copy email" and actually copy the email as the link may easily be pressed and opened, while the email has to be manually copied, but this is also a different fix.
If you want to go with checking if href is a mail link, you may go with the one you intend, just making sure you saw these options.

I see that all proposals have the same concept which is detect if the href is a mail link

@fedirjh hi just checking, did you see the alternative solution in here?, it detects the href is a mail link and also the href must match the displayName to make sure it's the auto-email. I'm not sure why it's considered the same since detecting mail link is only one part of it.

@fedirjh hmm just to confirm with you.
Currently
<EMAIL_ADDRESS>[test<EMAIL_ADDRESS>
will currently both render as links, not as is, we're accepting emails in the href part of the link. You're saying that's not correct and they should instead be rendered as is, with emails becoming auto-emails right?
I'm not sure if it's expected that way since what we're doing is consistent with how Github does it.

@fedirjh I think it's not a bug, it's intentional, there's even test cases to cover it in expensify-common, see here https://github.com/Expensify/expensify-common/blob/879df466155918ec0e0a6b36176af4211302b184/tests/ExpensiMark-HTML-test.js#L483
Unless we have made a change of mind somewhere along the way.

@fedirjh hi just checking, did you see the alternative solution in https://github.com/Expensify/App/issues/18912#issuecomment-1547654876?, it detects the href is a mail link and also the href must match the displayName to make sure it's the auto-email. I'm not sure why it's considered the same since detecting mail link is only one part of it.

@fedirjh Given that it's a not a separate bug, do you think my proposal actually fixes the issue in a broader scope, rather than being the same as the selected proposal?

@fedirjh If you're going to conduct another round of reviewing proposals, I really hope you would review @dukenv0307 's proposal and my proposal together because there's only a slight difference between them. The only difference is that I think email link like
Please [email<EMAIL_ADDRESS>if you have any questions

should show Copy email to clipboard as well.
@dukenv0307 Thank you for the great discussion above!

We also shouldn't assume all anchors that starts with mailto: as emails, because if we add an email using link markdown like [email](test@gmail.com), it is still a link, not an email (as confirmed here) and when copying, the user will copy the mailto:... link signature.

@fedirjh @eh2077 I've mentioned it in my proposal already. In @eh2077 's scenario
Please [email<EMAIL_ADDRESS>if you have any questions

It should show as Copy URL to Clipboard, not as @eh2077 suggested. That case has been discussed before in here and that was the agreement.

@fedirjh @dukenv0307
As we pass property href to format the value to save in clipboard, see here
https://github.com/Expensify/App/blob/a5c47370e4367f652e3e0ccc4568e212abcd88f3/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly.js#L52-L57
and here
https://github.com/Expensify/App/blob/a5c47370e4367f652e3e0ccc4568e212abcd88f3/src/pages/home/report/ContextMenu/ContextMenuActions.js#L142-L148
, so we actually don't need to care much about what the text part looks like. IMO, what we need to fix here is to make right-click message prompt what's exactly to copy, email or url.
So, as long as an anchor tag is linked to an email address, the right-click message should show Copy email to clipboard. For example following anchor tags(after rendering)
Please [email<EMAIL_ADDRESS>if you have any questions
[test<EMAIL_ADDRESS>
Both should show message Copy email to clipboard.
See demo video
https://github.com/Expensify/App/assets/117511920/90636407-b114-4fcb-bd0e-154d8cebaf57
I think we can also let the product team to decide what the expected behaviour should be.

@eh2077 it was discussed before here already and it was agreed that in such case it will copy link, not email. If you'd like another round of discussion I'd suggest to make a feature request on Slack.

Apologies, missed this. I agree we should go with that proposal, assigning!

Everyone's been hired

Paying today. PR merged after 5 days, so no bonus.

Everyone has been paid. @fedirjh and @allroundexperts - could you complete the checklist please?

@jliexpensify Am I eligible for a report bonus for pointing out a related issue about copy email? It's been fixed, see PR comment https://github.com/Expensify/App/pull/19599#discussion_r1206353620 and my proposal.
@fedirjh Would you like to share your thoughts on this? I think you would have full context about what I mentioned as you made a great summary of previous discussions here https://github.com/Expensify/App/issues/18912#issuecomment-1553771372
cc @jasperhuangg

@eh2077 is there a separate reporting GH that was raised that you can link me to?

Was there a bug-reporting GH that you can link me to?

@jliexpensify Am I eligible for a report bonus for pointing out a related issue about copy email? It's been fixed, see PR comment #19599 (comment) and my proposal.

@jliexpensify I didn’t file another bug report about it because I was thinking to fix it together in this issue at the beginning. I also mentioned in the slack thread when we first discussed reproduction of the bug, see https://expensify.slack.com/archives/C049HHMV9SM/p1684113923020359?thread_ts=1684029611.911239&cid=C049HHMV9SM.
I hope the links I included and @fedirjh 's last comment will be helpful for you to evaluate the case, thank you!

Thanks for the context, I'm not sure of the process here so I'll surface this internally and get back to you.

Apologies, I was OOO yesterday, checking the thead now.

@eh2077 - unfortunately we won't be paying you a reporting bonus here: we'll only pay a bug reporter this bonus if they have initially reported it and it's on a GH. This is our process and it's not something we can deviate from, for fairness. We do appreciate your contributions here and that you've gone above and beyond to help us discover additional issues that were fixed.
In the future, I would encourage you to raise a separate bug report for a GH to be created, this will ensure you'll get the reporting bonus (if applicable).


please add a server sample

Please add a server sample as well. i was looking in to this library to use.

I will try to get to this sometime later, but for the time being I'd recommend taking a look at the test code: https://github.com/nibanks/msh3/tree/main/test.


exp(x) or e^x uses large amounts of CPU and stalls on certain fractional values of x

Reproduce:
> e^(27) - Finishes immediately
> e^(27.5) - Finishes immediately
> e^(27.2) - Takes ~0.5s
> e^(27.02) - Stalls for a very long time, CPU usage jumps to 100% for a single core.
This is what I was trying to calculate when I encountered this error:
> i_c = 1mA
1 mA
> V_BE = 700 mV
700 mV
> V_T = 25.9mV
25.9 mV
> I_S = i_c/(e^(V_BE/V_T))

FWIW, Rust handles this calculation just fine:
fn main() {
        println!("{}", (7000f64/259f64).exp());
}

This program runs in under 2ms on my machine.

That's caused by fend's use of arbitrary-precision rational numbers, whereas Rust just uses IEEE floats. You can see more details if you convert the result to a fraction, recurring decimal or use the @debug syntax:
> e^27 to fraction
approx.<PHONE_NUMBER>9970762789283426758302889490289073593035075381168284413165149457863448019443560038308652663029372407173133034187188198203530227022531144468164243048436419743231672197262698596401880358756231663807677873554780496591618620802013102132422771631202132895592568968622654004708277232900763313847146852329953703338684960782694101353219947446863967226592329017448548867417089293353625274093016683159372434331196180565832672571758355860417492167761609813402330327318284776798663/134217728000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
> e^27.5 to fraction
approx.<PHONE_NUMBER>83578120472327099102336051648588891081218191369003649549756465261102237007694301508372881808662903082913176552102059568082115284428876870020757975453400867141105099565295953712688575209108205397183707258374426781403808874708210432861342001914095701604030903209919368490400387089900836561769421738856582698458968020002830418041272551242205248340822299743175604579244285544934426857254150309544686793419110800332082802079197543970598348380920361750514942527896031224345516790791027454605093/128900542851112339337197566172636293436602828097556818643071353806407934059695734309972907673747870834094000335784678507293322920070947831195209259568499511900956414314278326484884929480771416380632206420244014065736775812876898350132867352375991098916942676657973164846916206028216383319550901096847223141834174168450619069759725048719635153047876725099735783918863724930189777266272673902695537815472186553026226219478545119405743007493993119787437285413407591711559323225333690952373
> e^27.2 to fraction
approx.<PHONE_NUMBER>45008595792312004199834380334566558039217527674867169262566023029354549269943291534961887369582253370460426881638164349592917950901274799523416458906691472153703346060457781788609633533139821812387071456979050923486512969399038206775262133433143361773945970688525768622521222728493571352973442796328965489495449459161143584925706880095313563041218468946730192905652506725148068702017021518610385894221154268975585519199351505986414513367725746690430552626085552932492426803039465939/831659873107350606924277819049736548700633569116847123534643389560993233870343316290740405696569335829481700412202030651741112523405216520520258103826026453388012603343813419649546013870839562212187369038410042140117845996513183282593695923409242650749857012844173483349342134770810346513633839847772060655240617712159520702992514401353445472955930171488373469508630213195254916073981130655838797234155989329158534728973598752721979215918401941864343725316964178712306695143072393
> @debug e^27.2
approx. [1,<PHONE_NUMBER>019563035,<PHONE_NUMBER>389802161,<PHONE_NUMBER>296097178,<PHONE_NUMBER>526752869,<PHONE_NUMBER>6386254273,<PHONE_NUMBER>2342358123,<PHONE_NUMBER>1359152354,<PHONE_NUMBER>3789417059,<PHONE_NUMBER>2594385684,<PHONE_NUMBER>834157573,<PHONE_NUMBER>525194504,<PHONE_NUMBER>4157425962,<PHONE_NUMBER>870136370,<PHONE_NUMBER>0018640278,<PHONE_NUMBER>9465341407,<PHONE_NUMBER>1555292251,<PHONE_NUMBER>530110076,<PHONE_NUMBER>4259590712,<PHONE_NUMBER>6511918406,<PHONE_NUMBER>3664032888,<PHONE_NUMBER>288895562,<PHONE_NUMBER>8586013691,<PHONE_NUMBER>566419210,<PHONE_NUMBER>4835022521,<PHONE_NUMBER>814783249,<PHONE_NUMBER>670374400]/[40168216,<PHONE_NUMBER>0075376544,<PHONE_NUMBER>2857862720,<PHONE_NUMBER>032474698,<PHONE_NUMBER>2722359081,<PHONE_NUMBER>9432783861,<PHONE_NUMBER>4813444287,<PHONE_NUMBER>375642309,<PHONE_NUMBER>730474920,<PHONE_NUMBER>609523491,<PHONE_NUMBER>8749672432,<PHONE_NUMBER>6478650636,<PHONE_NUMBER>418129549,<PHONE_NUMBER>525486289,<PHONE_NUMBER>1039766854,<PHONE_NUMBER>266583129,<PHONE_NUMBER>833909417,<PHONE_NUMBER>2336914986,<PHONE_NUMBER>187397321,<PHONE_NUMBER>1864546035,<PHONE_NUMBER>319372188,<PHONE_NUMBER>639125993,<PHONE_NUMBER>9954846079,<PHONE_NUMBER>467894906,<PHONE_NUMBER>5607522549,<PHONE_NUMBER>756097024] (unitless) (base 10, auto, simplifiable)

As a workaround, you can define your own less precise version of e, for example:
> e = approx. 2.718
> e^27.2
approx.<PHONE_NUMBER>35.3714207222

Unfortunately if your exponent has a lot of decimal places it will still be extremely slow. Any PRs to improve performance would be more than welcome!
I've also been considering adding a way to opt out of arbitrary-precision maths but this has also not been implemented.

I think a way to specify precision would be very helpful. I will see if I can try to figure out a way to make that work, keep in mind I have never contributed to an open source project before.

I've now merged in a performance improvement for exponentiation by decimal numbers, so calculations like e^27.2 should be quite a bit faster.

e^27.2 at least now shows 5 more decimals then is accurate also e^0.2*e^27 shows 9 more then is accurate, don't know if you know that

2^e takes alot of time also, it seems like you turn the number into a fraction but i can't find your fractions code to tell if it is fast or not, also 2^2.536543645276 should probably be computed as (2^(1/250000000000))^634135911319 instead of the big number first then the root. can't tell if that really matters for sure though. but probably is just best to use a taylors series to calculate this, i don't really see the benefit of what your doing

Fractions are too slow for this kind of computations in general, so for this case arbitrary precision floating point numbers are used if precision is an issue or just approximations using regular floats.


SIM108 suggested for code block that could have been simplified to an or

List of keywords you searched for before creating this issue: SIM108
A minimal code snippet that reproduces the bug.

if raw_data["subtest"]:
        test_id = raw_data["subtest"]
    else:
        test_id = raw_data["test"]

The command you invoked: pipx run ruff check --fix --select SIM unittestadapter/execution.py
The current Ruff version: 0.5.0

I would have expected the code block to be simplified to test_id = raw_data["subtest"] or raw_data["test"].

Makes sense, thanks!


about timm version

Could the author kindly share the version of timm used in this repo? I tried the code with latest timm but there is bug reported:
from timm.models import create_model, apply_test_time_pool, load_checkpoint, is_model, list_models, set_fast_norm
ImportError: cannot import name 'apply_test_time_pool' from 'timm.models' (/usr/miniconda3/envs/neglabel/lib/python3.8/site-packages/timm/models/init.py)
So I guess it's due to version mismatch.

I used timm 0.7.0.dev0.

Thank you for the answer!

I am leaving a message in the hope that it will be helpful.
There is no 0.7.0.dev0. so  I used timm 0.6.13 ....

I am leaving a message in the hope that it will be helpful. There is no 0.7.0.dev0. so I used timm 0.6.13 ....

Why do I use 0.6.13 still have this ImportError


Use large dataset

Hello. I had a problem with using a large dataset for semantic segmentation (more than 500k images 256 * 256). How do I load large amounts of data?
Is it possible to use this approach?
def get_image(count):
x_train = np.load('imgs_train{part}.npy'.format(part=count))
y_train = np.load('mask_train{part}.npy'.format(part=count))
return x_train, y_train
for e in range(10):
print("epoch %d" % e)
x_train, x_train = get_image(1) # these are chunks of ~10k pictures
model.fit(x_train, x_train, batch_size=32, nb_epoch=1)
x_train, x_train = get_image(2) # these are chunks of ~10k pictures
model.fit(x_train, x_train, batch_size=32, nb_epoch=1, validation_data=(x_test, y_test))

try using chunks of data rather than full dataset and use partial_fit method.
This might help with you.

I guess we need a guide for fit_generator.
A lot of people are asking this kind of questions lately.

Use this kind of code
image_generator = train_datagen.flow_from_directory(
'F:/Aerial Buiding Dataset/raw/train')
mask_generator = mask_datagen.flow_from_directory(
'F:/Aerial Buiding Dataset/raw/mask')

The problem is that I can not use the standard generator, since the size of the masks differs from the size of the original fragments (256 * 256 vs. 224 * 224). This is due to the fact that I use the Crop2D layer before network prediction to remove poorly predicted boundaries. So I implemented the following code. I hope this will work as I expect it to be:
`for e in range(int(epoch_ / (count_mini_batches))):
for i in range(count_mini_batches):
X_train, y_train = load_mini_batch(i)
		print("-"*30)
		print("local_epochs = "+str(i)+":"+str(count_mini_batches)+"    GLOBAL EPOCH = " + str(e) + ":" + str(int(epoch_ / (count_mini_batches))))
		print("-"*30)

		# Validate every 6 local epochs
		if i % 6 == 0:
			history = model.fit(X_train, y_train,
								batch_size=batch_sizes,
								epochs=1,
								verbose=1,
								shuffle=True,
								validation_data=(x_val, y_val))
                            # Save the weight of the model if the validation accuracy is the best
			clb_save_weights_the_best(history, suffix, model)
			save_history(history, suffix)

		else:
			history = model.fit(X_train, y_train,
								batch_size=batch_sizes,
								epochs=1,
								verbose=1,
								shuffle=True)

		del X_train
		del y_train`


Import stalled...

I have an issue where the import stalled and there is no way to kill the import. I uninstalled the plugin and reinstalled to no avail. I now have one stalled import and another one I setup that says pending. How can I rectify this so I can attempt another import? Thanks so much!

Seems like this explains my issue which is not related to Import. http://buildwithcraft.com/help/stuck-tasks.

Good thing you found it.


enable Log4J tests bye ensuring indy is really enabled by default.

Warning these tests will still fail in a mixed indy/old callsite mode.

I merged because I thought it passed locally but I must have been mistaken. It just broke the build quite badly - so I have reverted for now.

yes, I was wondering why you merged it... but the failures look like they are exposing problems with indy and related to method selection


[Storage] How to copy/rename a blob?

Forked from https://github.com/Azure/azure-sdk-for-js/issues/7194#issuecomment-580905453
@jtsmedley
jtsmedley commented 2 hours ago
Just start over on the documentation. It has been a nightmare to even try to find how to copy/rename a blob.
Really makes me want to switch to lesser known libraries with documentation that is readable. Your API reference is not.
@maggiepint
Member
maggiepint commented 2 hours ago
Hi @jtsmedley - this is something that I'm actively working on right now. We know that legibility in the refdocs can be problematic sometimes. I would love to know more details of what your biggest pain points are in more detail. Happy to follow up in this thread or to have a call if you were interested.
@jtsmedley
jtsmedley commented 2 hours ago
@maggiepint My main issue today is there is no reference to how to rename a blob which appears to need a copy instead, but I can't get the copy to work off the documentation.
@AlexGhiondea
Member
Author
AlexGhiondea commented 1 hour ago
@jtsmedley can you share more about the package you are using?

@jtsmedley
The Azure Storage Blob service doesn't provide a REST api to rename blobs. We didn't provide a helper function in our library either.  This sounds like a useful method that we may want to provide either in @azure/storage-blob, or another utility/convenience library on top of @azure/storage-blob. /cc @bterlson @XiaoningLiu @jiacfan @ljian3377
Meanwhile here's one approach that we could use as a workaround:
async function renameBlob(containerClient, existingName, newName) {
  // assume blob exists and names are different
  const blobClient = containerClient.getBlobClient(existingName);
  const newBlobClient = containerClient.getBlobClient(newName);

  const poller = await newBlobClient.beginCopyFromURL(blobClient.url);
  await poller.pollUntilDone();

  /* test code to ensure that blob and its properties/metadata are copied over
  const prop1 = await blobClient.getProperties();
  const prop2 = await newBlobClient.getProperties();

  if (prop1.contentLength !== prop2.contentLength) {
    throw new Error("Expecting same size between copy source and destination");
  }

  if (prop1.contentEncoding !== prop2.contentEncoding) {
    throw new Error("Expecting same content encoding between copy source and destination");
  }

  if (prop1.metadata.keya !== prop2.metadata.keya) {
    throw new Error("Expecting same metadata between copy source and destination");
  }
  */

  await blobClient.delete();

  return newBlobClient;
}

Copy to rename seems quite inefficient to me. Can we do better?

Copying should be completed immediately within the same storage account.  I am not aware of other ways unless service add support for it?

We won't support it as a helper function as it won't be guaranteed to be a atomic operation if we are calling copy blob underlying.
Should probably add more documentation on how to copy and rename a blob.

@ljian3377,

Should probably add more documentation on how to copy and rename a blob.

Where are you thinking of adding this documentation?

@ljian3377,

Should probably add more documentation on how to copy and rename a blob.

Where are you thinking of adding this documentation?

@ramya-rao-a Probably we can add a sample for copy since the asynchronous copy is complicate. And mention rename in that sample description in samples/README.md?
@jtsmedley
We do have @azure/storage-file-datalake which support renaming blob (HNS enabled) naturally.

@EmmaZhu can you please take this one?

I'll add a sample code to using async copy to rename a blob.

Copying should be completed immediately within the same storage account

I am currently seeing 10 seconds of time to complete a 16MB copy.


[Feature Request] kick or ban users

Is it possible to have kick or ban options or chat commands for admins? As if I use this for larger public events where there might be anonymous people and they don't behave, do things like spam etc, it would be neat to have some moderation features like this.

Will try to implement ip-based (i think?) bans and "blocked" group in free time, chat commands should be fine for start. Also need some badges in userlist to show blocked users.

Thank you! 😄

Let me know if this thing is not good enough.


DDEV escapes specific characters per default

I ran into an issue, where I couldn't run a composer command in ddev and I don't know exactly why, it seems that ddev escapes specific characters by default.
Command I would like to run:
ddev composer config --json extra.patches.package-mantainer/package '{"INSERT WHAT IT DOES": "PATH TO PATCH"}'
This will create a placeholder patch in my composer.json file.
If I run the command in ddev, I get the following error:

But if I run the command via ddev ssh it works just fine and creates the composer config I expect:

This is a problem since I would like to run a custom startup-command in "host" where I run this snippet. Unfortunately if I only run
composer config --json extra.patches.package-mantainer/package '{"INSERT WHAT IT DOES": "PATH TO PATCH"}', I'll get the error: composer: command not found
Appreciate any suggestions or changes! :)

Try this:
ddev composer config --json extra.patches.package-mantainer/package "'{\"INSERT WHAT IT DOES\": \"PATH TO PATCH\"}'"

Thank you! Working perfectly fine!

This is a duplicate of https://github.com/drud/ddev/issues/2547 - there's lots of explanation there why it happens.


"Invalid sector count" spam on world saving

Getting such spam when saving world. Worked fine with 19bb74e942.
Possibly thats breaks jmc2obj export
Logs uploaded to Github gist because looked awful directly in issue: https://gist.github.com/AntonIXO/778160b27ce3884b549429280e5e0130

I got the same error but in 1.21, any idea how to fix

I got the same error but in 1.21, any idea how to fix

jmc2obj author won't fix.
This should be fixed on minestom side.
But export works fine on 19bb74e942 commit. Before new anvil code.


something is wrong!

Actually, I have used various datasets including my own dataset, and I have got similar results like a result of clustering point-clouds. I don't know why.

the first one is plane, and the second one is a can.

Hi @kcujy233,
Thanks for your interest in our work. I am finding it difficult to understand the issue from your post. Could you please provide more information? Which dataset did you use to train the model, and how did you preprocessed the data? What is the resolution of the point cloud in the images?
Sami

I'm so sorry!!! I have made some problems that I have applied the wrong code to show the results. I will try it again. And I have a question that if I increase the generated points(such as from original 1024points to 8192points), what will happen. And how should I adjust my Discriminator. I am so apologized for my errors.

Increasing resolution from 1024 to, 8192 should increase the output point density.
The discriminator will be adjusted automatically based on whichever resolution it is currently discriminating.

Thank you very much for your reply!! It’s my great honor to learn from you. And I have also  encountered some problems:
1.I wonder whether the updated step be affected by batch_size? And whether the updated step inherit the model parameters which have been trained in step0.
2.Although I can read the code, I couldn’t completely understand the Discriminator or the k-nn how to work. From my perspective, maybe the value of ### k, are the number of the nearest-k-points around the vertex-point? And if I want to generate a sample like a board or flat(with no more features), should I adjust the number ### k to be smaller?
In fact, the value of mean-loss-functions of the Discriminator and Generator have almost converged, but the results are not entirely ideal.
This is my first exposure to Generative Adversarial Networks and even Deep Learning. I will appreciate it sincerely if you could answer my question.

Yes
Please refer to the paper for more details. The value of K is tuned depending on the experimental results. You can try out different values to accommodate your need.

Since the original problem occurred due to a coding error, I am closing this issue. Please open a separate one if needed.


Client-side validation

I am now using this sdk to do some develop. But usually i get the APIResponseError error.
APIResponseError: body failed validation.
I plan to write a simple validator in my code, and I'm curious if this feature will be added in the future.

Why not just let the API tell you the error?
Validating bodies would make the codebase much larger and harder to maintain; I really want to make sure it has a lot of benefits for users before going down this route.

Thanks for your response.
I am now writing a project that can convert books to notion type. and  i got the error blow.
APIResponseError: body failed validation: body.children[0].bulleted_list_item.children[1].paragraph.children[0].bulleted_list_item.children should be not present
But i didn`t find the detail of validate rule in notion api page.
Is this data structure too deeply nested? so i want to get the rule notion used.
In addition to this, i think that local validation will benifit the unit test. The request made by UT is of no value to the notion server.
All of the above are personal opinions, if  you think it is unnecessary, i will close this issue.
Finally, looking forward to  your answer to question marked in bolded format.

Here is the data i used.
[
    {
        "type":"bulleted_list_item",
        "bulleted_list_item":{
            "text":[

            ],
            "children":[
                {
                    "type":"paragraph",
                    "paragraph":{
                        "text":[
                            {
                                "type":"text",
                                "text":{
                                    "content":"用户接口层",
                                    "link":null
                                }
                            }
                        ]
                    }
                },
                {
                    "type":"paragraph",
                    "paragraph":{
                        "text":[
                            {
                                "type":"text",
                                "text":{
                                    "content":"",
                                    "link":null
                                }
                            }
                        ],
                        "children":[
                            {
                                "type":"bulleted_list_item",
                                "bulleted_list_item":{
                                    "text":[
                                        {
                                            "type":"text",
                                            "text":{
                                                "content":"Assembler ：将 CustomerDTO 转换为 CustomerEntity",
                                                "link":null
                                            }
                                        }
                                    ],
                                    "children":[

                                    ]
                                }
                            },
                            {
                                "type":"bulleted_list_item",
                                "bulleted_list_item":{
                                    "text":[
                                        {
                                            "type":"text",
                                            "text":{
                                                "content":"Dto：接收请求传入的数据 CustomerDTO",
                                                "link":null
                                            }
                                        }
                                    ],
                                    "children":[

                                    ]
                                }
                            },
                            {
                                "type":"bulleted_list_item",
                                "bulleted_list_item":{
                                    "text":[
                                        {
                                            "type":"text",
                                            "text":{
                                                "content":"Facade：调用应用层创建用户方法",
                                                "link":null
                                            }
                                        }
                                    ],
                                    "children":[

                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    }
]

All validation occurs after the post\patch request has been sent. But I need a stateless validation.
So notion-sdk-js can achieve my goals. Js2Py is one way. Also I can edit the code and make a node.js micro-service to use notion`s rule to validate my data structure.
Thank you for helping me find the way to solve the problem ~

You're welcome! If you end up using Js2Py, please keep me updated as I would love to see if that can be achieved that way.


proposal: errors: Fix infinite looping bug

Proposal Details
Consider the following error:
package main

import (
	"errors"
	"io"
)

type CustomWrapper struct {
	Err error
}

func (c CustomWrapper) Error() string {
	return c.Err.Error()
}

func (c CustomWrapper) Unwrap() error {
	return c.Err
}

func main() {
	var customWrapper = new(CustomWrapper)
	customWrapper.Err = customWrapper
	if errors.Is(customWrapper, io.EOF) {
		panic("eof")
	}
}

This program waits forever in the errors.Is call. I propose to update the is function to be the following:
func is(err, target error, targetComparable bool) bool {
	const maxDepth = 1_000_000
	for range maxDepth {
		if targetComparable && err == target {
			return true
		}
		if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(target) {
			return true
		}
		switch x := err.(type) {
		case interface{ Unwrap() error }:
			err = x.Unwrap()
			if err == nil {
				return false
			}
		case interface{ Unwrap() []error }:
			for _, err := range x.Unwrap() {
				if is(err, target, targetComparable) {
					return true
				}
			}
			return false
		default:
			return false
		}
	}
	return false
}

A better fix for this would be to keep a map of all the error nodes visited and return true if visiting the same node. This is tough as error is not guaranteed to be comparable and thus cannot be a map key (without handling panics). Open to suggestions but I think this is something that should be fixed.

Related Issues

proposal: errors: Is(err, target) should allow err to decide even when target is nil #39167 (closed)
proposal: errors: allow implementing err.Is(nil) == true #40673 (closed)
proposal: errors: allow implementing err.Is(err) == false #40675 (closed)
errors: discourage cyclic error types #34957 (closed)
proposal: errors: Is resolve nil error problem #40674 (closed)
errors: Is(nil) behaves unexpectedly #40442 (closed)
proposal: errors: change interface error #52447 (closed)
proposal: errors: simplified error inspection #32405 (closed)

Related Code Changes

errors: add Unwrap, Is, and As
encoding/json: implement Is on all errors

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

This is a dupe of #34957

I think the closing comment of #34957 applies, this should not be the errors package's responsibility


Support passing httptest URLs in api.ClientOptions

The standard library's httptest package makes stubbing APIs easy, if the client calls the test server's URL:
package main

import (
	"fmt"
	"net/http"
	"net/http/httptest"
)

func main() {
	tls := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}))
	defer tls.Close()
	fmt.Println("tls hostname - ", tls.URL)
	// prints: tls hostname - https://<IP_ADDRESS>:42002

	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}))
	defer ts.Close()
	fmt.Println("ts hostname - ", ts.URL)
	// prints: ts hostname -  http://<IP_ADDRESS>:35061
}

In api.ClientOptions, one of the configuration fields is Host https://github.com/cli/go-gh/blob/25db6b99518c88e03f71dbe9e58397c4cfb62caf/pkg/api/client_options.go#L38
for certain values the argument is returned unmodified https://github.com/cli/go-gh/blob/25db6b99518c88e03f71dbe9e58397c4cfb62caf/pkg/api/rest_client.go#L151-L154
I would like to propose adding another condition to the restURL function which would return the unmodified httptest server URL
if strings.HasPrefix(hostname, "https://<IP_ADDRESS>:") || strings.HasPrefix(hostname, "http://<IP_ADDRESS>:") {
	return hostname
}

This aligns with the conditional check on the prefix for the pathOrURL argument.
For reference, setting the ts.URL value to Host results in a URL similar to:

https://http//<IP_ADDRESS>:56261/api/v3/

as it satisfies this condition https://github.com/cli/go-gh/blob/25db6b99518c88e03f71dbe9e58397c4cfb62caf/pkg/api/rest_client.go#L163
I don't know if this means my proposed solution would break with Enterprises.
In writing this all out, I also realized that passing the hostname + path to client.Get, rather than just the api path, solves this issue.

Appreciate ideas for making it easier for extension authors to build better tests, a sentiment I believe @williammartin and I both support! ❤
I'm hesitant putting localhost/<IP_ADDRESS> specific logic into restUrl as such URLs should be URLs and return back unmodified from the existing logic.
That said, I can see the challenge behind convincing the api logic to treat a given URL as a GHES or GitHub tenancy host 🤔


chore(root) : Fix docker-compose base environment values

docker-compose up returns "contains true, which is an invalid type, it should be a string, number, or a null" in version 1.29.2.
The spec says :
https://github.com/compose-spec/compose-spec/blob/master/spec.md#environment
And indeed, in the map version (not the list in key=value) for the YAML properties, the True value must be quoted.
I don't really understand how it worked before, but maybe was it just a warning.

bien vu !
La 1.29.2 commence à dater un peu :sweat_smile: j'utilise la 2.21.0 perso

En effet je viens de metrte à jour du coup.


Auto-complete does not suggest a column name in a table if the column name is similar with some other sql keyword in a current language

Description
I want auto-complete to suggest me column name "castmethod" when I start typing "meth..." in where-clause of select-statement.
Application suggest me "METHOD" (most of users don't need this suggestion in this case, they will expect a column name).
User can also start typing not from the first symbol of a column and I don't see any reason for auto-complete to do not show suggestion in this case.
DBeaver Version
Community Edition 24.1.1
Operating System
Windows 10
Database and driver
No response
Steps to reproduce
https://github.com/dbeaver/dbeaver/assets/33929221/0e3c9be0-4ea9-406d-9cf6-9c81a35de1b7
Additional context
No response

Currently autocomplete suggests only if the beginning symbols match.

Hope this behavior will be enhanced in future

Thank you for idea.

Currently autocomplete suggests only if the beginning symbols match.

Are you sure?
Now I found another case.
Here is an example of suggestion a column that do not start with the beginning:


[Doctrine\DBAL\Exception\ConnectionException] external databse

I have error below:
Want to connect external mysql database with below parameters
$app->register(new Silex\Provider\DoctrineServiceProvider(), array(
            'dbs.options' => array(
                    'db' => array(
                            'driver'   => 'pdo_mysql',
                            'dbname'   => 'mydatabase',
                            'host'     => 'myexternalhost',
                            'user'     => 'mydbuser',
                            'password' => 'mypassword',
                            'charset'  => 'utf8',
                    ),
            )

));
my external host has ip myexternalhost= <IP_ADDRESS>
and when I execute php console generate:admin
I'm getting error below
[Doctrine\DBAL\Exception\ConnectionException]
An exception occured in driver: SQLSTATE[28000] [1045] Access denied for user<EMAIL_ADDRESS>(using pa  ssword: YES)
I have change the host with the IP address nothing change

This is a nice project but I think the developer has stopped working on it. Please try this new project: https://github.com/Muhammadinaam/speed-admin


Missing policies end point

https://docs.chef.io/api_chef_server.html#policies
Missing code to support the policies end points.

Chef may be picking this up.

polices has GET and DELETE methods
polices/name/revisions has a POST method
policies/name/revisions/ID has GET and DELETE methods

Working on merging code from chef/go-chef

Added by #182

The chef/go-chef folks are still working on this end point

Add a DELETE method and a test for DELETE.

fixed by #198


DLL dependencies

Hello, the TS-64 bit drivers install and work fine with PHP 7 on a number of Windows instances. I have a clean Windows 10 install with Visual Studio v2017-RC, Apache 2.4.23, PHP 7.1, ODBC13,. With this configuration php_sqlsrv_7_ts_x64 and php_pdo_sqlsrv_7_ts_x64 do not load. Any known dependency issue that I can fix or workaround?

@pierre1451 What is the error message?

PHP Startup: Unable to load dynamic library 'C:\ATDI\SpectrumE\PHP\ext\php_sqlsrv_7_ts_x64.dll' - The specified procedure could not be found. Path is good, did the usual: back/forward slash, absolute and relative path. When I point to the 32 bit dll instead (for sanity check), I get the '%1 is not a valid Win32 application' message. PHP paths are in the environment variables. I guess that covers most location / path issues. I have a number of other DLLs that I use: xdebug, mongo, ldap. They load fine and show-up in phpinfo().

I think I found something: replaced PHP 7.1.0 with PHP 7.0.10. (x64-TS). Now works! I used the github binaries and the ones from the MS download page, all good. It's kind of a big deal, because 7.1 fixes some bugs that are really annoying. Is it a known issue?

@pierre1451 Are you using 7.1 binaries in release 4.1.4?

Yep, that was it. Thanks for the help!


fix(alerts): update alert styling

Motivation
Updates Alerts to use PatternFly 4.
What
Update the Alert component and styles to utilize the PatternFly 4 version.
Why
In order to complete the move to PatternFly 4.
How
Change out the classes and colors associated with the old Alert styles/component. Remove old CSS that is no longer needed.
Verification Steps

Go to a Walkthrough
Verify that the 3 different options appear when interacting with "Check your work"
Verify that each status has a corresponding color
a. nothing selected = blue
b. Yes selected = green
c. No selected = read
Colors and icons should match between the Alert dialogs and the footer.

Checklist:

[x] Code has been tested locally by PR requester
[ ] Changes have been successfully verified by another team member

Progress

[x] Finished task

Additional Notes

Merge in the latest package.json and yarn.lock and you should be good to go.


Update for 2.0 compatibility

How about upgrading to bs2?!
See: http://markdotto.com/bs2/docs/base-css.html#forms

Duplicate.


Add warning about Base64 line feeds for implementers

Added warning in 'Note to implementers' section as is not something special about the NMOS implementation it is a general word of warning and applies to all decoding of base64 encoded data
Close #3

Examined on call. Slight rewording needed.


Add checks for DO NOT SUBMIT

@morganchen12 is this still relevant or should it be closed?

We can close it, it's a bit of a non-feature.


[FEATURE] Add Git and GitHub Tutorial to DevOps Roadmap

Description
Hey There! Am opening this Issue to add Git and GitHub tutorial to the DevOps roadmap. As it is necessary to learn but it's not added in the DevOps roadmap. It is available in @kunal-kushwaha's youtube channel. So Please add it to the respective stage. Am very much happy to contribute.
Screenshots

Additional information
I would like to work on this issue. So please assign this to me.
Thankyou!

Hey @VishwaS-22, the DevOps roadmap is not the appropriate place for the git and GitHub tutorial. It has already been added to the open-source roadmap.

@siddhant-khisty Thanks for the Review! Happy to contribute.


Read too far on MIDI using running status.

When trying to parse files using running status, naudio will throw a "Read Too Far" exception.
I included a file that triggers the issue.
notes.zip

I want to confirm that the file is not corrupted. I've checked it with DryWetMIDI and it was succesfully read by this library without any errors.

thanks for reporting. I get a slightly different error with the latest code - SMTPE event error. There is some code in MidiEvent that attempts to deal with running status, but maybe there is an issue there. Looks like it has already read most (all?) of the events before bombing out


When using a Map of Set, code generation for Adapters doesn't compile

Steps to Reproduce
Use HiveType on class with field of type Map<int, Set>
Code sample
@HiveType(typeId: 0)
class Foo {
  @HiveField(0)
  Map<int, Set<int>> map;
}

Generates code that does not compile (because v is not a List) :
class FooAdapter extends TypeAdapter<Foo> {
  @override
  final int typeId = 0;

  @override
  Foo read(BinaryReader reader) {
    final numOfFields = reader.readByte();
    final fields = <int, dynamic>{
      for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
    };
    return Foo()
      ..map = (fields[0] as Map)?.map((dynamic k, dynamic v) =>
          MapEntry(k as int, (v as List)?.cast<int>()));
  }

  @override
  void write(BinaryWriter writer, Foo obj) {
    writer
      ..writeByte(1)
      ..writeByte(0)
      ..write(obj.map);
  }

  @override
  int get hashCode => typeId.hashCode;

  @override
  bool operator ==(Object other) =>
      identical(this, other) ||
      other is FooAdapter &&
          runtimeType == other.runtimeType &&
          typeId == other.typeId;
}

Version

Platform: iOS, Android, Mac, Windows, Linux, Web
Flutter version: <IP_ADDRESS>.pre.96
Hive versions

hive: ^1.4.4+1
hive_flutter: ^0.3.1
hive_generator: ^0.8.2
build_runner: ^1.11.5

Related to https://github.com/hivedb/hive/issues/410. Based on this comment, it would seem that Sets are only supported through custom adapters :(

This should be fixed in hive_ce: https://pub.dev/packages/hive_ce


Permit resin sync to collaborators

change-type: major
fixes #36
Tested with the latest resin-proxy changes on staging. This can be published now and a major version bump to resin-cli will follow after the latest resin-proxy changes have been deployed to master.

cc @wrboyce fyi (sorry, forgot to add you as a reviewer)

Landed in<EMAIL_ADDRESS>


Error out of the box

Error running command slurm--.refreshing: command 'slurm--.refreshing' not found. This is likely caused by the extension that contributes slurm--.refreshing.

Hi! Thank you for reporting this issue. I have reviewed the details and confirmed that this is indeed a bug.
This is because the command slurm--.refreshing I defined before was only used to display refreshing button without defining its corresponding function. I'm going to remove this useless command, because the button is usually not visible.
I appreciate your patience and the time you took to report this. We are working on a fix, and it will be included in the next release.
If you have any further questions or need more information, please feel free to let me know.

hello @Noxobar , I fixed that in version 0.5.1, please update and verify if the issue is resolved =)


CAMEL-18786: skeleton for reorganizing the Camel Core documentation

These changes introduce a new documentation module with the intention of creating a project page for Camel Core. Within that page, the documentation for the project is categorized and separated according to the audience.

Here's a preview of the website with these changes: https://angusyoung.org/arquivos/camel-new-website/public/

The part that matters for Camel Core is here: https://angusyoung.org/arquivos/camel-new-website/public/camel-core/

@davsclaus @oscerd folks, FYI, I'm going to get this one merged so we can continue the work on the doc reorg. It should not break the doc ... but in case it does, please feel free to revert. I'll try to keep an eye on things, but I'm on PTO, so there's a chance I'll miss it.

Thanks.

Yeah lets get the ball rolling


Support Intel SDE version 9.14, released 2022-10-25

See Intel Software Development Emulator Release Notes and the Intel® Software Development Emulator download page.

Fixed in release v2.1 .
It appears that Intel SDE 9.14 does not have a version available for macOS. Therefore, the 9.14.0 version of setup-sde will only be compatible with Windows and Linux operating systems.


Access CoreNLP parsing tree

Hi,
Is it possible to access CoreNLP parsing tree from the doc object? Not only dependencies.
Thank you,
Lucas Willems

What do you mean by the "CoreNLP parsing tree"? The constituency parse?
This wrapper is currently only intended for the new StanfordNLP models, not the CoreNLP server. It makes all linguistic annotations available that are also supported by spaCy. If you want to use CoreNLP, it's probably easiest to just call into it directly.

Yes you are right. It is what I did. Thank you


Is self.head_dense missing in model definition?

A liittle confused that self.head_dense is not explicitly defined in several model files. There is only a None assignment statement in:
https://github.com/microsoft/esvit/blob/main/models/swin_transformer.py#L655
https://github.com/microsoft/esvit/blob/main/models/vision_longformer.py#L518
https://github.com/microsoft/esvit/blob/main/models/vision_transformer.py#L171
Am I missing something?

Solved, find the definition in https://github.com/microsoft/esvit/blob/main/main_esvit.py#L248.


Installation failing on missing LuaJIT 2.0.4 symbols

Unable to install neovim 0.1.0 on OSX Yosemite 10.10.5 with xcode-select version 2339 by running brew install neovim.
Looks like it's choking on luajit:
Undefined symbols for architecture x86_64:
  "__Unwind_DeleteException", referenced from:
      _lj_err_unwind_dwarf in libluajit.a(lj_err.o)
  "__Unwind_GetCFA", referenced from:
      _lj_err_unwind_dwarf in libluajit.a(lj_err.o)
  "__Unwind_RaiseException", referenced from:
      _lj_err_throw in libluajit.a(lj_err.o)
  "__Unwind_SetGR", referenced from:
      _lj_err_unwind_dwarf in libluajit.a(lj_err.o)
  "__Unwind_SetIP", referenced from:
      _lj_err_unwind_dwarf in libluajit.a(lj_err.o)
ld: symbol(s) not found for architecture x86_64

Full logs: https://gist.github.com/anonymous/0b23efa4f12302a5fbff

Possibly related to #51

This is interesting. If I build from source with make distclean && make, luajit compiles just fine:
Scanning dependencies of target luajit
[ 60%] Creating directories for 'luajit'
[ 61%] Performing download step for 'luajit'
-- file: /Users/graysonkoonce/neovim/neovim/.deps/build/downloads/luajit/LuaJIT-2.0.4.tar.gz
-- downloading...
     src='http://luajit.org/download/LuaJIT-2.0.4.tar.gz'
     dst='/Users/graysonkoonce/neovim/neovim/.deps/build/downloads/luajit/LuaJIT-2.0.4.tar.gz'
     timeout='none'
-- downloading... done
-- extracting...
     src='/Users/graysonkoonce/neovim/neovim/.deps/build/downloads/luajit/LuaJIT-2.0.4.tar.gz'
     dst='/Users/graysonkoonce/neovim/neovim/.deps/build/src/luajit'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 63%] No patch step for 'luajit'
[ 64%] No update step for 'luajit'
[ 66%] No configure step for 'luajit'
[ 67%] No build step for 'luajit'
[ 69%] Performing install step for 'luajit'
==== Building LuaJIT 2.0.4 ====
HOSTCC    host/minilua.o
HOSTLINK  host/minilua
DYNASM    host/buildvm_arch.h
HOSTCC    host/buildvm.o
HOSTCC    host/buildvm_asm.o
HOSTCC    host/buildvm_peobj.o
HOSTCC    host/buildvm_lib.o
HOSTCC    host/buildvm_fold.o
HOSTLINK  host/buildvm
BUILDVM   lj_vm.s
ASM       lj_vm.o
CC        lj_gc.o
BUILDVM   lj_ffdef.h
CC        lj_err.o
CC        lj_char.o
BUILDVM   lj_bcdef.h
CC        lj_bc.o
CC        lj_obj.o
CC        lj_str.o
CC        lj_tab.o
CC        lj_func.o
CC        lj_udata.o
CC        lj_meta.o
CC        lj_debug.o
CC        lj_state.o
CC        lj_dispatch.o
CC        lj_vmevent.o
CC        lj_vmmath.o
CC        lj_strscan.o
CC        lj_api.o
CC        lj_lex.o
CC        lj_parse.o
CC        lj_bcread.o
CC        lj_bcwrite.o
CC        lj_load.o
CC        lj_ir.o
CC        lj_opt_mem.o
BUILDVM   lj_folddef.h
CC        lj_opt_fold.o
CC        lj_opt_narrow.o
CC        lj_opt_dce.o
CC        lj_opt_loop.o
CC        lj_opt_split.o
CC        lj_opt_sink.o
CC        lj_mcode.o
CC        lj_snap.o
CC        lj_record.o
CC        lj_crecord.o
BUILDVM   lj_recdef.h
CC        lj_ffrecord.o
CC        lj_asm.o
CC        lj_trace.o
CC        lj_gdbjit.o
CC        lj_ctype.o
CC        lj_cdata.o
CC        lj_cconv.o
CC        lj_ccall.o
CC        lj_ccallback.o
CC        lj_carith.o
CC        lj_clib.o
CC        lj_cparse.o
CC        lj_lib.o
CC        lj_alloc.o
CC        lib_aux.o
BUILDVM   lj_libdef.h
CC        lib_base.o
CC        lib_math.o
CC        lib_bit.o
CC        lib_string.o
CC        lib_table.o
CC        lib_io.o
CC        lib_os.o
CC        lib_package.o
CC        lib_debug.o
CC        lib_jit.o
CC        lib_ffi.o
CC        lib_init.o
AR        libluajit.a
CC        luajit.o
BUILDVM   jit/vmdef.lua
LINK      luajit
OK        Successfully built LuaJIT
==== Successfully built LuaJIT 2.0.4 ====

I have seen the same thing when I try to install it on Mac OS 10.11.1

Are there any homebrew caches or similar that you can clean?

I did clean the cach and built it again. The same linking error.

Getting the same error. Any news on this?

I ended up installing it from source.
On Sunday, November 22, 2015, Ethan Veres<EMAIL_ADDRESS>wrote:

Getting the same error. Any news on this?
—
Reply to this email directly or view it on GitHub
https://github.com/neovim/homebrew-neovim/issues/114#issuecomment-158808157
.

+1 running into the same issue.

:+1: same here

My guess is that you all have installed LuaJIT some other way, and it is getting picked up in the link step instead of our version.  We place our dependencies at the front of the search list, but it's possible that another dependency is tweaking the library search patch and causing some other stray version to be picked up.
One thing would actually help locate the problem is to try and build with the verbose option, and post your gist logs:
brew install --verbose neovim
brew gist-logs neovim

If we can see the link line, then we can see which library is actually being picked up.

Here are my logs:
https://gist.github.com/anonymous/acabb834f7de2a4c3a64

+1 ;)

More logs:
https://gist.github.com/anonymous/bf9be558145ad6bf2c9b#file-02-make-L1099

What does your environments look like?  Out machine running the OS X build is pretty pristine--here's the output of env | sort (make sure you cut out anything that may expose sensitive information like tokens for GitHub, etc):
HOME=/Users/quickbuild
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
PWD=/Users/quickbuild
SHELL=/bin/bash
SHLVL=1
TERM=xterm-256color
USER=quickbuild
_=/usr/bin/env

From the logs, I can't see any reason why luajit would be built for the wrong architecture, so it leads me to believe there is something else affecting you all.

Here is my environment:
AUTOJUMP_ERROR_PATH=/Users/prashant/Library/autojump/errors.log
AUTOJUMP_SOURCED=1
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.58k0JjfIYT/Render
DISPLAY=/private/tmp/com.apple.launchd.sshW612dML/org.macosforge.xquartz:0
EDITOR=vim
GOPATH=/Users/prashant/gocode
HOME=/Users/prashant
ITERM_PROFILE=Prashant
ITERM_SESSION_ID=w1t0p0
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LESS=-R
LOGNAME=prashant
LSCOLORS=Gxfxcxdxbxegedabagacad
MANPATH=/Users/prashant/.nvm/v0.10.32/share/man:/usr/local/share/man:/usr/share/man:/opt/X11/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man
NVM_BIN=/Users/prashant/.nvm/v0.10.32/bin
NVM_DIR=/Users/prashant/.nvm
NVM_IOJS_ORG_MIRROR=https://iojs.org/dist
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist
NVM_PATH=/Users/prashant/.nvm/v0.10.32/lib/node
OLDPWD=/Users/prashant
PAGER=less
PATH=/Users/prashant/.dnx/runtimes/dnx-mono.1.0.0-beta7/bin:/Users/prashant/.dnx/bin:/Users/prashant/.nvm/v0.10.32/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/go/bin:/Users/prashant/bin:/Users/prashant/gocode/bin
PWD=/Users/prashant
SHELL=/usr/local/bin/zsh
SHLVL=1
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.slYQn67gGq/Listeners
TERM=xterm-256color
TERM_PROGRAM=iTerm.app
TMPDIR=/var/folders/hs/w2ggc5kx7f77qfb7j_1h54kh0000gn/T/
USER=prashant
VIRTUALENVWRAPPER_HOOK_DIR=/Users/prashant/.virtualenvs
VIRTUALENVWRAPPER_PROJECT_FILENAME=.project
VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_WORKON_CD=1
VISUAL=vim
WORKON_HOME=/Users/prashant/.virtualenvs
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
_=/usr/bin/env
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0

I don't see anything in there that would change the environment it would build for.

Mine looks similarly clean. @prashantv @breerly @jcorbin, Do we have something in common w/ our envs? I'm gonna try on my personal laptop shortly (updating XCode) to see if it fails there as well.
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.eH3LnuQopO/Render
COLORFGBG=7;0
COMMAND_MODE=unix2003
CVS_RSH=/usr/bin/ssh
DISPLAY=/private/tmp/com.apple.launchd.eqVtsIuvOD/org.macosforge.xquartz:0
EDITOR=/Users/benfleis/bin/nvim
EVENT_NOKQUEUE=1
GOPATH=/Users/benfleis/go
GOROOT=/usr/local/Cellar/go/1.5.1/libexec
HISTSIZE=10000
HOME=/Users/benfleis
ITERM_PROFILE=Default
ITERM_SESSION_ID=w0t0p0
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LC_CTYPE=UTF-8
LESS=-iFMRX
LOGNAME=benfleis
MANPATH=/Users/benfleis/.nvm/v0.10.32/share/man:/usr/share/man:/usr/local/share/man:/opt/X11/share/man:/usr/X11R6/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man
NVM_BIN=/Users/benfleis/.nvm/v0.10.32/bin
NVM_DIR=/Users/benfleis/.nvm
NVM_IOJS_ORG_MIRROR=https://iojs.org/dist
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist
NVM_PATH=/Users/benfleis/.nvm/v0.10.32/lib/node
OLDPWD=/Users/benfleis/go/src/github.com/uber/ringpop-go
PAGER=/usr/bin/less
PATH=/Users/benfleis/neovim/bin:/Users/benfleis/.nvm/v0.10.32/bin:/Users/benfleis/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
PROMPT=[%(?.$PR_LIGHT_GREEN%m.$PR_RED%m)$PR_NO_COLOUR] $PR_LIGHT_GREEN%~$PR_NO_COLOUR $
PWD=/tmp
PYTHONPATH=/usr/local/lib/python2.7/site-packages
RSYNC_RSH=/usr/bin/ssh
SECURITYSESSIONID=186a5
SHELL=/bin/zsh
SHLVL=2
SSH_AUTH_SOCK=/tmp/ssh-benfleis/agent
TERM=screen-256color
TERM_PROGRAM=iTerm.app
TMPDIR=/var/folders/h1/jm5lm7gd3fg8m72tktqb0rgr0000gq/T/
TMUX=/private/var/folders/h1/jm5lm7gd3fg8m72tktqb0rgr0000gq/T/tmux-503/default,9696,2
TMUX_PANE=%26
UBER_HOME=/Users/benfleis/Uber
<EMAIL_ADDRESS>USER=benfleis
USERXSESSIONRC=/Users/benfleis/.xsession
VAGRANT_DEFAULT_PROVIDER=aws
VIRTUALENVWRAPPER_HOOK_DIR=/Users/benfleis/.virtualenvs
VIRTUALENVWRAPPER_PROJECT_FILENAME=.project
VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_WORKON_CD=1
VISUAL=/Users/benfleis/bin/nvim
WORKON_HOME=/Users/benfleis/.virtualenvs
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
_=/usr/bin/env
_SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.HBAVkOWqhx/Listeners
__CF_USER_TEXT_ENCODING=0x1F7:0x0:0x0
_compdir=/Users/benfleis/.zsh/completion

FTR, works like a charm from my personal box, which is El Capitan. Are any of you running El Cap, or still 10.10?

I'm running El Capitan. Personally I've just given up on the brew recipe
and build from source which works fine. I mean at some point to start
trying to bisect between how the recipe does the build and just a straight
up make.
On Sun, Jan 10, 2016 at 12:55 benfleis<EMAIL_ADDRESS>wrote:

FTR, works like a charm from my personal box, which is El Capitan. Are any
of you running El Cap, or still 10.10?
—
Reply to this email directly or view it on GitHub
https://github.com/neovim/homebrew-neovim/issues/114#issuecomment-170393137
.

I mean at some point to start
trying to bisect between how the recipe does the build and just a straight
up make.

I don't think it's so much how the build is conducted--it's not that different than the straight-up make, which does something very similar but less suited the brew's installation process.
I think it has more to do with the environment that is being setup, or stray libraries being found instead of the ones we want.
Looking at the errors again, it appears that perhaps an alternate version of libunwind is being picked up--one that doesn't support 64-bit.  On my system, I see these versions:
:: find -x / -name '*unwind.dylib*' 2>/dev/null
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/lib/system/libunwind.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/system/libunwind.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/lib/system/libunwind.dylib
/Users/jszakmeister/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols/usr/lib/system/libunwind.dylib
/usr/lib/system/libunwind.dylib

Perhaps you have a stray version being included instead?  Or the wrong clang compiler is being picked up?  It looks /usr/local/Library/ENV/4.3/cc is a Homebrew script that does a fair amount of stuff, so perhaps it's doing something unexpected in your situation?  This would be one spot where the builds are different, since our normal (outside of Homebrew build) doesn't use Homebrew's build chain.  Perhaps @xu-cheng might have some insights here?

Datapoint -- since original build fail, XCode updated, and upgraded to El Cap. Now it builds just fine. The build did include a rebuild of LuaJIT, among many other things.

Sorry, I have no idea what's going on. cc @DomT4 who in my memory has more experience on lua staff.

This is interesting. Can't reproduce locally but given how our environment is intended to work I suspect it's probably the guilty party in toying with some of these builds. I'm not recommending this as a permanent solution but can anyone having build trouble try:
brew install neovim --env=std

And see if it builds?

It looks like setting env to std helps, I was able to get neovim successfully built.
Here are gist-logs,
https://gist.github.com/fadbef18771582062861
(compared to my previously failing build: https://gist.github.com/acabb834f7de2a4c3a64)
Thanks for the tip @DomT4

Had the same issue when upgrading to v0.2.0, using --env=std works in that scenario as well:
brew upgrade neovim --env=std


Releasing base (B) and large (L) model weights

Hello,
great work!
I was wondering if you could also release the pre-trained weights for the base (B) and/or large (L) models? Would greatly appreciate it!

We currently do not have plans for releasing other model checkpoints, as they are all only trained for around 600k steps.


Fix catalog not closed when session is closed

Also do some refractors on test code.

/run-all-tests


📎 Implement useValidControlLabel - jsx-a11y/label-has-associated-control

Description
Implement jsx-a11y/label-has-associated-control.
Want to contribute? Lets you know you are interested! We will assign you to the issue to prevent several people to work on the same issue. Don't worry, we can unassign you later if you are no longer interested in the issue! Read our contributing guide and analyzer contributing guide.
For now, I think we should skip the rule options.
Suggested name: useValidControlLabel

The rule triggers an error when using spread props. In Biome, we are less restrictive and we allow such cases in other rules, so we should do the same here.

@Conaclos, just accidentally stumbled upon here, I was working on #2610 which apparently is a duplicate of this one, should we close this or the other one?


allow security.properties to use the environment.build.cas.context variable

Update security.properties to use the environment.build.cas.context property that is set in the filters file.  This allows for adjusting for implementations of CAS that might not be deployed in the standard context configuration without having to further modify the security.properties file.

FYI @jgribonvald addressed this pull request #688

Point taken.  I did not see that pull request.  It appears as if that pull request addresses that issue along with some other items.

You guys are very helpful... I ran into this item myself the other day.

It only became an issue when we implemented CAS in the ROOT context.  When I looked at it I couldn't figure out why we had the value/placeholder in the filter files, but did not actually use it.
This was several months ago and I just now decided to fork the repo and make the pull request.  Since this is addressed in another pull request I can close this one if it helps keep things clean.

I may be in the minority here, but I'd personally rather see this get merged independently and then get the other PR updated.  I'll wait for community feedback before doing anything though.

I think @jhelmer-unicon makes a good point.  This change is succinct and distinct;  plus, it allow us to apply a commit from the excellent Mark Mace :).

Merged out-of-band due to conflicts.


Untranslated: new notification options

V1.7.0
I discovered two missing translations in Settings - Options for Notification area
After checking Tolgee, it became clear that these had been introduced very recently. So I dug in.

In Tolgee I completde the outstanding translations and exported the file as lang_nl.json
I used notepad to check that it contained the newly added sttrings with their proper translations
copied the json file to ...\AppData\Local\Programs\WingetUI\lang
quit and restarted WingetUI
the two new Notification options remain untranslated (see screenshot)

Faulty pointer or failure to read updated language file?

For me, they works fine:

Please note that the used json is not actually under AppData\Local\Programs\WingetUI\lang, but rather under .wingetui\lang
Try updating that one.
Also, strings translated in tolgee might take a day or two before changes being actually noticeable

If the issue persists please let me know, and I'll reopen this

Okay, I corrected my "copy to" folder link to .wingetui\lang.
So, what's up with the folder AppData\Local\Programs\WingetUI\lang then?
But in  .wingetui\lang the file lang_nl.json that I copy there appears to be immediately overwritten by WingetUI upon starting.
So I cannot test the lang_nl.json that I updated on Tolgee.

So, WingetUI has the base translation files under AppData\Local\Programs\WingetUI\lang
However, at startup, WingetUI downloads latest translations from GitHub and stores them under .wingetui\lang. You can disable this behaviour from here:

Confirmed!
Updated translations are coming through now.


Fix language in CC Architecture

single-tenant --> single tenant
Dedicated --> CockroachDB Dedicated
(graph updated requested was already fixed)
Closes https://cockroachlabs.atlassian.net/browse/CC-5143

This change is


remove broken links from javascript and ror docs

Links to javascript-shopping-app and ror-resume-uploader-app
docs are removed.

If https://github.com/minio/minio-js-store-app is the github link, can we not point that, instead of removing it

If https://github.com/minio/minio-js-store-app is the github link, can we not point that, instead of removing it

yes, will do

@kannappanr done, please have a look

@ebozduman done, please have a look


Added better support for webpack / CommonJS

As mentioned in this discussion (https://github.com/davidchang/ngReact/pull/38) this should fix the case then using webpack and angular was already loaded.
require('angular') returns an empty object for some reason...

@kasperp would you mind confirming if this is still an issue?
also, should prefer root.angular to be safer and avoid a reference error

I agree about root. I'll make a change.

I didn't know it was an issue, but the purposed fix is nice and simple, so I'm good with merging.

Not sure what's going on there, but it doesn't work with root for my setup:

@okonet there is are some failing tests, is this pull request still relevant?

Yes. I'm using it from my fork now. Why are they failing?

check it out her https://travis-ci.org/davidchang/ngReact/builds/75938007

Well it seems that 0.10 doesn't support peerDependencies. Not sure you want to support 0.10

No I guess not.
Would you mind making that change in your PR as well.
@davidchang any thoughts?

I don't think this PR should be merged; see https://github.com/davidchang/ngReact/pull/113#issuecomment-150306667
If you use angular >= 1.3.14, the CommonJS entry point should return the angular instance for you:

@elliottsj it's not working with webpack without it for some reason

@okonet Are you using angular >= 1.3.14? I believe older versions did not export the angular value.
If you're using an older version, I'd recommend using exports-loader:
var angular = require('exports?window.angular!angular');

closed in favor for #113


[CI] Make the tests_macos_gitlab_amd64 job not allowed to fail anymore

What does this PR do?
This PR makes the tests_macos_gitlab_amd64 job not allowed to fail anymore. For this it:

Skip the failing comp/core/tagger/impl-remote TestStart test conflicting port binding with the running Agent on the runner.
Remove the allow_failure: true.

Motivation
The ultimate goal is not to rely on the Github macOS jobs anymore.
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


drivers: adc: stm32: Implement boost settings for STM32H7.

After boost is implemented and enabled it allows for higher sampling frequencies.

Please review commit title: drivers: adc: stm32: ...

Unsurprisingly, the check breaks things for several boards. I understand that it is out of scope of your initial PR, so I can take this point if you prefer. I can add the check and fix the issues in another PR. Let me know

Unsurprisingly, the check breaks things for several boards. I understand that it is out of scope of your initial PR, so I can take this point if you prefer. I can add the check and fix the issues in another PR. Let me know

Sure, go ahead. I have limited boards to check it with so if you can bring the broken boards along it would be great.

@erwango @gautierg-st I have rebased this PR now that 78523 is merged :) Please check again.


Added support for WAFV2

In response to Support for WAFv2 #16
Added two additional config parameters:

version:  [V2, Regional]
version defaults to Regional

scope:  [REGIONAL, CLOUDFRONT]
scope defaults to REGIONAL

@eharris91 Thank you for your PR.
I've commented about three things, please address these and I think you're good to go.

@MikeSouza Thanks for the feedback, this is my first PR so still trying to figure all this out.

@MikeSouza Based on your feedback:

The scope parameter logic is removed

Added tests to index.spec.js, code coverage now at 100%

Updated documentation in README

@eharris91 I built and published to NPM a new release of the plugin (v1.2.0).  If you could please confirm it's working that would be greatly appreciated. I currently am not setup to properly manually test this at work (we don't use WAFv2).

@MikeSouza I just upgraded to v1.2.0 and the V2 WAF associate/disassociate is working. Have not tried it with the Regional WAF, can you confirm that Regional is still working?

@eharris91 Great! Thanks for confirming. I've tested that the existing behavior (WAFv1) still works. Good first PR 👍.


chore: bdd-spring-1582230216 to 0.0.1

chore: Promote bdd-spring-1582230216 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


3.3.4-RC2 Release Procedure

[x] Publish 3.3.4-RC2 artifacts to Maven via CI

[x] On release-3.3.4 branch:

[x] In changelogs add file with a changelog
[x] In Build.scala: Set baseVersion to 3.3.4-RC2
[x] Tag the branch as 3.3.4-RC2

[ ] Wait for confirmation from tooling:

[ ] Scala CLI (@Gedochao)
[x] Scala Native (@WojciechMazur)
[ ] Scastie (@rochala)
[x] Scala DAP (@adpi2)

[ ] Announce the releases

[ ] Make GitHub releases public
[ ] Update the 3.3.4 tracking thread

Released DAP v4.2.1
The compilation on v4.2.0 is broken and I don't intend to fix it.

Damn, I think 4.2.0 is used by Bloop 1.6.0 which is the one used by latest stable Metals. I can work on a release this week.


Add audiotranscripciones.com

By submitting this pull request, I promise I have read the contribution guidelines twice and made sure my submission follows it.
⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

The suggestion should be in English. - https://github.com/sindresorhus/awesome-whisper/blob/main/contributing.md


Dependency issue

Whenever I export something I see this error message (see picture) although most exports are fine others such as mesh are broken "block sequence entries are not allowed in this context". I thought maybe that's the issue but I couldn't find any way to solve this as regardless when I try to create a manual path with given asset he still throws that error. Any advice?
Thanks

There are several variations where this dependency can be stored. UR handles some of them but it seems that your case is special) Can you upload those files so I can handle it?
However there are nothing important inside this dependency (some default shaders, textures and meshes such as cube, sphere etc). That mean that there is some issues with Mesh export. I need a file with such mesh to fix this issue.


Support filter by column : "col1 < col2"

The Expr.filter_column_data_typemethod should input a schema

Done in https://github.com/Qrlew/qrlew/pull/104


Feature Suggestion: Improving Performance by Optionally Disabling Client-side Execution

Now that the metrics interval can be set with a mod option, I was able to diagnose some minor hitching happening for my friends connected to the server. They are small freezes that happen exactly as the mod is gathering the internal statistics and last for maybe 50ms.
People with slower computers seem to experience longer freezes, so I think this is caused by the mod gathering statistics locally on client machines rather than from the server itself.
I thought this might be from file I/O, so I changed the file permissions to block all writes into metrics json file. This didn't seem to affect the freezes at all, so I feel like the issue purely stems from enumerating the internal Factorio stats rather than disk I/O.
Would it be possible to create a mod option which disables gathering stats on client machines?

Yes! It would certainly be possible and I was actually thinking of adding this in soon. Unfortunately my workstation died this week and so I'm out of commission until my new one arrives (or I replace the borked motherboard).
I have a backup laptop that I could create the feature on, but testing it would be very slow as it's nearly seven years old and Factorio takes a while to load...though it actuallly might be the perfect candidate for testing for a difference in performance now that I think about it.

One issue that I can think of is, what value should be used as the default for enabling the exporting of metrics? I think defaulting to enabled is the best way since it (a) preserves current behavior and (b) makes installing the mod all that's necessary (no need to go into the settings to enable it).
However, I'd kind of want the mod to automatically be disabled client-side but there's not a way to distinguish if we're running "client-side" or "server-side" in Factorio, meaning everyone who installs the mod in order to join the server will then need to disable it if it affects their performance. I'm pretty sure that's the best we can do here.

I was also thinking about how to differentiate between client/server. I know the write_file helper function has an optional for_player? argument that disables writing to client folders. But I can't think of how to prevent executing the data collection part of the script using this...

I've been looking into this today and I'm really struggling to find a way to disable it client-side. By design, Factorio mods are intended to run in exactly the same manner between server and client in order to preserve determinism so that makes this difficult; a client can't simply choose to have different mod settings than the server. As a result of that design, all mod settings between clients and the server must match.
I was thinking I could leverage the settings-per-user option but unfortunately I don't think that would work either as I'd need to know the player associated with the Factorio instance running and that doesn't seem to be available in any context.
I don't think using the write_file helper would work either as AFAIK there isn't a way to read any external files so a setting can't be passed that way.
This might be possible by somehow abusing RCON, but I'm not confident and I'm not sure I'd want to really dig into that option to solve this.
Until we can figure out a way to either be able to associate the player of the current Factorio instance or otherwise have differing behavior between Factorio instances I don't think we can disable it client-side. I'd recommend setting a higher value for the metrics interval, as the default of 60 -- being once every 60 ticks -- is once per second, which is likely higher than you'd need anyway for a standard Prometheus + Grafana setup. If your Prometheus is scraping every 15 seconds you can set a metrics interval of 900 to match it, or 3600 if Prometheus is scraping every minute.

Fair enough mate. This would be bending rules of Factorio's deterministic system, so it makes sense there's no straightforward way to do this.
It's a shame since obviously this mod wouldn't desynchronise game state, but that doesn't mean we're above the rules. Lock-step it is 😄

How about trying to write a file only on the host machine - this could be a player hosted server or a dedicated server - and test for it?? Not sure if this works, but maybe that's a way to go.
-- control.lua

-- Function to determine if the current instance is the server or the host player
local function is_server()
    local test_filename = "__IsServerTest__.txt"
    local test_content = "server_check"

    -- Last parameter "for_player" = 0 only writes on the server. See LuaHelpers.html#write_file
    local success, _ = pcall(function()
        game.write_file(test_filename, test_content, false, 0)
    end)

    return success
end

-- Function to collect and write metrics
local function collect_metrics()
-- .... logic that runs in under 1/60th of a second!! if not, split the workload!....
    -- Serialize data to JSON and write to file
    local json = game.table_to_json(data)
    game.write_file("metrics_log.txt", json .. "\n", true)
end

-- Event handler to collect metrics every 600 ticks (10 seconds)
script.on_nth_tick(600, function(event)
    if is_server() then
        collect_metrics()
    end
end)

LuaHelpers.html#write_file

Hrm, that might work. I missed the part of providing 0 will only write to the server's output if present.. The question here is what is "the server" in this context. I have a feeling that providing 0 would still write the file out on all Factorio instances. I think I could test this by copying my local mod to a server I have setup so that the checksums match and I can join it.
Aside from this, I've been pondering on other solutions to the main issue:
Option (1) would be to identify the slow parts of metric collection and reduce the frequency of more resource-intensive collections (or add settings to configure how often certain metrics are collected).
Option (2) would be to potentially skip metric collection all together and write out larger blocks of data and let the Prometheus exporter be the component responsible for filtering through it for the metrics we're interested in. Though I'm fairly certain the additional time taken to write out the extra data to disk would be greater than the time saved by not looping through and filtering out for the metrics we're interested in; could try and see if I can test it though.

Yes, that's a point of uncertainty, that I'm currently testing myself with a copy of your mod. How is a dedicated server and a player hosted game behaving differently when supplying a 0 for write file.
If it's the same, then we might have won the jackpot. If not, further investigaion is necessary.

It feels like we're going down the rabbit hole a bit here 😄
I like the idea of spacing out the metrics collection. While it adds complexity to an otherwise very simple mod, it would definitely improve performance.
On a side note... while I don't have any experience with Factorio mods, I feel like the scheduling logic there might be overkill. Could it be reduced to something along the lines of this:
local index = (current_tick % #metric_functions) + 1
-- extra code for delays between gathering, or between batches.
local func = metric_functions[index]
if func then
    func()
end

Then register it to run every tick? It would save the complexity of trying to schedule events in the future as well as making the code stateless.

I think the "extra code to delay stuff" is exactly what I wrote above 😂
Only taking the mod and hoping for the best won't be enough, I think. In my opinion it should be more event based than tick based. E.g. update build statistic only if something has been built or destroyed. This saves valuable compute time.
I don't think going completely stateless would be beneficial, because the metrics themselves are already carried along and are part of the mod's state. Completely stateless would mean having to dump all the stats every time, but that's too expensive.
I had a look at other stats mods like graftorio2 etc.: They are very event based and run only every 5 minutes or so.
Where to go from here exactly... I'm not sure. It seems like dumping stats is rather costly, which is a pity.
Chris

Hrm, my initial thought when authoring this mod was that updating on events would likely end up being more process-intensive than updating periodically (e.g. updating every time an item is produced could cause tons of updates per second versus updating the number of items produced periodically once a second).
I think the next step for me is to start profiling some of these sections of code. For example the get_item_production_statistics() may be more expensive than I had assumed. Looks like Factorio comes with a profiler so I'll get started on collecting some data.
Also, thanks for the input! Really hoping to get this mod in state where it can be used without performance issues.
@ChrislyBear-GH @ZCK12 By the way, what's the state of your saves when you experience the performance issues? I haven't encountered them personally but all my saves are in early-game states and I haven't touched any of the Space Age DLC yet. Do you experience it in early-game?

I'm currently at a rather early state in the game and I'm running it on a quite capable server. Not sure why the stat collection takes so long.
Since this really felt like a rabbit hole, I have changed my approach: I have taken the apporach of https://github.com/janten/factorio-stats and I'm now running a little python container, that serves stats on demand directly to prometheus!
The stats are gathered via RCON and aren't impacting the game performance anymore! Not sure why this is different though.
The advantage is that this approach doesn't requre any mod at all!
I have revised the LUA script, that is executed on a scrape.  The only thing missing for me are energy statistics. Maybe I'll extend the script soon.
Chris

Hrm, interesting approach. Use of RCON might mean that people will need to additionally expose the RCON port, but maybe not if they run the exporter as a sidecar in Kubernetes. Would certainly love to remove the need to install a mod as it increases the development turnaround time and installation complexity!
I'll experiment with this approach and see if it works for me as well, thanks! Would also mean that clients aren't exporting metrics!

Hitting some minor downsides to using RCON for this. One of them is that it seems each RCON command issued advances the game by one tick, meaning that even if no one is online the game will continue to run, though the rate at which will depend on how often scraping is occurring.
We can control whether or not the game is paused from the RCON commands, so we can pause it if no one is online, but this means when a player joins we'd have to wait until the next scrape for the RCON command to unpause the game. We could have another thread performing the pause/unpause at a higher rate to avoid this though, but this might interfere with other mods that have autopause features.
From my investigations today I think this is primarily stemming from the collection of the entity count. I think it would be best to disable / remove the entity count metric until I can break up the collection of that particular metric.

Been working on an RCON-only implementation of it this evening and believe I have it in a working and performant state, though with one fairly major change in design. I've split up the workload by separating out the metrics by group into different Prometheus endpoints (e.g. /metrics/time, /metrics/production, /metrics/pollution, etc.) which allows the user to independently scrape the metrics at different intervals, and/or leave out entire groups of metrics all together if collecting them is too process-intensive.
In order to provide some sort of backwards compatability of the previous endpoint (even though this would still be a breaking change) the /metrics endpoint will change to /metrics/all and will collect and return all metrics.
I'll clean up the implementation tonight and hopefully have a release of a new container image later today or tomorrow.

You're doing god's work mate

@ZCK12 @ChrislyBear-GH I've gone ahead and released an early version of the RCON-implementation of this exporter. You can find the v0.3.0-alpha container image here.
Feel free to give it a try, and remember that you won't need the Factorio mod anymore so feel free to remove that from your servers if you're giving this early version a try!
If you need some help with configuring the exporter the README.md file has been updated in #18 to reflect the new exporter.
Once I've put it under some more testing I'll merge it in and release a production version of it.

Hi just wanted to drop in and let you know I am appreciating this mod while exploring using it, and ran into this exact feature request as well.
I tried out the new container image and it's almost working fully for me.
Only the /metrics/launches endpoint causes an error.
And I noticed there is no more consumption metrics? Is that intentional or related to the disabled entity count metrics? For what it's worth I don't need entity count metrics. But I'm interested in making like a "net production" graph that would show me if I am accumulating resources somewhere.
Also personally don't mind that the RCON causes a tick on the server because I am playing around with the idea of having the factory running 24/7.
Just sharing in case it is helpful, if I decide to take my 24/7 idea further I might dig in myself and see if I can contribute something too.
And for the record I don't mind about backwards compatibility :)
2024-12-08 18:51:33.560 | DEBUG    | collection.collectors:raw:120 - raw response: Cannot execute command. Error: [string "-- Lua script to be sent along as an RCON com..."]:16: attempt to index local 'item' (a number value)
WSGI application error
Traceback (most recent call last):
  File "/home/exporter/.local/lib/python3.13/site-packages/twisted/python/threadpool.py", line 285, in <lambda>
    inContext.theWork = lambda: context.call(  # type: ignore[attr-defined]
  File "/home/exporter/.local/lib/python3.13/site-packages/twisted/python/context.py", line 117, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/home/exporter/.local/lib/python3.13/site-packages/twisted/python/context.py", line 84, in callWithContext
    self.contexts.pop()
  File "/home/exporter/.local/lib/python3.13/site-packages/twisted/web/wsgi.py", line 492, in run
    self.started = True
--- <exception caught here> ---
  File "/home/exporter/.local/lib/python3.13/site-packages/twisted/web/wsgi.py", line 461, in run
    appIterator = self.application(self.environ, self.startResponse)
  File "/home/exporter/.local/lib/python3.13/site-packages/prometheus_client/exposition.py", line 128, in prometheus_app
    status, headers, output = _bake_output(registry, accept_header, accept_encoding_header, params, disable_compression)
  File "/home/exporter/.local/lib/python3.13/site-packages/prometheus_client/exposition.py", line 104, in _bake_output
    output = encoder(registry)
  File "/home/exporter/.local/lib/python3.13/site-packages/prometheus_client/exposition.py", line 251, in generate_latest
    for metric in registry.collect():
  File "/home/exporter/.local/lib/python3.13/site-packages/prometheus_client/registry.py", line 97, in collect
    yield from collector.collect()
  File "/opt/exporter/collection/collectors.py", line 207, in collect
    metrics = self.metrics
  File "/opt/exporter/collection/collectors.py", line 131, in metrics
    return self.response["metrics"]
  File "/opt/exporter/collection/collectors.py", line 126, in response
    return json.loads(self.raw)
  File "/usr/local/lib/python3.13/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.13/json/decoder.py", line 344, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/lib/python3.13/json/decoder.py", line 362, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)


What add path in WebSocketServer for android ?

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Debug log (for bugs)

Context

Your Environment

Version used:
Java version:
Operating System and version:
Endpoint Name and version:
Link to your project:

Please add more information about your problem using the given issue template (issues without template may be closed). Currently the question is unclear.

I'm closing this because there is no template or other info provided.


Integration with latest ImGui (>1.89.3)

Cosmetics, this allows to integrate the latest ImGui (1.89.4 at the moment) by moving #define IMGUI_DEFINE_MATH_OPERATORS before including imgui.h as requested (default math operators were moved out from imgui_internal.h).
This req addresses #21

Thank you for reporting this. Due to our software release process we cannot directly accept PRs on GitHub but this has been addressed in the just published update.


Test if hash functions can be moved into vector using the Lua plugin

can we produce the messages that we currently have on redpanda-topic=keygen directly out of vector without having to do the wasm-in-red-panda thing?

new PR https://github.com/k8sstormcenter/honeycluster/pull/52 will move the hash-generation into Vector, and deprecates redpanda

dedup is now in vector directly, as well as the hashing


Is it possible to hide the column names?

Expected behavior
Hi, I was wondering if it was possible to hide the column names?

Table version: 0.8.x
10.1.0

Angular version: 2.0.x
4.3.5

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
all

Language: [all | TypeScript X.X | ES6/7 | ES5]
TypeScript 2.4.2

Yes, pass a empty string for the name.

@amcdnl thanks dude only issue is the header is still visible :)

@limpep Did you try hiding it with css?

@wizarrc makes sense lol, thanks.

Hide with css and using scroll makes the conten small than the container

Set [headerHeight]="0". Works for me.

headerHeight

Works for me, thank you!


fix: For FDA Food Enforcement, Resolve invalid source DateTime data.

Description
Resolve invalid source data
Checklist

[x] (Required) This pull request is appropriately labeled
[x] Please merge this pull request after it's approved

Use the sections below based on what's applicable to your PR and delete the rest:
Data Onboarding

[x] I'm adding or editing a dataset
[x] The Google Cloud Datasets team is aware of the proposed dataset
[x] I put all my code inside  datasets/fda_food and nothing outside of that directory

Merged and deployed to production

#696 AA00FF


Keyboard shortcut for refreshing preview?

I don't see a keyboard shortcut for refreshing the view (I've turned off auto-refresh because it tends to be too eager to update even while I'm typing). I see that Ctrl+Enter will turn the preview pane on and off, but I don't see anything that will do the same thing as clicking the refresh button.
I'm guessing that adding a new command to https://github.com/filearts/plunker_www/blob/master/assets/js/directives/ace.coffee would do the job, but it's unclear to me (I'm still new to Angular) how I'd call the refresh() function in plunks.coffee (the one that's called from previewer.coffee line 53).

This will be a great shortcut. +1

:+1:

Plunker.NEXT has separate hotkeys to toggle the preview pane and to trigger a preview re-render. I'm, unfortunately, not going to invest time in this land of dragons and coffee-script that is in this repo and in production.