Enhancement in Navbar

[x] I am from GSSoC'23.
[x] I would like to be assigned this task.

Section
Description

Concise Description
Improve the UI of the navbar.

Solution Proposed
By adding a hover effect to the navbar section and redesigning it to make it more enhanced.

Additional Context
This would improve user experience and engagement - the overall look of the website.

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x] I follow the Contributing Guidelines of this project.
[x] I have checked the current issues for duplicate problems.
[x] I have read the readme of this repository.

Hi @abhi03ruchi
Thank you for creating the issue. Hover effect is already added on Navigation if you think you can improve the design more message me I will assign this issue to you.


feat(FX-3077): exhibitors tab

Jira: FX-3077
Description
The purpose of the ticket is create Exhibitors tab that is visually laid out as follows: Figma
Changes

Added exhibitors tab with lazy-loaded components

Added tests for it

Added new env variable (default false) to render new Exhibitors tab (render tab only if it is true)

Partners info fetched from high level query (early info fetched separately for every exhibitors group)

Note: tabs are not sticky now (it is the other ticket)
Demo
Desktop
https://user-images.githubusercontent.com/56556580/129546788-bd448dea-e3e0-4be8-9375-ae5001bc9ebe.mov
Mobile
https://user-images.githubusercontent.com/56556580/129546912-458364f8-eb25-4c69-817a-a2fc7c1edb1d.mov

I feel like some organization might help with the review, QA, and rollout of these changes. Here's what I would propose:

Open a separate PR that just renames the existing FairExhibitors route to FairBooths
Update this PR to include the new FairExhibitors route (now without a naming collision)
Update this PR to conditionally render the new tab via an environment variable (`/exhibitors route accessible regardless)

@tr-ann What do you think? Does that make sense?

@dblandin Sounds good. So I need just to create a new PR and rename FairExhibitors to FairBooth, right?

@dblandin Sounds good. So I need just to create a new PR and rename FairExhibitors to FairBooth, right?

Yes, this shouldn't have any user-facing changes. Just renaming the current FairExhibitors route (labeled as Booths in the UI) to FairBooths in the code.
And I'm imagining this PR, once updated, could also include a feature flag check backed by an environment variable. Something like ENABLE_FAIR_PAGE_EXHIBITORS_TAB. And if true, it'll render the new "Exhibitors" tab alongside Overview and Booths.
And if the .env variable is true, the we can render booths (tab with exhibitors artworks). Is it right?

@dblandin I added env variable (hope I understand you correctly 🙂 ), so new Exhibitors tab renders only if ENABLE_FAIR_PAGE_EXHIBITORS_TAB is true. Can you check the code please?

Going to go ahead and merge this in.


Whether to forcibly enable repartitioning when the number of nebula space partitions is greater than 1

I found a problem that resulted in the generated SST file containing only the key without the TagID

Desription: Accourding to struct of 3.0 vertex data:

If all goes well, when the Exchange program is finished, the SST file will contain data for both keys
    {
      name: tag-name-1
      type: {
        source: csv
        sink: sst
      }
      path: hdfs tag path 2

      fields: [csv-field-0, csv-field-1, csv-field-2]
      nebula.fields: [nebula-field-0, nebula-field-1, nebula-field-2]
      vertex: {
        field:csv-field-0
      }
      separator: ","
      header: true
      batch: 256
      partition: 32
      repartitionWithNebula: false
    }

However, if you follow the above configuration file, the generated SST files will only contain the key without the TagID
Here's why,the sst writer changes along with the partitioning information of the key, causing lower-ranked data in the same task to overwrite previous data(with same part)
https://github.com/DemocracyAndLiberty/nebula-exchange/blob/master/exchange-common/src/main/scala/com/vesoft/exchange/common/writer/FileBaseWriter.scala
        if (part != currentPart) {
          if (writer != null) {
            writer.close()
            val localFile = s"$localPath/$currentPart-$taskID.sst"
            HDFSUtils.upload(localFile,
                             s"$remotePath/${currentPart}/$currentPart-$taskID.sst",
                             namenode)
            Files.delete(Paths.get(localFile))
          }
          currentPart = part
          val tmp = s"$localPath/$currentPart-$taskID.sst"
          writer = new NebulaSSTWriter(tmp)
          writer.prepare()
        }

Accroding to https://github.com/DemocracyAndLiberty/nebula-exchange/blob/master/exchange-common/src/main/scala/com/vesoft/exchange/common/processor/Processor.scala,I noticed that setting repartitionWithNebula to true solved this problem when the number of nebula space partitions is greater than 1.
So whether to forcibly enable repartitioning when the number of nebula space partitions is greater than 1?

Dear @DemocracyAndLiberty
Thanks a lot for your excellent analysis and suggestions!

The default value(false) could be revisited
The impact of this value on v3.0.0(That repartitionWithNebula: False by default will result in losing tagID in SST file) should be highlighted in documentations

ref:
pr: https://github.com/vesoft-inc/nebula-exchange/pull/49
issue: https://github.com/vesoft-inc/nebula-exchange/issues/46
cc @Aiee @Sophie-Xie

We should revisit when repartitionWithNebula: False is OK to be used.
@Nicole00

I found that there is a problem after turning on repartitioning: it affects the concurrency of tasks and the execution speed is limited


Document STOP weird behavior

As explained by this graphic:

(Source: https://twitter.com/liji32/status/1412131307501625353)

Can we add this infographic to Pan Docs? @LIJI32

Added in f68548d5


pin nokogiri version, this time with correct syntax

@erikPrime This variation won't allow the test to pass as-is because the test will try to find "nokogiri -v 1.6.7" in the output of a gem list command to see that the gem was installed but the list output instead will have "nokogiri (1.6.7 java)".
I made a slightly different attempt at a fix in #798.  I ran this test via beaker and confirmed that the test passed.
What do you think about going with that instead?


git-ps-rs: 7.2.0 -> 7.3.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/uptech/git-ps-rs/releases.
meta.description for git-ps-rs is: Tool for working with a stack of patches
meta.homepage for git-ps-rs is: https://git-ps.sh/
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 7.3.1 with grep in /nix/store/cfdaxh6fsyysfv29kd3kb7696bz8fkm9-git-ps-rs-7.3.1
found 7.3.1 in filename of file in /nix/store/cfdaxh6fsyysfv29kd3kb7696bz8fkm9-git-ps-rs-7.3.1

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

git-ps-rs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cfdaxh6fsyysfv29kd3kb7696bz8fkm9-git-ps-rs-7.3.1 \
  --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 git-ps-rs https://github.com/r-ryantm/nixpkgs/archive/4ff58fc1f42bcb6c21d46d113e6fb1228953574d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/4ff58fc1f42bcb6c21d46d113e6fb1228953574d#git-ps-rs

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cfdaxh6fsyysfv29kd3kb7696bz8fkm9-git-ps-rs-7.3.1
ls -la /nix/store/cfdaxh6fsyysfv29kd3kb7696bz8fkm9-git-ps-rs-7.3.1/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:

git-ps-rs

Maintainer pings
cc @Alizter for testing.

Result of nixpkgs-review pr 328088 run on x86_64-linux 1

1 package built:

git-ps-rs


Partial does not work well with generic guards

TypeScript Version:  2.4.2
Code
(Note this is a simplified example and easy to workaround, but it gets dirtier in a real-world code)
type Obj<B> = { body: B };

function acceptPartial<O extends Obj<string>>(obj: Partial<O>) {}

function acceptFull<O extends Obj<string>>(obj: O) {
    acceptPartial<O>({
        body: obj['body']
    });
}

Expected behavior:
No type errors.
Actual behavior:
temp.ts(8,22): error TS2345: Argument of type '{ body: string; }' is not assignable to parameter of type 'Partial<O>'.

This doesn't make much sense because { body: obj['body'] } is correctly determined as { body: string } which is same as Obj<string>, and so compatible with Partial<Obj<string>> and any Partial<O> in this context.
Moreover, calling acceptPartial<Obj<string>> instead of O works which seems to mean that Partial doesn't currently "understand" that Partial<O> is just a superset of Partial<Obj<string>> when O extends Obj<string>.

The core issue here is that this is not allowed:
var p: Partial<O> = { body: "" };

Since the compiler can not verify that body is not specialized in O further.
Duplicate of https://github.com/Microsoft/TypeScript/issues/19388

Well #19388 is newer so that one is technically a duplicate of this :P


metadata: share content by default

Rebase of #1709
Closes #1709
Closes #1696
This changeset modifies the metadata store to allow one to set a "content
sharing policy" that defines how blobs are shared between namespaces in the
content store.

It looks like we have a race somewhere, or with the Info method.

@dmcgowan ya, I'm looking into the implementation of it all.  Right now the problem is that content is keyed off the namespace.
I'm not sure what to do, I'm in over my head looking at this stuff.  I think i'll move these out of 1.0 as they are optimizations that can happen after.

@crosbymichael I think we need to crack this one pre-1.0. There are a few implications that affect the storage format making this much harder to implement in the future.
I'll see if I can get this working this week.

@stevvooe ok, sorry I couldn't carry this one.  I tried

@crosbymichael No worries. I'll reopen #1709 and update so we don't drop on the floor.


Decoding from file-like object reads too much data (C extension only)

Problem
When decoding from a file-like object (using load() via C extension), up to BUFFER_FP_SIZE bytes are buffered when read()ing from it. This means that data is likely to be consumed past the end of the encoded ubjson block which is subsequently not available to either decode additional ubjson blocks or for other purposes.
Potential solutions

seek() back to recover unused read data.

File-like objects should not need to support seek()

Don't buffer at all and only read as much data as needed (often single bytes).

Underlying file-like object might have its own buffering already
Pure-Python version already does this

Test case
import ubjson
from io import BytesIO

# Only applies to C extension
assert ubjson.EXTENSION_ENABLED

sample_input = 'something to encode'
output = BytesIO()

# Produce output with multiple serialised ubjson "documents"
for _ in range(10):
    ubjson.dump(sample_input, output)

# Decode all of the documents
output.seek(0)
for i  in range(10):
    print(i)
    assert sample_input == ubjson.load(output)

Expected result
All 10 documents are decoded.
Actual result
0
1
Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
ubjson.decoder.DecoderException: Insufficient input (Type marker)

Initial solution - remove buffering completely
Overview
Read the exact requested character count from file-like objects read() method. This results in significantly more calls to said method (as e.g. type markers result in a one byte read) and leads to considerable performance degradation.
Potential alternative
If file-like object is seekable() (e.g. file on local filesystem), enable buffering, otherwise use no buffering (e.g. socket).
General testing

full suite with added test for issue
coverage_test.sh with compiled extension
pympler reference leak test (see bottom of test.py)

Performance
Medium-size varied-content decoding
Steps
python3 -mubjson fromjson test/data/CouchDB4k.compact.json /tmp/CouchDB4k.compact.ubjson
python -mtimeit --n 50000 \
 -s "
from ubjson import load, __version__
print(__version__)
raw = io.BytesIO()
with open('/tmp/CouchDB4k.compact.ubjson', 'rb') as f:
    raw.write(f.read())
"\
 'raw.seek(0); load(raw)'

Python3 output
Before
0.13.0
0.13.0
0.13.0
50000 loops, best of 3: 23.4 usec per loop

After
0.14.0
0.14.0
0.14.0
50000 loops, best of 3: 73.8 usec per loop

Python2 output
Before
0.13.0
0.13.0
0.13.0
50000 loops, best of 3: 25.5 usec per loop

After
0.14.0
0.14.0
0.14.0
50000 loops, best of 3: 92.5 usec per loop

Large file decoding (62MB with small fields)
from ubjson import load, __version__
print(__version__)
" "
with open('DEFRA.uk_air.ubj', 'rb') as f:
    load(f, intern_object_keys=True)
"

Python3 output
Before
0.13.0
1 loops, best of 1: 2.08 sec per loop

After
0.14.0
1 loops, best of 1: 5.53 sec per loop

#10  addresses performance concerns by using three methods for reading input from:

Fixed single-dimension byte sequence (as before)
Buffered from a seek()-able file-like object (as before)
Unbuffered from a file-like object (new)

Fixed in 0.14.0.


Undefined use of max-stale

Example 8 has the following response:
HTTP/1.1 200 OK
Date: Fri, 22 Jan 2016 08:00:08 GMT
Link: </school/12345/entries>; rel="version-history"
Cache-Control: max-stale=31536000
Content-Type: application/json
Content-Security-Policy: default-src 'self'
Cache-Control: no-transform
X-Xss-Protection "1; mode=block"
X-Frame-Options "SAMEORIGIN"
X-Content-Type-Options "nosniff"
Vary: Accept-Encoding
Content-Length: 522

but max-stale is only defined as a request directive, not a response directive.

Thanks. Bad cut and paste on my part.
Let's hold off raising issues here for now. Once the spec is more complete we I (and other editors) can take more care over managing git history and act within a working group who will formally process any issues.


Wallet Backup with password freezes

Probably some interaction between LCW and the new encrypted backup

Issues with text on buttons being non-visible.

@sethduffin not sure if your other Android light mode fixes addressed this


Create a lookup table for LTI placement types

It was requested on the DW meeting that we should have a lookup table for LTI tools something like
lti_type
canvas_id (int)     # Actual ID from Canvas
group  (varchar)    # Group we define
name      (varchar) # Name of the tool

This will map back to the placement id in lti_placement.
We'll generate a migration to populate this table. This will replace the environment variable SUPPORTED_LTI_TOOLS

Ok, I updated it.
In the provided model from Jeff he has. Maybe I can just use the same without the lti_ prefix
lti_tool_cd: 12313
lti_tool_des: Bluejeans
lti_tool_rpt_group_nm: Zoom

QA – ✅

DB: lms_canvas_test on stage-ld-mysql-db.miserver.it.umich.edu

_yoyo_log table

Migration logged:

id
migration_hash
migration_id
operation
username
hostname
comment
created_at_utc

7984d4ea-b177-11ea-ab7a-0a580a810687
7bb55b7ad9c311486f30685a27cf8eb3e4c20d274bdcaa3cc46fafdbdd62b775
0022.add_lti_type
apply
tl-jenkins-test
course-inventory-test-stage

2020-06-18 15:22:09.0

lti_type table

contains the following

canvas_id
des
rpt_group_nm

4352
Bluejeans
Bluejeans

25194
Zoom
Zoom

Incidentally, Bluejeans should be capitalized as BlueJeans. ¯\_(ツ)_/¯

application configuration

env_test.hjson in OpenShift tl-jenkins-test project modified to remove the $.CANVAS.SUPPORTED_LTI_TOOLS object.
The application runs successfully without this object.
The application had been run with this config. change before this issue's PR was merged and the application failed at that time.  The fact that this config change now works in combination with the code change is a good sign.


ROX-10304: Remove NoValidRole  error sentinel

Description
Removed GenericNoValidRole error. We have added new Error sentinel in pkg/auth/role.
Note: This PR is based on mtodor/ROX-10303-replace-new-error-wrappers branch. After PR #1389 is merged, we will change the base branch.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added - nothing is added
[ ] Evaluated and added CHANGELOG entry if required - not relevant
[ ] Determined and documented upgrade steps - nothing relevant for upgrade steps
[ ] Documented user facing changes (create PR based on stackrox/openshift-docs and merge into rhacs-docs) - no user-facing changes

Testing Performed
1. Compare in UI - No change - no change

2. REST request with token without Role - no change
{"error":"access for this user is not authorized: no valid role, please contact your system administrator","code":16,"message":"access for this user is not authorized: no valid role, please contact your system administrator","details":[]}

3. Request with not Admin role: - no change
❯ ./bin/darwin/roxctl --insecure-skip-tls-verify --insecure --endpoint https://localhost:8000 --token-file ./token.txt  central backup
ERROR:  Invalid credentials. Please add/fix your credentials

❯ ./bin/darwin/roxctl --insecure-skip-tls-verify --insecure --endpoint https://localhost:8000 --token-file ./token.txt  central debug log
ERROR:	could not get log level from central: rpc error: code = Unauthenticated desc = access for this user is not authorized: no valid role, please contact your system administrator

Additionally, default checks are also done:

make image works
make style works so that the linting of all go files is correct

@rukletsov I have applied your suggestion. It looks cleaner. I have added it into pkg/auth/role because we are returning this error also in pkg/auth/authproviders.
@janisz Since we have changed implementation, your comments are obsolete, and I'll not address them. Please check the new implementation.

The changes are fine, but is there an easy way for developers to look for sentinal values, especially if they are scattered in different pkgs?

For global sentinels — for sure, but you already know that : ). For package-level sentinels, we can say that those changing or using a package shall be able to discover errors defined in that package but I think your comment is valid. Maybe we can have a gentlemen's agreement (and a linter) that all package sentinels must be defined in errors.go file in that package?


Unions. Fixes #84

Adding support for union types.
It works with present tests (samples files in tests directory).
However, some cases must be checked like anonymous types in variable declarations and union initialization subscripts.

This change is

Reviewed 10 of 18 files at r1.
Review status: 10 of 18 files reviewed at latest revision, 13 unresolved discussions, some commit checks broke.

ast/ast.go, line 385 at r1 (raw file):

	case "WhileStmt":
		return parseWhileStmt(line)
	case "NullStmt", "WeakAttr":

NullStmt is a special case because it does not follow the syntax of all of the others.
WeakAttr (even if it's of no use to us right now) does and it should have a weak_attr.go and weak_attr_test.go respectively.
You should be able to copy one of the other _attr files that will be similar.

ast/member_expr.go, line 40 at r1 (raw file):

// GetDeclRef gets DeclRef from MemberExpr, or nil if there is not
func (n *MemberExpr) GetDeclRef() *DeclRefExpr {
	child := n.Children[0]

I'm not sure if if can be guaranteed that the first child is the only one that matters (attributes, for example).
You should check all children for the *DeclRefExpr.

ast/member_expr.go, line 49 at r1 (raw file):

	}

	return res

Does nil mean there is no *DeclRefExpr and that's fine. Or that we couldn't understand the definition properly and we will fall back to nil so that it can proceed?

program/import.go, line 28 at r1 (raw file):

		if p.Unions.HasType("union " + t) {
			addImport("reflect")
			addImport("unsafe")

This is the wrong place to put this logic. When a union is discovered during the transpiling it should append the imports at that point.

program/program.go, line 110 at r1 (raw file):

func (p *Program) GetStruct(name string) *Struct {
	last := len(name) - 1
	if name[last] == '*' {

Why would the pointer ever be in the struct name? This should be sanitised before this point.

program/struct.go, line 15 at r1 (raw file):

	// True if the struct kind is an union.
	IsUnion bool

If this exists, do we need separate Structs and Unions on the program?

samples/union.go, line 1 at r1 (raw file):

package main

Is this file for your debugging?

tests/struct.c, line 38 at r1 (raw file):

    is_streq(variable.pointer, "Programming in Software Development.");

    f(&variable);

Another test case (pass by value):
f(variable);

tests/struct.c, line 42 at r1 (raw file):

    done_testing();

    return 0;

Remove this. done_testing() is a macro that will return the correct exit status.

tests/union.c, line 1 at r1 (raw file):

// Tests for unions.

Please update sizeof.c to add tests for unions sizes.

tests/union.c, line 36 at r1 (raw file):

    variable.constant = 1.23;
    is_eq(variable.constant, 1.23);

Please move all of the above to a function, like f.

tests/union.c, line 42 at r1 (raw file):

    done_testing();

    return 0;

Remove this.

transpiler/declarations.go, line 83 at r1 (raw file):

		size, err := types.SizeOf(p, "union "+name)
		if err != nil {
			fmt.Println("Error:", err)

Is this a legitimate failure (like something has gone wrong) and the output code will not work? Or is this a warning that can be recovered from?

Comments from Reviewable

I pushed changes after your code review.

@corebreaker please git fmt the code.
Also, can you please reply to discussions in reviewable.

Ok, i'm going to do it

Review status: 1 of 20 files reviewed at latest revision, 13 unresolved discussions, some commit checks failed.

ast/ast.go, line 385 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
NullStmt is a special case because it does not follow the syntax of all of the others.
WeakAttr (even if it's of no use to us right now) does and it should have a weak_attr.go and weak_attr_test.go respectively.
You should be able to copy one of the other _attr files that will be similar.

OK, i did all that. I created files weak_attr.go and weak_attr_test.go

ast/member_expr.go, line 40 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
I'm not sure if if can be guaranteed that the first child is the only one that matters (attributes, for example).
You should check all children for the *DeclRefExpr.

Ok, i did it in a loop.

ast/member_expr.go, line 49 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Does nil mean there is no *DeclRefExpr and that's fine. Or that we couldn't understand the definition properly and we will fall back to nil so that it can proceed?

nil means that there is no *DeclRefExpr, i add comments in code to explain that.

program/program.go, line 110 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Why would the pointer ever be in the struct name? This should be sanitised before this point.

Not always, i added comments in code to explain. Actually, in DeclRefExpr, there is a pointer type in the case we use -> operator for accessing to a member.

program/struct.go, line 15 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
If this exists, do we need separate Structs and Unions on the program?

I prefered reuse the Go struct to gain in homogeneity. So Union is a "special" struct. But it's not the main reason, that's simplify algorithms in some cases. I added comments in code to explain.

tests/struct.c, line 38 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Another test case (pass by value):
f(variable);

That's done.

tests/struct.c, line 42 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Remove this. done_testing() is a macro that will return the correct exit status.

Ok, sorry. That's done.

tests/union.c, line 1 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Please update sizeof.c to add tests for unions sizes.

Yes, thank you, i haven't seen it. That's done.

tests/union.c, line 36 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Please move all of the above to a function, like f.

I tried to do it, but i wanted a variable in the test function to test pointer on a union without doing a malloc. So, i made an initialization function (init_var()) which move main tests. I keeped all other function to test call with arguments passed by reference.

tests/union.c, line 42 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Remove this.

Done.

transpiler/declarations.go, line 83 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Is this a legitimate failure (like something has gone wrong) and the output code will not work? Or is this a warning that can be recovered from?

You are right, normally, there is no error, but i wanted prevent future problems. But i replaced it by a warning.

program/import.go, line 28 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
This is the wrong place to put this logic. When a union is discovered during the transpiling it should append the imports at that point.

Ok, i moved it in the transpiling function.

samples/union.go, line 1 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Is this file for your debugging?

Not really, more as a pattern to compare to produced code by the transpiler. I removed it.

Comments from Reviewable

Reviewed 4 of 18 files at r1, 3 of 16 files at r2, 12 of 12 files at r3.
Review status: 18 of 20 files reviewed at latest revision, 8 unresolved discussions, some commit checks failed.

util/regexp.go, line 9 at r3 (raw file):

// GroupsFromRegex gets RegExp groups after matching it on a line
func GroupsFromRegex(rx, line string) map[string]string {

GroupsFromRegex logic and purpose it quite specific to the ast package. Why did you move it to a public package?

Comments from Reviewable

Reviewed 1 of 18 files at r1, 1 of 16 files at r2.
Review status: all files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

types/sizeof.go, line 79 at r3 (raw file):

		}

		for _, t := range s.Fields {

This is duplicate from above. Please extract this to a common method.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

types/sizeof.go, line 79 at r3 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
This is duplicate from above. Please extract this to a common method.

It's not a duplicate code, for struts, the size of each member is summed but for unions we must compute the max size.
Inside each if string.HasPrefix(...), there is no common part.

util/regexp.go, line 9 at r3 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
GroupsFromRegex logic and purpose it quite specific to the ast package. Why did you move it to a public package?

That function is not specific, it's a generic function to get a map result from a regexp. It's used in types/sizeof.go . That function is for general purpose and used as a shortcut for using regexp.

Comments from Reviewable

Please fix the remaining build failure and this will be ready to merge in.

I'd like but the problem is on OSX. On windows and Linux there is no problem.
How can i do ?
I'm trying to download an OSX ISO image for VirtualBox but it'll take time (5Gb to download).

I will debug it for you later today and send you the patch.

Reviewed 4 of 4 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Calculating blocks of array in spawned processes

I have a dataset that I'm running a calculation on, I'm wanting to use child processes to calculate blocks of the array separately and then combine them. I can't work out the best option to achieve this. I thought using p.spawn inside a loop could do it but I was then unsure how to pass the start and end loop variables into the runtime of each spawned process. Can anyone help?

You should be able to do .then() on the fresh parallel instance and wrap your array in an object, combining it with start / end props, or alternatively, pass the env option to spawn (only works on the github pulled version though). However .reduce() should actually automatically split your array if it's possible for you to use that, that might make it easier.

Do you mean something like:
const p = new Parallel({start: 1, stop: 2, data: [[],[],[]]});

p.then(obj => {
    // do calc on obj.data here?
});

No.
const p = new Parallel(data);

for (let i = 0; i < chunks; ++i) {
  p.then((data) => ({start: chunks * 8, end: (chunks + 1) * 8, data}).spawn(processorFn);
}

Note that this would transmit the whole data array to every worker (by stringifying it) so it might be better to slice the array explicitly instead.

Right! Gotcha that looks like it'll do the trick, thanks for the help. Will re-open if I need anymore help :smile:

How would I go about recombining the data after each process completes, because isn't returning it just gonna overwrite the dataset?

Every .then.spawn() will return its own Promise with its own dataset. You'll have to save it in the loop and then recombine when all of them are finished.
(the integrated .reduce might really be easier...)

Ahh :confused: how would I use the reduce with the dataset? Does it automatically split the dataset?

It does. It's limited by the maxWorkers option.

In a map how do I know where I am in the array? E.g. if the sequential version used i in a loop to do a calculation, how would I get the equivalent variable i?

That's not provided with map, you'll have to prepare that in the data yourself or patch the library.

So I thought:
const p = new Parallel(steps, {
    env: { numSteps, step },
    maxWorkers: 4
});

p.then(steps => ({
    steps,
    iteration: 0
})).map(a => {
    console.log(a.iteration);
});

But then this just runs the map only once. Not sure how to keep the iteration cached in the data?

.map expects an array. You have to save the iteration in each element.

So the data would need to look like [{step: 0, iteration: 0}, {step: 4, iteration: 1}]. How would I know the previous state in order to iterate? Sorry if I'm not getting it :confounded:

Yes. You can't get the previous state in map. There is no previous step. Everything is in parallel. You map about everything, collect in .then (or .spawn if it's a lot of work) and merge it together.

import Parallel from 'paralleljs';

const numSteps = 10000000;

const steps = [];

for (let i = 0; i < numSteps; i++) {
    steps.push({step: 0, iteration: i});
}

const p = new Parallel(steps, {
    env: { numSteps }
});

p.map(element => {
    const x = (element.iteration + 0.5) * global.env.step;
    return 4.0 / (1.0 + x * x);
})
.reduce(element => element[0] + element[1])
.then(sum => (1.0 / global.env.numSteps) * sum)
.then(console.log);

So I have this, but its crazy slow, is it just the fact that I have 10000000 steps?

Yes, you don't do enough work in your handler to make parallel.js worth it in any way. Here's the thing: data transfers are the slow part (especially in the node variant), the less data you need to provide to your worker, the better. The more work you do in your work, the better its efficiency becomes (compared to the data transfer overhead).

Ok cool gotcha, thanks

Hi again, I've got the syntax working and the parallel working however when I'm console logging, the spawned processes seem to be starting one after another, effectively increasing the runtime by no. of threads times. This shows the line where I log the thread start and I get the following result in the console:
stared thread
stared thread
stared thread
stared thread
664579 primes were found between 0 and 10000000 in 5284 milliseconds

The calculation is correct, just the timing seems out.


Update package.json for the package name concerto-core

Fixes issue #74
Updated package name as concerto-core
Changes

Updated package name as concerto-core to avoid confusion in npm, and align with other Accord Project .

@jeromesimeon it seems there is a build issue in the travis pipeline. Can you let me know if I need to update the package name somewhere else as well?maybe the old name is still used by some other dependent packages.

@Niladri24dutta you're exactly right, you should update the dependencies for concerto-cli and concerto-tools too. For example, https://github.com/accordproject/concerto/blob/master/packages/concerto-cli/package.json#L43
@jeromesimeon this is a breaking change so we should bump to 0.81.0 on the next release.

@Niladri24dutta you're exactly right, you should update the dependencies for concerto-cli and concerto-tools too. For example, https://github.com/accordproject/concerto/blob/master/packages/concerto-cli/package.json#L43
@jeromesimeon this is a breaking change so we should bump to 0.81.0 on the next release.

@mttrbrts
Sure I will update the dependencies in concerto-tools package and others package.json if required. I was getting a strange issue in mocha during the test case execution so I updated the unit test cases as well. But still i think this packages needs to be renamed https://github.com/accordproject/concerto/blob/master/packages/concerto-cli/package.json#L48

@mttrbrts  However regarding the version of sinon which you mentioned above. I believe it's same across all the tools.

@Niladri24dutta you're exactly right, you should update the dependencies for concerto-cli and concerto-tools too. For example, https://github.com/accordproject/concerto/blob/master/packages/concerto-cli/package.json#L43
@jeromesimeon this is a breaking change so we should bump to 0.81.0 on the next release.

@mttrbrts
Sure I will update the dependencies in concerto-tools package and others package.json if required. I was getting a strange issue in mocha during the test case execution so I updated the unit test cases as well. But still i think this packages needs to be renamed https://github.com/accordproject/concerto/blob/master/packages/concerto-cli/package.json#L48

Yes this is absolutely correct, since that would be the dependency from cicero-cli to the new cicero-core. There should be a similar dependency in cicero-tools.
It is possible that there is a dependency to the package name in some of the tests for error messages. I can help figure that one out if need be. (a log for this if this happens would be helpful).

@Niladri24dutta you're exactly right, you should update the dependencies for concerto-cli and concerto-tools too. For example, https://github.com/accordproject/concerto/blob/master/packages/concerto-cli/package.json#L43
@jeromesimeon this is a breaking change so we should bump to 0.81.0 on the next release.

@mttrbrts
Sure I will update the dependencies in concerto-tools package and others package.json if required. I was getting a strange issue in mocha during the test case execution so I updated the unit test cases as well. But still i think this packages needs to be renamed https://github.com/accordproject/concerto/blob/master/packages/concerto-cli/package.json#L48

Yes this is absolutely correct, since that would be the dependency from cicero-cli to the new cicero-core. There should be a similar dependency in cicero-tools.
It is possible that there is a dependency to the package name in some of the tests for error messages. I can help figure that one out if need be. (a log for this if this happens would be helpful).

Yeah I already fixed that it was in this commit https://github.com/accordproject/concerto/pull/75/commits/8f9c0fc73fdeffd3b319935672fae3db5510c49a#diff-4ffd2d6fd84fee54c94ed0ab58bca17cR21

Yes this is absolutely correct, since that would be the dependency from cicero-cli to the new cicero-core. There should be a similar dependency in cicero-tools.
It is possible that there is a dependency to the package name in some of the tests for error messages. I can help figure that one out if need be. (a log for this if this happens would be helpful).

Yeah I already fixed that it was in this commit
8f9c0fc

That's the one! great 👍

Hi @mttrbrts  and @jeromesimeon I have made the required changes as mentioned above and in this link https://github.com/accordproject/concerto/issues/74#issuecomment-537942799 . The build passed now. Let me know if any other change is require for this PR to be merged.


option to include/exclude content from publishing

Vault is currently published as a whole, config options  contentExclude,  contentInclude are ignored
  // add any folders/files to be excluded from being published
  contentExclude: ['folder1/'],

  // if any folders/files included, then nothing else will be published by default
  contentInclude: ['folder2/*'],

@Iwuaa thanks for reporting. To confirm this in the cloud version?

@lwuaa confirming - is this the cloud version?

@olayway another one that overlaps with what we already have in Flowershow.

Marking as blocked for now until we shape #1151

@Iwuaa Temporary workaround (if this is indeed DataHub Cloud) you could just add paths you don't want to be pushed to the repository by adding them to .gitignore file. https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files

FIXED
@Iwuaa you should now be able to include/exclude files from publishing using contentInclude and contentExclude fields in the config file. Docs reference page coming soon.

@olayway sorry for delayed response, I wasn't notified of you mentioning me. I'm not sure what is the cloud version and I'm not familiar with all your projects - I have my local obsidian vault, I copied flowershow repository as per the instructions here, so Vercel deploys my website.
I'm not sure how any changes you make are affecting my cloned repository, if it should be updated or if it should work as is. Do I need to use your cloud version in order for it to work? This is very confusing.


Responses appear to be sent in multiple fragments

When examining the flow of TCP packets in a 'Hello, World!' request / response,  Kitura's response appears to be sent as a sequence of small fragments (despite the payload being only 115 bytes in total).  An equivalent implementation (Zewo) sends the response in a single packet.
Whilst I'd imagine that either behaviour is valid, the fragmented behaviour is likely to bring with it a non-trivial performance overhead.
wget_tcpdumps.zip contains the TCP packets captured from a single wget to http://<IP_ADDRESS>:8080/plaintext (which simply returns the response 'Hello, World!'),  for both Kitura and Zewo.  They can be viewed in Wireshark.

This issue is resolved by #430 (to which I posted the resulting performance gains).


siteToken not required for ReCaptcha

In my project I not have the siteToken, withou this field the verification of Recaptcha resul success

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Resolve minimist version to 1.2.6 to resolve vulnerability

Description
The vulnerabilities CI is failing due to https://github.com/advisories/GHSA-xvch-5gv4-984h.
This PR resolves the minimist package to 1.2.6 to fix this vulnerability. (Even though there isn't an official patched version on the above report, 1.2.6 does seem to include a fix for it https://github.com/substack/minimist/issues/164#issuecomment-1074384679 &  https://github.com/substack/minimist/issues/164#issuecomment-1074670410)
Other changes
N/A
Tested
N/A
How others should test
N/A
Related issues
N/A
Backwards compatibility
N/A

Hey @muckt JFYI: We are skipping this task as in "How others should test" section it is mentioned N/A.
Cc: @kathaypacific
Thanks !!


How to get a return value from a custom validator?

Is it possible - and if not, maybe it's an idea - to get a return value from a custom validator?
I've made a validator that checks a zipcode for a specific region. If the region is in a specific list, the validation will trigger 'invalid'. But at this point i'd like to return a value like: 'zipcode invalid', or 'zipcode out of range', or 'zipcode not in servicearea'. So multiple error messages for 1 validator...
Any ideas how to accomplish this?

Did you get anywhere with returning data from an async custom validator?
In my case, if valid, I want to return the associated valid data as below, then access this data from within component. I want to retrieve the 'data' from the successful validation result.
`
const customAsyncValidate = value => {
// standalone validator ideally should not assume a field is required
if (value === '') return true;
var promise = axios('https://some/url', {
    data: value
});

return promise
    .then(response => {

        if(response.isValid){
            return response.data;
        }

        return false;
    })
    .catch(error => {
        return false;
    });

};
`
Have you been able to implement this? Another way I can think of would be to perform a separate remote lookup to when valid is true.


added Object key sort prior to JSON.stringify comparison (fix #5908)

#5908

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[X] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe: Improvement

Does this PR introduce a breaking change? (check one)

[ ] Yes
[X] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[X] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[X] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[X] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[X] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

This maybe not working because AFAIK it's JSON.stringify that has no guarantee on the order of properties serialized by it. 🤔

Definitely a somewhat trivial edge case. There are two ways to ensure this AFAIK. This approach has some reusability or you can pass sorted keys to stringify JSON.stringify(obj, Object.keys(obj).sort())

@drewsmith Is this right approach?
If I compare key by key in two objects, it would take O(N) comparisons.
If I sort then compare stringified JSON, it would take O(N logN) comparisons + overhead of stringify.

@znck Thanks for the comment. Are you referring to passing sorted keys to stringify or sorting altogether?
The right approach is deep object equality IMO, which stringify is a low tech mechanism for doing so since it serializes the entire object including values. The fact the order is not deterministic requires some sort of explicit ordering or perhaps stringify should be replaced with something else altogether?

I want to say, sorting the keys beats the purpose of looseEqual.
Also, looseEqual is used only in model.js for select options, I guess stringify serves the purpose there. @yyx990803 would know this better.

I agree with you depending on semantics.

Thanks for the PR - however, cloning with sorted keys results in extra memory allocation and it's better to just compare in place. See a8ac129


SNS - Overhaul

[x] Update temp + accelerometer code
[x] Update REPL
[x] Update Mux code + change it to be I2c specfic as an analog mux is on its way
[x] kWarn
[x] Separate function to check for if "data ready" before calling read on sensors
[x] Update ADC code to convert raw value to actual voltage value
[x] Adding skeleton code for sensors to be implemented soon™

Think it's spelled Thermistor btw 😂

Think it's spelled Thermistor btw 😂

🥺

#47 covers virtual tags being added to temp + acc so wont do it here

in line with what we discussed yesterday, i've made register addresses + constants for adc a private static constexpr since it should never be used anywhere other than the class -> this means confusion between possible overlapping register names between sensors can be avoided entirely @TomLonergan03 @maxguy2001


Model integration

For ActiveRecord it would be nice:
class Player < ActiveRecord::Base
     acts_as_bishl_player :for_team => 74
end

Same for teams.
If ActiveRecord isn't used it would be nice to include the module and get the same functionality.

A ActiveModel Plugin should be better.  It's Rails agnostic.


Add NPC unaggression timer

Adds a timer and displays the area of which the player can move within without making NPCs aggressive again.

There's a config of which the user can edit to decide at which NPCs the plugin should be active at, and I suspect people might want a list of useful NPCs, so I've also put together one with some of the more commonly killed NPCs where this plugin would be useful at: https://pastebin.com/wYfVfu9S
Uses the same geometry methods as #6097 so if one PR gets merged, the other needs rebasing.

Just quick observation based on screenshot, maybe the text color could change based on if you are inside aggro area or not, so you dont need to have the lines enabled in order to see whether you are inside or not

Just quick observation based on screenshot, maybe the text color could change based on if you are inside aggro area or not, so you dont need to have the lines enabled in order to see whether you are inside or not

Not really sure what you mean. The player is always within the area. When they walk out of the area, the timer just resets to 10 mins and the area moves.

Oh, nevermind then

For the NPC aggro timer, in addition to "highlighting" specific monsters, what about showing aggro timer for last interacted NPC type and make it default behaviour?

For the NPC aggro timer, in addition to "highlighting" specific monsters, what about showing aggro timer for last interacted NPC type and make it default behaviour? (with config option)

Some NPCs are always aggressive, like dark beast and most bosses, and I don't think people would want it to show up at those places.

Well, the plugin would be disabled by default and it would be config option, and maybe blacklist for those common ones would work. E.g hardcode exclusion for like Goraks and Dark Beasts.

Well, as I said we can have both, and hardcoded blacklist just for common stuff. Imo it is more user friendly when it just works when you want it to work without having to input the NPC to config.

What about instead of a blacklist we put my pastebin whitelist inside the plugin as a config checkbox? So enabling the checkbox enables all the common NPCs?
As for the plugin being disabled by default, the problem with that is that when the plugin is then enabled, the player needs to teleport (or enter a dungeon or similar) for the plugin to figure out where the unaggressive area is. So if the player goes to their favourite NPCs and then realise they want to use the plugin, they'll need to leave the place and come back for it to work.

I still like the last NPC with blacklist a bit more. For whitelist with toggle, more preferred solution would be just pre-fill the text field. But, hardcoded blacklist is easily manageable as anyone can PR new entry to it, and also blacklist with last interacted would automatically work with new content, but whitelist will not.

A nice addition that's 100% going to be requested later is a notification when monsters stop agroing

Bug: The area you turn on the plugin in will not work even after resetting the agro tiles by teleporting far away/going in a dungeon.

can we add notifications to this plugin

Gonna post this here for people who want a more noob-friendly explanation of how the area is calculated: https://reddit.com/r/2007scape/comments/a9bqgl/how_monster_aggro_areas_and_resetting_works/

https://streamable.com/31zm0 This probably shouldn't draw on black void, I don't know how you would check for this, maybe height?

This will close #1765

https://streamable.com/31zm0 This probably shouldn't draw on black void, I don't know how you would check for this, maybe height?

I've added a check to see whether the tile contains something to be drawn which seems to have fixed the issue.

Can this be added? Very useful on long slayer tasks etc.


Perhaps an archive label could be added to indicate that this repository is archived

Perhaps you could archive this repository and refer to https://github.com/030/go-rss? I have added a link to this repository.
Archiving is possible by enabling Archive this repository  Mark this repository as archived and read-only. in the github section.

https://github.com/030/informado


Cannot create "Blank App, Packaged (WinUI in Desktop)" project due to ToolLocationHelper::GetPlatformSDKLocation error

Describe the bug
Creating a "Blank App, Packaged (WinUI in Desktop)" project throws exception:
"The expression "[Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKLocation('', 10.0.18362.0)" cannot be evaluated. Parameter "targetPlatformIdentifier" cannot have zero length. C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets"
Steps to reproduce the bug

Install "WinUI 3 Project Templates" VSIX
Create a new "Blank App, Packaged (WinUI in Desktop)" project

Expected behavior
Blank project successfully created
Screenshots

Version Info

Visual Studio: 16.8.0 Preview 3.2
WinUI 3 Project Templates [Preview]: <IP_ADDRESS>7130
Windows 10 Workstation (Insider Preview) - 20226.1000

NuGet package version:
N/A
Windows app type:

UWP
Win32

Yes

Windows 10 version
Saw the problem?
Version

Insider Build (xxxxx)
Yes
20226.1000

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

If you are using .NET 5, be sure to have the Preview 5 installed as it's the only one currently supported as stated here.

If you are using .NET 5, be sure to have the Preview 5 installed as it's the only one currently supported as stated here.

Yes I do, I followed that instruction and confirmed multiple times.
both

x64: https://aka.ms/dotnet/net5/preview5/Sdk/dotnet-sdk-win-x64.exe
x86: https://aka.ms/dotnet/net5/preview5/Sdk/dotnet-sdk-win-x86.exe
are installed.

I tried adding
<TargetPlatformIdentifier>Windows</TargetPlatformIdentifier>
to my csproj file, and now the problem become:
The target platform identifier UAP was not recognized.

This is a known issue we are currently working on fixing. For now you should be able to use the release version of VS 16.7 to avoid this.  The latest preview version of VS (16.8) is known not to work.  (If you have more questions feel free to post here and I'll reopen.)


Fix TinyMCE race condition and set up as vendor module.

These are the only differences left between my fork and the core silverstripe s3 module.
This will fix issue #18 as well as completes moving the module to a vendor module of PR #15.  As setup this is how we run in production.

Hey @obj63mc, thanks for that - so the purpose of this is to use the local filesystem to store TinyMCE generated files, right? LGTM 👍

That is correct. I wasn't sure if this was the best place for it but since this situation only occurs when using a cloud storage solution like S3 I went ahead and placed it here


Cannot modify application command in v3.0.0

Application commands cannot be modified in v3.0.0 by using ModifyAsync of RestGuildCommand or RestGlobalCommand.
The reason for that is that InteractionHelper.ModifyGlobalCommand<ApplicationCommandProperties> is called with abstract class generic argument and then instance is being created using activator of this class...
      System.MissingMethodException: Cannot create an abstract class.
         at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean wrapExceptions, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& hasNoDefaultCtor)
         at System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly, Boolean wrapExceptions, Boolean fillCache)
         at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions)
         at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
         at System.Activator.CreateInstance(Type type)
         at Discord.Rest.InteractionHelper.ModifyGuildCommand[TArg](BaseDiscordClient client, IApplicationCommand command, UInt64 guildId, Action`1 func, RequestOptions options)
         at Discord.Rest.RestGuildCommand.ModifyAsync(Action`1 func, RequestOptions options)

I am thinking the easiest solution to fix this would be to make RestGuildCommand.ModifyAsync and RestGlobalCommand.ModifyAsync generic, but that would mean the user could specify wrong type here.
Better solution (non-breakable by user of the library) could be making ModifyAsync **protected(( and generic and then make classes like so:
RestSlashGuildCommand : RestGuildCommand
RestUserGuildCommand : RestGuildCommand
RestMessageGuildCommand : RestGuildCommand

RestSlashGlobalCommand : RestGlobalCommand
RestUserGlobalCommand : RestGlobalCommand
RestMessageGlobalCommand : RestGlobalCommand

and each one of these would specify ModifyAsync with the correct types.
The problem is that this adds a lot of classes which may not be desired.
Does anyone have better idea?

Or what about adding
public interface IModifyApplicationCommand<T>
  where T : ApplicationCommandProperties
{
  public Task ModifyAsync<T>(Action<T> func, RequestOptions options = null);
}

public interface ISlashCommand : IModifyApplicationCommand<SlashCommandProperties> {}
public interface IUserCommand : IModifyApplicationCommand<UserCommandProperties> {}
public interface IMessageCommand : IModifyApplicationCommand<MessageCommandProperties> {}

RestSlashGuildCommand : RestGuildCommand, ISlashCommand
RestUserGuildCommand : RestGuildCommand, IUserCommand
RestMessageGuildCommand : RestGuildCommand, IMessageCommand

RestSlashGlobalCommand : RestGlobalCommand, ISlashCommand
RestUserGlobalCommand : RestGlobalCommand, IUserCommand
RestMessageGlobalCommand : RestGlobalCommand, IMessageCommand

then modification could be done using cast to one of ISlashCommand, IUserCommand, IMessageCommand

Also note that Activator.CreateInstance cannot call internal constructors by default without correct flags and that it is slow. So I think it will be better to not use it and do something like switch and create new instances in it.


[3.x] Improve Groups dock panel and the Group Editor

3.x version of #57036
Also updates Group Editor icons when editor theme changes.

Thanks!


Update nosql byos deploy process

User<EMAIL_ADDRESS>[Dave Wentzel] Notified us of an issue with the deployment.
This update will fix the scripts for deployment of the  BYOS/app-modernization-no-sql open hack.

@mwasham This is the update for the nosql app modernization deployment


Change LBA dependency to just the core module rather than everything.

Changes proposed in this pull request:

Update LBA from 0.4.2 to 0.4.7 (the latest at this current time)
Only depend on lba-core rather than everything (which shrinks the resultant jar from 200kB to 60kB)
Change transitive deps back to the default (true) because LBA now publishes a POM without the fabric dependencies as of https://github.com/AlexIIL/LibBlockAttributes/commit/2936fc3faaa0fa0cc38d5c7848090ce7f34be1a2 and https://github.com/AlexIIL/LibBlockAttributes/commit/679bb96840a56549a8d70026c249cbf3e5579629 (POM: https://mod-buildcraft.com/maven/alexiil/mc/lib/libblockattributes-core/0.4.7/libblockattributes-core-0.4.7.pom)

This will help fix the crash mentioned at the bottom of https://github.com/StellarHorizons/Galacticraft-Rewoven/commit/13f93fa7ff9723c7c8beb2b3478a7ba236d46cfd .

Don’t know why I did that, but eh, let it be as in rules

This is great! Thank you so much.


Web - Select all in WorkspaceMembers page is not pressable but usernames/emails below are pressable

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to Workspace Members Page
Select checkbox of a member. Checkbox toggles.
Select a username/email. Checkbox toggles.
Click on checkbox to the left of select all. Checkbox toggles.
Click on the text Select all. Checkbox does not toggle.

Expected Result:
Clicking the text Select all should toggle the checkbox
Actual Result:
Clicking Select alldoes not toggle the checkbox
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.38-3
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/79584ad7-25fb-4684-8ef0-70cea4360473
https://github.com/Expensify/App/assets/93399543/ce3bd436-c274-4c2d-8506-5945e6cdbe22
Expensify/Expensify Issue URL:
Issue reported by: @c3024
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688899671661679
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
Clicking on Select all does not toggle the textbox similar to clicking on the users below.
What is the root cause of that problem?
Select all does not have any onPress event nor is enclosed with a Pressable
What changes do you think we should make in order to solve the problem?
We should move the View with Text containing Select all into the PressableWithFeedback like this.
<PressableWithFeedback
…
style={[styles.flexRow, styles.alignItemsCenter]}
>
<Checkbox
…
/>

<Text style={[styles.textStrong, styles.ph5]}>{props.translate('workspace.people.selectAll')}

We used alignItemsCenter to exactly match the existing style. We can omit it if it is not necessary and similarly horizontal padding for the Text can be removed if we want the clicking area to restrict to the Text itself.
What alternative solutions did you explore? (Optional)

This is intentional, context
cc: @JmillsExpensify


Delete updateStrategy.rollingUpdate.maxUnavailable because it is alpha feature

:mag: Description
StatefulSet's updateStrategy.rollingUpdate.maxUnavailable is being used, but this feature is still in the alpha stage. It should not be used by default.
https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-alpha-or-beta-features:~:text=–-,MaxUnavailableStatefulSet,-false
https://kubernetes.io/blog/2022/05/27/maxunavailable-for-statefulset/
Issue References 🔗
None
Describe Your Solution 🔧
I simply removed it. The behavior should not change even after the removal.
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklist 📝

[ ] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 0.00%. Comparing base (063a192) to head (ab31779).

Additional details and impacted files
@@          Coverage Diff           @@
##           master   #6550   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files         677     677
  Lines       41799   41799
  Branches     5709    5709
======================================
  Misses      41799   41799

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

Thank you. However, it looks like the CI is failing. It doesn't seem related to my changes...

@be-hase don't worry, ci failure should be irrelevant

Thanks, merged to master/1.9


fix a modal scrolling issue on a mobile. close #480

Deploy preview for landscape ready!
Built with commit 1236f8f1753e9ede27099f5d18098a61ef39a2c7
https://deploy-preview-495--landscape.netlify.com


ensure versioning is always correct

Did you know I wrote this? It can help you ensure tags and branches in your repo are setup correctly to ensure proper versioning
https://github.com/jessehouwing/actions-semver-checker

Thanks @jessehouwing, i'll take a look at the action and see if i can add it to my workflow.


screenshots taken are of 0 bytes

The screenshots taken are of 0 bytes and not loading

If anyone experiences this issue, maybe they might consider what's missing in their environment.  Not a bug.  Human dependency issue maybe.  The Youtube talk about chromedp is pretty good.  Especially when it comes to discussing the various ways of getting the necessary chrome parts to make it work.
https://youtu.be/_7pWCg94sKw?t=481
This is super slick.  Thanks for sharing your work and helping me become aware of these tools.  Def an improvement over selenium.


Make custom templates work on clipboard blocks.

Needs to be aware of scrapbook proxy blocks and pass through to get the proper custom templates and render using them

http://www.concrete5.org/developers/bugs/5-7-3-1/content-block-clipboard-custom-classes/


Mouse cursor.

I see system mouse cursor at top left corner, it moves erratically as I play. Also, sometimes the game crashes on exit. Using the recommended stuff from blood2-fix.zip and the patched executable by dgVoodoo2's author. The cursor only appears at 1360x768 resolution (the monitor's native one).

Moving issue to the correct project: dxwrapper.


No PyAedt function to assign Floating excitation in Electrostatic solver

Description of the feature
This option from the GUI is missing in a Pythonic way in PyAedt

### Steps for implementing the feature

I worked around it by:

project.odesign.GetModule("BoundarySetup").AssignFloating(
[
"NAME:FloatingCore",
"Objects:="     , [x.name for x in part_that_I_want_floating],
"Value:="       , "0"
])
Useful links and references
No response

Hi @AlfVII,
If you'd like I can cover this :)
Please do let me know.
Regards,
Giulia


Signed release tarball

Hi,
Congrats on the v1.2 release.
Please can the release tarball be signed as per previous releases to enable distros such as Debian to pass their usual validation checks.
Cheers

Done!


Logging boolean tensors not supported

Describe the annoyance
It'd be nice if boolean tensors could be logged (and show up as black and white masks in Rerun).
To Reproduce
import numpy as np
import rerun as rr
import rerun.experimental as rr2

rr.init("mask", spawn=True)
mask = np.random.rand(100, 100) > 0.5
rr2.log("mask", rr2.Tensor(mask))

gives
AssertionError: Failed to find <class 'numpy.bool_'> in f{<class 'numpy.uint8'>: 'U8', <class 'numpy.uint16'>: 'U16', <class 'numpy.uint32'>: 'U32', <class 'numpy.uint64'>: 'U64', <class 'numpy.int8'>: 'I8', <class 'numpy.int16'>: 'I16', <class 'numpy.int32'>: 'I32', <class 'numpy.int64'>: 'I64', <class 'numpy.float16'>: 'F16', <class 'numpy.float32'>: 'F32', <class 'numpy.float64'>: 'F64'}

Expected behavior
Show a black and white mask in the Rerun viewer.
Desktop (please complete the following information):

OS: Ubuntu 20.04

Rerun version
rerun_py 0.9.0-alpha.4 [rustc 1.72.0 (5680fa18f 2023-08-23), LLVM 16.0.5] x86_64-unknown-linux-gnu 7db7b54, built 2023-09-12T08:50:21Z

Good point - this should be pretty easy to implement if we start with the naive one-byte-per-bool implementation. A proper one-bit-per-bool implementation shouldn't be that much harder though. I think arrow2 has a buffer for that.

This also applies to SegmentationImages. Right now an extra .astype(np.uint8) is needed.
binary_segmentation_mask = binary_segmentation_probabilities > 0.5
rr.log("video/mask", rr.SegmentationImage(binary_segmentation_mask.astype(np.uint8)))


Any chance to work a little more on this?

So, I've finished porting my entire engine to WASM together with Adam's minimal runtime. I must say that I'm very happy with your work here. It did helped me a lot during my time debugging WASM source.
My current problem right now is that I'm finding a bit hard to make it include all source files.
I'll do a PR later to fix deprecation messages about body keyword btw

So, my current problem right now with this is that I'm generating sourcemaps from another URL. When browser tried to load, it tryies: another/url/wasmSource.wasm
Basically I'm outputting the wasm to folder and processing it from the current directory, so, my server is unable to handle that.
As a temporary solution, I'll generate the wasm and its mapping in the same folder and move them to the target folder

I have moved away from sourcemaps once chrome devtools started to support dwarf debug info directly. It just works.

See https://blog.bitsrc.io/debugging-webassembly-with-chrome-devtools-99dbad485451 or similar for more details


Add support for interacting with alert boxes

Basically need to add support for interacting with browser alerts. Something like _driver.SwitchTo().Alert(); would be a good starting point.
Notes

Create ISwitchTo interface that manages what to "switch" the current focus to
Create IAlert interface in StageZero
Implement ISwitchTo in StageZero.Selenium
Implement IAlert in StageZero.Selenium

Implemented as part of #93. Closing off.


Paul/update docs

These changes should target the release/elm branch.
Though that might require a messy rebase now, so, alternatively, you can recreate them in a duplicate PR.

How do I target the release/elm branch? I'm happy to duplicate it, but not sure how to make the appropriate branch

How do I target the release/elm branch? I'm happy to duplicate it, but not sure how to make the appropriate branch

I created a new branch paul/update-docs-elm which is based on release/elm. You can edit this PR to change both base and target branch or create a new one.

How do I target the release/elm branch? I'm happy to duplicate it, but not sure how to make the appropriate branch

Edon already did it for you, but in case you need to do it again in the future:
One way would be to create a new branch from release/elm, add your changes to it (either recreate them manually or using cherry-pick) and create a new PR which targets release/elm instead of master:
git checkout release/elm
git pull
git checkout -B paul/update-docs-new
git cherry-pick 78d81d3..fd78ac8 # cherry pick all commits from this PR, might create merge conflicts
git push

Alternatively, you could rebase the current branch over release/elm by deleting all commits you didn't add:
git checkout release/elm
git pull
git checkout paul/update-docs-new
git rebase -i release/elm # edit the rebase list by deleting commits from `master` and solve any merge conflicts
git push -f # this overwrites the commits in this PR

then edit this PR and change the target branch to release/elm.

I created a new branch paul/update-docs-elm which is based on release/elm. Looks like it needs a new pull request.

So as I understand it, I can just checkout paul/update-docs-elm, and start applying your comments to that branch?

I don't understand what it means to "target release/elm". What I did was simply checkout branch paul/update-docs/elm. Is there something else I need to do?

Sorry, I mixed two things in the same sentence. No, simply checkout paul/update-docs-elm.
When opening the pull request on GitHub choose release/elm instead of master from the dropdown.


feat!: return new error messages

Problem
RLN error messages during lightPush send are shown as GENERIC_ERROR which is not accurate at all.
Also, in filter we return remote peer rejection even if failure was on the stream creation.
Another thing improved - is not to await for peer renewal during lightPush.send
Solution
Handle the cases.

@danisharora099 I marked it as breaking changes due to change of error code returned: now we have NO_RESPONSE and no REMOTE_PEER_FAULT


Release workflow

This workflow simplifies releasing process. The previous way of doing it involved:

Running tests outside release process. This could have lead to mistakes.
Updating version in projects/gallery by hand
Committing & pushing that change
Possibly waiting for the tests to finish
Running npm upload script by hand.
Creating GH release after the fact, not as a trigger.

This is now simplified since the process looks like this:

Publish GH release
and that's it!

The release triggers following steps in one GH workflow:

Build & test
Updates npm version
Publishes the package to NPM registry

Codecov Report

Merging #57 (da42032) into master (b8018aa) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #57   +/-   ##
=======================================
  Coverage   86.83%   86.83%
=======================================
  Files          12       12
  Lines         433      433
  Branches       85       85
=======================================
  Hits          376      376
  Misses         33       33
  Partials       24       24

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 b8018aa...da42032. Read the comment docs.


View Create Title: Missing requirements for database

The document describes in one sentence that the user can change between Journal, Book and Database, but Database is not further explained.
(p.53)

Database has neither the book fields nor the journal fields. As object, it is comparable to journal.


Only handle the Enter key when the DropDown is open

What does the pull request do?
Fixes #5106
What is the current behavior?
When pressing the [Enter] key while the AutoCompleteBox is focused, the default button's command is not invoked
What is the updated/expected behavior with this PR?
The Enter key is only handled when the dropdown is open (so that the user can select one of the suggestions)
Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Avaloniaui.net with user documentation

Breaking changes
none
Fixed issues
Fixes #5106

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: LBognanni sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Simplify the find method

Since we can't completely remove the find method for backwards compatibility reasons, we should at least not have any duplicated logic.
This also adds Eloquent integration tests for the find method.

While we're at it, can you add a comment that explains why this method is necessary to have?

@franzliedke you mean so that no one repeats the same mistake I did in that last PR?
I'm not sure how @taylorotwell would feel about that. There are no "meta" comments anywhere in laravel's core.
I think we should just remove this method in the next version of laravel.

Yes, that's what I meant. You don't need to point to your old PR or anything, but the command should explain why relying on the __callStatic() magic stuff isn't enough for this method.

the command should explain why relying on the __callStatic() magic stuff isn't enough for this method.

Relying on __callStatic is enough for this method. It is only for backwards compatibility that we can't rely on __callStatic. That's what I meant about the comment being "meta"; the code itself would work fine without it.


CSV files created in Excel fail with "BatchWriteItem operation: The provided key element does not match the schema" error

The provided Lambda function uses the utf-8 codec for csv.DictReader which means the first column name is prepended with u'\ufeff' and therefore doesn't match the Partition Key name. The Lambda reports as successfully running but logs the Error executing batch_writer error to CloudWatch Logs.

Pull Request #10

Merged utf fix and added more descriptive error handling.


[question] uv or rye?

I have noticed that UV is currently experimentally supporting some RYE features, such as:
uv init $\gets$ rye init
uv add $\gets$ rye add
uv sync $\gets$ rye sync
uv python install $\gets$ rye fetch
rye? uv?
I wonder who will be the ultimate tool for Python developers in the future?❤

Hi! I'd recommend checking out my recent comment about this at https://github.com/astral-sh/rye/discussions/1164

Thanks!❤


Business types not clickable

Steps to Reproduce

Click on SERVICES under "Filter by Categories"
Scan down on left
Click SALON in the list of businesses

Expected Behavior
Limit right side of page to the SALON list
OR
scroll page to the SALON list on right
Actual Behavior
No action on click

@crisman Is this resolved? I think it is.


MongoDB Replicaset for diversity plugin

Environment

VerneMQ Version: 1.10.1
OS: Ubuntu 18.04
Erlang/OTP version (if building from source):
VerneMQ configuration (vernemq.conf) or the changes from the default
Cluster size/standalone: standalone

Hi there
Is there any roadmap to implement mongodb replica set connection for mongo diversity plugin ?
In a HA environment it is really a pitfall.
Thanks

Currently working on this


added_prompt and negative_prompt

Do we only need to add added_prompt and negative_prompt during inference, not during training?

Yes, you don't need them during training. They are optional in inference (I would recommend to use them for better results).


Wallet newui

Fixes #267
The pr updates wallet page to new wallet page ui.

The buttons to backup wallet seeds on the wallet page don't seem to be responsive

The buttons to backup wallet seeds on the wallet page don't seem to be responsive

The feature to backup wallet has not been Implemented... I left a comment to this effect.

The collapsed and expanded icons are not the same with what's in the mockup. Also the balance next to the menu button is not properly aligned with the menu button.
Current implementation

Correct implementation


fix: snapshots

Description

Fix ci which is failing for snapshot test of pagniation.test.tsx

Checklist

[ ] If any new components were added, there are exported from packages/index.ts
[ ] This PR is associated with a JIRA and mentions in the commit message footer ("Closes …")
[ ] This PR contains breaking changes and states in the commit message body ("BREAKING CHANGE: …")
[x] I have reviewed the changes and provided detail to the sections above

@nataliepina please check this. CI is failing in the main branch after the merge of TextInput PR

Could you refactor the commit message to be test: instead of fix:

Tests
test - Adding missing tests or correcting existing tests.

Will need to make sure to always run  npm run test -- -u but CI should have caught this 🤔

No, @nataliepina no need to always run test cases with update flag.
Why did this happen?:
PR-1 had changes related to Paginaton tests
PR-2 had changes related to hidden attribute
Both were in review together. Pipelines for both got succeded. Now PR-1 got merged but its test will break with PR-2 changes. Since it's ci alredy successfully passed, it did not get retriggered and got merged in main. Hence, now main branch is in a state where ci is breaking.
This is very common ci issue.

Thanks for the input @taksuparth. Either way, this should be good after you refactor the commit type.

thanks for doing this but since it was blocking other PRs we got it in separately


lbr_moveit_cpp documentation out of data; unable to run hello_moveit demo

https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_demos/lbr_moveit_cpp/doc/lbr_moveit_cpp.html
The command for launching move_group seems to be out of date on this page. Nonetheless, I tried to run the move_group.launch.py which is now moved into individual folders under lbr_moveit_config and I still couldn't get the hello_moveit demo to run successfully. Specifically, hello_moveit.cpp seems to stuck at the MoveGroupInterface initialization.
Could you advise?
branch: humble

Hi @bluewish07. Thank you for raising this issue. You are right, this demo is probably outdated. Are you working on actual hardware or in simulation?

Hi @mhubii thank you for getting back to me! Eventually I found out that I should run move_group with lbr_bringup and it did work. So I think just updating the doc on that page would be great. Thank you for your help!


Update shells immediately if profile config is changed

Repro:

Create a new profile in settings.json
Open dropdown, it's out of date for up to 10 seconds.

fixed with
https://github.com/microsoft/vscode/blob/f934e058c7546d97ab0a380370f37aaffaa47fda/src/vs/workbench/contrib/terminal/browser/terminalService.ts#L340-L340


Cannot call abstract method Illuminate\Support\ServiceProvider::register()

Hello,
Thanks for this wonderful package. After installing, I am getting "Cannot call abstract method Illuminate\Support\ServiceProvider::register()" error. I tried using "dev-master" and "0.7.*".
It is coming from vendor\pragmarx\tracker\src\Vendor\Laravel\ServiceProvider.php file and line no.  97 i.e. parent::register();
Please let me know if you need any other information.
Regards,
Naveen Setia

Should be fixed by last changes. Also I installed it again today and had no problem. Please comment here if you receive this error again and I'll try to understand it. Thank you.


add documentation comments

What did I change?
I've added API documentation.
Why did I change it?
I noticed that the code was perhaps a little complicated to understand for a beginner who would like to implement the package in his personal project or CRON task, so I added comments and documentation thanks to paka.dev. The comments will appear on paka as soon as the package is released.

It should be better now @goenning

🚀


feat(react-native-plugin): [WIP] Convert package into a React Native plugin

What: Solving issue https://github.com/peggyrayzis/react-native-create-bridge/issues/19
Why: This change allows for package to be installed and used locally within projects by use of react-native create-bridge
How:

Adding rnpm plugin path to package.json
Adding necessary module.exports to index.js
Refactor index.js and file-operations.js to use require and promise based functions
Refactor test files to import fileOperations with require

Checklist:

[x] I read the contributor guidelines
[x] My commit messages & PR title follow Conventional Changelog Standard
[ ] I added tests for my new feature
[x] I added documentation for my new feature

@peggyrayzis I have this working as a React Native plugin. In terms of tests, I'm not entirely sure what to do there or what you may want as the functionality itself hasn't really changed.

Hey Jarret! Thank you so much for taking on this feature. 🙏  I'll take a look at this PR some time over the next few days. Sorry for the delay, I'm leaving for Japan on Friday so things have been a little hectic on my end.

hey @peggyrayzis let me know when you're back. Would love to get this merged in 😄 .

Hey @jarretmoses! I'm back 🎉 expect a review in the next few days. Thanks again & sorry for the delay!

@peggyrayzis looking forward to it! Hope you enjoyed Japan :D.

Hi @peggyrayzis , any chance you can review this soon ? Thanks in advance !

To help Peggy, I will review it later today. We are using this quite heavily now in our project and would love this integration.

@grabbou I like the package name suggestion. Updated

@peggyrayzis this should be good to merge if you'd like to take a look first.

Any leeway here? Would love to start using this as a plugin instead

Repo seems pretty inactive lately. Do you need help maintaining this @peggyrayzis? I'm sure @jarretmoses and I would be able to help.


Chocolatey Packages - Don't include XML files

The intellisense/debug ones.  These are not required, and make it harder to review the packages during moderation.

@gep13 Are you referring to the .pssproj files?


How to vizualise Workflows streaming events / agent reasoning?

Hi, what is the proper way of using chat-ui with llama-index workflows?
I'm struggling to properly output streaming events from workflow to ui.
Vercel useChat streaming is confusing. I want to visualize some form of reasoning like chainlit.
So i'd like to stream events as the workflow executes with all tool-calling and results, and ultimately output the final message.
Any hints or examples are highly appreciated!

Have you tried using create-llama to generate some workflow code? It's using a streaming implementation for workflows, just try:

Thank you, it helped!


limits number of nodes per IP address in Turbine

Problem
Nodes congestion.
Summary of Changes
Limit to max 10 nodes per IP address in Turbine.

@t-nelson we probably need to ship this sooner.


Add go-getter support to load base helmfiles

Resolves #1193

Hi! This looks good. Just confirming, but how did you test this? Is this tested to work both with or without the use of go-getter style url in a bases entry?

@jonasrutishauser Hi! This looks good. Just confirming, but how did you test this? Is this tested to work both with or without the use of go-getter style url in a bases entry?

I tested it manually (simple Helmfile) with and without go-getter style url in bases.
I even tested my tests by running them against the code without my changes.

@jonasrutishauser Ah, would you mind adding some documentation about this feature under https://github.com/roboll/helmfile/blob/master/docs/writing-helmfile.md#layering-state-files so that it's more discoverable? Thanks!


1050 Update nightly billing with cost and msg parts

Description
This task is to add the total cost and message parts to the nightly billing report in big query.
#1050
Type of change
Please delete options that are not relevant.

[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?
This is tested by sending sms messages using our Postman endpoints and checking to make sure the data shows up as expected in Big Query.

send several sms messages with various billing codes.
after the lambda runs overnight, check BigQuery to make sure the messages are counted correctly and the cost is calculated correctly

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

I tested this by sending various messages on 3/1. They all used the VA Notify service in Dev and the same template, but different billing codes for grouping.
I sent the following messages:

no billing_code, 1 message part, x2
billing_code = "bcode1", 4 message parts, x2
billing_code = "bcode2", 1 message part, x1

You can see the results, as seen in BigQuery, in the following table.

date
service name
service id
template name
template id
sender
sender id
billing code
count
channel type
total_message_parts
total_cost

2023-03-01
VA Notify
d6aa2c68-a2d9-4437-ab19-3ae8eb202553
aaa
e14779ed-ac7d-4288-9038-d42ba3f6c668
18337021549
286d6176-adbe-7ea7-ba26-b7606ee5e2a4

2
sms
2
1662.0

2023-03-01
VA Notify
d6aa2c68-a2d9-4437-ab19-3ae8eb202553
aaa
e14779ed-ac7d-4288-9038-d42ba3f6c668
18337021549
286d6176-adbe-7ea7-ba26-b7606ee5e2a4
bcode1
3
sms
9
7479.0

2023-03-01
VA Notify
d6aa2c68-a2d9-4437-ab19-3ae8eb202553
aaa
e14779ed-ac7d-4288-9038-d42ba3f6c668
18337021549
286d6176-adbe-7ea7-ba26-b7606ee5e2a4
bcode2
1
sms
1
831.0


Fix fetching of Dashboard URL

if there are other routes using "dashboard", the code fetches all the routes together breaking the UI tests accessing the Dashboard

Actually, @bdattoma, looking on the python linters results - would be great if you could make them green and happy again before merging this! :slightly_smiling_face:


Azure Tutorial Bug

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp up
Errors:
The command failed with an unexpected error. Here is the traceback:

'int' object has no attribute 'upper'
Traceback (most recent call last):
  File "/home/smartfarm/lib/azure-cli/local/lib/python2.7/site-packages/knack/cli.py", line 206, in invoke
    cmd_result = self.invocation.execute(args)
  File "/home/smartfarm/lib/azure-cli/local/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 603, in execute
    raise ex
AttributeError: 'int' object has no attribute 'upper'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp up --name {} --resource-group {} --plan {} --sku {} --location {}

Expected Behavior
Environment Summary
Linux-5.0.0-32-generic-x86_64-with-Ubuntu-18.04-bionic
Python 2.7.15+
Shell: bash

azure-cli 2.0.76

Additional Context

Duplicate of #11100

Please upgrade to 2.0.77


Are environments supposed to be automatically created during YAML run?

Hello,
I run YAML and it did create PAC-DEV environment but none of the other environments mentioned were created and instead following errors were thrown Job deployPolicyJob: Environment PAC-POLICY could not be found. The environment does not exist or has not been authorized for use.

No, they are not. Environments help you control approval gates and are therefore purposly handled outside of the pipeline definition.https://learn.microsoft.com/en-us/azure/devops/pipelines/process/environments?view=azure-devops.
Do you think we should add some documentation or at least a reference to this article?

I'm confused about use of environments in pipeline. Dev one was automatically created because it was mentioned in pipeline and per this document that's how it's supposed to work (https://learn.microsoft.com/en-us/azure/devops/pipelines/process/environments?view=azure-devops#:~:text=When you author a YAML pipeline and refer to an environment that does not exist%2C Azure Pipelines automatically creates the environment when the user performing the operation is known and permissions can be assigned) but none of the others were automatically created and error message above appeared.


Vulnerability roundup 108: bolt-3.19.0: 1 advisory [7.5]

search, files

[ ] CVE-2021-27367 CVSSv3=7.5 (nixos-unstable)

CVE details
CVE-2021-27367
Controller/Backend/FileEditController.php and Controller/Backend/FilemanagerController.php in Bolt before 4.1.13 allow Directory Traversal.

Scanned versions: nixos-unstable: 942eb9a335b.

False positive, our bolt is https://github.com/puppetlabs/bolt, not the CMS.


Update transport.go

Removing log

Github is saying this has conflicts.  Moving to 'review/qa', but I think this may be closed based on @brobits previous comment.


Missing C++ operators taking std::nothrow_t

Overrides for C++ operator new and operator delete taking std::nothrow_t arguments are missing.

Hi, good suggestion. However, when I look at the standard, the default implementations refer to the throwing versions and those are overridden. So it seems to be ok to not override the nothrow_t versions explicitly right?  I would like to reduce the override API as much as possible.

If you don't override all overloads provided by the compiler runtime then those overloads are linked to the program, which means some of the overloads will call mimalloc and others - compiler runtime. You need to override all memory allocation functions, including std::nothrow_t versions..

I'll add that the C++ standard is not really authoritative in this case as it doesn't deal with compiler implementations and ABI. And replacing memory allocations means dealing with both. You should be looking at C++ ABI documents and ABI libraries implementation to see which functions are actually called by the compiler. Plus the C/POSIX memory allocation functions.

@lastique: If you don't override all overloads provided by the compiler runtime then those overloads are linked to the program, which means some of the overloads will call mimalloc and others - compiler runtime
I don't think that is the case. The implementations call the non-throw versions and those are overridden. Even stronger, for overriding to work, you don't even need to override new as that eventually invokes malloc. We override new anyways but that is just for better performance.
You are right though if the compiler library calls itself internal versions of malloc, but in that case we are in trouble anyway since any library function (like at_exit) might call the internal functions...

The implementations call the non-throw versions and those are overridden.

I haven't found where, in mimalloc, they are overridden.

Even stronger, for overriding to work, you don't even need to override new as that eventually invokes malloc.

First, operator new doesn't necessarily have to call malloc. Maybe the existing runtimes do by incident, I haven't checked, but you're relying on implementation detail of the runtimes.
Second, if you want to rely on implementation details, then at least be consistent about it. Either override all operators, or none. At least, if the operators don't use malloc/free, they will be able to work with whatever heap they all use.

I see, it is a good argument. Also, I realized the current override of new is not according to the specification as we don't raise a bad_alloc exception on out-of-memory (but return NULL). Raising an exception in this case is not great though as there is nothing that can be done, calling exit or abort seems a better strategy. (worse, an most lazy commit systems new never fails but an access later on might which is arguably worse than returning NULL).

When the standard says throw bad_alloc then the operator should do it. It is the caller who should be able to do something about it, if he wants to. Also note that there is set_new_handler API.

Well, of course :-) But I observed quite a speed improvement for redirecting new so there is quite a cost to supporting this behavior. The right thing to do seems to redirect to a mi_new function that calls the global new_handler if it cannot allocate -- this would preserve the standard semantics and still be efficient. And than also override the no_throw variants.

With the claim of a general usability of the library the decision for a standard-compliant behaviour should actually be easy. I am confident that mimalloc will nevertheless reach a top position in all performance comparisons.

Yes, I agree -- I will fix this soon. The best thing to do seems to override all and implementing the standard semantics. (or perhaps not bother overriding at all since they all use malloc underneath...)

or perhaps not bother overriding at all since they all use malloc underneath... :+1:

I also think you overestimate the importance of the operator new in modern C++ programs. Almost all dynamic memory allocations nowadays are made by standard container classes (like std::vector<>, std::list<> etc.) that use the std::allocator<> class, which conceptually separates the (possible bulk) memory allocation from the construction of (separate) instances via the placement new operator.
And no, this is not a request to overwrite std::allocator<>...

Most widespread standard libraries use operator new/operator delete in std::allocator. And I wouldn't underestimate the amount of allocations beside std::allocator. To give you a perspective, if you have std::vector<std::unique_ptr<T>> with N elements in your code, you have one to few allocations through std::allocator and N allocations directly via new.
I think, if mimalloc intends to replace the standard heap, operator new/operator delete should be overridden.

Most widespread standard libraries use operator new/operator delete in std::allocator.

Yeah, you're right. The std::allocator<> calls operator new and operator delete as functions directly. I wasn't aware of that.
However, I don't see much benefit in the overwriting as the original motivation of improved performance is hardly given anymore as soon as the operators implement the standard compliant behavior.

However, I don't see much benefit in the overwriting as the original motivation of improved performance is hardly given anymore as soon as the operators implement the standard compliant behavior.

I'm not sure I understand. If you mean operators are supposed to benefit from mimalloc overriding malloc and friends then that is not guaranteed by the standard.

Maybe the existing runtimes do by incident, I haven't checked, but you're relying on implementation detail of the runtimes.

Only some of them do that. Some of them do not. Especially when in debug builds with debug runtimes/libraries in play.

(or perhaps not bother overriding at all since they all use malloc underneath...)

This is not true. It may be true on some platforms (libstdc++ maybe) but is not true on others.
To be very clear, it is also not true to ever assume that one overload of new will ever call a different overload of new by default.
To do otherwise is to invoke undefined behavior.
If mimalloc is overriding new, I would not only absolutely expect it to override all overloads, I would also expect that with mimalloc's debug/security/correctness layer turned on that mimalloc would detect and raise an error when new and free (or malloc and delete) are inappropriately paired, just like some existing C++ standard library implementations do today.

Just pushed a new commit that implements the correct overriding for new/delete if compiling with a C++ compiler; adds overrides for all current new/delete variants including nothrow etc. When using a C compiler we cannot call get_new_handler or throw exceptions, so in that case these are not  overridden at all and we rely on the standard implementations calling malloc/free under the hood. (we do override aligned_alloc as well so everything should work now) :-)


Terraform breaks

Terraform breaks for os_type variable, expect "Linux and Windows" instead of "linux and windows".
Ip address type should "Private & Public" instead of "private & public"

ip_address_type     = var.enable_vnet_integration ? "private" : "public"
os_type             = "linux"
ip_address_type     = var.enable_vnet_integration ? "private" : "public"
os_type             = "windows"

Created #33 to fix this, lets see if someone reviews it!

Update: the update has already been merged (https://github.com/Azure/terraform-azurerm-aci-devops-agent/pull/32), but new release was not done. I just did it and it fixes the issue for me to switch to version 0.9.3.

Version 0.9.3 fixed both these issues for me.  Thanks!

Well done!
Thanks & Regards,
Vimal
On Thu, 16 Jun, 2022, 1:40 pm Julien Corioland, @.***>
wrote:

thanks for the quick feedback @clbarret https://github.com/clbarret.
and thank you for the contribution @vimal-vijayan
https://github.com/vimal-vijayan!
I am now closing this issue.
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/terraform-azurerm-aci-devops-agent/issues/31#issuecomment-1157560587,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJQA6C4DFY74T5NIBNA2EHTVPMHA7ANCNFSM5TLTA7ZA
.
You are receiving this because you were mentioned.Message ID:
@.***>


How to get coordinates(x, y) from object?

Hi.
How to get contour location(x, y) from instance segmentation object ?
I hope to develop auto-drawing-labeler. so, want to know coordinates (X, Y) of instance segmentation.

If the yolact does not have any output option for contour coordinates, you can try to integrate the instance segmentation with canny edge detection(opencv).


[Aio] Set debug_error_string to AioRpcError

When handling errors in aio, also set the debug_error_string, to get
more information (when available), about the exception, and help debug.
Tests status
161 tests finished:
	159 successful
	0 unsuccessful
	3 skipped
	2 expected failures
	0 unexpected successes
Interrupted Tests:
	[]

@lidizheng @gnossen @pfreixes

@pfreixes @lidizheng Thanks for the review! I've applied the changes, and it looks much simpler now! :)

Known failure: https://github.com/grpc/grpc/issues/21939