NTR: Fermented food product in East Asian region, especially in Thailand

Hello.
I would like to submit a request of new terms. They are related to fermented product in East Asian region. Also, I cannot find these terms in SIREN food products.
I'm not confident with these defintion. These terms are mainly from Thailand's fermented product. They are written as a source of microorganisms in Database (News release), however they do not have detailed description. I've found out few definitions about them from research paper and etc (Note below). I hope that someone who is familiar with semantics of fermented foods in the Asian region will be here.

Mum : Mum (fermented sausage) production with pure culture of Lactobacillus plantarum and Lactobacillus pentosus
Miang : Japanese dictionary (translated to English)
Nham-pla : Quality characteristics of fermented sour fish cake (Nham‐Pla)

Requests
label: bu-du
definition: Budu is a fish sauce and fermented seafood products.
	xdbref: https://en.wikipedia.org/wiki/Budu_(sauce)

label: Hoi-dong
definition: fermented sea-mussel

label: Hom dong
definition: Fermented onions or pickled onion

label: Hua chai pow chem
definition: fermented vegetable

label: Shrimp paste
definition: Shrimp paste or shrimp sauce is a fermented condiment commonly used in Southeast Asian, Northeastern South Asian and Southern Chinese cuisines.
	xdbref: https://en.wikipedia.org/wiki/Shrimp_paste
exact synonym: shrimp sauce
narrow synonym: kapi
narrow synonym: ngapi
narrow synonym: terasi
narrow synonym: belacan
narrow synonym: belachan
narrow synonym: blachang
narrow synonym: mắm ruốc
narrow synonym: mắm tép
narrow synonym: mắm tôm
narrow synonym: bagoong alamang
narrow synonym: bagoong aramang
narrow synonym: haa1 zoeng3/haa1 gou1
narrow synonym: hom ha/hae ko
narrow synonym: sidol

label: Ma kham dong
definition: Fermented fruit

label: Ma yom dong
definition: Fermented fruit

label: Miang
definition: Pickles for tea in northern Thailand. Wrapped in sugar and eat directly

label: Mum
definition: Mum is a Thai traditional dry fermented sausage made from pork or beef with some ground innards, roasted rice, steamed rice, garlic, sugar, pepper, salt and filled into intestine.

label: Mum-khai-pla
definition: Fermented fish roe

label: Mum-sai-pla
definition: Fermented fish intestines

label: nam-budu
definition: Fermented fish in liquid form

label: Nham
definition: Fermented meat

label: Nham-pla
definition: Nham-pla were made from four kinds of fish, namely, striped catfish and nile tilapia from the fresh water fish and threadfin bream and barracuda from the marine fish.

label: Noa mai
definition: Pickled bamboo shoots in Thailand

label: Noa mai dong
definition: Pickled bamboo shoots in Thailand

label: Pak kard dong
definition: Fermented vegetable

label: Pak kum dong
definition: Fermented vegetable

label: Pak Sean dong
definition: Fermented vegetable

label: Pak Sean and Hua plee dong
definition: Fermented vegetable

label: Pak sean and Makhua dong
definition: Fermented vegetable

label: pla-chom
definition: Fermented fish

label: Pla-jaw
definition: Fermented fish

label: Pla-jom
definiton: Fermented fish

label: Pla-ra
definition: Pla ra is a traditional Thai seasoning produced by fermenting fish with rice bran or roasted rice powder and salt fermented in a closed container for at least six months.
	xdbref: https://en.wikipedia.org/wiki/Pla_ra

label: Pla-ra sub
definition: Chili paste made from fermented fish and seasoning

label: Pla-ra-taung
definition: Fermented fish with seasoning

label: Pla-som
definition: Fermented fish

label: Pu dong
definition: fermented crab

label: Som-khai-pla
definition: Fermented fish roe

label: tai-pla
definition: fermented fish entrails

label: Tuaw jaew
definition: Fermented soy beans

Questions:
label: Ma kham dong
definition: Fermented fruit
label: Ma yom dong
definition: Fermented fruit
Are these general terms or is there a specific fruit or vegetable we need to add to the definition?
I need to know which fish are involved, otherwise the following are synonyms?
label: pla-chom
definition: Fermented fish
label: Pla-jaw
definition: Fermented fish
label: Pla-jom
definiton: Fermented fish

Thank you for checking issue.
As I wrote above, we are not familiar with the definition of food above. So, I will only describe some information that I searched for and estimated.

Are these general terms or is there a specific fruit or vegetable we need to add to the definition?

Perhaps it is a word about a particular fruit. This web page has a description about Ma-yom. It seems to be a fruit similar to mango. So Ma yom dong may be a fermented food using this fruit, I guess Ma kham dong also has similar definition. But I can not find a detailed description.

I need to know which fish are involved, otherwise the following are synonyms?

For pla-chom, I found definitions from this article. It says "Pla-chom is most popular in the north-eastern part of Thailand. It is produced from small raw fish mixed with ground roasted gelatinous rice(khaao khuaa), salt and garlic. Pla-chom is typically fermented at room temperature between 28-30C for 3days."
Detailed definition of Pla jom and Pla jaw was not found. According to this page Pla jom uses mixed fish and Pla jaw seems to use Pangasianodon hypophthalmus. At least, in this article pla-jaw and pla-jom are described side by side, I think that it is not a synonym.

I like that FoodOn is growing its international vocabulary here.  Another question: can I assume that all the above non-english names from the database are Thai (and that being the official language of Thailand?)

I will add these terms as is later this week, referencing the NBRC catalogue, so no need to delve further for definitions.  But I hope subsequently we can get better definitions for some terms that determine if they are generic, i.e if pla-chom | Pla-jaw| Pla-jom apply to all fermented fish in Thailand, or are particular to some kinds of fish.

can I assume that all the above non-english names from the database are Thai (and that being the official language of Thailand?)

Probably it is. For example, as we can see in Kaeng tai pla's wikipedia page, original tai-pla character in Thailand is "แกงไตปลา". This is pronounced as  [kɛ̄ːŋ tāj plāː]. So these names would be originated by its sounds. I think that there is no problem in dealing with these as a official language.
The words I mentioned in this issue are derived from Thailand, except shrimp paste.
Interestingly, this dish is not limited to Thailand but it seems to be made in East Asian countries (Thailand, Vietnam, China, Indonesia and Malaysia). In Thailand it seems to be called "kapi". Japan and Korea also have similar dishes, that are fermented mysidacea (Japan: "Tsukeami" or "salted guts of mysidacea", Korea: "Saeu-jeot"). However, because it was mentioned that it is different in leaving the shape of shrimp, it is not included in synonym. Please see the wikipedia page of shrimp paste and wikipedia page of Saeu-jeot for details.

Here's the list of new ids.  I've stated most of them as having "countryOfOrigin' some Thailand.  I've listed them via @en name below though it raises question for me - can these names be listed as @th thai as well as english or do we reserve Thai characters for that?
'ma kham dong' | http://purl.obolibrary.org/obo/FOODON_00001307
'ma yom dong' | http://purl.obolibrary.org/obo/FOODON_00001308
'noa mai dong' | http://purl.obolibrary.org/obo/FOODON_00001318
'noa mai' | http://purl.obolibrary.org/obo/FOODON_00001317
'pak kard dong' | http://purl.obolibrary.org/obo/FOODON_00001319
'pak kum dong' | http://purl.obolibrary.org/obo/FOODON_00001320
'pak sean and hua plee dong' | http://purl.obolibrary.org/obo/FOODON_00001322
'pak sean and makhua dong' | http://purl.obolibrary.org/obo/FOODON_00001323
'pak sean dong' | http://purl.obolibrary.org/obo/FOODON_00001321
'pu dong' | http://purl.obolibrary.org/obo/FOODON_00001327
'shrimp paste' | http://purl.obolibrary.org/obo/FOODON_03309823
'tuaw jaew' | http://purl.obolibrary.org/obo/FOODON_00001330
bu-du | http://purl.obolibrary.org/obo/FOODON_00001263
hoi-dong | http://purl.obolibrary.org/obo/FOODON_00001305
mum | http://purl.obolibrary.org/obo/FOODON_00001310
mum-khai-pla | http://purl.obolibrary.org/obo/FOODON_00001311
mum-sai-pla | http://purl.obolibrary.org/obo/FOODON_00001312
nam-budu | http://purl.obolibrary.org/obo/FOODON_00001313
nham | http://purl.obolibrary.org/obo/FOODON_00001315
nham-pla | http://purl.obolibrary.org/obo/FOODON_00001316
pla-chom | http://purl.obolibrary.org/obo/FOODON_00001324
pla-jaw | http://purl.obolibrary.org/obo/FOODON_00001325
pla-som | http://purl.obolibrary.org/obo/FOODON_00001326
som-khai-pla | http://purl.obolibrary.org/obo/FOODON_00001328
tai-pla | http://purl.obolibrary.org/obo/FOODON_00001329

Nice jobs!

can these names be listed as @th thai as well as english or do we reserve Thai characters for that?

In my personal opinion, I agree with using @en annotation.  Because the semantics of @en in English seems to be the same as that of @th expressed in Thai characters.  I think the same can be said for the word tsunami; the origin of this word is Japanese, but it seems to be used in English as well.
There is no other word with equivalent semantics in English this time, I agree to use @en as it is.
Perhaps not applicable to such a case is probably the word "マンション" in Japanese. "マンション" is pronounced as mˈænʃən, same with "mansion". Of course, the origin of this word comes from English. However the definition is completely different from English, it means condominium or apartment[1] .

Ah, homonyms strike again, across languages!


Config file names are different in CanaryMod

Proposed change.

Hi Robert, Thanks for this.
For future changes to the young person's guide, I recommend editing src/docs/ypgpm.md as that's the source file (docs/YoungPersonsGuide is generated from build)

Yes, will do.


Make masked preserve param structure

Closes #271.
I added a nested test that fails with the old implementation. I did not add a separate callable test since there already is one.

Hi @n2cholas!
Thanks a lot for this PR! I have assigned myself and will review it by Monday.
Also, just to let you know: we have highlighted your contributions on the recently updated optax contributors page
https://optax.readthedocs.io/en/latest/contributors.html.
Thank you very much for your countless contributions to optax: all the feature implementations, suggestions, bug fixes, answers to questions, ...

Sounds good @mkunesch! And thanks for the shoutout--I'm always happy to help😊!

Thanks a lot for the PR again! Took a bit longer to merge due to internal tests but it's all done now.
I was looking at the PR with @hbq1 and he pointed out that it might be good to mention in the docstring that mask is expected to be static. @n2cholas do you agree? Would you like to do that in a new PR or shall I add it?


Retroachievements: Added mastersystem & n64

