Fix Issue 1847 - Adding Current Path when Invoking Flask-Cli Run

Fix for: #1847
Adds the current directory to the Python path, when invoking a local development server.  flask run was unable to find the app's module in the PYTHONPATH, while python -m flask run adds the current working directory to the PYTHONPATH automatically.

Strong :-1:; IMO people should add a setup.py

Sure, but the fact is that the behaviour between python -m flask run and flask run is inconsistent.  Not an ideal fix, but then again not every flask app should need a setup.py, if it not being distributed via PyPI.

Sure, but the fact is that the behaviour between python -m flask run and flask run is inconsistent. Not an ideal fix, but then again not every flask app should need a setup.py, if it not being distributed via PyPI.

A setup.py makes perfect sense even if you never intend to publish your package on PyPI. It's how your register a package properly within your Python environment.

You can already set FLASK_APP=file.py (or FLASK_APP=package/__init__.py), and the appropriate path will be added to sys.path.
setup.py is very useful in a lot of cases, but it is not required.
All of this is poorly documented and a few instances in the quickstart are completely wrong (i.e. nonfunctional) in 0.11 and only fixed in master. If you find any other instances where this behavior could be clarified, feel free to point them out. Thanks!

@untitaker there appears to be some path issues with pointing at __init__.py.  https://github.com/pallets/flask/issues/1847#issuecomment-223439632  Pointing at __init__ seems unintuitive, given that you would normally never do that in imports or -m calls.

I would expect to be able to point to FLASK_APP=package, and I'm sure the vast majority of "didn't use setup.py" cases are running from the app directory.  Given that FLASK_APP=package python -m flask run works in this case, and is doing the same thing to the path, this seems like an ok workaround to make both behave the same.
Maybe we could be smarter about when we add the current directory to the path, or output a warning to use setup.py instead when we do.

Either way, we need a clearer message when this fails, rather than just dumping an ImportError traceback.

Could not locate a Flask app at [location].  Install your app in development mode, or see [the docs] for more information.

Not a fan of forcing folks to use a setup.py, I prefer that we let folks get up and running with a simple flask run within their app directory.

See https://github.com/pallets/flask/pull/1872, I think this got fixed.

@jeffwidman I don't think that's possible at all. How would the command know which package/file to

Yeah, you're right. I am so used to accessing run via a simple custom manage.py run command that I wrote that I didn't think through how that might work if someone doesn't write their own custom command.


[fix][broker] AVAILABLE_PERMITS_UPDATER not updated, when writeAndFlush fails.

Motivation
AVAILABLE_PERMITS_UPDATER will be updated to 0 before the sendFlowPermitsToBroker method is executed:
https://github.com/apache/pulsar/blob/c55be388ad769974a1fd16d43517f4cfda19aec0/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L1656-L1659
In the sendFlowPermitsToBroker method, the writeAndFlush method is executed, but when the writeAndFlush fails, the AVAILABLE_PERMITS_UPDATER is not rolled back:
https://github.com/apache/pulsar/blob/c55be388ad769974a1fd16d43517f4cfda19aec0/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L976-L984
Modifications
1.The increaseAvailablePermits method increases the sendFlowPermits parameter:
    protected void increaseAvailablePermits(ClientCnx currentCnx, int delta) {
        increaseAvailablePermits(currentCnx, delta, true);
    }

    protected void increaseAvailablePermits(ClientCnx currentCnx, int delta, boolean sendFlowPermits) {
        int available = AVAILABLE_PERMITS_UPDATER.addAndGet(this, delta);
        while (sendFlowPermits && available >= getCurrentReceiverQueueSize() / 2 && !paused) {
            if (AVAILABLE_PERMITS_UPDATER.compareAndSet(this, available, 0)) {
                sendFlowPermitsToBroker(currentCnx, available);
                break;
            } else {
                available = AVAILABLE_PERMITS_UPDATER.get(this);
            }
        }
    }

2.Fallback to AVAILABLE_PERMITS_UPDATER when writeAndFlush fails:
 cnx.ctx().writeAndFlush(Commands.newFlow(consumerId, numMessages))
                    .addListener(writeFuture -> {
                        String msg;
                        if (!writeFuture.isSuccess()) {
                            msg = String.format("Consumer {} failed to send {} permits to broker: {}"
                                    , consumerId, numMessages, writeFuture.cause().getMessage());
                            increaseAvailablePermits(cnx, numMessages, false);
                        } else {
                            msg = String.format("Consumer {} sent {} permits to broker", consumerId, numMessages);
                        }
                        if (log.isDebugEnabled()) {
                            log.debug(msg);
                        }
                    });

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/lordcheng10/pulsar/pull/37

@congbobo184 @Jason918 @BewareMyPower @Technoboy- PTAL,thanks!

@lordcheng10
We have a heartbeat mechanism between the broker and clients. If the client is not able to write a flow command to the broker side. The heartbeat command will also fail. The broker side will try to close the consumer. After the consumer reconnects to the broker. The available flow permits will be reset. Do you see the issue on the environment?


[ignore] just for testing: Pitch/connect renkulab and openbis datasets

/deploy renku-ui=olloz26/connect-renkulab-and-openbis-datasets

You can access the deployment of this PR at https://renku-ci-ds-549.dev.renku.ch

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

59 of 111 (53.15%)  changed or added relevant lines in 10 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 85.666%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

components/renku_data_services/data_connectors/blueprints.py
13
24
54.17%

components/renku_data_services/storage/rclone.py
11
23
47.83%

components/renku_data_services/utils/core.py
4
33
12.12%

Totals

Change from base Build<PHONE_NUMBER>1:
-0.2%

Covered Lines:
14523

Relevant Lines:
16953

💛  - Coveralls


api [nfc]: Use Dart-standard camel case throughout our source code

