Thesaurus machine broken

The website updated the way they present their data. Randomized css, oh joy. I figured out a way to fix this, but I don't have the time right now to implement all of it.
Here's a quick and dirty start:
import requests
from bs4 import BeautifulSoup

r = requests.get('... url for box...')
soup = BeautifulSoup(r.content, "html.parser")
a = soup.select('script')[10]
b = a.text.decode('utf-8').replace('... whatever the dumb text at the beginning is ...')

# the goods are in here
goodStart = b.find('relatedWordsApiData')
goodEnd = b[goodStart:].find('spellSuggestionsData')
json.loads('{"'+b[goodStart:goodEnd-2]+'}')

Is there any solution for that ??

Meh, I was able to refine it a little bit more shortly after I created this issue. I'm not quite sure what was up with the unicode the first time I tried reading the data with json.loads().
I finish finals Tuesday. I'll be able to work on it more then. I'm pretty good at getting distracted, though, so if you tell me your grandmother's life depends on this fix— I'll see what I can do. Until then, goodnight my dear child.
def fetchWordData(inputWord):
    import json
    url = formatWordUrl(inputWord)
    r = requests.get(url)
    soup = BeautifulSoup(r.content, 'html.parser')

    data = soup.select('script')[10].text
    data = data[22+1:-1] # remove 'window.INITIAL_STATE = ' and ';'
    data = json.loads(data)

    # most of the data is in here
    data['searchData']['tunaApiData']['posTabs']

Alright, so I was able to work on it some tonight. Sadly this is slightly harder than I thought. They moved the location of the length and complexity variables inside some really strange javascript. I'll probably upload a version soon that ignores those filter options for the time being, until I can figure I can navigate all of this.
On the bright side, I found a new filtering option to add— isVulgar.

Hey, this is perfect for a project I'm working on. Is there any chance you've gotten further with the fix?

Fixed it, cleaned up the code, used named tuples to make parts more readable, added global constants to reduce magic string usage, documented all the functions, added new filter options.
Still need to update README. I'll try to do that tomorrow.

"A Father's Promise" is a historical fiction novel by Donna Lynn Hess that follows the life of a little Polish boy, Rudi Kaplan, during the bombing of Warsaw.  The next few years change Rudi's life forever.
"A Programmer's Promise" is a historically fictional novel by Manwholikespie that follows the life of a little Python Programmer, the Dark Lord Robert, as he makes some changes for dear little harman221 and philipjames44-- never breaking his promise to update the README.
When I have some more free time, the next thing is going to be examining the way I'm handling Exceptions. I've had people in the past tell me that they don't want an error raised when thesaurus.com doesn't have the word "lkjsdfkljf", but this is causing some errors in other places. First things first is to fix those other errors, and then I might consider raising some sort of error (or at least printing a warning) when thesaurus.com doesn't have the word. We shall see though. I need to read into the best practices for this kind of stuff.
Good night.

A God among mere men. Apollo has brought the light back to us once again. Without fail, every day for mankind. We know not what will happen if the light shall falter, but know that as sure that as the sun sets, the sun, by the will of Apollo, will rise again.
Thanks a bunch for this. We need people with the same values and skills exactly like you have on our team. If my project takes off some more I'll hit you up if that's alright. See you at the top buddy.


feat(content-docs): sidebar category linking to document or auto-generated index page

Breaking changes
Doc index slugs
Docs with the following filename patterns now have better urls/slugs:

docs/dir/subdir/index.md => slug becomes /docs/dir/subdir/ instead of /docs/dir/subdir/index
docs/dir/subdir/readme.md => slug becomes /docs/dir/subdir/ instead of /docs/dir/subdir/readme
docs/dir/subdir/subdir.md => slug becomes /docs/dir/subdir/ instead of /docs/dir/subdir/subdir

You can revert to the former behavior easily with frontmatter: slug: /dir/subdir/index

Motivation

Ability to link a sidebar category to a category introductory doc
Ability for auto-generated sidebars to use filename conventions (such as index.md) as category introductory doc
Ability to auto-generate a category index from its subitems

See also https://github.com/facebook/docusaurus/issues/2643
Not included
The following were considered but are not part of the current PR (may eventually come later):

Add a link: {type: "firstDoc"} shortcut to automatically link the category to its first child doc
Ability to add a generated-index link to all categories by default as a plugin option
Assign a default slug/path to a sidebar category (canny)

Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
Unit tests, snapshots and dogfood on website
Test urls:

https://deploy-preview-5830--docusaurus-2.netlify.app/docs/next/category/getting-started
https://deploy-preview-5830--docusaurus-2.netlify.app/docs/next/category/guides
https://deploy-preview-5830--docusaurus-2.netlify.app/docs/next/markdown-features/
https://deploy-preview-5830--docusaurus-2.netlify.app/tests/docs/category/tests

Docs:

Category links (doc, generated-index)
Category index.md convention
docCategoryGeneratedIndexComponent option

Is it really desired to have autogenerated category index pages? Should we add a config option and default it to false?

😅 this is a draft to have something working locally and explore the problem space and UX possibilities. We'll figure out later how to make it configurable and what the API should look like, it's not in a state worth reviewing for now.

I personally is quite clueless about how to differentiate between "linked" categories and "non-linked" ones :P Maybe we should just make the "non-linked" ones non-clickable as well so they don't look like links at all? Good luck👍

Makes me curious about what happens when this PR gets merged. Do we get a bunch of co-authors because the commits to main are duplicated here?😄