Added support for mastersystem & n64 (Retroachievements)
Reorganization of platforms in relation to the site (http://retroachievements.org)
-Genetik57

thanks.
can you confirm you've tested on these 2 plateforms ?

Yes by having the right games it works


Practice Songs return Internal Server Error

I'm not able to play the songs found within the /blog/song page. All the audio controls show that it has a length of 0 seconds.

I tried accessing the songs directly following the audio path, and it returns an Internal Server Error.

已經修復 https://jyutping.org/blog/song/

@laubonghaudoi 你乜都冇做過喎，做咩閂咗佢？
其實我幾個月前已經喺 CanCLID group 講過播唔到呢個問題，到而家都係噉

I checked now, and it's working fine. Thanks @laubonghaudoi !
I think the change was made on Netlify @graphemecluster . The site was redeployed this morning when he commented on this thread and closed the issue.

Ah, missed that. But at least in my case I still get 錯誤s after a minute loading the audios. I reloaded the page many times, tried different browsers and still got the same result.

佢出呢個錯係因為Netlify出咗個新嘅咩asset optimization，跟住啲 mp3 文件因為佔用佢太多帶寬所以停咗，我閂咗佢呢個優化跟住重新部署所以我呢邊測試過係冇問題嘅。首漫步人生路前8秒都係靜音嚟嘅要到第9秒先開始有聲，你係點出錯？


WebApp - Update basic Metadata for WebApp (for sharing, SEO...)

Update title
Update description
Update preview images

Title: Comprehensive Polkadot, Substrate & Ethereum wallet
Description: Empower blockchain usage with a one-stop-shop for the multichain.

Link preview image: https://www.figma.com/file/imsv2UTTYDyFhgC3OR8d7v/02.-Social-Poster-2(Dara)?type=design&node-id=5224-73159&mode=design&t=dih7Qme7iHTB69TB-4


adding $(className) and $(package) params

I need a way to add $(className) and $(package) params to my template files:
When I create a new file from template, and if the template contains $(className), FD should prompt to enter class name, so the new file will be created with all $(className) that replaced to the entered value.
Also, If my template file contains $(package) or both $(package) and $(className), FD should prompt where to save the new file, then replace $(package) and $(className) to these corresponding values.
Please consider to add support to these params.
A related question: is there a way to execute one or more macro via command prompt? If I could do it, I can execute a batch file to prompt class name, then execute the macro "NewFromTemplate" to create a new file from a modified fdt template. But even if it's possible, I still cannot handle the $(package)
Please help!
Thanks!

Maybe you can use $(CurFilename)?
You can create custom properties with 2 money bags :moneybag::moneybag: $$(customValue=defaultValue). See bottom of this page http://haxedevelop.org/arguments.html
To trigger this dialog from a macro you can use this:
string myValue = PluginBase.MainForm.ProcessArgString("$$(customValue=A,B,C)");

Thank so much @markknol
$(CurFilename) didn't solve the problem but custom arguments $$(className) work!.
The only issue is that I still cannot handle the $(package), but FlashDevelop will fix the package as soon as the class saved.
I readed the help docs before asking but didn't fully understand the "dynamic argument" term, until I see the illustrated image on the haxe page.
Thanks!


⚠ Bofrost.at has degraded performance

In 4d87b95, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1335 ms

Resolved: Bofrost.at performance has improved in d4483cc.


Add Syntax Annotations

What's the benefit of adding this? It seems like putting documentation in annotations just makes it harder to document features.

How it makes harder to document features? You can update your documentation while you are editing the Java code. Skript Documentation sites uses this so you can import your docs automatically, also TuSKe's documentation files uses documentation annotations and as you know my skDocs Discord bot works with that. So you can support the community by doing that, no need to more.

Updating documentation stored in annotations is far more tedious than updating a markdown file. Since Java does not have multiline strings, that would mean dealing with string concatenation and explicitly specifying line breaks.
I don't think third-party documentation sites have enough benefits to justify using documentation annotations. I would much rather have quality documentation available here than have bad documentation available for third-party sources.

This should now be obsolete due to the move to SkriptDoclet in 3edaa7d10789a649b4ca9163e9c89d4ec807a04d

So did you do it with a different way? Then i think you don't want me to fix conflicts and you can close the PR?


Make kind-up volume paths absolute

Make kind-up volume paths absolute. Fixes issue when scripts are used from provider extension path.
How to categorize this PR?

/area dev-productivity
/kind cleanup
What this PR does / why we need it:
When kind-up.sh is running from a directory outside g/g, the kind configuration has incorrect paths for volume mounts. This fix passes the directory that the script is running in to Helm templating, converting the kind volume configurations to absolute filesystem locations.
Release note:

NONE

/retest

Assuming this is a flake based on https://github.com/gardener/gardener/pull/7240.

@briantopping The upgrade tests on master are currently broken, we are looking into it. No worries 😉

/squash

@timuthy Thanks, all set!

/approve


Icon color and Runtime Urls

Need to make minor corrections based on our initial release strategy. Correct incorrect icon color property.

Hello @TuckermanRav,
I hope you are doing well.
Congratulations, your pull request is approved and merged. Please submit the files to ISV Studio or update your submission using your latest commit ID, please allow us up to 1-2 weeks to review your submission, and our Engineers will notify you in the “Activity Control” area in ISV Studio. Please make sure that the icon meets all the requirements, that it’s size is 230x230, icon background is not white or transparent and it matches the iconBrandColor property in apiProperties.json file.
After making the submission in ISV Studio, please attach an intro.md file in the activity control section. This file is required and it's different from readme.md. You can find an example of intro.md file on this page at step 6.
Please Create an environment in the Preview region. You will use this environment later to test your connector after Microsoft is done with the functional verification for your connector.
We expect all tests to be completed within 1-2 weeks.
If your connector passes all tests, the deployment process begins, and it typically takes up to 3 to 4 weeks to deploy your connector to all of our regions.
Please let me know if you have any questions or run into any problems while creating or updating your submission.
Thank you very much for working with us.


Do not force users to lint their code when running tests

As discussed on #179, this PR separates lint and test tasks to let users to run them separately.
This will avoid having errors not related to tests that can be frustrating for beginners.
This PR is completed with PR docs#179, that modifies the README file of the track to explain this change.

@rchavarria it sounds like the README in the docs directory needs to be modified rather than the old docs repo, right?

Yep. I'll move those changes to this repo and I'll update this PR.

Thanks @rchavarria!


Support 1.20.5+ Custom NBTs

Adds NBT support for 1.20.5+ using NBTAPI. I suggest converting everything related NBT to NBTAPI.

@Ajneb97 Any particular reason you are not merging this or adding the support yourself?

This change would require a lot more code modification than the one you provided. Also:

I don't want the plugin to depend on NBTAPI or external dependencies.
Not necessary, since items can be saved using /kit create  original, and all data is stored correctly.


Report doesn't show the relevant pod

Describe the bug
Report doesn't show the relevant pod so i cannot know which pod is alarm or ok.

Steampipe version (steampipe -v)
steampipe version 0.16.1
Plugin version (steampipe plugin list)
+-------------------------------------------------------------------+
|                                                                   |
| A new version of Steampipe is available! 0.16.1 → 0.16.4          |
| You can update by downloading from https://steampipe.io/downloads |
|                                                                   |
|                                                                   |
| Updated versions of the following plugins are available:          |
|                                                                   |
|   turbot/gcp @ latest               0.26.0 → 0.28.0               |
|                                                                   |
| You can update by running steampipe plugin update --all           |
|                                                                   |
+-------------------------------------------------------------------+
+---------------------------------------------------+---------+-------------+
| Name                                              | Version | Connections |
+---------------------------------------------------+---------+-------------+
| hub.steampipe.io/plugins/turbot/gcp@latest        | 0.26.0  | gcp         |
| hub.steampipe.io/plugins/turbot/kubernetes@latest | 0.12.0  | kubernetes  |
+---------------------------------------------------+---------+-------------+
To reproduce
steampipe check kubernetes_compliance.benchmark.cis_kube_v120 --export html
Expected behavior
The report need to show the name of resource or name of the pod.

@quocvd1511 thanks for raising this issue; we are looking into it.

Fixed in https://github.com/turbot/steampipe-mod-kubernetes-compliance/pull/23


Move CodeQL into parallel workfow

Description
Move CodeQL into parallel workfow
Check List

[ ] ~New functionality includes testing~
[ ] ~New functionality has been documented~
[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1705 (cb5e2f9) into main (782b042) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #1705   +/-   ##
=========================================
  Coverage     62.85%   62.85%
+ Complexity     3259     3258    -1
=========================================
  Files           253      253
  Lines         18082    18082
  Branches       3242     3242
=========================================
  Hits          11365    11365
  Misses         5063     5063
  Partials       1654     1654

Continue to review full report at Codecov.

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


Required languages not validated

Hello!
I am using a2lix translation form (3.0.7) with doctrine behavior (2.2.0). I managed to get the translated entities validated (using validation in yaml file) but this only works when at least one field in each language is populated. If for example you have 2 required languages and you add informations for one and leave all fields for second mandatory language empty, this will not generate a validation error. Any idea on how to fix that?
Thx!

HI,
I have the same issue.
I found a workaround by redefining the TranslationMethodsTrait::isEmpty method from KnpLabs/DoctrineBehaviors

trait FixValidationTranslationTrait
{
    public function isEmpty(): bool
    {
        return false;
    }
}

And  in my translation class

use Knp\DoctrineBehaviors\Contract\Entity\TranslationInterface;
use Knp\DoctrineBehaviors\Model\Translatable\TranslationTrait;

class ServiceTranslation implements TranslationInterface
{
    use FixValidationTranslationTrait {
        FixValidationTranslationTrait::isEmpty insteadof TranslationTrait;
    }

    use TranslationTrait;

[...]
}

In my particular case it works ;-)
Jérôme

Hello @jerome-fix !
Thx for this! I apply it and indeed it works but only when creating new object. When I edit it and remove the content of one mandatory field, it crashed. Was it the same for you?
What is supposed to do the isEmpty function?
thx!


CATransaction interfering with subview appearances

New Issue Checklist

I have read the guidelines for contributing and I understand:

[X ] My issue is happening in the latest version of SideMenu.
[X ] My issue was not solved in the README.
[X ] My issue can not be answered on stackoverflow.com.
[X ] My issue is not a request for new functionality that I am unwilling to build and contribute with a pull request.
[X ] My issue is reproducible in the demo project.

Issue Description

This code block:
        CATransaction.begin()
        CATransaction.setCompletionBlock( { () -> Void in
            self.dismiss(animated: true, completion: nil)
            self.visibleViewController?.viewWillAppear(false) // Hack: force selection to get cleared on UITableViewControllers when reappearing using custom transitions
        })

interferes with new subviews created in the destination controller within "viewDid" and "viewWill" appear methods. At the end of the transition animation when the 'SideMenu' is dismissed - this is where subviews will abruptly be dismissed.
bug.zip
this project is an example of this bug - but, after removing the CATransaction altogether, the issue is fixed

@agates4 are you able to demonstrate a problem without using a 3rd party library? I am inclined not to troubleshoot issues that may be due to the design of a 3rd party's code.
Just to note: it's not guaranteed that SideMenu is compatible with all other libraries.

super view.zip
Here's a simple function - creates a super view, adds a subview. After loading the table view controller and reaching the viewWillAppear function, that super view is initialized. Using breakpoints I was able to see that the subview is presented every time the cell is pressed, but is then instantly dismissed at the end of the transition animation when the 'SideMenu' is dismissed

@agates4 If you debug the view hierarchy, you will see that the view you created is still in the stack but has been pushed to the very back so it is not visible. My assumption is this is what happens naturally by the transition APIs when they complete, though it's possible there's something in SideMenu's code that is adding the views over top of it. I'm not sure without investigating further.
Either way, this is an edge case so I'm not inclined to debug it. If you wanted to produce a solution, it won't be removing the CATransaction (its necessary for the library to function as expected), but instead something to do with the view layer hierarchy when the transition completes.
A workaround for you would be to bring your view back up to the top when the menu dismisses.

A quick hack at SideMenuTransition.swift:446 adding this line will fix it:
topView.superview?.sendSubview(toBack: topView)

Not a pretty solution and I'm not sure if it breaks multiple view controllers being in the hierarchy.

I do have the same problem, hope there is a workaround


[Bug]: npm lifecycle hooks re-evaluated without any change to inputs

There have been reports of lifecycle hooks re-running unnecessarily, when no inputs change.

Our use case: we depend on nodegit which has a very expensive (120s+) lifecycle hook:
[85,797 / 85,799] Running lifecycle hooks on npm package<EMAIL_ADDRESS>[for tool]; 45s local

We literally never change the version of nodegit we use so I'd expect that this lifecycle hook output is cached on my laptop forever (or at least until I clear it manually) but that is not the case. It seems that some set of conditions cause this thing to rebuild sometimes ... I have not figured out what they are.

Possibly related? If seen on MacOS:
https://github.com/bazel-contrib/bazel-lib/issues/887

@matthewjh that's a really interesting theory! And yes I am on macOD


a change to an array item causes entire list to re-render

I've encountered an issue related to array results. This addon uses an Ember NativeArray (via A())  to wrap array results, and then calls setObjects to update the array in place when Apollo Client notifies us about new/changed data on the array.
Unfortunately, it seems that this (at least sometimes) can cause the entire collection of results to re-render when just a single property on an item in the array changes. The specific scenario I'm encountering involves a modal component that invokes a mutation. The collection is being updated with the modified results before the mutation task has finished. At the moment this mutation is being done within the component itself, so the task gets canceled and the finishing steps (such as showing a flash message) don't complete.
How can I avoid this? Is there some other collection type I should be using in ember-apollo-client? Something that is smart enough to know when only one item in the list has changed and avoid re-rendering the entire thing / tearing down all child components?

The issue here was that I wasn't specifying key="id" on my {{#each}} invocations, so Ember couldn't tell when the objects in my result array were they same. Docs for that are here: https://emberjs.com/api/ember/3.1/classes/Ember.Templates.helpers/methods/each?anchor=each
This is probably a common mistake when using a non-identity-mapped data service in Ember  (i.e. not ember-data). In Apollo's case, it rebuilds immutable objects each time the results are updated, and for an Array ember-apollo-client fully replaces the underlying array using setObjects.
There's also an RFC from @mmun that would allow specifying a function for the key= argument, which would tie in nicely to Apollo's dataIdFromObject. Hopefully in the future we can use that to make it easier out-of-the-box since you essentially already need to inform Apollo about how to generate a unique identifier for your objects.

Interesting. I'll try that. Since my backend is written using Absinthe Relay, I already have unique global IDs - it's something like "User:42" encoded using Base64.


Added the ability to set a limit for rolls and dice faces

Fixes #15.
This adds a new configuration to the Dice constructor allowing to set the maximum number of roll times and/or dice faces. The check is done in the interpreter.
Example:
const dice = new Dice(null, null, {
    maxRollTimes: 20, // limit to 20 rolls
    maxDiceSides: 100, // limit to 100 dice faces
});
const result1 = dice.roll("50d10");
console.log(result1.errors); // Outputs ["Invalid number of rolls: 50. Maximum allowed: 20."]
const result2 = dice.roll("10d500");
console.log(result2.errors); // Outputs ["Invalid number of dice sides: 500. Maximum allowed: 500."]

If this is not the right approach to add this feature, I can update the implementation. I also added new tests and updated the README.md.

Hey, thanks a lot! That's pretty much how I was gonna do it myself. :) Now that this is merged, I'll get 1.6.0 published.


Update Changes.md

Added release notes for 2023-12-12

@twhetzel please merge after review. Thank you!


Add example with-external-stylesheets-and-postcss

🤡

Unless I am misunderstanding something this is basically the same as my example with-global-stylesheet. Even if slighty different the technique is the same so maybe it would make better sense to merge the efforts making one single good example OR moving loaders inside next.js itself. Examples are already very crowded.

@davibe Hey, sorry, yes. I copied your with-global-stylesheet, but forgot to attribute you in the README.md. I don't know about merging the examples – I personally found them to lack in the fact that none really solved my problem, so I made this one. I bet yours is as useful for someone who don't want postcss with css-modules, but sass instead.
I'll definitely add an attribution, though.

I don't know why the tests keep failing... They all pass locally, for me, and this PR shouldn't affect anything.

@thomaslindstrom from the looks of it, it has nothing to do with your PR.

@timneutkens Yeah, no, it finally passed now!

It's not about attribution. I am just saying its redundant to have 2 examples of the same technique. I picked a generic name "*-global-stylesheet" to intentionally accomodate multiple engines. Anyway,  its just my point of view.

It was out of courtesy. But yes, I see where you're coming from, but I disagree. “I don't have the time to set up my own build configurations and figure out how everything works.” This is the beauty of next.js – everything should just work out of the box. And, when it doesn't, I think there should be examples that fit your use case almost perfectly.

I personally like this example a lot. It's ok to err on more examples rather than fewer, provided they have good explanations, they work and we maintain them.
I would love to get rid of the "known bug" though :\

@rauchg Yeah, me too... I am not sure where it comes from, but I assumed it had something to do with https://github.com/zeit/next.js/issues/544 and https://github.com/zeit/next.js/issues/627#issuecomment-270039476, and the fact that webpack, AFAIK, is ran from within node_modules.
Module build failed: Error: Cannot find module '-!./../node_modules/css-loader/index.js??ref--6-4!./../node_modules/postcss-loader/index.js!../global.css'

I'm not even sure what module it has trouble finding. It could be that it doesn't find ../global.css. Could this be fixed by adding some config into webpack that sets some kind of directory context?

Can we have consistent naming so that the two examples are shown close together ? I refer to with-(global|external)-stylesheet*. I vote for global because it is better opposes to scoped

Could probably rename this to with-scoped-stylesheets-and-postcss?

I changed the name of the example to with-scoped-stylesheets-and-postcss. It still fails due to some random error, though.

It's not from this PR @thomaslindstrom, so that's fine. I merged it in, could you create an issue for the known bug with steps to reproduce? ❤

https://github.com/zeit/next.js/issues/1191 😘


local_auth_token must follow the correct format

This may be a duplicate of #34, but I'm not 100% sure. Just started noticing these errors in my logs:
2021-05-09 23:05:10 ERROR (SyncWorker_2) [glocaltokens.client] [Device - Nest Wifi router] local_auth_token must follow the correct format
2021-05-09 23:05:10 ERROR (SyncWorker_2) [glocaltokens.client] [Device - Google Wifi router] local_auth_token must follow the correct format
2021-05-09 23:05:10 ERROR (SyncWorker_2) [glocaltokens.client] [Device - Google Wifi router] local_auth_token must follow the correct format
2021-05-09 23:05:10 ERROR (SyncWorker_2) [glocaltokens.client] [Device - Google Wifi router] local_auth_token must follow the correct format

As far as I can tell, everything is working... but I'm curious if these errors are potentially a sign of trouble down the road?

I haven't been able to replicate this. Is it still an issue?


Bad cloned header width when fsm-sticky-header is applied to

As the title says, the width of the cloned header is incorrect when the fsm-sticky-header is applied to the thead tag, instead of the tr. (Using smart-table with multiple rows in the table header.)
I got it working by removing the first if statement from the setColumnHeaderSizes() method, but I don't know whether it breaks anything.

Yeah, it's coded to be very opinionated about how the HTML is structured.  No, I don't think it would break anything else for you, and I could changed it to support both that if you gave me a jsfiddle example or something.

I fixed this so it works with


Azure CLI - Command Failing

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks show --name "clustername" --resource-group "rgp"
Errors:
The command failed with an unexpected error. Here is the traceback:
[WinError -2146893813] : ''
Traceback (most recent call last):
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 657, in execute
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 720, in _run_jobs_serially
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 691, in _run_job
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 328, in call
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 352, in handler
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/_client_factory.py", line 22, in cf_managed_clusters
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/_client_factory.py", line 62, in get_container_service_client
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/client_factory.py", line 70, in get_mgmt_service_client
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/client_factory.py", line 212, in _get_mgmt_service_client
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/_profile.py", line 335, in get_login_credentials
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/_profile.py", line 588, in _create_credential
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/auth/identity.py", line 182, in get_user_credential
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/auth/msal_authentication.py", line 41, in init
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 872, in get_accounts
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 910, in _find_msal_accounts
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/token_cache.py", line 54, in find
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/token_cache.py", line 35, in _reload_if_necessary
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/persistence.py", line 172, in load
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/windows.py", line 111, in unprotect
OSError: [WinError -2146893813] : ''
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.
Install Azure CLI as an adminstrator
Login using device authentication
Try running any az aks command
Expected Behavior
Shows status of cluster in Azure
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.8.9
Installer: MSI

azure-cli 2.30.0

Additional Context

route to service team

Sorry for the inconvenience. Please consider the following steps

log out with az logout
remove your cached login credentials located in %HOMEPATH%/.azure/
log in again with az login
retry az aks show --name "clustername" --resource-group "rgp"

It seems to duplicated with issue https://github.com/Azure/azure-cli/issues/20231


Format class type instance attributes

This is an attempt to fix #710 while maintaining an acceptable pretty print format.
Here's what this PR achieves, given: class type_z = { pub height: int } [@@bs];, it formats it to
class type _z = {
  pub height: int
}
[@@bs];

This is similar to how a virtual class is formatted here.

Looks nice, thanks. I haven't touched this part of the codebase yet, so not sure what kind of challenges are there to correct indent this. Maybe @jordwalke has more contexts.
The diff is definitely good enough for now though. Thanks so much for the fix!


Add Function to get UART belonging VID/DID

Hello Andre,
i have the problem to select between multiple USB-TTY devices the correct. For this porpose i thought of VID/DID. With a little help from google i found https://unix.stackexchange.com/questions/144029/command-to-determine-ports-of-a-device-like-dev-ttyusb0.
As bash example:
find /sys/bus/usb/devices/usb*/ -name dev   # find usb tty devices/usb*/
find /sys/bus/serial/devices/ -name dev     # find native tty devices

udevadm info -q name -p /sys/bus/usb/devices/usb2/2-2/2-2:1.0/tty/ttyACM0       # get name
udevadm info -q property -p /sys/bus/usb/devices/usb2/2-2/2-2:1.0/tty/ttyACM0   # get VID/PID

DEVPATH=/devices/pci0000:00/0000:00:06.0/usb2/2-2/2-2:1.0/tty/ttyACM0
DEVNAME=/dev/ttyACM0
MAJOR=166
MINOR=0
SUBSYSTEM=tty
USEC_INITIALIZED=1038986785
ID_BUS=usb
ID_VENDOR_ID=04d8
ID_MODEL_ID=ffee
ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
ID_PCI_INTERFACE_FROM_DATABASE=OHCI
ID_VENDOR_FROM_DATABASE=Apple Inc.
ID_MODEL_FROM_DATABASE=KeyLargo/Intrepid USB
ID_PATH=pci-0000:00:06.0-usb-0:2:1.0
ID_PATH_TAG=pci-0000_00_06_0-usb-0_2_1_0
ID_VENDOR=Devantech_Ltd.
ID_VENDOR_ENC=Devantech\x20Ltd.
ID_MODEL=USB-ISS.
ID_MODEL_ENC=USB-ISS.
ID_REVISION=0100
ID_SERIAL=Devantech_Ltd._USB-ISS._00060147
ID_SERIAL_SHORT=00060147
ID_TYPE=generic
ID_USB_INTERFACES=:020201:0a0000:
ID_USB_INTERFACE_NUM=00
ID_USB_DRIVER=cdc_acm
ID_MM_CANDIDATE=1
DEVLINKS=/dev/serial/by-id/usb-Devantech_Ltd._USB-ISS._00060147-if00 /dev/serial/by-path/pci-0000:00:06.0-usb-0:2:1.0
TAGS=:systemd:

After extracting ID_VENDOR_ID and ID_MODEL_ID i would have the chance to unambiguous indentify my USB-TTY device.
The function prototyp could be int simple_uart_vid_did(const char uart[], uint32_t *vid, uint32_t *did) that means the VID/DID is only extracted for a single given name. This would also relax the system calls.
A similar information is under windows also available:

What do you think, should i start a try to implement the algorithm under linux?
BR,
Andeas

For extracting the info from windows, i found here a link: https://www.codeguru.com/windows/determining-what-serial-ports-are-available-on-a-windows-machine/ with the related function
void EnumPortsWdm(CArray<SSerInfo,SSerInfo&> &asi)
{
	CString strErr;
	// Create a device information set that will be the container for
	// the device interfaces.
	GUID *guidDev = (GUID*) &GUID_CLASS_COMPORT;

	HDEVINFO hDevInfo = INVALID_HANDLE_VALUE;
	SP_DEVICE_INTERFACE_DETAIL_DATA *pDetData = NULL;

	try {
		hDevInfo = SetupDiGetClassDevs( guidDev,
			NULL,
			NULL,
			DIGCF_PRESENT | DIGCF_DEVICEINTERFACE
			);

		if(hDevInfo == INVALID_HANDLE_VALUE)
		{
			strErr.Format("SetupDiGetClassDevs failed. (err=%lx)",
				GetLastError());
			throw strErr;
		}

		// Enumerate the serial ports
		BOOL bOk = TRUE;
		SP_DEVICE_INTERFACE_DATA ifcData;
		DWORD dwDetDataSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA) + 256;
		pDetData = (SP_DEVICE_INTERFACE_DETAIL_DATA*) new char[dwDetDataSize];
		// This is required, according to the documentation. Yes,
		// it's weird.
		ifcData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
		pDetData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
		for (DWORD ii=0; bOk; ii++) {
			bOk = SetupDiEnumDeviceInterfaces(hDevInfo,
				NULL, guidDev, ii, &ifcData);
			if (bOk) {
				// Got a device. Get the details.
				SP_DEVINFO_DATA devdata = {sizeof(SP_DEVINFO_DATA)};
				bOk = SetupDiGetDeviceInterfaceDetail(hDevInfo,
					&ifcData, pDetData, dwDetDataSize, NULL, &devdata);
				if (bOk) {
					CString strDevPath(pDetData->DevicePath);
					// Got a path to the device. Try to get some more info.
					TCHAR fname[256];
					TCHAR desc[256];
					BOOL bSuccess = SetupDiGetDeviceRegistryProperty(
						hDevInfo, &devdata, SPDRP_FRIENDLYNAME, NULL,
						(PBYTE)fname, sizeof(fname), NULL);
					bSuccess = bSuccess && SetupDiGetDeviceRegistryProperty(
						hDevInfo, &devdata, SPDRP_DEVICEDESC, NULL,
						(PBYTE)desc, sizeof(desc), NULL);
					BOOL bUsbDevice = FALSE;
					TCHAR locinfo[256];
					if (SetupDiGetDeviceRegistryProperty(
						hDevInfo, &devdata, SPDRP_LOCATION_INFORMATION, NULL,
						(PBYTE)locinfo, sizeof(locinfo), NULL))
					{
						// Just check the first three characters to determine
						// if the port is connected to the USB bus. This isn't
						// an infallible method; it would be better to use the
						// BUS GUID. Currently, Windows doesn't let you query
						// that though (SPDRP_BUSTYPEGUID seems to exist in
						// documentation only).
						bUsbDevice = (strncmp(locinfo, "USB", 3)==0);
					}
					if (bSuccess) {
						// Add an entry to the array
						SSerInfo si;
						si.strDevPath = strDevPath;
						si.strFriendlyName = fname;
						si.strPortDesc = desc;
						si.bUsbDevice = bUsbDevice;
						asi.Add(si);
					}

				}
				else {
					strErr.Format("SetupDiGetDeviceInterfaceDetail failed. (err=%lx)",
						GetLastError());
					throw strErr;
				}
			}
			else {
				DWORD err = GetLastError();
				if (err != ERROR_NO_MORE_ITEMS) {
					strErr.Format("SetupDiEnumDeviceInterfaces failed. (err=%lx)", err);
					throw strErr;
				}
			}
		}
	}
	catch (CString strCatchErr) {
		strErr = strCatchErr;
	}

	if (pDetData != NULL)
		delete [] (char*)pDetData;
	if (hDevInfo != INVALID_HANDLE_VALUE)
		SetupDiDestroyDeviceInfoList(hDevInfo);

	if (!strErr.IsEmpty())
		throw strErr;
}