If the field names and parameter names used in the API bindings match the snake case of the Zulip API, then that will unavoidably propagate to some names found throughout the rest of our code -- as indeed it already has, as seen in this diff.  There's no clean line that can be drawn within our source code so that snake-case names go on one side, and camel-case names on the other.
So we'd inevitably have an unpredictable mix of both kinds of names, and often of the same name appearing in two different forms in the same code.  That's what we see in the zulip-mobile RN app.
Instead, draw that line at the very boundary of our code, where the data comes and goes via JSON.  Happily the json_serializable code generator allows us to largely just write camel case and let the conversion to and from snake case be done automatically.
This PR also makes the same conversion for credential_fixture.dart, which means one will need to update that file. (That's something I don't expect to happen more than once or twice
more before we're able to do away with that mechanism entirely.)

Great, thanks! LGTM; merged, and I updated my credential_fixture.dart.


Web-Dropin Configuration lacks typescript definitions for Sofort

Describe the bug
When adding information to the config for the AdyenCheckout instance, directEbanking is not a recognized property of paymentMethodsConfiguration.
The official documentation also confirms this: https://docs.adyen.com/payment-methods/sofort/web-drop-in/
However, it should be possible to provide a name property to configure what the payment drop-in displays on the checkout page.
Ignoring the typing-inconsistencies, manually specifying e.g.
paymentMethodsConfiguration: {
  directEbanking: {
    name: 'Sofort (by Klarna)'
  }
}

does indeed work and correctly changes the display name of the button in the drop-in.
Expected behavior
The typing should support all payment methods and provide the correct typing information.
Screenshots

Additional context
I fixed compilation errors locally by explicitly overriding the type:
const config: CoreOptions & {
  paymentMethodsConfiguration: PaymentMethodsConfiguration & {
    directEbanking: { name: string };
  };
}

Hey @gecko-steffen ,
Thanks for reporting it. We fix this issue on the 5.53.0 release. Please reach out to us if the problem persists. Cheers!


MSDKUI-1722: [Android] Component app findings

GuidanceStreetLabelView -- Moved "Getting your location" out of view.
GuidanceStreetLabelView -- Remove outer spacing
GuidanceStreetLabelView - added option for without street name in dev app
GuidanceStreetLabelView -- component is centered now
Signed-off-by: Vijay Yadav<EMAIL_ADDRESS>

Codecov Report

Merging #90 into master will increase coverage by 1.69%.
The diff coverage is 73.68%.

@@             Coverage Diff              @@
##             master      #90      +/-   ##
============================================
+ Coverage     72.49%   74.19%   +1.69%
+ Complexity     1627      989     -638
============================================
  Files           129       69      -60
  Lines          5618     3921    -1697
  Branches        865      434     -431
============================================
- Hits           4073     2909    -1164
+ Misses          880      765     -115
+ Partials        665      247     -418

Impacted Files
Coverage Δ
Complexity Δ

.../msdkui/guidance/GuidanceStreetLabelPresenter.java
93.54% <100%> (+0.44%)
9 <0> (ø)
:arrow_down:

.../here/msdkui/guidance/GuidanceStreetLabelView.java
84.48% <70.58%> (+7.55%)
10 <3> (+2)
:arrow_up:

...e/msdkuiapp/routing/RoutingInstructionsFragment.kt

...java/com/here/msdkuiapp/common/PermissionsUtils.kt

.../com/here/msdkuiapp/routing/OptionPanelFragment.kt

...ere/msdkuiapp/routing/RouteManeuverListFragment.kt

.../here/msdkuiapp/routing/SubOptionPanelPresenter.kt

...m/here/msdkuiapp/routing/SubOptionPanelFragment.kt

...msdkuiapp/guidance/GuidanceNextManeuverFragment.kt

...com/here/msdkuiapp/routing/OptionPanelPresenter.kt

... and 53 more

Continue to review full report at Codecov.

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


Swagger Endpoint in discovered services

Hi,

API Scout 0.2.0

Swagger presented by APIScout has the private K8S svc IP. Accordingly, Swagger is not usable.
Thanks,

I believe you followed below like steps:

Get the latest API-Scout app and build docker image.
Update image name & EXTERNAL-IP(minikube or cluster ip) values in apiscout.yml file.
Build your microservice along with /swaggerspec handler.
Update the annotations in your microservice yml file.
Deploy the application & check the status once it is deployed open
minikube service apiscout-svc --url in browser.
Use 'try it out' under API paths to verify the swagger.

Let me know if you tried something else along with exact configuration to re produce the issue.

Thanks, @nareshkumarthota
this is running in a production like up, with a full functioning Kubernetes cluster, not minikube.
In production like environments, we're not using EXTERNAL IPs but Ingress routes. in our case we're using nginx ingress routes on kubernetes.
please let me know if you need more understanding to the issue.
Thanks,

I need some details like:

YML file of deployed API-Scout application.
API-Scout api accessing url to check generated swaggers.
URL of any one of your microservices.

@mshahat can you please provide more details?

Is this a BWCE app deployed on K8s?
"APIScout has the private K8s IP" - Can you please elaborate? I've set up a sample BWCE app on K8s along with APIScout. In my case, when I hit 'Try it out' on Swagger UI generated by APIScout, the request goes to ClusterIP of apiscout service instead of BWCE service ClusterIP. Are you facing the same issue?
What's the expected behavior?

Hi,

Yes, the BWCE app is deployed to K8S.
We're not using EXTERNAL K8S Services, we're using INTERNAL ones. Access to endpoints is achieved using Ingress routes.
APIScout discovers the Service, as the service doesn't have an external IP and only has an internal one ( within the cluster ), that's what is presented through API Scout.

The expected behaviour is may be

ability to annotate ingresses as well, and via both the Service and the Ingress, the right endpoints could be served

a tactical solution would be, annotating the service with another attribute e.g. swaggerPublicEndpoint where we could capture the ingress endpoint url, or may be Mashery public endpoint

HTH,

@mshahat
Annotation support for ingress end url is added.
Code changes pushed to branch 'feature-issue-15', give a try now.
check annotation name in readme page under #requirements-for-kubernetes

Thanks, @nareshkumarthota, will test ...

Hello,
would love to know how you did that. We use one internal load balancer (so one host) and define paths with ingress. Swagger is only able to send request to the host, and not host/service as we would want to.

Hello @oceaneLonneux
Can you elaborate on this "would love to know how you did that" I mean which part it is? And "not host/service as we ..." ?


Define expected commands

A lot of this is sorta stubbed out, but I think that it makes sense, in order to work through the UX, to add all the commands and basics in the cobra stuff.
Here's what I think the high level command are:

config Returns the current configuration
doctor Check that everything looks good
event Create or modify an event
program Create or modify a program
speaker Create or modify speakers
sponsor Create or modify sponsors
version Return the current version of the tool

The main commands (event, program, speaker, and sponsor) all have sub-commands of add and edit, for consistency.
Add and edit commands for event, program, and speaker will take in either city year as arguments, or prompt for them. The add and edit commands for sponsor will take in the sponsor name as an argument or prompt for it.
Edit event should prompt and say "what field do you want to modify" or something. And then act on it. so maybe something like:
>event edit chicago 2017
Do you want to [1] edit the value of a field, [2] add an organizer, or [3] add a sponsor?
>1
Fields you can edit are [1] Event Twitter, [2] Google Analytics Tracking ID, [3] start date, [4] end date ...
>1
The current value of your event twitter is devopsdays. Would you like to change it? (Y/n)
>Y
What should the new value be?
>@ponyville
Great! The new value has been set.
Don't forget to use git to add, commit, and push up the new branch for review

The good things? We can validate fields as they are entered. The bad? The list of fields could get REALLY LONG.
What's going to end up happening is going through all the if cases (edit an organizer vs add one, how do they add sponsor levels?, etc)

I've gone through this a bit more, and thought a bit about it, and according to how cobra approaches it:
The pattern to follow is APPNAME VERB NOUN –ADJECTIVE. or APPNAME COMMAND ARG –FLAG
With that, the high level commands are:

config Returns the current configuration
doctor Check that everything looks good
version Return the current version
add Add an event, sponsor, speaker, talk, program, etc
edit Edit an event, sponsor, speaker, talk, program, etc

so you could have something like this for a new event:
devopsdays-cli add event --city chicago --year 2017
and then the more fun one...
$ devopsdays-cli edit event --city chicago --year 2017
Do you want to [1] edit the value of a field, [2] add an organizer, or [3] add a sponsor?
> 1
Which field would you like to modify?

[1] Twitter
[2] Google Analytics Tracking ID
[3] Start Date
[4] End Date
[5] CFP Start Date
[6] CFP End Date
[7] CFP Announcement Date
[8] CFP Link
[9] Registation Start Date
[10] Registration End Date
[11] Registration Link
[12] Coordinates
[13] Location
[14] Location Address
> 1
The value of this field is:  mattstratton
Would you like to change it [y/N]?
> y
What would you like to change it to?
> devopsdays
Value for Twitter has been changed to "devopsdays"
Would you like to [1] change another value, [2] go back to the main menu, or [3] quit the application?

OK, after further analysis, I've gone back to the original high-level command idea.
The high-level commands are:

config Returns the current configuration
doctor Checks that everything looks good
event Create or edit an event
program Create or edit a program
speaker Create, edit, or remove a speaker
sponsor Add or remove a sponsor from an event; create or edit an existing sponsor
talk Create, edit, or remove a talk
version Returns version of tools, etc

So to go back to the previous example...to create a new event:
devopsdays-cli event create --city Chicago --year 2017

Gah. This is driving me crazy. I don't remember why I changed away from the initial one.
Remember, the pattern to follow is APPNAME VERB NOUN --ADJECTIVE. or APPNAME COMMAND ARG --FLAG.
That would mean it should be
devopsdays-cli create event --city chicago --year 2017
The verbs are:

add Add a thing to another thing add sponsor --city chicago --year 2017
create Make a new thing: create event --city chicago --year 2017
edit Change an existing thing. edit talk
- remove Delete a thing. remove speaker george-bluth --city ponyville --year 2017
show Display a thing. show version, show config. Maybe it can also be used to show events, speakers, etc, but not worried about that right now.

The nouns are:

config
event
organizer
program
sponsor
talk
version

Not all verbs work with all nouns; for example, config only works with show, and remove won't work with sponsor.

Here's the matrix of verbs and nouns:

config
event
organizer
program
speaker
sponsor
talk
version

add

x
x
x

create

x
x
x
x
x
x

edit

x
x
x
x
x
x

remove

x

x
x
x

show
x
x
x
x
x
x
x
x


fix: Push ChangeLog back to main

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


add extent reports

Coverage remained the same at 77.805% when pulling f08a01b79ba9f39da1fa07d81b35f49f91f5027d on yinquanwang:master into 4d744544f8c5c290abf9294a94ee4ffc370dae2f on HttpRunner:master.


Reading from arbitrary refs through proxy

It would be quite useful to be able to read and filter arbitrary refs through josh-proxy. For example, Gerrit changes become available with refs like refs/changes/96/8096/21 and at TVL we have revision numbers at refs like refs/r/1337.
This would make it possible to expand ref-based versioning schemes (in our case, monotonically increasing integers) to filtered views and workspaces, or filter in-progress changes for test flows.
If this is in fact already possible, then consider the issue to be about documenting what syntax allows it :)
I've looked into this a little bit but am not familiar enough with the codebase to find the right spot to look. https://github.com/josh-project/josh/commit/f1c81883b52f847021ead284d71c73704ce0de81 pointed me towards the apply_view_to_branch function, but that has since been refactored to elsewhere and I haven't found it yet

This is a pretty common, already covered use case:
You can use an URL like https://server/repo.git@refs/r/1337:filter.git
Instead of @ you can use ^ (useful in some contexts) and instead of a ref you can also use a sha (of the canonical history) to specify what revision to filter.
See https://github.com/josh-project/josh/blob/master/tests/proxy/clone_sha.t

I ran into not finding documentation on this, though I eventually found this issue.
I also ran into a problem of cloning empty repositories, but this is unrelated. I was trying to do the following, and the issue was the leading slash in the file path:
git clone http://localhost:4002/owner/project.git@refs/heads/develop::/infra/containers/DEPLOYMENT.git


can not use rdma_client, when using hca mode with calico

To use hca mode with calico, I add these settings
            - name: IP_AUTODETECTION_METHOD
              value: "interface=enp175s0"
            - name: IP6_AUTODETECTION_METHOD
              value: "interface=enp175s0"

After create the whole network, I try to do connectivity test using rdma_server/rdma_client.
so I create to 2 pod first
apiVersion: v1
kind: Pod
metadata:
  name: iperf-server
spec:  # specification of the pod's contents
  containers:
  - name: iperf-server
    image: "asdfsx/mofed_benchmark"
    securityContext:
      capabilities:
        add: [ "IPC_LOCK" ]
    resources:
      limits:
        rdma/hca: 1
    command: ["/bin/bash", "-c", "sleep<PHONE_NUMBER>000"]
    stdin: true
    tty: true
---
apiVersion: v1
kind: Pod
metadata:
  name: iperf-client-1
spec:  # specification of the pod's contents
  containers:
  - name: iperf-client-1
    image: "asdfsx/mofed_benchmark"
    securityContext:
      capabilities:
        add: [ "IPC_LOCK" ]
    resources:
      limits:
        rdma/hca: 1
    command: ["/bin/bash", "-c", "sleep<PHONE_NUMBER>000"]
    stdin: true
    tty: true

The image asdfsx/mofed_benchmark is builded by using this dockerfile
Then start the rdma_server
$ kubectl exec -it iperf-server -- rdma_server
rdma_server: start

Start the rdma_client, but got error
$ kubectl exec -it iperf-client-1 -- rdma_client -s <IP_ADDRESS>
rdma_client: start
rdma_create_ep: No such device
rdma_client: end -1
command terminated with exit code 255

I want to know why this happen.I'm totally confused~~~

@paravmellanox We have tried HCA mode with RoCE adapter (thus we do not configure IPoIB) and we found the QP in container cannot establish RDMA connection:
[root@iperf-client-1 tmp]# ib_write_bw -d mlx5_0 &
[1] 208
[root@iperf-client-1 tmp]#
************************************
* Waiting for client to connect... *
************************************

[root@iperf-client-1 tmp]# ib_write_bw -d mlx5_0 localhost &
[2] 209
[root@iperf-client-1 tmp]#
[root@iperf-client-1 tmp]# ---------------------------------------------------------------------------------------
                    RDMA_Write BW Test
 Dual-port       : OFF		Device         : mlx5_0
 Number of qps   : 1		Transport type : IB
 Connection type : RC		Using SRQ      : OFF
 TX depth        : 128
 CQ Moderation   : 100
 Mtu             : 1024[B]
 Link type       : Ethernet
 GID index       : 0
 Max inline data : 0[B]
 rdma_cm QPs	 : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0000 QPN 0x011b PSN 0x46059f RKey 0x0036a2 VAddr 0x007f1542c3c000
 GID: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
---------------------------------------------------------------------------------------
                    RDMA_Write BW Test
 Dual-port       : OFF		Device         : mlx5_0
 Number of qps   : 1		Transport type : IB
 Connection type : RC		Using SRQ      : OFF
 CQ Moderation   : 100
 Mtu             : 1024[B]
 Link type       : Ethernet
 GID index       : 0
 Max inline data : 0[B]
 rdma_cm QPs	 : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0000 QPN 0x011c PSN 0x88e426 RKey 0x00bab8 VAddr 0x007f33a21fb000
 GID: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
 remote address: LID 0000 QPN 0x011b PSN 0x46059f RKey 0x0036a2 VAddr 0x007f1542c3c000
 GID: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
Failed to modify QP 284 to RTR
 Unable to Connect the HCA's through the link
 remote address: LID 0000 QPN 0x011c PSN 0x88e426 RKey 0x00bab8 VAddr 0x007f33a21fb000
 GID: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
