fix(plugins) config.anonymous = "" in auth plugins

Fix https://github.com/Kong/kong/issues/5653
We could not configure an auth plugin with config.anonymous="" in CE 2.0
or EE 1.5.
It also broke users that had config.anonymous="" configured. To
reproduce, create an auth plugin with config.anonymous="" (empty string)
in 0.13, then upgrade all the way to 2.0.
This is the breaking change: https://github.com/Kong/kong/pull/5552

We have three options to fix it:
(a) a migration;
(b) start special-casing "" to mean null for this field in the code of
these plugins;
(c) add legacy back to those anonymous fields of string type fields,
meaning that in legacy fields "" auto-translates to null
This is the execution of (c).

This PR is essentially Kong/kong#5552 but with the legacy = true marker enabled and some tests added in the auth plugins to ensure we can configure an auth plugin with config.anonymous="".

I'm wondering if it's better to just write a migration instead of always relying on the legacy = true field. If we don't write a migration then I guess we will always need the legacy field. Is that right?

config.anonymous="" works fine with multipart/form-data and application/x-www-form-urlencoded it is only with JSON that we do not do any inferring. I think if we really want it on JSON should we consider to add inferring to JSON too?

@bungle config.anonymous="" in JSON worked fine in 0.13 to 1.5. It's just that in 2.0 we can't do it. Maybe it's because of https://github.com/Kong/kong/pull/5552?

@murillopaula, it is related to this: https://github.com/Kong/kong/pull/5231

We never intended to do inferring with JSON, but JSON implemented custom api that needed to figure out the subschema to run the inferring process. That code didn't skip that for JSON (whereas for every other entity we did, like core daos).

#5231 added the check for JSON and thus the inferring went away even for the plugins.

The obvious question is still that what I said above.
If we want this to be done, should it be general. Should we start inferring plugins and not daos again? Should we infer JSON as well. And when it comes to inferring, should it be all that we have or only empty string and perhaps some other stuff (strings to numbers/booleans).
I feel like it is not a bug, it is rather re-introducing the bug. @hishamhm, your take on this?

Yes, I wish this worked:
http post :8001/routes paths=/

Thus I usually tend to just add -f to every request now:
http post :8001/routes paths=/ -f

@bungle Is #5231 out in 2.0 yet? I don't think it's related to it. The current problem does not happen If I revert https://github.com/Kong/kong/pull/5552/commits/9d93183d6be0cb39549da0188bedd3487c17f6df.
It's documented that we can do config.anonymous="" in all the auth plugins. I believe we should be able to do it in all three content types, including JSON. I don't have context on why we infer things with multipart and urlencoded but not with JSON.
In #5552 we removed the legacy field and I believe that is a breaking change. Users that had  config.anonymous="" in legacy versions and upgraded to 2.0 will hit the issue reported at #5653
How we can solve this considering the three options in this PR's description? Correct me if I'm wrong, but if we write a migration (convert "" to null) as per option (a), we will still not be able to do config.anonymous="".
I don't think it's possible to do option (b) either because the error is a validation error thrown by the schema library:
2020/05/11 15:14:05 [error] 4256#0: *13 [kong] handler.lua:252 [jwt] failed to load anonymous consumer:failed to get from node cache: [postgres] length must be at least 1, client: <IP_ADDRESS>, server: kong, request: "GET /local HTTP/1.1", host: "localhost:8002"
Stack traceback:
---------+, client: <IP_ADDRESS>, server: kong, request: "GET /local HTTP/1.1", host: "localhost:8002"
2020/05/11 16:22:26 [notice] 4543#0: *95 |[kong] init.lua:validate_field:923 "empty" "stack traceback:\n\t./kong/db/schema/init.lua:923: in function 'validate_fie|, client: <IP_ADDRESS>, server: kong, request: "GET /local HTTP/1.1", host: "localhost:8002"
2020/05/11 16:22:26 [notice] 4543#0: *95 |ld'\n\t./kong/db/dao/init.lua:622: in function <./kong/db/dao/init.lua:615>\n\t[C]: in function 'xpcall'\n\t/usr/local/s|, client: <IP_ADDRESS>, server: kong, request: "GET /local HTTP/1.1", host: "localhost:8002"
2020/05/11 16:22:26 [notice] 4543#0: *95 |hare/lua/5.1/resty/mlcache.lua:741: in function 'get'\n\t./kong/cache.lua:227: in function 'get'\n\t./kong/plugins/jwt/h|, client: <IP_ADDRESS>, server: kong, request: "GET /local HTTP/1.1", host: "localhost:8002"
2020/05/11 16:22:26 [notice] 4543#0: *95 |andler.lua:246: in function <./kong/plugins/jwt/handler.lua:229>"                                                       |, client: <IP_ADDRESS>, server: kong, request: "GET /local HTTP/1.1", host: "localhost:8002"

So I just did (c) in this PR as the only option left. LMK if I'm missing something or if there are other ways to fix this.

@murillopaula the #5231 is very related:
I am referring to these:
https://github.com/Kong/kong/pull/5231/files#diff-172eb877db3ebba181fb7814865e167dR79-R82

I don't have context on why we infer things with multipart and urlencoded but not with JSON

I tried to give that context above. JSON has types, things like arrays, objects, numbers and boolean, and yes even null. The application/x-www-form-urlencoded and multipart/form-data has just string key and string value (same key could appear more than once).
It was decided that as JSON is expressive in itself, we should not try to do anything to it. Because doing stuff to input is error prone as well.
{
  "name": "key-auth",
  "config.key": "test"
}

This is already wrong. It should be:
{
  "name": "key-auth",
  "config": {
    "key": "test"
  }
}

Adding special treatment to config.consumer="" with JSON just feel plain wrong. Then people ask why I can do it for that and not for some other. It makes things inconsistent. If we document it like that with JSON then we could also fix docs.
In < 1.0 we had special quite handy array syntax too:
http put :8001/routes paths="/cat,/dog"

But it really caused problems too.

So if we split this issue in two:

what input should be allowed (and my stand for now is that no inferring for JSON -> no changes needed for that)
what to do with plugin code, especially PDK that is erroring on empty string, does PDK even expect UUID or does it work with username as well?

Problem with legacy is that the field is not legacy. The schema is updated to new version and the field is not legacy anymore, and it should not be marked as such. We should get rid of legacy altogether.
So out of those we need to solve 2 for now.
Some options:

use read transformation to translate anonymous "" to nil or null or what it needs to be.
on read just remove (set nil) all currently invalid fields (or set them to null)
add migrations
treat "" as nil/null everywhere, which makes it impossible to have empty strings anymore, same goes with empty arrays.
start doing inferring with JSON (full or just some?)
just fix the plugins to check if the string is empty before feeding it to function that chokes because of it
loosen up the PDK validation on this and make it treat empty string as null.