I tryed also to play a little with chat gpt.

This would be reasonable. That example code is for C++, and uses exceptions which wouldn't be suitable (the library is currently straight C). But it could be reworked into straight C. I did have the idea of having a string description for each port, which could include vid=XYZ,pid=XYZ kind of details, and if we had that, then having a function for opening by grepping through these strings would be pretty straight forward (much like the hwgrep feature of pyserial - https://pyserial.readthedocs.io/en/latest/url_handlers.html#hwgrep)

Hi Andre,

But it could be reworked into straight C.
This i can try. And add an straight forward C code as comment here.

I did have the idea of having a string description for each port, which could include vid=XYZ,pid=XYZ

We should try to define as first the interface and the name of the function. For instance: int simple_uart_prop(const char uart[], char ***propesp) and then the info to add. Because under windows it could be easily became a mess to collect all the infos.
BR,
Andreas

In relation to pyserial it could also named int simple_uart_hwgrep(const char uart[], char ***propesp)

I think there's probably two functions. The one that gives the info, which could be something like:
int simple_uart_describe(const char *uart_device, char *description, int max_description_length)
And then a new function for automatically opening the first matching device, ie:
struct simple_uart *simple_uart_open_match(const char *match, int speed, const char *mode_string)
Which runs through all the available ports finding one that contains match as a substring of its description, and then tries to open the first matching device.