Failed to modify QP 283 to RTR
 Unable to Connect the HCA's through the link

Is this configuration supported?

@asdfsx , which MOFED version did you use in the host, and what type of virtual netdevices are configured by Calico? Currently macvlan netdevices are supported by the kernel stack. If you use vxlan overlay or others, they are not supported. Please check.

@paravmellanox Thx for reply.
The version of MOFED: MLNX_OFED_LINUX-4.4-<IP_ADDRESS>-ubuntu16.04-x86_64.
And how to check type of virtual netdevices are configured by Calico?
Do you mean type of interface "enp175s0", in my case? or type of interface created by calico, "cali25673b519fb" in my case?

@asdfsx in your case its cali25673b519fb.
you can do ethtool -i cali25673b519fb, it will show the driver who owns the interface.
you can search for macvlan cni plugin for K8s and that will likely work, though I haven't tried it.

The interface cali25673b519fb is created automatically by calico cni.
And the interface enp175s0 is a Mellanox Converged Network Adapters
$ lspci -v|grep Mell -A 5
af:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
	Subsystem: Mellanox Technologies MT28800 Family [ConnectX-5]
	Flags: bus master, fast devsel, latency 0, IRQ 41
	Memory at dc000000 (64-bit, prefetchable) [size=32M]
	Expansion ROM at ee600000 [disabled] [size=1M]
	Capabilities: [60] Express Endpoint, MSI 00
	Capabilities: [48] Vital Product Data
$ dmesg|grep af:00.0
...
[   12.997251] mlx5_core 0000:af:00.0 enp175s0: renamed from eth0
...

@asdfsx I understand, instead of calico, you should use macvlan cni where those virtual devices are child of enp175s0. RoCE can make use of those netdevices.

@paravmellanox By the way, in my calico config, I set IP-in-IP to always. would this config affect？

@paravmellanox mtacvlan work perfectly with hca.
But unfortunately, macvlan can not work perfectly with iptables. and in k8s services depend iptables heavily. So generally we don't use macvlan

@asdfsx good to know that macvlan worked for you. Which plugin did you use?
Sure, you can use iptables with default Kubernetes managed veth and for RDMA you can use this additional plugin.
Other users are using multus plugin, which allows you to have multiple netdev interfaces in a Pod. Such as first managed default veth interface via your existing plugin, and second macvlan or sriov interface via 2nd cni.
This way you get both of both world for performance and functionality.

Thx for your help. and I'll close this issue!

@asdfsx could you tell me how to use Multus?

@tingweiwu just follow the multus's example. It's not so hard

@asdfsx   @tingweiwu   @paravmellanox  @yshestakov
I also encountered the following problem, how did you solve it???
My k8s environment has multus and calico installed, and these two plugins are running normally， there is still the following error. But I don't think it will be useful after installing multus. What is the purpose of installing multus in hca mode?
the error is :
Failed to modify QP 283 to RTR
Unable to Connect the HCA's through the link


SplitButton/DropDownButton not behaving as expected

Hi,
to my understanding a split button is a button which can be pressed on the left part for the primary action and on the right part it can be dropped down (ilke a ContextMenu) for an arbitrary number of secondary actions.
But with the MahApps SplitButton the button does change its content to the selected.
And the DropDown Button just behaves like a ContextMenu and misses the Split part.
My expectation the control behaves like for example the bootstrap ([http://getbootstrap.com/components/#btn-dropdowns]) implementation. See Split Button DropDown here.
Maybe MahApps is just missing a SplitDropDownButton control :-)
Bernd

I’m closing this issue because it has been inactive for a few months. This probably means that it is not reproducible or it has been fixed in a newer version. If it’s an enhancement and hasn’t been taken on for so long, then it seems no one has the time to implement this.
Please reopen if you still encounter this issue with the latest stable version and then please use the issue template.
If you have enough time then it would be nice to test this issue against the latest alpha version (availabe via NuGet and appveyor).
Thank you! 🙏


Allow to choose "Very High" song quality (visual only)

Description of the new feature / enhancement
Free users of Spotify is only allow to listen with High quality. Can you remove that limitation ?
📸 Screenshots

Unfortunately, this is a server feature and cannot be unlocked at the moment.

@amd64fox How about just visual only ?:)

@amd64fox That would be okay for me, I just want it to be perfect =)) And why do you hide it ?
Reopen this and see what everyone thinks about pls.

And why do you hide it ?

very high quality is hidden for free users, this function does not work if you do not have a premium account.
SpotX hides all non-working interface elements that can only be activated if you have a premium account.

How about just visual only ?:)

didn't get your logic
what will it give you if it is included visually?
in any case it does not activate very high sound quality

@amd64fox

in any case it does not activate very high sound quality

Yes I know that in any case it doesn't activate

what will it give you if it is included visually?

idk but I need that. Well, I can try working around it to see if it's possible.

I found it, will open a pull request if you accept it.

besides the fact that you visually switch it, what does it give?

Looks more perfect for me

Looks more perfect for me

unfortunately, this is not an argument for most people, you can use your fork if it's so important.

I think I'll give up on this idea, sorry to bother you.


Use Quarks Grand Product Argument

Is this a reference to Section 5 of https://eprint.iacr.org/2020/1275.pdf?

This refers to this optimization correct?

could you elaborate more @sragss?


[FunctionExpose] Tab38 InitInsert

Can InitInsert in Tab38 "Purchase Header" be exposed?

InitInsert is called when inserting the record. Why do you need it to be exposed? Ideally, we'd like not to expose local functions, as that limits our ability to refactor going forward.

Hi Jesper,
Sorry for the delay of my answer.
I am creating a function to create purchase documents for integration with an external system. Using the Initinsert function would ensure proper initialization of the record according to the integrated business logic.
For Table 36 (Sales Header), the Initinsert function is already exposed. This should also be done for the similar Purchase Header.
Thank you


Cannot set channel variables after create

Hello,
I am originating a call to a channel. I need to set some SIP headers and to achieve this I am using channel create not originate, followed by the setting of the variables and dial. I am occasionally getting "Non-2XX response: 409 Conflict" errors when setting the variables.
The issue seems to go away if I wait for a bit after creating the channel (enters stasis?), however I would like to avoid blindly blocking execution. Could you kindly let me know if this is the correct approach or if there is there a better way to achieve this please?
func createChannel(client ari.Client, channel *ari.ChannelHandle, uri, callID, endpointID, callerNumber string) error {
	ch, err := client.Channel().Create(channel.Key(), ari.ChannelCreateRequest{
		Endpoint: uri,
		App:      "test",
	})
	if err != nil {
		return err
	}
	time.Sleep(time.Millisecond * 10)

	headers := map[string]string{
		"PJSIP_HEADER(add,X-Call-ID)":     callID,
		"PJSIP_HEADER(add,X-Endpoint-ID)": endpointID,
		"CONNECTEDLINE(num)":              callerNumber,
	}
	for key, value := range headers {
		if err = ch.SetVariable(key, value); err != nil {
			return err
		}
	}
	return channel.Dial(channel.ID(), 10)
}

I have had good luck using StageOriginate() and Exec() instead after running into a similar issue before.  You can pass the channel variables in as part of the StageOriginate() call rather than set them individually after the create.  It doesn't dial until you call Exec() on the channel.


Liveness and Readiness probe fail to quickly

When installing the lakefs Chart into my local cluster, the lakefs pod seems to take more than 30 seconds to startup. Because of the configured liveness (and readiness) probes (default period/interval of 10s with failureTreshold of 3), the container is therefore deemed unhealthy and terminated before it can finish the startup. This causes an infinite restart loop with CrashLoopBackoff. If this is not an issue limited to my setup, could we modify the probes? E.g. increase the failureThreshold or the interval between the individual probe executions. I manually increased the failureThreshold to 12 retries on my deployments and that fixed the issue.

Hi @john-zielke-snkeos , done in #158  and released in 0.8.3


Finnish Museum pull_data freezes and times out

Description

The Finnish Museum provider DAG was recently turned on. The pull_image_data task begins running but then becomes stuck while getting the object list for the 0/Museovirasto building. It eventually times out, incomplete.
The logs:
[2022-02-25, 00:46:13 UTC] {finnish_museums.py:37} INFO - Begin: Finnish museum provider script
[2022-02-25, 00:46:13 UTC] {finnish_museums.py:39} INFO - Obtaining Images of building 0/Suomen kansallismuseo/
[2022-02-25, 00:46:33 UTC] {finnish_museums.py:63} WARNING - No more retries
[2022-02-25, 00:46:33 UTC] {finnish_museums.py:39} INFO - Obtaining Images of building 0/Museovirasto/

Reproduction

Check out the pull_image_data logs for the Finnish Museum workflow in Airflow. You may also try re-running the DAG.
Expectation
At minimum if the DAG has encountered an error, I would expect it to report the error and fail the task.
Resolution

[ ] 🙋 I would be interested in resolving this bug.

Confirmed through logging that the API is getting hit successfully. It looks like we're not seeing anything written to disk because all the images returned are being discarded due to an invalid license. 🤔

Oh interesting, maybe that's the same issue with #391! I'm looking into that one now

