Questions about diagnoses

Nutrition env

Why is this diagnosis “Malaria with severe anemia”? And why is the test for hepatitis B only in the lab? Should it be another diagnosis?

Why do diagnosis (and maybe treatment) not appear if the answer is "yes" to the following questions? Is it okay?

Why doesn't "Counsel on safer sex practices" appear when the test can't be made? // in vhw env, "Counsel on safer sex practices" appears with this option

Why doesn't "Counsel on safer sex practices" appear in the next steps if the answer to the following question is "yes"? (it appears when the test is positive) Is it okay?

Why is the diagnosis from the Logic Master file (Gestational Hypertension) different in environments (Nutrition and VHW)?

Why does an alert not appear when EGA >=20 weeks + diastolic >=90 to <110 mmHg  (Gestational Hypertension)? In both env: Nutrition and VHW

When EGA < 20 weeks + diastolic >110 (Chronic Hypertension), the alert appears

And when Systolic is high (when EGA > or <20 weeks), the alert also doesn't appear.

Mild to Moderate Preeclampsia. Why is the "Leave encounter" button enabled when the diagnosis is ready and the "Next Steps" include a "Referral" activity? (in both env - nutrition and VHW)

“depression not likely” - this is not depression, right? Why does this sentence appear as a warning? And other diagnoses are not shown. And this sentence appears in diagnoses in the report

@LudmilaGoichman

Why is this diagnosis “Malaria with severe anemia”? And why is the test for hepatitis B only in the lab? Should it be another diagnosis?

There was a mistake in Excel file. Someone made a change by mistake. This is how it's supposed to be:

Why do diagnosis (and maybe treatment) not appear if the answer is "yes" to the following questions? Is it okay?

This is the requirement. If known as positive, no next steps.

Why doesn't "Counsel on safer sex practices" appear when the test can't be made? // in vhw env, "Counsel on safer sex practices" appears with this option

Why doesn't "Counsel on safer sex practices" appear in the next steps if the answer to the following question is "yes"? (it appears when the test is positive) Is it okay?

Fixed at #1168

Why is the diagnosis from the Logic Master file (Gestational Hypertension) different in environments (Nutrition and VHW)?

Per customer request. Gestational and Pregnancy induced is same thing.

Why does an alert not appear when EGA >=20 weeks + diastolic >=90 to <110 mmHg  (Gestational Hypertension)? In both env: Nutrition and VHW

Fixed at #1168

Mild to Moderate Preeclampsia. Why is the "Leave encounter" button enabled when the diagnosis is ready and the "Next Steps" include a "Referral" activity? (in both env - nutrition and VHW)

At recurrent phase, there may be multiple entries, to update partial labs results for example.
Therefore, we always allow to leave the encounter.

“depression not likely” - this is not depression, right? Why does this sentence appear as a warning? And other diagnoses are not shown. And this sentence appears in diagnoses in the report

This was already answered (and fixed) in another issue.
Warning because customer asked for indication in any case.
Diagnosis did not appear, because it's an urgent one, and there's dedicated flow for it.


fixes issue #28021:

Text in multiline arrays in inspector now wraps correctly after uncollapsing.
TextEdit now overrides Control's _size_changed method and calls it's _update_wrap_at method in it.

Shouldn't it just connect the resized signal from Control instead of making size_changed() a virtual?

@YeldhamDev Ah, makes sense. There is in fact already a deferred call to _update_wrap_at for the resized notification. I guess that deferred call is too deferred. Does anything speak against changing it to a regular call? For the theme changed notification there already is a straight call to _update_wrap_at as well

Any update on this?

Superseded by #31684, but thanks for the contribution nevertheless!


File upload Example

Please, add a file upload example for Swashbuckle version 5.
If I understand correct - previous approeache doesn't work for lates version.

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

ID: 14fce65f-1337-58cb-2193-8d8e0e62792d
Version Independent ID: 59222460-a971-e76e-4fe9-23d4d7d768ee
Content: Get started with Swashbuckle and ASP.NET Core
Content Source: aspnetcore/tutorials/getting-started-with-swashbuckle.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @zuckerthoben
Microsoft Alias: scaddie

Thanks for contacting us.
We don’t have the resources to invest in this area, so we are closing the issue. Should your request generate enough  👍 responses, we’ll reconsider.

Close this task - this question is unactual.
I have investigated this issue more deeply. And I found that version 5 has build-in file upload implementations. So I removed my custom code that works with version 4 and everything works perfect.


Added return statements to functions that were missing it

@azumnanji ya merged this in with failing clang format checks


Assertions.assertThatThrownBy doesn't support the as/describedAs API

This:
    Assertions.assertThatThrownBy(something::call)
        .as("This is not OK")
        .isInstanceOf(expectedException);

yields the default message:
    java.lang.AssertionError: Expecting code to raise a throwable.

Indeed, thanks for reporting this.

Indeed, thanks for reporting this.

:+1:

The thing is something::call gets evaluated in assertThatThrownBy (of course), so as never gets executed if call doesn't throw an exception. It's also not possible to set a description as the first call, because as and describedAs are not in the Assertions API, and perhaps that makes sense.
What if the Java 8 function is a regular assertThat construct/type, and evaluated with a thrownBy-method?

You are right, you can't pass a message to assertThatThrownBy, what you suggest is already possible by using catchThrowable inside assertThat:
assertThat(catchThrowable(() -> { throw new Exception("boom!") })).as("boom expected")
                  .isInstanceOf(Exception.class)
                  .hasMessageContaining("boom");

removing the throw will make the assertion fail:
java.lang.AssertionError: [boom expected]
Expecting actual not to be null

It's worth documenting this assertThatThrownBy  limitation and the given alternative in the javadoc.

what you suggest is already possible by using catchThrowable inside assertThat

Nice, that works.

It's worth documenting this assertThatThrownBy limitation and the given alternative in the javadoc.

:+1:

Documented.

This results in code which begs for a comment. :(
assertThat(catchThrowable(() -> callSut)) // don't reduce to assertThatThrownBy because .as() won't work!
                .as("explanation")
                .isInstanceOf(ExpectedException.class);

Can this be fixed with assertThatThrownBy after all?

As mentioned by kristiany there is no obvious fix for that (I'm happy to be proven wrong though).
Which clarification do you want to see in assertThatThrownBy javadoc ?

No chance to override as() in AbstractThrowableAssert?

I just recall that I believe you can use assertThatCode in your case:
@Test
public void can_use_as_when_checking_exception() {

    final ThrowingCallable doNothing = () -> { };

     // assertion fails and "display me" appears in the assertion error
     assertThatCode(doNothing).as("display me")
          		      .isInstanceOf(Exception.class);
}

Would that work for you ?

It works. But I am not thrilled. :)

confusing method name
it works the same as asserting on a caught throwable, e.g. nothing thrown results in Expecting actual not to be null, which is not as helpful as Expecting code to raise a throwable.

I do agree assertThatCode(doNothing).isInstanceOf(Exception.class); is a bit confusing, the main usage for it was assertThatCode(doNothing).doesNotThrowAnyExceptions().
I don't see any good options for this problem since as can not be supported in assertThatThrownBy but I might be missing something.

Yes, I (finally!) see the problem. assertThatThrownBy asserts not null on the throwable before any chained calls, as or otherwise. I suppose this was made so users can check whether the call through anything at all... I admit that I have indeed used this a couple of times.
The only solution I see is that we use assertThatCode.
However, the message in case of throwable being null should be fixed.
The fix: All public methods in AbstractThrowableAssert which check parts of the throwable (isSameAs, isInstanceOf, hasMessage, ...) should first call hasBeenThrown().
There is no point in checking a throwable which is null because this is de-facto usage of a part of the AbstractObjectAssert API not intended for throwables. A null throwable is already an error, not a regular value which should be checked.
And I would prefer the method assertThatCode be called assertThatCall since that's more specific and after all, its argument is called ...Callable.

I can agree with calling hasBeenThrown() in AbstractThrowableAssert.
We can't rename assertThatCode as it would be a breaking change, I'm a bit reluctant to  add assertThatCall as an alias assertThatCode because users might wonder what is the difference with assertThatCode.

Great, I am pleased. :)
I'll probably get used to the name anyway.

Would you be keen to contribute that ?

Riiight ... one of these days. Sorry. Got swamped with other stuff as usual.
In the meantime I stopped seeing this as important.
I'll fix it when/if I run into the issue again and it still bothers me.

Sure, no problem.


Editor video tutorials on new accounts

Context
On new users on-boarding, users are still offered with Editor "video tutorials"
Steps to Reproduce
Please break down here below all the needed steps to reproduce the issue

Create a new account
Follow the steps for creating a new map with the wizard

Current Result
On the "add dataset" modal, you get a "Or you can start with a video tutorial" link that drives to another window with Editor video tutorials

Expected result
We should link to /learn guides

that section should be removed forever ASAP.

This issue can probably be closed. (See Dup issue here specifically about the Add Dataset module, which was fixed awhile ago).
New issue here, but I think I remember @saleiva saying he wanted to remove all those video links regardless? Can't find that issue though...

Closing this one in favor of https://github.com/CartoDB/learn/issues/361. Thanks @csobier!


Add Clout Price of Creator Coin in Profiles

Adds in the current $CLOUT price of a Creator's Coin on Profile Pages, also includes a new BitClout logo in svg format for use with theming or any other future needed icons.
Preview:

@lazynina @maebeam @diamondhands0 needs review/merge 👍

@lazynina ?

Fixed and awaiting @maebeam


Non-determinism of MediaFile.art and extractart plugin

@mried work on #1328 brought to light the fact that the extractart plugin relies on MediaFile.art which is as "legacy album art field", the "first image on a file". However this seems non-deterministic (sometime returns a 2nd+ image) especially on python 2.6 (sigh).
Moreover extractart works with this field, while it could work with images, extracting all arts from a file (MediaFile.images).
The questions raised are:

how does MediaFile determines the art property?
should the art property be kept? It seems used by the plugins scrub and embedart
shouldn't embedart manage all art files?