Hi André
yes this function int simple_uart_describe(const char *uart_device, char *description, int max_description_length) sounds reasonable. But we take into account how should this function behaves in windows and linux. Do we define a set of keywords, like you mention in:

vid=XYZ,pid=XYZ
this is then a reformat of the udevadm info -q property -p output, or the functionoutputs only the implemented info which could gives a lot of cnfusion between windows/linux environemnts. From my point of view i would prefer a own key definition which is then equal between linux and windows. For my case would the vid/did enough and later can this function mature. But please equal between linux/windows.

struct simple_uart *simple_uart_open_match(const char *match, int speed, const char *mode_string)
Also d'accord, but please keep the old function as well:
struct simple_uart *simple_uart_open(const char *device, int speed, const char *mode_string)

Some doubts two the *match string:

What happends if the user like to check the vid and a future match criteria. At the end of the day you have to build an key/value pair list between criterias to match and the read criteria. Perhaps would it better to output a key value list, i think it could be easier to match, instead of grepping in two strings and compare them.

What do you think?
BR,
Andreas

My function proposal would look like follows:
int simple_uart_describe(const char *uart_device, char ***keyp, char ***valp) For the return:
| return | meaning |
| < 0     | ero |
| >= 0  | number of returned keys |
Could this also work?
BR,
Andreas

Hi Andre,
i started right now with the uart_describe implementation, see #31. The Win32 part is in my opinion ready.
BR,
Andreas

solved in #31 Thanks for merge.


Fix NULL check condition for blaze_symbolize_src_kernel conversion

The NULL checks in the conversion from &blaze_symbolize_src_kernel to Kernel objects got the condition wrong, causing potential NULL pointer dereferences. Fix the issues.

Will merge this change once CI passes to move rollout forward.


Infoview updates break if the line contains multibyte characters