Okay, so I've discovered that the Finnish Museum API is returning results with an image_rights object, from which we're parsing license info. That object looks like:
{
'copyright': 'CC BY 4.0',
'link': 'http://creativecommons.org/licenses/by/4.0/deed.fi',
 'description': ['Tiedostoa voi kä....]
}

And the issue is that the license url we're getting there is considered invalid because of the /deed.fi at the end. If I strip that part of the url it starts writing lines to disk 🤯
I don't know enough about the licenses to understand what's going on with that link or whether that's something our license validation code should be able to understand

That's great! It looks like that links to the Finnish version of the 4.0 license deed, which appears to be the same as the 4.0 license page! I think it's safe to chop that bit off at the end and process the records normally :smile:

As I recall, here's the open source code for generating all of those static license information files!
If we ever need to make updates to our license link parsing, @timidrobot is wonderful and they'd be a great person to inquire with.


[LUIS] Node.js LUIS intent doesn't handle composite entities

Hi,
I've trained LUIS with some composite entities but it seems that it doesn't pass those information to the intent in the dialog.
Here's 1 example of the intent we receive in the node.js client:
{
  "action": "LuisLibrary:/setFilter",
  "intent": {
    "score": 0.999961853,
    "intent": "SetFilters",
    "intents": [
      {
        "intent": "SetFilters",
        "score": 0.999961853
      }
    ],
    "entities": [
      {
        "entity": "bedrooms",
        "type": "numericalFilters::minBedrooms",
        "startIndex": 18,
        "endIndex": 25,
        "score": 0.999940455
      },
      {
        "entity": "3 bedrooms",
        "type": "setNumerical",
        "startIndex": 16,
        "endIndex": 25,
        "score": 0.9976944
      },
      {
        "entity": "rent",
        "type": "listingType::rent",
        "startIndex": 11,
        "endIndex": 14,
        "score": 0.9967319
      },
      {
        "entity": "20k",
        "type": "builtin.number",
        "startIndex": 7,
        "endIndex": 9,
        "resolution": {
          "value": "20000"
        }
      },
      {
        "entity": "3",
        "type": "builtin.number",
        "startIndex": 16,
        "endIndex": 16,
        "resolution": {
          "value": "3"
        }
      },
      {
        "entity": "20k rent",
        "type": "setListingPrice",
        "startIndex": 7,
        "endIndex": 14,
        "score": 0.987298548
      }
    ]
  },
  "libraryName": "LuisLibrary"
}

While the LUIS query returns something like this:
{
  "query": "i want 20k rent 3 bedrooms",
  "topScoringIntent": {
    "intent": "SetFilters",
    "score": 0.999961853
  },
  "intents": [
    {
      "intent": "SetFilters",
      "score": 0.999961853
    },
    {
      "intent": "ChangeLocation",
      "score": 0.00164308527
    },
    {
      "intent": "None",
      "score": 0.000698036863
    },
    {
      "intent": "ShowProperties",
      "score": 0.0005648033
    },
    {
      "intent": "Settings",
      "score": 3.221991E-05
    },
    {
      "intent": "Notifications",
      "score": 9.207867E-10
    },
    {
      "intent": "ShowFavourites",
      "score": 2.942978E-12
    }
  ],
  "entities": [
    {
      "entity": "bedrooms",
      "type": "numericalFilters::minBedrooms",
      "startIndex": 18,
      "endIndex": 25,
      "score": 0.999940455
    },
    {
      "entity": "3 bedrooms",
      "type": "setNumerical",
      "startIndex": 16,
      "endIndex": 25,
      "score": 0.9976944
    },
    {
      "entity": "20k",
      "type": "builtin.number",
      "startIndex": 7,
      "endIndex": 9,
      "resolution": {
        "value": "20000"
      }
    },
    {
      "entity": "3",
      "type": "builtin.number",
      "startIndex": 16,
      "endIndex": 16,
      "resolution": {
        "value": "3"
      }
    },
    {
      "entity": "rent",
      "type": "listingType::rent",
      "startIndex": 11,
      "endIndex": 14,
      "score": 0.9967319
    },
    {
      "entity": "20k rent",
      "type": "setListingPrice",
      "startIndex": 7,
      "endIndex": 14,
      "score": 0.987298548
    }
  ],
  "compositeEntities": [
    {
      "parentType": "setNumerical",
      "value": "3 bedrooms",
      "children": [
        {
          "type": "builtin.number",
          "value": "3"
        },
        {
          "type": "numericalFilters::minBedrooms",
          "value": "bedrooms"
        }
      ]
    },
    {
      "parentType": "setListingPrice",
      "value": "20k rent",
      "children": [
        {
          "type": "builtin.number",
          "value": "20k"
        },
        {
          "type": "listingType::rent",
          "value": "rent"
        }
      ]
    }
  ]
}

So I searched through the source code and found out that there's no existing logic to handle compositeEntities attribute from LUIS query result in Node.js SDK but C# SDK does.
And I examined LuisRecognizer.ts and validated my thought. After getting the LUIS query json in recognize function http callback, compositeEntities is currently ignored and not assigned to ILuisResults. Therefore we can't see compositeEntities in the dialog's intent.
Please kindly fix this asap as we need those composite entities to complete our NLP feature. Thanks.

Hi @josephktcheung,
In regards to the composite entities not being passed to the client, they are being provided. Inside of the entities property for both of your provided JSON snippets both of your recognized composite entities exist, 'setNumerical' and 'setListingPrice'.

Okay, but we'd like to have the composite entities attribute from the query so that we don't have to write custom logic to find the individual entities inside a composite entity

I can't find a reason why compositeEntities cannot be provided in the intent while LUIS query has provided such information already.

I didn't realize this field was added but will get it added to the Node SDK. Sorry about that.

@Stevenic I created PR #2735 for this. I believe it covers the required changes and additions.

resolved by #2735 PR (merged)


Localised strings with arguments are improperly formatted due to missing locale

It seems in version 7.2.4, strings like "this is an integer %d" will no longer be formatted properly because String(format:) is passed a nil locale. The fix is that at this line
https://github.com/mac-cain13/R.swift/blob/62a6b011b2f8f986f3c4665d801739849e814bae/Sources/RswiftResources/Integrations/StringResource%2BIntegrations.swift#L17
you should have
self = String(format: format, locale: overrideLocale ?? Locale.current, arguments: arguments)

I see that this is indeed the case.
I'll have to investigate this further to see if this is a new issue that started with the 7.0 refactor, or if this has always been the way R.swift behaves.

It's not there in 6.x (I discovered it when upgrading from 6.x to current version).

Any news on that topic ?

Any update on that @tomlokhorst ? Is it a confirmed issue ?

This is fixed in 7.4.0


Got issue while installing JavaScript dashset : rm no such file or directory.

It seems like some unicode character in the Javascript.docset causes an issue in the install script.
Reproduce with this script :
 \rm -rf ~/.local/share/dasht/docsets/JavaScript.tgz ~/.local/share/dasht/docsets/JavaScript.docset/ && dasht-docsets-install -f ^JavaScript$

Gives following output :
        JavaScript

--2024-09-17 09:42:50--  https://kapeli.com/feeds/JavaScript.tgz
Resolving kapeli.com (kapeli.com)... <IP_ADDRESS>
Connecting to kapeli.com (kapeli.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 250885359 (239M) [application/x-tar]
Saving to: ‘/home/edgar/.local/share/dasht/docsets/JavaScript.tgz’

245000K .....                                                 100% 9.75T=16s

2024-09-17 09:43:07 (14.8 MB/s) - ‘/home/edgar/.local/share/dasht/docsets/JavaScript.tgz’ saved [250885359/250885359]

removed '/home/edgar/.local/share/dasht/docsets/JavaScript.docset/Contents/Resources/Documents/developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/aside_â'$'\302\200\302\224''_.mjs_versus_.html'
rm: cannot remove '/home/edgar/.local/share/dasht/docsets/JavaScript.docset/Contents/Resources/Documents/developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/aside_â\302\200\302\224_.mjs_versus_.html': No such file or directory

The issue seems to happen in the following command (dasht-docsets-extract) :
  { find "$want" -print
    tar -t -f "$tgz" -z | sed -e "s|^[^/]*|$want|" -e 's|/$||'
  } | sort -r | uniq -c | sed -n 's/^ *1 //p' | while read -r arg; do
      if test -d "$arg"
      then rmdir "$arg"
      else rm -v "$arg"
      fi
  done

The rm here is the one that fails.


Logo for AndelaMedManager

Hi sir. if you want to make a change, write to me with great pleasure
Best regards
Famil Qasimov

@familqasimov Great work. Sorry I did not see the pull request on time.


Added two files with useful examples

One example notebook shows how to convert the list created when using the %sql -r query into a Pandas data frame.  The other shows how to enable to db2.ipynb notebook to make the Db2 Magic commands available in Cloud Pak for Data and Watson Studio.

Thank you George.  I can see them there now.  Dean CompherConsulting IT Specialist - Health & Public AnalyticsIBM Certified Database Administrator - DB210.5 for  LUWPhone:<PHONE_NUMBER>e-Mail<EMAIL_ADDRESS>Baklarz<EMAIL_ADDRESS>wrote: -----To: IBM/db2-jupyter<EMAIL_ADDRESS>George Baklarz<EMAIL_ADDRESS>04/03/2020 08:51AMCc: db2Dean<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>[EXTERNAL] Re: [IBM/db2-jupyter] Added two files with useful examples (#2)Merged #2 into master.
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.


unfortunate, handling error with beta / next modules

I am not sure this is a bug or a strategy, It's very dangerous and against my will
-    "koa": "^2.0.0",
+    "koa": "^1.2.0",

-    "koa-static": "^3.0.0",
+    "koa-static": "^2.0.0",

-    "webpack": "^2.1.0-beta.5"
+    "webpack": "^1.13.0"

At the moment updtr tries to install the version which is tagged as latest. But i think this is the same as https://github.com/peerigon/updtr/issues/21, right? I think i can close this an we will find a solution for that. If not, we will reopen this of course.


My code is the following:
<ion-item>
    <select-searchable
        title="Currencies"
        [items]="currencyOptions"
        itemValueField="id"
        itemTextField="name"
        (onSearch)="searchCurrencies($event)"
        [canSearch]="true"
        [hasInfiniteScroll]="true"
        (onInfiniteScroll)="getMoreCurrencies($event)"
        (onChange)="currencyChange($event)">
    </select-searchable>
  </ion-item>

Component({
  selector: 'page-watchlist',
  templateUrl: 'watchlist.html'
})
export class WatchlistPage extends BaseComponent implements OnInit {
  ...
  searchCurrencies(event: { component: SelectSearchable, text: string }) {
      event.component.isSearching = true;
      console.log(event.text);
      let text = (event.text || '').trim().toLowerCase();

      if (!text) {
          event.component.items = [];
          return;
      } else if (event.text.length < 2) {
          return;
      }

      this.socket.sendChannelMessage("currency:search", {"text": text}, (resp) => {
        console.log(resp);
        event.component.items = resp.data;
        event.component.isSearching = false;
      });
  }
  ...
}

The onInfiniteScroll & onChange functions fire with no issue. I cant get the onSearch function to fire for the life of me. I haven't delved into the lib code to deeply but will in the AM.

Hey, I've fixed it in 1.0.13 version. Let me know if it works for you.
Also, you might wanna to change searchCurrencies, so when text is empty all items are shown.
  searchCurrencies(event: { component: SelectSearchable, text: string }) {
      ...
      if (!text) {
          // Assign all items here.
          event.component.items = allCurrencies;
          return;
      } else if (event.text.length < 2) {
          return;
      }
      ...
  }

Great response time! It's all working now. I appreciate the help on this one, I'll close the issue.


Download missing for lolin s3 mini?

I'm trying to download the bootloader for lolin s3 mini from downloads it shows this link but it seems like the file doesn't exist anymore:
https://github.com/adafruit/tinyuf2/releases/download/0.18.1/tinyuf2-lolin_s3_mini-0.18.1.zip
Where can I find the correct bootloader?

It looks like there never was a Lolin S3 mini version of the bootloader created. There is a regular "Lolin S3" but not mini.
You can load the .bin: you don't have to use the UF2. The regular S3 version of the bootloader might work, but I haven't looked to see what the board differences are.

Well I erased the flash and uploaded combined.bin of regular lolin s3 and then did the reset but it doesn't show up as a new drive.

Oh okay. I used the online installer and selected "Upgrade CircuitPython 8.2.10 Bin Only". Now it works


Metadata Shuffle Mapping to Original Group name

Improvement Description
QIIME Metadata Shuffle should have some sort of mapping for what the fake group labels represent in original group labels
Current Behavior
Currently, Metadata shuffle creates fake groupings that it labels Fake.group.n. However it is difficult to know what group the fake group is representing.
Example use-case:
ANCOM-BC identified many Differentially abundant in a metadata group that has a very small sample size.  I am unsure if this is because of my small sample size or because of a meaningful signal. I am using Metadata shuffle to test this but I need to know what fake group correlates to my original group with a small sample size.
Proposed Behavior
Metadata shuffle should have an optional flag that appends the original metadata group names. Ex. instead of Fake.group.n it should be Fake.group.original-name.

I may be misremembering, but a random group doesn't relate to any group at all, all samples are shuffled into arbitrarily many groups with no consideration of the original label. It's basically a single bootstrap permutation.

I was under the impression that it kept the same group sizes though? I am using it to see if the group with a sample sample size will get a similar signal if the samples are shuffled but I need to be able to see which sames now belong to that small group.

Ah, you are right, the group sizes are preserved. I was thinking about this the wrong way around, the samples are arbitrarily assigned to the groups, but the group levels are mapped 1-1 against the originals so that mapping could exist.
I think I'd prefer that anything suggesting the "realness" of this data is avoided, would it be sufficient to encode the size of the group for your purpose? I think that should be effectively the same thing, since the samples are random within a group anyway.

Or some mechanism to show the distribution of a given category, which could be useful outside of the permutation stuff?
Some generic MetadataColumn -> Barplot viz?

This was talked about in the dev meeting. We are using this as a good first issue.
Just to re-explain this issue: Metadata shuffle-groups shuffles your metadata column values randomly so you can test if your results are related to your metadata values or if they are just random noise. Currently when they are shuffled, there is no way to know which "random group" relates to our "true metadata value". This is so users do not accidentally use their shuffled metadata as real metadata later down the line. However, I had a use case where I needed to know which shuffled groups match to the real metadata group so that I could test if a metadata group with a small n was seeing real results, or random noise.
I think this could be a common use case of metadata shuffle-groups.
Current behavior:

Groups are named "fake.group.[1-n]", where n is the number of metadata values.

Proposed behavior:

I think we should add a flag like --p-encode-sample-size as a boolean, if it is passed the random group names also                                 include the sample size.

Ex: fake.group.1.n=12

This would allow for users to know which "fake group" correlates with their small sample size group. It also still prevents users from accidentally using the shuffled metadata as real metadata.


[2.12.0] ensure compliance with security plugin default admin creds changes

Feature Request
Starting in 2.12.0 security plugin demo configuration requires an initial admin password to be passed in.
Before opening a feature request against this repo, consider whether the feature
should/could be implemented in the other OpenTelemetry client
libraries. If so, please open an issue on
opentelemetry-specification
first.
Is your feature request related to a problem?
If so, provide a concise description of the problem.
Describe the solution you'd like:
What do you want to happen instead? What is the expected behavior?
Describe alternatives you've considered.
Which alternative solutions or features have you considered?
Additional Context
Add any other context about the feature request here.

#114


Notebook webview output layout issue troubleshoot

We often see screen cheese in notebook, especially with output rendered in the webview. The rendering and height/position relayout is async as outputs are not rendered in the same frame as list view and also we can't interrupt the list view already in rendering phase.
The screen cheese can happen in several different ways: cell wrong layout calculation, layout request in wrong sequence, or output leftovers. To help better troubleshoot why that happens, we can probably have a command, which collects the view model of cell/outputs and also also position/offset info of DOM nodes and then compare them and attempt to figure out why msilayout happens. Even better, we can have a troubleshooting mode, similar to keyboard troubleshoot command, which can print detailed layout steps to help narrow down the root cause.

Added command Toggle Notebook Layout Troubleshoot to provide logs for cell total height change. This can be used to test misposition issues.


Hazelnut crashing when opening Sandbox.hproj

Describe the bug
After compiling the project and hazelnut opening, selecting the sanbox project .hproj file, hazelnut crashes
Make sure your bug can be reproduced with the Hazel Engine and not by your own engine that you're creating alongside with Hazel. For issues with your own engine, we're happy to help you in TheCherno Discord server. Thanks for your understanding.
To Reproduce
Steps to reproduce the behavior:

Open Hazel.sln
Click on Build Solution
Open Sandbox.hproj
See error above

Expected behavior
A clear and concise description of what you expected to happen.
Hazelnut opening Sandbox.hproj withour problems as expected from
Screenshots
If applicable, add extra screenshots to help explain your problem.

Operating system: (please complete the following information)

OS: win-64
Version: Windows 10 Pro For Workstations

Additional context
Add any other context about the problem here.
It says something about not being able to load the app assembly of Hazel-ScriptCore

You need to go into Hazel-Editor/SandboxProject/Assets/Scripts/ and generate the solution file with the Win-GenProjects.bat file, and the build the newly generated solution! Then Sandbox.hproj should work!

Now it does this

What version are you running? Master branch or asset-manager branch?

Master

Wait a minute!  And did you clone the repository recursively?

yes

Okay hang on for a mniute or two, then i'll try and replicate the error :)

That's extremely strange, because i did what you said to do above in the original meesage, and I can run little Hazel just fine :/
When exactly does that new error happen? I can't just use screenshots of the command prompt...

After building the project in visual studio 2022 i run with the local debugger, select sandbox.hproj and then the error happens

I can try recording and seting it up all over again if it helps

Did you even go into Hazelnut/SandboxProject/Assets/Scripts/ and generate the solution file with the Win-GenProjects.bat file? and then built the newly generated solution? Because that really is important to do! Also I first wrote Hazel-Editor which was a typo, my bad!

Yes. I did that. Even cleaned the solution but it still doesn't work

Okay, I have one last thing I want to ask you about... which GPU are you using?

At how armoury crate is configured it is in MSHybrid mode

At how armoury crate is configured it is in MSHybrid mode

Maybe that's the problem then... Idk what Armoury crate is, but it sounds like a company?

It's a management app for ROG laptops

I switched to dGPU only and will try again to see the results

Great lemme know what the result is :)

From what I found online the problem comes from some issue with my amd drivers.

Oh you have AMD, then yeah that can be a problem, though Yan did make the shaders support AMD GPUs, but maybe it's something else with AMD... Are you up-to-date with the drivers? and how old is the GPU? These two questions are really important.

Well at the moment I'm reinstalling the drivers. For how old i don't know. It is integrated. All I know is the apu is a ryzen 7 4800hs with renoir graphics or vega 7. For the discrete GPU it is a nvidia geforce gtx 1650

Thanks! Do you have the ability to disable the apu through software? Because it really shouldn't be enabled when you have a far better discrete GPU!

Also, have you updated the NVidia drivers as well?

For the nvidia drivers I looked and did an update to the driver from a few days ago. For the amd drivers they are almost done. I will update after they are done to see if anything changed

Okay, then the NVidia drivers shouldn't be the problem 🙂

I have updated everything, made windows use only dGPU and now Hazelnut compiles without errors and I can use it perfectly. Thanks for helping me!

I have updated everything, made windows use only dGPU and now Hazelnut compiles without errors and I can use it perfectly. Thanks for helping me!

My pleasure 😄


Add client support for callFrom

Related contract changes: #1364
To make this useful we need

A client library to call methods on the world but route them through callFrom (might make sense to always route through callFrom or call because it saves the onchain gas cost of mapping a world function selector to a system)
Client UI to connect an external wallet and delegate it to a burner wallet

Related issue #1144


The server encountered an error while selecting and loading the model.

ValueError: When localhost is not accessible, a shareable link must be created. Please set share=True or check your proxy settings to allow access to localhost.

huggingface_hub.utils._errors.LocalEntryNotFoundError: An error happened while trying to locate the files on the Hub and we cannot find the appropriate snapshot folder for the specified revision on the local disk. Please check your internet connection and try again.

please refer to https://github.com/qnguyen3/chat-with-mlx/issues/21


Fix security/password.js not requiring Bluebird

This fixes the “Promise.promisify is not a function” error that was occurring for me when running a knex migration programmatically.

[x] There's a clear use-case for this code change
[x] Commit message has a short title & references relevant issues (no issues found)
[x] The build will pass (run npm test)

@iamakulov Thanks. The fix is correct, alltough we define Bluebird as global Promise, see. But if you don't require this file, you would run into trouble.

when running a knex migration programmatically.

Could you pls share with us what you did? Thanks!

The fix is correct, alltough we define Bluebird as global Promise, see.

Ah, huh. I believe I saw that you do const Promise = require('bluebird') in other places (like here: https://github.com/TryGhost/Ghost/blob/6c1e5511fcd6abe99a164223d394a1831098d924/core/server/api/posts.js#L3), so I copied that pattern here.

Could you pls share with us what you did? Thanks!

Sure! In my app, I need to setup Ghost instances programmatically. To do this, apart from spinning a new instance and doing other required work, I run the Knex migration to initialize the DB. The code is similar to this:
import ghostKnexMigratorConfig from 'ghost/MigratorConfig';
import KnexMigrator from 'knex-migrator';

const dbConnectionConfig = {
    client: 'mysql',
    connection: ...,
};

const knexMigrator = new KnexMigrator({
    knexMigratorConfig: {
        ...ghostKnexMigratorConfig,
        database: dbConnectionConfig,
    },
});

await knexMigrator.init();

I believe the issue with promise happened because ghost/MigratorConfig depends on security/password.js but doesn’t require server/overrides.js.

I can't reproduce your problem.

I believe the issue with promise happened because ghost/MigratorConfig depends on security/password.js but doesn’t require server/overrides.js

MigratorConfig.js requires the overrides file already.

I'll anyway merge this, because it's a correct fix as said - we should still require Bluebird.


Add multiple artists support.

Hello.
Please add multiple artists support.
This function created for split artists in string meta tag. Example:

Atomic Heart;Alex Terrible;Geoff Plays Guitar

Support must split on based separators. But this function should have support on editing and deleting not must separators. Example:

Asti&Astik

In something places it tag is have separators but it name of artists group.
For example - this functionality is available in Oto Music:

As artists view in Salt Player:

Hello, @Moriafly . It support are planning in future versions?


Set up Scrum board

Set up the Scrum board (based on a the pharmaverse template, if there is)

Closing this issue, as the board is set up.
If need be, the board can be changed and updated to current needs, but the baseline is there.


Unrecognized option '--comand=/etc/timescaledb/scripts/restore_or_initdb.sh'

What happened?
While upgrading our stack, we encountered an issue with upgrading from pg14.9-ts2.12.2 to pg14.10-ts2.13.0:
2023-12-08 12:03:09 - restore_or_initdb - Invoking initdb
initdb: unrecognized option '--command=/etc/timescaledb/scripts/restore_or_initdb.sh'
Try "initdb --help" for more information.
/var/run/postgresql:5432 - no response
Process Process-1:
Traceback (most recent call last):
  File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3/dist-packages/patroni/__main__.py", line 239, in patroni_main
    abstract_main(Patroni, configfile)
  File "/usr/lib/python3/dist-packages/patroni/daemon.py", line 174, in abstract_main
    controller.run()
  File "/usr/lib/python3/dist-packages/patroni/__main__.py", line 194, in run
    super(Patroni, self).run()
  File "/usr/lib/python3/dist-packages/patroni/daemon.py", line 143, in run
    self._run_cycle()
  File "/usr/lib/python3/dist-packages/patroni/__main__.py", line 203, in _run_cycle
    logger.info(self.ha.run_cycle())
  File "/usr/lib/python3/dist-packages/patroni/ha.py", line 1972, in run_cycle
    info = self._run_cycle()
  File "/usr/lib/python3/dist-packages/patroni/ha.py", line 1785, in _run_cycle
    return self.post_bootstrap()
  File "/usr/lib/python3/dist-packages/patroni/ha.py", line 1669, in post_bootstrap
    self.cancel_initialization()
  File "/usr/lib/python3/dist-packages/patroni/ha.py", line 1662, in cancel_initialization
    raise PatroniFatalException('Failed to bootstrap cluster')
patroni.exceptions.PatroniFatalException: Failed to bootstrap cluster

Did you expect to see something different?
We anticipate that the pod containing TimescaleDB will initiate without any problems.
How to reproduce it (as minimally and precisely as possible):
Set:
tag: pg14.10-ts2.13.0
in the timescaledb-single Helm chart.
Environment

Which helm chart and what version are you using?

timescaledb-single 0.33.1

What is in your values.yaml ?

All values can be found here:
https://github.com/cloudentity/acp-on-k8s/blob/main/infrastructure/timescaledb/base/release.yaml#L18

Kubernetes version information:

1.27.3

Kubernetes cluster kind:

Kind

The problem started with the images updated on Nov 29, 2023.
Assuming something has changed with the base build and helm charts either need to be updated or have a problem with the build?
For anyone else stuck with this.
You can deploy with an older version, then update and re-deploy. (Nov 5, 2023 images seem ok)
I got it working by deploying pg15-ts2.12-all and then updating to pg15-all.
I use the timescaledev/timescaledb-ha image because it has an arm build.
So, the dates and version may be different for the default image.
However, I don't know if these charts are maintained anymore. (See https://github.com/timescale/helm-charts/issues/596)

We are facing the same problem while trying to install pg15-ts2.12-all
Our workaround was to install pg15-ts2.13-all


Provide additional details on HPatches evaluation

Hi, I'm interested in how you calculated the AUC for homographies on HPatches exactly.
Related:
#105

Hi, I've checked the realated issue.
We use the implementation of AUC from SuperGlue. Here's the code in our repo: https://github.com/zju3dv/LoFTR/blob/94e98b695be18acb43d5d3250f52226a8e36f839/src/utils/metrics.py#L151-L154
And as stated in the paper, the error term is defined as
error = l2norm(homography_projection(corners, H_gt), homography_projection(corners, H_estimate)). To compute the H_estimate, we use cv2.findHomography(src_pts, tgt_pts, cv2.RANSAC, 3.)

Thanks for the response.
From looking at your code your thresholds are always set to [5,10,20].
In the paper you report [3,5,10]. Is [5,10,20] the actual thresholds you used?
If you have the time, could you try to help reproducing the results in this repo?
https://github.com/GrumpyZhou/image-matching-toolbox/issues/20

There these results were gotten (albeit with ransac threshold 2px)
Opencv with ransac threshold = 2 at error thresholds [3, 5, 10] px
SuperPoint: 0.37 0.51 0.68
SuperPoint+SuperGlue: 0.39 0.53 0.71
CAPS (w.SuperPoint): 0.33 0.49 0.67
LoFTR (all matches):   0.48 0.6  0.74

The results seem to align with your own, but with all methods scoring lower, so there seems to be some discrepency.

From your paper:

Should this be interpreted as that you also scale the homography?

Yes, this follows Sec 7.3 of the SuperPoint paper.
By scaling the images and then comparing the corner AUCs, the evaluation results are consistent across all image pairs. Otherwise, the evaluation can easily deteriorate with large image inputs. You can also replace the pixel-level threshold with normalized pixel-level threshold.

Hiiiii @zehongs, I'm also trying to reproduce the result on HPatches. In your last comment above, did you mean that you scaled the ground truth homography to evaluate the scaled images? Or did you do like this: you scaled the images and estimated the matches. After that, you re-scaled the matches into the original resolution and perform the evaluation with the original ground truth homography.

@zehongs We have been able to reproduce the numbers in https://github.com/GrumpyZhou/image-matching-toolbox/issues/20 , if you could comment/clarify on the below points it would be very helpful:

Is it correct that the corner errors are computed in the downsized images?
When you write "shorter dimensions equal to 480" do you mean that as in SuperPoint all images are rescaled to 480x640 (or 640x480), or do you keep the aspect ratio of the images so that the dimensions are 480x?? or ??x480?
Do you use any special hyperparameter settings for the HPatches experiments? For instance I found that increasing MATCH_COARSE.THR=0.5 yields better results than the default 0.2. Also I noticed this comment: https://github.com/zju3dv/LoFTR/blob/5d6c83428ab57987e5c4d42374b86e8b1f9cb520/test.py#L49-L51


It is advised to have a correspondance between package and folder names

packageNameForFile is a relative path, and packageNameFromFolder is an absolute path, which are never equal. Is this a problem?

folderNameForFile is an absolute path, why?

drools version: 10.0.0


neuron_matplotlib_viewer.TimeNavigator: Fix coords

Also, determine out a way to make all position relative to some bounding box for all of TimeNavigator as opposed to the fig.

The matplotlib-based viewer has been deprecated. There will be no further work on it.


Flow Fields visibility test on pages

I managed to recreate it by downloading symbols from my docker container 🥴. It compiles and runs :)

That was fast :-)


This plugin and your paste-easy plugin don't work with vim-multiple-cursors.

Both plugins don't work with multiple-cursors. They both glitch in weird ways.
This is with only paste-easy enabled.
My actions were select each, delete, insert then I tried typing.

This is the issue with ncm and the plugins you saw above enabled.

(I put the issues both here as I thought that would be better than duplication, if this was wrong of me, I will create another ticket for paste-easy.)

Duplicate issue https://github.com/roxma/nvim-completion-manager/issues/18

@roxma For paste-easy would it be better to call
start_easy_paste /  stop_easy_paste, or PasteEasyDisable / PasteEasyEnable


Error when trying to play ANY song

Hi, I just installed Museeks (MacOS 10.13.4) and am having a problem. I added my music (all M4A Apple Lossless files), and when I try to double click to play a song in the main list (everything shows up fine...), I just immediately get the corner error popup "The track file could not be found. It may be due to a file move or an unmounted partition."
Of course, the files are still there (and clicking "Show in file manager" from the context menu works just fine). But none of them can be played. All these files can be played in other applications. The drive itself is a regular HFS+ volume.
Let me know how I can help debug this.
Thanks.

Hoy! Thank you for the report, is there at special character in the path of your file? #, { or others?

Also, could you go in Settings -> Advanced -> Open dev tools and make a screenshot of the "console" tabs?

Nope, no special chars. Screenshot attached.

Thank you very much, it looks like a bug in the file location resolution. Can you send here the full path of one of those files? So I can reproduce it and submit a patch ASAP :)
Sorry for the inconvenience.

