Arrow modifier padding function miss-functionality

I am not sure if the new merged functionality on arrow modifier that accepts function as padding option, work fine
I have initiated  a popper in the below example. and tried the
placement: "right",
  modifiers: [
    {
      name: "arrow",
      options: {
        element: arrow,
        padding: ({ popper, reference, placement }) => {
          console.log(popper, reference, placement);
          return "50%";
        }
      }
    }
  ]

As you can see in the below sandbox example the console, shows  undefined   undefined "bottom"
I am not sure if this correct, but placement also should be 'right'
CodeSandbox demo

https://codesandbox.io/s/intelligent-cherry-wp0bh?file=/src/index.js
Steps to reproduce the problem

See the console

What is the expected behavior?
Probably
popper & reference should not be undefined
and placement has to be 'right'

#1255 will fix it, but note that you are supposed to return an object (top: x, right: y, bottom: z, left: k }) or a number, you can't return a string like in your example.

of course. it is for the test only

Yes it will fix everything.


Feature: Link Class

Adds a Link and Links class allowing us to build HAL links easily.
The intended usage will eventually be something like:
from flask_hal import Document, Link, Links

d = Document(links=Links(Link('foo', '/foo'), Link('bar', '/bar')))
d.links.append(Link('baz', '/baz'))

d.links.to_json()
'{"_links": {"foo": {"href": "/foo"}, "bar": {"href": "/bar"}, "baz": {"href": "/baz"}}}'

d.links[0].name = 'Foo'
d.links.to_json()
'{"_links": {"foo": {"href": "/foo", "name": "Foo"}, "bar": {"href": "/bar"}, "baz": {"href": "/baz"}}}'

@peeklondon / @radeklos can you give this a once over, see if it make sense and is a cool API?

@peeklondon / @radeklos can haz murge?

What about to  Document(links=[Link('foo', '/foo'), Link('bar', '/bar')]) when then overwrite links setter which converts list to Collection?

@radeklos that could work nicely. Would need to be implemented in #3.

@radeklos nice call, that got the number lines down :+1:

@radeklos this good to go? Can get this and #3 merged at the same time

:+1:


JSON object keys length not work in templating

Hello @thetutlage
{{ [1,2,3] | length }} : works
{{ "test" | length }} : works
{{ {key: value} | length }} : not works in framework
Please cross check. thks!!

@navdeepsingh What happen? you resolved your problem?

Alright!
{{ {key: value} | length }} : not works in framework - sure its not working
rather
{{ JSONObject.length }} works for me
Thanks!

@navdeepsingh then its work on variables only, that right?

Yeah seems!

@navdeepsingh Can you get length of objects in plain Javascript?

@thetutlage actually wat irks me https://mozilla.github.io/nunjucks/templating.html#length here they said, its working. But not for me.
So just raised this issue, either {{ JSONObject.length }} already working for me
Thks!!

It works fine for me. {{ {key: 'value'} | length }}

Closing since no reply from the issue reporter and doesn't seems to be an issue. Please reopen if it still face problems


The Readme: typo / bad English

'It also provides with capabilities' should be, 'Also, it provides capabilities'. (The main problem is the 'with' - for, that word should not be there. Additionally, though, 'It also provides' splits the parts of the verb. The form of words that I suggest fixes both those problems.)

Wao! Grammarly didn't told me that :/
I updated the document with your recommendation.
Thanks a lot!


CI checks aren't being run in the merge queue correctly

See https://github.com/bevyengine/bevy_editor_prototypes/queue/main
This works fine on the main Bevy repo, so maybe there's a config problem. We can also just turn off the merge queue, although it is convenient.

Looks like the merge_queue trigger for the ci workflow is missing.
This repo: https://github.com/bevyengine/bevy_editor_prototypes/blob/eaea4191a8a47bb5dc2b24002c442e208a40ffd0/.github/workflows/ci.yaml#L4-L5
The main bevy repo: https://github.com/bevyengine/bevy/blob/612897becd415b7b982f58bd76deb719b42c9790/.github/workflows/ci.yml#L4

Good catch, let me fix it real quick :)


Expand custom user-agent support to also work with EAuthTokenPlatformType.MobileApp

Will need to likely add a constructor option that takes an object with properties:
interface ConstructorOptions {
    // ...

    mobileDeviceProperties?: MobileDeviceProperties
}

interface MobileDeviceProperties {
    mobileUserAgent?: string,     // default 'okhttp/3.12.12'
    mobileClientVersion?: string, // default '777777 3.0.0'
    deviceFriendlyName?: string,  // default 'Galaxy S22'
    osType?: number,              // default EOSType.AndroidUnknown
    gamingDeviceType?: number,    // default 528 (unknown significance)
}

Maybe we should also deprecate userAgent and rename it to webUserAgent, to differentiate it from mobileDeviceProperties.mobileUserAgent. Would also be a good idea to add a warning if webUserAgent or mobileDeviceProperties are set for inappropriate platform types.

Maybe deprecate both machineId  and userAgent, then add ability to pass deviceInfo instead?
deviceInfo should be one of IMobileDevice | IWebBrowser | ISteamClient, or something like for the sake of possible future updates.


Issue 174 add liquibase h2

Add liquibase and h2 script to iridium
Description

Add liquibase and h2 script, so that when use application-h2.yml file for starting the iridium project,
the h2 database will be initiated for user/developer. This will make local development much more convinient.
In the future, any database DML (may be DDL also)change and be made throuth liquibase script, no need to use sql script.
Motivation and Context

If any release deployment needs database change,  using liquibase script is much more convinient and safer than use sql script.
The h2 dadatbase is a easy and safe way to test java code usiing h2 in memory database.

How has this been tested?

When developer use the application-h2.yml file to start the iridium project in local laptop. The database can be accessed via
http://localhost:8381/h2-ui/
The

JDBC url: jdbc:h2:mem:identities
username: iridium
password: iridium

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Not correct Close


Simplifying build process

Just an idea... I recently found out about https://github.com/galaxyproject/galaxy-cloudman-playbook/tree/master/roles/galaxyprojectdotorg.cloudman-galaxy-setup/files/scripts and realised it had applications here, simplifying the installation process with nice yaml files.
api_key: <Admin user API key from galaxy_instance>
galaxy_instance: <Galaxy instance IP>
tools:
- name: synapse_interface
  owner: kellrott
  tool_panel_section_id: peak_calling
  tool_shed_url: https://testtoolshed.g2.bx.psu.edu
- name: add_value
  owner: devteam
  tool_panel_section_id: textutil
  tool_shed_url: https://toolshed.g2.bx.psu.edu

Yeah!
I'm in contact with Enis and we want to work on tools and sharing more of such things.
The (small) problem I have with this script is the same I had with docker-build V2 branch. You will loose the control over defining your Docker layers. Sometimes you want to have this, especially during debugging. It also speeds up your download of Docker images dramatically if you have multiple layers.
So I'm still searching for the right balance ...

Agreed, tough to find a good balance :/


Extract the PHPSESSID from the cookie of the RS Playlist page

To be able to change the playlist with http requests, we need to send the PHPSESSID to the RS Playlist server from our browsers cookie. This information must be given by the user. Make a Tampermonkey script what is shows this information on the paylist page.

Because of security reasons, it would be better, if we put a button on the page and the streamer must click on it. And then an alert must pop up, or a field must show the value for like next 20 seconds or till next reload.

The script for Tampermonkey has been published. Feel free to add anything you thing could enhance the usability.


Deprecate all old/invalid npm libraries

This includes:

@textile/threads-service-grpc
@textile/threads-service-client
@textile/threads-service
@textile/threads-examples

Others?

Done, plus a whole slew of others.


[Bug] : Testnet for DID?

Hey,
according to the DID examples i tried to create a DID ... but it directly throws that error...:
"@iota/identity-wasm": "^1.0.0",
"@iota/sdk-wasm": "^1.0.5",
API_ENDPOINT = "https://api.testnet.shimmer.network";
    const client = new Client({
        primaryNode: process.env.API_ENDPOINT,
        localPow: true,
    });

Error:  data did not match any variant of untagged enum NodeDto at line 1 column 75

I think we need more details about how you run the example, in what environment do you run the example? and is that the full error message you're getting?

Hey, ok...
I setup a nodejs express surrounding on Ubuntu 18
And yes, that is all I get as an error.
I just copied your Sourcecode to create a did in the shimmer testnet... by the way, I testen it my own private net with the same error...
What parameters do you need more??
Regards

I tried to make a node.js project on Ubuntu and it seems to work fine, see https://github.com/abdulmth/create_did_example maybe try to run this project locally and see if you encounter the same error.

Thanks , i´ve got my issue -> I had installed @iota/sdk-wasm (from further tests). I´ve deinstalled and there it is .
Thanks a lot!


[Rector Config] Add Option::PHPSTAN_FOR_RECTOR_PATH to rector config

What is the motivation for this?

I checked the patch of https://github.com/rectorphp/rector/pull/5781 seems not applied in getrector.org/demo , is it maybe probably by this or because of pending update in the getrector.org site ?