The code seems ready to review for me (although it's not so easy due to the amount of code 😅 )

Makes me curious about what happens when this PR gets merged. Do we get a bunch of co-authors because the commits to main are duplicated here?😄

Hmmm don't know exactly what happened, maybe I did a bad merge but yes they appear as co-author in the commit message. That can be manually edited though, GitHub just read/parse the text string.

I'll now focus on:

docs
Infima category collapsing issue (https://github.com/facebookincubator/infima/issues/188)

Let me know if you see anything with weird behavior.
Note due to the versionedId => unversionedId refactor I had to do (https://github.com/facebook/docusaurus/issues/6018), I used both versioned and unversioned ids on the docusaurus site itself to be sure it's retrocompatible. Also tried to gen a new version locally and it worked.

I personally would also wait for https://github.com/facebookincubator/infima/issues/187 before merging this. We shouldn't ship a design that even we don't like.

Now I understand what it's like to review a PR with 3000 lines of changes and so many things going on at once😄

Now I understand what it's like to review a PR with 3000 lines of changes and so many things going on at once😄

😅 sometimes it's easier to write the code yourself than to review the code of someone else

I personally would also wait for facebookincubator/infima#187 before merging this. We shouldn't ship a design that even we don't like.

I'd rather not to, as this PR is already quite complex.
I polished a bit the card UX/UI shadows in current PR and that seems good enough for me to merge as-is.
We can redesign shadows in Infima for sure but the goal is not to rush on a quick solution asap to unlock this PR, but rather to have a good time to make good long-term decisions. Not everything needs to go into Infima at once.

How about using border for default card state instead of shadow? It seems neater and makes it stand out better visually a card from the white foreground (especially at the top of a card).
Before

After

🤷♂ I don't know, IMHO the current design trend is rather to only use shadows:

https://tailwindui.com/preview
https://www.joshwcomeau.com/latest/

My goal in this PR is to just make it good enough to merge (isn't it good enough already?).
It is not necessarily the design that we'll still have in 6 months after we refactor a bit Infima. But I'd rather make this Infima redesign as part of Infima instead of this PR.

If many agree that borders are a better short-term solution, now is a good time to do that change, as I'm likely to merge this PR before tomorrow and try to release it next week.
Apart the doc that I'm currently writing, the rest is ready so please do a last review and tell me if you see any issue.

I don't know, IMHO the current design trend is rather to only use shadows:

This is not suitable in all cases. In our case, when page background and cards background are the same, just applying shadow doesn't look very nice, therefore it was better to use border.

@lex111 Are you going to commit to this PR?

If @slorber doesn't mind, I can make that change.

I personally think the non-hovered card should have both shadow and border. Currently the outline isn't very visible but we'll also benefit from some elevation

yes you can commit
Also agree for both border + shadows

Good, I also want to change the current markup. <li> doesn't seem to be very suitable for representing cards, so I would like to use a more semantic <article>.
Final result from a design perspective will be like that:

<li> doesn't seem to be very suitable for representing cards,

...really? Even when these cards are essentially "list items" with much less content than an article, that just happen to be rendered as cards?

Having header element in these cards makes them more suitable for use within <article> element rather than <li> element.

I don't know for sure if li is better or not but I feel like @lex111 is right. We also don't use <li> for the blog list so let's be consistent.

I have written some doc.
There's not much to document actually 😄, please let me know if it's good enough.
Doc:

Category links (doc, generated-index)
Category index.md convention
docCategoryGeneratedIndexComponent option

Not sold on using TOC level 5 though, but not sure how to refactor that to a better structure 😅 let me know if you have any idea

Otherwise I think I'm good, waiting for your last fixes @lex111

New Infima version integrated.
Not 100% sure it's what you had in mind @lex111 but it seems to work, feel free to do some changes if you think it's needed.
Fixed some little issues on non-collapsible sidebar categories.
I'd like to avoid removing the extra div if the category is not collapsible, having a more predictable dom structure that's not coupled to the collapsible option is less likely to break CSS selectors when this option is updated

I'd like to avoid removing the extra div if the category is not collapsible, having a more predictable dom structure that's not coupled to the collapsible option is less likely to break CSS selectors when this option is updated

Yes, I understand your concern, it also can be confusing. But on the other hand, a "regular" list item doesn't need a wrapper, then why add one for it? It is double-edged sword, or simplicity vs consistency, and I'd like to have both at the same time, but that can't always be achieved, and at times such compromises had to be made.
However if you want, I can do new PR in Infima repo, and add wrapper to all list items, also might need to change styles, but is it really necessary? After all, category index items will be much smaller than regular list items in most cases, so it seems kind of redundant to have that wrapper for all items.

Love the current design. In terms of documentation I'll iterate on that in #5782 anyways

Yes, I understand your concern, it also can be confusing. But on the other hand, a "regular" list item doesn't need a wrapper, then why add one for it? It is double-edged sword, or simplicity vs consistency, and I'd like to have both at the same time, but that can't always be achieved, and at times such compromises had to be made.

In general, I'd rather have simplicity in our codebase and userland CSS selectors instead of the simplicity of the HTML structure

However if you want, I can do new PR in Infima repo, and add wrapper to all list items, also might need to change styles, but is it really necessary?

I don't feel like the current solution is bad and I'm going to merge it as is for now to not delay this PR even more. If you want to keep improving we can do that in another PR before the next release.

After all, category index items will be much smaller than regular list items in most cases, so it seems kind of redundant to have that wrapper for all items.

Not sure to understand what you mean here 🤔

I just don't like to have additional HTML elements/wrappers where they
are not needed at all, as in this case with regular menu list items.
So for now, I prefer to leave it as it is.
2021-12-03 13:02 GMT+03:00, Sébastien Lorber @.***>:

Yes, I understand your concern, it also can be confusing. But on the other
hand, a "regular" list item doesn't need a wrapper, then why add one for
it? It is double-edged sword, or simplicity vs consistency, and I'd like
to have both at the same time, but that can't always be achieved, and at
times such compromises had to be made.

In general, I'd rather have simplicity in our codebase and userland CSS
selectors instead of the simplicity of the HTML structure

However if you want, I can do new PR in Infima repo, and add wrapper to
all list items, also might need to change styles, but is it really
necessary?

I don't feel like the current solution is bad and I'm going to merge it as
is for now to not delay this PR even more. If you want to keep improving we
can do that in another PR before the next release.

After all, category index items will be much smaller than regular list
items in most cases, so it seems kind of redundant to have that wrapper
for all items.

Not sure to understand what you mean here 🤔

--

You are receiving this because you were mentioned.

Reply to this email directly or view it on GitHub:

https://github.com/facebook/docusaurus/pull/5830#issuecomment-985385809

So for now, I prefer to leave it as it is.

Great, so let's keep it as it is then 👍

Awesome, so it seems this PR is ready, thanks for the help 👍

I've suggested an API for configuring type: "autogenerated" categories, so users can specify what conventions their markdown folder is intended to support.
e.g. if you have docs/Guides/Guides.md but don't want Guides to be a category link with Guides.md content, you could do this:
items: [
  {
    type: "autogenerated",
    categoryLinkIndex: true,
    categoryLinkReadme: true,
    categoryLinkSameName: false,
    dirName: "api",
  },
],

https://docusaurus.canny.io/feature-requests/p/allow-disabling-globally-the-category-index-link-convention

Totally agree @marcusnewton , this is one of a new configuration that I think we should add once we have figured out a good public API
For now the code is:
// By convention, Docusaurus considers some docs are "indexes":
// - index.md
// - readme.md
// - <folder>/<folder>.md
//
// Those index docs produce a different behavior
// - Slugs do not end with a weird "/index" suffix
// - Auto-generated sidebar categories link to them as intro
export function isConventionalDocIndex(doc: {
  source: DocMetadataBase['slug'];
  sourceDirName: DocMetadataBase['sourceDirName'];
}): boolean {
  //<EMAIL_ADDRESS>=> "myDoc"
  const docName = path.parse(doc.source).name;

  // "folder/subFolder/subSubFolder" => "subSubFolder"
  const lastDirName = getLastPathSegment(doc.sourceDirName);

  const eligibleDocIndexNames = ['index', 'readme', lastDirName.toLowerCase()];

  return eligibleDocIndexNames.includes(docName.toLowerCase());
}

I was thinking about exposing a similar function in the docs plugin config options (maybe a simpler interface). Do you really need the granularity of defining those rules on a category level, or it can be more global?
I don't like much introducing 3 booleans for that, maybe we should have a way to specify file globbing patterns 🤷♂

@slorber I can definitely work with global config, but not sure if others might want to reintroduce this automatic category linking for certain paths in their tree.

Glob pattern sounds nice

This functionality is great. Is there any chance it will be extended to be able to link to a page in src/pages? I have already created landing pages for my category folders with tiles and filter components that I would like to be able to link to directly. Thanks.

This functionality is great. Is there any chance it will be extended to be able to link to a page in src/pages? I have already created landing pages for my category folders with tiles and filter components that I would like to be able to link to directly. Thanks.

Thanks @KatherineWhan
I don't understand what you are trying to do.
There's a "link" sidebar item already allowing you to link to any standalone page if you want, and due to our plugin architecture the pages, docs and blogs don't know about each others.
If you really want the category link to target a standalone page, you can try to add your tiles and filters to a doc using MDX

@slorber it would just be link: {type: 'link', to: '/intro'}, IMO

@slorber it would just be link: {type: 'link', to: '/intro'}, IMO

If the intro is a standalone page, this means the sidebar will disappear and we are leaving the docs plugin. I'd like to understand the motivation to do so: having a mockup of the landing page, what are the tiles and their links, why it's better to hide the docs sidebar in such case etc.
Not sure why I can't access the Supabase docs atm (probably my network 🤷♂ ) but afaik it had tiles on some pages and they are nicely integrated, and still display the docs sidebar: https://supabase.io/docs/

Yeah, the sidebar disappearing point makes sense. However it's not the only case that can happen: a regular link item can cause this as well, without displaying the external link icon. Still yes I feel like this feature request is underexplained. @KatherineWhan you can open another feature request issue, detailing your API design and desired effects.

Hi @slober and @josh-Cena
Thanks for your responses. Yes, essentially what I was trying to do was link: {type: 'link', href: '/pagename} where the page that displays does not display the sidebar.
We have now had another look at the functionality and decided to add my component to a doc, include the sidebar and link it with link: {type: 'doc', id: 'docName'}, as I can now use the hideableSidebar: true, to improve the screen realestate for my 80+ tiles and search filter.
I have one other question about the sidebar category linking (that I'm hoping that you can answer that I couldn't find in the help). If you have a link to a doc for category where the items are autogenerated,  is there any way to stop the linked doc from displaying twice? It displays once as the file linked to the folder and once wherever it is in the folder of items. For example:
{
      type: 'category',
      label: 'Knowledge Base',
      link: {type: 'doc', id: 'kb/overview'},
      items: [
        {
          type: 'autogenerated',
          dirName: 'kb',
        },
      ],
    },

Displays as:
Knowledge Base (Overview page displays)
|_article 1
|_article 2
|_article 3
|_Overview
Thanks again for your help! :)

Yes, we have quite a few people complaining about this. We will let you declare a list of subitems to be excluded from the autogenerated slice.


[HMR] Improve Hot Loading gating

Hot Loading is currently disabled by default until we're confident enough it's good to go. On iOS, users have to enable it by tweaking the method hotLoadingEnabled on RCTDevMenu.m. @satya164 might know about how to enable this on Android.
Ideally the feature should be enabled way easier (i.e.: by implementing a method on AppDelegate.m for instance). I don't know much about Android to make a proposal.

I'll look into how to do this on Android.

@javache any pointer on how to enable this on AppDelegate given the current gating code on RCTDevMenu/RCTBridgeDelegate? :)

Our default app delegate template (https://github.com/facebook/react-native/blob/master/local-cli/generator-ios/templates/app/AppDelegate.m) doesn't really make use of the bridge's delegate methods. We could change this to create a RCTBridge first, but you'd lose the advantage of the simple RCTRootView API.
Anyone who has a slightly more complicated setup should be able to simply element the new delegate method.

I was thinking, on Android, we can have the following to enable experimental features,
protected List<Integer> getEnabledExperiments() {
    return Array<Integer>.asList(
        Experiments.HOT_MODULE_REPLACEMENT
        Experiments.SOME_OTHER_CRAZY_EXPERIMENT);
}

What do you think about the approach before I implement it?

cc @mkonicek

So another approach would be to allow people enable experiments from dev settings UI as @mkonicek suggested.

I'm not sure about having it in the UI, because it's very easy to find and enable, and then we can get bug reports even if it's not ready. Adding it only in code means that only people who know what they are doing enable experimental things, and we get better quality bug reports.

Yeah, that makes sense

@martinbigio When I start the packager in a new RN app I see it listens on "/hot" by default. Is that intentional?

@mkonicek It'll only work when the url has hot=true. By default it's hot=false in Android. In iOS it seems to be turned on by default.

Cool, get it. Don't think it should be enabled by default on iOS though, should it?

@mkonicek Yes, it shouldn't. @martinbigio can confirm :)

The feature is disabled but if a user would modify RCTDevMenu to return YES on hotLoadingAvailable, the feature will not only become visible on the menu but enabled by default. Will fix that today

Hey, is there any guidelines on testing the feature for android? I'd love to give some feedback on it, but can't seem to figure out how to enable it.
People in e018aa31 seem to be asking for it as well. Cheers :+1:

@JohnyDays For now you can install from master. There will be an option to enable it in the dev menu.

Now HMR is enabled in 0.22.0, is this issue still relevant?

No, let's close it.


Provide correct fuse create file status

What changes are proposed in this pull request?
Provide correct FUSE create file status when creating the file.
Why are the changes needed?
For S3 and many object storage, files are not visible until the writing is finished.
But for the POSIX standard, they expect the file to be immediately visible after creation.
e.g. create() - getattr() - write() - write() - release()
the getattr() in the middle would fail for S3 and many object storage because file cannot be listed before it finished written.
Does this PR introduce any user facing changes?
Yeah, create then getattr() can pass with S3 and many object storage

this is to move everything to a feature branch?

this is to move everything to a feature branch?

This previously contains changes from other PRs, now it's cleaned

@yyongycy @ssz1997 PTAL, thanks!

alluxio-bot, merge this please


Do some benchmark to estimate baseline for speed regression tests.

Once the all decoder pieces are in place.
Current speed (without IEEE754 decoding) is about 100 IPv4 searches per second.
This can be improved by using native types, shaped arrays, etc.

All types are now in place. Baseline for reading info for IP <IP_ADDRESS> in GeoIP2-City-Test.mmdb file is 94/s.

After metadata refactoring and fixing all edge cases in decoders - 91/s.


Generating with pop 909 dataset

I'm trying demo.py using one of data in pop909  dataset (only keep melody track), but it didn't work, full message as below.
The file is as attach, can you help me to check whats the problem?
Thanks!
  warnings.warn('Could not import FluidSynth, audio formats writing disabled')
/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/core.py:238: UserWarning: Meter auto set to 4/4/. Please set meter if this is not your expectation
  warnings.warn('Meter auto set to 4/4/. Please set meter if this is not your expectation')
/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/core.py:241: UserWarning: Mode auto set to major. Please set mode if this is not your expectation
  warnings.warn('Mode auto set to major. Please set mode if this is not your expectation')
@Chorderator 2022-11-01 16:52:42,695 - INFO -  start read progressions from dict
@Chorderator 2022-11-01 16:52:48,565 - INFO -  read progressions done
@Chorderator 2022-11-01 16:52:48,566 - INFO -  start read progression library from source_base.pnt
@Chorderator 2022-11-01 16:52:55,625 - INFO -  read library done
@Chorderator 2022-11-01 16:52:55,626 - WARNING -  Pre-processing...
{'tonic': 'G', 'meter': '4/4', 'mode': 'maj', 'pos': ['x', 'x', 'x', 'x'], 'tempo': 61.000034566686246, 'unit': 0.24590150000000002}
Traceback (most recent call last):
  File "demo.py", line 15, in <module>
    cdt.generate_save(demo_name + '_output_results')
  File "/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/interaction.py", line 91, in generate_save
    return _core.generate_save(output_name=output_name, task=task, log=log, wav=wav, **kwargs)
  File "/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/core.py", line 391, in generate_save
    gen, chord_gen, gen_log = self.generate(cut_in=cut_in, cut_in_arg=cut_in_arg, with_texture=with_texture,
  File "/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/core.py", line 361, in generate
    gen = self.run(cut_in, cut_in_arg, with_texture, **kwargs)
  File "/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/core.py", line 275, in run
    self.pipeline.send_in(self.midi_path,
  File "/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/utils/pipeline.py", line 49, in send_in
    self.melo, splited_melo, self.meta = self.__preprocess(midi_path, **kwargs)
  File "/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/utils/pipeline.py", line 71, in __preprocess
    return processor.get()
  File "/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/utils/models/PreProcessor.py", line 40, in get
    handle_exception(312)
  File "/mnt/e2203fdf-08ef-4193-9c98-04fcd3f8df26/AccoMontage2/chorderator/utils/excp.py", line 59, in handle_exception
    raise ValueError('[Error {e}] '.format(e=code) + msg + website)
ValueError: [Error 312] Phrase length not accepted. Up to the current version, only the following length is supported: 4, 8, 12, 16, 24, 32. For more information, please visit https://...com.```

[melody.zip](https://github.com/billyblu2000/AccoMontage2/files/9908706/melody.zip)

Have fixed the problem by change set_segmentation config, thx


Fix typo.

Hi,
Thank you for sending the pull request! It's awesome to see you contributing to this project. However, before I can look at this request you need to add DCO sign-off to commits in this repository.
We require DCO sign-off for all commits to this repository (including all authors). Please see the following URL to see more information and BeeWare also have a Beginners guide to DCOs.
You can use git commit --amend --signoff and then a git push --force to add the signoff. You can also use git rebase --signoff.
Thanks!

ping...

Sorry, too many emails. fixed.


[Service Connector] az aks connection list/show: Add kubernetes resource name

Related command
az aks connection list
az aks connection show
Description
This PR adds kubernetes resource name to align with Portal behavior. Customers can use kubernetesResourceName as key to query in a linker result.
Testing Guide
az aks connection list --source-id {aks-cluster-id}
az aks connection show --id {linker-id}
History Notes

[Service Connector] `az aks connection list/show': Add kubernetes resource name

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Service Connector

@kairu-ms Could you help review this PR and move this to the May milestone?


add back adguard

Ran Plan for project: cloud-cloudflare-dns dir: infrastructure/cloud/cloudflare/dns workspace: terragrunt
Show Output
22:29:37.963 INFO   Downloading Terraform configurations from ../../.. into ./.terragrunt-cache/8ebXUt5nVzXULYHMJ7TWlF3AZ8k/RnXWVc7nAaLzGbd_J7oKJRuJ4dM
22:29:38.628 STDOUT tofu: Initializing the backend...
22:29:38.952 STDOUT tofu:
22:29:38.952 STDOUT tofu: Successfully configured the backend "s3"! OpenTofu will automatically
22:29:38.952 STDOUT tofu: use this backend unless the backend configuration changes.
22:29:39.060 STDOUT tofu: Initializing provider plugins...
22:29:39.061 STDOUT tofu: - Reusing previous version of hashicorp/aws from the dependency lock file
22:29:39.287 STDOUT tofu: - Reusing previous version of backblaze/b2 from the dependency lock file
22:29:39.397 STDOUT tofu: - Reusing previous version of cloudflare/cloudflare from the dependency lock file
22:29:39.470 STDOUT tofu: - Reusing previous version of integrations/github from the dependency lock file
22:29:39.615 STDOUT tofu: - Reusing previous version of vexxhost/uptimerobot from the dependency lock file
22:29:39.730 STDOUT tofu: - Finding paultyng/unifi versions matching "~> 0.41"...
22:29:41.090 STDOUT tofu: - Installing integrations/github v6.2.2...
22:29:43.753 STDOUT tofu: - Installed integrations/github v6.2.2 (signed, key ID 38027F80D7FD5FB2)
22:29:45.032 STDOUT tofu: - Installing vexxhost/uptimerobot v0.8.2...
22:29:47.207 STDOUT tofu: - Installed vexxhost/uptimerobot v0.8.2. Signature validation was skipped due to the registry not containing GPG keys for this provider
22:29:48.516 STDOUT tofu: - Installing paultyng/unifi v0.41.0...
22:29:50.379 STDOUT tofu: - Installed paultyng/unifi v0.41.0. Signature validation was skipped due to the registry not containing GPG keys for this provider
22:29:51.630 STDOUT tofu: - Installing hashicorp/aws v5.67.0...
22:31:06.710 STDOUT tofu: - Installed hashicorp/aws v5.67.0 (signed, key ID 0C0AF313E5FD9F80)
22:31:08.082 STDOUT tofu: - Installing backblaze/b2 v0.8.12...
22:31:15.929 STDOUT tofu: - Installed backblaze/b2 v0.8.12. Signature validation was skipped due to the registry not containing GPG keys for this provider
22:31:16.742 STDOUT tofu: - Installing cloudflare/cloudflare v4.42.0...
22:31:21.413 STDOUT tofu: - Installed cloudflare/cloudflare v4.42.0 (signed, key ID C76001609EE3B136)
22:31:21.414 STDOUT tofu: Providers are signed by their developers.
22:31:21.414 STDOUT tofu: If you'd like to know more about provider signing, you can read about it here:
22:31:21.415 STDOUT tofu: https://opentofu.org/docs/cli/plugins/signing/
22:31:21.415 STDOUT tofu: OpenTofu has made some changes to the provider dependency selections recorded
22:31:21.415 STDOUT tofu: in the .terraform.lock.hcl file. Review those changes and commit them to your
22:31:21.416 STDOUT tofu: version control system if they represent changes you intended to make.
22:31:21.416 STDOUT tofu: OpenTofu has been successfully initialized!

22:32:03.395 STDOUT tofu: OpenTofu used the selected providers to generate the following execution
22:32:03.395 STDOUT tofu: plan. Resource actions are indicated with the following symbols:
22:32:03.396 STDOUT tofu:   + create
22:32:03.396 STDOUT tofu: OpenTofu will perform the following actions:
22:32:03.396 STDOUT tofu:   # cloudflare_record.internal_record["adguard_internal"] will be created
22:32:03.396 STDOUT tofu:   + resource "cloudflare_record" "internal_record" {
22:32:03.396 STDOUT tofu:       + allow_overwrite = false
22:32:03.396 STDOUT tofu:       + content         = (known after apply)
22:32:03.396 STDOUT tofu:       + created_on      = (known after apply)
22:32:03.396 STDOUT tofu:       + hostname        = (known after apply)
22:32:03.397 STDOUT tofu:       + id              = (known after apply)
22:32:03.397 STDOUT tofu:       + metadata        = (known after apply)
22:32:03.397 STDOUT tofu:       + modified_on     = (known after apply)
22:32:03.397 STDOUT tofu:       + name            = "adguard.internal"
22:32:03.397 STDOUT tofu:       + proxiable       = (known after apply)
22:32:03.397 STDOUT tofu:       + proxied         = false
22:32:03.398 STDOUT tofu:       + ttl             = 1
22:32:03.399 STDOUT tofu:       + type            = "A"
22:32:03.400 STDOUT tofu:       + value           = "<IP_ADDRESS>"
22:32:03.402 STDOUT tofu:       + zone_id         = (sensitive value)
22:32:03.403 STDOUT tofu:     }
22:32:03.403 STDOUT tofu: Plan: 1 to add, 0 to change, 0 to destroy.
22:32:03.403 STDOUT tofu: ╷
22:32:03.404 STDOUT tofu: │ Warning: Argument is deprecated
22:32:03.405 STDOUT tofu: │
22:32:03.405 STDOUT tofu: │   with cloudflare_record.internal_record["home_assistant_internal"],
22:32:03.406 STDOUT tofu: │   on 01-record.tf line 8, in resource "cloudflare_record" "internal_record":
22:32:03.407 STDOUT tofu: │    8:   value   = each.value["value"]
22:32:03.407 STDOUT tofu: │
22:32:03.407 STDOUT tofu: │ `value` is deprecated in favour of `content` and will be removed in the
22:32:03.408 STDOUT tofu: │ next major release.
22:32:03.409 STDOUT tofu: │
22:32:03.409 STDOUT tofu: │ (and 10 more similar warnings elsewhere)
22:32:03.409 STDOUT tofu: ╵

:arrow_forward: To apply this plan, comment:atlantis apply -p cloud-cloudflare-dns

:put_litter_in_its_place: To delete this plan and lock, click here
:repeat: To plan this project again, comment:atlantis plan -p cloud-cloudflare-dns

Plan: 1 to add, 0 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this Pull Request, comment:atlantis apply

:put_litter_in_its_place: To delete all plans and locks from this Pull Request, comment:atlantis unlock

atlantis apply

Apply Error
the Atlantis working dir is currently locked by another command that is running for this pull request.
Wait until the previous command is complete and try again

Ran Plan for project: cloud-cloudflare-dns dir: infrastructure/cloud/cloudflare/dns workspace: terragrunt
Show Output
22:35:38.860 INFO   Downloading Terraform configurations from ../../.. into ./.terragrunt-cache/8ebXUt5nVzXULYHMJ7TWlF3AZ8k/RnXWVc7nAaLzGbd_J7oKJRuJ4dM
22:35:39.436 STDOUT tofu: Initializing the backend...
22:35:39.842 STDOUT tofu:
22:35:39.842 STDOUT tofu: Successfully configured the backend "s3"! OpenTofu will automatically
22:35:39.842 STDOUT tofu: use this backend unless the backend configuration changes.
22:35:40.006 STDOUT tofu: Initializing provider plugins...
22:35:40.006 STDOUT tofu: - Reusing previous version of vexxhost/uptimerobot from the dependency lock file
22:35:40.152 STDOUT tofu: - Finding paultyng/unifi versions matching "~> 0.41"...
22:35:40.223 STDOUT tofu: - Reusing previous version of hashicorp/aws from the dependency lock file
22:35:40.301 STDOUT tofu: - Reusing previous version of backblaze/b2 from the dependency lock file
22:35:40.370 STDOUT tofu: - Reusing previous version of cloudflare/cloudflare from the dependency lock file
22:35:40.457 STDOUT tofu: - Reusing previous version of integrations/github from the dependency lock file
22:35:41.677 STDOUT tofu: - Installing hashicorp/aws v5.67.0...
22:36:43.976 STDOUT tofu: - Installed hashicorp/aws v5.67.0 (signed, key ID 0C0AF313E5FD9F80)
22:36:45.088 STDOUT tofu: - Installing backblaze/b2 v0.8.12...
22:36:54.331 STDOUT tofu: - Installed backblaze/b2 v0.8.12. Signature validation was skipped due to the registry not containing GPG keys for this provider
22:36:55.172 STDOUT tofu: - Installing cloudflare/cloudflare v4.42.0...
22:36:59.554 STDOUT tofu: - Installed cloudflare/cloudflare v4.42.0 (signed, key ID C76001609EE3B136)
22:37:00.673 STDOUT tofu: - Installing integrations/github v6.2.2...
22:37:03.793 STDOUT tofu: - Installed integrations/github v6.2.2 (signed, key ID 38027F80D7FD5FB2)
22:37:04.951 STDOUT tofu: - Installing vexxhost/uptimerobot v0.8.2...
22:37:07.084 STDOUT tofu: - Installed vexxhost/uptimerobot v0.8.2. Signature validation was skipped due to the registry not containing GPG keys for this provider
22:37:08.163 STDOUT tofu: - Installing paultyng/unifi v0.41.0...
22:37:09.724 STDOUT tofu: - Installed paultyng/unifi v0.41.0. Signature validation was skipped due to the registry not containing GPG keys for this provider
22:37:09.724 STDOUT tofu: Providers are signed by their developers.
22:37:09.725 STDOUT tofu: If you'd like to know more about provider signing, you can read about it here:
22:37:09.725 STDOUT tofu: https://opentofu.org/docs/cli/plugins/signing/
22:37:09.725 STDOUT tofu: OpenTofu has made some changes to the provider dependency selections recorded
22:37:09.725 STDOUT tofu: in the .terraform.lock.hcl file. Review those changes and commit them to your
22:37:09.731 STDOUT tofu: version control system if they represent changes you intended to make.
22:37:09.736 STDOUT tofu: OpenTofu has been successfully initialized!

22:37:53.432 STDOUT tofu: OpenTofu used the selected providers to generate the following execution
22:37:53.433 STDOUT tofu: plan. Resource actions are indicated with the following symbols:
22:37:53.435 STDOUT tofu:   + create
22:37:53.435 STDOUT tofu: OpenTofu will perform the following actions:
22:37:53.435 STDOUT tofu:   # cloudflare_record.internal_record["adguard_internal"] will be created
22:37:53.435 STDOUT tofu:   + resource "cloudflare_record" "internal_record" {
22:37:53.435 STDOUT tofu:       + allow_overwrite = false
22:37:53.435 STDOUT tofu:       + content         = (known after apply)
22:37:53.436 STDOUT tofu:       + created_on      = (known after apply)
22:37:53.436 STDOUT tofu:       + hostname        = (known after apply)
22:37:53.436 STDOUT tofu:       + id              = (known after apply)
22:37:53.436 STDOUT tofu:       + metadata        = (known after apply)
22:37:53.436 STDOUT tofu:       + modified_on     = (known after apply)
22:37:53.436 STDOUT tofu:       + name            = "adguard.internal"
22:37:53.436 STDOUT tofu:       + proxiable       = (known after apply)
22:37:53.438 STDOUT tofu:       + proxied         = false
22:37:53.439 STDOUT tofu:       + ttl             = 1
22:37:53.439 STDOUT tofu:       + type            = "A"
22:37:53.439 STDOUT tofu:       + value           = "<IP_ADDRESS>"
22:37:53.439 STDOUT tofu:       + zone_id         = (sensitive value)
22:37:53.439 STDOUT tofu:     }
22:37:53.439 STDOUT tofu: Plan: 1 to add, 0 to change, 0 to destroy.
22:37:53.439 STDOUT tofu:
22:37:53.439 STDOUT tofu: ╷
22:37:53.439 STDOUT tofu: │ Warning: Argument is deprecated
22:37:53.440 STDOUT tofu: │
22:37:53.440 STDOUT tofu: │   with cloudflare_record.internal_record["argocd_internal"],
22:37:53.440 STDOUT tofu: │   on 01-record.tf line 8, in resource "cloudflare_record" "internal_record":
22:37:53.440 STDOUT tofu: │    8:   value   = each.value["value"]
22:37:53.440 STDOUT tofu: │
22:37:53.440 STDOUT tofu: │ `value` is deprecated in favour of `content` and will be removed in the
22:37:53.441 STDOUT tofu: │ next major release.
22:37:53.441 STDOUT tofu: │
22:37:53.441 STDOUT tofu: │ (and 10 more similar warnings elsewhere)
22:37:53.441 STDOUT tofu: ╵

:arrow_forward: To apply this plan, comment:atlantis apply -p cloud-cloudflare-dns

:put_litter_in_its_place: To delete this plan and lock, click here
:repeat: To plan this project again, comment:atlantis plan -p cloud-cloudflare-dns

Plan: 1 to add, 0 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this Pull Request, comment:atlantis apply

:put_litter_in_its_place: To delete all plans and locks from this Pull Request, comment:atlantis unlock

atlantis apply

Ran Apply for project: cloud-cloudflare-dns dir: infrastructure/cloud/cloudflare/dns workspace: terragrunt
Show Output
22:38:20.270 INFO   Downloading Terraform configurations from ../../.. into ./.terragrunt-cache/8ebXUt5nVzXULYHMJ7TWlF3AZ8k/RnXWVc7nAaLzGbd_J7oKJRuJ4dM
22:38:21.027 STDOUT tofu: Initializing the backend...
22:38:35.147 STDOUT tofu: Initializing provider plugins...
22:38:35.147 STDOUT tofu: - Reusing previous version of backblaze/b2 from the dependency lock file
22:38:35.327 STDOUT tofu: - Reusing previous version of cloudflare/cloudflare from the dependency lock file
22:38:35.443 STDOUT tofu: - Reusing previous version of integrations/github from the dependency lock file
22:38:35.523 STDOUT tofu: - Reusing previous version of vexxhost/uptimerobot from the dependency lock file
22:38:35.578 STDOUT tofu: - Reusing previous version of paultyng/unifi from the dependency lock file
22:38:35.650 STDOUT tofu: - Reusing previous version of hashicorp/aws from the dependency lock file
22:38:36.601 STDOUT tofu: - Using previously-installed cloudflare/cloudflare v4.42.0
22:38:36.962 STDOUT tofu: - Using previously-installed integrations/github v6.2.2
22:38:37.224 STDOUT tofu: - Using previously-installed vexxhost/uptimerobot v0.8.2
22:38:37.511 STDOUT tofu: - Using previously-installed paultyng/unifi v0.41.0
22:38:48.009 STDOUT tofu: - Using previously-installed hashicorp/aws v5.67.0
22:38:48.909 STDOUT tofu: - Using previously-installed backblaze/b2 v0.8.12
22:38:48.909 STDOUT tofu: OpenTofu has been successfully initialized!
22:38:48.909 STDOUT tofu:
22:38:48.909 STDOUT tofu: You may now begin working with OpenTofu. Try running "tofu plan" to see
22:38:48.910 STDOUT tofu: any changes that are required for your infrastructure. All OpenTofu commands
22:38:48.910 STDOUT tofu: should now work.
22:38:48.910 STDOUT tofu: If you ever set or change modules or backend configuration for OpenTofu,
22:38:48.910 STDOUT tofu: rerun this command to reinitialize your working directory. If you forget, other
22:38:48.912 STDOUT tofu: commands will detect it and remind you to do so if necessary.
22:39:12.537 STDOUT tofu: cloudflare_record.internal_record["adguard_internal"]: Creating...
22:39:13.876 STDOUT tofu: cloudflare_record.internal_record["adguard_internal"]: Creation complete after 1s [id=daf5ff365183503f5c50f648b66e3ea1]
22:39:14.072 STDOUT tofu: ╷
22:39:14.072 STDOUT tofu: │ Warning: Argument is deprecated
22:39:14.072 STDOUT tofu: │
22:39:14.073 STDOUT tofu: │   with cloudflare_record.internal_record["adguard_internal"],
22:39:14.073 STDOUT tofu: │   on 01-record.tf line 8, in resource "cloudflare_record" "internal_record":
22:39:14.074 STDOUT tofu: │    8:   value   = each.value["value"]
22:39:14.074 STDOUT tofu: │
22:39:14.074 STDOUT tofu: │ `value` is deprecated in favour of `content` and will be removed in the
22:39:14.074 STDOUT tofu: │ next major release.
22:39:14.074 STDOUT tofu: ╵
22:39:14.075 STDOUT tofu:
22:39:14.075 STDOUT tofu: Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
22:39:14.075 STDOUT tofu:

Automatically merging because all plans have been successfully applied.

Locks and plans deleted for the projects and workspaces modified in this pull request:

dir: infrastructure/cloud/cloudflare/dns workspace: terragrunt


style, formatting, warnings fixes; stronger errors and CI

These changes bring us to zero warnings, albeit using some explicit "don't complain about this being unused" macros.
This also turns non-standard style (e.g. using camelCase for things that aren't types, or snake_case for things that are) and unnecessary parentheses from warnings to errors.
The CI script will complain if running cargo fmt would change any code style. Again, we're free to ignore this as is convenient. It'll show up as a separate "check" when it runs, so if the code compiles and passes tests but needs formatting, the PR will say something like "1 of 2 checks passed."

Merging without squashing in case we decide we want to revert some of the later commits.


Update navbar links

Updated the name of login and removed the team

This is already being made in #201


[HeaderAction] onClick handler not being passed

Describe the bug
HeaderGlobalAction is not being passed the onClick handler that is property of the actionItems object.
To Reproduce
Steps to reproduce the behavior:

Go to https://carbon-addons-iot-react.com/?path=/story/watson-iot-header--header-no-submenu
Open up the knobs panel and go to action tab
Click on action item button on right hand side
See no action being logged

To resolve we should add onClick handler to Header Action button and write unit test to make sure we have this functionality covered.
Expected behavior
onClick handler should have fired and action logged

:tada: This issue has been resolved in version 2.76.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Am I able to make very custom widgets?

Am I able to make these kinds of widgets?

Could you provide more informations about this? So yes, you can draw things on the screen :wink: but what do you want to achieve with these widgets?
Not everything needs to be a whole new widget. You can probably use the existing widgets for nearly all of the things on the screenshot. All of the horizontally aligned bars can be easily build with the Row widget or you could draw them using a Canvas.
I've build something similar in my current project using only one Row with five Containers, each containing a Space. The containers have a different background color based on the calculated value.

Could you provide more informations about this? So yes, you can draw things on the screen wink but what do you want to achieve with these widgets?

With a tiling window manager I want to put these kinds of widgets that will tell the CPU usage per core etc. :)  Can this be used on wayland?

Not everything needs to be a whole new widget. You can probably use the existing widgets for nearly all of the things on the screenshot. All of the horizontally aligned bars can be easily build with the Row widget or you could draw them using a Canvas.

What about the triangles you see up at the top left hand side mate?

I've build something similar in my current project using only one Row with five Containers, each containing a Space. The containers have a different background color based on the calculated value.

Looks nice mate, it does mate =D

Can this be used on wayland?

I would recommend to try out the examples. Especially the tour as they show most of the widgets of iced and the solar_system as this is using a canvas. If they work, everything else should work.

What about the triangles you see up at the top left hand side mate?

For this, you can simply use a canvas or when a widget is needed you could draw them with an image/svg or you could try the Mesh2D primitive.
It is also possible to use a canvas inside a widget. The color picker is a good example for this.

Is this kinda like processing in regards to how I draw shapes?

It is the more easy way, but you could also use a Mesh2D of the primitives, a widget can use, to draw things.

Looks nice mate, it does mate =D

Thanks! :smile: When using some padding/spacing, more containers in the row and a different color, it could look like the horizontal bars on your image.

I would recommend to try out the examples. Especially the tour as they show most of the widgets of iced and the solar_system as this is using a canvas. If they work, everything else should work.

Do you like make the background of the widgets transparent?

It is also possible to use a canvas inside a widget. The color picker is a good example for this.

Very interesting mate.

It is the more easy way, but you could also use a Mesh2D of the primitives, a widget can use, to draw things.

Is Mesh2D a drawing tool for iced?

Thanks! smile When using some padding/spacing, more containers in the row and a different color, it could look like the horizontal bars on your image.

No worries and I understand :)


Add new API call format

API calls may be /api/v2/id or /api/v2/id/method. It should also accommodate /api/v2/method. The contains_entities check is hacky.

[ ] add new call format
[ ] merge QueuesAPI with QueueAPI

The API has been reworked slightly for v3. v2 is no longer being maintained.


Feature request: possibility to export languages and models from the command line

I think this would be very useful in the CI and in build scripts.
I asked Sergej how that could be achieved and he suggested two ways:

adding a runMain section in a build script
using ProjectLoader from java, outside MPS, and run MPS as a library (see https://github.com/mbeddr/mps-gradle-plugin/blob/master/project-loader/src/main/kotlin/Loader.kt)

Language export is fixed with #90
models export is still missing @erk-dik


 I know what the binary is compiled with the flags go install -ldflags="-X main.Build=2c0e31160de8cba2a4351dcf39486d05313b4da1" github.com/derekparker/delve/cmd/dlv. So i suppose using nm/objdump/readelf it could be possible but i'm unable to find it.

dlv version. The variable is github.com/derekparker/delve/pkg/version.DelveVersion there's probably some way to extract it with objdump but I don't know it.

@aarzilli Thanks for your answer, but i really looking for a way to extract the information with objdump/nm for academic proposes :-)


Fix disable dr when VR failed validation

When deleting a primary VRG, we wait until the VR Completed condition is
met. However if a VR precondition failed, for example using a drpolicy
without flattening enabled when the PVC needs flattening, the VR will
never complete and the vrg and drpc deletion will never complete.
Since csi-addons 0.10.0 we have a new Validated VR condition, set to
true if pre conditions are met, and false if not. VR is can be deleted
safely in this state, since mirroring was not enabled.
This changes modifies deleted VRG processing to check the new VR
Validated status. If the condition exist and the condition status is
false, validateVRStatus() return true, signaling that the VR is in the
desired state, and ramen completes the delete flow.
If the VR does not report the Validated condition (e.g. old csi-addon
version) or the condition status is true (mirroring in progress), we
continue in the normal flow. The VR will be deleted only when the
Completed condition status is true.
Tested locally with discovered app using a pvc created from a volume
snapshot.
Status:

[x] Test with discovered apps
[ ] Test vm created from golden image
[ ] Add unit test for deleting vr with failed validated condition
[ ] Test also vrs with successful validated conditions

Based on #1568 for testing.

New logs during disabling dr:
2024-09-24T19:42:04.755Z    INFO    controllers.VolumeReplicationGroup.vrginstance  controller/vrg_volrep.go:1428   VolumeReplication restored-pvc/flatten failed validation and can be deleted {"VolumeReplicationGroup": {"name":"flatten-drpc","namespace":"ramen-ops"}, "rid": "12b2da9d-8c78-40a8-893f-574ed2ea26ca", "State": "primary", "Finalize": true}

2024-09-24T19:42:04.755Z    INFO    controllers.VolumeReplicationGroup.vrginstance  controller/vrg_volrep.go:1839   Deleting VolumeReplication resource %s/%s   {"VolumeReplicationGroup": {"name":"flatten-drpc","namespace":"ramen-ops"}, "rid": "12b2da9d-8c78-40a8-893f-574ed2ea26ca", "State": "primary", "Finalize": true, "flatten": "restored-pvc"}

2024-09-24T19:42:04.884Z    INFO    controllers.VolumeReplicationGroup.vrginstance  controller/vrg_volrep.go:449    Deleting ramen annotations from PersistentVolume    {"VolumeReplicationGroup": {"name":"flatten-drpc","namespace":"ramen-ops"}, "rid": "615ab075-dfbf-4ad4-bba8-b016104463f2", "State": "primary", "Finalize": true, "pvc": "flatten/restored-pvc", "pv": "pvc-94c88954-8764-4e88-a438-158efa0a6a3d"}

2024-09-24T19:42:04.888Z    INFO    controllers.VolumeReplicationGroup.vrginstance  controller/vrg_volrep.go:467    Deleting ramen annotations and finallizers from PersistentVolumeClaim   {"VolumeReplicationGroup": {"name":"flatten-drpc","namespace":"ramen-ops"}, "rid": "615ab075-dfbf-4ad4-bba8-b016104463f2", "State": "primary", "Finalize": true, "pvc": "flatten/restored-pvc", "owner removed": true, "finalizer removed": true}

Complete log:
disable-dr.log


Show browser's console.log in vscode debug console [Feature Request]

Is your feature request related to a problem? Please describe.
When you need to see console log in the browser you need to open another window, so each of my workarea view will be so little: Column 1: file explorer
Column 2:code editor
Column 3:browser view
Column 4: browser devtools
Describe the solution you'd like:
It will be great if the browser devtools console will be passed to vscode "debug console".
Describe alternatives you've considered:
Additional context:

Thank you for your request.
I'll add this to our backlog for review and prioritization.

We already had this behavior in the past but it was resulting confusing for some users so we decided to remove it in favor of the recentrly introduce jsdebug console, thanks you for using the extension.
https://github.com/microsoft/vscode-edge-devtools/pull/411


Inlay autorun doesn't work

Recently I changed my init.vim to init.lua. after reading some lua guide,
I changed some setting. However inlay doesn't work.
after searching some documents, and reading I found
lua require'lsp_extensions'.inlay_hints{ prefix = '', highlight = "Comment", enabled = {"TypeHint", "ChainingHint", "ParameterHint"}}
is work to show inlay out of box.
However, when put this sentence
into the vim.api.nvim_command  doesn't work
vim.api.nvim_command('au BufEnter,BufWinEnter,TabEnter  *.rs lua require"lsp_extensions".inlay_hints   {prefix=" ", highlight = "Comment", enabled = {"TypeHint","ChainingHint", "ParameterHint"}}')
I don't know how to solve it.
when I type :autocmd I can see the it allocated it successfully
BufEnter   *.rs lua require"lsp_extensions".inlay_hint{ prefix = "", highlight = "Comment", enabled = {"TypeHint", "ChainingHint", "ParameterHint"}}
also if I use it for key binding, it work,
I don't know why is doesn't work in autocmd  if there is a syntax error it should't work
key binding but it work. only autocmd can hava a problem
is there anyway I can solve it?

I found it is because I don't understand autocmd event! now I solved to add some Event condition
vim.api.nvim_command('au CursorMoved,InsertLeave,BufEnter,BufWinEnter,TabEnter,BufWritePost *.rs lua require"l    sp_extensions".inlay_hints {prefix=" ", highlight = "Co    mment", enabled = {"TypeHint","ChainingHint", "ParameterHint"}}')


Feature/pad

A padding layer mx.Pad that supports flexible padding:

Each tensor dimension can be padded at the start and end (but only special case of 2d images is supported right now, ie padding only the last two dimensions of a 4-tensor).
Two padding modes are supported at the moment: "constant" and "replicate". "constant" pads with a constant value, 0 by default, with a custom value specifiable with the padding_constant option. mx.Pad with "constant" pad mode is equivalent to tf.pad with mode='CONSTANT'. "replicate" pads with the tensor boundary values, and is equivalent Torch SpatialReplicationPadding for the special case of image padding. The implementation was adapted from Torch.

A general implementation will need to be added later.
Also note: atomicAdd was overloaded for double and fp16 types. The latter needs to be carefully checked.

@piiswrong

It seems more suitable to move the implementation of padding to the MShadow side. What do you think? @sbodenstein @piiswrong

It's hard to do in mshadow due to atomicadd.
Plus our guideline now is to avoid using mshadow for heavy ops. So this is good
@sbodenstein Could you add unittest?

@piiswrong: I have done some renaming. I think following numpy.pad will be the least confusing to users. Let me know if you are happy with this changed design.
Ok, will add some tests.

@piiswrong: how do I avoid the following lint errors:
04:38:28 src/common/cuda_utils.h:161:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
04:38:28 src/common/cuda_utils.h:162:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
04:38:28 src/common/cuda_utils.h:163:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
04:38:28 src/common/cuda_utils.h:164:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]

If I follow this advice, then I will get build errors, as atomicCAS requires these C types.

you can disable lint for that line with // NOLINT(*)

@piiswrong: for some reason the Scala test is broken, despite me changing no Scala code. It gives error:

No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.


updated navicat-premium (11.2.9)

Thanks for the heads up on the navicat updates. FYI, in the future you can submit batch updates with something like:
for cask in $(ls | grep 'navicat' | grep --invert-match 'data-modeler'); do
    cask-repair -l origin -p dissonanz -b -v '11.2.9' "${i}";
done

Will take care of them for this version, though.

Thank you for the contribution. It was merged directly as 27332d53e7e5571af2dfa43b2e3d22a569f1ca93 to keep commit history cleaner. Your contribution is still credited to you.

Thanks @adidalal!


warning sign added

##Fix issue:#56
I have added the appropriate warning sign for the people sensitive to flashing lights. it will appear every time a user refreshes the page of opens the website.

Hey, @sk66641 Due to some errors the head repository got deleted so do I need to raise this issue again and create new pull request??

If the head repository was deleted, you’ll need to recreate your branch locally.
Apply the changes you made for the warning sign to your newly created branch.
Push your changes to your remote repository .
Then, create a new pull request from your  branch to the appropriate branch (usually master or main) in the  new repository. No need to raise this issue again! Link the new PR with the #56


fixed time and date picker overlay issue

Fixed following issue of date and time select overlay:
https://github.com/Hacker0x01/react-datepicker/issues/3588
Before fix:

After fix:

@martijnrusschen
Please review


Look into upgrading to flat >= 0.6 on master and check that the script dump test continues to pass

@bezirg could you look into upgrading to flat >= 0.6 on master and check that the script dump test continues to pass?

Originally posted by @michaelpj in https://github.com/input-output-hk/plutus/pull/5286#discussion_r1184884346

Yes, I am taking a look now.

@bezirg I think the constraint needs to be flat ^>= 0.6.

@bezirg I understand this is complete and everything checked out ok?


Prepare SqlState for adding extra columns

This pull requests makes all 'INSERT' statements used in the SqlState explicit about which columns they insert into.
Before, when data was inserted into all columns of a table, the column names were not explicitly set. This means that if a future version of the state class adds a column to the table, then the insert statement will have to change as well. Then it will no longer be backward compatible.
Now, all insert statements mention explicitly into which column they are inserting. If a column is added to a table, the insert statement will keep on working. A test has been added to verify that adding a column to the results table does not break anything.

Nice contribution :)
I wonder why you are changing the xfail in e54752e. We are losing test functionality in this way: https://docs.pytest.org/en/7.1.x/how-to/skipping.html.

In this case, we are not expecting a test to fail because code is under development or some other reason. We are testing for an error that we want to occur in a specific situation. For example, we want a ProjectExistsError to occur if you try to initialize a new project in the folder of an existing one. The test should pass if the error occurs, and the test should fail if the error doesn't occur.
https://docs.pytest.org/en/latest/how-to/assert.html#assertions-about-expected-exceptions

Clear!


Updating project to latest release version of task

The changes for triggertask were required because of the introduction of deployment properties and the renaming of properties to environmentProperties in the TaskLaunchRequest.

@ilayaperumalg updated PR based on your comments.  Thanks!

LGTM, merging.

Squashed, rebased and merged as 41f1b02ab829c5d07dd1d3021ad33e1aa1b26155


PASSES="fmt" ./test fails

PASSES="fmt" ./test

Reproducible

echo "tools/functional-tester/etcd-tester/main.go tools/functional-tester/etcd-tester/member.go tools/functional-tester/etcd-tester/metrics.go tools/functional-tester/etcd-tester/status.go tools/functional-tester/etcd-tester/stresser.go tools/functional-tester/etcd-tester/tester.go tools/functional-tester/etcd-tester/util.go tools/functional-tester/etcd-tester/v2_stresser.go tools/local-tester/bridge/bridge.go tools/local-tester/bridge/dispatch.go version/version.go wal/decoder.go wal/doc.go wal/encoder.go wal/file_pipeline.go wal/metrics.go wal/record_test.go wal/repair.go wal/repair_test.go wal/util.go wal/wal.go wal/wal_bench_test.go wal/wal_test.go wal/walpb/record.go wal/walpb/record.pb.go" | xargs dirname

usage: dirname path

Only fails in OSX...


unable to decode AVCC: number of NALUs contained inside a single group (21) is too big (maximum is 20)

Which version are you using?
v0.21.0
Which operating system are you using?

[ ] Linux amd64 standard
[ ] Linux amd64 Docker
[ ] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[x] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[ ] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
The following error occurred while trying to connect to RTMP server (hosted on windows 10 latest version) from ffmpeg (running on windows 11 latest version).
Logs:
2023/01/20 02:05:36 INF [RTMP] [conn <IP_ADDRESS>:54484] opened
2023/01/20 02:05:36 INF [RTMP] [conn <IP_ADDRESS>:54484] is publishing to path 'mystream', 1 track (H264)
2023/01/20 02:05:36 INF [RTMP] [conn <IP_ADDRESS>:54484] closed (unable to decode AVCC: number of NALUs contained inside a single group (21) is too big (maximum is 20))

ffmpeg command:
ffmpeg.exe -f gdigrab -r 30 -draw_mouse 1 -i desktop -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -pix_fmt yuv420p -bsf:v h264_mp4toannexb -x264-params "keyint=1:keyint_min=1" -f flv "rtmp://<IP_ADDRESS>:1935/mystream"

ffmpeg prints following messages:
ffmpeg version 5.1.2-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
[gdigrab @ 000001feb0714600] Capturing whole desktop as 3840x2160x32 at (0,0)
[gdigrab @ 000001feb0714600] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, gdigrab, from 'desktop':
  Duration: N/A, start:<PHONE_NUMBER>.391017, bitrate: 7962636 kb/s
  Stream #0:0: Video: bmp, bgra, 3840x2160, 7962636 kb/s, 30 fps, 1000k tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (bmp (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 000001feb0717b00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000001feb0717b00] profile Constrained Baseline, level 5.1, 4:2:0, 8-bit
[libx264 @ 000001feb0717b00] 264 - core 164 r3099 e067ab0 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=20 lookahead_threads=16 sliced_threads=1 slices=20 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=1 keyint_min=1 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, flv, to 'rtmp://<IP_ADDRESS>:1935/mystream':
  Metadata:
    encoder         : Lavf59.27.100
  Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuv420p(tv, progressive), 3840x2160, q=2-31, 30 fps, 1k tbn
    Metadata:
      encoder         : Lavc59.37.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
av_interleaved_write_frame(): Unknown errortime=00:00:00.00 bitrate=11185816.0kbits/s speed=1e+03x
[flv @ 000001feb0716a40] Failed to update header with correct duration.
[flv @ 000001feb0716a40] Failed to update header with correct filesize.

Workaround
Running the following ffmpeg command successfully streams desktop, but this method cannot achieve sufficient fps. I want stream my 4K desktop to rtsp-simple-server without unnecessary conversion!
ffmpeg.exe -f gdigrab -r 30 -draw_mouse 1 -i desktop -vf scale=-1:1080 -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -pix_fmt yuv420p -bsf:v h264_mp4toannexb -x264-params "keyint=1:keyint_min=1" -f flv "rtmp://<IP_ADDRESS>:1935/mystream"

Note: -vf scale=-1:1080 is added.
Describe how to replicate the issue

start the server
run the following command from some clients:

ffmpeg.exe -f gdigrab -r 30 -draw_mouse 1 -i desktop -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -pix_fmt yuv420p -bsf:v h264_mp4toannexb -x264-params "keyint=1:keyint_min=1" -f flv "rtmp://<IP_ADDRESS>:1935/mystream"

Did you attach the server logs?
yes
Did you attach a network dump?
no

Hello, instead of scaling down the video, just set a reasonable bitrate by adding -v:b 1M or any value you want (in the logs there's a bitrate of 11G/s which is unreasonable). Let me know if it works.

without further comments from the author, this is considered solved.


Update to electron 25

Homework

[X] I took the time to write a good, descriptive issue title
[X] I read nativefier --help and API.md, no existing option fits my needs.
[X] I checked CATALOG.md for community suggestions & workarounds.
[X] I searched existing issues, open & closed. Yes, my feature request is new.
[X] I'm running the latest version. Yes, the feature I'm requesting isn't in it.

Problem statement
The current default version of electron is EOL and has not received any security patches update in 8 months.
Motivation & context
The current default version of electron is EOL and has not received any security patches update in 8 months.

What is the state of this project? There have not been any commits in 4 months, and the current default version of electron is EOL and has not received any security patches in 8 months. I can help test for obvious regressions and triage issues, but we still will need more maintainers/contributors to keep the project afloat. Keeping the project in its current state is potentially dangerous to users, but deprecating/shutting it down would be bad since many people rely on it, and it has over a thousand weekly downloads.

@ronjouch @TheCleric Can you create a pinned issue with a list of all nativefier related accounts (github, docker, npm, etc) and who has access?

Yeah I was looking into this project as a potential replacement for WebCatalog (which recently deprecated Linux support) but the lack of maintainership and the extremely poor security posture around Electron updates is concerning. At the VERY least Electron updates should be separated out to something separate (perhaps a separate repo) with automated updates (Renovate etc) while the nativefier client should be modified to use the latest Electron from that repo instead at runtime (instead of declaring the Electron version at nativefier build time).

Electron releases have breaking changes that affect nativefier. Automatically using the latest version of electron in nativefier is as simple as running nativefier --electron-version $(npm show electron version). This is not the default because of the breaking changes. One partial solution would be for nativefier to hardcode only a major version of electron (e.g. v23) and have nativefier automatically use the latest point release (e.g. 23.3.10) instead of pinning a specific point release. This could work since point releases theoretically don't have breaking changes. However, because nativefier is using an EOL version of electron that has not received a point release in over six months, this would not solve the problem unless the default version was updated to a supported version like v25. Another solution would be for nativefier to get more maintainers who would be able to just keep the pinned version of electron up to date.

@TheCleric What access do you have to the docker/npm accounts? Could the project be able to continue on without any involvement from jiahaog? Can you create a separate pinned issue documenting everyone who has access/permissions to all of the nativefier related accounts?
Also, can I have the "Triager" GitHub role so I can help organize the GitHub issues?

What access do you have to the docker/npm accounts? Could the project be able to continue on without any involvement from jiahaog?

Yes, deployments are all done via Github, so I don't need the direct credentials.

Also, can I have the "Triager" GitHub role so I can help organize the GitHub issues?

Unfortunately I do not have the permissions to do that, but if @jiahaog sees this, I'd recommend allowing it, as you've been trustworthy in the past.
I have also pinned this issue as documentation of the current state of the project.

Should I bump the current electron version to the latest version of electron 19?
19.1.4 => 19.1.9

We should also probably bump the minimum node version to 16 or 18 since 12 is EOL.

So looking into this I can quickly get us to Electron 21.4.4 and Node 16.
Anything past that will require a LOT more work, as Electron completely redid its new window event handling in a way that is incompatible with some stuff we do. I've tried twice in the past to fix this and had not had much success. To go past 21, we would possibly have to retire some functionality. I'll look when I have time.

@TheCleric Do you have access to https://github.com/nativefier/page-icon?

@TheCleric Do you have access to https://github.com/nativefier/page-icon?

I don't, sorry.

@jiahaog Can you add @TheCleric to the nativefier organization with access to all of the repos?

Electron 21.4.4 and Node 16  would be much better at this point   even if it reached EOL

Nativefier 51.0.0 has been released with Electron 21.4.4 and Node 16.

 I'll make a version with the fix in it.

Well it looks like our Docker creds may not be valid. @jiahaog do you have up to date ones that can be added to the appropriate GitHub secrets?

@mattruzzi I've started the process of going to Electron 25. Fortunately I had code from over a year ago still laying around from when I started exploring some of the planned deprecations. It has known issues, but I think it would be good to get an alpha version out quickly to allow people to use it if they want and help discover any issues.
PR #1559

@TheCleric Can you email @jiahaog and ask to be added a member of the nativefier GitHub organization?


There is a leak in the ref boat

src/Trinity.C/include/Trinity/ref. leaks the _ref_count atomic_int .
Edit: further details

ah, yes. thanks!


Add a single upload logo component to Settings/General (See issue #36).

Add a single upload logo component to Settings/General as shown above. And See issue #36.
Originally posted by @frederikbugglin in https://github.com/basxsoftwareassociation/basxconnect/issues/28#issuecomment-804132844

for branding purposes, e.g. used in ui shell header or for future PDF-Reports, etc.

merged to issue #99


Push Notification Error Invalid value at 'message.android.notification.event_time'

[REQUIRED] Step 2: Describe your environment

Operating System version:Build 19045.3930
Firebase SDK version: 2.4.0
Firebase Product:  FirebaseAdmin Nuget Package .NET 2.4.0
.NET version: 8.0.200
OS: Windows 10 Enterprise

[REQUIRED] Step 3: Describe the problem
Issues with the following error message:
FirebaseAdmin.Messaging.FirebaseMessagingException: Invalid value at 'message.android.notification.event_time' (type.googleapis.com/google.protobuf.Timestamp), Field 'event_time', Invalid time format: Failed to parse input
It occurs when trying to use Firebase SDK 2.4.0 in .NET and sending an Android notification when you have your system time set to a format that is not U.S.-based, like Europe. Currently, if your time settings are set to a region with a different time format, like Europe, it sets event_time in a format like 2024-02-26T<IP_ADDRESS>7372000Z instead of 2024-02-26T07:00:58.787372000Z, which is not in the ISO 8601 standard format.
As a workaround, users can change their time settings to English, but this creates other problems. I believe I have narrowed down the issue to one line of code specifically.
In Version 2.3.0 of the SDK, a commit was made: "Closes #153. Add additional FCM options for Android Notification #203." This change, in particular, affected the FirebaseAdmin/FirebaseAdmin/Messaging/AndroidNotification.cs file. In this commit, the following code is problematic:
private string EventTimeString
{
    get
    {
        return this.EventTimestamp.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.ffffff000'Z'");
    }

    set
    {
        if (string.IsNullOrEmpty(value))
        {
            throw new ArgumentException("Invalid event timestamp. Event timestamp should be a non-empty string");
        }

        this.EventTimestamp = DateTime.Parse(value, CultureInfo.InvariantCulture, DateTimeStyles.None);
    }
}

In the setter method, CultureInfo.InvariantCulture is used, which employs a standard format for parsing the DateTime but is not used in the getter, which is the source of the problem. This omission causes event_time to use the local time settings instead, leading to the incorrect format.
This is a problem because all other versions of Firebase are being deprecated in July 2023. To fix this, the getter should include CultureInfo.InvariantCulture to ensure consistent formatting:
return this.EventTimestamp.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.ffffff000'Z'", CultureInfo.InvariantCulture);

Steps to reproduce:
Steps to reproduce:
Set up Firebase in a .NET project. Make a message with an AndroidConfig object set up.
Set computer settings to use the Finnish format for the Region. (In Windows, this can be done from Clock and Region in the Control Panel.)
Set a breakpoint for the response and send the message with either FirebaseMessaging.DefaultInstance.SendEachAsync or FirebaseMessaging.DefaultInstance.SendAsync.
Inspect the response in the debugger for the failure message.
Relevant Code:
  var messages = new List<Message>()
            {
                new Message()
                {
                    Topic = EnglishNewsTopic,
                    Android = new AndroidConfig
                    {
                        Notification = new AndroidNotification
                        {
                            Title = EnglishNewsTitle,
                            Body = EnglishNewsBody,
                            ClickAction = "messages"
                        }
                    },

Response Code set Breakpoint at return result
 var result = await FirebaseMessaging.DefaultInstance.SendEachAsync(messages);
                return result;

Any updates to this issue/bug @lahirumaramba?
There is no way for us to fix this issue without changing the whole timezone settings for our computer/server and that will affect alot of other functionality.

Yes, only older version works..
2.2.0 works fine.

Yeah!
But what should be do about the deprecation of legacy FCM? SendAll is not usable after 21th of June 2024 and SendEach doesn't work cause of the bug in versions 2.3.0 and above?

I have solution for this issue,
before send switch CultureInfo.CurrentCulture to InvariantCulture and after this
set back to normal CurrentCulture what you save to variable.
            var oldCulture = CultureInfo.CurrentCulture;
            CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;
            // your logic here e.g. await _messaging.SendAsync(..)...
            CultureInfo.CurrentCulture = oldCulture;

now you can send notifications successfully.

@furofo Thanks for highlighting this issue
@TMariapori Will the temporary Culuture change affect the current thread or the whole api in the time that the messages are send ?
Note that this issue was foundallmost two years ago
THere is an open pull request which needs reviewers.
https://github.com/firebase/firebase-admin-dotnet/pull/329

Yes, but this is solution if not wanna fork firebaseadmin.
And yes only current thread.
This is correct fix for this bug, but need apply this to this nuget.
https://github.com/firebase/firebase-admin-dotnet/pull/329

Thanks for your patience folks! This is covered in #417 now


dataframe integration with fastparquet not working

Setup:
lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

conda install -c conda-forge dask fastparquet python-snappy

dask                      0.16.0                     py_0    conda-forge
fastparquet               0.1.3                    py36_0    conda-forge
python-snappy             0.5.1                    py36_2    conda-forge

cat test.csv

foo,bar
5,7.1
6,8.2
3,4.02

Works:
import pandas as pd
import fastparquet as fp

df = pd.read_csv('test.csv')
fp.write('test.parquet', df)

Doesn't work:
import dask.dataframe as dd
import fastparquet as fp

df = dd.read_csv('test.csv')
fp.write('test.parquet', df)

Traceback (most recent call last):
  File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2522, in get_loc
    return self._engine.get_loc(key)
  File "pandas/_libs/index.pyx", line 117, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 139, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1265, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1273, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    fp.write('test.parquet', df)
  File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/fastparquet/writer.py", line 788, in write
    cols = set(data)
  File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/dask/dataframe/core.py", line 2160, in __getitem__
    meta = self._meta[_extract_meta(key)]
  File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/pandas/core/frame.py", line 2139, in __getitem__
    return self._getitem_column(key)
  File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/pandas/core/frame.py", line 2146, in _getitem_column
    return self._get_item_cache(key)
  File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/pandas/core/generic.py", line 1842, in _get_item_cache
    values = self._data.get(item)
  File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/pandas/core/internals.py", line 3838, in get
    loc = self.items.get_loc(item)
  File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2524, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas/_libs/index.pyx", line 117, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 139, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1265, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1273, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0

Whilst this is perhaps not the best of error messages....
fp.write('test.parquet', df) only works with pandas data-frames, not dask dataframes. Dask provides an internal implementation of writing to parquet, which calls fastparquet (or pyarrow):
 df.to_parquet('test.parquet', engine='fastparquet')

The engine keyword will default to whichever of fastparquet/pyarrow you have available, and which have some different possible optional parameters. This function is also available as dd.io.parquet.to_parquet, but the above is the recommended method.

I see.  Thanks for that clarification.


issue-98 : added domain-name to address comparison

Signed-off-by: Dana Sunalova<EMAIL_ADDRESS>

Reviewer is @vanithavalluripalli9


What is delete namespace permission used for?

https://github.com/alexellis/registry-creds/blob/77b2b0b0d088a477428bbc6e35ed56b503279903/config/rbac/role.yaml#L13
What's the use case of delete namespace permission in registry-creds? Is it within the minimal privilege required?

Hi, I don't think that create/update/delete are needed for namespaces - namespace_watcher.go is the main place where interactions take place with namespaces, it should be watch/get/list that is needed.

I removed these entries, but the controller framework added them back in again.. feel free to figure out how it work out the permissions and send a PR.


After updating to 1.6.1 any file is automatically touched upon opening it

VSCode Version: Code 1.6.1 (9e4e44c19e393803e2b05fe2323cf4ed7e36880e, 2016-10-13T15:27:10.246Z)
OS Version: Darwin x64 15.6.0
Extensions: DotJoshJohnson.xml-1.6.0, EditorConfig.EditorConfig-0.3.3, PeterJausovec.vscode-docker-0.0.6, johnpapa.Angular2-1.0.2, ms-vscode.typescript-javascript-grammar-0.0.4, rbbit.typescript-hero-0.8.0

Steps to Reproduce:

Open any file
Even if I don't touch anything, it appears like it has been modified and the IDE asks if I want to save it.

This behavior happened today, after I updated to from 1.6.0 to release 1.6.1

Do you also see this behavior if you run with --disable-extensions?

Hi @isidorn
I disabled all extensions and found the issue is due to the EditorConfig plugin, because if I reactivate it the issue appears again.
I will open a ticket in their repository, thank you!


Version bump

I think that under our current policies, this can only be merged by @waywardmonkeys (or RazrFalcon), as they are the only people with the permissions to publish this.

I see three ways forward for this:

I merge it in the next 5 - 6 hours and then we hope all goes well as I'll be traveling for about 32 hours and then jet lagged.
I merge it in 48+ hours once I've arrived on the other side of the world and partially recovered.
I grant someone else access on crates.io in addition to me.

Let me know.

Should we publish svgtypes before this crate (non-breaking changes there)?

Added the link to the bottom and set the merge date as today (assuming it gets merged today).

Should we publish svgtypes before this crate (non-breaking changes there)?

Would make sense I guess. 😄


Handle empty/root path

If the type error as at the root, path comes back as empty string, resulting in:
Expected type of  to be …

Is this actually the case? this test seems to contradict. https://github.com/OliverJAsh/io-ts-reporters/blob/master/tests/index.test.ts#L14

@gillchristian guessing this can be closed


Allow Rescore to accept multiple rescore queries

The interface for rescore, IRescore, cannot be changed in 2.x as it would break binary compatibility for 2.x.
A new concrete implementation of IRescore, MultiRescore, is introduced that allows for multiple rescore queries to be specified. When using OIS syntax, a new instance of MultiRescore should be used. When using the fluent API, the descriptor takes care of combining multiple rescore queries. A custom json converter takes care of serialization when a single or multiple rescore queries are specified.
The slightly awkward part with having Rescore and MultiRescore is that when an IRescore instance is deserialized from json, it is not known if this is a Rescore or MultiRescore without checking the type; a consumer would need to know to do this, as MultiRescore maps only the first Rescore's properties to properties of the IRescore interface.
Add usage tests for both single Rescore and multiple Rescore queries.
Closes https://github.com/elastic/elasticsearch-net/issues/2088

Love the bwc solution :+1:

Nice!


Must-gather: refactor the crash and volume collection

add --no-headers in rsyunc cmd, create array for pids
skip the log msg if pid array is empty and improvements
in code.
Signed-off-by: crombus<EMAIL_ADDRESS>

/retest

/cherry-pick release-4.7


Improve experience/performance when compositing >1000 images

Are you using the latest version? Is the version currently in use as reported by npm ls sharp the same as the latest version as reported by npm view sharp dist-tags.latest?
Yes... I upgraded (0.25.4), sadly same issue
What are the steps to reproduce?
  At somewhere between 1156 and 1393 (exact number unlikely to be relevant), this will crash with a segmentation fault.  The gdb stacktrace looks something like this:
#0  0x00007fffedd442b6 in g_hash_table_lookup () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libglib-2.0.so.0
#1  0x00007fffedad029a in g_signal_handler_is_connected ()
   from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#2  0x00007fffee27b5b6 in vips.object_set_member () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libvips.so.42
#3  0x00007fffee27bab8 in vips_object_set_property ()
   from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libvips.so.42
#4  0x00007fffedabd7c3 in g_object_set_valist ()
   from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#5  0x00007fffedabe0bf in g_object_set () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#6  0x00007fffee27a1f5 in ?? () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libvips.so.42
#7  0x00007fffee27ac0a in vips_argument_map () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libvips.so.42
#8  0x00007fffee27acf7 in ?? () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libvips.so.42
#9  0x00007fffedaba113 in g_object_unref () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#10 0x00007fffedabd531 in g_object_set_valist ()
   from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#11 0x00007fffedabe0bf in g_object_set () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#12 0x00007fffedab556d in g_closure_invoke () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#13 0x00007fffedac7aab in ?? () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#14 0x00007fffedad314f in g_signal_emit_valist ()
   from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#15 0x00007fffedad3be2 in g_signal_emit () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#16 0x00007fffee27ad69 in ?? () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libvips.so.42
#17 0x00007fffedaba113 in g_object_unref () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#18 0x00007fffee279e96 in ?? () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libvips.so.42
#19 0x00007fffedab556d in g_closure_invoke () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#20 0x00007fffedac7aab in ?? () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#21 0x00007fffedad314f in g_signal_emit_valist ()

This continues for "a bit", ending as follows:
#48450 0x00007fffedad314f in g_signal_emit_valist () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#48451 0x00007fffedad3be2 in g_signal_emit () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#48452 0x00007fffee27ad69 in ?? () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libvips.so.42
#48453 0x00007fffedaba113 in g_object_unref () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/../../vendor/lib/libgobject-2.0.so.0
#48454 0x00007ffff448c42c in PipelineWorker::Execute() () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/sharp.node
#48455 0x00007ffff4472eb4 in Napi::AsyncWorker::OnExecute(Napi::Env) () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/sharp.node
#48456 0x00007ffff4475eb3 in Napi::AsyncWorker::OnAsyncWorkExecute(napi_env__*, void*) () from /home/rpav/vcs/tileutil.js/node_modules/sharp/build/Release/sharp.node
#48457 0x00005555565b4335 in ?? ()
#48458 0x00007ffff738f422 in start_thread () from /usr/lib/libpthread.so.0
#48459 0x00007ffff72bcbf3 in clone () from /usr/lib/libc.so.6

I don't think this is actually infinite recursion ... I don't know what's going on, specifically, but it will actually complete given enough stack space.  I discovered this because it actually works for this image set when run in emacs's eshell!  Subsequently using ulimit -s 16384 also completes.
This is however not the greatest workaround as it doesn't appear to scale.
What is the expected behaviour?
Stack usage not dependent on input size.  Also not crashing.
Are you able to provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem?
Unsure .. my code looks something like:
sharp({
  create: { /* something like 1024x1024 */ },
})
.composite(arrayOfImages)
.raw().toBuffer()

This seems sufficient to crash it, though I haven't tried this outside of the other code that actually loads the images etc.  Note that removing .toBuffer() is sufficient for it to not crash.  This is all in an async lambda in an async main.
Are you able to provide a sample image that helps explain the problem?
Specific images don't seem to be the triggering factor.
What is the output of running npx envinfo --binaries --system?
npx: installed 1 in 1.747s

  System:
    OS: Linux 5.6 Arch Linux
    CPU: (12) x64 Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
    Memory: 25.63 GB / 31.31 GB
    Container: Yes
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.5.0 - /bin/node
    Yarn: 1.22.4 - /bin/yarn
    npm: 6.14.5 - ~/.nodejs/bin/npm

Also, notably, perhaps related, composite() is by far the slowest part of the utility I'm working on; nearly 5 seconds to composite said 1400 images.  Other parts of the process involve walking every sprite pixel-by-pixel to compute borders, and writing sprite bleed, also pixel-by-pixel.  In Javascript.  E.g. the makeBleed() portion of this by comparison is 0.09s.
So probably, something weird is going on.

This was reported before: https://github.com/lovell/sharp/issues/1708

Yes, this looks like the same stack overflow as #1470.
@rpav does #1580 better suit your use case?
The best we can do to avoid this is add an fixed limit on the number of images being composited at once. It's hard to know exactly what that limit should be, but I'd prefer a low value as people attempting to composite 100s of images are probably looking for #1580.
In terms of performance, we'd need to try using a tool such as callgrind to  see if there's any over-computation that might be solved with a libvips tile cache.

It doesn't appear to; that appears to join a number of images in a uniform array.  In my case, I'm using maxrects-packer to compute bins and sharp to composite some processed sprites into the image.
At a glance, vips composite is not what I really want here, rather embed or insert.  These don't appear to be available via sharp but I'm not sure.

Presumably the following ought also produce similar results:
let atlas = sharp({ ... });

await atlas.composite([ images[0] ]);
await atlas.composite([ images[1] ]);

(Obviously, in the "real" case, I do promises.push(atlas.composite([images[i]])) then await them all, but for sake of simplified testing and problem elimination...)
Unfortunately this seems to clear the entire image every time .composite() is called, leaving only one image in the atlas.  Surely this is not the intended effect?  This is the same even if I change blend modes.

For now I have written a simple pixel-by-pixel copy.  This cuts runtime to the point where, running linearly, it's not even worth optimizing.
With .composite():
Start at 0.0022215s (0.0022215s)
Loaded/trimmed at 3.9076s (3.9054s)
Packing computed at 4.0802s (0.17257s)
Composited at 9.5329s (5.4527s)
Sprites processed: 1421

With pixel copying:
Loaded/trimmed at 3.4233s (3.4210s)
Packing computed at 3.7387s (0.31510s)
Binned images at 3.8882s (0.14949s)
Built altas at 3.9453s (0.057114s)
Bleed at 4.0371s (0.091836s)
Process finished at 4.4002s (0.36307s)
Sprites processed: 1421

The "Binned images" step is mostly slow due to rotating the image and re-converting it to a buffer.  This conversion seems to take the vast majority of the time; caching the unrotated raw image buffer cut this from 2.9s to the current 0.1s.  Blitting is the "Built atlas" step.
In any case, if someone is having performance / crash issues with .composite(), just copying data between buffers with dest.writeUInt32LE(src.readUInt32LE(...), ...) is very fast.

Hi @rpav I'm trying to do composite as well with a relatively large amount of images (i.e. stitch them together to form one big image). I have the same problems:

doing .composite(...).composite(...) will cause the first composites to be ignored and only the last to be taken into account
make a large array and then pushing it to .composite(...) once, is relatively slow
and when I do .composite().resize().png() there will be an error Error: Image to composite must have same dimensions or smaller

@lovell Do you have an idea how this could be fixed?
@rpav I don't understand your workaround.
Thanks!

@willemmulder Oh right, I forgot to mention here, I posted my set of tile utilities.  This is a pretty quick hack job and doubtless some pretty crappy JS, but you can see here for example, I'm literally doing a naive/simple pixel-by-pixel copy from one buffer to the other.  For my current set of ~1500-is images, this takes ~60ms out of ~5s.
The real solution to this I think would be as noted above, including embed or insert rather than just composite.  But at this point it's not a priority for me, because other things are considerably slower (loading takes 80% of my runtime!).

@rpav Thanks! From what I see, the part of your util that you mentioned then is mainly meant to copy buffers? Which would enable me to do several .composite() operations in sequence, using a series of nested sharp(previous.raw().toBuffer(), {raw:info}) etc but in a more efficient manner. Right? Or am I missing the point here?

No, this doesn't change the viability of composite(), it just does the operation I was doing with composite by hand, which was "copy pixels from one buffer to another buffer".  In my case, specifically, this is a simple data copy/overwrite rather than composite, which can combine/blend/etc.

No, this doesn't change the viability of composite(), it just does the operation I was doing with composite by hand, which was "copy pixels from one buffer to another buffer". In my case, specifically, this is a simple data copy/overwrite rather than composite, which can combine/blend/etc.

Ah I see 👍  Would it be possible to somehow use that for stitching together 20x20 small tiles into one big image? If so, I can probably figure out the rest myself...

Commit https://github.com/lovell/sharp/commit/c62002554b5938c43c14fefafad7353ae4d720cf should improve the performance and accuracy of multi-image compositing. This will be in v0.30.2 (a patch release as the previous accuracy could well be considered a bug).
Please note that https://github.com/lovell/sharp/issues/1580 remains as a future possible enhancement.

Is the stack overflow from issue #1708 also fixed now?

@tgrajewski It's likely, yes, and you're welcome to test locally using npm install --build-from-source lovell/sharp

@lovell is it possible to install prebuilt binaries for multiple architectures to support electron/universal

v0.30.2 now available with this performance improvement.
Please remember that https://github.com/lovell/sharp/issues/1580 still exists as a future possible enhancement for joining/stitching non-overlapping images.


build.sh defaults to debug

For a release build use build.sh --release

Do we still want this?

Sorry, I didn't mean to merge directly in this PR without a custom commit name/description. I fixed conflicts and swapped the argument to set the default build type to release and switch to debug with the --debug flag. I think that it is useful to change the build type easily, but debug mode is much slower, so for a quick test with the default setting, release mode should be preferable.

needs another rebase