The full path of one of the files is.... /Volumes/RAID/Music/Albrecht
La'Brooy/Albrecht La'Brooy - Tidal River (2018) [WEB-FLAC]/1
Daybreak.m4a
On Wed, Jun 6, 2018, at 3:01 AM, Pierre de la Martinière wrote:

Thank you very much, it looks like a bug in the file location
resolution. Can you send here the full path of one of those files? So
I can reproduce it and submit a patch ASAP :)> Sorry for the inconvenience.

— You are receiving this because you authored the thread. Reply to
this email directly, view it on GitHub[1], or mute the thread[2].

Links:

https://github.com/KeitIG/museeks/issues/451#issuecomment-394962394
https://github.com/notifications/unsubscribe-auth/ACFaPb7ZxzBbGskt5iP4XQB2lfs4epSCks5t535mgaJpZM4UQt1r

I added a couple of fixes in the last months, I could not reproduce the bug with this filename/path. Hopefully I will do a new release soon.


How to creat gt.info and gt.log files

Hi,I want to know how to creat gt.info and gt.log files in ../ElasticReconstruction master/Matlab_Toolbox/Example/Data/RegistrationEvaluation/livingroom1   and what's the mean of gt.info . Is the gt.log file an evaluation of Transformation Matrix for two Frame Point Clouds？Can you help me ?Thanks a lot!