I believe the images embedded into mp3 can be tagged with image types like 'Front cover' or 'Back cover' or ... Maybe embedart should take care of this type? (I don't know if MediaFile is able to read the types.)

The images do have a description, which can be used to determine the main art file (= front cover). MediaFile knows about it, as well as the mime type.
Given that the art property is used in some beets core, I think determining the main art should be the responsibility of beets.mediafile.

MP3ImageStorageStyle.fetch() is not deterministic in the order of the images returned: it works on a dict (mutagen_file.tags) and returns a list, we cannot predict what will be the first image (which is to be the art).

Thanks for uncovering this. Yes, the art field should be deterministic; and I agree with the approach of using the front cover.
I don't mind keeping the art property currently. Barring a sweeping change for supporting multiple art files everywhere, the status quo seems fine (and "legacy" is perhaps too strong a label, which we applied prematurely).

Here comes a fix: images are filtered on their type, looking for Imagetype.front.
Remains the subject of the extractart command of the embedart plugin: shouldn't it extract all images? In that case should it be the default, or a --all flag?

if it is the default: with -o only extract the cover, with -n extract all but rename the front cover with the argument of the -n option
if it is another flag, shan't it be incompatible with -o?


Mac Documentation Improvements

The Mac docs seemed to assume you'd read the Windows docs first, as they didn't make it clear what you were supposed to do with the solutions you were creating. So I made few small changes.

Clarify in the installation step that you are only verifying your fsharp installation.
Explain what you are supposed to do with your NUnit solution once you create it.

Both of these were unclear to me as a mac user. I also went ahead and cleaned up the images for mac, which are huge on the current website.

Thanks @paytonrules! These docs can get pretty outdated since Xamarin Studio continues to receive a ton of new enhancements.

Yes, thanks a lot @paytonrules! Great work. :tada:


AE2  P2P RF mode doesn't transfer power from enderIO energy banks

I don't know if this you guys fault, or AE2 fault, as far as I know, this works with Thermal Expansion Energy cells, but it won't work with yours capacitor banks or dimensional transceivers.
If you need further explanations on what I'm trying to achieve, check this short video:
https://www.youtube.com/watch?v=VuPxoqrCQ6M
Thanks!

I was able to get an RF P2P tunnel to send from a Thermal Expansion cell to a Dimensional Transceiver. Can you replicate this?

I'd need to look at the code of the P2P thingy, but most probably the reason is:
RF is a push-based protocol, meaning that a power source actively offers energy to all connected machines/pipes. But now more and more devs are discovering that they can actually pull energy from TE's cells---and are building their piping systems that way. And if their machines/pipes don't accept energy that is pushed into them but only work if they can pull the power from the energy sources themselves, they lose compatibility with half of the RF world.

@HenryLoenwind @frenchiveruti
I believe I've found the actual problem.
RF can only travel from P2P tunnel input to outputs. It can't travel the other way. I believe this is by design, so you'll have to build your network to accommodate this.
Unfortunately, Applied Energistics gives no visual feedback on the difference between the tunnel input compared to its outputs. (A tunnel can only have a single input.
For example, this setup can send from one cell to the other, but toggling the cell behaviour between input/output won't transfer the RF back.

Yes, those P2P buses do look identical, you're not imagining it!

Keeping these limitations in mind, I just tried it with a capacitor and the transfer works fine.

Ok, so this seems to be a bad design decision (pun intended) on the tunnel mod.
Closing this ticket. Thanks for finding the root cause, @Psithief

I tried both ways and It wasn't working, in the end the solution was entirely different, just add an energy conduit from the dimensional transceiver to the P2P port, and the same applies to the capacitor banks.
As you can see here

@frenchiveruti
What versions of AE2 and Ender IO are you running?

Oh... hmmm, I'm running FTB Infinity Evolved, so now I'm starting to think that it might be an outdated version of the mod....

Could be, here's a time-lapse with just the latest versions of AE2 and Ender IO.

If I understand the code correctly, the RF P2P is calling receive on the tile entity adjacent to the P2P, which sounds legitimate to me. Is that correct @yueh @thatsIch?

That's fine, the problem would be if they were calling extract. RF is meant to be push based, and capacitor banks do not allow extraction manually.


Build failed on Ubuntu 18.04 (Error: Could not load file or assembly 'System.Runtime' or one of its dependencies)

Build failed on Ubuntu 18.04 (Error: Could not load file or assembly 'System.Runtime' or one of its dependencies). Output from build.sh:
Feeds used:
  /home/reza/.nuget/packages/
  https://api.nuget.org/v3/index.json
  https://dotnet.myget.org/F/dotnet-core/api/v3/index.json

All packages listed in /home/reza/Projects/omnisharp-roslyn/tools/packages.config are already installed.
Error: Could not load file or assembly 'System.Runtime' or one of its dependencies

$ mono --version
Mono JIT compiler version <IP_ADDRESS> (tarball Mon Aug  6 09:07:45 UTC 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug
	Interpreter:   yes
	LLVM:          yes(3.6.0svn-mono-/)
	GC:            sgen (concurrent by default)

Any hints building omnisharp-roslyn in Ubuntu 18.04?

Solved, by installing mono-devel.


Be sure --low-level-client and --show-operations=True work together

This means, high level operations are generated with JSON input/output, including LRO and Paging

confirmed!


ci(pr-title): fix version of actions-ecosystem/action-add-labels action

v1.1.0 is the latest version.

#7841  👈 (View in Graphite)
main

How to use the Graphite Merge Queue
Add either label to this PR to merge it via the merge queue:

0-merge - adds this PR to the back of the merge queue
hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Boshen I merged this to unblock merging other PRs. Hope I didn't make a screw up.


The Name Style Does Not Exist in The Current Context

Hello jacob i can't change the font..
scintilla1.Styles[Style.Default].Font = "Courier New";
error :
The Name Style Does Not Exist in The Current Context

That would imply you haven't imported the ScintillaNET namespace. Add this to the top of your class file...
using ScintillaNET;

... or change the code to this:
scintilla1.Styles[ScintillaNET.Style.Default].Font = "Courier New";

... and make sure you have a reference to the ScintillaNET library and that you can build your solution if you comment out that line of code.

thank you so much :)

thank you so much :)


fix: error eslint config in react-srcipts > 1.0.0

Break Change: Need to consider compatibility with react-scripts < 1.0.0.

Would be great to see result squashed into one commit

sry, i did wrong HEAD in squash. wait moment.

@Guria feel free to merge this (whenever) and I'll publish it.

@timarney I have no merge button on this repo yet

@Guria think we got the no merge button issue sorted out correct?

published


Add backSegment property to DeepLinkMetadata for dynamic navigation hierarchies

Ionic version:  (check one with "x")
[ ] 1.x
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[x] feature request
[ ] support request
Feature Request:
From what I've gathered, the deep link system limits us to a single dynamic level in a navigation hierarchy. The defaultHistory array takes strings which correspond to class names of pages (or of the name properties of DeepLinkMetadata objects if used). The issue is that params can't be passed backwards through the history, so hierarchies with multiple dynamic levels are a no-go right now.
I suggest adding a new property to the DeepLinkMetadata type called backSegment, which would look like something like this (assuming you landed on the 3rd level of a dynamic hierarchy):
@IonicPage({
  name: '3rd',
  segment: 'hierarchy/1st/:1stId/2nd/:2ndId/3rd/:3rdId',
  backSegment: 'hierarchy/1st/:1stId/2nd/:2ndId'
})

The backSegment would automatically grab current URL params (1stId & 2ndId) and pass them back through the hierarchy.
Clicking the back button would pop the 3rd level and take you to the 2nd level:
@IonicPage({
  name: '2nd',
  segment: 'hierarchy/1st/:1stId/2nd/:2ndId',
  backSegment: 'hierarchy/1st/:1stId'
})

Rinse and repeat to pop the 2nd and go back to the 1st:
@IonicPage({
  name: '1st',
  segment: 'hierarchy/1st/:1stId',
  backSegment: 'hierarchy'
})

1st pops back to the root of the hierarchy (we are out of params to usher through):
@IonicPage({
  name: 'Hierarchy',
  segment: 'hierarchy',
  backSegment: ''
})

And Hierarchy can pop back to the home/default page of the site:
@IonicPage({
  name: 'Home',

  // Empty segments don't currently work. See links below.
  segment: ''
})

Note also that there is only a single segment string, rather than an array of pages in a history. I don't think a page should have to list its full history. If a page knows its backSegment, and that parent knows its backSegment, etc., the system should be intelligent enough to build the breadcrumb back to the root for a given page.
If you need the whole history at once (perhaps because lazy loading prevents you from inspecting DeepLinkMetadata of parent pages up the hierarchy), then an array of backSegments, while duplicative, would work as well:
@IonicPage({
  name: '3rd',
  segment: 'hierarchy/1st/:1stId/2nd/:2ndId/3rd/:3rdId',

  // or historySegments?
  backSegments: [
    'hierarchy/1st/:1stId/2nd/:2ndId',
    'hierarchy/1st/:1stId',
    'hierarchy',
    ''
  ]
})

If possible, it would be cool to ditch the explicit page names in segments and just have params (so this would apply to the current segment property as well as the suggested backSegment). From the example above, it would look like this:
segment: 'hierarchy/:1stId/:2ndId/:3rdId'
The idea here is that pages are "implicit" in the organization of many hierarchies. If you consider the dog taxonomy example, having each layer (Kingdom, Phylum, Class, Order, Suborder, Family, Genus, and Species) in the URL is superfluous:
example.com/taxonomy/Kingdom/Animalia/Phylum/Chordata/Class/Mammalia/Order/Carnivora/Suborder/Caniformia/Family/Canidae/Genus/Canis/Species/C_lupus
vs. "implicit" pages:
example.com/taxonomy/Animalia/Chordata/Mammalia/Carnivora/Caniformia/Canidae/Canis/C_lupus

Some links regarding the empty segement, which is how I thought it would work:

https://github.com/driftyco/ionic/issues/11363
https://github.com/driftyco/ionic-app-scripts/issues/888
https://forum.ionicframework.com/t/ionic-3-deeplinker-base-url/86338

+1!
This should be totally included in the framework, (mainly for browse) since multiple environments apps are really possible with Ionic. (https://ionicframework.com/docs//resources/desktop-support/)

This would really solve navigation issues right now. like I have a report page with this path report/:id which has an image details view under path report/:id/image/:id
If the image page has a defaultHistory of ['report'] you would expect it to go from
report/1/image/1 to report/1 but it actually goes to report/:id which is a super annoying bug.

Here are a few more thoughts on a possible API(s) for the "implicit-segment / param-only hierarchy" I mentioned above. I'll use the taxonomy example again, but I'll only use 3 layers for the sake of brevity.
// This is the root of the hierarchy
@IonicPage({
  name: 'Taxonomy',

  // We declare a root for the hierarchy that deeper layers will use
  hierarchyRoot: 'taxonomy',

  // Since this is the root, it doesn't have a 'hierarchyParent'
  hierarchyParent: null, // maybe an 'isRoot' property set to true?

  // It can/should still have a backSegment/defaultHistory (in this case the
  // root of the app) because even though it is the root of a hierarchy, it's
  // still a normal page.
  backSegment: '',

  // ...but the hierarchy could also start deeper in the app
  backSement: 'some/path/'
})

// This is the 1st "param-aware" layer of the hierarchy
@IonicPage({
  name: 'Kingdom',

  // We declare that this is part of the same hierarchy.
  hierarchyRoot: 'taxonomy',

  // We declare a parent so the system knows to build a URL param at this level.
  // Parent and root are the same because this is the shallowest level.
  hierarchyParent: 'taxonomy'

  // Note: we can't have a backSegment/defaultHistory here because that would
  // conflict with the hierarchyParent...should probably throw an error
})

// 2nd layer
@IonicPage({
  name: 'Phylum',
  hierarchyRoot: 'taxonomy',

  // I'm not sure about casing issues here. Is it smart enough to equate the
  // capitalized name 'Kingdom' to 'kingdom', or do we need another property?
  hierarchyParent: 'kingdom'
})

// 3rd layer
@IonicPage({
  name: 'Class',
  hierarchyRoot: 'taxonomy',
  hierarchyParent: 'phylum'
})

// etc.

The above would be smart enough to build a param hierarchy like:
example.com/taxonomy/:kingdomId/:phylumId/:classId/
Which would result in a URL like:
example.com/taxonomy/animalia/chordata/mammalia/

And maybe the above is overthinking it and you could do something like this:
@IonicPage({
  name: 'Class',
  segment: 'taxonomy/:kingdom|kingdomId/:phylum|phylumId/:class|classId'
  backSegment: 'taxonomy/:kingdom|kingdomId/:phylum|phylumId'
})

The parser would see the : and would grab kingdom|kingdomId as a param. But then it would see the | and understand that kingdom is a page and kingdomId is a param of that page, while also knowing not to build the word kingdom into the URL as a segment.


Fix Tooltip Position

Tooltip selector selects 'body'. It should selects chart.selector() instead

thanks, I'll merge it now. I will make another release with this in the near future. I'm currently relocating so I'll do it when I get a chance


Server getting registered with null-ls even when I don't configure it

I only want NVIM to set up LSP for servers I explicitly mention in the config. I have the following lazy.nvim configuration currently:
  {
    "null-ls.nvim",
    dependencies = {
      "typescript.nvim",
    },
    opts = function(_, opts)
      local nls = require("null-ls")

      return vim.tbl_deep_extend("force", opts, {
        sources = {
          nls.builtins.code_actions.eslint_d,
          nls.builtins.code_actions.shellcheck,
          require("typescript.extensions.null-ls.code-actions"),

          nls.builtins.diagnostics.alex,
          nls.builtins.diagnostics.cmake_lint,
          -- nls.builtins.diagnostics.markdownlint,
          nls.builtins.diagnostics.ruff.with({ extra_args = { "--line-length", 79 } }),
          nls.builtins.diagnostics.yamllint.with({
            extra_args = {
              "-d",
              "{extends: default, rules: {document-start: {present: false}, line-length: {max: 79}}}",
            },
          }),
        },
      })
    end,
  },
  {
    "williamboman/mason-lspconfig.nvim",
    dependencies = { "mason.nvim" },
    opts = {
      automatic_installation = true,
    },
  },
  {
    "jose-elias-alvarez/null-ls.nvim",
    keys = {
      { "<leader>cn", "<cmd>NullLsInfo<cr>", desc = "Null LS Info" },
    },
  },

I have seen this issue with markdownlint where it shows up in the diagnostics even if I comment it in the config. How do I fix this behaviour?

Apologies, wrong repo.


[BUG] Unable to control CH17 on XAIR18

Companion: 2.4.2 (2.4.2+4911-v2-4.2-fcb5a863)
Windows 10
Behringer XAir18
There is not possible to select channel 17 and control any function. There is strict limit that you can choice any channel between 1-16. I made check, that I have correct module "Behringer/Midas XAIR18".

Thx, I solved my issue. :-P


Adds Metropolis and MH samplers with tests.

This PR implements Metropolis and Metropolis-Hastings samplers in the Bayes-Kit framework, and incorporates a couple drive-bys that PyLance thought were necessary. (Rude of me, sorry.)
Major issues for discussion:
The major contributions requiring attention are bayes_kit/metropolis.py (which implements the 2--well, 1.5--samplers), test/test_metropolis.py with the corresponding tests, and test/models/skew_normal.py which implements a standard skew-normal model for testing (essentially a pass-through to the scipy implementation).

Main implementation:

Functionality: I expect the only part of this that will really be reused is the acceptance-condition tests, which I've here implemented in two independent functions. These don't care about the actual current/proposed parameter values, just the log probabilities--caller can be responsible for that.
Style:

Docstrings pending a final decision about format--will add when we have a model
I favor semantic natural-language names, including chunking long equations into conceptual units, to reinforce intuition and improve accessibility; e.g. lp_proposal and lp_current instead of lp_theta_star and lp_theta in the definition of metropolis_hastings_accept_test. This also extends to composing several smaller function calls that could also be inlined (e.g. sample being calls to a proposal function and an accept function, to stress the logical flow). I hope the expository value outweighs the loss of brevity. (I have consistently used "theta" to refer to parameter draws, though, since that seems to be used throughout, as well as the lp_ prefix.)
Similarly, I've commented the log-driven operation demotion in the acceptance functions--I acknowledge it won't be needed for most people reading the code, but I'm hoping it'll be helpful for the occasional reader who's struggling.
But open to changing that if we want to be terse.
Also let me know if I'm not using terminology correctly.

Substance: So I'd prefer to avoid having the 90%-cut-and-paste Metropolis and MetropolisHastings classes. We had wanted to avoid incurring either a needless function call or a needless conditional check with every sample; but I realized this can be avoided if we just choose an appropriate acceptance test function in the constructor. Thoughts? There might be a tiny bit of loss of readability, but I think improved maintenance and highlighting the similarity of the methods is probably worth it.

Tests:

Some examples of mocking a call to random while testing the acceptance-test functions.
I think I covered the various logical cases for the acceptance functions. Did I do enough to challenge the MH acceptance test?
Stochastic failures:

So, I know these are not efficient samplers. I expect this is why I'm seeing frequent failures in the model-driven tests. Things seem pretty stable if I bump the iterations up to the 5-10k level for std-normal (and to around 50k for skew-normal), but this becomes real slow to run. Is this within the expected bounds? Can we step through the principled calculations for how high to set the tolerances on these? Or do I have some errors in my implementation/test?

Added tests to confirm that both classes yield reproducible results when appropriately seeded (and that the same conditions yield different results with different seeds).
If we agree to go with the combined version, I'll convert it so that's the target of the tests.

Skew-Normal model:

This is a pretty close copy-change off the other models
Log density gradient is not implemented (the scipy skewnorm implementation doesn't expose it and I'm not sure how to compute from first principles for this case)
There's a little rigamarole in the posterior_mean and posterior_variance functions because the Scipy calls return a bare float under the default loc (of 0), but will return an ndarray if the loc is one. LMK if we have a preferred way of handling this (I think I'm still assuming theta is technically a vector.)

Minor changes

In bayes_kit/rhat, changed the type reference imports to make PyLance happy
In test/test_mala.py, incorporated an additional section in the reproducibility test to verify that the results do differ if the seed changes.
In test/models/beta_binomial.py updated the parameter names for the base model. (I was getting some kind of error that the Protocol was not correctly implemented because the function parameter names did not match what was declared in the protocol--not sure if this is just PyLance being weird or what.)

Am I correct that this makes bayes_kit/rwm.py and tests/test_rwm.py no longer necessary?
On the main "substance" point, could you sketch out or put in a gist somewhere how you think this code would look? Ideally, I can imagine something like
class MetropolisHastings:
    ....

# complete code of metropolis is as follows
class Metropolis(MetropolisHastings):
    def __init__(self, ...):
          super().__init__(...)
          self.test_proposal = metropolis_proposal_test

(or have them both have a common private base class, if the direct inheritance is objectionable)
This to me would be more than acceptable, but as I've written it here would require some re-thinking of the argument structure to the tests etc
Re: testing, we may want to come up with "time budgets" for each test. Currently test_rmw.py performs 10k iterations for std_normal, which seems to be fairly solid in terms of stochastic failures.
Finally, do you mind formatting the changes with black?

Am I correct that this makes bayes_kit/rwm.py and tests/test_rwm.py no longer necessary?

It seems to me that all the functionality of rwm.py is incorporated, but I don't rule out the possibility that there's some other reason you want to keep them?

Finally, do you mind formatting the changes with black?

Done.

On the main "substance" point, could you sketch out or put in a gist somewhere how you think this code would look?

I was referring to the MetropolisHastingsCombo class in the present bayes_kit/metropolis.py (which would obviously be renamed, I just needed to distinguish the redundant implementation for now). I don't see a strong need to set up a formal inheritance relationship, but as you say it would be pretty trivial along the lines of what you suggested.
I'll point up the details in inline commentary.

Ah, it seems I did not scroll down far enough.
Personally, I would prefer that the user-facing API still present itself as two classes, one called Metropolis and one called MetropolisHastings. If those classes have some code sharing that is great, but I don't think calling MetropolisHastings with correction=None is ergonomic for someone wanting a Metropolis sampler, and it opens up a whole can of worms in terms of input checking ("What do you mean I forgot an argument and now my sampler is actually a different algorithm?")

Re testing: The fact that the latest commit introduced a bug in MH which is causing the skew normal test to estimate an answer of ~24 when the true answer is 0.77 suggests to me that we can increase the absolute tolerance above 0.1 and still catch bugs.
(The bug seems to be a swapping of the forward/reverse directions in the acceptance criteria compared to the previous code)

Codecov Report

Merging #17 (42da680) into main (fbb71e7) will increase coverage by 2.08%.
The diff coverage is 96.96%.

@@            Coverage Diff             @@
##             main      #17      +/-   ##
==========================================
+ Coverage   92.20%   94.28%   +2.08%
==========================================
  Files           9       10       +1
  Lines         218      280      +62
==========================================
+ Hits          201      264      +63
+ Misses         17       16       -1

Impacted Files
Coverage Δ

bayes_kit/metropolis.py
94.54% <94.54%> (ø)

bayes_kit/hmc.py
94.73% <100.00%> (+0.45%)
:arrow_up:

bayes_kit/mala.py
93.54% <100.00%> (+1.24%)
:arrow_up:

bayes_kit/model_types.py
100.00% <100.00%> (+28.57%)
:arrow_up:

bayes_kit/rhat.py
100.00% <100.00%> (ø)

bayes_kit/rwm.py
91.66% <100.00%> (+0.75%)
:arrow_up:

bayes_kit/smc.py
95.55% <100.00%> (ø)

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

Re testing: The fact that the latest commit introduced a bug in MH which is causing the skew normal test to estimate an answer of ~24 when the true answer is 0.77 suggests to me that we can increase the absolute tolerance above 0.1 and still catch bugs.

Yeah, still zeroing in on the right tolerances here. I do note that scipy.stats.skewnorm.var(4) is 0.4, so maybe looking for tolerance of 0.1 is a bit tight :)
I'll fuss with that some more tomorrow, but assuming I can get the right tolerances so the tests don't have stochastic failures I think this is ready to be considered for real.

I'm a bit weary of fixing random seeds in general, but I think it is acceptable for something like the skew normal test. I think we should add a comment to the effect of "Note: We don't generally want to fix tests seeds but are making an exception for this algorithm because..."
We previously didn't have many issues with failures from the Metropolis tests on the StdNormal model, is the fixed seed just to allow us to lower the number of iterations?

I'm a bit weary of fixing random seeds in general, but I think it is acceptable for something like the skew normal test. I think we should add a comment to the effect of "Note: We don't generally want to fix tests seeds but are making an exception for this algorithm because..."

Sure, happy to add a note. I'm viewing this as a trade-off: fixed seeds mean we can run the same integration test with many fewer iterations and tighter tolerances, while still catching major bugs. (Modulo the ones that would always come out in the wash.)

We previously didn't have many issues with failures from the Metropolis tests on the StdNormal model, is the fixed seed just to allow us to lower the number of iterations?

Exactly. I was seeing failures on the order of 1 in 25ish (?) runs, which doesn't seem like it indicates an actual error, but does seem likely to be an annoyance. I could up the tolerances or number of iterations, but that's taking the batteries out of the smoke alarm just as much as fixing the seed is--I figured it would be both more efficient and more diagnostic to fix the seed and enable using tighter tolerances and fewer iterations.