Website demo is not deployed as result of merge here.
Last was 3 days ago: https://github.com/rectorphp/getrector.org

Ok :+1:


Emit revoked event on relation broken

When grafana is re-related to traefik, traefik doesn't wipe the old yaml.
In the following example, the traefik container has yaml files for relations 5 and 8, even though relation 5 doesn't exist anymore:
$ jshu traefik/0 | grep "relation-id"
  - relation-id: 3
  - relation-id: 4
  - relation-id: 7
  - relation-id: 8

$ jsshc traefik traefik/0 ls /opt/traefik/juju
certificates.yaml
juju_ingress_ingress-per-unit_4_prometheus.yaml
juju_ingress_ingress_3_alertmanager.yaml
juju_ingress_traefik-route_5_grafana.yaml
juju_ingress_traefik-route_8_grafana.yaml

And traefik gently complains:
$ k logs -c traefik pods/traefik-0 -n test-traefik-deployed-after-metallb-zk3n

2023-01-05T19:31:15.221Z [traefik] time="2023-01-05T19:31:15Z" level=warning msg="HTTP router already configured, skipping" routerName=juju-test-traefik-deployed-after-metallb-zk3n-grafana-router filename=juju_ingress_traefik-route_8_grafana.yaml providerName=file
2023-01-05T19:31:15.221Z [traefik] time="2023-01-05T19:31:15Z" level=warning msg="HTTP service already configured, skipping" providerName=file filename=juju_ingress_traefik-route_8_grafana.yaml serviceName=juju-test-traefik-deployed-after-metallb-zk3n-grafana-service

This PR adds a revoked event so that it could be handled similarly to ipa and ipu from within traefik:
# lib
observe(rel_events.relation_broken, self._handle_relation_broken)

    # lib
    def _handle_relation_broken(self, event):
        self.on.data_removed.emit(event.relation)

# traefik charm
observe(ipa_events.data_removed, self._handle_ingress_data_removed)

    # traefik charm
    def _handle_ingress_data_removed(self, event: RelationEvent):
        """A unit has removed the data we need to provide ingress."""
-       # if this is because the relation is gone, we don't need to do anything
-        if isinstance(event, RelationBrokenEvent):
-           return
        self._wipe_ingress_for_relation(event.relation)

Side note: currently it seems that _wipe_ingress_for_relation never takes place on relation removal. Seems like this is a mistake.

@rbarry82 I recall discussing a revoked event for traefik-route.
Was there a reason not to have it?

Hmm ok looks like the terminology is more subtle:

A requirer has ready, revoked
A provider has data_provided, data_removed

Grafana wouldn't actually care about that event anyway (either the relation exists and it's the leader, or not -- the "leader only ingress" flow is uglier, since it also relies on leader electon/etc). The patch as it exists here is probably sufficient alongside observing it in Traefik.
Is this the cause of the 404?

This seems like a good change. When I wrote route I didn't see the need for observing the removed event, but if traefik needs to clean up some files after a remote end leaves, then yes, this sounds like the way to do it.
Re the _wipe_ingress_for_relation early return, that also seems like an oversight. IIRC I added that check because that routine also attempts to wipe the relation databag, which if we're in a relation-broken context, might fail.
So the proper solution to that issue is to clean up the traefik config files, but skip the databag wipe if we're answering a relation-broken.
Is this a draft still?

Still a draft?

Added utest. Ready for review.


solution iterator implementation for RecursiveBacktrackingSolver

Would it be possible to have the RecursiveBacktrackingSolver class to provide also a solution iterator?
Currently this class is only providing either a single solution, or the entire collection of solutions.

+1 for an iterator.
I am using python-constraint to generate constrained random vectors for my testcase, I have dozens of variables and the solution space can have millions of entries. generating the entire collection will put a strain on my compute resources, An iterator will be a better option.


Non-ASCII characters in Content-Disposition header

A report on the forum notes that downloading a submission attachment whose filename contains a non-ASCII character results in an error: https://forum.getodk.org/t/error-with-non-ascii-chars-in-attachment-filenames/34462
This has come up before. However, sanitize() was added to our binary() function to address this: https://github.com/getodk/central-backend/pull/332/commits/c1e41baefe570d4af64f69de3f9f13c07068667f
The endpoint to download a submission attachment uses the binary() function. However, while binary() does call sanitize(), it looks like sanitize() doesn't remove non-ASCII characters.
If a change is needed in binary(), I think it'd also be needed elsewhere, as there are places outside binary() where we use sanitize() together with Content-Disposition.
Somewhat relatedly, I'm noticing that we don't call binary() or sanitize() for the endpoint to download a form attachment:
https://github.com/getodk/central-backend/blob/78833c1f10092c66176fe83337355ddbc683cdd4/lib/resources/forms.js#L208-L221
Would it work to specify a filename* parameter to Content-Disposition in addition to filename? Does Express or an existing npm package provide an easy way to specify both parameters?

Just saw this Sentry issue, which seems related. In this case, it looks like the .csv.zip can't be downloaded, because the form ID contains a Unicode character.

This Sentry issue also seems related: https://sentry.io/organizations/getodk/issues/2572098274/?project=1298632

@matthew-white can you look over my work here? https://github.com/getodk/central-backend/pull/395/commits/086a59b9f583a18d599911344991c347c4f0c582
the rfcs are very very very very confusing.


The file refresh strategy could be improved to download content only when it's newer.

I discovered that the current refresh strategy does not consider the HTTP headers If-Modified-Since in the request and Last-Modified in the response. Instead, it always downloads all the content, even if there have been no changes since the last refresh.
I am creating this issue to notify that I intend to work on this improvement.

Yeah, great idea. I have no idea how to make this:)


Wrong author/committer encoding

If author and/or committer names include UTF8 chars they're not being displayed properly. There are some encoding options in the JGit API so make sure it actually defaults to utf8.

DBeaver displays this correctly so it might be an issue with the trino-cli client.

This is only an issue when running through docker, closing as wontfix

This is only an issue when running through docker, closing as wontfix


fix: Change allocated_storage type from string to number

Description

The allocated_storage type of the DB Instance is an integer, as indicated in the AWS documentation. This change has been reflected in this module, transitioning it from a string to a number.
Motivation and Context

To adhere to the AWS API data type convention.

Breaking Changes

No

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

The examples already shows data in number format, however I test it via different types including both string and number values.

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 6.1.1 :tada:


[Feature Request] Total number of users of a Plex server

Is your feature request related to a problem? Please describe.
I want to add a panel with the total number of users using my Plex server. This information is available in Tautulli, so I think we can get it with Varken.
Describe alternatives you've considered
For those like me whose number of users does not change so much, we can define a panel with a static value for it, but it is... static.

The main issue we have with this is its not a true representation of the number of users since Tautulli holds on to all users to keep history. Until Tautulli has the ability to differentiate between active and inactive we will hold off on this enhancement.

does refresh_users_list not give a number of active users?

does refresh_users_list not give a number of active users?

Refreshing the user list just to get a number ever time does not sound like a good idea?


Only handle OPTIONS requests ourselves if there is an Access-Control-…

…Request-Method header, in addition to method OPTIONS. This header is required in a preflight request according to http://www.w3.org/TR/cors/#preflight-request .

according to the flowchart it should also test for an existing Origin header in order to be recognized as preflight request.

Yeah. I thought it was sufficient to test for just one of the required headers, rather than testing for all of them. If it contains some but not all of the required headers, it's an invalid CORS request anyway.
Do you want me to amend this to test for Origin too?

Cheers


Scroll bar for the leftMenu

There is no scroll bar in the left menu, when the menu item overflows.

I implemented a fix for this. #36

Thank you, the change can be found in version 2.0.7


fix(ui): icon placement in physical mobile device

What this PR does / why we need it:

As titled, in explore/dex and explore/masternodes pages

Additional comments?:

LGTM


React not remembering show 100 rows

@emhenn Didn't like it, so complain to him :)

Confirmed - go to people (on large department). Change to 100 rows. Hit details. Hit back - only 20 rows.

https://www.robinwieruch.de/local-storage-react/

ReactTable                 data={this.props.spaces}                 ...                 defaultPageSize={10}                 ...

                defaultPageSize={localStorage.getItem('SpaceDefaultPageSize') || 20}                 onPageSizeChange={(pageSize) => {localStorage.setItem('SpaceDefaultPageSize', pageSize);}}


Assumption that numpy imported as np is not always true

For example, this fails:
In [1]: import numpy

In [2]: import tangent

In [3]: def f(W, x):
   ...:   h1 = numpy.dot(x, W)
   ...:   h2 = numpy.tanh(h1)
   ...:   out = numpy.sum(h2)
   ...:   return out
   ...:
   ...: dfdW = tangent.grad(f)
   ...:

In [4]: dfdW(numpy.ones((10, 10)), numpy.ones(10))
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-4-70a6a8cf8bcb> in <module>()
----> 1 dfdW(numpy.ones((10, 10)), numpy.ones(10))