See this page:
http://redwood-data.org/indoor/fileformat.html

Thank you! I still have some questions to consult:
1.If I have multiple frame point cloud data and their corresponding transformation matrices, can I obtain. log files and. info files?
2.Can I understand the 4 * 4 matrix in the. log file as the transformation matrix between two point clouds?

Can the. info file be understood as either the Covariance matrix of one frame of point cloud or the Covariance matrix of two frames of point cloud?

The transformation matrix (.log) transforms the point cloud to the world coordinate.
For information matrix (.info), see this:
https://github.com/isl-org/Open3D/blob/6ddbcd5c9b8bf0b496e4151c7d7766af09e3dba7/cpp/open3d/pipelines/registration/GlobalOptimization.cpp#L177

Thanks a lot! Are the first and second data of the metadata in the .log file represented by the sequence number? If I want to generate my own .log file based on your format, can I set the three numbers in the metadata to the sequence number of the two point clouds and the number of frames of the point cloud in this scene, and set the homogeneous transformation matrix to the transformation matrix of the two point clouds?

Unfortunately it was a very long time ago, and I don't remember what exactly each number represents. Maybe read the code and find out?


Fix outer_iterator_mut DoubleEnded iterator

Test and fix for #261
Introduces unsafe code, please review carefully

That looks good, I'm quite convinced this unsafe is completely ok. It's also way simpler than any safe alternative I try to think of.


[BUG]

Summary

Code to reproduce

iOS version

Installation method

SDK version

Other information

Summary

Code to reproduce

iOS version

Installation method

SDK version

Other information

Please release deposit into my bank account bsb:013533 acc: 431565804 Anz bank details Australia jodie gerber


adding a check for requestBody on current path and method

making sure the current path and method have a requestBody before extracting its schema, avoiding an empty requestBody for GET requests

Coverage remained the same at 100.0% when pulling f60f7e669a9f1b89de7e68e1fdab7b65fec17ea8 on omer182:master into 365763feb252633fdc7bbe5c00ef46fadd6cb1ac on Zooz:master.


update community meeting info with new zoom link

Issue description / feature objectives
Zoom link: https://zoom.us/j/92729235315?pwd=ZFIxU3RSanlVODh4a1g2SFdJOGpoZz09
Caveats / Assumptions
Completion Criteria