I'm about to head out for the evening, so this may be an easy fix, but the infoview seems to break totally if in Lean 3 I have a line like:
variables {𝔽 : Type*} {

Save that to a file, open it, and just append to the end of the line, and the traceback says:
Error detected while processing CursorMovedI Autocommands for "<buffer=1>":
E5108: Error executing lua /Users/julian/Development/lean.nvim/lua/lean/infoview.lua:545: index out of range
stack traceback:
        [C]: in function 'str_byteindex'
        /Users/julian/Development/lean.nvim/lua/lean/infoview.lua:545: in function 'update_extmark'
        /Users/julian/Development/lean.nvim/lua/lean/infoview.lua:531: in function 'set_position_params'
        /Users/julian/Development/lean.nvim/lua/lean/infoview.lua:624: in function 'move'
        /Users/julian/Development/lean.nvim/lua/lean/infoview.lua:443: in function 'move_pin'
        /Users/julian/Development/lean.nvim/lua/lean/infoview.lua:846: in function '__update'
        [string ":lua"]:1: in main chunk

(This obviously occurs when that line is in the middle of a longer file as well, and persists, so it basically just breaks the infoview).
It's still odd to me to see anything talking about pin updating when no pins are being used -- it seems something is miscalculating a character (which may be an easy fix), but in general I'd love it if no pin updates occurred unless I try to use pins.
More generally we probably should wrap infoview update calls in pcall and catch any failures and render them into the infoview so at least they don't repeatedly disrupt typing.

Hmm odd, I can't reproduce. To make sure, this happens when you have a file with just that text and you hit A to insert at the end? Could you perhaps git bisect this?
In the infoview code, I've treated the current position as a "current pin" that moves when you move your cursor. This simplifies the code by avoiding special cases and is how it is automatically updated on file progress notifications for example. Yeah this does suggest that we could have more nuance in not setting end_col when the extmark is hidden for example, but as you suggest it should be an easy fix, just not sure how to repro this atm...

Aha, after updating my neovim to the latest master, I get this problem too. So I suspect that there was a breaking change of some kind upstream, will investigate soon.

Just bisected to neovim/neovim#15907, will investigate in more detail tomorrow.

 Well done. I was expecting to have to look myself in the
morning, thanks for finding that!
On Thu, Nov 18, 2021, 22:21 Rishikesh Vaishnav @.***>
wrote:

Just bisected to neovim/neovim#15907
https://github.com/neovim/neovim/pull/15907, will investigate in more
detail tomorrow.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Julian/lean.nvim/issues/206#issuecomment-973697237,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACQQXUT24F2NAXNAJ5AS73UMW7ELANCNFSM5IKWEYWQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Okay so it seems like Lean uses UTF32 indices for LSP interactions (@gebner CMIIW) while neovim/neovim#15907 defaults to UTF16. This creates a host of other issues, for example on lines with muti-index UTF16 characters, hover request positioning is off on those lines after those characters.
If we're able to configure the server to accept UTF16 instead of UTF32 then we could make a fix to lspconfig and shove this under the rug for the time being. @gebner is this possible? ISTM that it isn't since the config defaults to UTF16, and clearly the server hasn't acknowledged that...
Otherwise I think I'll work on a PR alternative to neovim/neovim#15997 that doesn't introduce a breaking change to buf_request so we can hopefully get this fixed faster. Then we'll just have to set offset_encoding = utf32 in lspconfig.

Okay so it seems like Lean uses UTF32 indices for LSP interactions

Lean 4 uses UTF-16 on the LSP side.  (There's a translation layer to transform UTF-16 indices to codepoint indices.)
The Lean 3 language server wrapper indeed treats all LSP positions as UTF-32 indices (i.e., counting Unicode codepoints, which Lean does internally).  The vscode extension has the same mismatch, it results in interesting failure modes. :smile:  If there's a way to indicate UTF-32 on the server side, PRs are also welcome at https://github.com/leanprover/lean-client-js

@gebner how hard would it be to make Lean 4 also support UTF32? There's the documentation for clangd that specifies an offsetEncoding, and I reckon this would make things a bit faster on the server side. Then we could at least eventually unify our logic in #208.
(frankly I'm pissed off that Microsoft has saddled everyone with UTF16 for what I suspect is the purpose of making sure that their own editor is compatible with the most language servers, but I'll try to keep my own cynicism out of this 😬)

how hard would it be to make Lean 4 also support UTF32?

This question here is not how if it would be difficult, but rather if it would be desirable.  I don't have any interest in supporting multiple encodings on the server side.  The encoding stuff is already hairy enough as it is.  Adding more choices just means that there are more code paths that need to be tested, and even more edge cases that can break.
The standard says UTF-16 so we need to support it, everything else just adds potential for bugs.

I'm pissed off that Microsoft has saddled everyone with UTF16

I'm also unhappy with the concrete choice of encoding in the standard, but realistically speaking there is no good choice here.  All of them require ugly conversions, but with UTF-16 it's at least obvious that things are broken...
You might think that Unicode codepoints are the obviously correct way to count characters, but of course they're not.  Take for example everybody's favorite variable name, Z̖̪͕̝̱̝͍̰͉͑̾ͪ͗ͪ.  In my terminal, that's one character.  But it's 15 Unicode codepoints (and 32 bytes of UTF-16).  And neovim handles it just fine (as one character).
If we were to adopt UTF-32 for indexing, then it would be easy to make the fallacious assumption that index = "number of characters on screen".  It would of course be correct more often than mixing up UTF-16 and UTF-32, but it's just as broken.

Even with combining characters and the like, it still seems inherently ridiculous to translate to force clients to translate to a random optimization scheme they don't even use rather than to the representation that UTF encodings were intended to be converted to. I know there's nothing we can do about it at this point but it's just so obvious that MS did this to give themselves a shortcut at everyone else's expense.

I don't have any interest in supporting multiple encodings on the server side. The encoding stuff is already hairy enough as it is. Adding more choices just means that there are more code paths that need to be tested, and even more edge cases that can break.

If clangd and rust-analyzer found this worth doing, I don't see why Lean shouldn't. The code for these conversions should be fairly self-contained and easy to (perhaps FORMALLY) verify, right? And if it isn't, that's already something that needs to be fixed. I realize that this is probably something I'll have to PR myself if I want it, and I certainly hope to contribute to the server once I finish my thesis, so perhaps we can discuss this again in a few months.

Reopening since we're still technically waiting on neovim/neovim#16382 (though it looks like this is going to be merged shortly).

16382 is merged so you all should close this.

@gebner quick question does the Lean 3 server also treat textDocument/didChange parameters as UTF-32?
If so I'm surprised we didn't notice any issues before since while investigating neovim/neovim#16624 it looks like the default is UTF-16.

quick question does the Lean 3 server also treat textDocument/didChange parameters as UTF-32?

No.  There are two programs here: neovim communicates with lean-language-server, which then in turn communicates with lean --server.
The lean --server pretends everything is UTF-32.  The lean-language-server pretends everything is UTF-16.  It's a beautiful mess! :smile:
Fortunately the incremental didChange notifications are interpreted by lean-language-server as UTF-16, which it translates into full change synchronizations for lean --server (without positions).
All the other requests are passed through to lean --server without adjusting the position; which means that their positions are interpreted as UTF-32.

Fortunately the incremental didChange notifications are interpreted by lean-language-server as UTF-16, which it translates into full change synchronizations for lean --server (without positions).

From what I can tell lean-language-server only supports TextDocumentSyncKind.Full, so the distinction between UTF-16 and UTF-32 doesn't even enter into it. Is this correct?

From what I can tell lean-language-server only supports TextDocumentSyncKind.Full, so the distinction between UTF-16 and UTF-32 positions doesn't even enter into it. Is this correct?

In that case is VSCode 1-upping us in being able to do incremental syncs somehow? If so I can probably look into how to to support this from lean-language-server.

No, Lean 3 doesn't do incremental sync at all.  (I just thought the javascript LSP library would simulate it.)


chore(deps): update common-dev-assets digest to 5a7da53

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
ec50ee2 -> 5a7da53

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

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


Spawned Shotguns have 1 shot loaded and safety turned off

It's a small inconvenience, but it would be nice not needing to think about setting the safety at the start of each run.
I think the simplest solution would probably be making it have 0 shells loaded by default, or having the safety already on

Hey, thanks for the report - I've pushed v0.3.2 to Thunderstore, please check if it resolves your issue.

It seems to all work well, thank you!


Database connectivity issues

Hi ,
Had deployed the release to production using Microsoft SQL Server as database with the below values.yaml after analyzing the statefulset under api-server. Currently I don't see any errors in the api-server pod logs, but the query is was it connected to the SQL server database or is it using internal database, since I don't see any tables or objects created under the database.
PFB snapshots.
Values.yaml
apiServer:
resources:
requests:
cpu: "2"
memory: "4Gi"
limits:
cpu: "2"
memory: "4Gi"
persistentVolume:
enabled: true
size: 30Gi
nodeSelector:
agentpool: npuser3
kubernetes.io/os: linux
extraEnv:
ALPINE_DATABASE_MODE: "external"
ALPINE_DATABASE_URL: "jdbc:sqlserver://.database.windows.net:1433;databaseName=SBOM;sendStringParametersAsUnicode=false;trustServerCertificate=false"
ALPINE_DATABASE_DRIVER: "com.microsoft.sqlserver.jdbc.SQLServerDriver"
ALPINE_DATABASE_USERNAME: "-admin@"
ALPINE_DATABASE_PASSWORD: "***"
extraEnv:
SYSTEM_REQUIREMENT_CHECK_ENABLED: "false"
initContainers:

name: fix-permissions
image: docker.io/library/busybox
command:

sh
-c
|
chown -R 1000:1000 /data
volumeMounts:
name: data
mountPath: /data
securityContext:
capabilities:
add:

CHOWN
runAsNonRoot: false
runAsUser: 0
seccompProfile:
type: RuntimeDefault

Database Snapshot

Pod Log Details
ubuntu@NARU-Pr5530:~/sbom$ kubectl logs sbom-dependency-track-api-server-0 -n sbom
Defaulted container "dependency-track-api-server" out of: dependency-track-api-server, fix-permissions (init)
2024-05-23 12:21:57,418 INFO [EmbeddedJettyServer] alpine-executable-war v2.2.5 (c3a1a709-acdc-4ca7-96dd-5eaab858ee32) built on: 2024-02-29T20:30:01Z
2024-05-23 12:21:59,427 INFO [Config] --------------------------------------------------------------------------------
2024-05-23 12:21:59,430 INFO [Config] OS Name:      Linux
2024-05-23 12:21:59,430 INFO [Config] OS Version:   5.15.0-1059-azure
2024-05-23 12:21:59,430 INFO [Config] OS Arch:      amd64
2024-05-23 12:21:59,431 INFO [Config] CPU Cores:    2
2024-05-23 12:21:59,432 INFO [Config] Max Memory:   3.2 GB (3,437,756,416.0 bytes)
2024-05-23 12:21:59,433 INFO [Config] Java Vendor:  Eclipse Adoptium
2024-05-23 12:21:59,434 INFO [Config] Java Version: 21.0.3+9-LTS
2024-05-23 12:21:59,434 INFO [Config] Java Home:    /opt/java/openjdk
2024-05-23 12:21:59,434 INFO [Config] Java Temp:    /tmp
2024-05-23 12:21:59,434 INFO [Config] User:         dtrack
2024-05-23 12:21:59,435 INFO [Config] User Home:    /data/
2024-05-23 12:21:59,435 INFO [Config] --------------------------------------------------------------------------------
2024-05-23 12:21:59,435 INFO [Config] Initializing Configuration
2024-05-23 12:21:59,435 INFO [Config] System property alpine.application.properties not specified
2024-05-23 12:21:59,436 INFO [Config] Loading application.properties from classpath
2024-05-23 12:21:59,442 INFO [Config] --------------------------------------------------------------------------------
2024-05-23 12:21:59,442 INFO [Config] Application:  Dependency-Track
2024-05-23 12:21:59,443 INFO [Config] Version:      4.11.1
2024-05-23 12:21:59,443 INFO [Config] Built-on:     2024-05-19T16:40:32Z
2024-05-23 12:21:59,443 INFO [Config] --------------------------------------------------------------------------------
2024-05-23 12:21:59,443 INFO [Config] Framework:    Alpine
2024-05-23 12:21:59,443 INFO [Config] Version :     2.2.5
2024-05-23 12:21:59,443 INFO [Config] Built-on:     2024-02-29T20:30:01Z
2024-05-23 12:21:59,443 INFO [Config] --------------------------------------------------------------------------------
2024-05-23 12:21:59,548 WARN [ExecutorServiceMetrics] Failed to bind as java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService is unsupported.
2024-05-23 12:21:59,584 INFO [RequirementsVerifier] Initializing requirements verifier
2024-05-23 12:21:59,585 WARN [RequirementsVerifier] Dependency-Track requires a minimum of 4GB RAM (heap). We highly recommand to use 4GB RAM. Dependency-Track will continue to start, but may not function properly. https://docs.dependencytrack.org/getting-started/deploy-docker/#container-requirements-api-server
2024-05-23 12:21:59,585 INFO [MetricsInitializer] Registering system metrics
2024-05-23 12:21:59,642 INFO [UpgradeInitializer] Initializing upgrade framework
2024-05-23 12:22:01,745 INFO [PersistenceManagerFactory] Initializing persistence framework
2024-05-23 12:22:01,747 INFO [PersistenceManagerFactory] Creating transactional connection pool
2024-05-23 12:22:01,871 INFO [PersistenceManagerFactory] Creating non-transactional connection pool
2024-05-23 12:22:02,200 INFO [PersistenceManagerFactory] Registering DataNucleus metrics
2024-05-23 12:22:02,215 INFO [HealthCheckInitializer] Registering health checks
2024-05-23 12:22:02,216 INFO [DefaultObjectGenerator] Initializing default object generator
2024-05-23 12:22:02,219 INFO [DefaultObjectGenerator] Synchronizing permissions to datastore
2024-05-23 12:22:02,440 INFO [DefaultObjectGenerator] Adding default users and teams to datastore
2024-05-23 12:22:04,166 INFO [DefaultObjectGenerator] Synchronizing SPDX license definitions to datastore
2024-05-23 12:22:06,994 INFO [DefaultObjectGenerator] Adding default license group definitions to datastore
2024-05-23 12:22:07,341 INFO [DefaultObjectGenerator] Synchronizing default repositories to datastore
2024-05-23 12:22:07,393 INFO [DefaultObjectGenerator] Synchronizing config properties to datastore
2024-05-23 12:22:07,499 INFO [DefaultObjectGenerator] Synchronizing notification publishers to datastore
2024-05-23 12:22:07,610 INFO [EventSubsystemInitializer] Initializing asynchronous event subsystem
2024-05-23 12:22:07,647 INFO [NotificationSubsystemInitializer] Initializing notification service
2024-05-23 12:22:07,649 INFO [IndexSubsystemInitializer] Building lucene indexes if required
2024-05-23 12:22:07,677 INFO [IndexManager] Checking the health of index PROJECT
2024-05-23 12:22:07,678 WARN [IndexManager] The index PROJECT does not exist
2024-05-23 12:22:07,678 INFO [IndexManager] (Re)Building index project
2024-05-23 12:22:07,679 INFO [IndexManager] Checking the health of index COMPONENT
2024-05-23 12:22:07,679 WARN [IndexManager] The index COMPONENT does not exist
2024-05-23 12:22:07,679 INFO [IndexManager] (Re)Building index component
2024-05-23 12:22:07,680 INFO [IndexManager] Checking the health of index SERVICECOMPONENT
2024-05-23 12:22:07,680 WARN [IndexManager] The index SERVICECOMPONENT does not exist
2024-05-23 12:22:07,680 INFO [IndexManager] (Re)Building index servicecomponent
2024-05-23 12:22:07,680 INFO [IndexManager] Checking the health of index VULNERABILITY
2024-05-23 12:22:07,680 WARN [IndexManager] The index VULNERABILITY does not exist
2024-05-23 12:22:07,680 INFO [IndexManager] (Re)Building index vulnerability
2024-05-23 12:22:07,680 INFO [IndexManager] Checking the health of index LICENSE
2024-05-23 12:22:07,680 WARN [IndexManager] The index LICENSE does not exist
2024-05-23 12:22:07,680 INFO [IndexManager] (Re)Building index license
2024-05-23 12:22:07,680 INFO [IndexManager] Checking the health of index VULNERABLESOFTWARE
2024-05-23 12:22:07,680 WARN [IndexManager] The index VULNERABLESOFTWARE does not exist
2024-05-23 12:22:07,681 INFO [IndexManager] (Re)Building index vulnerablesoftware
2024-05-23 12:22:07,684 INFO [ProjectIndexer] Starting reindex task. This may take some time.
2024-05-23 12:22:07,684 INFO [IndexManager] Deleting project index
2024-05-23 12:22:07,698 INFO [AlpineServlet] Starting Dependency-Track
2024-05-23 12:22:08,039 INFO [ProjectIndexer] Reindexing of 0 projects completed in PT0.007362077S
2024-05-23 12:22:08,065 INFO [ComponentIndexer] Starting reindex task. This may take some time.
2024-05-23 12:22:08,065 INFO [IndexManager] Deleting component index
2024-05-23 12:22:08,091 INFO [ComponentIndexer] Reindexing of 0 components completed in PT0.004203244S
2024-05-23 12:22:08,094 INFO [ServiceComponentIndexer] Starting reindex task. This may take some time.
2024-05-23 12:22:08,095 INFO [IndexManager] Deleting servicecomponent index
2024-05-23 12:22:08,118 INFO [ServiceComponentIndexer] Reindexing of 0 services completed in PT0.002128722S
2024-05-23 12:22:08,119 INFO [VulnerabilityIndexer] Starting reindex task. This may take some time.
2024-05-23 12:22:08,119 INFO [IndexManager] Deleting vulnerability index
2024-05-23 12:22:08,143 INFO [VulnerabilityIndexer] Reindexing of 0 vulnerabilities completed in PT0.004893251S
2024-05-23 12:22:08,145 INFO [LicenseIndexer] Starting reindex task. This may take some time.
2024-05-23 12:22:08,145 INFO [IndexManager] Deleting license index
2024-05-23 12:22:08,668 INFO [LicenseIndexer] Reindexing of 704 licenses completed in PT0.488989294S
2024-05-23 12:22:08,670 INFO [VulnerableSoftwareIndexer] Starting reindex task. This may take some time.
2024-05-23 12:22:08,670 INFO [IndexManager] Deleting vulnerablesoftware index
2024-05-23 12:22:08,685 INFO [VulnerableSoftwareIndexer] Reindexing of 0 VulnerableSoftwares completed in PT0.00194332S
2024-05-23 12:22:10,809 INFO [KeyManager] Generating new key pair
2024-05-23 12:22:12,452 INFO [KeyManager] Saving key pair
2024-05-23 12:22:12,479 INFO [AlpineServlet] Dependency-Track is ready
2024-05-23 12:22:12,482 INFO [NvdMirrorServlet] Initializing NVD mirror
2024-05-23 12:22:12,482 INFO [FileSystemResourceServlet] Initializing filesystem resource servlet
2024-05-23 12:22:17,643 INFO [PortfolioMetricsUpdateTask] Executing portfolio metrics update
2024-05-23 12:22:17,647 INFO [VulnerabilityMetricsUpdateTask] Executing metrics update on vulnerability database
2024-05-23 12:22:17,659 INFO [ClearComponentAnalysisCacheTask] Clearing ComponentAnalysisCache
2024-05-23 12:22:17,663 INFO [OsvDownloadTask] Google OSV mirroring is disabled. No ecosystem selected.
2024-05-23 12:22:17,670 INFO [ClearComponentAnalysisCacheTask] Complete
2024-05-23 12:22:17,673 INFO [PortfolioMetricsUpdateTask] Completed portfolio metrics update in 00:00:027
2024-05-23 12:22:17,708 INFO [VulnerabilityMetricsUpdateTask] Completed metrics update on vulnerability database in 00:00:060
2024-05-23 12:23:07,644 INFO [VulnDbSyncTask] Starting VulnDB mirror synchronization task
2024-05-23 12:23:07,645 INFO [VulnDbSyncTask] VulnDB mirror directory does not exist. Skipping.
2024-05-23 12:23:07,647 WARN [NistMirrorTask] The NVD is planning to retire the legacy data feeds used by Dependency-Track (https://nvd.nist.gov/General/News/change-timeline); Consider enabling mirroring via NVD REST API in the settings: https://docs.dependencytrack.org/datasources/nvd/#mirroring-via-nvd-rest-api
2024-05-23 12:23:07,648 INFO [NistMirrorTask] Starting NIST mirroring task
2024-05-23 12:23:07,648 INFO [NistMirrorTask] Mirrored data directory created successfully
2024-05-23 12:23:07,655 INFO [NistMirrorTask] Downloading files at Thu May 23 12:23:07 UTC 2024
2024-05-23 12:23:07,656 INFO [NistMirrorTask] Initiating download of https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2024.json.gz
2024-05-23 12:23:08,458 INFO [NistMirrorTask] Downloading...
2024-05-23 12:23:08,935 INFO [NistMirrorTask] Uncompressing nvdcve-1.1-2024.json.gz
2024-05-23 12:23:09,048 INFO [NvdParser] Parsing nvdcve-1.1-2024.json
2024-05-23 12:23:37,831 INFO [NistMirrorTask] Initiating download of https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2024.meta
2024-05-23 12:23:38,066 INFO [NistMirrorTask] Downloading...
2024-05-23 12:23:38,068 INFO [NistMirrorTask] Initiating download of https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2023.json.gz
2024-05-23 12:23:38,209 INFO [NistMirrorTask] Downloading...
2024-05-23 12:23:39,012 INFO [NistMirrorTask] Uncompressing nvdcve-1.1-2023.json.gz
Does this chart doesn't support external databases ?

Kindly do the needful.
Thanks

You have extraEnv defined twice:
extraEnv:
  ALPINE_DATABASE_MODE: "external"
  ALPINE_DATABASE_URL: "jdbc:sqlserver://.database.windows.net:1433;databaseName=SBOM;sendStringParametersAsUnicode=false;trustServerCertificate=false"
  ALPINE_DATABASE_DRIVER: "com.microsoft.sqlserver.jdbc.SQLServerDriver"
  ALPINE_DATABASE_USERNAME: "-admin@"
  ALPINE_DATABASE_PASSWORD: "***"
extraEnv:
  SYSTEM_REQUIREMENT_CHECK_ENABLED: "false"

I'm guessing Helm will only render the latter of the two, which would omit the database settings you provided.

@nscuro : My bad I see was able to connect the database and able to fetch the results.Thanks


🐛 Fixing: Incompatible block pointer types Error on iOS

As the name suggest this PR fixes the error while building on iOS.
Also closes the issue #2

👍


Missing PerfMon performance counter categories causes InvalidOperationException on service start

When starting TabMon, if a PerfMon counter category defined in counters.config is not present on a host machine, the service will fail to start.

Fixed in #92 -- we now check if a counter category exists before trying to query it.


[Feature Request] Plugin plesk-change-password

Hi , thanks for the great app. Would love to see a password change plugin for plesk join the many others.

You used to be able to use poppassd with Plesk -- there's a poppassd plugin available, so you could try that out!
Sadly there's no way to do it via API since the XML-API only works for admins/resellers/customers and not mail users (it returns "permission denied" when trying to access it). Only remaining option would be to have a spot to enter admin details for Plesk in the settings, and authenticate via admin account. This is NOT recommended due to it being a security risk to provide potential access to all domains and email accounts on the server.

Isn't it possible to make an plesk extension to solve this problem

How would you authenticate the user? See the latest Plesk Onyx XML-API documentation here. It states:

At the moment, the use of the XML API protocol is allowed to Administrator, resellers and customers. These users are provided with programmatic means of managing various Plesk objects they own.

This means that the only very hackish way of accomplishing this that I can think of, would be to authenticate as the mail user via POST or GET, then emulate the actions of the Plesk GUI. This also means that if Plesk changes the way the UI works in the future, the extension would break.
I'd be very happy to be proven wrong on this though :)

I ment to integrate Rainloop completely into Plesk like Kolab (https://www.plesk.com/extensions/kolab/)


Add building packages

We're missing possibility of package building, so it can be distributed not only as a code.
This means updating build system (currently cmake).

jni code was merged into https://github.com/pmem/pmemkv-java repository and it's built with mvn now (with possibility to build package - lib*.so).


color output

Is there a way to "inherit" the output of the processes so the color is preserved?
I did this locally and it works, but I'm assuming that'd break something. (didn't test any further since it works for me)
    // Line:76 watch-package.js
    var proc = processes[script] = spawn(nodemon, args, {
      env: process.env,
      cwd: pkgDir,
      stdio: 'inherit',
    })
    return;
    if (quiet === true || quiet === 'true') {
    ...

From what I can see it actually should not be breaking anything.
Would you like to make a pr?

Although the main issue here is not stdio but rather a tty issue, if this fixes it I would gladly pull it in.

Sure, np.

Closed with #22
New package is now up @ v0.1.6

My colors are still stripped. Using 0.1.8

@M-Zuber ^

Could you please provide me with a bit more information: what OS are you using, and could you share your config file?

@M-Zuber macOS 10.12.3, https://github.com/stevenvachon/relateurl/blob/master/package.json#L35-L39

I can get colors to work if I use "inherit": true, which happens to be what I wanted, but does not solve this issue.


Fixed a bug in the get_subnets function

Bug
The get_subnets function was truncating to max. 100 results due to list comprehensions handling of iterators. The bug has been described in https://github.com/opentensor/bittensor/issues/2208.
Description of the Change
Replaced list comprehension with a manual iteration to ensure all subnet UIDs are retrieved, addressing the issue of truncated results.
Alternate Designs
Considered increasing fetch limits but chose manual iteration for more reliable results.
Possible Drawbacks
No significant drawbacks, just a minor increase in code complexity.
Verification Process
Added a test to check the length of the result list, ensuring all records are processed correctly. Ran all existing tests to confirm no regressions.
Release Notes
Fixed an issue in get_subnets where the result list was being truncated, ensuring complete retrieval of subnets.

Thanks for the contribution!
How was this fix tested?
The issue can be reproduced on the testnet and I don't believe this fixes it.
See example:
import bittensor
subtensor = bittensor.subtensor(network="wss://test.chain.opentensor.ai:443")
s = subtensor.get_subnets()
len(s)
# 100; Expected > 100

Thanks for the contribution! How was this fix tested?

I initially tested the fix using the snippet. However, during the cleanup process, I introduced an issue that wasn't caught even with 500 networks. I've now pushed a working version and thoroughly tested it with the snippet, though the solution is a bit more barebones.

I would consider using the paging functionality of pysub-interface.

I can certainly rewrite the function to use pysub-interface. However, this would also require modifying the query_map_subtensor function and incorporating a start_key. This way, we can leverage the substrate to retrieve results page by page as QueryMapResults. If this approach is preferred, let me know and I will implement it.

Hi. Taking a look at this today.


Add support for Encoding and Decoding nested JSON keys

Swift Evolution thread: Pitch: Add support for Encoding and Decoding nested JSON keys
Prototype implementation: diff with passing tests

I can put up a PR against apple/swift/stdlib/public/Darwin/Foundation/JSONEncoder.swift with stdlib tests if the core team thinks this proposal is fitting for a formal review.

Hi @calda – thanks for the proposal. However, Swift Evolution only covers the Swift Standard Library, and JSONEncoder is part of Foundation. @parkera may be able to offer advice on how to propose this as a Foundation addition, but for now I'll close this evolution PR.


Add option to transcribe system audio

With option to record and transcribe system audio it would be possible to cover all sorts of useful use cases like:

Transcribe videos in any random video player or format
Transcribe any online meeting in any meeting tool

By transcribing system audio I mean to capture and transcribe anything that is coming out of the system speakers or headphones, similar to this example https://github.com/tez3998/loopback-capture-sample

Thanks for opening the issue with the ideas. For the online meetings (everything that can happen in the browser) we implemented the Chrome/Firefox extension. That said, I like the idea of supporting every application by capturing the system audio. Looking into it, and provide feedback here.

An observation - the browser extension seems to rely on the microphone to transcribe. In my tests on Firefox I was not able to get it to transcribe content from a Youtube video and it is possible transcription does not work if user is using headphones in general.

Try to use echoCancellation: false in getUserMedia.

for now you can use something like "virtual cable" and set it as default-input, so it will truly hear the "system audio" like it was a microphone. I use virtualcable for all kinds of stuff, works here, too. but yes, i would prefer a native solution straight from the code or maybe a new code/app for this.
(please also thing about implementing the translation in a bidirectional way, since if it can translate german to english perfectly almost, then it must be possible to translate english into german, too!)


OK

This Pull Request resolves Issue #
Description:
In this Pull Request we have done the following additions/edits for the code:
Note: Delete all the text including this!

Make sure you replace #<IssueNumber> with the particular Issue that you are referencing with!
Make sure you describe the Issue properly and ask as many people as possible to review your Pull Request so that it can be merged as soon as possible!

Spam!

Kindly go to Hacktoberfest-2k18 and not make such firvilous PRs


Market 135 integration

@andreasbalsiger we implemented another connector. your feedback is appreciated, thank you.

ready2merge :)


Flet 0.25.1 not working offline (web html)

Duplicate Check

[X] I have searched the opened issues and there are no duplicates

Describe the bug
On previous version of flet, I was able to create an app that can run offline. Using the solution from this question.
Since version 2.4.1 This solution doesn't work. Have any idea how to fix it ?
Code sample
Code
flet.app(main, view=flet.AppView.FLET_APP_WEB, web_renderer=flet.WebRenderer.HTML)

To reproduce

Run the flet app as website with html render.
Turn off the internet and see that the website is not loading.

Expected behavior
No response
Screenshots / Videos

Captures
[Upload media here]

Operating System
Windows
Operating system details
windows 11
Flet version
0.25.1
Regression
Yes, it used to work in a previous Flet version (please specify the version in additional details)
Suggestions
No response
Logs
Logs
[Paste your logs here]

Additional details
No response

Unfortunately, HTML renderer was removed in the recent releases of Flutter. There are now canvaskit and skwasm (not yet supported in Flet): https://docs.flutter.dev/platform-integration/web/renderers
See this Flutter issue: https://github.com/flutter/flutter/issues/145954
We need a proper offline support which is tracked in https://github.com/flet-dev/flet/issues/2096


Add API endpoint for updating pin status

Pull Request Type

[x] ✨ feat
[ ] 🐛 fix
[ ] ♻ refactor
[ ] 💄 style
[ ] 🔨 chore
[ ] 📝 docs

Relevant Issues
resolves #1051
What is in this change?

This pull request introduces a new API endpoint to update the pin status of a document within a workspace.
Key Changes:

New Endpoint:

Path: /workspace/:slug/update-pin
Method: POST
Description: Allows users to add or remove the pin status of a specified document in a workspace.

Endpoint Details:

Parameters:

slug: Unique identifier of the workspace (in path).
Authorization: Token (in header).

Request Body:{
  "docPath": "custom-documents/my-pdf.pdf-hash.json",
  "pinStatus": true
}

Responses:

200 OK: Pin status updated successfully.
404 Not Found: Document not found.
500 Internal Server Error: Internal server error.

Documentation:

Added the new endpoint to openapi.json for easy reference in Swagger UI at http://localhost:3001/api-docs.

These changes enhance document management by allowing users to efficiently update pin statuses via the API.

Developer Validations

[x] I ran yarn lint from the root of the repo & committed changes
[x] Relevant documentation has been updated
[x] I have tested my code functionality
[x] Docker build succeeds locally

@yond1994 LMK what your discord handle is or ping me in Discord directly if you are in there and I can give the contributor badge in there as wel

Thank you very much, if I am in the discord my user is heavydeveloper


manually parse & character

Fixes #42 and #41
Also standardize indentation to be tabs instead of spaces.

@RhinosF1 Can you confirm that this PR fixes the issue?

As far as I know, it should @kulttuuri

Thanks! Merging.


using ->end() doesn't give RootNode's typehint to the IDE

since ->end() return the CompoundNode, instead of RootNode, it didn't give access to method like ->string(), ->numeric etc
Maybe we can use something like public function end(): CompoundNode|RootNode so we can have access to that method.
Thoughts?

Hi @sawirricardo,
This should be taken care of via these @mixin PHPDoc directives on CompoundNode.
What IDE are you using? If you can get it to understand those, you should get them in auto-complete. Here is what it looks like in IntelliJ IDEA or PHPStorm:

Using vscode with laravel-ide-helper. maybe due to the ide-helper package? it seems vscode doesnt take the things

I did some quick Googling and found this: https://github.com/neild3r/vscode-php-docblocker/issues/120.
I'm going to close this as I don't believe it's a Hyrule issue. Let me know if that VSCode plugin helps!

Oops, Actually, I've installed the docblocker ext too, but it's not working. Is is possible to simply add the return docblock to include RootNode? like this

that way the IDE (vscode) works

Hi @sawirricardo, VSCode auto-complete should work better now: https://github.com/square/laravel-hyrule/pull/1


Add nominee: FarmBot

Automatic addition of a new nominee submitted through the online form available at https://digitalpublicgoods.net/submission

@lacabra closing this PR as it seems to duplicate #173


Streaks

This PR introduces a new feature: Streaks
This allows an activity to be created, like logging into a website, or posting an article, and on each successful day where the activity is recorded, a streak runs.
Streaks are broken when you miss a day. A streak will be reset and you will start again.
Streaks are also recorded for historical purposes (thought this can be turned off)
See the README which documents how to use this feature.

Duplicate PR 🤷🏻♂


feat: support setting s-maxage in resp headers for shared caches

Coverage increased (+0.01%) to 99.372% when pulling 48844b0577e8665e9b836b802bdf734a6f397c92 on jrthomer/shared-caches into a6c8baf4c06db001a44722bca05d57efe166f9cc on master.


Reload database.yml in loop to pick up changes

If the database.yml file is modified after the manageiq-db-ready unit starts the changes were not being picked up and manageiq-db-ready would hang.
Fixes https://github.com/ManageIQ/manageiq-appliance_console/issues/188

Backported to najdorf in commit 181aeafe7196c0a67300de1eb44420e86dbd96c1.
commit 181aeafe7196c0a67300de1eb44420e86dbd96c1
Author: Jason Frey<EMAIL_ADDRESS>Date:   Mon Aug 15 17:46:32 2022 -0400

    Merge pull request #364 from agrare/reload_database_yml

    Reload database.yml in loop to pick up changes

    (cherry picked from commit 122f2605931e5c74590c5b92ae732a425cc04ab1)


This person only streams weekly on youtube

https://www.youtube.com/channel/UCYVU6rModlGxvJbszCclGGw
https://www.youtube.com/watch?v=To5Nbs6DmIA

I'm not sure how this is an issue for infosecstreams. Sounds like a problem for the YouTubers though.


Upgrades to service and other parts

This has a whole bunch of updates:

Updates to use the ClinicalTrialGovService if one is provided
Adds tests to test the system - the idea is that at the very least they'll be stubs that can be used to start to write real tests
Updates the test config to include code coverage support
Updates various dependencies to use the latest minor versions (a few packages have major updates that may break things that haven't been updated yet)

Submitter:

[x] Make sure test coverage didn’t decrease. If you are allowing the test coverage to drop, leave an explanation as to why:
[x]	Does an update need to be made to the documentation with these changes? Yes The use of the ClinicalTrialGovService should be documented, although it should work "as-is" by default.
[x]	Does an update need to be made to the service wrappers as well? No
[x]	Does an update need to be made to the service library? No, this is in response to an update
[x] Was the new feature tested by unit tests? Yes
[x] Was the new feature tested by a manual, end-to-end test? N/A

This is currently in draft as I haven't finished updating the tests to cover the whole process, and there may be other changes that should happen.


Y Axis Plot - latency measurement

Question
When plotting out in html, is this avg or max, or some other measurement?

The vegeta plot draws all data points on the chart so it doesn't use any windowed summary statistics like that.

@tsenart Is there any way to show the number of concurrent requests? My server is for streaming, so sending request rate is different from concurrent users. I want to know the concurrent users of my server.

How would you define a concurrent user from the server’s perspective?
Sent via Superhuman iOS<EMAIL_ADDRESS>)
On Thu, Jul 4 2019 at 7:26 AM, <<EMAIL_ADDRESS>> wrote:

@tsenart ( https://github.com/tsenart ) Is there any way to show the number
of concurrent requests? My server is for streaming, so sending request
rate is different from concurrent users. I want to know the concurrent
users of my server.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (
https://github.com/tsenart/vegeta/issues/375?email_source=notifications&email_token=AAAQPD26UCUPAIG3L3WEMM3P5WCY3A5CNFSM4GUQOQJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZGLGSQ#issuecomment-508343114
) , or mute the thread (
https://github.com/notifications/unsubscribe-auth/AAAQPD2GFKATDAMUCDSV5KTP5WCY3ANCNFSM4GUQOQJA
).

The number of users who get streaming at the time.
Since per one request, the number of HTTP response header is one, but I send multiple bodies, so it's hard to calculate the number of users.


Infinite Scroll altering request URL

Hey,
I have a very strange issue with Infinite Scroll. Well, I THINK it is Infinite Scroll.  I honestly can't see what else is causing it.
Go here: https://dev.neiltonge.co.uk/parks/coasters?sort=order   If you choose “2019” from the “All years” select box about halfway down, then scroll to the bottom of the grid and click “View more coasters”. That works fine.  If you scroll back up and check the checkbox next to “New in 2019” and now try to “View more coasters”. You’ll see it says there are no more to load, even though the pagination above the grid says otherwise.  It took me a while to figure out what was happening but if you check the network inspector whilst clicking the button with the select box and checkbox set, you’ll see that the URL it’s requesting from is all good apart from it’s changed the “ridden_in” parameter from “2019” to “219”. Therefore no results.  This is really confusing because the pagination "next" link works fine.  I’m completely baffled by this one.
Thanks

How did you solve it?

How did you solve it?

Unfortunatley I haven't solved it.   Still not sure what the issue is.  Do you know?

Not yet, I will let you know.

Thanks for reporting this issue. Do I need to take another look at this? From what I saw the site seems to be loading all the 2019 coasters

Thanks for reporting this issue. Do I need to take another look at this? From what I saw the site seems to be loading all the 2019 coasters

Hi @desandro
Unfortunately this is still not working correctly.   The issue is to do with the "New in 2019" checkbox that appears AFTER you choose "2019" from the "All Years" dropdown.
On page load, if you choose "2019" from the "All Years" dropdown, there should be 168 entries.   If you then check the "New in 2019" checkbox, there should now be 122 entries.   At this point If you use the "View more Coasters" but underneath the grid, it will return the "No more Coasters" text string.  But only 25 are visible and 122 are available.   If you look at the URL, the reason for this appears to be that something has removed the "0" from "2019"!
Take a look at my screenshot to see the changed URL:

I hope I've explained it clearly. It's a very strange issue. I really appreciate you taking a look.

Ah, okay.
I think the problem is with Infinite Scroll.  The regex that Infinite Scroll uses is not matching the  page=2 in ?page=2&ridden_in=2019&sort=order so its falling back to the last number in the URL, which happens to be 019, as it looks for up-to-three digits.
I'll look into fixing this.

For my own development. the Regex should match /parks/coasters?page=2&ridden_in=2019&sort=order or /parks/coasters?ridden_in=2019&sort=order&page=2

@desandro Thanks for the update!  Very relieved the source of the bug has been found. Been wondering where it was hiding for ages.  I hated coming here and posting about it when I wasn't 100% it was Infinite Scroll causing it.
I very much look forward to the fix!  Will you post here when an update is available?
Thanks again!

@desandro Hi, I've just updated to 4.0.1 and the issue is still persisting.  The way to recreate it is identical as to the above posts.
Thanks in advance,
Neil

@desandro Hi, I've just updated to 4.0.1 and the issue is still persisting.  The way to recreate it is identical as to the above posts.
Thanks in advance,
Neil

@desandro This is still causing an issue. Would you be able to take a look and hopefully put in a fix for it?  Thankyou!!

Hi,
The same is not working for me(

I am sorry, it actually working, looks need to use
updateGetPath
https://github.com/metafizzy/infinite-scroll/issues/936#issuecomment-761265218

Hi @desandro Is there an update on this?  It is still causing a big issue in my app.
I see @PeterTakahashi has a pull request that he mentions will fix this.  Could this be reviewed and merged?  If not, how do I use those adjustments on my installation?


[SPARK-34926][SQL][3.0] PartitioningUtils.getPathFragment() should respect partition value is null

What changes were proposed in this pull request?
When we insert data into a partition table partition with empty DataFrame. We will call PartitioningUtils.getPathFragment() then to update this partition's metadata too. When we insert to a partition when partition value is null, it will throw exception like
[info]   java.lang.NullPointerException:
[info]   at scala.collection.immutable.StringOps$.length$extension(StringOps.scala:51)
[info]   at scala.collection.immutable.StringOps.length(StringOps.scala:51)
[info]   at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:35)
[info]   at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
[info]   at scala.collection.immutable.StringOps.foreach(StringOps.scala:33)
[info]   at org.apache.spark.sql.catalyst.catalog.ExternalCatalogUtils$.escapePathName(ExternalCatalogUtils.scala:69)
[info]   at org.apache.spark.sql.catalyst.catalog.ExternalCatalogUtils$.getPartitionValueString(ExternalCatalogUtils.scala:126)
[info]   at org.apache.spark.sql.execution.datasources.PartitioningUtils$.$anonfun$getPathFragment$1(PartitioningUtils.scala:354)
[info]   at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:238)
[info]   at scala.collection.Iterator.foreach(Iterator.scala:941)
[info]   at scala.collection.Iterator.foreach$(Iterator.scala:941)
[info]   at scala.collection.AbstractIterator.foreach(Iterator.scala:1429)
[info]   at scala.collection.IterableLike.foreach(IterableLike.scala:74)
[info]   at scala.collection.IterableLike.foreach$(IterableLike.scala:73)

PartitioningUtils.getPathFragment()  should support null value too
Why are the changes needed?
Fix bug
Does this PR introduce any user-facing change?
No
How was this patch tested?
Added UT

FYI @MaxGekk

Test build #137204 has started for PR 32128 at commit ba5a56f.

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

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

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

cc @cloud-fan @HyukjinKwon @wangyum

Test build #137204 has finished for PR 32128 at commit ba5a56f.

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

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

+1, LGTM. Merging to branch-3.0.
Thank you @AngersZhuuuu and @HyukjinKwon @wangyum for your review.


Cannot add a photo to gallery

/photos/photo/add/ doesn't work. Apparently a flash issue.

No wait, it does work.

ticket invalid; closing


attribute_multi_mut to allow simultaneous mutable access to distinct mesh attributes

Objective
Fixes #2134, allowing simultaneous mutable access to distinct mesh attributes.
Solution
The attribute_multi_mut method allows the user of the API to retrieve a constant amount of mutable references to unique attributes. The method uses constant generics for a clean interface. The method uses some unsafe code to retrieve multiple mutable pointers to the given vertex attributes, then verifying that they are indeed all unique (and panics otherwise).
I've also added some docs to explain the method and some tests to ensure that it works as expected.

Before committing to this, I think its worth considering a simpler alternative (that removes the need for dupe checks at the cost of one extra btree lookup):
let mut mesh = Mesh::from(shape::Box::default());

let positions = mesh.remove_attribute(Mesh::ATTRIBUTE_POSITION).unwrap();
let normals = mesh.remove_attribute(Mesh::ATTRIBUTE_NORMAL).unwrap();

// modify here

mesh.insert_attribute(Mesh::ATTRIBUTE_POSITION, positions);
mesh.insert_attribute(Mesh::ATTRIBUTE_NORMAL, normals);

@cart That could definitely work too. I'm not sure which method is faster, but it probably doesn't matter too much either way.
I'm more concerned about the potential for bugs with the remove_attribute method. It's much easier to make a mistake with that method and, for example, forget to re-insert the attribute, or re-insert it under a wrong name. Not a huge worry but still.
But if the remove_attribute method is more generally useful and would be added anyway, then that's a good enough workaround and this maybe isn't needed. Then again I don't see a lot of utility in removing mesh attributes (when would you want to do that?) but maybe I'm ignorant.

I'm more concerned about the potential for bugs with the remove_attribute method. It's much easier to make a mistake with that method and, for example, forget to re-insert the attribute, or re-insert it under a wrong name. Not a huge worry but still.

Yup I agree that this does introduce a level of "logical error potential". But it also removes the need for some gnarly unsafe code and keeps the implementation small and simple. Given that the need for "multi-mut" access is probably pretty niche, I think I'm comfortable with that tradeoff.

But if the remove_attribute method is more generally useful and would be added anyway, then that's a good enough workaround and this maybe isn't needed. Then again I don't see a lot of utility in removing mesh attributes (when would you want to do that?) but maybe I'm ignorant.

In addition to enabling multiple mutable accesses, it also gives developers the ability to remove attributes they don't need. For large meshes, this could free up significant amounts of memory.

Without prejudice to this PR, Mesh::remove_attribute() was added by #5254.

Closing as I think remove() is preferable to adding unsafe code for this use case, which is likely pretty niche. If there is enough demand, we can revisit this.


Upgrade to C++17 and various enhancements

Overview
This pull request introduces enhancements to ignoring insufficient measurements, addresses various compiler warnings, and updates msvc project and cmake files to use C++17 for MSVC++ and g++ respectively.

Coverage: 79.171% (-0.09%) from 79.26% when pulling 6e730fa5a430acd4119ddb0e9394d8930ac64b73 on rogerfraser:master into 72bc8feb83bce81015c3a269bc581ad6aa9a6187 on icsm-au:master.


Update karma.conf.js to reference correct path to bower installed angular and angular-mocks files

Made the mistake of assuming that the compile and references were made when running npm start but they are not, thus the paths were incorrect. Perhaps it should be documented that Gulp should be ran prior to running/testing the app.

Got it, I can give you brownie points on that one if you can make a PR modifying the README :+1: