rover deploy fails with "Error: Saved plan is stale"

When calling rover deploy apply with multiple landing zones in the symphony.yml, the deployment fails at the 2nd landing zone with "Error: Saved plan is stale". It looks like as the plan file gets carried on, so the 2nd landingzone terraform command is invoked with the same plan file as the first as seen in the output below.
Command: rover --symphony-config /tf/caf/symphony.yml -level all --environment demo deploy apply
symphony.yml:
levels:
  - level: level0
    stacks:
      - stack: launchpad
        repo: base
        landingZonePath: /tf/caf/landingzones/caf_launchpad
        configurationPath: /tf/caf/configuration/level0/launchpad
        launchpad: true
        tfState: caf_launchpad.tfstate
  - level: level1
    stacks:
      - stack: enterprise_scale
        repo: base
        landingZonePath: /tf/caf/landingzones/caf_solution/add-ons/caf_eslz
        configurationPath: /tf/caf/configuration/level1/enterprise_scale
        tfState: caf_eslz.tfstate

Output:
@calling deploy_landingzone
Deploying '//tf/caf/landingzones/caf_solution/add-ons/caf_eslz'
Terraform version 0.15 or greater
Upgrading modules...
Downloading Azure/caf-enterprise-scale/azurerm 0.3.3 for enterprise_scale...
- enterprise_scale in /__w/_temp/rover/modules/enterprise_scale
- enterprise_scale.management_group_archetypes in /__w/_temp/rover/modules/enterprise_scale/modules/archetypes
- enterprise_scale.management_resources in /__w/_temp/rover/modules/enterprise_scale/modules/management

Initializing the backend...

Successfully configured the backend "azurerm"! Terraform will automatically
use this backend unless the backend configuration changes.

Initializing provider plugins...
- terraform.io/builtin/terraform is built in to Terraform
- Finding hashicorp/time versions matching ">= 0.7.0"...
- Finding hashicorp/azurerm versions matching ">= 2.41.0, ~> 2.65.0"...
- Using hashicorp/time v0.7.2 from the shared cache directory
- Installing hashicorp/azurerm v2.65.0...
- Installed hashicorp/azurerm v2.65.0 (signed by HashiCorp)

Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

╷
│ Warning: Experimental feature "module_variable_optional_attrs" is active
│
│   on main.tf line 10, in terraform:
│   10:   experiments      = [module_variable_optional_attrs]
│
│ Experimental features are subject to breaking changes in future minor or
│ patch releases, based on feedback.
│
│ If you have feedback on the design of this feature, please open a GitHub
│ issue to discuss it.
╵

Terraform has been successfully initialized!
Terraform init return code 0
calling apply
@calling apply
running terraform apply
Running Terraform apply with plan /__w/_temp/rover/tfstates/level0/tfstate/caf_launchpad.tfplan
Terraform version 0.15 or greater
╷
│ Error: Saved plan is stale
│
│ The given plan file can no longer be applied because the state was changed
│ by another operation after the plan was created.
╵
╷
│ Error: Could not load plugin
│
│
│ Plugin reinitialization required. Please run "terraform init".
│
│ Plugins are external binaries that Terraform uses to access and manipulate
│ resources. The configuration provided requires plugins which can't be
│ located,
│ don't satisfy the version constraints, or are otherwise incompatible.
│
│ Terraform automatically discovers provider requirements from your
│ configuration, including providers used in child modules. To see the
│ requirements and constraints, run "terraform providers".
│
│ 7 problems:
│
│ - failed to instantiate provider "registry.terraform.io/aztfmod/azurecaf"
│ to obtain schema: unknown provider "registry.terraform.io/aztfmod/azurecaf"
│ - failed to instantiate provider "registry.terraform.io/hashicorp/azuread"
│ to obtain schema: unknown provider
│ "registry.terraform.io/hashicorp/azuread"
│ - failed to instantiate provider "registry.terraform.io/hashicorp/external"
│ to obtain schema: unknown provider
│ "registry.terraform.io/hashicorp/external"
│ - failed to instantiate provider "registry.terraform.io/hashicorp/null" to
│ obtain schema: unknown provider "registry.terraform.io/hashicorp/null"
│ - failed to instantiate provider "registry.terraform.io/hashicorp/random"
│ to obtain schema: unknown provider "registry.terraform.io/hashicorp/random"
│ - failed to instantiate provider "registry.terraform.io/hashicorp/template"
│ to obtain schema: unknown provider
│ "registry.terraform.io/hashicorp/template"
│ - failed to instantiate provider "registry.terraform.io/hashicorp/tls" to
│ obtain schema: unknown provider "registry.terraform.io/hashicorp/tls"
│
╵
Terraform apply return code: 1

Closing as merged in 2112.


Regression test case for JBRULES-2518

JBRULES-2518 is currently fixed in the latest versions.
This is just regression test.
Might be better way to grab lexar operator tokens but not a atlr expert.
Gladly will change if someone can point me to the method to call to get tokens.

Was going to use this for base for the JBRULES-3399 bug I opened. Probably will try to fix JBRULES-3399  soon.


BUG: Import Error for diag from scipy.linalg

Describe your issue.
Cannot import diag from scipy.linalg
Reproducing Code Example
from scipy.linalg import diag

Error message
ImportError                               Traceback (most recent call last)
Input In [54], in <cell line: 1>()
----> 1 from scipy.linalg import diag

ImportError: cannot import name 'diag' from 'scipy.linalg'

SciPy/NumPy/Python version information
1.8.0 1.22.3 sys.version_info(major=3, minor=9, micro=12, releaselevel='final', serial=0)

Hi @sameervk, thank you for reporting. Why do you expect this to work? There is no scipy.linalg.diag in the documentation.

Ah! when I searched for it (working in jupyter lab), it showed as one of the available functions. Please see attached screenshot.

Interesting, I cannot reproduce this on PyCharm.

Thank you


Add font_size parameter for Tex and Text mobjects.

Changelog / Overview

Motivation

It can feel rather unintuitive to scale text using .scale() immediately after creation. A more traditional way of editing the size of text is to specify a font size that is higher than the actual size of the mobject. It also allows for easier fine_tuning of mobject size : font_size= 25 as opposed to working with decimals with .scale()
Explanation for Changes

default of font_size = 48.
NOTE:
Tex/Text mobjects all have the same default size:
class mark(Scene):
    def construct(self):
        a = Tex("what").center()
        b = Text(f"{a.get_top() - a.get_bottom()}").scale(0.4).center().shift(UP * 2)
        c = Text(f"{a.get_right() - a.get_left()}").scale(0.4).center().shift(UP)
        self.add(a, b, c)

New:

Old:

(they're the same thing)
numbers.py
numbers.py refactored to be split into functions.

set_value simplified and more efficient (?)
removed unneeded code that existed for webgl compatibility

coordinate_systems.py

All uses of number_scale_value removed and replaced with font_size
PolarPlane adjusted to accept font_size not scale values

numberline.py

Now takes font_size instead of number_scale_value
font_size parameter added

text_mobject.py / tex_mobject.py

the scale factors were adjusted to be 1/960 ( the value they needed to be for the default value to be a 48 and still match the old look exactly)

Code, Paragraph, Text, Tex, MathTex and DecimalNumber support font_size now.
Documentation Reference

Testing Status

Had to update the NumberPlane test because it was getting errors on only three of the numbers for some reason.
All other tests pass.
Further Comments

I updated some of the docs so that there would at least be some representation of font_size, but I wasn't sure if I should continue updating all places in the docs/code where scale is used on text with font_size instead.
There were still some leftover classes that used scale values, namely Brace.
Also, I noticed that Text is ~1.5x larger than its Tex counterparts at least on my machine. Should this be adjusted so that they're both equal?
Checklist

[x] I have read the Contributing Guidelines
[x] I have written a descriptive PR title (see top of PR template for examples)
[x] I have written a changelog entry for the PR or deem it unnecessary
[x] My new functions/classes either have a docstring or are private
[x] My new functions/classes have tests added and (optional) examples in the docs
[x] My new documentation builds, looks correctly formatted, and adds no additional build warnings

Reviewer Checklist

[ ] The PR title is descriptive enough
[ ] The PR is labeled correctly
[ ] The changelog entry is completed if necessary
[ ] Newly added functions/classes either have a docstring or are private
[ ] Newly added functions/classes have tests added and (optional) examples in the docs
[ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings

text_mobject.py now uses pango's font_size scaling.
I've also added a DEFAULT_FONT_SIZE parameter, updated to using  super() in some places, added font_size scaling for Brace and Title. Also, I've adjusted the parameters in text2svg  so that and the size of the mobject remains the same as before.

It would be good if Text and Tex were similarly large if the same font size parameter is passed to them.

I second this. Also that in general LaTeX or Pango should handle something called font_size internally rather than a manim scale. But this might be over the scope of this PR.

I've resolved the conflicts and also deprecated number_scale_value and updated some examples. For some reason adding if TYPE_CHECKING raised some errors, so I've just dropped that for now.

It would be good if Text and Tex were similarly large if the same font size parameter is passed to them.

I agree, it's a little odd that they vary. We might have some problems with that since the size of Text varies per OS.

Rewrote some tests: (unnoticeable visual differences)
Added a font_size property so that size can be adjusted afterwards.
Values passed to add_labels now must have a font_size attribute since it's used to set the size of the label.

Notes:

the font_size property for text_mobject.py uses scaling to scale. Eventually we can try to make it use natural font size scaling.
sometimes strings are generated with self.height equal 0, hence the check for height in svg_tex_mobject.py: example to see this effect with a debugger. SingleStringMathTex("}") with 0 height.

Side notes:

text_mobject.py has a lot of needless code duplication, and is hard to understand to understand since it's scarcely documented 🙁,

I was doing some quick testing, and noticed that adding the font_size property for text_mobject.py messed with the line spacing, I'll investigate this issue 🤔

I have upgrade to version 0.10.0, and i have checked it using pip list.
When I run any example of MathTex or Tex using font-size I get the error:
init() got an unexpected keyword argument 'font_size'
What's going on?

I have upgrade to version 0.10.0, and i have checked it using pip list.
When I run any example of MathTex or Tex using font-size I get the error:
init() got an unexpected keyword argument 'font_size'
What's going on?

Please open a new issue or discussion and post the full traceback.


Check support for ENST transcript queries

We currently only test NM_ queries. We should add ENST queries to tests

It appears that Ensembl transcripts in UTA use GRCh37 assembly


Error when I click the button (the JS method toLowerCase() is undefined for booleans)

Hello, I have just installed your extension and add a button to a work item (with TFS2018). The problem is, when I click the button, I have an error in the browser console:
Uncaught (in promise) TypeError: o.getConfiguration(...).witInputs.SendUser.toLowerCase is not a function
    at n.<anonymous> (RESTRequestButton.js:2:412581)
    at RESTRequestButton.js:2:410407
    at Object.next (RESTRequestButton.js:2:410512)
    at RESTRequestButton.js:2:409403
    at new Promise (<anonymous>)
    at c (RESTRequestButton.js:2:409148)
    at RESTRequestButton.js:2:412143

I wanted to see where the error was coming from, and noticed that o.getConfiguration().witInputs.SendUser is a boolean, so "false" == o.getConfiguration().witInputs.SendUser.toLowerCase() doesn't work (toLowerCase() doesn't exist on a boolean, I think you'd have to use it directly as a boolean rather than converting it to a string).
I guess there's no real error, and it's just me, maybe I missed something in the installation? I have the impression that it's linked to the conversion of the typescript code into javascript. (This error corresponds to line 96 of the RESTRequestButton.tsx file)
Thanks in advance for your help :)

I will look into it.

Where? Initialy I just added the extension from the store, to my TFS2018 organization. Then I modified the XML configuration file of the work item to which I added a button, it looks like this:
[...]
      <WebLayout ShowEmptyReadOnlyFields="true">
        <!--**********************Extensions d'élément de travail**********************

Extension :
	Nom: RESTRequestButton
	ID: Apodemus.RESTRequestButton

	Contribution de contrôle:
		ID: Apodemus.RESTRequestButton.RESTRequestButton
		Description:
		Entrées:
			ID: ButtonTitle
			Description: Text you want displayed on the button
			Type de données: String
			IsRequired: true

			ID: Fields
			Description: Work item fields you wish to collect for sending, comma-separated
			Type de données: String
			IsRequired: true

			ID: Endpoint
			Description: URL you want to send your data to
			Type de données: String
			IsRequired: true

			ID: CustomSender
			Description: Custom sender id (default: "WorkItemRESTRequestButton")
			Type de données: String
			IsRequired: false

			ID: SendUser
			Description: true, false
			Type de données: Boolean
			IsRequired: true

			ID: ShowResponseBody
			Description: true, false
			Type de données: Boolean
			IsRequired: true

			ID: ShowErrorAlertBox
			Description: true, false
			Type de données: Boolean
			IsRequired: false

			ID: Method
			Description: *GET, POST, PUT, DELETE, etc.
			Type de données: String
			IsRequired: false

			ID: Mode
			Description: no-cors, *cors, same-origin
			Type de données: String
			IsRequired: false

			ID: Cache
			Description: *default, no-cache, reload, force-cache, only-if-cached
			Type de données: String
			IsRequired: false

			ID: Credentials
			Description: include, *same-origin, omit
			Type de données: String
			IsRequired: false

			ID: Redirect
			Description: manual, *follow, error
			Type de données: String
			IsRequired: false

			ID: ReferrerPolicy
			Description: no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
			Type de données: String
			IsRequired: false

			ID: Authorization
			Description: Auth string
			Type de données: String
			IsRequired: false

			ID: ShouldUseDefaultBearer
			Description: true, false (default: true)
			Type de données: Boolean
			IsRequired: false

[...]
Remarque : Pour plus d'informations sur les extensions d'élément de travail, consultez la rubrique suivante :
http://go.microsoft.com/fwlink/?LinkId=816513
-->
        <Extensions>
          <Extension Id="Apodemus.RESTRequestButton" />
[...]
        </Extensions>
[...]
        <Page Label="*****" LayoutMode="EqualColumns">
          <Section>
            <Group Label="*****">
[...]
              <ControlContribution Label="*****" Id="Apodemus.RESTRequestButton.RESTRequestButton">
                <Inputs>
                  <Input Id="ButtonTitle" Value="*****" />
                  <Input Id="Fields" Value="System.Title, System.AssignedTo" />
                  <Input Id="Endpoint" Value="https://*****:1622/*****" />
                  <Input Id="SendUser" Value="true" />
                  <Input Id="ShowResponseBody" Value="true" />
                  <Input Id="Method" Value="POST" />
                </Inputs>
              </ControlContribution>
            </Group>
          </Section>
[...]
        </Page>
      </WebLayout>
    </FORM>
  </WORKITEMTYPE>
</witd:WITD>

I did nothing more, and the Javascript variables for SendUser and ShowResponseBody are booleans. The patch I did in the PR #108 works for me, so I'm going to keep it anyway.
But it's true that it's odd that you have Strings when in the XML file you define booleans. Perhaps strong typing in Typescript rather than using any could solve the problem? Or at least help find its origin. Let me know if I can give you more information to help solve the problem.

Ok, I will update my PR


Skip test_shutdown_stress on Mac

Appears this test is now failing on Mac too. So, we add a patch to skip it here.

Hi! This is the friendly conda-forge-admin automated user.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Now this test is also failing on Mac. So we have added a patch for that. See this related issue ( https://github.com/zeromq/libzmq/issues/1464 )

Alright, looks like the end of it for now. Will now try to release for Mac again.


Rewrite the formatDuration function to strip leading zeros

For now, it only strips leading zeros of the hour count, doing 1:00:00 instead of 01:00:00, but it doesn't do it for minutes. We should have durations like 5:00, not 05:00.

To copy over the important bits from the comments on the mentioned PR:

The solution I would prefer is to use new Intl.DateTimeFormat('en-GB', { timeStyle: 'medium' }).format(date)

It's not ideal since it leaves the leading zero in the hours

A solution that does the above (with Intl) and then checks if duration.startsWith('00:') and then either duration.slice(3) or even just duration.replace(/^^[0:]+/, '') without the check would be a lot less hacky than the sliceStart thing

The problem here is that there are reasonable limits to where we want to slice this string. For instance, if the podcast is less than a minute, we'd want to render 0:35, for example.

RegEx can still help with that. Change it to ^(?:00:)?0? or ^0(?:0:0?)? (demo here, stolen from this Stack Overflow answer) and it will handle that case as well.

Change it to ^(?:00:)?0? or ^0(?:0:0?)?

And do you honestly think that's easier to understand that a numeric index of a substring? xD

Honestly, I find it straightforward. It might be even clearer if you remove the ?: of the non-capturing group (making it uselessly capturing), but for me, even if I don't spend a few seconds to figure out the RegEx, I can see some 00:s inside and figure out that it's about removing 00:. Still, it's much better than the long checks and index manipulation which take some mental effort to understand


[PLAT-213][OSF] Add whitelist functionality to admin site for SHARE providers.

Purpose
Add whitelist functionality to admin site for SHARE providers so that preprint discover page could get the info from /preprint_providers API endpoint instead of hardcoding them in the codebase.
Changes
Add a new SharePreprintProviderWhitelisted model. New views are created for the admin site to add and delete SHARE providers.
Side effects
None.
Ticket
https://openscience.atlassian.net/browse/OSF-8595

Per @sloria 's comment, I refactored the entire front-end implementation and do away with Django forms. Two different urls and their views are consolidated into one /whitelist view. However, because HTTP form submission does not allow DELETE (I did not know this until today), the /whitelist endpoint allows both GET and POST and some simple logic is implemented in the post method to distinguish addition from deletion. The resulting PR is much more organized and less cluttered.

Changed to submit AJAX request.

@adlius you have a failing test -- is it related to your PR? (I re-ran the job and it still failed)

@laurenbarker the latest failure is a migration conflict. It should work now. On the side note, I've updated the migration for about the 10th time now. It would be nice if we can get this merged ASAP.


Submit helm chart to the Docker registry

Submitting the RIG helm chart to the docker registry will make installing RIG via helm more easy. Currently you have to clone this repository and install the chart using the local directory. After submitting the docker registry, users can simply one helm install command.
Look at https://helm.sh/docs/topics/registries/.

Dockerhub does not yet support OCI hence helm charts can't be pushed to Dockerhub yet. Either we wait for support or consider some alternative.


Warning: BigListItem: Support for defaultProps will be removed from function components in a future major release. Please switch to JavaScript default parameters

I'm encountering a deprecation warning when using the BigList component in my React Native project. The warning states that support for defaultProps in function components will be removed in a future major release of React.

Same here

Default props and prop types were depreciated in react 18. I tried suppressing it in LogBox but no success.

Of course the library has to be updated but if u would like a simple solution, In your project, go to
/node_modules/react-native-big-list/dist/commonjs/BigListItem.js
Line 58, safely remove the line below since the default prop width is already declared above on line 41
BigListItem.defaultProps = {
  width: "100%"
};

The error should go away.


Import NMRShiftDB data in nmrXiv

[x] Discuss with Stefan Kuhn regarding NMRShiftDB datasets with raw & processes files.
[x] nmreData (check nmrium if supports nmreData imports.)
[x] Export NMRShiftDB as nmreData or any other formats supported by nmrium.
[x] Discuss & decide on how to group datasets into projects.
[x] Import into nmrXiv.

A project containing all molecules with experimental data from NMRShiftDB is now available for testing on the development instance of nmrXiv. This issue will be closed in favor of  #648


How to fix Gatsby.js build error 'window is not defined' ?

I started with 'gatsby new' command building a gatsby site, and added a framer component to index.js just like:
import React from "react"
import { Link } from "gatsby"

import Layout from "../components/layout"
import Image from "../components/image"
import SEO from "../components/seo"
import {Frame} from 'framer';

const IndexPage = () => (
  <Layout>
    <SEO title="Home" />
    <Frame>
      Test
    </Frame>
  </Layout>
)

export default IndexPage

After executed 'gatsby build', this error occured.
WebpackError: ReferenceError: window is not defined

I could not fix this by solutions in the official doc (https://www.gatsbyjs.org/docs/debugging-html-builds/).
Anyone can help?

I'm getting the same issue on NextJS


graph/path: fix return types for Dominators and PostDominators

There are efficient representations for this kind of data. We should use them.

Looking at the implementation of Dominators, it looks like a better algorithm could be chosen. Currently the O(n^2) algorithm is being used, but there is a better algorithm due to Lengauer and Tarjan (O(m*inverse_ackerman(m, n)).


Postgres interval type creates a varchar column instead of interval

Describe the bug
I'm attempting to create a column using the interval type but I have to work around a bug with a custom type.
  @Property({
    type: 'interval',
    nullable: true,
  })
  durationBuggy?: string | null;

results in:
"duration_buggy" varchar(255) null

I can define a custom type to work around this issue.
// IntervalType.ts

import { EntityProperty, Type } from '@mikro-orm/core';

export class IntervalType extends Type<
  string | null,
  string | null | undefined
> {
  getColumnType(prop: EntityProperty) {
    return `interval(${prop.length || 6})`;
  }
}

  @Property({
    type: IntervalType,
    nullable: true,
  })
  durationWorkaround?: string | null;

results in:
"duration_workaround" interval(6) null

Reproduction
https://github.com/stefansundin/mikro-orm-reproduction/tree/interval-type-bug
@Entity()
export class Session {

  @PrimaryKey()
  id!: number;

  @Property({
    type: 'interval',
    nullable: true,
  })
  durationBuggy?: string | null;

  @Property({
    type: IntervalType,
    nullable: true,
  })
  durationWorkaround?: string | null;

}

What driver are you using?
None
MikroORM version
6.0.5
Node.js version
v18.19.0
Operating system
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Slack.
[X] The provided reproduction is a minimal reproducible example of the bug.

You don't need the custom type for this:
@Property({
  columnType: 'interval',
  nullable: true,
})
durationBuggy?: string | null;

It seems like columnType: 'interval' creates this persistent diff:
alter table "session" alter column "duration" type interval using ("duration"::interval);

Yes, that's correct. If you want interval(6), put it there, it needs to be explicit.

It seems to be working fine with columnType: 'interval(6)' :+1:

Hmm so I guess for postgres the default length for interval type is also 6 like for timestamp?

It would appear so: https://www.postgresql.org/docs/current/datatype-datetime.html
I have to use my custom type in order to actually write to this column, because just using PostgresInterval() from postgres-interval doesn't call .toPostgres() to generate the correct value.
import { type IPostgresInterval } from 'postgres-interval';

import { EntityProperty, Type } from '@mikro-orm/core';

export class IntervalType extends Type<
  IPostgresInterval | null,
  string | null | undefined
> {
  convertToDatabaseValue(value: IPostgresInterval | null): string | null {
    if (!value) {
      return null;
    }
    return value.toPostgres();
  }

  getColumnType(prop: EntityProperty) {
    return `interval(${prop.length || 6})`;
  }
}

Then in my entity:
  @Property({
    type: IntervalType,
    nullable: true,
    length: 6,
  })
  duration?: IPostgresInterval | null;

Maybe that should be built into mikro-orm?


title-private, activity text: Subscribe to more deeper object in presence.

Subscribe to exactly to which the component cares.
This is first step, doing more in further commmits.

Hi @jainkuniya !
This looks like it makes two different changes:

Subscribe to presence higher in the React hierarchy.
Subscribe to a deeper part of the state.

I like the second change. I think there are a lot of places in the app it'd be good to move in that direction.
The first change is the opposite of #2386 , and I think the direction #2386 moves seems better.
Can you adjust this to make the second change without the first? Also rebase :wink:

Thanks @jainkuniya for the fast revision! Two thoughts, looking at this code:

These new selectors follow the unfortunate pattern described in #3015 . Let's take this as an opportunity to try a better pattern.
These two selectors are doing essentially the same job. Let's have just one of them do the job -- so something like this:

export const getPresenceByEmail = createSelector(
  ((_, email) => email),
  getPresence,
  (email: string, presences: PresencesState) => presences[email]);

Then the call site that has a narrow can do getPresenceByEmail(state, props.narrow[0].operand). Which is kind of ugly, but better to keep the ugliness on that side -- that's the side where we could go on to refactor it away.

Hmm, I don't see an update:

Try pushing again? :slightly_smiling_face:

Thanks @jainkuniya !
+export const getPresenceByEmail = createSelector(
+  (_, email: string): string => email,
+  getPresence,
+  (email: string, presences: PresenceState) => presences[email],
+);

So, looking at code like this, my first question is always whether the types actually work :wink: Remember that we've found createSelector not to be as helpful in passing types through as we'd like it to be.
So I tried a couple of experiments:
$ git di
diff --git src/title/TitlePrivate.js src/title/TitlePrivate.js
index abf2eaf63..46103a17d 100644
--- src/title/TitlePrivate.js
+++ src/title/TitlePrivate.js
@@ -51,5 +51,5 @@ class TitlePrivate extends PureComponent<Props> {

 export default connect((state, props) => ({
   user: getUserInPmNarrow(props.narrow)(state),
-  presence: getPresenceByEmail(state, props.narrow[0].operand),
+  presence: getPresenceByEmail(state),
 }))(TitlePrivate);

$ yarn flow
yarn run v1.12.3
$ /home/greg/z/mobile/node_modules/.bin/flow
No errors!
Done in 0.09s.

and
$ git di
diff --git src/title/TitlePrivate.js src/title/TitlePrivate.js
index abf2eaf63..e15a3b9ce 100644
--- src/title/TitlePrivate.js
+++ src/title/TitlePrivate.js
@@ -51,5 +51,5 @@ class TitlePrivate extends PureComponent<Props> {

 export default connect((state, props) => ({
   user: getUserInPmNarrow(props.narrow)(state),
-  presence: getPresenceByEmail(state, props.narrow[0].operand),
+  presence: getPresenceByEmail(state, 32),
 }))(TitlePrivate);

$ yarn flow
yarn run v1.12.3
$ /home/greg/z/mobile/node_modules/.bin/flow
No errors!
Done in 0.09s.

No errors. :disappointed:
Here's a change that fixes it: apply the type InputSelector<GlobalState, string, Presence>. (With import type { InputSelector } from 'reselect';.)
As a nice bonus, now you can skip the repetitive string and so on on the inside:
export const getPresenceByEmail: InputSelector<GlobalState, string, Presence> = createSelector(
  (_, email) => email,
  getPresence,
  (email, presences) => presences[email],
);

You can check with some more experiments that the type-checker is able to infer the types on the inside and catch errors -- try it out.

OK, I spent some time this afternoon reading the code of reselect (only about 100 lines!), and also most of the code of react-redux (more complex, ~1k lines). And now I have a lot more concrete of an understanding of what they do, and don't, do for us!
One conclusion is that we can actually make this much simpler still: we don't need reselect at all for this. :smile: That selector could just look like
export const getPresenceByEmail = (state: GlobalState, email: string) =>
     getPresence(state)[email]

And at that point, I think it's probably actually better to inline it where it's used -- the semantics of getPresence is that it provides a map from user email to presence object. So like
export default connect((state, props) => ({
  user: getUserInPmNarrow(props.narrow)(state),
  presence: getPresence(state)[props.narrow[0].operand],
}))(TitlePrivate);

and we don't need a getPresenceByEmail at all!
I'll go ahead and merge your second and third commits, with that adjustment. Thanks for helping explore this!

(Oh BTW one bit of feedback I just noticed, which is moot since we don't need getPresenceByEmail after all:

presenceSelector.js should be presenceSelectors.js, plural, to match our other similar files even though there's just one for now. That way the name doesn't have to change when we add more, or when a file goes down from a few selectors to just one.

)

And merged. Thanks again!


Too high CPU usage with a big project folder even not using the finder

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
When a big complex folder is added as an project folder (such as your home directory, please do not tell me that I shouldn't add home as a project folder, because atom atomatically add it when I am editing files in home.), and start to do something (the fuzzy-finder package is enabled but not using its function such as via ctrl-t), run top or other system monitor, you'll see always one core is being used 100%, and let the fan runs, battery is used quickly.
I am sure it's fuzzy-finder's problem because after open atom as safe mode, the problems still there. And after disabling fuzzy-finder, the cpu usage become normal.
It's strange why it cause this even the function is not being used.
Steps to Reproduce

Added a big and complex project folder such as your home.
Open atom with fuzzy finder enabled, but don't use it, just leave enabled.
Open top or other system monitor and see a BEAUTIFUL CPU usage as one core nearly fully loaded, and also the fully-loaded core may be change to other core!

Expected behavior: A normal cpu usage which is always under 10%.
Actual behavior: Always one core was loaded nearly 100%.
Reproduces how often: Nearly every time I did so.
Versions
Output of $ atom --version:
Atom    : 1.15.0
Electron: 1.4.15
Chrome  : 53.0.2785.143
Node    : 6.5.0

Output of $ apm --version:
apm  1.17.0
npm  4.4.1
node 7.7.2 x64
python 2.7.13
git 2.12.0

Output of $ uname -a:
Linux Alynx-Precision 4.10.1-1-ARCH #1 SMP PREEMPT Sun Feb 26 21:08:53 UTC 2017 x86_64 GNU/Linux

Additional Information
Pictures of enabling fuzzy finder:

Pictures after disabling it:

I have the same issue.


K3s fails on Alpine flavors

Kairos version:  v1.2.0

CPU architecture, OS, and Version:  amd64, alpine-ubuntu and alpine-opensuse-leap

Describe the bug

K3s fails to start on Alpine flavors. Maybe a problem with cgroups?
To Reproduce

Interactive install with k3s enabled (or k3s-agent enabled). Reboot. K3s fails to start.
Expected behavior

K3s should start automatically.
Logs

Maybe not helpful:
sudo rc-service k3s (or k3s-agent) status
* status: stopped

sudo rc-service k3s (or k3s-agent) start
... level=fatal msg="failed to find cpu cgroup (v2)"

And for the k3s-agent:
cat /var/log/kairos/agent.log
Provider kairos at /system/providers/agent-provider-kairos had an error: Failed setup: exit status 127

Wondering if it was caused by https://github.com/kairos-io/kairos/issues/491 ?

A possible fix:
stages:
   initramfs:
     - name: "Fix rc.conf"
       commands:
       - echo 'rc_cgroup_mode="hybrid"' >> /etc/rc.conf
       - echo 'rc_cgroup_controllers="cpuset cpu io memory hugetlb pids"' >> /etc/rc.conf

Above fix doesn't solve the initial issue. k3s-agent still doesn't start automatically. There must be an issue with kairos-agent. Copying the env variables in /etc/rancher/k3s/k3s-agent.env and starting the k3s-agent manually works with the fix above.
Same for k3s: one must start the service manually. It doesn't start automatically. So the initial issue remains.

thanks for confirming! will go along the lines of your solution for now. I think those settings can be also set directly in /etc/conf.d/, however rc.conf looks also fine as well

I believe k3s doesn't start as there is no #cloud-config header in your files @christianprim . can you confirm?
https://github.com/kairos-io/kairos/pull/502 allows merging all config founds greedly - as soon as it's merged you can expect it in the next releases

I have the header:
#node-config
install:
  device: /dev/sda
k3s:
  enabled: true
name: Config generated by the installer
stages:
  initramfs:
  - commands:
    - echo 'rc_cgroup_mode="hybrid"' >> /etc/rc.conf
    - echo 'rc_cgroup_controllers="cpuset cpu io memory hugetlb pids"' >> /etc/rc.conf
    - mount --make-rshared /
  network:
  - users:
      kairos:
        groups:
        - admin
        name: kairos
        passwd: kairos
        ssh_authorized_keys:
        - ""

I used the interactive install and added the few lines for k3s to work. So that can't be the issue.

But I get:
# cat /var/log/kairos/agent.log
Provider kairos at /system/providers/agent-provider-kairos had an error: Failed setup: exit status 127

Reading the code: The issue must be in the oneTimeBootstrap-function between L177 (https://github.com/kairos-io/provider-kairos/blob/main/internal/provider/bootstrap.go#L177) and L197 since the envFile isn't written when role is set to agent, but the info (One time bootstrap starting) is logged to /var/log/kairos/agent.log.
Hope it helps to narrow down the issue.

fixed in v1.3.0


Adding a CONTRIBUTING document

Which describes acceptance criteria for all Chef Provisioning resources.
\cc @randomcamel @jkeiser @charlesjohnson

:+1: Slick.

Excuse my naivety - why must all Chef Provisioning resources implement :create and :destroy actions?
What if 'create' is the wrong verb (e.g. deploy a CF template, or in my case an Azure Resource Manager one)

@stuartpreston I think create is actually the wrong word - I would much more prefer converge as the default action.  As you say, a Chef Resource may model an object which isn't actually created just interacted with.  But the use of create as the default action goes wayyyyyyyy back.
If Chef Provisioning Azure should use some other actions, then we could update the CONTRIBUTING.md document there to say what the minimum set of actions the resources should respond to.
The goal here is not to force all Provisioning Resources to conform to a too-simple API, but rather to define a set of criteria so Resource authors know when their Resource is complete.


Support for grafana v8

Is your feature request related to a problem? Please describe.
When do we expect support for grafana version 8?
Describe the solution you'd like
Support and recommendations for v8 of grafana
Describe alternatives you've considered
Max version recommended right now is v7.5.15

Hi @bsgrigorov We don't have support for v8 on our roadmap currently, we still need to verify with our company's legal team whether we can use grafana v8 as part of this operator officially due to their switch to GPLV3. However, we do have ways of overriding the grafana image,
with these args:
 "grafana-image", "Overrides the default Grafana image"
 "grafana-image-tag", "Overrides the default Grafana image tag"

or by using the GRAFANA_IMAGE_URL and GRAFANA_IMAGE_TAG env vars
Does this answer your question?

Ok thank you! If you don't mind I will leave this open for other to see and when there is an update on this please post it here. Much appreciated!
I did also try v8.4.4 and it worked, but I am not sure if we want to run it in production if it is not officially supported by the grafana operator team.

@bsgrigorov we don't really support any Grafana version (in the sense that we guarantee that all features work through the operator). So you should be fine to use Grafana 8 already. If something doesn't work or isn't exposed yet through the operator, please open a Github issue and we can look into that.

Have any tests been made with grafana v8? I'm asking in terms of dashboards, datasources, alerts. I know that alerts are new and different in grafana v8.

Have any tests been made with grafana v8? I'm asking in terms of dashboards, datasources, alerts. I know that alerts are new and different in grafana v8.

I tested it with several grafana v8 Version(8.2.x , 8.3.4, 8.4.4 and 8.4.5) - and mainly with datasources, dashboards which are looking fine for me.
The problems, which makes me considering dropping the operator is with rendering  of grafana.ini - so far i could not work out any solutions for unsigned plugins like the checkmk plugin, or bubble chart.
Also websockets for grafana live can be a problem, or running v 8.3.5 onwards behind an kong api gateway with ingress Controller (this point i need to investigate Fürther)
And grafana announced Version 9 for middle of june
I really like this project, but so far i would not run grafana 8 with the grafana Operator in an enterprise environment.

@1naboki1 have you tried the NotificationChannels with grafana v8?

@1naboki1 why wouldn't you be willing to use the operator with grafana 8 in a "enterprise environment"?
I know of several companies that does and to my knowledge it works fine. As @pb82 points out if there is any bug with running v8 that please create a issue for it.
For us maintainers to update the base image from grafana 7 to grafana 8 would be a breaking change thus we would have to do a major bump again.
We are currently working on rewriting the majority of the operator that we hope will solve most of the annoying resync bugs and there we will upgrade the grafana operator API versions. You can follow the work over at: https://github.com/grafana-operator/grafana-operator-experimental
We haven't decided but I could definitely see how upgrading the base image to grafana 8 in that repo would be a good option.

Hi,
I use this operator since September 2021 (in production too) and I can say that it's very stable. When a new Grafana is released, I update it and for the moment I didn't have any problems (I use all Grafana features except Alerting).

@1naboki1 have you tried the NotificationChannels with grafana v8?

I was able to get the grafana operator working with alerting in v8 by turning off the new alerting features and reverting to the 'legacy' implementation. It can be done in the grafana CR e.g:
apiVersion: integreatly.org/v1alpha1 kind: Grafana metadata:   name: grafana   namespace: grafana spec:   config:     alerting:       enabled: True     unified_alerting:       enabled: False       min_interval: 10s
Then GrafanaNotificationChannel CRs can be created as normal

I will close this issue since it's already supported.


[dockerfile] add parallel

What does this PR do?
Install parallel into the test-infra docker image
Which scenarios this will impact?
None
Motivation
We use test-infra-definitions image in test-infra-cleaner, where we are having issues running calls to destroy in // sending calls to the background. We suspect this might be because we call pulumi limits running in //. We want to limit to 5 destroys per call, so parallel will help us there
Additional Notes
More details about parallel: https://www.gnu.org/software/parallel/

/merge


Could not find a package configuration file provided by "ublox_msgs"

Starting >>> multi_object_tracker
--- stderr: gnss_poser
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "ublox_msgs" with
  any of the following names:

    ublox_msgsConfig.cmake
    ublox_msgs-config.cmake

  Add the installation prefix of "ublox_msgs" to CMAKE_PREFIX_PATH or set
  "ublox_msgs_DIR" to a directory containing one of the above files.  If
  "ublox_msgs" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  CMakeLists.txt:6 (find_package)

---
Failed   <<< gnss_poser [2.73s, exited with code 1]

nisa@nisa:~$ sudo apt-get install ros-melodic-ublox


[WIP] Fix EWS x-axis Labels

I spent far to long on this and couldn't achieve the desired result....
First of all you can set the xticklabels directly, but this will not scale or take into account the density of xticks on the axis, so as we go to longer time series it will look bad.
Trying to do it properly with datetime, this is as far as I got:

For some reason that I cannot understand all the dates are bunched up and overlapping.

Okay it took way longer than it should have but the dates look nice now :)

Final change making the tick label font size smaller.


Fix input dynamic text rendered as textarea (#3239)

Description
"input" dynamic tag was rendered as "textarea"

Fixes #3239
Checklist

[x] I have reviewed my own code
[x] I have added tests

Can you fix the failing tests?

Hi, unittest errors have been fixed.


Extra padding with mirrow ticks

Expected Behavior

Current Behavior
Extra padding with mirrow ticks

Possible Solution

Steps to Reproduce

Context

Environment

Chart.js version: Chart.js v3.0.0-rc.2
Browser name and version: Mozilla 87
Link to your project:

Sorry for being stupid, but is the extra padding between the scale border and tick labels or between chart area and title?
Dis you notice that we require interactive examples to bug reports?

https://www.chartjs.org/docs/master/axes/styling#tick-configuration (look for padding and its default value)

Great thank u)
From: Jukka Kurkela @.>
Sent: Thursday, March 25, 2021 11:02 PM
To: chartjs/Chart.js @.>
Cc: MOtoroller @.>; Author @.>
Subject: Re: [chartjs/Chart.js] Extra padding with mirrow ticks (#8722)
https://www.chartjs.org/docs/master/axes/styling#tick-configuration (look for padding and its default value)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/chartjs/Chart.js/issues/8722#issuecomment-807385160 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAPIOHCLW5P2QUBJZ6VH5NTTFOJCLANCNFSM4ZZ7RVWQ .  https://github.com/notifications/beacon/AAPIOHHUXI52DNTDGLJNS5TTFOJCLA5CNFSM4ZZ7RVW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGAP3QSA.gif

Hello, again, tell me please is possible do next: https://stackoverflow.com/questions/66814472/how-can-i-change-tick-val-to-title-in-chartjs
Thank u
From: Jukka Kurkela @.>
Sent: Thursday, March 25, 2021 11:02 PM
To: chartjs/Chart.js @.>
Cc: MOtoroller @.>; Author @.>
Subject: Re: [chartjs/Chart.js] Extra padding with mirrow ticks (#8722)
https://www.chartjs.org/docs/master/axes/styling#tick-configuration (look for padding and its default value)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/chartjs/Chart.js/issues/8722#issuecomment-807385160 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAPIOHCLW5P2QUBJZ6VH5NTTFOJCLANCNFSM4ZZ7RVWQ .  https://github.com/notifications/beacon/AAPIOHHUXI52DNTDGLJNS5TTFOJCLA5CNFSM4ZZ7RVW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGAP3QSA.gif


fix: load and delete list files in opts.dir

While trying to wrap resession in my Neovim config, i noticed the load function of the API does not list the files in the directory i was giving it via opts.dir. A quick look into the source revealed it ignores/omits opts completely when calling M.list.
Same goes for delete.
I fixed some wording issues while being at it. I hope that okay. If not, i'm happy to open a separate PR.

Hey, no worries. I suppose this can happen.
I'll change the PR title and remove everything but the documentation parts.

Thanks!


build: Fix repository prefix

Signed-off-by: Alex Collins<EMAIL_ADDRESS>

@sarabala1979 low risk build change. I'm going to use admin to merge.


how to use it as library

Hi,
Hope you are all well !
How to use it as a library if I want to embed it in one of my golang projects ?
Thanks in advance for any insights or inputs on that topic.
Cheers,
X

I think you can take the renderer parts. You would still need Gocv since the renderers loads images from Opencv mat.

Hi,
I have created a modular scraping system and I define a logo for each plugin scraping a website.
For eg, https://github.com/lucmichalski/peaks-tires/blob/master/plugins/oscaro.com/plugin.go#L83
When I load the plugin, I print this ASCII logo but wanted to convert their brand logo, for fun, like PixelOnTerminal.
Cheers,
X

Nice project you've got there,
I've updated the renderers so that they return string of the image. Once you load your images into opencv Mat( using gocv ), you'll be able to use the renderer package.
Best,
Seungheon Oh

Can you provide code snippet ? or write an example for the project ?

It's getting let here, I think I could write you a snippet tomorrow.
However, here's brief way of doing it.
https://github.com/SeungheonOh/PixelOnTerminal/blob/master/commands/image.go at load function is how you load the image. Once you get the image, just call one of the renderers(ascii, ascii-256, unicode-256 ...) and it will output a string. Pretty simple.
Best,
Seungheon Oh

yeah, it would be awesome to have a snippet. :-)

Sorry, I didn't have access to the PC, but here's the snippet.
`package main
import (
"github.com/SeungheonOh/PixelOnTerminal/renderer"
"image"
"fmt"
cv "gocv.io/x/gocv"
)
func main() {
img := cv.IMRead("/home/seungheonoh/test.png", 1)
if img.Empty() {
panic("Failed to load image")
}
ascii, err := renderer.HighRes(img, image.Point{30, 30})
if err != nil {
panic(err)
}
fmt.Println(ascii)
}
`

wonderful will test now... thanks again

Any updates? Can I close this issue?

thanks for your help :-)


frequent crashes with 1.05 from libisar.so on android x86 64 emulation device: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

Steps to Reproduce
Happens non-deterministically every 5 or so run of the app. Even if i re-run the app few times in a row without doing anything else in between, this has a chance to happen.
Code sample
Using the standard directory from getApplicationDocumentsDirectory().path,
backtrace:
#00 pc<PHONE_NUMBER>018d30  /data/app/-yCW--oUc3YNGp2UXxTYEg==/... -3ip1gkB0N0Z65wV8f5VO1A==/lib/x86_64/libisar.so
#01 pc<PHONE_NUMBER>010b2c  /data/app/-yCW--oUc3YNGp2UXxTYEg==/...-3ip1gkB0N0Z65wV8f5VO1A==/lib/x86_64/libisar.so
#02 pc<PHONE_NUMBER>0231a0  /data/app/-yCW--oUc3YNGp2UXxTYEg==/...l-3ip1gkB0N0Z65wV8f5VO1A==/lib/x86_64/libisar.so
#03 pc<PHONE_NUMBER>0b602a  /data/app/-yCW--oUc3YNGp2UXxTYEg==/...-3ip1gkB0N0Z65wV8f5VO1A==/lib/x86_64/libisar.so
#04 pc<PHONE_NUMBER>0b5555  /data/app/-yCW--oUc3YNGp2UXxTYEg==/...-3ip1gkB0N0Z65wV8f5VO1A==/lib/x86_64/libisar.so
#05 pc<PHONE_NUMBER>0b3694  /data/app/-yCW--oUc3YNGp2UXxTYEg==/...-3ip1gkB0N0Z65wV8f5VO1A==/lib/x86_64/libisar.so
#06 pc<PHONE_NUMBER>0c7d2a  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+58) (BuildId: 3707c39fc397eeaa328142d90b50a973)
#07 pc<PHONE_NUMBER>05f0c7  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+55) (BuildId: 3707c39fc397eeaa328142d90b50a973)
Version

Platform: Android emulator on Windows
Flutter version: 2.8.1
Isar version: 1.0.5
Isar Generator version: 1.0.5

@fakalit Could you maybe provide a small, reproducible sample? That would be super helpful 🙌

Please also try version 2.0.0-dev.0

I'm aware that the info I added is not all enough to reproduce the issue. I had trouble isolating it, but figured it's still better to let you know about its existence all the same.
Either way, many thanks for the new version. Especially isar.clear() is a godsend.
The good news is that using 2.0.0-dev.0, the frequency of the problem occurring decreased significantly. And each rare time it happened (every 25 or so runs), it had a different stack trace.
There seem to be 3 different root causes for these fatal signals now:

Cause: null pointer dereference
mdbx_cursor_put:18207
Abort message: 'Scudo ERROR: corrupted chunk header at address 0x76aff1c35640

Only the second one seems to have a file and line attached to it, so that's the one least unhelpful. Apparently, it's being called from isar-core/src/mdbx/cursor.rs 117.
...
Feel free to close this issue if you think it's not helpful.
There is also another non-fatal exception being thrown, again non-deterministically every 10 or so times. There is a stack full stack trace with that, so maybe that's a more reasonable issue to deal with. I'll share the details on that one on a new ticket.

@fakalit Thanks you so much, this is extremely helpful! Please never hesitate to open issues :+1:

Which Android version does the emulator run?

CPU/ABI: Google APIs Intel Atom (x86_64)
Target: google_apis [Google APIs] (API level 30)
Rest of the device info:
Skin: pixel_4
SD Card: 512M
fastboot.chosenSnapshotFile:
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: pixel_5
hw.lcd.width: 1080
hw.initialOrientation: Portrait
image.androidVersion.api: 30
tag.id: google_apis
hw.mainKeys: no
hw.camera.front: emulated
hw.gpu.mode: auto
hw.ramSize: 1536
PlayStore.enabled: false
fastboot.forceColdBoot: no
hw.cpu.ncore: 4
hw.keyboard: yes
hw.sensors.proximity: yes
hw.dPad: no
hw.lcd.height: 2340
vm.heapSize: 256
skin.dynamic: yes
hw.device.manufacturer: Google
hw.gps: yes
hw.audioInput: yes
image.sysdir.1: system-images\android-30\google_apis\x86_64
showDeviceFrame: yes
hw.camera.back: virtualscene
AvdId: Pixel_5_API_30_2_64
hw.lcd.density: 440
hw.arc: false
hw.device.hash2: MD5:3274126e0242a0d86339850416b0ce34
fastboot.forceChosenSnapshotBoot: no
fastboot.forceFastBoot: yes
hw.trackBall: no
hw.battery: yes
hw.sdCard: yes
tag.display: Google APIs
runtime.network.latency: none
disk.dataPartition.size:<PHONE_NUMBER>
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes
Thanks.

I think I might have found the root cause.
It happens when I call ".load()" method subsequently in a chain. I made sure to properly await the results of each link before moving into loading its children links and this properly worked most of the time, but apparently every now and then it causes a memory allocation issue. When i moved each load operation to its relevant component and waited until its time to render that data to load, the problem disappeared completely.
Even though problem went away, that fatal non-exception I mentioned above turned out to be relevant to this one as well, so I'm adding its stacktrace here as well. Hope this helps.
It happens buffer length on the following line is an unusually high number for some reason. Like: "1735288172";
isar_collection_impl.dart:59:
    final buffer = rawObj.buffer.asTypedList(rawObj.buffer_length);
I/flutter (10665): │ #0   _asExternalTypedData (dart:ffi-patch/ffi_patch.dart:46:62)
I/flutter (10665): │ #1   Uint8Pointer.asTypedList (dart:ffi-patch/ffi_patch.dart:457:42)
I/flutter (10665): │ #2   IsarCollectionImpl.deserializeObject (package:isar/src/native/isar_collection_impl.dart:59:34)
I/flutter (10665): │ #3   IsarCollectionImpl.deserializeObjectOrNull (package:isar/src/native/isar_collection_impl.dart:67:14)
I/flutter (10665): │ #4   IsarLinkImpl.load.<anonymous closure> (package:isar/src/native/isar_link_impl.dart:91:28)
I/flutter (10665): │ #5   <asynchronous suspension>
I/flutter (10665): │ #6   GameInstanceRepository._createGameInstance.<anonymous closure> (package:still/repositories/game_instance_repository.dart:160:11)
I/flutter (10665): │ #7   <asynchronous suspension>
I/flutter (10665): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
I/flutter (10665): │ ⛔ Invalid argument(s): Count must be in the range [0,<PHONE_NUMBER>].
└─────────────────────────────────────────────────────────────────────────────

@fakalit That's super helpful! Do you have sample code that causes a crash?

Fixed in 2.1.0 🙌


feat: Build and store index into RootDocument

What this PR does 📖

Build and resolves index into RootDocument
Convert Directory (and any corresponding objects) into their respective documents, and vice versa
Migrate from old format into new format

Which issue(s) this PR fixes 🔨

Special notes for reviewers 🗒
Additional comments 🎤

Blocked until #425 is merged

This is blocked until #445 has been merged

This is blocked until #445 has been merged

It's been merged 2 weeks ago?

This is blocked until #445 has been merged

It's been merged 2 weeks ago?

Correct, which is why the blocked label was remove :)


:bug: Fix dataset reference in hook for kedro >= 0.19.0 and add unittest

Description
Current hook does not work with kedro >= 0.19.0
Development notes
Changed dataset reference in hook and added unittest to test reference.
Checklist

[ ] Read the contributing guidelines
[ ] Open this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Update the documentation to reflect the code changes
[ ] Add a description of this change and add your name to the list of supporting contributions in the CHANGELOG.md file. Please respect Keep a Changelog guidelines.
[ ] Add tests to cover your changes

Notice

[ ] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Thank you very much for this!


Update doc-changes.md

typo on B2B Use Case link.

@beskelton - I copied this change over to the corporate repo and it is publishing now. Thanks.


cmake error

nile@nile:~/software/yolo_mark$ sudo make
[ 50%] Building CXX object CMakeFiles/yolo_mark.dir/main.cpp.o
/home/nile/software/yolo_mark/main.cpp: In function ‘int main(int, char**)’:
/home/nile/software/yolo_mark/main.cpp:143:28: error: ‘CV_CAP_PROP_FPS’ was not declared in this scope
const int fps = cap.get(CV_CAP_PROP_FPS);
^
/home/nile/software/yolo_mark/main.cpp:465:60: error: ‘CV_FILLED’ was not declared in this scope
rectangle(frame, prev_img_rect, Scalar(100, 100, 100), CV_FILLED);
^
CMakeFiles/yolo_mark.dir/build.make:62: recipe for target 'CMakeFiles/yolo_mark.dir/main.cpp.o' failed
make[2]: *** [CMakeFiles/yolo_mark.dir/main.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/yolo_mark.dir/all' failed
make[1]: *** [CMakeFiles/yolo_mark.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
help! I tried to make it on my ubuntu16.04LTS, but it failed. the version of my opencv is 4.0.0

@NileZhou  Hi, there is no OpenCV 4.0.0 yet: https://opencv.org/releases.html

Strange. When I run "cmake ." I get the following error, which requires openCV 4.0.0:
-- The CXX compiler identification is GNU 5.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /usr/local/share/OpenCV/OpenCVModules.cmake:179 (message):
  The imported target "opencv_core" references the file

     "/usr/local/lib/libopencv_core.so.4.0.0"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/local/share/OpenCV/OpenCVModules.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/local/share/OpenCV/OpenCVConfig.cmake:112 (include)
  CMakeLists.txt:3 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/larry/Desktop/Yolo_mark/CMakeFiles/CMakeOutput.log".

Try this one. Go to the main.cpp file and remove the prefix CV from CV_CAP_PROP_FPS and CV_FILLED. This worked in my case.

I made it to work somehow. Thanks

I made it to work somehow. Thanks

How did you make it work? Mind sharing?

I made it to work somehow. Thanks

How did you make it work? Mind sharing?

I had the same error and solved it by what @thanasissdr  said

Try this one. Go to the main.cpp file and remove the prefix CV from CV_CAP_PROP_FPS and CV_FILLED. This worked in my case.

Where is the main.cpp position???


adding tests for mac M1

What does this PR do?
reproducing #2383
ref: https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/

Before submitting

[x] Was this discussed/agreed via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.

Did you have fun?
Make sure you had fun coding 🙃

📚 Documentation preview 📚: https://torchmetrics--2385.org.readthedocs.build/en/2385/

@justusschock could you pls help here to check why the metrics are off?

full run in https://github.com/Lightning-AI/torchmetrics/actions/runs/8079049135


Deprecate 'docker run -c' option in zsh completion

Ref. #16271
ping @albers for bash
Signed-off-by: Steve Durrheimer<EMAIL_ADDRESS>

Added this to 1.9.0 milestone (as the command is in there).

LGTM. This flag was removed for 1.9 and it should not be in the completion list.

Ah lol, my comment is wrong, but my action right :sweat_smile:

LGTM

In my opinion, -c should also be removed from docker create and docker build, for consistency.

@sdurrheimer can you open a separate issue for that? /cc @tiborvass

Done #17117


Make the spinners for the progress bars spin.

The progress bar spinners in #92 do not really spin yet. This is not breaking but it would be cool to see that something is ongoing and that it's not stuck.
I couldn't figure out how to make the library work ..

Hmm? They spin for me at least.

This was fixed in #92.


Added proxy functionality.

Added two constructors for use a http proxy. You can use proxy ip and proxy port or an InetSocketAddress object. This functionality is interesting in scenarios where a proxy is being used to send HTTP requests.

Thanks for your contribution Pablo.


Error during invoke

I was able to get serverless-artillery up and running.  An slsart deploy command successfully creates a new lambda instance on my AWS account.  And slsart remove brings the instance down successfully. But I'm running into an issue when attempting slsart invoke.  I'm getting the error below.  I've been running successful standalone artillery scripts for the past several weeks.  Any ideas on what might cause this failure when attempting them with serverless-artillery?
I appreciate your work,
Chris

thank you for using the tool.
interesting case.  this looks to be coming from the lambda infrastructure when it's failing, in the context of the lambda, to load the artillery-core dependency.  during the initial npm installation, it should be installing artillery-core along with csv-parse.
you should see the following results from the given command:
$ ls $(npm -g root)/serverless-artillery/lib/lambda
handler.js      node_modules    package.json    script.yml      serverless.yml

and, further (there should be more a level up, to cover the dependencies of these two):
$ ls $(npm -g root)/serverless-artillery/lib/lambda/node_modules/artillery-core
LICENSE.txt     README.md       index.js        lib             package.json
$ ls $(npm -g root)/serverless-artillery/lib/lambda/node_modules/csv-parse
LICENSE         README.md       lib             package.json    samples

If you don't have these on disk, then it could be that an error occurred during installation.  A couple options that should fix the root cause are:

npm uninstall -g serverless-artillery && npm install -g serverless-artillery
pushd $(npm -g root)/serverless-artillery/lib/lambda/ && npm install && popd

Once those libraries are in place, you will have to run slsart deploy again to redeploy the lambda and you should be good to go.
If, in trying to resolve this you notice some interesting circumstances, let us know and we'll see what we can do to help you troubleshoot.

I appreciate the response!
The issue was, in fact, the install. The node_modules folder did not exist under the lib/lambda directory.  I should have mentioned that I am running Windows 10 on the machine I was testing on.  Not sure if that makes a difference or not when the install takes place?  I've since fixed the directory.  Looks great so far.
On other question - does serverless-artillery allow for the use of the beforeRequest and afterRequest options?  I have a script that points to a JS file.  Can that be deployed with my script?
Thanks,
Chris

Very glad this is worked out!
I suspect that some error occurred during installation.  On the happy path, that installation is done as a post install hook from the initial installation of serverless-artillery (i.e. npm install -g serverless-artillery).  It seems we have an bug related to installation on Windows 10 that we should look into.
Yes, serverless-artillery does, with caveats, support the use of beforeRequest and afterRequest options.  To do this, you'll want to slsart configure which will copy the lambda directory in your global library directory to the current directory.  At that point, you can add modules or plugins that hook up to those options and then redeploy (the local copy will be detected ['./serverless.yml' exists] and deployed instead of the global lambda with a new name [see service in the serverless.yml]) using slsart deploy.  This will post your local version into the lambda and your invokes (from that directory) will target the enriched lambda.

I've followed the steps above and got a simple test deploying to lambda.  This includes a .js file that the beforeRequest event points to.  When I invoke the lambda I'm getting the following error:
{
        "errorMessage": "RequestId: 43ba9f2f-0b37-11e7-a889-f7707fbfcba9 Process exited before completing request"
}

Looking at my lambda logs I'm seeing the attached error.  This test runs perfectly from artillery on my local machine.  Something I'm missing on my end?
2017-03-17T17:29:26.683Z 43ba9f2f-0b37-11e7-a889-f7707fbfcba9 TypeError: processFunc is not a function
at iteratee (/var/task/node_modules/artillery-core/lib/engine_http.js:227:9)
at /var/task/node_modules/async/lib/async.js:181:20
at iterate (/var/task/node_modules/async/lib/async.js:262:13)
at Object.async.forEachOfSeries.async.eachOfSeries (/var/task/node_modules/async/lib/async.js:281:9)
at Object.async.forEachSeries.async.eachSeries (/var/task/node_modules/async/lib/async.js:214:22)
at f (/var/task/node_modules/artillery-core/lib/engine_http.js:222:11)
at fn (/var/task/node_modules/async/lib/async.js:746:34)
at /var/task/node_modules/async/lib/async.js:1213:16
at /var/task/node_modules/async/lib/async.js:166:37
at /var/task/node_modules/async/lib/async.js:706:43

Having a look at a recent artillery-core version of engine_http.js https://github.com/shoreditch-ops/artillery-core/blob/v1.x/lib/engine_http.js the error is coming from a bug where the that code doesn't check for null when it tries to access processor by name from the config and it not defined.
As a stab in the dark, are there any warnings in the log before the error? Something to the effect that it cannot load a plug-ing or module? Guessing something defined in your config file not actually available to the deployed Lambda but somehow available on your local machine (since you say it's working there)?

@wrinkleydog did your custom code loading issue also get resolved?  Any further questions?

Hi Erik,
No, I wasn't able to get this to work.  It looks like the Lambda instance
can't access my JS file.  The JS file is in my folder, and I in the zip
file that is pushed to my s3 bucket.  I had to set it aside for a moment to
focus on something else.  I plan on looking at it again tomorrow.  You're
welcome to close this item, though.  I really appreciate all your help!
Chris
On Wed, Mar 22, 2017 at 6:49 PM, Erik Erikson<EMAIL_ADDRESS>wrote:

@wrinkleydog https://github.com/wrinkleydog did your custom code
loading issue also get resolved? Any further questions?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Nordstrom/serverless-artillery/issues/67#issuecomment-288584366,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJa2Yi-gFAhHAI4CqwgIQxl6lw1gAiXcks5rocGNgaJpZM4Mendj
.

Thank you.
WRT troubleshooting the custom code, that is done by the handler, which assumes the custom module is located, relative to itself, in the same location that the module was located relative to the artillery script previously.  The code that does the loading is here: https://github.com/Nordstrom/serverless-artillery/blob/master/lib/lambda/handler.js#L738
Feel free to reach back out to us in a new issue or you can also reach out to us more interactively at https://gitter.im/Nordstrom/serverless-artillery

I ran "npm install" within the module to get rid of that error.


intersection_filter/occlusion_filter?

Hi,Does RadeonRays support user filter function to do alpha-test?
or there is any way can achieve alpha-test?

That would need either:

You to continue casting rays after first-hit and alpha test fail along the same ray
Radeon Rays to accept user-defined "Intersection" and "any-hit" subroutines which can terminate the ray or modify the ray payload (like Nvidia RTX)

Well actually in DXR/RTX "Intersection" Shader cannot modify or read the ray payload

Thanks for your reply.
Well I know,Compare to DXR/RTX,RadeonRays is a toy for children.
I am so disappointed with AMD

I'm not an AMD developer

@zhuyuxiang1994 might actually add this in a PR


Get email template from  storage account

Goes hand in hand with https://github.com/Azure/adx-automation-agent/pull/10

@troydai PTAL :D

@mcardosos  CI


Update pythonsc2

This PR updates pythonsc2 to the latest develop branch.

I've converted this PR to a draft - I'm noting some unresolved issues in Chance that I'll need to address before this is merged (aside from the obvious need to have the tests pass).

I'm just gonna merge this and fix it in develop against all that is good and holy


updated logic to address issue 98

addressed issue raised here: https://github.com/devops-infra/action-pull-request/issues/98
:memo:  Brief description

:computer:  Commits

:file_folder:  Modified files

:warning: Additional information

[ ] Pushed to a branch with a proper name and provided proper commit message.
[ ] Provided a clear and concise description of what the issue is.

Check CONTRIBUTING.md and CODE_OF_CONDUCT.md for more information

Thank you for this. I haven't had such a use case, but in yours, it should really help.


Specify C++ version for portable build

MinGW in Windows now defaults to installing g++ 6.3.0. We discovered that starting with 6.0 the default standard is set to gnu++14 rather than gnu++98. We need to update the build_lib scripts to include the flag "-std=gnu++98". We should probably go ahead and set this for linux and mac as well.

Closed via PR #454.


Documentation, tutorials, libraries, etc.

We've been discussing about consolidating F* libraries, documenting them, refreshing our tutorials etc. in the coming months, e.g., by April 2019. The requirements for this are pretty open ended. Let's use this issue to discuss goals, non-goals and work items towards this task.

[ ] Converge on a style guide
[ ] Apply styling conventions to ulib
[ ] Update our pretty printer to enforce style conventions
[ ] Document ulib: fsdoc or restructured text?

[ ] Standalone sample programs illustrating idiomatic uses of the libraries

[ ] Refresh online tutorial for F* and Low*
[ ] An F* manual, perhaps a reorganization of the wiki
[ ] Standardization of tool usage: remove seldom used, brittle, or non-standard options

Other things?
Please weigh in with your hopes and desires for documentation.
So far, the discussion included the following people:
@aseemr @mtzguido @protz @tahina-pro @catalin-hritcu @danelahman @zoep

Notes from a discussion at a group meeting today regarding improving the F* library:
What kinds of improvements do we foresee?

Settling on a style convention: We should extend https://github.com/FStarLang/FStar/wiki/Style-guide and include documentation style on it too.

Settling on a documentation tool

literate F*?
fsdoc?
@jaybosamiya says: fsdoc seems to work well enough for common usage.
Many like tagged documentation, searchable html etc.

Focusing effort on most current libraries, deprecating old ones

Split library into sub-directories?

math
machine integers
state
low*
legacy
experimental
...?

Might increase discoverability
Namespaces instead?
per-directory README
All sub-directories in the include path by default
Split on different dimensions?
- experimental
- legacy

fsti for all modules

older modules don't have fsti

What about functionality improvements? e.g., making sequences better

would be nice, but is also harder ... breaking changes etc.

Settling on naming conventions

More discoverability

How to find specific lemmas
Search utility in emacs mode? Would be nice to have

Examples of usage

Both inlined small usages
Example usages at a somewhat larger scale, e.g., see Calc

How do we get there?
We hope to make some concrete progress in the next month, presenting improvements to specific modules as exemplars to follow for the rest

fsdoc and literate F*

fsdoc is good for documenting specific, small things, e.g. individual types

module-level descriptions

What does the combination of literate F* and fsdoc look like

@ad-l  and @protz had a suggestion, but I failed to record it properly. Would be great if they can fill it in

Incremental improvements

Regularly assigning 1-2 modules to someone and having them improve
and present their work at F* meetings,

What about structural changes like moving things to different directories

Broad consensus on splitting on quality, e.g., legacy, experimental etc.
Experimental as a staging ground, perhaps some examples move there
Splitting on functional lines less important
Moving .checked files and .hints files elsewhere <--
Aligning namespaces with functionality, e.g., should 'state' be in the name?

Improving existing code by writing an interface etc. is fair game while the rest settles

A proposed revised directory structure (work in progress)

Rename FStar/ulib to FStar/lib

A new directory FStar/lib/legacy contains modules that are deprecated

A new directory FStar/lib/experimental contains modules that will some day make it to the standard library, but are currently still under development and are unstable

Should modules with native implementations in OCaml or C have names
to indicate that?

File name
Rename to?
Move to?
Notes

FStar.Algebra.CommMonoid.fst

FStar.Algebra.Monoid.fst

FStar.All.fst
FStar.Effect.ML

FStar.Array.fst

legacy
Superceded by LowStar.Buffer?

FStar.Array.fsti

legacy
idem

FStar.Axiomatic.Array.fst

legacy
idem

FStar.BaseTypes.fsti

FStar.BigOps.fst

FStar.BigOps.fsti

FStar.BitVector.fst

FStar.Buffer.fst

legacy

FStar.Buffer.Quantifiers.fst

legacy

FStar.BufferNG.fst

legacy

FStar.BV.fst

FStar.BV.fsti

FStar.Bytes.fsti
FStar.Native.Bytes?

FStar.Calc.fst

FStar.Char.fsti
FStar.Native.Char

FStar.Classical.fst
FStar.Squash.Properties?

FStar.Classical.fsti
FStar.Squash.Properties?

Renaming FStar.Classical.fsti into Fstar.Squash.Properties is going to cause even more confusion in my opinion. This module is the first you use as a newcomer whenever a proof doesn't go through with SMT. I would expect a name more like FStar.Logic.fst.

I was thinking yesterday that the per-functionality split (core, native, math, etc) should probably not be made into directories. It makes it harder to find a module when you know its name (but maybe not its class) and pollutes the include paths (+ introduces a question of precedence). If the only reason for this is to make it easier to discover related functionality, perhaps we need to write and maintain a "roadmap" file, or some kind of marker within each file so they can be listed automatically.
The legacy/experimental split into directories does make sense to me, I would expect them to be left out of the include paths and manually added by users if needed, so they know they are doing something fishy.
I would not mind however to use the directory structure to match the module's namespaces, à la Agda/Haskell.

The proposal was based on the observation that fsdoc doesn't render nicely when running a file through fstlit. So, right now, this makes it hard to mix fslit and fsdoc together.
The suggestion was to make fslit aware of fsdoc so that when rendering a file via fslist, fsdoc summaries get interpreted as, say, bold text, and the body of fsdoc gets intepreted as regular restructured text.

Is that table editable in place for others? If not, maybe I should move it to a wiki page where we can all edit.
Some responses to points raised so far:

I like the idea of a roadmap/README briefly describing all the files, e.g., by organizing them into different classes.

I agree FStar.Squash.Properties isn't a great name. I suggested it mainly to call out the similarity to the conventions used for Seq, List, etc. I don't particularly like FStar.Classical---the only thing classical there is the very last excluded_middle lemma. Denis' suggestion of FStar.Logic is okay, but it's also very broad. What about splitting into several modules? FStar.Forall, FStar.Exists, FStar.Implies, FStar.Or (excluded middle could go here), FStar.And, FStar.Equality, … for each of the connectives that this module manipulates.

I'm also not sure about the status of the LowStar namespace or the FStar.Monotonic namespace. What do they signify? Some attempts:

LowStar contains modules that have special extraction status for Kremlin? But, that isn't really correct, since the machine integer modules do not have the LowStar prefix.
FStar.Monotonic: modules that make use of witness/recall? Not really, since witness/recall really are tied to the effect, and FStar.Monotonic.Hyper* is pure.

We also have the Steel namespace in another branch. What convention does it represent?

FStar.Monotonic.X and FStar.X should just be merged into FStar.X (I am to blame for introducing this namespace).
As for LowStar, could we use it for modules that make sense only in the C land? Would HyperStack, HyperStack.ST fall into this category? Machine integers may not since they have OCaml implementation too.

As @mtzguido, I believe that splitting files into subdirectories introduces more problems than it solves. It adds new default include paths and creates confusion about their precedence. It also makes it harder to find a module and grep in files. The only advantage I see is that it unclutters ulib a bit. All this would not feel necessary if we had good indexed and browseable library documentation in HTML, or a working built-in search mechanism (e.g. https://coq.inria.fr/distrib/current/refman/proof-engine/vernacular-commands.html?highlight=search#coq:cmd.search)
It still makes sense to move legacy and experimental modules into subdirectories not in the default include path so as to force users of those modules to be conscious about their nature.
I would have a different opinion if there was some relation between filesystem paths and module names, like in Haskell/Agda/Coq (see e.g. https://coq.inria.fr/distrib/current/refman/language/gallina-extensions.html#libraries-and-filesystem).
A last concern about a massive module renaming is upgrading existing code and annoying users. I think it wouldn't take much effort to keep backwards compatibility by preserving existing modules: e.g. if we split FStar.A in FStar.X and FStar.Y, we could keep FStar.A and just include FStar.X and FStar.Y. We can then mark FStar.A as deprecated and nag users into switching to FStar.X or FStar.Y with an appropriate warning (we will need a module deprecation mechanism like suggested in https://github.com/FStarLang/FStar/issues/1673).

About a massive module renaming: yes, I was thinking of something like you proposed to not break everyone. The module with the old name would include the new ones, go in the legacy directory, and be deprecated. Thanks also for the reminder to #1673.

Note that include has no consequence for type-checking but has more consequences for extraction, with extra checked/krml files + the need to update the -bundle options to kremlin.

As @mtzguido, I believe that splitting files into subdirectories introduces more problems than it solves. It adds new default include paths and creates confusion about their precedence. It also makes it harder to find a module and grep in files. The only advantage I see is that it unclutters ulib a bit. All this would not feel necessary if we had good indexed and browseable library documentation in HTML, or a working built-in search mechanism

Are we proposing subdirectories as a substitute for a README.md or a bit of high-level documentation that would give a tour of ulib, presenting each module and giving a one-sentence summary of what they're supposed to achieve?
This was the intent behind https://fstarlang.github.io/docs/ -- would a more structured version of that landing page suffice?
I am still in favor of moving legacy and experimental files in subdirectories because the intent is that these files should not be discoverable.

Some comments ahead of the discussion:

Managing expectations: improving the libraries will require a lot of dedicated efforts.
Why focusing on a one-shot revision of the library structure? For documentation, precedence, deprecating features, etc I'd also rather rely on language-based mechanisms rather than file paths. That said, in several other projects we ended up putting the .fst in other directories.
Improving the emacs mode or providing some CLI library grep would also help.
Navigating multiple-module libraries is still hard; for example I never know which file to look up for an aspect of the memory model. Tools to aggregate minimal, documented .fsti irrespective of the underlying module structure would help. (Everparse comes to mind, too.)
Do we need guidelines for extraction? E.g. which functions should be marked as inline, or as  no_extract? Do we need guidelines for include vs open vs qualified access? For recommended module name abbreviations?
The bar for upstreaming minor improvements is too high. As a consequence, we end up with useful definitions and abbreviations in second-class libraries in other projects. Maybe we could batch their CI/PR review effort?

For reference, here's the style guide that is enforced by Python for their libraries: https://www.python.org/dev/peps/pep-0257/

Folks, from https://github.com/FStarLang/FStar/pull/1854 it seems pretty clear to me that we need to significantly improve fsdoc in order to use it to generate reasonably formatted documentation independently from the code of our libraries.
My concern now is that we'll be unable or unwilling to document our libraries until the fsdoc tool improves.
Should we just go ahead and document our libraries in code comments associated with every signature. You can browse the documentation locally, of course, or online using linguist in a browser to make it look at least somewhat pretty.
Welcoming opinions from all, pinging a few. @protz @ad-l @aseemr @denismerigoux @jaybosamiya

For generating documentation, would we be better off writing a separate text-processing tool to emit selected parts of a F* module in markdown?
The current fstar --doc implementation parses into the frontend AST and then attempts to print back selected bits while formatting comments and code. Getting that to be perfect still requires quite a lot of work.

Isn't it what fslit does? It doesn't go through the F* AST, right?

yep, that's the fslit model. I'm asking if it makes sense for fsdoc to be similar.

I would be in favor of not gating the documentation on improvements of fsdoc or some other tool. We can write the documentation in comments now so that we at least have the content, and then we can port it to whichever format we decide to use.

Yup, documentation improvements don't need to depend on having improvement on fsdoc yet. If we follow the style that @denismerigoux and I have written for #1854, then it should be fairly straightforward to write a separate tool that can generate code that looks nice. For an example of how I expect the tool to generate markdown/html output, see the comment there (or alternatively https://gist.github.com/jaybosamiya/05f28d6e34c45b73436a835031346c77 which has working hyperlinks too).

See Issue #90 for some other ideas about extending the tutorial

See issue #88 for some ideas about marking up and extracting documentation from F* files

Would be nice to have a dedicated tutorial chapter regarding normalization


Fix crash in ResourceImporterTexture::_save_stex if webp disabled

If module_webp_enabled is set to false in custom.py then Godot will crash as it attempts to reference nullptr'd webp compression methods on saving a StreamTexture.
Bugsquad edit: Fixes #51535.

See: https://github.com/godotengine/godot/issues/51535

Another option would be to make the webp module mandatory instead, to keep things consistent.
If we go this route to allow falling back to png when webp is disabled, there might be more places that need to be adjusted. CC @mortarroad

This is indeed the only call to the lossless webp packer.
However:
WebP has been required for a long time, for example if the lossy format is chosen. It would still crash in that case. It should probably be a mandatory dependency for the editor, since size isn't really a concern here.
I think the way it is currently, it won't crash if the exported project encounters a webp. It will simply not load.
And you can already force encoding to png in the editor settings.
So you can already build the export template without webp.

AFAIK this is only situation where this occurs, so I was unsure how it should be handled.

For the record there's also the FBX module which calls each image format loader without checking validity:
modules/fbx/data/fbx_material.cpp
252:                                    image = Image::_webp_mem_loader_func(fbx_texture_data->Media()->Content(), fbx_texture_data->Media()->ContentLength());

But that's not specific to WebP and should probably be handled in a separate PR, if needed at all.

Thanks! And congrats for your first merged Godot contribution :tada:

Cherry-picked for 3.4.


docs: "copy" button mangles content of Makefile snippet

The rendered docs contain Makefile snippets in some places, e.g.: https://nuttx.apache.org/docs/latest/guides/customapps.html#makefile
The content of the snippet is supposed to be exportable via the "copy" button in the top right corner.
But for the above example only a broken/mangled text is exported:

files

Build targets

Compile C Files

(COBJS): %$(OBJEXT): %.c
(call COMPILE, $<, $@)

Add object files to the apps archive

(call ARCHIVE, libapps.a, $(COBJS))

Create directory links

Setup any special pre-build context

Setup any special pre-configuration context

Make the dependency file, Make.deps

(Q) $(MKDEP) $(ROOTDEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) > Make.dep

Clean the results of the last build

(call CLEAN)

Remove the build context and directory links

Restore the directory to its original state

(call DELFILE, Make.dep)

Include dependencies

The following details are missing:

leading $
leading #
some other lines
indentation (spaces instead of tabs)

The indentation issue is minor, since make (and editors) will complain about mangling, anyway.
But the first two issues (especially missing $) can really take a lot of time to understand/debug (makefile error messages are sometimes hard to grasp).
It looks like copybutton.js causes the issue:
// get filtered text
let exclude = '.linenos, .gp, .go';

The above code snippet causes the removal of all "nodes" with the .linenos, .gp and .go CSS classes.
The .gp class seems to be used for the comment characters (#) and for $.
The .go class is used for most assignments.
The above exclusions are configured in Documentation/conf.py. They were introduced in
14d311ca0ab4eef693f92ca8ad1f97af098157e5 (with the addition of sphinx's "copy button" feature). I assume, .go and .gp can be removed without causing issues.

@btashton could you please take a look?
@xiaoxiang781216 did you face this issue too?

I can look this weekend. Thanks for the report.


Draft README.md changes

@RogerSelwyn, As I tried to re-configure for 3.2.0, I got a little confused by the auth verbiage and why I would want to use either one, so I set out to make sense of it and modify the README in the process. I've embedded questions to you in ALL CAPS in a few spots. Can you please carefully review my proposed changes and unknowns to provide feedback?
I changed the verbiage to consistently use "method(s)" when referring to authentication and "format(s)" for configuration.
Also, why would one use an email_sensor instead of a query_sensor which has more options?

Thank you for taking the time to review and make changes. I've made some changes to it. The bigest one is to remove the two sets of details on authentication from the initial setup instructions. I'd rather keep people on track. If they want to follow up on options, they can dig into the 'Authentication' section.
If you can take a look and comment if needed. I'll merge in the next couple of days.

I've made more changes. One question, is it your editor changing the bullet numbering to 1. instead of 1./2./3.? Or do you know something I don't know about how that will be autonumbered?

It's a markdown trick I recently picked up. Markdown will auto sequence all 1's.

It's a markdown trick I recently picked up. Markdown will auto sequence all 1's.

How does it know when to restart a sequence?

I'm not totally sure, but it has something to do with the line breaks. Here is a little more https://www.markdownguide.org/basic-syntax/#ordered-lists and here https://salferrarello.com/markdown-avoid-auto-numbering/.


fix: fetch all locales from API

Fixes https://github.com/contentful/contentful-migration/issues/157
Previously we did not iterate over all the pages in the API, leading to some locales being left out.
Now entries, content types and locales are all fetched until all pages have been exhausted.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Clean up/onFailure hook needed for failing tests

As a test engineer I would like some form of clean up or onfailure hook added to Scenarios so that I can do any sort failure based cleanup of any objects created during the scenario.
Currently I need to manually delete objects in the back end if one step in a scenario fails.

one reason why I am going slow on this is - what is the guarantee that the clean up hook executes correctly. which is why I think most testing approaches attempt to do all work (including potential clean-up) in the before / setUp phase

closing due to inactivity

@KramKroc note this will be implemented in #257


feat. adding new blog for Types update

feat. adding new blog for Types update

Obligatory GIF (super important!)

:hammer_and_wrench: Type Of Change

These types will increment the version number on release:

[ ] Fix
[ ] Feature
[ ] Performance Improvement
[ ] Refactor

These types will not increment the version number, but will still deploy to documentation site on release:

[x] Documentation
[ ] Build system
[ ] CI
[ ] Style (code style changes, not css changes)
[ ] Test
[ ] Other (chore)

:book: Jira Ticket

https://dialpad.atlassian.net/browse/DLT-1624
:book: Description
Author a blog post communicating this change.

:bulb: Context

:pencil: Checklist

For all PRs:

[x] I have ensured no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).
[x] I have reviewed my changes.
[x] I have added all relevant documentation.
[x] I have considered the performance impact of my change.

👀 Oooh niiice. I'll refrain from reviewing yet since you have it as as Draft. But dang, this is beyond what I hoped for. 💪

@francisrupert @braddialpad Thank you so much for all the feedback! 🙌 I just pushed an updated version of the post. Let me know your thoughts!


Cert directory needs to be included in container volume mounts

Commit 4b98d26
Steps to reproduce

Enabled HTTP SD in harvest.yml and enable TLS support.
Generate compose bin/harvest generate docker full --output harvest-compose.yml --image rahulguptajss/harvest:nightly
Start containers docker-compose -f prom-stack.yml -f harvest-compose.yml up -d --remove-orphans

Poller fails to start
3:02PM INF ./poller.go:178 > log level used: info Poller=simple1
3:02PM INF ./poller.go:179 > options config: /opt/harvest.yml Poller=simple1
3:02PM FTL goharvest2/pkg/util/util.go:230 > TLS is enabled but cert path is invalid. Poller=simple1 config=/opt/harvest.yml ssl_cert=admin-cert.pem

This will also effect client certificate auth

commitid doesn't seem correct. rest zapi diff PR doesn't touch this code.

Let's discuss it today. We may need to change admin to generate cert in a folder rather than in root.

We should mount the cert directory. That's needed for client certificate auth. After that we can update the documentation or generate in the cert directory.

[ ] change admin cli to generate cert in cert folder


[Laravel 6.0] Error display broken for view error with mix.browserSync

Laravel Mix Version: 4.1.4
Node Version (node -v): 12.9.1
NPM Version (npm -v): 6.10.2
OS: Windows

Description:
Raw display of JS file on view error:

Steps To Reproduce:

Fresh install of Laravel 6.0
Add mix.browserSync({proxy: 'localhost:8000'}); to webpack.mix.js
Replace welcome.blade.php content with {{ 1/0 }} (to trigger Division by zero exception)
Run npm run watch
Open http://localhost:3000/

Expected
The nice error display we have in http://localhost:8000/ (dispay with Facade\Ignition\Exceptions\ViewException)
Observed

Original issue: https://github.com/laravel/framework/issues/29909

PR #2227 will fix this

Great, thanks.

Hi @JeffreyWay the stale bot locked this issue, but the PR is still open for 2 months and get no comments and was not merged. Please re-open.