Fixed by #1530


Instructions that include "Run menu" are outdated

I was not able to follow this instruction:
'Start without debugging from the Run menu. If you're using a command line, type dotnet run in the directory where you've created your project.'
The Run menu doesn't exist in Visual Studio now so I don't know what to do.

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

ID: 24c8353f-69e7-9068-9b18-df0198a1b122
Version Independent ID: 823031fe-c8a4-69cd-2b1a-9faacd282aab
Content: Classes and objects  - Introduction to C# tutorial
Content Source: docs/csharp/tutorials/intro-to-csharp/introduction-to-classes.md
Product: dotnet-csharp
Technology: csharp-get-started
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for noting this @JorySmith I just created PR #23757 to fix this. The "Start without Debugging" items is now on the "Debug" menu.


Add Loop.replace to improve the customization UX

🚀 Feature
Implement a Loop method that allows easily replacing a Loop with not much customization.
Motivation
There are 2 users of loops customization:

(A): User that creates their own loop
(B): User subclasses one of our loops but does not care about init args

Replacing the epoch loop is verbose for (B):
trainer = Trainer(...)
# instantiate with existing values
epoch_loop = MyTrainingEpochLoop(trainer.fit_loop.epoch_loop.min_steps, trainer.fit_loop.epoch_loop.max_steps)
# connect children loops
epoch_loop.connect(trainer.fit_loop.epoch_loop.batch_loop, trainer.fit_loop.epoch_loop.val_loop)
# connect to parent loop
trainer.fit_loop.connect(epoch_loop)

This is tedious when the user made a simple modification, for example:
class MyTrainingEpochLoop(TrainingEpochLoop):
    def _should_check_val_fx(self, *args, **kwargs):
        my_condition = self.trainer.optimizers[0].param_groups[0]["lr"] < 1e-3
        return my_condition and super()._should_check_val_fx(*args, **kwargs)

This proposal tries to make it easier for (B), but adds no benefits for (A)
Pitch
Support:
trainer.fit_loop.replace(MyTrainingEpochLoop)

where we find which self Loop attribute corresponds to this class, instantiates it with the correct arguments, connects the new loop to its subloops, and connects the new loop to the instance replace was called for.
Alternatives
Not do it, as it holds assumptions that will not work for any Loop implementation.

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, fine-tuning, and solving problems with deep learning

Bolts: Pretrained SOTA Deep Learning models, callbacks, and more for research and production with PyTorch Lightning and PyTorch

Lightning Transformers: Flexible interface for high-performance research using SOTA Transformers leveraging Pytorch Lightning, Transformers, and Hydra.

Would the replace function takes any extra kwargs ?

I don't think so.
This only works well when the customized loop __init__ is kept equal, otherwise, everything could break if the parameter names are renamed or their positions are changed.
And if the __init__ is equal, there shouldn't be a need for extra kwargs.
But if you have an example in mind where extra **kwargs would help, we can surely add it.

After thinking a bit more, these would be the API options
(1): See original post
trainer.fit_loop.replace(TestLoop)

(2): Two positional arguments
trainer.fit_loop.replace("epoch_loop", TestLoop)

This has the advantages:

No need to find the attribute name internally.
Enables support for loops that have subloops of the same type (we don't have this in Lightning but maybe somebody does)

And disadvantages:

Not as simple

(3): A dictionary
trainer.fit_loop.replace({"epoch_loop": TestLoop})

This has the advantages:

No need to find the attribute name internally.
Can replace multiple loops at the same time.
Enables support for loops that have subloops of the same type (we don't have this in Lightning but maybe somebody does)

And disadvantages:

Not as simple
Not possible to support **kwargs if we choose to.

(3b): Same as (3) but without the dictionary.
trainer.fit_loop.replace(epoch_loop=TestLoop)

Let me know if you have any preference. I'm personally leaning towards (3b)

@PyTorchLightning/core-contributors 👍 if you are fine with (3b), or comment if you have other ideas/thoughts.

@carmocca what about an already initialized loop so that I could do
trainer.fit_loop.replace(epoch_loop=MyCustomLoop(some_arg, some_kwarg=some_arg))

And the replace function only takes care of connection? We could also support both with a simple check I think so that you can pass the class for an unchanged init and an instance for a changed init


Learner activities from open edX

Description/Context

Learners' activities like interactions with the course are useful datasets to add to our data platform. This data is processed via Simeon CL and then generated in the person_course table on BigQuery. It's available for edx.org data, as well as our open edx instances - MITxOnline, xPro, and Residential.
The user activities data for edx.org (int__edxorg__mitx_user_courseactivities) is already in our data lake, but we need the same for our open edx instances as well. This is currently blocked by https://github.mit.edu/IR/simeon-internal/issues/29 and https://github.com/mitodl/ol-data-platform/issues/627 as we are missing some data to calculate these fields.
Acceptance Criteria

[ ] User activities models are created and populated correctly for MITxOnline, xPro, and Residential

Reopen this as this is not done and still blocked

closing this issue as https://github.com/mitodl/hq/issues/1672 will address it


Release 0.10

Cross linking: https://github.com/amethyst/documentation/issues/6.

@LucioFranco Thanks for the review, should be all fixed now.
@fhaynes Does the footnote match what you had in mind?

Yup, that is great, thank you!

@azriel91 whats the status on this?

Happy v0.10.0 release everyone!


Remove useless init already done by the mock

What does this PR do?
Remove useless init already done by the mock
Possible Drawbacks / Trade-offs
Running the CI is enough

/merge


Context for bungeecord plugin

Hi I found this problem tried using BAT plugin for BungeeCord. Link: https://www.spigotmc.org/resources/bungee-admin-tools-basics-edition.444/
The case looks like this:
If the Admin group has the bat.admin privilege and a person receives it, then it will be able to use the / ban command. On the other hand, if someone receives this group but only on a given server and not globally, then this permission does not work properly as it should.

Since this permission is required on the bungee instead of the spigot use the context server=<servername> for the spigot and use server=bungee world=<servername> for the bungee. (Assuming you have set the servername for the bungee to bungee and the servernames on the bungee are the same as in the LP configs)

Hmm in bungee LuckPerms config name of server has name global.
I try type: /lpb group my_group permission set bat.admin server=global world=SkyBlock
And it not working why?

It must not be named global (read the comment above the server name option). Just name it bungee

Look in bungee config I have like that:
`# The name of the server, used for server specific permissions. Set to 'global' to disable.
server: bungee
If users on this server should have their global permissions applied.
If set to false, only server specific permissions will apply for users on this server
include-global: true
If users on this server should have their global world permissions applied.
If set to false, only world specific permissions will apply for users on this server
include-global-world: true
If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true`
And in creative server i have like that:
`# The name of the server, used for server specific permissions. Set to 'global' to disable.
server: Creative
If users on this server should have their global permissions applied.
If set to false, only server specific permissions will apply for users on this server
include-global: true
If users on this server should have their global world permissions applied.
If set to false, only world specific permissions will apply for users on this server
include-global-world: true
If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true`
And I don't know why when I used command /lpb user NICK parent add Opiekun server=Creative | with permissions bat.admin and for example bat.ban this users with group Opiekun haven't permission to use command /ban on the Creative server.  Can you help me? I don't know what I doing bad... :(

Server names must be lowercase.

Okay I try it, but your plugin don't change names to small letters?

So, can you help me?

Can you explain precisely what you're trying to achieve? I'm just not sure what you're trying to do. :P

I have 5 servers + bungeecord:
Bungee, Survival, Creative, ColorfulMix, PvP, SkyBlock
I have 5 guardian on my server. Guardian translate to my language: "Opiekun".
Each guardian have almost full permission for selected server. Is 1 guardian per server.
And for example I using this command to set guardian on selected server: /lp user NICK parent add opiekun server=creative
And the group opiekun have this permissions which I sent to you in previous message, but it doesn't working... :(
Alternative I created group "Ban" with permission: bat.admin without context and I give this group to my guardian again without context but it is bad :( Because Guardian of Creative can ban players from Survival :( I want to resolve this problem wtih your help ;)

For the users who you've given the "opiekun" rank, can you run:
/lp user <user> info
and
/lp user <user> parent info
whilst they're online, and then send the results here.

First command: https://scr.hu/yBmgDV
Second command: https://scr.hu/17aJze

Right, and you want to give players in that group access to the bat.admin permissions?

Yes

Is LuckPerms installed on your BungeeCord, and connected up to the same database>

Yes

Can you execute the same two commands again, except using /lpb instead this time?

https://scr.hu/a0NNjP
https://scr.hu/Z9eedX

You also need to add the group on server=bungee world=creative for the BAT permissions to work.

I do not understand, could you write me in steps what I have to do?
Because from what I understand, I have to create a Opiekun group, but it already exists.

/lp user xwolfistytm parent add opiekun server=bungee world=creative

Okay thanks, after school I will test it ;)

You might also need to update to this LP version on your BungeeCord for it to work properly.
https://ci.lucko.me/job/LuckPerms/339/

Today I updated to 3.4.15.jar :D
It will be work propertly? :)

Nope, 3.4.16 contained a fix for a related issue.

Okay

It's working! Thanks for your work and time and I wish you luck ;)


Revert two renamings backported from master

The original names were more intuitive: the generate_counter counts the number of generate requests, and the reseed_counter counts the number of reseedings (of the principal DRBG).
reseed_gen_counter  -> generate_counter
reseed_prop_counter -> reseed_counter

This is the anologue to commit 8380f453ec81d9172b94a82c3592f78f1a612046 on the 1.1.1 stable branch. The only difference is that the second renaming has already been reverted on the master branch.
(This is the part of #12871 which needs to be merged before beta1)

This pull request is ready to merge

@paulidale I noticed that the subject line (which originated in commit 8380f453ec81d9172b94a82c3592f78f1a612046 from 1.1.1) does not fit properly on the master branch. With your permission, I'll change it from
Revert two renamings backported from master

to
drbg: revert renamings of the generate and reseed counter

when merging the pr.

Ok, so this would be the new commit message:
drbg: revert renamings of the generate and reseed counter

The original names were more intuitive: the generate_counter counts the
number of generate requests, and the reseed_counter counts the number
of reseedings (of the principal DRBG).

    reseed_gen_counter  -> generate_counter
    reseed_prop_counter -> reseed_counter

This is the anologue to commit 8380f453ec81 on the 1.1.1 stable branch.
The only difference is that the second renaming has already been reverted
on the master branch.

Go for it.  No need to reset the 24 hour timer.

Merged to master, thanks for the review!
b0614f0ae3 drbg: revert renamings of the generate and reseed counter


size of examined solutions

Hi
If the leaders group holds all swarm particles (as done by initialize_global_best() and update_global_best()), then why the attached line select only 2 random solutions from the leaders (i.e., the whole swarm) to determine the global best solution?
Regards
https://github.com/jMetal/jMetalPy/blob/6df9fa2a3a15e556f2bc6e58377781251a741949/jmetal/algorithm/multiobjective/smpso.py#L160

Hi @shambakey1
Sorry for not responding to your question before; I have just seen it. The answer is that the external archive stores all the non-dominated solutions found during the search but it has a bounded size, so some of the them are removed when the archive is full.
The leader selection strategy in SMPSO consists in selecting randomly two solutions from the archive and taking the one that dominates the other (o any of them if both are non-dominated).

Many thanks


My Comments

No need to Connection method in EntityConfgure since in intializing orm, you have to pass related entities to each connection you add.
in
go user, err := orm.Query[User]().Where("id", 1).One()
One() shoud be renamed to First() since all other ORMs use that name convestion.
in
go user, err := orm.Query[User]().WherePK(1).One()
Are you sure PK is always int?
in
users, err := orm.QueryRaw[User](`SELECT * FROM users`)
are you sure raw queries always have response and entity related?
Merge ConfigureRelations and ConfigureEntity into one method.

It's a great package! good job ;)


Subresource endpoint

Lets say I have the following endpoint: /authors/{author_id}/books/{book_id}.
How can I create the output for this endpoint with Fractal, and keeping the correct links?
I was thinking about something like:
$item = new Item($book, $bookTransformer, 'authors.books');

But this outputs /authors.books/{book_id} as self-link. Which makes sense when you see https://github.com/thephpleague/fractal/blob/master/src/Serializer/JsonApiSerializer.php#L77

I don't think this is the idea. You are returning a link to the actual resource so just books.
This way you get the correct link of /books/{book_ID}

I think this fine to do. I've seen many APIs that do this. It's situational of course but you should be able to do this.
I ended up created a propietaryJsonApiSerializer, that does two things:

It allows me to set the resource key in the transformer, simply because having to add in the resource key for every single item/collection call seems really shitty.

I added a check for the data array. If it includes _resourceAddress, then I use that instead of the auto generated $resourceKey/$id links.

https://gist.github.com/seant23/2e049f73b3cf9b52635a3cd0b9fc9c50


[fix] webmail.address: open in new window

Coverage decreased (-0.001%) to 83.988% when pulling 0f4858b9af01832880c176cc91c6237c987807a5 on pr-webmail-new-window into 8417c83337d054605477dce4d49f5f307bb3edef on master.


Saving a relation on a User object with beforeSave causes the response to contain a relation op instead of a relation

Check out this issue for an ideal bug report. The closer your issue report is to that one, the more likely we are to be able to help, and the more likely we will be to fix the issue quickly!
For implementation related questions or technical support, please refer to the Stack Overflow and Server Fault communities.
Make sure these boxes are checked before submitting your issue -- thanks for reporting issues back to Parse Server!

[x] You've met the prerequisites.

[x] You're running the latest version of Parse Server.

[x] You've searched through existing issues. Chances are that your issue has been reported or resolved before.

Environment Setup
It's unlikely you'll need to match this setup exactly to reproduce this issue, but included for completeness:

Parse server running on Heroku with a mLab MongoDB add-in for a backend
JS client code (specifically Angular JS using the Ionic framework) using parse 1.6.14
Parse server version 2.2.7 (though any version seems to be able to reproduce this)

Steps to reproduce

In your cloud code, set up an empty beforeSave for Users (also works with '_User' instead of Parse.User):

Parse.Cloud.beforeSave(Parse.User, function(req, res){
	res.success();
});

In a JS Parse client app running in a browser, log a user in and then run the following code in the client:

var Test = Parse.Object.extend('Test');
var test = new Test();

test.save().then(function(result){
	var relation = Parse.User.current().relation('tests');
	relation.add(test);
	return Parse.User.current().save();
}).then(function(result){
	var errorHere = result.relation('tests');
});

Logs/Trace

The browser logs the error:

parse-1.6.14.js:3333 Uncaught Error: Called relation() on non-relation field tests

With a breakpoint on line var errorHere = result.relation('tests'); you can see the following inside the attributes of the result object

tests:RelationOp
    _targetClassName:"Test"
    relationsToAdd:Array[1]
    relationsToRemove:Array[0]
    __proto__:Op

The verbose Heroku logs support the browser logs; parse-server is responding with an AddRelation op:

2016-04-23T09:57:35.103093+00:00 app[web.1]: verbose: PUT /parse/classes/_User/juAkCJSEY0 { host: 'xxxxxxxx.herokuapp.com',
2016-04-23T09:57:35.103106+00:00 app[web.1]:   connection: 'close',
2016-04-23T09:57:35.103107+00:00 app[web.1]:   origin: 'http://localhost:8100',
2016-04-23T09:57:35.103108+00:00 app[web.1]:   'user-agent': 'Mozilla/5.0 xxxxxx',
2016-04-23T09:57:35.103109+00:00 app[web.1]:   'content-type': 'text/plain',
2016-04-23T09:57:35.103109+00:00 app[web.1]:   accept: '*/*',
2016-04-23T09:57:35.103110+00:00 app[web.1]:   referer: 'http://localhost:8100/',
2016-04-23T09:57:35.103111+00:00 app[web.1]:   'accept-encoding': 'gzip, deflate',
2016-04-23T09:57:35.103112+00:00 app[web.1]:   'accept-language': 'en-GB,en-US;q=0.8,en;q=0.6',
2016-04-23T09:57:35.103112+00:00 app[web.1]:   'x-request-id': 'xxxxxx',
2016-04-23T09:57:35.103113+00:00 app[web.1]:   'x-forwarded-for': 'xxxxxxx',
2016-04-23T09:57:35.103113+00:00 app[web.1]:   'x-forwarded-proto': 'https',
2016-04-23T09:57:35.103114+00:00 app[web.1]:   'x-forwarded-port': '443',
2016-04-23T09:57:35.103114+00:00 app[web.1]:   via: '1.1 vegur',
2016-04-23T09:57:35.103115+00:00 app[web.1]:   'connect-time': '0',
2016-04-23T09:57:35.103116+00:00 app[web.1]:   'x-request-start': '1461405455100',
2016-04-23T09:57:35.103116+00:00 app[web.1]:   'total-route-time': '0',
2016-04-23T09:57:35.103117+00:00 app[web.1]:   'content-length': '385' } {
2016-04-23T09:57:35.103118+00:00 app[web.1]:   "tests": {
2016-04-23T09:57:35.103118+00:00 app[web.1]:     "__op": "AddRelation",
2016-04-23T09:57:35.103119+00:00 app[web.1]:     "objects": [
2016-04-23T09:57:35.103119+00:00 app[web.1]:       {
2016-04-23T09:57:35.103120+00:00 app[web.1]:         "__type": "Pointer",
2016-04-23T09:57:35.103121+00:00 app[web.1]:         "className": "Test",
2016-04-23T09:57:35.103121+00:00 app[web.1]:         "objectId": "i8RMGfHmNx"
2016-04-23T09:57:35.103122+00:00 app[web.1]:       }
2016-04-23T09:57:35.103123+00:00 app[web.1]:     ]
2016-04-23T09:57:35.103123+00:00 app[web.1]:   }
2016-04-23T09:57:35.103124+00:00 app[web.1]: }
2016-04-23T09:57:38.366469+00:00 heroku[router]: at=info method=POST path="/parse/classes/_User/juAkCJSEY0" host=xxxx.herokuapp.com request_id=85167cec-accc-44f8-bae1-b21c77a8cfaa fwd="xxxx" dyno=web.1 connect=0ms service=3265ms status=200 bytes=630
2016-04-23T09:57:38.360971+00:00 app[web.1]: verbose: {
2016-04-23T09:57:38.360997+00:00 app[web.1]:   "response": {
2016-04-23T09:57:38.360999+00:00 app[web.1]:     "updatedAt": "2016-04-23T09:57:35.119Z",
2016-04-23T09:57:38.361000+00:00 app[web.1]:     "tests": {
2016-04-23T09:57:38.361000+00:00 app[web.1]:       "__op": "AddRelation",
2016-04-23T09:57:38.361001+00:00 app[web.1]:       "objects": [
2016-04-23T09:57:38.361001+00:00 app[web.1]:         {
2016-04-23T09:57:38.361002+00:00 app[web.1]:           "__type": "Pointer",
2016-04-23T09:57:38.361002+00:00 app[web.1]:           "className": "Test",
2016-04-23T09:57:38.361003+00:00 app[web.1]:           "objectId": "i8RMGfHmNx"
2016-04-23T09:57:38.361003+00:00 app[web.1]:         }
2016-04-23T09:57:38.361004+00:00 app[web.1]:       ]
2016-04-23T09:57:38.361005+00:00 app[web.1]:     }
2016-04-23T09:57:38.361005+00:00 app[web.1]:   }
2016-04-23T09:57:38.361006+00:00 app[web.1]: }

This also seems to happen to other objects with relations and beforeSave functions, but I can't reliably reproduce it for anything other than a User.

Instead of using Parse.User.current() can you try with req.object. the former is unavailable on parse-server and the latter should be the proper _User you are looking for.

Hi @flovilmartm, thanks for the quick response. As far as I can tell, I'm not using Parse.User.current() at all on the parse-server side, only in the client code. In fact, the beforeSave function doesn't do anything at all.
I've edited the issue to be clearer about where the code is run.

Has anyone reading this been able to reproduce this issue?

@omyen I have! Ran into a similar thing from the iOS SDK as well: https://github.com/ParsePlatform/Parse-SDK-iOS-OSX/issues/911

@peeinears Thanks for the reply - I've "resolved" this issue by fetch()ing the object after save() with a relation change, but there's still a race condition where the code might want to access the relation before the fetch() is complete.

@omyen Thanks, yep I've been doing the same thing. fetch()s everywhere.

@peeinears Actually, I'm curious - I could only repro this issue on objects with a BeforeSave.

Misclicked close

@omyen I've only noticed it on objects with beforeSaves as well. And I've noticed that removing the beforeSave fixes it.

I'm experiencing the same issue, but removing the beforeSave does not resolve the issue for me.  I get the error whether or not the beforeSave exists.
The issue appears to be isolated to relations on Parse.User.current(); I am not seeing it on other objects.

Can a Parse Pro please confirm that the relation operation should not be in the save response?

I'm working right now on something similar, I'll post a fix in #1946

@flovilmart Awesome, thanks!
In the meantime, I just hacked together this monkeypatch to avoid having to fetch() everywhere:
var originalRelation = Parse.Object.prototype.relation;
Parse.Object.prototype.relation = function (attr) {
  if (this.get(attr) instanceof Parse.Op.Relation) {
    return new Parse.Relation(this, attr);
  }
  return originalRelation.apply(this, arguments);
};

@peeinears nice patch! But the PR should be merged soon, as soon as we're ready for 2.2.17, you'll be able to remove it :)