these might have issues too (e.g. plugin that accepts "" as special value or something because the writer of plugin wanted to keep everything backward compatible and didn't want to write migrations).

@murillopaula oh I stand corrected, the #5231 is unrelated, but this is the one I wanted to link:
https://github.com/Kong/kong/pull/5191
That is the reason for the JSON "" not working anymore (as it never should).

@bungle

I tried to give that context above. JSON has types, things like arrays, objects, numbers and boolean, and yes even null. The application/x-www-form-urlencoded and multipart/form-data has just string key and string value (same key can appear more than once).

Understood. Thank you for explaining.

Adding special treatment to config.consumer="" with JSON just feel plain wrong. Then people ask why I can do it for that and not for some other. It makes things inconsistent. If we document it like that with JSON then we could also fix docs.

Ok, so assuming the docs are incorrect that config.anonymous="" is allowed I guess we don't need to worry about config.anonymous="" anymore.

Empty strings are just never allowed:
{
  "message": "schema violation (config.anonymous: length must be at least 1)",
  "name": "schema violation",
  "fields": {
    "config": {
      "anonymous": "length must be at least 1"
    }
  },
  "code": 2
}

So if we split this issue in two:

Agree

what input should be allowed (and my stand for now is that no inferring for JSON -> no changes needed for that, perhaps only docs updates)

Strong agree, no inferring for JSON. Inferring only exists for form-encoded because that is an ill-defined format.

what to do with plugin code, especially PDK that is erroring on empty string, does PDK even expect UUID or does it work with username as well (should pdk be more forgiving, i guess returning nil when empty string is given is not that problematic)?

Problem with legacy is that the field is not legacy. The schema is updated to new version and the field is not legacy anymore, and it should not be marked as such. We should get rid of legacy altogether.

Accepting "" to mean null there is legacy behavior.

So out of those we need to solve 2 for now.

Agree.

Some options:

Thank you @bungle for the analysis.
Hard -1 on options 2, 4, 5, 7 as they relax existing type checking.
The option of marking this behavior as legacy should still be on the cards (let's call it option 8). Right now I tend to favor it because of one important reason: this is legacy behavior that should not be promoted anymore. (Come to think of it, this is a point against options 1 and 6 because they tend to present this behavior as "acceptable", and would end up being copied by new plugins).
So, I think it should be between options 3 and 8.
I would personally go with 8 — as I said in another offline communication: "Unless you guys want to write a migration which would have to scan inside the JSON of plugin configs, but I wouldn't bother." — It's a lot more work than option 8 which is already implemented.

@hishamhm I was talking with @bungle online and right now we don’t allow empty strings (see https://github.com/Kong/kong/blob/master/kong/db/schema/init.lua#L920-L923).
If we don’t allow empty fields why not translate them on read? For example, here: https://github.com/Kong/kong/blob/master/kong/db/schema/init.lua#L1616-L1623 we set to nil fields that are not defined in the current schema version.
So what if we do a check like:
    if context == "select" and field.type == "string" and data[key] == "" then
      data[key] = nil
    end

To fix this? So that if a string is empty in the DB we just translate it on read? This code works for me locally. The advantage is that it's less invasive than the current proposed implementation. We don't have to bring back the legacy field and we also don't allow empty "" strings in the schemas of plugins.

Let's see if this is green or red:
https://github.com/Kong/kong/commit/968ebd3fce02d2ba69eed07c4703247a74a77f52


Updates readme instructions for setting up layout

Updates the instructions in the Readme for setting up layout. It removes a deprecation warning.
Phoenix logs:
.warning: Rendering the child template from layouts is deprecated. Instead of:

    <%= render(@view_module, @view_template, assigns) %>

You should do:

    <%= @inner_content %>

Thanks!


Project paperwork

[x] cabal package
[x] classification
[x] license
[x] short description
[x] quickcheck test suite
[x] stack, ignore

[ ] cabal package
[ ] classification
[ ] license
[ ] short description
[ ] quickcheck test suite
[ ] stack, ignore

done


wayland support

I would really like to run gmrun under wayland.  Is there a path for supporting wayland in gmrun?  maybe gtk4?

What is wrong with gtk 3 and wayland?

Oh I don't know, I guess I wasn't aware the gtk3 supported wayland.  Does gmrun support wayland currently?  I'm running a pure wayland system and when I try to launche gmrun I get:
servo:~ 0$ gmrun
(gmrun:138263): Gtk-WARNING **: 09:56:28.297: cannot open display:
servo:~ 1$
"""
What do I need to do to get it to work with wayland?  I'm running debian trixie/sid.

Gmrun should not care about Wayland, it already use the toolkit. I use it
on labwc, and even if it does not work it should fallback to X11, you have
other issues.
On Sat, Jul 6, 2024, 18:58 Jameson Graef Rollins @.***>
wrote:

Oh I don't know, I guess I wasn't aware the gtk3 supported wayland. Does
gmrun support wayland currently? I'm running a pure wayland system and when
I try to launche gmrun I get:
servo:~ 0$ gmrun
(gmrun:138263): Gtk-WARNING **: 09:56:28.297: cannot open display:
servo:~ 1$
"""
What do I need to do to get it to work with wayland?  I'm running debian trixie/sid.
—
Reply to this email directly, view it on GitHub
https://github.com/wdlkmpx/gmrun/issues/20#issuecomment-2211819028, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEICQFBG4QU547W6IYVNDZLAO4DAVCNFSM6AAAAABKNUCEO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJRHAYTSMBSHA
.
You are receiving this because you commented.Message ID:
@.***>

gmrun in debian does not work on wayland, so I'm trying to figure out what the issue is.  If you think upstream supports wayland that's great, I'll try to figure out what's wrong with the debian packages.
I'm not interested in running X anymore, so I'm not running Xwayland.

FYI I recompiled the latest upstream with gtk3 and it works fine on my wayland system.  I will help get the debian package recompiled against gtk3 as well.  Thanks for the patience and feedback.


vpt2 analysis

initial vpt2 working again
xfail the tests that are b/c weird vintage of psi4 driver findif/opt mech

Codecov Report

Merging #15 into master will decrease coverage by 0.78%.
The diff coverage is 8.39%.

@@            Coverage Diff             @@
##           master      #15      +/-   ##
==========================================
- Coverage   44.83%   44.05%   -0.79%
==========================================
  Files          76       78       +2
  Lines       12379    12908     +529
==========================================
+ Hits         5550     5686     +136
- Misses       6829     7222     +393

Impacted Files
Coverage Δ

qcdb/driver/__init__.py
100% <100%> (ø)
:arrow_up:

qcdb/__init__.py
91.66% <100%> (+0.23%)
:arrow_up:

qcdb/util/__init__.py
100% <100%> (ø)
:arrow_up:

qcdb/driver/pe.py
63.63% <12.5%> (+6.49%)
:arrow_up:

qcdb/intf_cfour/jajo.py
3.37% <3.37%> (ø)

qcdb/util/internal.py
54.54% <42.85%> (-20.46%)
:arrow_down:

qcdb/intf_cfour/runner.py
25.31% <7.69%> (-3.08%)
:arrow_down:

qcdb/driver/vpt2.py
8.16% <8.16%> (ø)

qcdb/intf_cfour/harvester.py
11.11% <8.33%> (-0.92%)
:arrow_down:

qcdb/molecule/libmintspointgrp.py
55.36% <0%> (-0.31%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

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


[BUG] ClientSecretAccessTokenProvider -  Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature

I'm trying to authenticate my storage account client using MSI. I've tried multiple different ways and all of them are raising the same error message:
Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature
I am able to get the Bearer token, when I am trying to pass it to the blob client and tried to access one of the operations, it raises this error.
attempts using:
Azure.Storage.Blobs;
Azure.Identity;
Microsoft.Azure.Storage.Blob
WindowsAzure.Storage
same error for all of them.
PS: I do have an app on the Azure Activie Directory with the right permissions and a valid client secret.

Hi @thdotnet, thanks for reporting this - I am tagging the right teams to have a look at this


App throwing exception when trying to log in.

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cachet.carp_studies_app/net.openid.appauth.RedirectUriReceiverActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

https://github.com/openid/AppAuth-Android/issues/1023
This seems to be fixing the issue but then when loading the invitations page activity, the app crashes

Can this be closed @Panosfunk?


feat(#316): Refactor Parsing of Attributes and Arguments

In this PR I introduced Arguments class that encapsulates logic of parsing invocation arguments.
Removed duplicated parsing logic of Attributes.
Moved Constructor parsing logic into the corresponding class.
Add one more unit test related to constructors parsing.
Related to #316.
History:

feat(#316): parse attributes in a single place.
feat(#316): simplify code in several places
feat(#316): add Arguments class
feat(#316): use Arguments class
feat(#316): add one more puzzle
feat(#316): add one more test for Constructor parsing
feat(#316): fix all the code offences

PR-Codex overview
The focus of this PR is to refactor attribute extraction methods and introduce a new Parser interface for XML to AST node transformation.
Detailed summary

Refactored attribute extraction methods in Attributes and Constructor classes
Introduced a Parser interface for XML to AST node transformation
Replaced attribute extraction methods with new Attributes constructor in This, StaticInvocation, and LocalVariable classes
Updated constructor in Constructor class to use Parser for parsing subnodes
Introduced Arguments class for handling invocation arguments in Constructor and InterfaceInvocation classes

The following files were skipped due to too many changes: src/main/java/org/eolang/opeo/ast/InterfaceInvocation.java, src/test/java/org/eolang/opeo/ast/ConstructorTest.java, src/main/java/org/eolang/opeo/compilation/XmirParser.java

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 5min)


Whatsapp doesn't work on Ferdi

Bug description:
Whatsapp doesn't work with this version of chrome. It will have chrome version 60+.
Steps to reproduce:
Add whatsapp to Ferdi.
Expected behavior
Whatsapp opens.
Screenshots

Environment:

Operating System: macOS 11.4 (20F71)

Ferdi Version: 5.5.0 (<IP_ADDRESS>6)

Server: Ferdi

Debug information:
Debug Information

Please upgrade to the latest 5.6.0 that just got released a few mins ago. Whatsapp should work.

Thanks!


remove sql_0001

Checklist

[x] I grant to recipients of this Project distribution a perpetual,
non-exclusive, royalty-free, irrevocable copyright license to reproduce, prepare
derivative works of, publicly display, sublicense, and distribute this
Contribution and such derivative works.
[x] I certify that I am legally entitled to grant this license, and that this
Contribution contains no content requiring a license from any third party.

For me, https://rhashimoto.github.io/wa-sqlite/demo/file/ currently throws:
TypeError: Failed to resolve module specifier "comlink". Relative references must start with either "/", "./", or "../".

I believe the unused sql_0001 import is the cause since it imports Comlink. (IDK for sure, I can't get dev to work on my machine >_>)

Not sure how I did that. Thanks for the fix!


Artificer bug with Ancient Scepter

the scepter gives me what seems to be electrocute's scepter version when i have flamethrower in my loadout
message.txt

Uploaded a fix for it, lemme know if it's still bugged.


Fix unbounded memory growth when using no-cached-fetch

When OpenSSL has been compiled with no-cached-fetch we do not cache algorithms fetched from a provider. When we export an EVP_PKEY to a provider we cache the details of that export in the operation cache for that EVP_PKEY. Amoung the details we cache is the EVP_KEYMGMT that we used for the export. When we come to reuse the key in the same provider that we have previously exported the key to, we check the operation cache for the cached key data. However because the EVP_KEYMGMT instance was not cached then instance will be different every time and we were not recognising that we had already exported the key to the provider.
This causes us to re-export the key to the same provider everytime the key is used. Since this consumes memory we end up with unbounded memory growth.
The fix is to be more intelligent about recognising that we have already exported key data to a given provider even if the EVP_KEYMGMT instance is different.

This issue was originally reported to openssl-security, but this appears to be just a bug. There does not seem to be anyway for this incorrect behaviour to be under attacker control.

I have not added a test for this. The incorrect behaviour doesn't cause any functional misbehaviour, or an actual memory leak. It just causes memory growth. I could not think of a way to test this.

This pull request is ready to merge

Pushed to master/3.2/3.1/3.0


Move azure-synapse-* from VersionPreview to VersionGA

The version format of these packages is of a GA format. Found this while working on docs.ms onboarding script.
See also "azure-cognitiveservices-anomalydetector" where a 0.x.y version is filed under VersionGA.
@weshaggard

After checking with the team these docs should not be in GA. This move is not necessary.


'x' is missing in props validation when extending interface and another type present with 'Prop' in it's name

When Props are extending an interface that is imported AND another type is present with the name 'Prop' in it, react/proptypes is throwing a false positive.
<EMAIL_ADDRESS>
How to reproduce
This is OK
interface PropsBase {
	foo: string;
}

type RenderProps  = {
	something: string;
}

interface Props extends PropsBase {
	bar: string;
}

const MyComponent = ({ foo, bar}: Props): JSX.Element => {
	return (

			{foo} {bar}

	)
}

export {
	MyComponent,
}

This shows an error: 'foo' is missing in props validation
PropsBase.ts
interface PropsBase {
	foo: string;
}

MyComponent.tsx
import { PropsBase } from './PropsBase';

interface Props extends PropsBase {
	bar: string;
}

type RenderProps  = {
	something: string;
}

const MyComponent = ({ foo, bar}: Props): JSX.Element => {
	return (

			{foo} {bar}

	)
}

export {
	MyComponent,
}

This is expected - it’s the limits of static analysis. The linter can’t read other files, so it has no idea that foo exists in the other file.

I'm getting this error without extending another type. I get it from the components created from a freshly installed storybook.js.
import React from "react";
import "./button.css";

export interface ButtonProps {
  /**
   * Is this the principal call to action on the page?
   */
  primary?: boolean;
  /**
   * What background color to use
   */
  backgroundColor?: string;
  /**
   * How large should the button be?
   */
  size?: "small" | "medium" | "large";
  /**
   * Button contents
   */
  label: string;
  /**
   * Optional click handler
   */
  onClick?: () => void;
}

/**
 * Primary UI component for user interaction
 */
export const Button: React.FC<ButtonProps> = ({
  primary = false,
  size = "medium",
  backgroundColor,
  label,
  ...props
}) => {
  const mode = primary
    ? "storybook-button--primary"
    : "storybook-button--secondary";
  return (
    <button
      type="button"
      className={["storybook-button", `storybook-button--${size}`, mode].join(
        " "
      )}
      style={{ backgroundColor }}
      {...props}
    >
      {label}
    </button>
  );
};

Why was #2654 closed then ?


New paper page should have text inputs for title, venue, and year

Scenario
When a user visits the new paper page
Then the page should render
Hints
A paper management system manages papers in addition to authors.
Papers should have a 'title' and a 'venue' string as well as a 'year' integer, indicating publishing date.
Papers should be manageable by users using views similar to authors.
Instead of generating the paper model and all the needed controllers and views separately (for new, create, read, update, etc.), use a Rails scaffold.
It generates a model, a database migration, controller and views, and a basic suite:
rails generate scaffold paper title:string venue:string year:integer
Take a look at the generated files and adapt the tests.
The new migrations need to be applied: rails db:migrate RAILS_ENV=development && rails db:migrate RAILS_ENV=test
Error

Got NameError: undefined local variable or method `new_paper_path' for #RSpec::ExampleGroups::NewPaperPage:0x0000000004c0adb0
Did you mean?  new_author_path

20/44 exercise tests have passed

Sorry, it's not working for me yet:
Scenario
When a user visits the new paper page
Then the page should render
Error

Got NameError: undefined local variable or method `new_paper_path' for #RSpec::ExampleGroups::NewPaperPage:0x0000000004142590
Did you mean?  new_author_path

If you have problems solving this task, please don't hesitate to contact the teaching team!


useMutations doesn't work with full nested namespace

Hi there!
Perhaps I'm misreading the documentation but from what I can tell, both of these should work but don't.
This works just fine:
const { toggleEdit } = useMutations("ProductStore/ProductPrimaryStore", [
    "toggleEdit"
]);

However this does not:
const { toggleEdit } = useMutations( [
    "ProductStore/ProductPrimaryStore/toggleEdit"
]);

I would love to be able to declare all my mutations from ProductStore at once if possible, so something like this:
const { toggleEdit, anotherMutation } = useMutations("ProductStore", [
    "ProductPrimaryStore/toggleEdit",
    "some/other/namespace/within/ProductStore/anotherMutation"
]);

I'm currently using the latest version of Vue 2 with the latest version of vue-use-utilities.
Thanks!

@oliverh-cf Hi, friends,
@vueblocks/vue-use-vuex is just similar with Vuex Component Binding Helpers
So you could find out the vuex docs about namespacing
Binding Helpers with Namespace
When binding a namespaced module to components with the mapState, mapGetters, mapActions and mapMutations helpers, it can get a bit verbose:
computed: {
  ...mapState({
    a: state => state.some.nested.module.a,
    b: state => state.some.nested.module.b
  }),
  ...mapGetters([
    'some/nested/module/someGetter', // -> this['some/nested/module/someGetter']
    'some/nested/module/someOtherGetter', // -> this['some/nested/module/someOtherGetter']
  ])
},
methods: {
  ...mapActions([
    'some/nested/module/foo', // -> this['some/nested/module/foo']()
    'some/nested/module/bar' // -> this['some/nested/module/bar']()
  ])
}

In such cases, you can pass the module namespace string as the first argument to the helpers so that all bindings are done using that module as the context. The above can be simplified to:
computed: {
  ...mapState('some/nested/module', {
    a: state => state.a,
    b: state => state.b
  }),
  ...mapGetters('some/nested/module', [
    'someGetter', // -> this.someGetter
    'someOtherGetter', // -> this.someOtherGetter
  ])
},
methods: {
  ...mapActions('some/nested/module', [
    'foo', // -> this.foo()
    'bar' // -> this.bar()
  ])
}

In your case, if you pass the full nested namespace string as the arguments
const { toggleEdit } = useMutations( [
    "ProductStore/ProductPrimaryStore/toggleEdit"
]);

We should be get named ProductStore/ProductPrimaryStore/toggleEdit drestructuring function.
like this:
...useMutations( [
    "ProductStore/ProductPrimaryStore/toggleEdit"
]); => this['ProductStore/ProductPrimaryStore/toggleEdit']()

Thanks for the detailed explanation! However what your showing doesn't seem to be working properly.
Running this:
const { toggleEdit } = useMutations("ProductStore/ProductPrimaryStore", [
  "toggleEdit"
]);

properly returns the function as expected. But when I pass the full nested namespace string as an argument:
const { toggleEdit } = useMutations([
  "ProductStore/ProductPrimaryStore/toggleEdit"
]);

toggleEdit is undefined.
Sorry for any confusion!

@oliverh-cf
you could console this
console.log(useMutations([
  "ProductStore/ProductPrimaryStore/toggleEdit"
])) // -> this['ProductStore/ProductPrimaryStore/toggleEdit']()

then in Vue instance we get a function named ProductStore/ProductPrimaryStore/toggleEdit
if you expect a function that named toggleEdit, you should provide the namespace.


cost tracking by ARN

Is your feature request related to a problem? Please describe.
I'd like to be able to track acquired cost per task, after  task has been executed.
When I submit a task to Aquila it may take a week until it gets executed. You provide the construct, which requires the Tracker()  context to be active for the duration of the job.
from braket.tracking import Tracker
ahs_prog=ahs_problem()
with Tracker() as tracker:
        task = device.run(ahs_prog, shots=shots)
        results=task.result()
print('status=%s, cost tracker, charge/$:'%task.state(),tracker.simulator_tasks_cost())

It takes a week+ for Aquila job to get executed and it is unrealistic to expect a  program on my laptop maintains AWS connection for that long. If I want to  place 20 jobs in the queue I'd need to  keep 20 copies alive for that long.
Describe the solution you'd like
Given a list of ARNs I'd like to construct a CSV table contacting information reported by
tracker.simulator_tasks_cost()
tracker.quantum_tasks_statistics() # preferably too

using a Python script executed on a terminal.
Describe alternatives you've considered
Open 20 notebook for 20 submitted jobs and not close my laptop for a week+, until all complete.

Thank you for the request, this would be a nice feature addition to the cost tracking currently offered in the Braket SDK. Could you help us understand some more context around your use case? Are you wanting the cost tracking for informational purposes? Are you trying to use the cost for control flow in your code? Or something else?
Have you tried the AWS wide tools offered by Cost Explorer and AWS Budgets?

It is for informal cost tracking purposes.
I have not tried yet the tools you mentioned. Can you point me to a tutorial?
I need nothing fancy, just a basic request for the cost of the list of jobs.

👋 I'm on the product team for Braket - cost management is a theme we are planning to expand on. In the interim, these two links shed light on AWS Cost Explore and Budgets. They provide higher level information for the Braket service, but your point on asking for granular cost information is valid.
AWS Cost Explorer
AWS Budgets

Following up on Cost Explorer, I've responded to your issue in amazon-braket-examples with instructions to view costs by ARN, both programmatically and through the console!


correct function reference

I came across this while brewing elm. I don't know what I am doing, but the change seems reasonable looking at it.

The build failure looks unrelated to the change, "no rakefile found"

It appears that libraryVersion isn't actually used anywhere. @evancz may prefer just removing it altogether.

@evancz what is the status here?

Still "No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)", perhaps unsurprisingly

The code structure has changed a lot in preparation for 0.19, so I think it would have been long before this was initially opened that this code moved to a different repo.
I do not know what "brewing" means here, but there are many ways a Haskell build can fail. Since the development build now lives entirely in elm-lang/elm-compiler, I think it makes sense to close.

"brewing" here means building with homebrew (building and installing om Mac OS X) per this recipe: https://github.com/Homebrew/homebrew-core/blob/master/Formula/elm.rb -  which has since had the patch applied to allow building.


TakeFirst vs Returning multiple elements found

Post on mailing list from Rakan:
Hello,
I've posted about scraping multiple images using DDS previously on this group. However, i discovered that if you're capturing an article (example) with a body inside multiple paragraph tags, you'll only get the first one. Digging through this detail, i found out that the DjangoSpider was defining:

_get_processors
procs = [TakeFirst(), processors.string_strip,]
as the default processors
and
self.loader.default_output_processor = TakeFirst()

Do you think this was a correct design decision given that it adds the restriction of ending up with 1 element only xpath or regex? I believe DDS should allow the flexibility of returning multiple elements and users would need to use TakeFirst in case they only need the first element.
Thanks,
Rakan

Basically this is the implementation i had in one of my projects using DDS. It basically takes all values, strips them and returns the non-empty values.


Added FactsUI and ProblemsUi to get project output

Checklist
The PR https://github.com/uselagoon/lagoon-cli/pull/249 introduced the ability to directly set the factsUi and problemsUi fields for a project.
Added factsUi and problems Ui to lagoon-cli/pkg/lagoon/projects/main.go and  internal/lagoon/client/_lgraphql
Changelog Entry

closes #252


have net-ssh request a pty

The issue we face is basically described here: https://github.com/net-ssh/net-ssh/issues/103: when train tries to execute a command using sudo, and the target system's sudoers config contains requiretty, the call will fail with something like
$lib/train/extras/command_wrapper.rb:131:in `load': Sudo failed:  sudo: sorry, you must have a tty to run sudo (Train::UserError)

The way forward would be to request a pty, with example code here.
@chris-rock @arlimus What do you think about that?

Requesting a PTY is an incredibly tricky thing, as it eats up STDERR. There is a way to get around that with explicit pipes for each output... feel free to confirm

Trying to approach this with #30.

A quick (and hopefully not-too-intrusive) workaround would be adding a sudoers config for the user used for logging into the machine, e.g. /etc/sudoers.d/chef:
chef ALL=(root) NOPASSWD: ALL
Defaults!ALL !requiretty

I've been looking into this a little more:
So if you request a PTY, the server will no longer separate stderr from stdout. This is true regardless of the fact if we use a forked ssh client or request the PTY using Net::SSH, so both variants need the same workaround.[1]
Just for this issue, I suggest we try using the workaround with the existing net-ssh, instead of implementing something to "fork and supervise that process, feeding it input and capturing its output". From my investigations, there's no real go-to solution out there. Mixlib-Shellout does not support feeding the command something on standard input, so we'd be limited to spawn one ssh process for every run_command(cmd), which is terrible. (And using expect et al. on a shell session is terrible, too.)
[1]: The obvious workaround being that when we run_command(cmd), we rewrite it to #{cmd} 2>#{unique_temp_name}, and send a second command that cat && rms that file.

If it helps, having this same issue when running kitchen test on the aws cookbook using Amazon linux default-amazon-201509 and chef-12.9.38-1.el6

Is this bug fixed yet? I got the same problem when I run kitchen test:

------Exception-------
Class: Kitchen::ActionFailed
Message: Failed to complete #verify action: [Sudo failed: Sudo requires a TTY. Please see the README on how to configure sudo to allow for non-interactive usage.]

I am using CentOS 7 on AWS.

I bootstrap nodes on AWS using knife and use the cis-el7-l1-hardening::enable_sudo_no_tty recipe in the run list to allow me to later add the nodes to Compliance. Here's the cookbook containing the recipe: https://supermarket.chef.io/cookbooks/cis-el7-l1-hardening

This is now fixed by #112 and is available in version 0.13+ If the problem still occurs, please reopen the ticket.

Unfortunately this did not resolve the issue specific to being unable to sudo in absence of a tty. With the latest verison from master, using train to ssh into a node with Default: requiretty set still results in the following:
`load': Sudo failed: Sudo requires a TTY. Please see the README on how to configure sudo to allow for non-interactive usage. (Train::UserError)
The change to supply keyboard-interactive to list of auth methods only affects the ssh protocol negotiation of supported auth methods. It doesn't subsequently  change any attributes of the session itself after ssh authentication is completed.

@marcparadise Would it be possible to provide a reproducible use case, so that we can follow that error?

Time allowing, I'll try to package something up that requires less typing - but I'm not sure I'll have a chance today. In case I'm not able, here are the steps that should do it:

uncomment/added 'Default: requiretty' to the /etc/sudoers of a linux vm (or even your dev system if you want to skip the vm setup), flavor shouldn't matter.
verify that it's working as expected via direct ssh as:  ssh<EMAIL_ADDRESS>-t -i path-to-key -p port-no  -C 'sudo ls /'

private key and port info  can be obtained through vagrant ssh-config.
If defaulttty is set, this should give an error about tty required for sudo.

Once that's confirmed, create a sudo-enabled train connection and use run_command:

t = Train.create('ssh', ... host, port, user, maybe-password, maybe-key...
                  sudo: true, sudo_password: a-password)
t.connection.run_command("ls -l /")

@sr could we add a way to just force train to use a TTY - then we could use that flag when we create the connection?

Side note @chefsalim: @sr != me on GitHub. ;)

Reproducing the issue, this is running this test script:
require 'train'

t = Train.create('ssh', host: '<IP_ADDRESS>', port: '2200', user: 'vagrant', password: 'vagrant', sudo: true, pty: true);
puts t.connection.run_command("ls /")

against builder1, where I've enabled the Defaults: requiretty setting in /etc/sudoers
omnibus (BP-221/ignore-spurious-validation-keys)* (0)$ bundle exec ruby test.rb
D, [2016-07-01T12:41:46.537099 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil}> (/usr/bin/sw_vers)
D, [2016-07-01T12:41:46.537199 #19208] DEBUG -- : [SSH] opening connection to vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compre
ssion=>false, :compression_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :k
eys=>nil, :password=>"<hidden>", :forward_agent=>nil}>
D, [2016-07-01T12:41:46.667378 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (uname -s)
D, [2016-07-01T12:41:46.676656 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (uname -r)
D, [2016-07-01T12:41:46.686189 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f oracle-release && cat oracle-release)
D, [2016-07-01T12:41:46.695327 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/enterprise-release && cat /etc/enterprise-release)
D, [2016-07-01T12:41:46.705075 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/debian_version && cat /etc/debian_version)
D, [2016-07-01T12:41:46.714207 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/parallels-release && cat /etc/parallels-release)
D, [2016-07-01T12:41:46.724162 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/redhat-release && cat /etc/redhat-release)
D, [2016-07-01T12:41:46.733460 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/os-release && cat /etc/os-release)
D, [2016-07-01T12:41:46.743713 #19208] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (sudo echo)
/Users/stephan/Src/chef/train/lib/train/extras/command_wrapper.rb:139:in `load': Sudo failed: Sudo requires a TTY. Please see the README on how to configure sudo to allow for
 non-interactive usage. (Train::UserError)
        from /Users/stephan/Src/chef/train/lib/train/transports/ssh_connection.rb:44:in `initialize'
        from /Users/stephan/Src/chef/train/lib/train/transports/ssh.rb:149:in `new'
        from /Users/stephan/Src/chef/train/lib/train/transports/ssh.rb:149:in `create_new_connection'
        from /Users/stephan/Src/chef/train/lib/train/transports/ssh.rb:73:in `connection'
        from test.rb:4:in `<main>'

running with the branch of #121:
$ bundle exec ruby test.rb
W, [2016-07-01T12:44:23.420787 #19317]  WARN -- : [SSH] PTY requested: stderr will be merged into stdout
D, [2016-07-01T12:44:23.424289 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil}> (/usr/bin/sw_vers)
D, [2016-07-01T12:44:23.424357 #19317] DEBUG -- : [SSH] opening connection to vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compre
ssion=>false, :compression_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :k
eys=>nil, :password=>"<hidden>", :forward_agent=>nil}>
D, [2016-07-01T12:44:23.552807 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (uname -s)
D, [2016-07-01T12:44:23.563305 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (uname -r)
D, [2016-07-01T12:44:23.574042 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f oracle-release && cat oracle-release)
D, [2016-07-01T12:44:23.582849 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/enterprise-release && cat /etc/enterprise-release)
D, [2016-07-01T12:44:23.593597 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/debian_version && cat /etc/debian_version)
D, [2016-07-01T12:44:23.603236 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/parallels-release && cat /etc/parallels-release)
D, [2016-07-01T12:44:23.612180 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/redhat-release && cat /etc/redhat-release)
D, [2016-07-01T12:44:23.623362 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (test -f /etc/os-release && cat /etc/os-release)
D, [2016-07-01T12:44:23.635252 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (sudo echo)
D, [2016-07-01T12:44:23.652958 #19317] DEBUG -- : [SSH] vagrant@<IP_ADDRESS><{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2200", :compression=>false, :compres
sion_level=>0, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :auth_methods=>["none", "password", "keyboard-interactive"], :keys_only=>nil, :keys=>nil, :password=>"
<hidden>", :forward_agent=>nil, :user=>"vagrant"}> (ls /)
#<struct Train::Extras::CommandResult stdout="/etc/profile.d/lang.sh: line 19: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory\r\nbin
dev  home  lib64\tmnt  proc  run\t shared  sys  usr      var\r\nboot  etc  lib\t media\topt  root  sbin  srv\t tmp  vagrant\r\n", stderr="", exit_status=0>

Thank you @srenatus for the log!


Selection / Search is limited to 999 items

VSCode Version: 1.1.1
OS Version: Windows 10 Pro (1511; 10586.318)

Hello,
there seems to be some 999 entries / items / whatever limit for selections, searches and so on:

Can this be addressed?
Some option to change the limit?

https://github.com/Microsoft/vscode/issues/5887

I've run into this problem while trying to xml and json files with an average of 5-10 lines per root array's objects/items and it is extremely frustrating, particularly if I'm trying to find out how many entries there are of a given term (forcing me to turn to the much slower Dreamweaver program for such things).


Feature suggestion/idea: Edge-to-edge swipes reserved for global/system wide navigation

This is more of a brainstorm post than an actual suggestion - as of yet at least.
I like navigating with swipes, and love e.g.  the Quick Launch app. I think it could make sense to extend the idea of Quick Launch and Swipe to clock to be available no matter what app I am on, also if that app leans heavily on swipes for interactions. Then, a way to distinguish between swipes that should be picked up by the current foreground app, and ones that should fire global navigation would be if edge-to-edge swipes were reserved by this global navigation, be it in an app or firmware.
If I imagine there were one action per edge-to-edge swipe there could be at least up to 12 different 'slots' to fit functionality in. Here I count swipes between opposing sides, and between adjacent sides.

Could this be implemented in the global swipe event?
It seems swipe events can fire even while the finger is still on the screen. (tested by doing a short swipe and then not removing the finger from the screen)
It's nice for the feeling of responsiveness that swipe events are called as soon as possible - a good thing about how things work now. Maybe this would be hard to keep if implementing the idea of edge-to-edge for navigation, since one would (presumably) have to wait until the finger left the screen to decide what to do.
I guess it would have to be coded with the drag event?
I probably think this should be optional.
Maybe gestures a la Pattern Launcher or Swipe Keyboard is smarter. Although I personally don't like that idea as much.

Please add to the brainstorm!

Right now we get a notification of swipes direct from the touchscreen controller, so we'd have to implement some special detection on top of what the touchscreen does.
However, I feel like we have the ability right now to do this with an extra app (eg pattern launcher or swipe to launcher) - I'm not sure there's really a reason to impose this on all users if they can just install an app that works they way they want?

Yes, I agree implementing it as an app makes more sense. I'll see if I ever get to it :P


implement query sandbox

It'd be nice to have a web interface for running SELECT queries without needing to open the database connection to the outside world. Maybe something is reusable from the SQLFiddle codebase?

Boilerplate: I'm going to refocus this project on rfcbot, since that's the primary usage rusty-dash.com is seeing.


How can I change the TX address

Hi,
how can I change the TX address?
I noticed that there is address change event in the bleno file which listens to the address of the BLE device, is there a way to possibly be able to change that address?
I'm using the following BLE module if that helps :
https://www.asus.com/uk/Networking/USBBT400/
if its easier to change the TX address of the BLE module on a raspberry pi 3 then I would love to do that?

alternativly , when I set the foloowing in the hci.js file :
cmd.writeUInt8(0x01, 9); // own addr typ
it changed the TX address to 00000000 , can I change that to something either than 00000000?

alternativly , when I set the foloowing in the hci.js file :
cmd.writeUInt8(0x01, 9); // own addr typ
it changed the TX address to 00000000 , can I change that to something other than 00000000?

This is not supported by this library.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1977 ms

Resolved: Bofrost.at performance has improved in 9067e81 after 6 minutes.


where find example code in coloud-native-java

i just find the traning code in the safari.
but i just want get the example code in the book.
help~

I couldn't find them either!


Separate Documentation Website Rather Than Using GitHub Wiki

Github Wiki it is not the most effective thing for creating comprehensive and user-friendly documentation. I suggest creating a separate documentation site, which would allow for better organization and presentation of information.
Two potential options for creating such a site are Docusaurus and Material for Mkdocs, both of which have a variety of features that could be useful for the documentation needs.

Agree, although github pages would be ideal since it would be part of here, but not complicated like the wiki

It's very hard to search for things on GitHub's wiki, Docusaurus looks very promising.

This requires updating the Wiki. Back in my day Adonis didn't have a wiki! We had to hike 5 miles in the freezing cold searching for code snippets. Kids like you have it easy! Quit complaining! I'll hit you with my Zimmer frame!

Calm down P3foodtray

So you guys want a non-GitHub wiki

would be cool but kind of useless at the same time, someone would probably just make a PR, screw up half of the documentation, and no one would care lol. not really sure what much there is to document anyway outside of settings file stuff.

Yea


Remove unavailable link from docs/testing-frameworks

Summary
The Web Components example is pointing to a Stack Overflow Documentation page, a service that was discontinued.
Since no other information is provided besides the link, I removed this from the documentation.
Ideally a new resource should be added, but I don't have any suggestions.
Test plan
I was unable to build the website (a package is incompatible with my system), but since this is a simple documentation change, I decided to submit it anyway.

Thank you!

Codecov Report

Merging #4652 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4652   +/-   ##
=======================================
  Coverage   57.13%   57.13%
=======================================
  Files         194      194
  Lines        6565     6565
  Branches        3        3
=======================================
  Hits         3751     3751
  Misses       2814     2814

Continue to review full report at Codecov.

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


NanoCount: error: unrecognized arguments: NanoCount

Hello
Our MasterOfPores user is trying to use the NanoCount option in the counter_opt parameters.
But then she received the following error when running her pipeline:
Process `counting (fast5)` terminated with an error exit status (2)

Command executed:

NanoCount -i fast5.minimap2.sorted.bam -o fast5.count NanoCount;
awk '{sum+=$3}END{print FILENAME" "sum}' fast5.count |sed s@.count@@g > fast5.stats
samtools view -F 256 fast5.minimap2.sorted.bam |cut -f 1,3 > fast5.assigned

Command exit status:
2

Command output:
(empty)

Command error:
usage: NanoCount [-h] [--version] -i ALIGNMENT_FILE [-o COUNT_FILE]
[-l MIN_READ_LENGTH] [-f MIN_QUERY_FRACTION_ALIGNED]
[-t EQUIVALENT_THRESHOLD] [-s SCORING_VALUE]
[-c CONVERGENCE_TARGET] [-e MAX_EM_ROUNDS] [-x] [-v] [-q]
NanoCount: error: unrecognized arguments: NanoCount

the NanoCount -i fast5.minimap2.sorted.bam -o fast5.count NanoCount;  command is generated from  the nanopreprocess.nf file
it is also using the biocorecrg-mopprepr-0.6.img container to run the commands.

@lucacozzuto or @ADelgadoT , do you have any suggestions on this ?
We will probably need to modify the Nanocount parameter or we need to use another version of the biocorecrg-mopprepr img container.

@lucacozzuto or @ADelgadoT , do you have any suggestions on this ?
We will probably need to modify the Nanocount parameter or we need to use another version of the biocorecrg-mopprepr img container.

Hi,
To use NanoCount in MoP, you don't need to write NanoCount in the counter_opt parameter in the params.config file. MasterOfPores will run NanoCount if you are mapping to the transcriptome and the counter parameter is YES.
Your params.config file should contain the following lines to run NanoCount:
ref_type = "transcriptome"
counter = "YES"

The parameter counter_opt is used to introduce additional parameters to NanoCount command,  for example, to only take into account primary alignments, etc. [https://adrienleger.com/NanoCount/NanoCount_CLI_usage/].
I can run NanoCount with MoP when using these options - tell me if it works for you too.
Thanks,
Anna

Hi,
To use NanoCount in MoP, you don't need to write NanoCount in the counter_opt parameter in the params.config file. MasterOfPores will run NanoCount if you are mapping to the transcriptome and the counter parameter is YES.
Your params.config file should contain the following lines to run NanoCount:
ref_type = "transcriptome"
counter = "YES"

The parameter counter_opt is used to introduce additional parameters to NanoCount command,  for example, to only take into account primary alignments, etc. [https://adrienleger.com/NanoCount/NanoCount_CLI_usage/].
I can run NanoCount with MoP when using these options - tell me if it works for you too.
Thanks,
Anna

Hi Anna
THe end user reported that is now working for her with those settings.
The ticket can be closed.

Hi Anna
THe end user reported that is now working for her with those settings.
The ticket can be closed.


Dev Test:  Fourier: Making Waves 1.1.0-dev.5

Dev Test
Mentions: @arouinfar @kathy-phet @KatieWoe
Simulation links

github repository for issues
phet top-level directory
sim: all_phet.html

Test Matrix
Please include all (non-screen reader) feature testing in these records if applicable.

[x] Latest macOS, Safari (Time = 2) (Tester = NS)
[x] Latest iOS, Safari (Time = 1) (Tester = KW)
[x] Windows 10/11, Firefox (Time =2 ) (Tester = MM)
[x] Windows 11, Chrome (Time = 2) (Tester = KW)
[x] Latest Chrome OS, Chrome (Time = 2) (Tester = NS)

Light testing, or optionally skip if time crunch:

[ ] Latest macOS, Chrome (Time = ) (Tester = )
[x] Windows 10, Chrome (Time =1.5 ) (Tester =MM )

Features included

PhET-iO
Dynamic Locale (new in 1.1)
Alternative Input (present in 1.0)
UI Sound (present in 1.0)
Sonification
Description
Voicing

Focus and Special Instructions
Please do a memory test.
We are re-publishing this sim to make it easier to do MRs, and to pick up some of the new standard features. In addition to a typical dev test, please compare to the published version for regressions or unexpected changes.
To test the Wave Game screen, the following query parameters may be useful:

showAnswers - shows the correct values below each amplitude slider in the "Wave Game" screen
rewardScore - the score required to see the reward, defaults to 5.

Issues to Verify
These issues have the "status:ready-for-review" label. Unless an issue says to close after verifying, assign the issue back to the developer.

[x] https://github.com/phetsims/fourier-making-waves/issues/225
[x] https://github.com/phetsims/fourier-making-waves/issues/222
[x] https://github.com/phetsims/fourier-making-waves/issues/56
[x] https://github.com/phetsims/fourier-making-waves/issues/246

For QA...

General features

What to Test

Click every single button.
If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Try to include browser version numbers
If there is a console available, check for errors and include them in the Problem Description.
Run through the string tests on at least one platform, especially if it is about to go to rc.
Check the Game Up harness on one platform.

PhET-iO features

What to Test

Make sure that public files do not have password protection. Use a private browser for this.
Make sure that private files do have password protection. Use a private browser for this.
Make sure standalone sim is working properly.
Make sure the wrapper index is working properly.
Make sure each wrapper is working properly.
Launch the simulation in Studio with ?stringTest=xss and make sure the sim doesn't navigate to youtube
For newer PhET-iO wrapper indices, save the "basic example of a functional wrapper" as a .html file and open it. Make
sure the simulation loads without crashing or throwing errors.

Accessibility features

What to Test

Specific instructions can be found above.

Make sure the accessibility (a11y) feature that is being tested doesn't negatively affect the sim in any way. Here is
a list of features that may be supported in this test:

Alternative Input
Interactive Description
Sound and Sonification
Pan and Zoom
Mobile Description
Voicing

Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.
Test all keyboard navigation inputs (if applicable).
Test all forms of input with a screen reader (if applicable).

Screen Readers
This sim may support screen readers. If you are unfamiliar with screen readers, please ask Katie to introduce you to
screen readers. If you simply need a refresher on screen readers, please consult the
QA Book, which should have all of the information
you need as well as a link to a screen reader tutorial made by Jesse. Otherwise, look over the a11y view before opening
the simulation. Once you've done that, open the simulation and make sure alerts and descriptions work as intended.

Platforms and Screen Readers to Be Tested

Windows 10 + Latest Chrome + Latest JAWS
Windows 10 + Latest Firefox + Latest NVDA
macOS + Safari + VoiceOver
iOS + Safari + VoiceOver (only if specified in testing issue)

Critical Screen Reader Information
We are tracking known screen reader bugs in
here. If you find a screen reader bug,
please check it against this list.

Keyboard Navigation
This sim supports keyboard navigation. Please make sure it works as intended on all platforms by itself and with a
screen reader.
Magnification
This sim supports magnification with pinch and drag gestures on touch screens, keyboard shortcuts, and mouse/wheel
controls. Please test magnfication and make sure it is working as intended and well with the use cases of the
simulation. Due to the way screen readers handle user input, magnification is NOT expected to work while using a screen
reader so there is no need to test this case.

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

1.1.0-dev.5 has been deployed for this issue.

QA is done

Thanks QA. All issues have been addressed except for https://github.com/phetsims/fourier-making-waves/issues/259 (Memory Leak).  RC coming soon...


Fresh Instllation: Call to undefined method Yiisoft\Yii\Bootstrap5\Assets\BootstrapAsset::publish()

What steps will reproduce the problem?

fresh github installation of yii2 basic
install bs5 via composer / packagist repo
connfigure AppAsset.php like this:
AppAssets.php
[...]

public $depends = [
        'yii\web\YiiAsset',
        'Yiisoft\Yii\Bootstrap5\Assets\BootstrapAsset', // this line
    ];

load page

What is the expected result?

no error

What do you get instead?
vendor/yiisoft/yii2/web/AssetManager.php:
Call to undefined method Yiisoft\Yii\Bootstrap5\Assets\BootstrapAsset::publish()
*/
 protected function loadBundle($name, $config = [], $publish = true)
 {
     if (!isset($config['class'])) {
         $config['class'] = $name;
     }
     /* @var $bundle AssetBundle */
     $bundle = Yii::createObject($config);
     if ($publish) {
         $bundle->publish($this);
     }

     return $bundle;
 }

 /**
  * Loads dummy bundle by name.
  *
  * @param string $name

Additional info

Q
A

Version
2.0.41

PHP version     7.4.9

Operating system debian

This package doesn't work with yii2 applications.


termdebug: fix winbar config

Problem:  Despite having winbar disabled in g:termdebug_config, the
termdebug plugin will still end up creating the winbar in certain
situations. Such as when called from GotoSourcewinOrCreateIt().
Solution: Check for winbar inside InstallWinbar(), additionally use a
force parameter to ensure explicit :Winbar commands are respected.

I'll include it, thanks.


Update chef dependency to ~> 12.5

Chef::PolicyBuilder::Dynamic was added in Chef 12.5, so that is now our minimum version. I also added an explicit require for it, though it should get brought in from require 'chef'

:+1:

Accidental close there, sorry.

:+1:


Missing pack.js file in the npm module

Is it possible to add the highlight.pack.js file to the npm module of highlight.js? I want to the client-side highlight.js pack file in my npm module.
I'm creating an html reporter for the stryker mutation testing framework, and i want to deliver the pack file next to the index.html file of my report, so i can load it in the browser.
I know i could also accomplish this with the bower dependency, but i don't feel like a mandatory bower dependency is appropriate for an html reporting tool.

Is this still and issue/question/concern?


Incorrect webview height after resume or rotate on iOS

On iOS devices the webview is intermittently the wrong height when an app is resumed (e.g. when you switch to another app then back again) or when the screen is rotated, extending behind the banner ad at the bottom of the screen. This occurs regardless of whether we're using default UIWebView or the Apache/Ionic WKWebView implementation.
The issue sometimes resolves itself when the ad changes, and you can work around the issue by calling admob.banner.show() in a document "resume" or window "orientationchange" event handler.

Same problem. Please help.


Switch Travis to use OpenJDK 8

Coverage increased (+0.01%) to 90.068% when pulling 0abacfe13eb6e5bcf96df43b7edc82ad6f37efe8 on travis-upgrade-jdk into f1ff2311830b7b1406f0f1d2f32d8d8fa2e450c9 on master.


Server should validate that the node secret is valid

Right now it will accept every key. Fix that.

closed in 2a92c41b3be3cedbd277a95449ec678c9854f6b3


[Feature request] Sortable Ingreedient list by mod

It is nice to see how EMI groups certain items like the creative tab so that vanilla+ items like potions or enchantment books are grouped.
But the problem I have is that sometimes mods make "a mess" in the creative tag grouping and I would like if possible to have something similar to JEI's ingredient-list-mod-sort-order config file, where I can sort the mod order in the list.
This is mostly because most of my Add-on mods are all over the place. I have items from Ars that are 5 pages apart, and some of my Create add-ons are all over the place. So would be nice to make a "grouping " list like this to are least keep an idea of the "what comes after" format of the list. (I do enjoy having all the liquids and effects grouped together by the end of the list.)

I second that, I came to check if it was already requested
JEI has this feature, in config/jei/ingredient-list-mod-sort-order.ini, which is a must when having multiple mods with addon, like the already mentionned Ars and Create, especially when the autosorter goes alphabetically, but treat all lower case as before upper case, so "create: things and misc" is 60 pages before "Create"
Having a config file/listing would allow for real control over the sorting, like being able to group magic mods, food mods, tech mods, etc


get-latest-tag action not reporting latest tags correctly

Environment
Github action: actions-ecosystem/action-get-latest-tag@v1
What is happening?
the actions-ecosystem/action-get-latest-tag@v1 action at times yields the latest tag incorrectly (see the upstream issue https://github.com/actions-ecosystem/action-get-latest-tag/issues/13).
For covalent, this mean sometime the changelog.yml get the incorrect latest git tag that causes further issues downstream when pushing the changes to main.
How can we reproduce the issue?
Happens occasionally, when merging a PR into develop that subsequently causes a merge to master
What should happen?
push_to_master step must fail
Any suggestions?
Do not use the get-latest-tag@v1 action instead revert to using the git command git describe --abbrev=0

git describe will have the same problem as action-get-latest-tag, in fact all the action does is git describe
https://github.com/actions-ecosystem/action-get-latest-tag/blob/b7c32daec3395a9616f88548363a42652b22d435/entrypoint.sh#L16
The right way to do this is to use the /tags API
https://docs.github.com/en/rest/repos/repos#list-repository-tags

@scottwn would this work
latest_tag=$(curl   -H "Accept: application/vnd.github+json" https://api.github.com/repos/AgnostiqHQ/covalent/tags | jq -r '.[0].name')

instead of curl, use request-action, like this
https://github.com/AgnostiqHQ/covalent/blob/cdc6c459ef71a5f9cc3d5df656372cd63fc78791/.github/workflows/changelog.yml#L62-L70

We may be able to stick with git describe
Another possible solution is to check for inequality rather than equality, so only do the push to master if the version is greater than, rather than not equal to
you can use compare-version to check the inequality https://www.npmjs.com/package/dpkg-compare-versions

Summary of how this bug arose:

tests#4425 (bump to 184.2) timed out and did not create a tag or a release
tests#4440 (bump to 185.0) ran properly and correctly identified 184.1 as the most recent tag.  a tag and release was created
changelog#389 ran properly and did not bump 185.0 since the commit was a docs-only change
tests#4446 (triggered by changelog#389) improperly identified 184.0 as the most recent tag in master and attempted to create a release


Integer overflow check in memory allocation

Synopsis
The copy of RSSwizzle embedded in TrustKit uses an unchecked outside value to allocate memory. The PR adds integer overflow protection to the memory allocation size.
Attack Details
This code was flagged by automated static security scanners at Yahoo. The vulnerability details are https://cwe.mitre.org/data/definitions/190.html
The scanner message:
Signed_Memory_Arithmetic issue exists @ TrustKit/TrustKit/Dependencies/RSSwizzle/RSSwizzle.m
Signed integer strlen at line 73 of TrustKit\TrustKit\Dependencies\RSSwizzle\RSSwizzle.m specifies size of memory to allocate.

Proposed Fix
Added a simple integer overflow check to the code: if (strlen(x) > strlen(..)+2) {...}. When this case is true, the Swizzling is aborted.
Impact
There is no realistic failure path that doesn't impact the library. In the event of integer overflow in the objective-c type specifier, I added return NO, effectively declining to swizzle the method. The alternative is to allow the integer overflow, which will almost certainly crash the containing program. I would say that the impact of having this fix is "less severe" than not having it.

Thanks for the PR! I'm curious: can you say which tool was used to find this?

I'm really not too sure what they're using. The scanner automatically generates Jira tickets that get assigned to the responsible team. The Mitre link was provided in the ticket.


Objective-C issues

When I use SkyFloatingLabelTextField in storyboard(interface builder) in objective-c project, I had key-value compliant error.
what is best practice to use in Storyboard in objective-c?

That should not be a problem. We're using SkyFloatingLabelTextField in storyboard in Objc. How do you install SkyFloatingLabelTextField, CocoaPods, Carthage?

Yes, sorry, it was my mistakes due to other problem.


XYZ-5 New compliance section in admin_console

Summary
Add compliance secction to admin_console and move message export and data
retention sections to this new compliance section.
Ticket Link
XYZ-5
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Has UI changes

Rebased and merging to master :)


nixos-unstable blocked on evaluation error “error: unexpected EOF reading a line”

nixos-unstable has been blocked for a week, and currently fails to evaluate with the dreaded error: unexpected EOF reading a line, which gives no information about where the real failure originated.
Previous/related issues:

#83647
#99236
#108304
#143937
NixOS/hydra#728
NixOS/hydra#822
NixOS/hydra#1025
#143216
#144044
#152427
#160202

The failure is almost surely running out of memory.  At least that's what was reported several days ago.

Hydra has done many evaluation attempts in the past few days, as I increased the frequency to 10/day in hope that at least sometimes we could get lucky and fit the RAM, but apparently we're too high now.  Now I also tried with empty limitedSupportedSystems.
/cc @grahamc

I wonder if that limitedSupportedSystems change broke it to
{UNKNOWN}: Died at /nix/store/19xkba2a2psaknwn09yi76sdmxm4l0d9-hydra-0.1.20220222.a254612/bin/.hydra-eval-jobset-wrapped line 802. at /nix/store/2d7iizyv1mkg6wklbsv92qzkq0vizn7j-hydra-perl-deps/lib/perl5/site_perl/5.34.0/Catalyst/Model/DBIC/Schema.pm line 526

I suspect that some success exceptions a week ago were thanks to lower RAM usage soon after evaluator restart.  No idea why it would happen, but that's what I thought after looking at the graphs of ceres https://monitoring.nixos.org/grafana/d/hkRCcV0mk/instance-metrics?orgId=1&from=1645236595934&to=1645487941388  with usage only very rarely getting low (<20%), like some kind of "memory leak".

On my system, with the version of hydra-unstable in nixpkgs, hydra-eval-jobs -I . nixos/release-combined.nix --option allow-import-from-derivation false --verbose dies with
error: aggregate job 'tested' references non-existent job 'nixos.tests.nano.x86_64-linux'

presumably due to

#161707

With the newer version of hydra-unstable from #160202, this isn’t fatal to hydra-eval-jobs (NixOS/hydra#1025), though I’m guessing it would still be channel-blocking.

Thanks, dropped in 18bd82edcc7.

Wow, we got a successful evaluation: https://hydra.nixos.org/eval/1746348
It's a shame that the "Evaluation Errors" tab is so often unusable (in our practice).

OK, so I dropped aarch64-linux from limitedSupportedSystems, as it seems better than not getting any evaluation, but we're apparently near our RAM limits.  Locally the eval succeeded with 32G RAM:
$ hydra-eval-jobs nixos/release-combined.nix -I . --verbose

Is it happening again? one week without untable updates already.

Is it happening again? one week without untable updates already.

I got this update yesterday, and for today, I don't know what is happening, it's seems to be stuck indeed (https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents).

I can't see anything stuck.  nixos-unstable is on a two-days old commit, evals happen every day.  You need to be more specific about what you think is wrong.

You need to be more specific about what you think is wrong.

I'm not saying something is wrong on my side. However, from my NixOS rookie eye, I just have the impression that sometimes builds are really fast to be done (like the last 3 successful builds 2 days ago) and sometimes they stay much longer and I have the impression that something is stuck somewhere.

Sorry, is the nixpkgs-unstable the one blocked.

Yes, that's because our darwin resources were low, so it's been taking longer.

Yes, that's because our darwin resources were low, so it's been taking longer.

Yes indeed, it's extremely slow.

8 days already, versionitis is killing me :smile: .

Thanks to the foundation and Graham, the evaluator was migrated to a much more powerful machine.  So these RAM issues shouldn't happen anymore, and I lifted the temporary restriction of aarch64-linux from the primary jobset, since https://hydra.nixos.org/eval/1753830

Let's close this; so that we don't accumulate more not-that-much related issues into the same thread.

the evaluator was migrated to a much more powerful machine. So these RAM issues shouldn't happen anymore

@vcunat @grahamc Out of interest, how much RAM does that machine have? I would like to know how much one should provision for this type of task.

And the new sufficient one?

I don't know exactly, but the RAM insufficiency came just from the large number of NixOS tests in a single evaluation.  100k normal builds in a single evaluation was OK.

I think I saw Hetzner AX101 mentioned on Matrix? (that would be 128 GB)


fheroes2: 0.9.20 -> 0.9.21

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for fheroes2 is: "Free implementation of Heroes of Might and Magic II game engine"
meta.homepage for fheroes2 is: "https://github.com/ihhub/fheroes2"
meta.changelog for fheroes2 is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.9.21 with grep in /nix/store/sqqg4s49iw9pdalid56acz2vc5mjk9wf-fheroes2-0.9.21
found 0.9.21 in filename of file in /nix/store/sqqg4s49iw9pdalid56acz2vc5mjk9wf-fheroes2-0.9.21

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
fheroes2

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/sqqg4s49iw9pdalid56acz2vc5mjk9wf-fheroes2-0.9.21 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A fheroes2 https://github.com/r-ryantm/nixpkgs/archive/c4627f3540f0b05bca803166010cc140834585a3.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/sqqg4s49iw9pdalid56acz2vc5mjk9wf-fheroes2-0.9.21
ls -la /nix/store/sqqg4s49iw9pdalid56acz2vc5mjk9wf-fheroes2-0.9.21/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

fheroes2

Maintainer pings
cc @karolchmist for testing.


Validator::make() function does not validate 'unique' rule while model update scenario

Laravel Version: 6.5.2
PHP Version: 7.2.19
MYSQL 5.7.24

Description:
I am using 'unique' rule with Validator::make() function. (I can use $this->validate() in controller but due to some reason i am having to use Validator::make() function, anyway)
Validator::make() does not works according to the expections while editing a model while it works perfect while creating a model.
Model Create Case: (Works fine)
Validator::make($request->all(), ['number' => "unique:racks"]
Model Update Case: (Does not works fine)
Validator::make($request->all(), ['number' => "unique:racks,id,$id"]
When I pass column name and the value of column as above, Laravel does not validate the request and let it go further into the app and raises Database exception (SQLSTATE[23000]: Integrity constraint violation)
When I try the same rule 'unique:racks,id,$id' in update scenario with $this->validate() method in controller, Laravel validation WORKS fine and when I use
$this->validate($request, ['number' => "unique:racks"]) in update scenario (note that I have removed the column name and its value from rule) laravel shows errors. i.e Laravel is checking uniqueness on the same model
In short:
Model Create Case:

Validator::make($request->all(), ['number' => "unique:racks"] ==> works fine
$this->validate($request, ['number' => "unique:racks"])        ==> works fine

Model Update Case:

Validator::make($request->all(), ['number' => "unique:racks,id,$id"]  ==> Does not works fine
$this->validate($request, ['number' => "unique:racks,id,$id"])        ==> works fine (and note If I remove column name and its value from rule, then it does not work as expection while Validator::make() works)

Your second validation rule is incorrect, the column name is "missing" (i.e. id is used instead):
Validator::make($request->all(), ['number' => "unique:racks,number,id,$id"]

@staudenmeir , There is a typo in the error description described above but the error is still there.
I have retested the model edit case couple of times but the problem is same. i.e. instead of generating proper validation error, laravel is throwing exception generated by the database.
In edit case, the following line skips unique check on the current model (that is correct) but I we intentionally give some value that already exist in the DB, then the following line produces error.
Validator::make($request->all(), ['number' => "unique:racks,id,$id"]
For example:
user 1 has<EMAIL_ADDRESS>while
user 2 has<EMAIL_ADDRESS>Now If we open the user2 in edit form and update its email with user1's email, then the following rule throws exception instead of generating the proper validation error.
Validator::make($request->all(), ['email' => "unique:users,id,$id"]
I hope this will clarify you.
@themsaid , I have retested the edit model case couple of times, but the error is still there, please have a look at it.
Thanks

Validator::make($request->all(), ['number' => "unique:racks,id,$id"]

This is still the incorrect rule, not the one I posted. The same goes for the second rule.

@staudenmeir , Can you please let me know what's wrong with above rule.
p.s. $id will be replace by actual numeric value of the model and you would know that a variable can be passed in double quotations.
Thank you


Profile submission

VSCode Version: Code - Insiders 1.13.0-insider (af2752dad442341000b0bf95861b91ecd8263ca0, 2017-06-02T05:14:12.971Z)
OS Version: Windows_NT ia32 10.0.14393
CPUs: Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz (4 x 2594)
Memory (System): 3.96GB (0.79GB free)
Memory (Process): 152.23MB working set (159.03MB peak, 128.85MB private, 39.05MB shared)
Load (avg): 0, 0, 0
VM: 20%
Initial Startup: yes
Screen Reader: no
Empty Workspace: yes
Timings:

Component
Task
Time (ms)

main
start => app.isReady
338

main
app.isReady => window.loadUrl()
567

renderer
window.loadUrl() => begin to require(workbench.main.js)
2257

renderer
require(workbench.main.js)
1149

renderer
create extension host => extensions onReady()
4804

renderer
restore viewlet
0

renderer
restore editor view state
1794

renderer
overall workbench load
2531

main + renderer
start => extensions ready
9529

main + renderer
start => workbench ready
6854

300e_main.cpuprofile.txt
300e_renderer.cpuprofile.txt
:warning: Make sure to attach these files: :warning:
-C:\Users\Buttelli\300e_main.cpuprofile.txt
-C:\Users\Buttelli\300e_renderer.cpuprofile.txt

Actually nothing suspicious here... Closing without concrete actions but be assured that this Nov we'll solely focus on general performance improvements. Thanks and Happy Coding.


Add error log if duplicate NGINX IDs are found

Proposed changes
Add error log if duplicate NGINX IDs are found due to multiple NGINX instances running.
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[ ] I have read the CONTRIBUTING document
[ ] I have run make install-tools and have attached any dependency changes to this pull request
[ ] If applicable, I have added tests that prove my fix is effective or that my feature works
[ ] If applicable, I have checked that any relevant tests pass after adding my changes
[ ] If applicable, I have updated any relevant documentation (README.md)
[ ] If applicable, I have tested my cross-platform changes on Ubuntu 22, Redhat 8, SUSE 15 and FreeBSD 13

Codecov Report
Patch coverage has no change and project coverage change: -0.23% :warning:

Comparison is base (556f51e) 66.44% compared to head (8e012b9) 66.21%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #477      +/-   ##
==========================================
- Coverage   66.44%   66.21%   -0.23%
==========================================
  Files         118      118
  Lines       13390    13400      +10
==========================================
- Hits         8897     8873      -24
- Misses       3903     3938      +35
+ Partials      590      589       -1

Files Changed
Coverage Δ

src/core/nginx.go
43.19% <0.00%> (-0.62%)
:arrow_down:

... and 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


⚠ Bofrost.si has degraded performance

In 4fb99f1, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 200
Response time: 2142 ms

Resolved: Bofrost.si performance has improved in 9576721 after 6 minutes.


Vector maps are not working properly

A JS error appear in the console, for example, visit this URL:
https://team.carto.com/u/xavijam/builder/348ae8d1-398f-4384-a291-1e46d613645d/embed?state={"map"%3A{"ne"%3A[40.4381939106248%2C-3.7640190124511723]%2C"sw"%3A[40.605742384748446%2C-3.5593986511230473]%2C"center"%3A[40.522020496272425%2C-3.66170883178711]%2C"zoom"%3A13}}
Error:
tracker.js:15 TypeError: [Tangram] Unable to render layer with the following cartoCSS:
#layer {
  marker-width: 7;
  marker-fill: #FFB927;
  marker-fill-opacity: 0.9;
  marker-line-color: #FFF;
  marker-line-width: 1;
  marker-line-opacity: 1;
  marker-placement: point;
  marker-type: ellipse;
  marker-allow-overlap: true;
}
Error: Cannot read property 'latest' of undefined
    at carto.RendererJS.render (eval at <anonymous> (common.js:1), <anonymous>:279:45)
    at Object.extractFeatures [as carto2Draw] (eval at <anonymous> (common.js:1), <anonymous>:44:33)
    at b (common.js:1)
    at Function.f.every.f.all (common.js:1)
    at p (common.js:1)
    at new m (common.js:1)
    at B.createLayerView (common.js:1)
    at R.i._createLayerView (common.js:1)
    at R.i._addGroupedLayer (common.js:1)
    at R.i._addLayer (common.js:1)

Working again man! thanks @donflopez


(Bug) #1787 User should see meaningful error messages form faceverification

Description
Implement markup nad layout for FR error screens/dialogs.
About #1787
Checklist:

[x] PR title matches follow: (Feature|Bug|Chore) Task Name
[x] My code follows the style guidelines of this project
[x] I have followed all the instructions described in the initial task (check Definitions of Done)
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have added reference to a related issue in the repository
[x] I have added a detailed description of the changes proposed in the pull request. I am as descriptive as possible, assisting reviewers as much as possible.
[ ] I have added screenshots related to my pull request (for frontend tasks)
[ ] I have pasted a gif showing the feature.
[x] @mentions of the person or team responsible for reviewing proposed changes

Waiting for design images to be downloadable.

I reverted changes with SVG as a component as there is no our svgr configuration applied in master.

@serdiukov-o-nordwhale I have checked the changes you made - everything working fine. Also, I verified the Intro screen and added small fixes.
I cant Approve the PR created by me - so letting you know that PR is Approved.

Thanks!


Issue on failed propose update

Create a new issue if the propose-update fail.
Name of the issue: [packit] Propose update failed for release {self.event.tag_name}
Mock of the description:

the output looks rocking though!

please include a test case

Done -- I am not done with the requre tests for update in packit so I've used the flexmock.


Feature Suggestion: Combat notifications for Round and Turn (not phase)

During a regular combat encounter, it's useful to announce the round number and who's turn it is, but it isn't that useful to remind me that we are currently in "the combat phase". An option to turn off only phase notifications would decrease chat clutter.

Great suggestion, I have added it now.