/var/folders/gr/btjlj89x0y17vf4ndzl5vklh0000gn/T/tmpa7f1cu6p/tangent_d792.py in dfdW(W, x, bout)
      4
      5     # Grad of: out = numpy.sum(h2)
----> 6     _bh2 = tangent.astype(tangent.unreduce(bout, numpy.shape(h2), None, np.
      7         _NoValue), h2)
      8     bh2 = _bh2

NameError: name 'np' is not defined

It is written in the error itself that on line 6 it is described "np." which the compiler is unable to classify , it should be :
_bh2 = tangent.astype(tangent.unreduce(bout, numpy.shape(h2), None, numpy._NoValue), h2)

@rikudoayush The code is actually generated by Tangent, so @dmitriy-serdyuk wouldn't be able to change it easily. It is indeed a bug.
What is happening is this: If a function is called without keyword arguments, we take the default values from the function signature and use those to call the backward function. In this case we take keepdims=np._NoValue from numpy.sum, and we make sure that we call the gradient function (unreduce) with that value. This works if the keyword argument defaults are None, True, etc. but if it's an actual object (like the singleton np._NoValue) it breaks if that object isn't available in the namespace of the backward pass, which is what happens here.
Fixing this would require a bit of machinery, or maybe we should just require adjoints to explicitly specify the defaults of the function they are wrapping. Having a look at it now.


Type definitions for keys as Buffers

I know redis client can handle key argument as Buffer. I can't use them in typescript environment though. Can we update type definitions for all methods to use string | Buffer? I can make a pull request if it would be accepted.

Hi @yuricodes! Are you using @types/ioredis? If you are, you may submit an issue on https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ioredis.

Of course. Thanks

Hey guys, any update on this?

It seems the problem has been solved on https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/ioredis/index.d.ts#L47 @scf4


sftp URL parsing bug

Output of restic version
$ restic version
restic 0.2.0 (v0.2.0-150-g9fd941f)
compiled at 2016-08-26 07:59:14 with go1.6

Problem
Trying to backup to my NAS

synology
I have ssh access with no password

This looks like a command line parsing error.
$ restic -r sftp://p4:backups.restic init
panic: runtime error: slice bounds out of range

goroutine 1 [running]:
panic(0x9c2a60, 0xc82000e160)
	/usr/local/go/src/runtime/panic.go:464 +0x3e6
restic/backend/sftp.ParseConfig(0x7ffda12c547f, 0x18, 0x0, 0x0, 0x0, 0x0)
	/tmp/restic-build-041587322/src/restic/backend/sftp/config.go:34 +0x317
restic/location.Parse(0x7ffda12c547f, 0x18, 0x7ffda12c547f, 0x4, 0x0, 0x0, 0x0, 0x0)
	/tmp/restic-build-041587322/src/restic/location/location.go:47 +0x1d2
main.create(0x7ffda12c547f, 0x18, 0x0, 0x0, 0x0, 0x0)
	/tmp/restic-build-041587322/src/cmds/restic/global.go:280 +0x18f
main.CmdInit.Execute(0xd65880, 0xc8201486c0, 0x0, 0x3, 0x0, 0x0)
	/tmp/restic-build-041587322/src/cmds/restic/cmd_init.go:18 +0x169
main.(*CmdInit).Execute(0xc82002a080, 0xc8201486c0, 0x0, 0x3, 0x0, 0x0)
	<autogenerated>:29 +0xb9
github.com/jessevdk/go-flags.(*Parser).ParseArgs(0xc820014910, 0xc82000a3d0, 0x3, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0)
	/tmp/restic-build-041587322/src/github.com/jessevdk/go-flags/parser.go:278 +0x8dd
github.com/jessevdk/go-flags.(*Parser).Parse(0xc820014910, 0x0, 0x0, 0x0, 0x0, 0x0)
	/tmp/restic-build-041587322/src/github.com/jessevdk/go-flags/parser.go:154 +0x9b
main.main()
	/tmp/restic-build-041587322/src/cmds/restic/main.go:32 +0x1e8

Tried changing the review and this doesn't look right either:
$ restic -r sftp://p4/backups.restic init
subsystem request failed on channel 0
2016/08/26 08:07:48 EOF

Looked up the example in the docs and tried again:
$ restic -r sftp:p4:backups.restic init
subsystem request failed on channel 0
2016/08/26 08:09:42 EOF

So after fixing the parsing issue it still doesn't seem happy and the error message could use some help. I am not familiar with SFTP, is that something that needs to be explicitly enabled in the ssh server?

So I figured out some of my problems getting this to work.  SFTP isn't enabled by default, so the second example output above is a bad error message.
So now I have it enabled, and it took some more testing to discover than the SFTP server is running in a chroot so the pathnames are different.  Now here is what I believe is the correct URL and I verified that 'sftp' works.
$ restic -r sftp:wscott@p4:/homes/wscott/backups.restic key list
enter password for repository:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x28 pc=0x745bde]

goroutine 1 [running]:
panic(0x9c2c80, 0xc82000e1a0)
	/nix/store/s14qz1i878wixyif1l74wk0a6pfyj177-go-1.6.3/share/go/src/runtime/panic.go:481 +0x3e6
github.com/pkg/sftp.(*File).Write(0x0, 0xc82016c210, 0xa7, 0xa7, 0xc8221e1488, 0x0, 0x0)
	/tmp/restic-build-214816402/src/github.com/pkg/sftp/client.go:971 +0x4e
restic/backend/sftp.(*SFTP).Save(0xc8201641a0, 0xa7bc60, 0x4, 0xc820072100, 0x40, 0xc82016c210, 0xa7, 0xa7, 0x7f1beb4f90a0, 0xc82000aa50)
	/tmp/restic-build-214816402/src/restic/backend/sftp/sftp.go:334 +0x393
restic/repository.(*Repository).SaveUnpacked(0xc82016e0c0, 0xa7bc60, 0x4, 0xc82009e000, 0x87, 0x103, 0x5b1ee3cbb2eab5b1, 0x2807ce0c0484f07c, 0x92608f1c30233da7, 0xf14bc41655bf7192, ...)
	/tmp/restic-build-214816402/src/restic/repository/repository.go:271 +0x245