Sounds good to me. I personally think this is in a good enough place to merge, I just wanted to ask how many of the various TODOs would you like to do now versus coming back to them? Particularly things like error checking in the constructor

I could up the tolerances or number of iterations, but that's taking the batteries out of the smoke alarm just as much as fixing the seed is--I figured it would be both more efficient and more diagnostic to fix the seed and enable using tighter tolerances and fewer iterations.

This is the fundamental tension in stochastic testing!  And in hypothesis testing in general where you need to make a binary decision.  It's always a sensitivity/specificity tradeoff.

I think we should put error checking in the constructors into the code.  I'd like to start encapsulating tests so that they can be re-used as a lot of our samplers are going to do the same thing, like checking if a value is an integer and is non-negative and throwing an exception if it's not.  But I'm not sure how to deal with formatting as we don't want to eagerly format an error message.  Do either of you know when formatted strings like f"{a=}" gets executed?  Specifically, could I do something like this:
def validate_non_neg(x, fun):
    if not x >= 0: raise ValueError(msg)

def foo(x):
    validate_non_neg(x, "x: f"{foo() requires x >= 0, found {x=}")

What I'm hoping is that the format string only gets executed if it's used in validate_non_neg.  All I can find online is "at runtime," which is obvious.  But will it evaluate on call or on use?
If this isn't lazy, we'll have to go with the older formatting style.

All arguments are fully evaluated before the function call. This would also be true if you used % formatting or what have you. What you'd probably want to do in this situation is pass the name of the caller and the name of the variable and then let the check function produce the message as-needed.
Jeff and I just talked about this offline, but it's not clear for these simple samplers how much validation is needed in the constructor. In particular, we call dims and log_density both right away, so if you model doesn't have those it will raise a type error (without us needing to explicitly check/raise ourselves).

it's not clear for these simple samplers how much validation is needed in the constructor. In particular, we call dims and log_density both right away, so if you model doesn't have those it will raise a type error (without us needing to explicitly check/raise ourselves).

The problem I have with delegated calls failing is that the error messages are confusing to the API user.
It looks like NumPy checks its arguments and I'd like to follow that practice.  One case where I may be OK with delegated failures is when accessing a member variable that doesn't exist.

All arguments are fully evaluated before the function call. This would also be true if you used % formatting or what have you.

OK.  I suspected as much but couldn't find doc or how to evaluate.
I can just do this then:
def validate_non_neg(x, fun_name, var_name):
     if not x >= 0:
         raise ValueError("in call to function {0}(...), variable {1} must be positive, but found {2}.".format(fun_name, var_name, x))

That will presumably not evaluate the formatted string unless x < 0 or x is NaN.
And then run
>>> validate_non_neg(1, "foo", "x")

>>> validate_non_neg(-1, "foo", "x")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in validate_non_neg
ValueError: in call to function foo(...), variable x must be positive, but found -1.

I love writing this kind of validation code and don't mind doing it.   I'll start by moving validations into a file called validate_args or something like that.

That will presumably not evaluate the formatted string unless x < 0 or x is NaN.

That is true, but neither would and f-string there, so you should probably prefer to use that.
On more general validation, I think checking our own preconditions, like that a number of steps is positive, is good. I'm less keen to do things like check that the return value of proposal_rng() is something castable to a float, since numpy is going to do that for us and there's no need to check it twice.
That said, anything we can check in the constructor is pretty cheap and I won't complain too much. Checking things in the hot loop (especially if the code will naturally fail) less so

I think checking our own preconditions, like that a number of steps is positive, is good. I'm less keen to do things like check that the return value of proposal_rng() ...

Checking things in the hot loop (especially if the code will naturally fail) less so

Absolutely.   We only check the top-level API calls by clients that we do not control.  So we don't do error checking on internal functions, inside loops, etc.  If we happen to have an external API function foo() that we also call inside a loop we control, then what I've always done is define a non-checked variant _foo() that gets called by the client-facing foo().
def foo(...):
    validate_args(...)
    _foo(...)

def _foo(...):
    # no error check ...
    ... do the work ...

I'm less certain in an interpreted language like Python where there's not aggressive compiler inlining.


[tool_crash] FileSystemException: Cannot open file, OS Error: No such file or directory, errno = 2

Command
flutter --no-color --no-version-check precache

Steps to Reproduce

...
...
...

Logs
FileSystemException: Cannot open file, OS Error: No such file or directory, errno = 2
#0      _File.throwIfError (dart:io/file_impl.dart:635:7)
#1      _File.openSync (dart:io/file_impl.dart:479:5)
#2      ForwardingFile.openSync (package:file/src/forwarding/forwarding_file.dart:71:16)
#3      ErrorHandlingFile.copySync.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:308:22)
#4      _runSync (package:flutter_tools/src/base/error_handling_io.dart:573:14)
#5      ErrorHandlingFile.copySync (package:flutter_tools/src/base/error_handling_io.dart:307:5)
#6      FlutterWebSdk.updateInner (package:flutter_tools/src/flutter_cache.dart:201:16)
<asynchronous suspension>
#7      CachedArtifact.update (package:flutter_tools/src/cache.dart:677:5)
<asynchronous suspension>
#8      Cache.updateAll (package:flutter_tools/src/cache.dart:546:9)
<asynchronous suspension>
#9      PrecacheCommand.runCommand (package:flutter_tools/src/commands/precache.dart:169:7)
<asynchronous suspension>
#10     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1043:27)
<asynchronous suspension>
#11     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#12     CommandRunner.runCommand (package:args/command_runner.dart:196:13)
<asynchronous suspension>
#13     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)
<asynchronous suspension>
#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#15     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:232:5)

[✓] Flutter (Channel stable, 2.2.3, on Linux, locale en_NG.UTF-8)
    • Flutter version 2.2.3 at /home/codelawd/snap/flutter/common/flutter
    • Framework revision f4abaa0735 (8 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/codelawd/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/codelawd/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+0-b944-P17168821)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /home/codelawd/android-studio
    • Flutter plugin version 58.0.1
    • Dart plugin version 202.8531
    • Java version OpenJDK Runtime Environment (build 11.0.8+0-b944-P17168821)

[✓] Connected device (2 available)
    • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Chrome (web)                • chrome        • web-javascript • Google Chrome 91.0.4472.164

• No issues found!

Flutter Application Metadata
No pubspec in working directory.

Closing this as duplicate of https://github.com/flutter/flutter/issues/68958


bug(form-field): hide/show button of password input is not working in the example in the doc

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
17
Description
In the example of Form field with prefix & suffix, the hide/show button inside password input field is not working.
Reproduction
The example includes StackBlitz link.
Expected Behavior
It should hide/show password of the input field whenever click the button.
Actual Behavior
By default, password is hidden. And I can see password by first click.
Next time, button clicking is not working, and it doesn't hide password in the input field.
Environment

Angular: 18.0.5
CDK/Material: 18.0.5
Browser(s): Chrome 126.0.6478.127
Operating System (e.g. Windows, macOS, Ubuntu): Windows

this.hide.set(!this.hide) should be this.hide.set(!this.hide())

Can this be assigned to me please?

Sure, will do

How can I assign this issue to you?

I see it has been fixed today at 12:37 👍

But I still see the issue in the doc. Wasn't it deployed yet?

yea it is on 18.1.x

Fixed in #29354.


style(BnListbox): add style when is navigated by keyboard

Context

Banano is a component library for use in our projects
We made a listbox component with its basics interactions, but when you navigate It with arrows, It does not shows any feedback of what is happening.

Changes

A ui:active selector has been added to the listbox styles to be activated when headless-ui calificates a option as active.
Also I added a PR template for futures PRs.

 En Listbox, al navegar con las flechas del teclado no hay cambio de estilo que indique en que opción está parado


Consolidate Tx Preparation for all program types

Given improvements to DX for predicates and scripts:

#1458
#1457

We will then have a similar DX flow regarding transaction preparation across all program types. However we should then look to DRY both our source code and documentation where possible, to provide a consistent approach to transaction preparation regardless of program type, rather than being specific to it.

Closing in favor of:

https://github.com/FuelLabs/fuels-ts/issues/1457


Move from headless-ui to melt-ui

We've used the svelte-headlessui package for some components. This was before we found melt-ui.
There are multiple reasons to remove svelte-headlessui:

svelte-headlessui is not updated anymore
svelte-headlessui causes some warnings
melt-ui is more idiomatic for svelte

Components that still use headless-ui:

https://github.com/YoungVision-eV/website/blob/029b6f5abef7844c9b17760054cfcdcb9fa3405f/src/components/support-us/Disclosure.svelte#L3
https://github.com/YoungVision-eV/website/blob/029b6f5abef7844c9b17760054cfcdcb9fa3405f/src/components/support-us/DonationMethodTabs.svelte#L3

One more reason: it does not work with svelte 5: #441


fix(ci): release fix

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

Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


Fixes #82; Update DeveloperGuide.md

Codecov Report

Merging #84 (e7c51e9) into master (3ab8040) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #84   +/-   ##
=========================================
  Coverage     69.52%   69.52%
  Complexity      495      495
=========================================
  Files            87       87
  Lines          1572     1572
  Branches        191      191
=========================================
  Hits           1093     1093
  Misses          402      402
  Partials         77       77

Continue to review full report at Codecov.

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


provide an option to specify that the cli is being used in a non-interactive session

I frequently use the bx cli in scripts that don't have a human to interact with them.  Occasionally, the sdk prompts for input which requires messy code to handle this interaction programatically.
An example prompt:
! bx login --apikey @'/mydir/myapikey.json'

Results in:
API endpoint: https://api.ng.bluemix.net
Authenticating...
OK
...
A new version of Bluemix CLI is available. Do you want to update? (yes/no) [yes]>

It would be great if I could tell the cli that I don't want these prompts.  Here is one example from debian telling the cli that it shouldn't prompt for user input:
DEBIAN_FRONTEND=noninteractive apt-get ...

I think in terms of updating the bx cli, the default response should be 'no' in noninteractive mode.

It looks as though I can avoid the update prompt by running:
bx config --check-version false


[Question] LICENSE

@Kwoth,
I would like to use majority of your code to build up my bot, my question is what licensing do I need to add to my application to keep everyone happy 😃
Or is free for all and no credits required because I will be happy to add credits to NadekoBot

https://github.com/Kwoth/NadekoBot/blob/1.9/license.md


Update to simple-arm v2

[ ] styleCheck passes
[ ] unit tests pass
[ ] integration tests pass
[ ] manual tests pass
[ ] API docs updated

This build looks good.


Photos don't show in threads

eg https://bsky.link/?show_thread=t&url=https://staging.bsky.app/profile/mikamckinnon.bsky.social/post/3jvebdce5cu2i

fixed by https://github.com/capjamesg/bsky.link/pull/8

I'm closing this issue as #8 has been deployed.


read: improved UnexpectedEof errors

Stores a (hopefully) unique ReaderOffsetId in the error, which can be converted back to a section+offset for display.
This can be expanded to more error variants as needed.
The ReaderOffsetId is a little hacky: for slices it is a cast of the pointer to a u64, but this is only unique if the slice is backed by its own memory allocation. I think this is good enough though? To do better I think we need to add a unique id field to every base reader (but which is preserved by clones), and I'd prefer not to do that just for this. Users can define their own reader which does this if required.

Coverage increased (+0.5%) to 86.79% when pulling 736c202a1a0d748c95ded0f62c7ccef0803e06a6 on philipc:error-loc into f405adae0b78bc2755f8bbf146e86a1a692fc05f on gimli-rs:master.


fix: Switched unselected item color according to theme

What

This PR includes fix of Unselected Item Color in the bottom Tab Bar

Screenshot
https://user-images.githubusercontent.com/55257452/161543275-f9d3a7ad-5759-4fc6-b252-9513a51ee34b.mov
Fixes bug(s)

#1481

Codecov Report

Merging #1493 (16f4a50) into develop (e7fe8c8) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           develop   #1493      +/-   ##
==========================================
- Coverage     9.07%   9.07%   -0.01%
==========================================
  Files          158     158
  Lines         6415    6416       +1
==========================================
  Hits           582     582
- Misses        5833    5834       +1

Impacted Files
Coverage Δ

packages/smooth_app/lib/pages/page_manager.dart
2.43% <0.00%> (-0.07%)
:arrow_down:

Continue to review full report at Codecov.

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


Users can see a breakdown of HyperLinks

References #22
Description
Extension reports if there are hyperlinks embedded in the email
Definition of done:

[x] user can see the number of hyperlinks present in the email
[x] Users can see what text is part of a hyperlink
[x] Users can view a description of why the hyperlink factors into the report

Hyperlinks are fully implemented minus how they factor into the score
[t:65]


Added Lua course

What does this PR do?
Add resource
For resources
Description
A YouTube Playlist for beginners
Why is this valuable (or not)?
This provides a simple explanation for beginners of Lua which is used in game development
How do we know it's really free?
Available on a YouTube playlist
For book lists, is it a book? For course lists, is it a course? etc.
A course for beginners.
Checklist:

[ X] Read our contributing guidelines.
[ X] Search for duplicates.
[X ] Include author(s) and platform where appropriate.
[X ] Put lists in alphabetical order, correct spacing.
[X ] Add needed indications (PDF, access notes, under construction).
[ X] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Two workflows await approval.

Two workflows await approval.

I’ve had some questions about that, is that something I have to do manually or is it automatically done?

Workflow approval is a manual process, crucial to prevent misuse. First-time contributors need approval by default. Get more details here: Link.

Workflow approval is a manual process, crucial to prevent misuse. First-time contributors need approval by default. Get more details here: Link.

Thank you for the info, Since I am a first time contributor I presume I wait till I am approved to run the workflow checks?

You should manage GitHub Actions settings for a repository.
Follow this link for guidance: Link.

You should manage GitHub Actions settings for a repository.
Follow this link for guidance: Link.

Thanks for the link, I’ve looked at a couple different pages as well but none of the settings under action hasn’t worked. If I’m missing something, any info would be great.

You should manage GitHub Actions settings for a repository.
Follow this link for guidance: Link.

Thanks for the link, I’ve looked at a couple different pages as well but none of the settings under action hasn’t worked. If I’m missing something, any info would be great.

You can manage GitHub Actions settings for a repository by following the above link. If it doesn't work, go to your forked repository in your GitHub profile, select Settings, navigate to Code and Automation, choose Actions, then select General. At the top, you'll find Actions Permissions, select "Allow all actions and reusable workflows." That should do the trick!

You should manage GitHub Actions settings for a repository.
Follow this link for guidance: Link.

Thanks for the link, I’ve looked at a couple different pages as well but none of the settings under action hasn’t worked. If I’m missing something, any info would be great.

You can manage GitHub Actions settings for a repository by following the above link. If it doesn't work, go to your forked repository in your GitHub profile, select Settings, navigate to Code and Automation, choose Actions, then select General. At the top, you'll find Actions Permissions, select "Allow all actions and reusable workflows." That should do the trick!

I currently have the "allow all actions and resuable workflows" but still nothing, Im thinking to close this PR and retry, Maybe this is bugged or something. All the other settings should be fine as well so im quite lost. Thank you for all the help

yes, first time submitters need approval to run actions. You can thank bitcoin minors for that necessity. @sohansai can you confirm that you don't have ability to approve?
@Calvinfred123 once this PR gets merged, actions will run automatically.
Thanks, and welcome to free-programming-books!

Hi @eshellman, just to clarify, I don't have the ability to approve.

@sohansai have added the label 'needs approval' so you can highlight these PRs for me.


[FormHelperText] Fix unable to create new variants

[x] I have followed (at least) the PR section of the contributing guide.

Fixes #33564

Thank you so much for helping @ZeeshanTamboli 👍


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit b4d6f33:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch 4d48eab7-0a8f-4da3-9fe9-5d34b0434602 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Blocking is not disabled when cooldown starts (and other blocking issues)

If you take a hit while blocking with swords and axes, the block cooldown begins, but the weapon continues blocking so long as you continue holding the block button (unlike when hit by an axe, where you immediately stop blocking).
This means you can just shield hug for as long as you like with weapons that can block, and only have to worry about the cooldown once you release it. I'm not sure if this is intentional behavior or not.
Additionally, neither Battle Axes or War Axes disable shields at all, despite both being called axes. (unless they do in a pvp environment, but mobs definitely don't disable shields if they are holding these weapons, even though the vanilla axes will). This feels less intentional because it looks like there's configs referencing the battle axes and war axes and shield cooldowns.

do you have discord? Globox_Z #1024

i do have discord, sent a request

Fixed with https://github.com/Globox1997/MedievalWeapons/commit/496149c5b6822d3b9b39b22351d159723b5467ae

@Globox1997 I need to talk to you thru discord


Cleanup

It's really difficult to work out what's going on in these terse logical statements. This particular piece of logic is redundant: key is only truthy as a result of having been extracted from from data.attrs.key on line 247 anyway.

Closing for now. Please open a new issue or PR if you want this to be fixed/added/implemented.


Microsoft Azure Storage Explorer for Windows

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.23.1
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20220406.1
Platform
Windows
OS Version
Windows 10 21H2 Build 19044.2788
Bug Description
Unable to retrieve child resources.
Details:
{
"name": "FetchError",
"message": "request to https://oraustagstorac.file.core.windows.net/?comp=list failed, reason: self signed certificate in certificate chain",
"stack": "FetchError: request to https://oraustagstorac.file.core.windows.net/?comp=list failed, reason: self signed certificate in certificate chain\n    at ClientRequest. (C:\Users\johnsoch\AppData\Local\Programs\Microsoft Azure Storage Explorer\resources\app\node_modules\se-file-extension\dist\src\index.js:2:107389)\n    at ClientRequest.emit (node:events:394:28)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:394:28)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
"type": "system",
"errno": "SELF_SIGNED_CERT_IN_CHAIN",
"code": "SELF_SIGNED_CERT_IN_CHAIN"
}
Steps to Reproduce

Launch Storage Explorer
open storage account
open file shares

Actual Experience
I get a pop up which has this message:
Unable to retrieve child resources.
Details:
{
"name": "FetchError",
"message": "request to https://oraustagstorac.file.core.windows.net/?comp=list failed, reason: self signed certificate in certificate chain",
"stack": "FetchError: request to https://oraustagstorac.file.core.windows.net/?comp=list failed, reason: self signed certificate in certificate chain\n    at ClientRequest. (C:\Users\johnsoch\AppData\Local\Programs\Microsoft Azure Storage Explorer\resources\app\node_modules\se-file-extension\dist\src\index.js:2:107389)\n    at ClientRequest.emit (node:events:394:28)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:394:28)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
"type": "system",
"errno": "SELF_SIGNED_CERT_IN_CHAIN",
"code": "SELF_SIGNED_CERT_IN_CHAIN"
}
Expected Experience
I should get a list of the file shares for this account.
Additional Context
No response

Same issue here. Generated using OpenSSL (3.1.0), running Azurite (latest container image) in docker and connecting with Azure Storage Explorer (1.28.0) following the docs.
Linked:

https://github.com/Azure/Azurite/issues/1073
https://github.com/microsoft/AzureStorageExplorer/issues/2859

@stannynuytkens Your issue is different from the one in the original post. If you are using certs generated from done dev-certs, we will be tracking the work to support it in your linked issue. If you need other kinds of help on your issue, please open a new one.
@charleywjohnson Are you using a proxy. Please follow the steps in this article to understand the error and see if you can mitigate it. https://learn.microsoft.com/en-us/azure/storage/common/storage-explorer-troubleshooting?tabs=Windows#ssl-certificate-issues

Closing due to lack of response. Please try the steps we suggested and open a new issue if you still have this problem.


update to use the refactored api from package:cli_config

The next version (as yet unpublished) of package:cli_config has a breaking api change:
https://github.com/dart-lang/tools/pull/246
Once that's published, we should update this package for the change, then roll both packages into the sdk in one commit. Currently, trying to roll in dart-lang/tools w/o an updated dart-lang/native commit gives:
output: ../../third_party/pkg/native/pkgs/native_assets_cli/lib/src/model/build_config.dart:296:33: Error: Member not found: 'Config.fromArgs'.
    final config = await Config.fromArgs(
                                ^^^^^^^^

fixed in https://github.com/dart-lang/sdk/commit/6270a4646900b9329a92d7019502c000371a7331


Sorting in SEARCH by TFIDF or BM25 in combination with LIMIT no longer works correctly

My Environment

ArangoDB Version:  3.7.12
Storage Engine: RocksDB
Deployment Mode:  Single Server
Deployment Strategy:  Manual Start
Configuration:
Infrastructure:   own Datacenter, Server over VMWare Cloud
Operating System:  Ubuntu 18.04.5 LTS
Total RAM in your machine: 60 GB
Disks in use:  virtual Disk (NAS)
Used Package:  Ubuntu

Component, Query & Data
Affected feature: Server

Size of your Dataset on disk: 6.2 GB

Problem
When sorting a view only by TFIDF or BM25 in combination with the LIMIT command, some rows are simply not displayed. If I additionally sort by some fantasy field it works again.
AQL query (if applicable):
Simplified:
Does not work (only a few results):
FOR doc IN viewName
  SEARCH ...
  SORT BM25(doc) DESC
  LIMIT 40
  RETURN doc

Works (40 results and all correctly sorted):
FOR doc IN viewName
  SEARCH ...
  SORT doc.irgendeinfeldname, BM25(doc) DESC
  LIMIT 40
  RETURN doc

If I leave out the additional sorting by "doc.anyfieldname", the FullCount tells me that 763 elements were found, but it is not interested in the limit and only 27 are really displayed. But "doc.anyfieldname" is a field that does not exist in the collection.
The search was performed for a term that occurred very often, so the result very often has the same score.
I first noticed the error with version 3.7.12.
Real example:
Search term: query = "Windows 11
LET queries = TOKENS(@query, 'text_de') FOR doc IN con_create
SEARCH ANALYZER( doc.title IN queries , 'text_de') AND
doc.art IN ['tutorial','report','tip','info','imho'] AND
doc.status=='ok' LET score = TFIDF(doc)
SORT doc.blabla DESC, score DESC
LIMIT 40
RETURN {title: doc.title, score: score}

Result: 40 articles
Windows 10: Spartan Rendering Engine im Internet Explorer 11 aktivieren | 17.690162658691406
Windows 11 steht im Insider Preview bereit | 17.428010940551758
Nokia 4.2 u. Android 11 - WLAN Automatische Verbindung defekt | 15.535337448120117
IOS 11 und macOS 10.13: Apple zwingt zu neuem Authentifizierungsverfahren | 14.322734832763672
Windows Datenträgerverwaltung buggy! (Windows Vista bis Windows 10) | 14.114057540893555
Apple Special Event vom 10.09.2019: Arcade, TV+, iPad und iPadOS, Watch und iPhone 11 | 14.060583114624023
Exchange Server 2016 Probleme auf Server 2016 mit iOS 11 Mailapp | 14.060583114624023
Infos zu Patchday-Problemen und CCleaner (10. u. 11. September 2018) | 14.060583114624023
...

If I leave out the "doc.blabla DESC," then I only ..
LET queries = TOKENS(@query, 'text_de') FOR doc IN con_create
SEARCH ANALYZER( doc.title IN queries , 'text_de') AND
doc.art IN ['tutorial','report','tip','info','imho'] AND
doc.status=='ok' LET score = TFIDF(doc)
SORT score DESC
LIMIT 40
RETURN {title: doc.title, score: score}

.. get 27 results and there are missing many articles.
Windows 11 steht im Insider Preview bereit | 17.427152633666992
Nokia 4.2 u. Android 11 - WLAN Automatische Verbindung defekt | 15.534043312072754
Symantec Endpoint Protection 11 - Nach der Installation stoppt der Service SEMSRV immer wieder | 14.321438789367676
Veeam 11 ist verfügbar | 14.05964183807373
Windows Server 2016 Suche funktioniert nicht und ist ausgegraut - Windows Server 2016 Search not work | 13.043990135192871
Windows Server 2K8 u. SMTP-Dienst - ACHTUNG bei Windows-Update KB976323 | 13.043990135192871
Windows XP und Windows 7 parallel in verschiedenen Partitionen installieren, Brenner Probleme | 11.831385612487793
Windows 7 - freigegebener Drucker reagiert nicht aus Anwendung nach Windows Update KB3177725 | 11.831385612487793
Windows 10 Build 10565 akzeptiert Keys von Windows 7, 8 und 8.1 | 11.831385612487793
...

Do I omit the limit completely:
LET queries = TOKENS(@query, 'text_de') FOR doc IN con_create
SEARCH ANALYZER( doc.title IN queries , 'text_de') AND
doc.art IN ['tutorial','report','tip','info','imho'] AND
doc.status=='ok' LET score = TFIDF(doc)
SORT score DESC
RETURN {title: doc.title, score: score}

Are correctly displayed 763 elements
Nokia 4.2 u. Android 11 - WLAN Automatische Verbindung defekt | 15.535677909851074
Windows Datenträgerverwaltung buggy! (Windows Vista bis Windows 10) | 14.114253997802734
Sicherheitsupdates für Exchange Server 11. Mai 2021 | 14.060922622680664
Veeam 11 ist verfügbar | 14.060922622680664
Bluescreen "STOP: 0x000000D1" bei Upgrade Windows Vista auf Windows 7 als VirtualBox Gast | 13.043953895568848
Windows Server 2016 Suche funktioniert nicht und ist ausgegraut - Windows Server 2016 Search not work | 13.043953895568848
Windows Server 2K8 u. SMTP-Dienst - ACHTUNG bei Windows-Update KB976323 | 13.043953895568848
...

No idea where the error is. But the fact is, if I put a fantasy field in front of the sorting, it works again (workaround)
greeting
Frank

Does not work:
Result: 22 elements
LET queries = TOKENS(@query, 'text_de') FOR doc IN con_create
SEARCH ANALYZER( doc.title IN queries , 'text_de') AND
doc.art IN ['tutorial','report','tip','info','imho'] AND
doc.status=='ok' LET score = TFIDF(doc)
SORT score DESC
LIMIT 40
RETURN {title: doc.title, score: score}

Query String (283 chars, cacheable: true):
LET queries = TOKENS(@query, 'text_de') FOR doc IN con_create
SEARCH ANALYZER( doc.title IN queries , 'text_de') AND
doc.art IN ['tutorial','report','tip','info','imho'] AND
doc.status=='ok' LET score = TFIDF(doc)
SORT score DESC
LIMIT 40
RETURN {title: doc.title, score: score}
Execution plan:
Id   NodeType              Est.   Comment
1   SingletonNode            1   * ROOT
3   EnumerateViewNode   270197     - FOR doc IN con_create SEARCH ((doc.art IN [ "imho", "info", "report", "tip", "tutorial" ]) && (doc.status == "ok") && ANALYZER((doc.title IN [ "windows", "11" ]), "text_de")) LET #5 = TFIDF(doc)   /* view query with late materialization /
5   SortNode            270197       - SORT #5 DESC   / sorting strategy: constrained heap /
6   LimitNode               40       - LIMIT 0, 40
9   MaterializeNode         40       - MATERIALIZE doc
7   CalculationNode         40       - LET #3 = { "title" : doc.title, "score" : #5 }   / simple expression */
8   ReturnNode              40       - RETURN #3
Indexes used:
none
Optimization rules applied:
Id   RuleName
1   remove-unnecessary-calculations
2   handle-arangosearch-views
3   remove-unnecessary-calculations-2
4   sort-limit
5   late-document-materialization-arangosearch

Work:
Result: 40 elements
LET queries = TOKENS(@query, 'text_de') FOR doc IN con_create
SEARCH ANALYZER( doc.title IN queries , 'text_de') AND
doc.art IN ['tutorial','report','tip','info','imho'] AND
doc.status=='ok' LET score = TFIDF(doc)
SORT score DESC
LIMIT 40
RETURN {title: doc.title, score: score}

Query String (297 chars, cacheable: true):
LET queries = TOKENS(@query, 'text_de') FOR doc IN con_create
SEARCH ANALYZER( doc.title IN queries , 'text_de') AND
doc.art IN ['tutorial','report','tip','info','imho'] AND
doc.status=='ok' LET score = TFIDF(doc)
SORT doc.blubblub, score DESC
LIMIT 40
RETURN {title: doc.title, score: score}
Execution plan:
Id   NodeType              Est.   Comment
1   SingletonNode            1   * ROOT
3   EnumerateViewNode   270197     - FOR doc IN con_create SEARCH ((doc.art IN [ "imho", "info", "report", "tip", "tutorial" ]) && (doc.status == "ok") && ANALYZER((doc.title IN [ "windows", "11" ]), "text_de")) LET #7 = TFIDF(doc)   /* view query /
5   CalculationNode     270197       - LET #3 = doc.blubblub   / attribute expression /
6   SortNode            270197       - SORT #3 ASC, #7 DESC   / sorting strategy: constrained heap /
7   LimitNode               40       - LIMIT 0, 40
8   CalculationNode         40       - LET #5 = { "title" : doc.title, "score" : #7 }   / simple expression */
9   ReturnNode              40       - RETURN #5
Indexes used:
none
Optimization rules applied:
Id   RuleName
1   move-calculations-up
2   remove-unnecessary-calculations
3   move-calculations-up-2
4   handle-arangosearch-views
5   remove-unnecessary-calculations-2
6   sort-limit

Hi @admtech,
Could you please check whether below query still shows only 22 results when manually disabling the optimizer rule late-document-materialization-arangosearch?
LET queries = TOKENS(@query, 'text_de') FOR doc IN con_create
SEARCH ANALYZER( doc.title IN queries , 'text_de') AND
doc.art IN ['tutorial','report','tip','info','imho'] AND
doc.status=='ok' LET score = TFIDF(doc)
SORT score DESC
LIMIT 40
RETURN {title: doc.title, score: score}

hmm, this is a productive system. Can I turn this on and off without the end users noticing. Do I need to restart ArangoDB after the change? There runs the complete https://administrator.de page.
What is the exact command in the console?
stmt.explain({ optimizer: { rules: [ "-late-document-materialization-arangosearch"] } });

I am still waiting for an answer?

Hi @admtech,
Please note that there are not guaranteed SLA for ArangoDB Community Support.
See https://www.arangodb.com/subscriptions/ for details.
Optimizer rules can either be:

disabled permanently by modifying the server configuration (this requires a server restart) or
disabled per query execution (does not require a server restart)
https://www.arangodb.com/docs/stable/aql/execution-and-performance-optimizer.html#turning-specific-optimizer-rules-off)

In order to run the stmt statement, you first have to create a statement with your query. Replace the query and bindVars parameters accordingly.
Turning off an optimizer rule can be done by prefixing with a -.

Rules that shall be enabled need to be prefixed with a +, rules to be disabled should be prefixed with a -.

Once that is done, you can run:
stmt.explain({ optimizer: { rules: [ "-late-document-materialization-arangosearch"] } });

in order to explain the query with the given disabled optimizer rule.
Similarly, you can execute the query with the disabled optimizer rule:
stmt.execute({ optimizer: { rules: [ "-late-document-materialization-arangosearch"] } });

I am wondering whether the correct result set is returned once optimizer rule late-document-materialization-arangosearch is disabled.

Hi @admtech,
Please note that there are not guaranteed SLA for ArangoDB Community Support.
See https://www.arangodb.com/subscriptions/ for details.

Hi @maxkernbach
I think you are confusing something fundamental here. You are not helping me with my bug, I am helping you to find the bugs so you can fix them. Working out the issue was a lot of work and took my time, so it makes absolutely no sense to counter with SLA now (besides, one of your employees asked me to do that). I thought it is in your interest to fix such basic bugs in your database as soon as possible.
Since this worked fine in the previous version, I don't think I made a mistake.

I am wondering whether the correct result set is returned once optimizer rule late-document-materialization-arangosearch is disabled.

I will try it out tonight. Thanks for the explanation.

So I have now made a few queries via the shell:
Test 1:
arangodb:8529@administrator_core> var stmt = db._createStatement( {"query": "LET queries = TOKENS(\"Windows 11\", 'text_de') FOR doc IN con_create SEARCH ANALYZER( doc.title IN queries , 'text_de') AND doc.art IN ['tutorial','report','tip','info','imho'] AND doc.status=='ok' LET score = TFIDF(doc) SORT score DESC LIMIT 40 RETURN {title: doc.title, score: score}" });
Result:
arangodb:8529@administrator_core> c = stmt.execute();
[object ArangoQueryCursor, count: 38, cached: false, hasMore: true]
[
  {
    "title" : "Microsoft hat Windows 11 offiziell vorgestellt",
    "score" : 18.24855613708496
  },
..

Test 2:
arangodb:8529@administrator_core> var stmt = db._createStatement( {"query": "LET queries = TOKENS('Windows 11', 'text_de') FOR doc IN con_create SEARCH ANALYZER( doc.title IN queries , 'text_de') AND doc.art IN ['tutorial','report','tip','info','imho'] AND doc.status=='ok' LET score = TFIDF(doc) SORT doc.blabla DESC, score DESC LIMIT 40 RETURN {title: doc.title, score: score}" });
Result:
arangodb:8529@administrator_core> c = stmt.execute();
[object ArangoQueryCursor, count: 40, cached: false, hasMore: true]
[
  {
    "title" : "Microsoft hat Windows 11 offiziell vorgestellt",
    "score" : 18.248310089111328
  },
 ...

Interestingly, I now have a different result than before. But still a wrong result (result: 38), without the additional sorting with a non-existing field "doc.blabla DESC" (result: 40).
Now let's put the Optimizer Rule to sleep:
arangodb:8529@administrator_core> stmt.execute({ optimizer: { rules: [ "-late-document-materialization-arangosearch"] } });
[object ArangoQueryCursor, count: 38, cached: false, hasMore: true]
[
  {
    "title" : "Windows 10: Spartan Rendering Engine im Internet Explorer 11 aktivieren",
    "score" : 18.216835021972656
  },
  {
    "title" : "Windows 11 Insider Preview Build 22000.65 available",
    "score" : 18.139537811279297
  },
..

on again now:
arangodb:8529@administrator_core> stmt.execute({ optimizer: { rules: [ "+late-document-materialization-arangosearch"] } });
[object ArangoQueryCursor, count: 39, cached: false, hasMore: true]

[
  {
    "title" : "Windows 10: Spartan Rendering Engine im Internet Explorer 11 aktivieren",
    "score" : 18.217409133911133
  },
  {
    "title" : "Windows 11 Insider Preview Build 22000.65 available",
    "score" : 18.139352798461914
  },
...

Now we have one result more (result 39). When called again, there are 38 results again!?
here the output from the explain:
arangodb:8529@administrator_core> stmt.explain({ optimizer: { rules: [ "-late-document-materialization-arangosearch"] } });
{
  "plan" : {
    "nodes" : [
      {
        "type" : "SingletonNode",
        "dependencies" : [ ],
        "id" : 1,
        "estimatedCost" : 1,
        "estimatedNrItems" : 1
      },
      {
        "type" : "EnumerateViewNode",
        "dependencies" : [
          1
        ],
        "id" : 3,
        "estimatedCost" : 270544,
        "estimatedNrItems" : 270543,
        "database" : "administrator_core",
        "view" : "con_create",
        "viewId" : "986969875",
        "outVariable" : {
          "id" : 1,
          "name" : "doc",
          "isDataFromCollection" : false
        },
        "viewValuesVars" : [ ],
        "condition" : {
          "type" : "n-ary or",
          "typeID" : 63,
          "subNodes" : [
            {
              "type" : "n-ary and",
              "typeID" : 62,
              "subNodes" : [
                {
                  "type" : "compare in",
                  "typeID" : 31,
                  "sorted" : false,
                  "subNodes" : [
                    {
                      "type" : "attribute access",
                      "typeID" : 35,
                      "name" : "art",
                      "subNodes" : [
                        {
                          "type" : "reference",
                          "typeID" : 45,
                          "name" : "doc",
                          "id" : 1
                        }
                      ]
                    },
                    {
                      "type" : "array",
                      "typeID" : 41,
                      "sorted" : true,
                      "subNodes" : [
                        {
                          "type" : "value",
                          "typeID" : 40,
                          "value" : "imho",
                          "vType" : "string",
                          "vTypeID" : 4
                        },
                        {
                          "type" : "value",
                          "typeID" : 40,
                          "value" : "info",
                          "vType" : "string",
                          "vTypeID" : 4
                        },
                        {
                          "type" : "value",
                          "typeID" : 40,
                          "value" : "report",
                          "vType" : "string",
                          "vTypeID" : 4
                        },
                        {
                          "type" : "value",
                          "typeID" : 40,
                          "value" : "tip",
                          "vType" : "string",
                          "vTypeID" : 4
                        },
                        {
                          "type" : "value",
                          "typeID" : 40,
                          "value" : "tutorial",
                          "vType" : "string",
                          "vTypeID" : 4
                        }
                      ]
                    }
                  ]
                },
                {
                  "type" : "compare ==",
                  "typeID" : 25,
                  "excludesNull" : false,
                  "subNodes" : [
                    {
                      "type" : "attribute access",
                      "typeID" : 35,
                      "name" : "status",
                      "subNodes" : [
                        {
                          "type" : "reference",
                          "typeID" : 45,
                          "name" : "doc",
                          "id" : 1
                        }
                      ]
                    },
                    {
                      "type" : "value",
                      "typeID" : 40,
                      "value" : "ok",
                      "vType" : "string",
                      "vTypeID" : 4
                    }
                  ]
                },
                {
                  "type" : "function call",
                  "typeID" : 47,
                  "name" : "ANALYZER",
                  "subNodes" : [
                    {
                      "type" : "array",
                      "typeID" : 41,
                      "sorted" : false,
                      "subNodes" : [
                        {
                          "type" : "compare in",
                          "typeID" : 31,
                          "sorted" : false,
                          "subNodes" : [
                            {
                              "type" : "attribute access",
                              "typeID" : 35,
                              "name" : "title",
                              "subNodes" : [
                                {
                                  "type" : "reference",
                                  "typeID" : 45,
                                  "name" : "doc",
                                  "id" : 1
                                }
                              ]
                            },
                            {
                              "type" : "array",
                              "typeID" : 41,
                              "sorted" : false,
                              "subNodes" : [
                                {
                                  "type" : "value",
                                  "typeID" : 40,
                                  "value" : "windows",
                                  "vType" : "string",
                                  "vTypeID" : 4
                                },
                                {
                                  "type" : "value",
                                  "typeID" : 40,
                                  "value" : "11",
                                  "vType" : "string",
                                  "vTypeID" : 4
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type" : "value",
                          "typeID" : 40,
                          "value" : "text_de",
                          "vType" : "string",
                          "vTypeID" : 4
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        "scorers" : [
          {
            "id" : 6,
            "name" : "5",
            "node" : {
              "type" : "function call",
              "typeID" : 47,
              "name" : "TFIDF",
              "subNodes" : [
                {
                  "type" : "array",
                  "typeID" : 41,
                  "subNodes" : [
                    {
                      "type" : "reference",
                      "typeID" : 45,
                      "name" : "doc",
                      "id" : 1
                    }
                  ]
                }
              ]
            }
          }
        ],
        "shards" : [ ],
        "options" : {
          "waitForSync" : false,
          "conditionOptimization" : "auto",
          "collections" : null
        },
        "volatility" : -1
      },
      {
        "type" : "SortNode",
        "dependencies" : [
          3
        ],
        "id" : 5,
        "estimatedCost" : 5152627.270413454,
        "estimatedNrItems" : 270543,
        "elements" : [
          {
            "inVariable" : {
              "id" : 6,
              "name" : "5",
              "isDataFromCollection" : false
            },
            "ascending" : false
          }
        ],
        "stable" : false,
        "limit" : 40,
        "strategy" : "constrained-heap"
      },
      {
        "type" : "LimitNode",
        "dependencies" : [
          5
        ],
        "id" : 6,
        "estimatedCost" : 5152667.270413454,
        "estimatedNrItems" : 40,
        "offset" : 0,
        "limit" : 40,
        "fullCount" : false
      },
      {
        "type" : "CalculationNode",
        "dependencies" : [
          6
        ],
        "id" : 7,
        "estimatedCost" : 5152707.270413454,
        "estimatedNrItems" : 40,
        "expression" : {
          "type" : "object",
          "typeID" : 42,
          "subNodes" : [
            {
              "type" : "object element",
              "typeID" : 43,
              "name" : "title",
              "subNodes" : [
                {
                  "type" : "attribute access",
                  "typeID" : 35,
                  "name" : "title",
                  "subNodes" : [
                    {
                      "type" : "reference",
                      "typeID" : 45,
                      "name" : "doc",
                      "id" : 1
                    }
                  ]
                }
              ]
            },
            {
              "type" : "object element",
              "typeID" : 43,
              "name" : "score",
              "subNodes" : [
                {
                  "type" : "reference",
                  "typeID" : 45,
                  "name" : "5",
                  "id" : 6
                }
              ]
            }
          ]
        },
        "outVariable" : {
          "id" : 4,
          "name" : "3",
          "isDataFromCollection" : false
        },
        "canThrow" : false,
        "expressionType" : "simple"
      },
      {
        "type" : "ReturnNode",
        "dependencies" : [
          7
        ],
        "id" : 8,
        "estimatedCost" : 5152747.270413454,
        "estimatedNrItems" : 40,
        "inVariable" : {
          "id" : 4,
          "name" : "3",
          "isDataFromCollection" : false
        },
        "count" : true
      }
    ],
    "rules" : [
      "remove-unnecessary-calculations",
      "handle-arangosearch-views",
      "remove-unnecessary-calculations-2",
      "sort-limit"
    ],
    "collections" : [
      {
        "name" : "735675652",
        "type" : "read"
      },
      {
        "name" : "con_create",
        "type" : "read"
      },
      {
        "name" : "content",
        "type" : "read"
      }
    ],
    "variables" : [
      {
        "id" : 6,
        "name" : "5",
        "isDataFromCollection" : false
      },
      {
        "id" : 4,
        "name" : "3",
        "isDataFromCollection" : false
      },
      {
        "id" : 2,
        "name" : "score",
        "isDataFromCollection" : false
      },
      {
        "id" : 1,
        "name" : "doc",
        "isDataFromCollection" : false
      },
      {
        "id" : 0,
        "name" : "queries",
        "isDataFromCollection" : false
      }
    ],
    "estimatedCost" : 5152747.270413454,
    "estimatedNrItems" : 40,
    "isModificationQuery" : false
  },
  "warnings" : [ ],
  "stats" : {
    "rulesExecuted" : 40,
    "rulesSkipped" : 1,
    "plansCreated" : 1
  },
  "cacheable" : true
}

Any other ideas? Were you able to identify the bug? Is there anything else I can do for the ArangoDB team?

So that the question does not arise, that possibly not enough results are available here still another test with limit 100:
arangodb:8529@administrator_core> var stmt = db._createStatement( {"query": "LET queries = TOKENS('Windows 11', 'text_de') FOR doc IN con_create SEARCH ANALYZER( doc.title IN queries , 'text_de') AND doc.art IN ['tutorial','report','tip','info','imho'] AND doc.status=='ok' LET score = TFIDF(doc) SORT score DESC LIMIT 100 RETURN {title: doc.title, score: score}" });
Result:
arangodb:8529@administrator_core> c = stmt.execute();
[object ArangoQueryCursor, count: 97, cached: false, hasMore: true]
[
  {
    "title" : "Windows 10: Spartan Rendering Engine im Internet Explorer 11 aktivieren",
    "score" : 18.218204498291016
  },
  {
    "title" : "Windows 11 Insider Preview Build 22000.65 verfügbar",
    "score" : 18.139446258544922
  },
...

If I take out the filter "AND doc.art IN ['tutorial','report','tip','info','imho']", I get a different result again:
arangodb:8529@administrator_core> var stmt = db._createStatement( {"query": "LET queries = TOKENS('Windows 11', 'text_de') FOR doc IN con_create SEARCH ANALYZER( doc.title IN queries , 'text_de')  AND doc.status=='ok' LET score = TFIDF(doc) SORT score DESC LIMIT 100 RETURN {title: doc.title, score: score}" });
arangodb:8529@administrator_core> c = stmt.execute();
[object ArangoQueryCursor, count: 99, cached: false, hasMore: true]
[
  {
    "title" : "Windows benötigt 11 Minuten zum starten (Windows 7 64bit)",
    "score" : 13.23962116241455
  },
  {
    "title" : "Windows Media Player 11 unter Windows XP funktioniert nicht",
    "score" : 13.23962116241455
  },
...

Here is the correct result with the workaround on sorting (doc.blabla DESC):
arangodb:8529@administrator_core> var stmt = db._createStatement( {"query": "LET queries = TOKENS('Windows 11', 'text_de') FOR doc IN con_create SEARCH ANALYZER( doc.title IN queries , 'text_de')  AND doc.status=='ok' LET score = TFIDF(doc) SORT doc.blabla DESC,score DESC LIMIT 100 RETURN {title: doc.title, score: score}" });
arangodb:8529@administrator_core> c = stmt.execute();
[object ArangoQueryCursor, count: 100, cached: false, hasMore: true]
[
  {
    "title" : "Windows benötigt 11 Minuten zum starten (Windows 7 64bit)",
    "score" : 13.239396095275879
  },
  {
    "title" : "KB929399 Microsoft Windows Media Format 11 SDK for Windows XP kann nicht installiert werden",
    "score" : 13.239396095275879
  },
  {
    "title" : "Windows Media Player 11 unter Windows XP funktioniert nicht",
    "score" : 13.239396095275879
  },
...

As mentioned above, the sorting is always slightly different for the same score. I hope I could help.

Hi @admtech,
Thanks for your reply. We tried to reproduce your issue on a different dataset with an analogous query. However, independent of which sorting mechanism was used, the same result set was returned.
One possible cause of seeing a different result set could be that the indexing of your view "con_create" is broken. Could you try to create a new view using the same properties as view "con_create" and re-run the queries (replacing "con_create" with the newly created view)?
In case the issue is still occurring with a new view, would you able to share a data set which reproduces the problem with the queries you stated? You can send us a message to<EMAIL_ADDRESS>(this ML is not public) and attach the dump in that email. This way we can try to reproduce and find the root cause. Please reference the number of this issue in your email.

I created a new index, but unfortunately the behavior remained the same. I will switch to ArangoDB 3.8 tonight and test it all again.


Add -c option in the blazor server

Pass configuration using MSBuild variable $(Configuration)
Parse command line parameters -c or --configuration to match dotnet command way of defining configuration

See #261

Thanks for the contribution! We think there might be a better way to do this using launch settings. Our preferred solution would be to somehow specify the output directory instead of the configuration. We'll need to investigate to see how feasible this is.
I'm going to go ahead and close this PR as we don't expect to take the currently proposed approach. Let us know though if you're interested in looking into a launch settings based approach.


When using fill: "count" with the group or bin transform, implicitly set color: {zero: true}

When the group or bin transform is used to generate a fill channel with the count reducer, we want the color scale domain to include zero by default. Otherwise the color scale starts at the lowest value, which can make these low values hard to read, and overemphasize the difference in valid.
Without zero:

Plot.plot({
  color: {scheme: "YlGnBu", legend: true},
  marks: [
    Plot.rect(penguins, Plot.groupX({fill: "count"}, {x: "species"}))
  ]
})

With zero:

Plot.plot({
  color: {zero: true, scheme: "YlGnBu", legend: true},
  marks: [
    Plot.rect(penguins, Plot.groupX({fill: "count"}, {x: "species"}))
  ]
})

Is this not the case with any scale, not just color? In other words should we not default y to zero: true for
Plot.dot(penguins, Plot.groupX({ y: "count" }, { x: "species" })).plot()

Good question! Often we don’t think about it because the bar or rect mark requires zero, and the r scale by default includes zero. What do you think? And in any case you should be able to opt-out of this by setting zero: false on the scale.

I think it would make sense to generalize — I've noticed that often, when using a line mark with a bin transform; the y domain then starts at 1 (or whatever the lower count is), and you have to "fix" this by adding a ruleY([0]).


Getting type issues when passing outputs between modules

I'm getting this:
Error: Iteration over non-iterable value
on locals.tf line 3, in locals:
2:   routes = flatten([
3:     for table in var.private_route_table_ids : [
4:       for route in var.route_cidr : {
5:         table = table
6:         route = route
7:       }
8:     ]
9:   ])
|----------------
| var.private_route_table_ids is "["rtb-00xxxxxxxxxxxxxxx","rtb-06yyyyyyyyyyyyyyy","rtb-01zzzzzzzzzzzzzzzz"]"
A value of type string cannot be used as the collection in a 'for' expression.
when var.private_route_table_ids is sent by dependency output.
it takes the list of strings and puts these backslashes which makes it a string.
this worked when using terraform_remote_state and pulling the outputs using TF.
Any way out of this?

Github removed the backslashes, anyhow there are backslashes before each inner quote sign

Github removed the backslashes, anyhow there are backslashes before each inner quote sign

Could you put your code in a fenced code block to make the code more readable, add syntax highlighting, and allow characters like backslashes?

Could you put your code in a fenced code block to make the code more readable, add syntax highlighting, and allow characters like backslashes?

I've just encountered a simpler example of the same issue;
I'm sending an input value which is a list of strings and TF gets it as a string because of the backslashes.
This is from the terragrunt.hcl file:
inputs = {   allowed_cidrs = ["<IP_ADDRESS>/0"] }
And this is the error I get:

  on main.tf line 53, in resource "aws_security_group_rule" "rule":
  53:   cidr_blocks       = var.allowed_cidrs
    |----------------
    | var.allowed_cidrs is "[\"<IP_ADDRESS>/0\"]"

Inappropriate value for attribute "cidr_blocks": list of string required.

I've just encountered a simpler example of the same issue;
I'm sending an input value which is a list of strings and TF gets it as a string because of the backslashes.
This is from the terragrunt.hcl file:
inputs = {   allowed_cidrs = ["<IP_ADDRESS>/0"] }
And this is the error I get:

  on main.tf line 53, in resource "aws_security_group_rule" "rule":
  53:   cidr_blocks       = var.allowed_cidrs
    |----------------
    | var.allowed_cidrs is "[\"<IP_ADDRESS>/0\"]"

Inappropriate value for attribute "cidr_blocks": list of string required.

Do you have a type annotation (e.g., type = list(string)) in the terraform code for the variable (allowed_cidrs)? Unlike a tfvars file, terragrunt inputs are passed through via env vars using json encoding, and without the type annotation on terraform side, terraform defaults to parsing it as string.

Do you have a type annotation (e.g., type = list(string)) in the terraform code for the variable (allowed_cidrs)? Unlike a tfvars file, terragrunt inputs are passed through via env vars using json encoding, and without the type annotation on terraform side, terraform defaults to parsing it as string.

I don't have a type set.
Sounds like this is the issue.
Thank you!

I don't have a type set.
Sounds like this is the issue.
Thank you!