restic/repository.(*Repository).SaveJSONUnpacked(0xc82016e0c0, 0xa7bc60, 0x4, 0xa35700, 0xc82016e3c0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/tmp/restic-build-214816402/src/restic/repository/repository.go:256 +0x33a
restic.(*Lock).createLock(0xc82016e3c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/tmp/restic-build-214816402/src/restic/lock.go:168 +0x8e
restic.newLock(0xc82016e0c0, 0xc820032000, 0x7f1beb5bd568, 0x0, 0x0)
	/tmp/restic-build-214816402/src/restic/lock.go:94 +0x202
restic.NewLock(0xc82016e0c0, 0x9, 0x0, 0x0)
	/tmp/restic-build-214816402/src/restic/lock.go:61 +0x32
main.lockRepository(0xc82016e0c0, 0x8d0c00, 0x0, 0x0, 0x0)
	/tmp/restic-build-214816402/src/cmds/restic/lock.go:35 +0x4f
main.lockRepo(0xc82016e0c0, 0x4, 0x0, 0x0)
	/tmp/restic-build-214816402/src/cmds/restic/lock.go:22 +0x32
main.CmdKey.Execute(0xd6a8a0, 0x0, 0x0, 0xc820012d80, 0x1, 0x4, 0x0, 0x0)
	/tmp/restic-build-214816402/src/cmds/restic/cmd_key.go:126 +0x773
main.(*CmdKey).Execute(0xc8200ed480, 0xc820012d80, 0x1, 0x4, 0x0, 0x0)
	<autogenerated>:36 +0xcb
github.com/jessevdk/go-flags.(*Parser).ParseArgs(0xc82000a9b0, 0xc82000a100, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
	/tmp/restic-build-214816402/src/github.com/jessevdk/go-flags/parser.go:278 +0x8dd
github.com/jessevdk/go-flags.(*Parser).Parse(0xc82000a9b0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/tmp/restic-build-214816402/src/github.com/jessevdk/go-flags/parser.go:154 +0x9b
main.main()
	/tmp/restic-build-214816402/src/cmds/restic/main.go:32 +0x1e8

It does prompt be for the repo password and it only works if that password is valid so at least some of this is working.  But any attempt to do anything fails.  I settled on this 'key list' command for the example.
BTW I have another backup via NFS running at the same time.


Backlog title on board view sidepanel

http://www.screencast.com/t/WwAEiyBqT

The added screencast requires adobe's flash plugin (and Chrome's own flash plugin won't work).
Can you please describe the issue, or upload the video to YouTube (or somewhere more accessible)?


Query

Fixes #191
refs #194

Thanks @yagebu. The renaming is welcome - I originally copied it from bean-web, and was too "shy" to rename it.


Re-open #154

See my comment in #154 - can close this issue after #154 is re-opened (assuming you agree ofc)

Thanks!


Update httpserver.cpp header

httpserver.cpp:73:10: error: 'deque' in namespace 'std' does not name a template type
73 |     std::deque<std::unique_ptr> queue;
|          ^~~~~
httpserver.cpp:32:1: note: 'std::deque' is defined in header ''; did you forget to '#include '?

A new build of 7a2919b5ac14ba3b8a1dbf5aad08524db8d5ce08 has completed succesfully!
Binaries available at https://build.nav.community/binaries/master

A new build of 7a2919b5ac14ba3b8a1dbf5aad08524db8d5ce08 has completed succesfully!
Binaries available at https://build.nav.community/binaries/master

A new build of 7a2919b5ac14ba3b8a1dbf5aad08524db8d5ce08 has completed succesfully!
Binaries available at https://build.nav.community/binaries/master

A new build of 7a2919b5ac14ba3b8a1dbf5aad08524db8d5ce08 has completed succesfully!
Binaries available at https://build.nav.community/binaries/master

A new build of 7a2919b5ac14ba3b8a1dbf5aad08524db8d5ce08 has completed succesfully!
Binaries available at https://build.nav.community/binaries/master

A new build of 7a2919b5ac14ba3b8a1dbf5aad08524db8d5ce08 has completed succesfully!
Binaries available at https://build.nav.community/binaries/master

@garretlaxton in what enviroment were you seeing that build issue?

@aguycalled FreeBSD 12.1, I used the solution used on BTC for the same issue. https://github.com/bitcoin/bitcoin/pull/17249

Linux build still works after the change, I will assume that this fixes the FreeBSD issue and approve the PR


fix errors on build samples with VS2010

fix #578
I'm tested optical flow sample after build/ Look like everything is in order.

pow( 2, i ) ==> (1 << i)
floating point introduces huge overhead here.

:+1:

Why is signaling_NaN used instead of quiet_NAN()?

I thought it would be nice to handle FPU exceptions in the future.. Back quiet_NAN?

Yes, please use quiet_NAN.

Thanks!


Trying migrate from v0.6.3 to v0.8

Description
Trying migrate from v0.6.3 to v0.8
Your environment

OS and version.
Ubuntu 20.04

polygon-edge 0.8
Steps to reproduce
Try execute command from https://wiki.polygon.technology/docs/supernets/operate/supernets-ibft-to-polybft#2-create-trie-snapshot (step 5)
Logs
failed to load manifest file from provided path './manifest.json': open ./manifest.json: no such file or directory

What i need set eq manifest.json? If i delete data folder with genesis

OK, i create this by - polygon-edge manifest --validators-prefix data
But now i have error when i start new version

Are you trying to migrate from IBFT to PolyBFT?
and did you stopped your running node before executing the regenesis command?

Hi,
Closing this issue for now. Feel free to reopen if needed.


Capitalize!

Solved and added to the Repo : https://github.com/jarvismayur/Hackerrank-Problem-Solutions/blob/main/Python/Capitalize!/Capitalize!.py


push-mark in intero-goto-definition

Not quite sure, but intero-goto-definiton's use of pop-mark  before jumping should probably be a push-mark instead.

pop-mark is used to avoid the mark selection being expanded from the start point to the jump point. push-mark would set the new mark as far as I know. If you see bad behaviour open an issue about that!

I see, I thought it was for providing a way to jump back to the previous point in the target file. But wouldn't deactivate-mark suffice to prevent expanding the selection, while leaving the mark and the mark ring unmodified?


Update to the latest HEAD of rapier/master

This makes bevy_rapier compatible with the latest commit (7efcff615e821) on the master branch of rapier. This fixes an important bug in the broad-phase that could result in crashing after modifying and creating colliders and a particular order.

Closing this, replaced by https://github.com/dimforge/bevy_rapier/pull/138


Task Scheduling in Free RTOS

Reason for getting delay : Task scheduling is working but the low priority tasks are getting terminated when the high priority task is finished.


styling check only sometimes called?

I have a very weird issue. It seems like the styling of all my features is done using one of the styles I have, but a significant amount of the time, it doesn't do the check for how to style it.
I can use a tileset with a small number shapes and put in a breakpoint in the styling function. It'll hit the breakpoint the majority of the time but definitely not all the time. Likewise my console log only happens some of the time.
It's as if there's a multi-threading issue but only one thread will log to the console or do the check properly. Sometimes the same district gets partially shown with each format, so maybe certain tiles are processed correctly and others are not?
I'm using ajax to pull a list of all the districts ids I should show. After it returns, I make a list of all the districts ids I can show. And then I create an overlay with a styling function that checks that list.
Most of the time it checks the list but not always. For debugging purposes only, I'm telling it to make bold red lines for the borders I actually want to hide. A handful of the districts I do want shown show up in red & blue, and many of the districts I don't want shown show up with my standard overlay.
`    getDistrictGroupLayerStyle = function(feature) {
var style = {};
is_shown = districtsToOverlay[Number(feature.properties.district_id)];
    if (is_shown) {
        style.color = 'rgba(255,255,255,0)'; //clear
        style.outline = {
            color: 'rgb(20,20,20)',
            size: 2
        };
        console.log("displaying district: " + feature.properties.district_id);
    }
    else {
        console.log("No overlay for district: " + feature.properties.district_id);
        style.color = 'blue';
        style.outline = {
            color: 'red',
            size: 4
        };
    }
    return style;
};

showDistrictGroupLayer = function(boundaryId, districtGroupId) {
    districtsToOverlay = {};
    districtGroupLayer = null;
    var tileUrl = getTileUrl(boundaryId, districtGroupId);
    var districtsToShow = getDistrictsToShowUrl(boundaryId, districtGroupId);
    console.log("URL: " + districtsToShow);
    $.getJSON(districtsToShow, function (data) {
            $.each(data, function (index, district) {
                districtsToOverlay[Number(district.id)] = true;
                console.log("Can show district: " + district.id);
            });
            console.log("All visible district overlays: " + Object.keys(districtsToOverlay).sort());
            districtGroupLayer = new L.TileLayer.MVTSource({'url': tileUrl,
                                 clickableLayers: null,
                                 style: getDistrictGroupLayerStyle,
                                 subdomains: eeSubdomains,
                                 zIndex: 20000});
            map.addLayer(districtGroupLayer);
            districtGroupLayer.setStyle(getDistrictGroupLayerStyle);
        }
    )
};

`

Hi Julie - I haven't looked at this code in a very long time.  It could be a threading issue, but it may also be a caching issue?  For example (if memory serves me), once a particular feature has been styled, it will hold on to that style unless you specifically force it to refresh the style (I think using setStyle()).
Sorry I'm not more help - I'm just an old manager nowadays...!

I am calling this on every feature. It just seems like it's skipping features. As if the check only got called only in one thread or something like that. But that doesn't really make sense either, because I get the same behavior every time I reload a page.
Is anyone else still actively using this library?

Hello,
I just encountered the same issue, and found a solution. Actually, the style function is meant to be called only time per feature. In order to do this, MapboxVectorTile saves the id of the feature to remember the styles were already applied to it. To get the id, it uses this default function :
Util.getIDForLayerFeature = function(feature) {
  return feature.properties.id;
};

In my case, there is no "id" property in my feature. You might have the same problem.
You can override this function by adding it to the options. In your case :
new L.TileLayer.MVTSource({
    'url': tileUrl,
    clickableLayers: null,
    style: getDistrictGroupLayerStyle,
    getIDForLayerFeature: YourValidIdGenerationFunction
    subdomains: eeSubdomains,
    zIndex: 20000
});

Where "YourValidIdGenerationFunction" is a function that produces a unique id for each feature, but always the same for a given feature.
Hope this helps someone, I guess Julie Goldberg must have found a solution now...


Precompilation

It seems P4ML doesn't precompile when used from ACE1x. See also ACEsuit/ACE1pack.jl#130
We need to fix this urgently.
CC @tjjarvinen  @CheukHinHoJerry

The short therm fix is adding __precompile__(false). This has no effect on the actual working of the package, except that it does not try to precompile and thus there will be no failure to precompile. Note that when precompile fails the package works like without precompile.
On fixing the issue itself. My quess is that ObjectPools might have something to do with this. Other than that Julia documentation has section on this topic.
When debugging this you can use Base.compilecache(Base.identify_package("modulename")) to trigger precompile and see does it work.

I will try to see where is the problem and fix that.

This was not an issue with P4ML but with ACE1x and RepLieGrps


Node editor smarter path for links

Been able to merge the same node code with the regular links too (Except for animations)

thanks, looks basically good to me. One question though, there are a lot of numerical constants introduced to control the path. Would it be possible to define them relative to a common definition, such as a node's size and the desired margin?

Sure, this is done now


NullPointerException in Jruby and Rspec with Tempfiles

I've encountered an issue in Rspec when uploading fixture files that causes a NullPointerException in JRuby.
I'm posting the issue here because the issue only becomes evident when I upload a fixture file across describe blocks in Rspec. When the code occurs in the same describe block, there is no issue.
I'm testing with rspec-rails v2.13.2 and rails v<IP_ADDRESS>.
Here is the offending code:
require 'spec_helper'

describe 'Tempfile' do
  let(:file) { fixture_file_upload(Rails.root.join('spec/fixtures/file_1.txt').to_s) }

  describe 'test' do
    describe '1' do
      it { expect{file}.to_not raise_exception }
    end

    describe '2' do
      # Test will pass if before block is uncommented
      # Or if config.order = "random" is commented in spec_helper
      # before { ActionMailer::Base.deliveries.clear }
      it { expect{file}.to_not raise_exception }
    end

  end

end

I've also posted to jruby about this here: https://github.com/jruby/jruby/issues/4433
The sample app is here: https://github.com/synth/jruby-rspec-tempfile-bug
TravisCI builds are here: https://travis-ci.org/synth/jruby-rspec-tempfile-bug

Sorry but this is unlikely to be an RSpec bug, fixture_file_upload is a Rails (not RSpec) provided method but also JRuby tends to behave a bit differently to other Rubies and is prone to these sort of quirks, (in fact you can't ever get that error in MRI Ruby), you could try replicating this with plain classes and see if it's a JRuby bug otherwise I'd suggest trying the latest version of RSpec, 3.5.4, as we don't support 2.13.2 and theres a painless upgrade path thanks to 2.99.

I think so as well, but I was considering the possibility that maybe rspec was doing some file handle cleanup across describe blocks that might account for this behavior.


Add Supporting Windows Docker Container Hosted API Services

This PR Adds a DockerFile and Run Script for a Windows DataContainer that will hold the contents of the repo. It also adds a parameter setting to the AzurePipelines yaml file that adds windows and the windows dockerfile as run parameters

Adding the right reviewer from rpaas team.
@croos-msft , I would like to know more about your scenario. Feel free to ping me in IM.

@croos-msft , do you push the image to RpaaS ACR? @leal-alvaro, are you ok with that?

@croos-msft , do you push the image to RpaaS ACR? @leal-alvaro, are you ok with that?

It would be better for this to be consumed by a separate pipeline, and push the data container to another ACR.


Do not manually free materials for shapes

Fixes #180
@rlidwka  Correct analysis indeed, Physx internally decrements the ref count so no need for our wrappers to do so -- that leads to decrementing the ref-count twice. Do you have a bigger context where you'd be able to try this and ensure it now works?

Do you have a bigger context where you'd be able to try this and ensure it now works?

I've tried it, and I'm pretty sure this solution works.

Thanks! Will try to get a release done next week.


CORGI-355 match cpe to stream using pattern

Use cpe patterns from product definitions ps_modules to build a list of cpes per stream. This works well to fill in the gaps where we can't match streams to variants in other ways. When combining the results of aggregating variant cpes, and cpes matched via ps_module patterns we get a list very close the current supported_cpe_map.
I updated the supported_cpe_map to remove all the streams which have good matches in the list below. Some are still unable to be matched, and for those, we override the manifest cpe values. See the comments in core.core.fixups for details of why the remaining streams cannot be matched.
In [1]: import corgi.core.models as m
   ...: from corgi.core.fixups import supported_stream_cpes
   ...: from copy import deepcopy
   ...:
   ...:
   ...: def compare_cpes(stream, current, pattern_matches, variant_matches):
   ...:     future = deepcopy(pattern_matches)
   ...:     future.update(variant_matches)
   ...:     if current != future:
   ...:         print(f"mismatched stream: {stream}")
   ...:         print(f"supported_cpes_set: {current}")
   ...:         print(f"future: {future}")
   ...:         print(f"pattern matches: {pattern_matches}")
   ...:         print(f"variant_matches: {variant_matches}")
   ...:         print("=======================")
   ...:     else:
   ...:         print(f"Got match for {stream}")
   ...:
   ...:
   ...: for stream, supported_cpes in supported_stream_cpes.items():
   ...:     skip = False
   ...:     for ignore_prefix in ["certificate_system", "convert2rhel", "directory_server"]:
   ...:         if stream.startswith(ignore_prefix):
   ...:             skip = True
   ...:             break
   ...:     if skip:
   ...:         continue
   ...:
   ...:     supported_cpes_set = set(supported_cpes)
   ...:     ps = m.ProductStream.objects.get(name=stream)
   ...:     cpe_matches_set = set(ps.cpes_matching_patterns)
   ...:     compare_cpes(stream, supported_cpes_set, cpe_matches_set, set(ps.cpes))
   ...:
   ...:
   ...:
mismatched stream: dts-11.1.z
supported_cpes_set: {'cpe:/a:redhat:rhel_software_collections:3::el7'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: dts-12.0.z
supported_cpes_set: {'cpe:/a:redhat:rhel_software_collections:3::el7'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: dts-12.1
supported_cpes_set: {'cpe:/a:redhat:rhel_software_collections:3::el7'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: mtr-1.0
supported_cpes_set: {'cpe:/a:redhat:migration_toolkit_runtimes:1.0::el8'}
future: set()
pattern matches: set()
variant_matches: set()
=======================

mismatched stream: rhes-3.5
supported_cpes_set: {'cpe:/a:redhat:storage:3.5:server:el7', 'cpe:/a:redhat:storage:3.5:nfs:el7', 'cpe:/a:redhat:storage:3.5:samba:el7', 'cpe:/a:redhat:storage:3.5:na:el7', 'cpe:/a:redhat:storage:3.5:nfs:el8', 'cpe:/a:redhat:storage:3.5:samba:el8', 'cpe:/a:redhat:storage:3.5:wa:el8', 'cpe:/a:redhat:storage:3.5:server:el8', 'cpe:/a:redhat:storage:3.5:wa:el7', 'cpe:/a:redhat:storage:3.5:na:el8'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: openshift-enterprise-3.11.z
supported_cpes_set: {'cpe:/a:redhat:openshift:3.11::el7'}
future: {'cpe:/a:redhat:openshift:3.11::el7', 'cpe:/a:redhat:rhosemc:1.0::el7'}
pattern matches: {'cpe:/a:redhat:openshift:3.11::el7'}
variant_matches: {'cpe:/a:redhat:openshift:3.11::el7', 'cpe:/a:redhat:rhosemc:1.0::el7'}
=======================
mismatched stream: openshift-4.12.z
supported_cpes_set: {'cpe:/a:redhat:openshift:4.12::el8', 'cpe:/a:redhat:openshift_ironic:4.12::el9', 'cpe:/a:redhat:openshift:4.12::el9'}
future: {'cpe:/a:redhat:openshift_ironic:4.12::el9', 'cpe:/a:redhat:openshift:4.12::el9', 'cpe:/a:redhat:openshift:4.12::el8', 'cpe:/a:redhat:openshift_security_profiles_operator_stable:::el8', 'cpe:/a:redhat:openshift_file_integrity_operator:1.0::el8', 'cpe:/a:redhat:openshift_compliance_operator:1::el8'}
pattern matches: {'cpe:/a:redhat:openshift:4.12::el8', 'cpe:/a:redhat:openshift_ironic:4.12::el9', 'cpe:/a:redhat:openshift:4.12::el9'}
variant_matches: {'cpe:/a:redhat:openshift:4.12::el9', 'cpe:/a:redhat:openshift:4.12::el8', 'cpe:/a:redhat:openshift_security_profiles_operator_stable:::el8', 'cpe:/a:redhat:openshift_file_integrity_operator:1.0::el8', 'cpe:/a:redhat:openshift_compliance_operator:1::el8'}
=======================
mismatched stream: openstack-13-optools
supported_cpes_set: {'cpe:/a:redhat:openstack-optools:13::el7'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: pipelines-1.7
supported_cpes_set: {'cpe:/a:redhat:openshift_pipelines:1.7::el8'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: pipelines-1.8
supported_cpes_set: {'cpe:/a:redhat:openshift_pipelines:1.8::el8'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: quay-3.6
supported_cpes_set: {'cpe:/a:redhat:quay:3::el8'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: quay-3.7
supported_cpes_set: {'cpe:/a:redhat:quay:3::el8'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: quay-3.8
supported_cpes_set: {'cpe:/a:redhat:quay:3::el8'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: rhel-8.8.0
supported_cpes_set: {'cpe:/a:redhat:enterprise_linux:8::sap', 'cpe:/o:redhat:enterprise_linux:8::fastdatapath', 'cpe:/o:redhat:enterprise_linux:8::baseos', 'cpe:/a:redhat:enterprise_linux:8::highavailability', 'cpe:/a:redhat:enterprise_linux:8::supplementary', 'cpe:/a:redhat:enterprise_linux:8::nfv', 'cpe:/o:redhat:enterprise_linux:8::hypervisor', 'cpe:/a:redhat:enterprise_linux:8::appstream', 'cpe:/a:redhat:enterprise_linux:8::resilientstorage', 'cpe:/a:redhat:enterprise_linux:8::crb', 'cpe:/a:redhat:enterprise_linux:8::sap_hana', 'cpe:/a:redhat:enterprise_linux:8::realtime'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: rhel-9.2.0
supported_cpes_set: {'cpe:/a:redhat:enterprise_linux:9::nfv', 'cpe:/a:redhat:enterprise_linux:9::sap_hana', 'cpe:/a:redhat:enterprise_linux:9::sap', 'cpe:/o:redhat:enterprise_linux:9::baseos', 'cpe:/o:redhat:enterprise_linux:9::fastdatapath', 'cpe:/a:redhat:enterprise_linux:9::crb', 'cpe:/a:redhat:enterprise_linux:9::realtime', 'cpe:/a:redhat:enterprise_linux:9::highavailability', 'cpe:/o:redhat:enterprise_linux:9::hypervisor', 'cpe:/a:redhat:enterprise_linux:9::appstream', 'cpe:/a:redhat:enterprise_linux:9::resilientstorage', 'cpe:/a:redhat:enterprise_linux:9::supplementary'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: rhn_satellite_6.10
supported_cpes_set: {'cpe:/a:redhat:satellite:6.10::el7', 'cpe:/a:redhat:satellite_capsule:6.10::el7'}
future: {'cpe:/a:redhat:rhel_satellite_tools:6.10::el7', 'cpe:/a:redhat:satellite_capsule:6.10::el7', 'cpe:/a:redhat:rhel_satellite_tools:6.10::el8', 'cpe:/a:redhat:satellite:6.10::el7', 'cpe:/a:redhat:rhel_satellite_tools:6.10::el6'}
pattern matches: {'cpe:/a:redhat:rhel_satellite_tools:6.10::el7', 'cpe:/a:redhat:satellite_capsule:6.10::el7', 'cpe:/a:redhat:rhel_satellite_tools:6.10::el8', 'cpe:/a:redhat:satellite:6.10::el7', 'cpe:/a:redhat:rhel_satellite_tools:6.10::el6'}
variant_matches: {'cpe:/a:redhat:satellite:6.10::el7', 'cpe:/a:redhat:satellite_capsule:6.10::el7'}
=======================
mismatched stream: rhosc-1
supported_cpes_set: {'cpe:/a:redhat:openshift_sandboxed_containers:1.3.0::el8'}
future: set()
pattern matches: set()
variant_matches: set()
=======================
mismatched stream: rhscl-3.8.z
supported_cpes_set: {'cpe:/a:redhat:rhel_software_collections:3::el7', 'cpe:/a:redhat:rhel_software_collections:3::el6'}
future: set()
pattern matches: set()
variant_matches: set()
=======================

To allow the rhscl variants to move to the dts stream we'll need to first delete any variants current attached to the rhscl streams before running update_products (which will create the variants again with the correct stream parent). We will then have to call save_product_taxonomy on all builds with those variant product_refs in the relations table.

@RedHatProductSecurity/corgi-devs please review

After this is merged we should run corgi.tasks.et::load_et_products() to update the variant live field before running corgi.tasks.prod_defs.py::update_products()

Sorry for the nitpicking, but there are a lot of changes here and it's a little hard to review. Can we split this out into separate, smaller PRs?
Maybe we can start by only adding fields or properties to our model, without changing any of the existing fields / properties, the API, or the tests.
Once that runs for a few days, we can validate the data we loaded looks like whatever we expect, and that we don't have edge cases we didn't think of. Then we can either merge the new data with the old data, or switch the model to rely on only the new fields and get rid of the old ones.
Right now (if I'm not misunderstanding) I think we have a "cpes" property that generates all the descendant CPEs, but you changed this to only report Variant CPEs and not stream CPEs. Then we also have a list of descendant CPEs on a stream, and a list of descendant CPEs on a version, but these are hardcoded instead of generated.
Or if I'm confused, maybe we can discuss this on Monday when we meet about other stuff.

I split the changes into commits, so perhaps it would be helpful to review the changes commit by commit. I think all the changes here only make sense as a single PR, because the ultimate goal of all these changes is to remove the supported_cpe_map. The next step could be to also match Variant to Streams based on the cpe pattern matching, but I left that for a subsequent PR. I think that's something we should consider carefully before changes as it will affect the product taxonomy of many components.
The current cpe attribute on ProductStreams doesn't make sense because that property is always defined at the variant level. At the ProductStream level it's always an aggregation of ProductVariant cpes. The cpes_matching_patterns ArrayList attribute is calculated by matching cpes from Errata Tool with the cpe_patterns from product_defintions. This attribute is recalculated every day when we refresh the data from those 2 systems. You only need to run update_et_products and update_products tasks in dev to discover all the matching, so I don't see the point of letting this run in stage for a few days. Also I've provided all the data which was matched or not in the description of this PR.

We need to delete all ProductVariants in the data which were never live in order to avoid matching those using Brew Tags, and getting the CPEs:
dead_variants = cm.CollectorErrataProductVariant.objects.filter(live=False).values_list("name",flat=True)
m.ProductVariant.objects.filter(name__in=dead_variants).delete()


web app should take a timestamp when send request to server

Sensors' data updated every 60 seconds, so frequently update requires some kinds of cache to keep data.
Not directly updated them, to reduce the load of servers.

Hold this until network getting really large


fix: remove async script attribute

using async and defer on script tags is considered an antipattern as defer will be ignored. Defer is the preferred behaviour in most situations.

Looks like our changes are out of sync, can you make the change to master instead? Thanks

This is fixed


missing backtick ruins formatting in "multiple-assignment-and-decompo…

…sition" docs

Someone might want to add a "tiny" label


chat_postMessage does not support channel ID

Description
It seems like isn't possible to use a Channel ID, e.q: "C0XXXXXX" but it works with the #, e.q: "#channel_name".
Hmmmm could it be because of the permissions?
What type of issue is this? (place an x in one of the [ ])

[x] bug
[ ] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
Reproducible in:
slackclient version: 2.0.1
python version: 3.7
OS version(s): Ubuntun 18.04
Steps to reproduce:

Instantiate your slack_client
slack_client = slack.WebClient(token='SLACK_API_TOKEN')
Try to run slack_client.chat_postMessage(channel="C0XXXXXX", text="text")

Expected result:
A message should be sent to the C0XXXXXX channel
Actual result:
It fails:
in validate raise e.SlackApiError(message=msg, response=self.data) slack.errors.SlackApiError: The request to the Slack API failed. The server responded with: {'ok': False, 'error': 'channel_not_found', 'warning': 'missing_charset', 'response_metadata': {'warnings': ['missing_charset']}}

Attachments:
Logs, screenshots, screencast, sample project, funny gif, etc.

Channel id works for me.

@GabrielBlondeau-Kirby Are you still experiencing this issue. I'm currently not able to replicate this problem.

I guess the channel_not_found error indicated your app's bot user was not allowed to access the channel. Most commonly, the error can be returned when your bot user is not invited to the channel.
As this one is an old issue and I suggested a possible solution above, allow me to close this issue now. If you have something further to ask/clarify here, please feel free to reopen write in.


Can not use helm binary

Hi all, Im facing some issues while installing and especially using helm.
Is somebody who can support me? Im using ubuntu on my raspberry Pi
Here are my stats
uname -a:
Linux student-desktop 6.8.0-1004-raspi #4-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:29:55 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
file /usr/local/bin/helm
/usr/local/bin/helm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=hlhj6ZxuF2rHXUR8U1kv/o98cLzuYIE1DSSja5_ac/9YcBg8sZXScQ_0eHyyGm/H0_V3FfeMyB-jnZT4jkB, stripped
Output of helm version:
bash: /usr/local/bin/helm: cannot execute binary file: Exec format error
Output of kubectl version:
Client Version: v1.29.4
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.0
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
Minikube
Hope somebody can support me on this,
Cheers!

cannot execute binary file: Exec format error

see above. it means the binary format is not match your os.
and yor os is aarch64. please try to use https://get.helm.sh/helm-v3.14.4-linux-arm64.tar.gz


Write Unit tests

Specifications

Tool Version: 1.0.0
AEM version: n/a

Additional description
Write unit tests inside existing code base to cover as much of missing logic as possible.
The goal is to cover Stubway logic and prepare Stubway for upcoming improvements and changes and to assure nothing is broken during implementing new features.

.take


Explicitly declare yaml as config format

If the specified config file doesn't have a .yaml or .yml extension the service will currently fail. Explicitly declaring it as yml fixes this.

Resolved in https://github.com/silverton-io/honeypot/pull/106


Implement device-aggregator as iml daemon plugin

Implement a device plugin that should do the same thing
device-aggregator did.
This should allow us to start landing some of the device-scanner change
work and move duplicated concepts out of the device-scanner repo.
Signed-off-by: Joe Grund<EMAIL_ADDRESS>

This change is

iml-services/iml-device/src/linux_plugin_transforms.rs, line 3626 at r1 (raw file):
Previously, mkpankov (Michael Pankov) wrote…
I know this is a draft, but let me suggest splitting this file into several and moving test data to fixture files.

Done


no such function: REGEXP

Hello,
Many thanks for this great library!
It might be a lame question and unrelated to the SQLocal, but I can't figure out how to make the REGEXP operator work. My queries return with 'no such function: REGEXP.' error.
Thank you in advance for your help.

Thanks for your quick reply.
const data = await sql`select hun, ltn from taxons where lower(hun) REGEXP ${searchText}`;

The query worked with DB Browser with SQLite but in the app didn't.
You can test the queries here.
The sample db file is here.

REGEXP is a reserved word in SQLite's SQL syntax, but it is not defined in the SQLite engine by default. It is simply a hook to call a user-defined function. DB Browser for SQLite implements this function itself.
Using REGEXP with SQLocal should be possible once SQLocal supports defining custom scalar functions, which I've been planning to add (work in progress on branch "user-functions"). I'll work on it.

Version 0.9.0 adds the createScalarFunction method, so you can now enable the REGEXP syntax with something like this:
await createScalarFunction('regexp', (pattern, value) => {
  const regexp = new RegExp(pattern);
  return regexp.test(String(value));
});


Process all fonts in node script

Summary
Moves font processing/preparation to tooling.
Relevant Technical Choices
Partially addresses #1348 by moving most of the logic to build tooling.
The Fonts and Fonts_Controller classes now basically only serve the JSON file, not more.
In the future, the JSON file could be imported directly, as envisioned on #1348.
To-do

See #1348

Let's update getting-started.md as well now when the download-fonts doesn't exist anymore.

@miina Good point! Refreshed the docs a bit.


Is it possible to zip and attach multiple assets to a single release?

As the title suggests I am wondering if it is possible and how it would be possible to zip and attach multiple assets to a single release?
Here is example of code similar to what I'm trying to use:
on:
  workflow_dispatch:

name: Upload Release Asset

jobs:
  build:
    name: Upload Release Asset
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          lfs: 'true'
      - name: Build project # This would actually build your project, using zip for an example artifact
        run: |
          zip -r Buildings Resources/Buildings/
      - name: Create Release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: true
          prerelease: false
      - name: Upload Release Asset
        id: upload-release-asset
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
          asset_path: ./Buildings.zip
          asset_name: Buildings.zip
          asset_content_type: application/zip

Ah, it was as simple as adding a step for each zipped file or folder!
Like this:
on:
  workflow_dispatch:

name: Release with Assets

jobs:
  build:
    name: Release with Assets
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          lfs: 'true'
      - name: Build project # This would actually build your project, using zip for an example artifact
        run: |
          zip -r Buildings Assets/Asset01
          zip -r Palettes Assets/Asset02
          zip -r Tiles Assets/Asset03
          zip -r Tools Assets/Asset04
      - name: Create Release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: v
          release_name: Release Draft
          draft: true
          prerelease: false
      - name: Upload Release Asset 01
        id: upload-release-asset-01
        uses<EMAIL_ADDRESS>        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing its ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
          asset_path: ./Asset01.zip
          asset_name: Asset01.zip
          asset_content_type: application/zip
      - name: Upload Release Asset 02
        id: upload-release-asset-02
        uses<EMAIL_ADDRESS>        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing its ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
          asset_path: ./Asset02.zip
          asset_name: Asset02.zip
          asset_content_type: application/zip
      - name: Upload Release Asset 03
        id: upload-release-asset-03
        uses<EMAIL_ADDRESS>        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing its ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
          asset_path: ./Asset03.zip
          asset_name: Asset03.zip
          asset_content_type: application/zip
      - name: Upload Release Asset 04
        id: upload-release-asset-04
        uses<EMAIL_ADDRESS>        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing its ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
          asset_path: ./Asset04.zip
          asset_name: Asset04.zip
          asset_content_type: application/zip


x/text/currency: supported currency codes need an update (MRO->MRU, VEF->VES)

What version of Go are you using (go version)?

$ go version
go version go1.13.4 darwin/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
Any.
What did you do?
https://play.golang.org/p/GoUe1pIAVjo
What did you expect to see?
VES and MRU must be parsed.
What did you see instead?
currency: tag is not a recognized currency
Additional info
Since 2018 VEF->VES and MRO->MRU but currency lib supports old currency names.
https://www.iso.org/iso-4217-currency-codes.html
https://en.wikipedia.org/wiki/List_of_circulating_currencies

CC @mpvl

Is there any progress about this?
The OP would be resolved if CLDR was upgraded to at least version 34.
See
https://github.com/unicode-org/cldr/blob/release-34/common/supplemental/supplementalData.xml#L1111-L1115
and
https://github.com/unicode-org/cldr/blob/release-34/common/supplemental/supplementalData.xml#L760-L764
However, note that there are some even newer currency changes, like the deprecation of the Croatian Kuna (HRK) and the Cuban Convertible Peso (CUC). See this article in wikipedia.

Upgrading CLDR may prove complicated as the parser definitions are still for version 32, and there's another outstanding issue related to the upgrade to CLDR 40.
Is there any chance that the updates to CLDR follow certain cadence, given that they are releasing every 6 months and the current version used by Go is more than 6 years old.

@sk- As far as I've been told, nobody is maintaining or developing this package right now, so no update cadence can be expected.
You might find my bojanz/currency package a suitable replacement for certain use cases.


Use directory vars in all tasks

Change Summary
Use directory vars in all tasks

Types of changes

[x] Bug fix (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)
[ ] Code style update (formatting, renaming)
[x] Refactoring (no functional changes)
[ ] Documentation content changes
[ ] Other (please describe):

Related Issue(s)
Fixes #991
Part of fix for #814
Component(s) name
arista.avd
Proposed changes

Replaced static directory names with variables and added default values to each role.
Data model change:
From
# Output for structured YAML files for CVP:
structured_cvp_name: 'cvp'
structured_cvp: '{{ structured_dir }}/{{ structured_cvp_name }}'

To
# Output for structured YAML files for CVP:
structured_cvp_dir_name: 'cvp'
structured_cvp_dir: '{{ structured_dir }}/{{ structured_cvp_dir_name }}'

How to test

No changes in molecule. Hope CI also works :)
Checklist:

[ ] My code has been rebased from devel before I start
[ ] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have updated molecule CI testing accordingly
[ ] All new and existing tests passed (pre-commit, make linting and make sanity-lint).

@ksator @carlbuchmann please review this one.

Looks good to me. LGTM!

Thank @titom73 , the only change is this, so I added to PR description, so we can use it in release-notes.
Should we postpone this one to 3.0 since it has this change?
Data model change:
From
Output for structured YAML files for CVP:
structured_cvp_name: 'cvp'
structured_cvp: '{{ structured_dir }}/{{ structured_cvp_name }}'
To
Output for structured YAML files for CVP:
structured_cvp_dir_name: 'cvp'
structured_cvp_dir: '{{ structured_dir }}/{{ structured_cvp_dir_name }}'


Update coursier to 2.0.0-RC3

Updates io.get-coursier:coursier from 2.0.0-RC2-6 to 2.0.0-RC3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [{ groupId = "io.get-coursier", artifactId = "coursier" }]

labels: semver-pre-release

Superseded by https://github.com/almond-sh/almond/pull/403.


Turbowarp saving system doesn't co-operate part of the time.

While working on pen+ v7 I had to make a small remedy when working on the shader saving system.
As turbowarp would load the saved shader data into the requested variable for a short amount of time and then immediately remove it.
(This can be seen if you take the indev version of pen+ v7 and remove the this.getShaders(); from the functions that access the saving/loading system)
While it is a bit odd I'd suggest testing out the api some more.
Even though I have videos showing unsandboxed the same happens on turbowarp.
https://github.com/TurboWarp/extensions/assets/76855369/d29e2701-7589-495e-a4db-dc4cff924297

Nevermind the function ran under runtime instead of the extension


Moving from M365 E3 to Business Premium - Office apps

In this article it suggests the following when upgrading from M365 Business Premium to M365 E3.
"Your Microsoft 365 Apps for business client installed on your devices will automatically begin to use the features of Microsoft 365 Apps for enterprise. After migration, you can now use:"
Does this also work the opposite way round? Does moving from Office Apps for Enterprise to Office Apps for Business continue to work or is a re-install required?

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

ID: 83d1bfdf-f250-d2a1-17dc-36a8a305b82a
Version Independent ID: a8d0892a-dfc9-e115-d77b-a191bf5423fc
Content: Migrate from Microsoft 365 Business to Microsoft 365 E3 - Microsoft 365 Business
Content Source: microsoft-365/business/migrate-from-microsoft-365-business-to-microsoft-365-enterprise.md
Service: o365-administration
GitHub Login: @JoeDavies-MSFT
Microsoft Alias: josephd

@mitsubishop Moving back to Microsoft 365 Business would not require a re-installation. Thanks for your question.


Bazel 3rd party libraries availability in mainland China

We need to figure out a possible solution for these users, otherwise many links are unavailable and it's quite hard for them to build this project locally.

Config the http proxy is a must for go install and the bazel http_archive, now the bottleneck goes to the bazel pip_install, the existence of torch whl is a huge drag down for bazel actions, often causing bazel action timeout (600s).

Hmm... for bazel http, I can create links that the server is in THU. And for pip install, I think there should be a way to configure the source in bazel config file.

https://github.com/bazelbuild/rules_python/issues/503


Upload to postman fails for empty postman workspace

Hey,
I wanted to clean my postman workspace today and regenerate all collections with portman, but unfortunately it failed with error below.
This in the PostmanRepo.js line 165 fixed it locally for me. Now, since one collection is in there the upload works again.
        if (!this.cache.workspace.collections) {             return undefined;         }
 ✔ Conversion successful (node:15097) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'filter' of undefined     at PostmanRepo.findWorkspaceCollectionByName (/Users/markusk/.npm/_npx/94d4c499b73a63ed/node_modules/@apideck/portman/dist/services/PostmanRepo.js:167:56)     at PostmanSyncService.existsInWorkspace (/Users/markusk/.npm/_npx/94d4c499b73a63ed/node_modules/@apideck/portman/dist/services/PostmanSyncService.js:130:32)     at PostmanSyncService.shouldUpdate (/Users/markusk/.npm/_npx/94d4c499b73a63ed/node_modules/@apideck/portman/dist/services/PostmanSyncService.js:118:25)     at PostmanSyncService.<anonymous> (/Users/markusk/.npm/_npx/94d4c499b73a63ed/node_modules/@apideck/portman/dist/services/PostmanSyncService.js:80:51)     at step (/Users/markusk/.npm/_npx/94d4c499b73a63ed/node_modules/tslib/tslib.js:143:27)     at Object.next (/Users/markusk/.npm/_npx/94d4c499b73a63ed/node_modules/tslib/tslib.js:124:57)     at fulfilled (/Users/markusk/.npm/_npx/94d4c499b73a63ed/node_modules/tslib/tslib.js:114:62) (Usenode --trace-warnings ...to show where the warning was created) (node:15097) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:15097) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
BTW thank you! I really enjoy portman!

hi @KellMar
To not overload the Postman API when syncing the generated Postman collections, Portman keeps a local cache of the workspaces and collections in the workspace.
It might be that there is something off in the cache which causes the error to occur.
Could you try to find the file .portman.cache.json (usually in the "tmp" folder), and remove that file?
Portman will try to rebuild the cache on the next sync towards Postman.

Hey @thim81,
thanks for the fast reply! I'm running portman in an azure pipeline from the cli.
I always thought the cache will be deleted there. But I'll look into it tomorrow.

Could you share which cli options you are using or the --cliOptionsFile file?
That way we can try to reproduce the behaviour.

Sure, sorry for not providing this in advance.
cliOptionsFile:
{   "portmanConfigFile": "pipeline/portman/portman-config.json",   "includeTests": true,   "syncPostman": true,   "postmanWorkspaceName": "some-workspace-name",   "runNewman": false }
And it is running in the pipeline with:
npx @apideck/portman --cliOptionsFile pipeline/portman/portman-apim-cli-options.json -l some-yaml-file-path.yaml

@KellMar
The configuration is helpful for us to understand the setup.
To be able to leverage the syncPostman Portman will look for ENV variables with POSTMAN_API_KEY=[replace with Postman api key]. Is this setup in your pipeline?
(just asking to rule out if missing config is the cause)

Yes it is set to the ENV in the pipeline.
The portman postman update works fine with my pipeline.
It just did not work, when I deleted all collections and wanted to regenerate the whole workspace.
It was fixed by creating a new collection and run the pipeline again.

Based on your explanation and the way to overcome it, it seems that Portman fails on a missing variable.
I ll mark this as a bug, and we will try to patch in one of the next releases.

Hi @KellMar - thanks for reporting. This has been resolved in 1.12.2.
Let us know if you come across anything else!


add stayAwake to setUrl

Thanks.

Doesn't make sense to me. setUrl just sets the url. play has all the parameters. there should also be a method to set/unset stayAwake, if there isn't any yet.


Can't buy on Microsoft store

Just got the time to test your program, and it looks and works great! Congratulation!
I've opened this issue to let you know that I cannot buy the app on the Microsoft store.
I get this message:
Try that again
Something happened on our end. Waiting a bit might help.

Maybe this is just me, but anyway wanted to let you know.
Feel free to close this issue once you see it.

I literally just purchased it myself this morning through the MS store it and worked.

After several unsuccessful attempts, I've tried again just now and it worked.


Passing parameters to can() via AccessRule

I am currently using this solution to make it easy to implement authorization based on query parameters.
For example, determining whether a post can be edited is determined by a Rule based on the post id. This implementation allows this type of use case to be easily done, without having to add a matchCallback to each action that needs a specific parameter to determine permission.
This is a first attempt at the problem, so I'm looking for feedback. If the feature is well received I can also modify the authorization section of the guide to explain usage.
Examples, given the following Rule:
    class EditOwnRule extends \yii\rbac\Rule {
        public $name = 'editOwnRule';

        public function execute($user, $item, $params) {
            if (Yii::$app->user->isGuest) {
                return false;
            }

            $item = ArrayHelper::getValue($params, 'item', null);
            if (!$item) {
                return false;
            }
            $q = Item::find()
                    ->where([
                        'owner_id' => $user,
                        'item.id' => $item
                    ]);
            return $q->exists();
        }
    }

Using this rule in an action would be as simple as doing the following:
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'allow' => true,
                        'roles' => ['edit'],
                        'paramsMap' => [
                            // This will pass the 'id' query parameter as 'item' to can()
                            'id' => 'item',
                        ],
                        'actions' => [
                            'update',
                        ],
                    ],
                    [
                        'allow' => true,
                        'roles' => ['edit'],
                        'paramsMap' => [
                            // This will pass the 'item' query parameter as 'item' to can()
                            'item',
                        ],
                        'actions' => [
                            'updateComments',
                        ],
                    ],
                    [
                        'allow' => false,
                    ]
                ],
            ],
        ];
    }

it's only for role check https://github.com/yiisoft/yii2/issues/6692

@lynicidn yes, only for role check. #7643 and #4302 are also related

BTW, I welcome alternative names for the $paramsMap property. It isn't quite as descriptive as one would like....

It's a good idea to mention it in the guide.

@samdark Fixed most of your comments. I'm holding on the variable name change to see if others have other preference.
I will add a section to the guide later.

// This will pass the 'id' query parameter as 'item' to can()

whats the benefit of this? you could just get the parameter inside of can() then...

@cebe because neither can() or the Rule have enough information to determine which query parameter should be used. The same rule could be used in one controller where 'id' is the query parameter to look at, and other controller where it should look at 'item_id'

I have rebased on top of master, resolved conflicts and added a short section on the guide. Comments welcome.
I also renamed to queryParams since in the end that is all we are looking at, so it is a good name.

I'm glad this is getting some attention. Keeps access rules clear and readable. Been using lambdas so far and it's been quite verbose.

I have rebased on top of current master and fixed the merge errors.

Just stumbled across the same problem discussed here and I don't like the proposed solution at all because it has quiet significant flaw: the model gets loaded from database TWICE - once in the implementation of RBAC rule (to perform access check) and the second time in the controller action itself (when the access to it was granted and it proceeds to perform its duty). Making TWO queries into database for exactly the SAME data is BAD from performance and data integrity points of view.
For the moment the only solution I see is to perform an access check inside a controller action itself and forfeit the use of built-in AccessControl filter entirely.

@PowerGamer1 that would depend on how do you implement the queries. You
could use caching.
But more importantly, it is rarely the case that time spent in the database
is more important than developer time.
On 25 Jun 2015 07:39, "PowerGamer1"<EMAIL_ADDRESS>wrote:

Just stumbled across the same problem discussed here and I don't like the
proposed solution at all because it has quiet significant flaw: the model
gets loaded from database TWICE - once in the implementation of RBAC rule
(to perform access check) and the second time in the controller action
itself (when the access to it was granted and it proceeds to perform its
duty). Making TWO queries into database for exactly the SAME data is BAD
from performance and data integrity points of view.
For the moment the only solution I see is to perform an access check
inside a controller action itself and forfeit the use of built-in
AccessControl filter entirely.
—
Reply to this email directly or view it on GitHub
https://github.com/yiisoft/yii2/pull/8426#issuecomment-115206405.

Ping. Is this change wanted? If so I can rebase and fix conflicts.

I dont want to start a +1 flood, but it would be nice to see this as the current implementation gets pretty verbose pretty quickly.

i think better way:
'roles' => [$roleName => $roleParams]

I fully agree with PowerGamer1, we need to do something with query optimization.

ping. I can do a rebase and fix errors if this change is wanted. Otherwise lets close this.

@cebe I see you have assigned this issue. Does this mean there is interest in merging? If so, I can update the PR.

not yet, I think there must be some changes to the approach but I had no time to review it in detail yet.

OK, just let me know if you need me to change the PR.
On 1 December 2016 at 17:22, Carsten Brandt<EMAIL_ADDRESS>wrote:

not yet, I think there must be some changes to the approach but I had no
time to review it in detail yet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yiisoft/yii2/pull/8426#issuecomment-264283869, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABQsHcRYz0ImAvFJbSxE8BBxNbEaenzTks5rDyyigaJpZM4EbG5g
.

--
Saludos,
Felipe Sateler

see #14123 for an alternative implementation using closures.

closing in favor of  #14123, thanks for you proposal!


Updated free-programming-books.md

Added Analyzing and Visualizing Data with F# in F sharp

nice addition